XBoard Mihomo 的完整功能说明和使用方法。
针对面板主域名可能被封锁的场景,提供了多层防护策略。
- 功能说明:通过客户端内置代理直接访问被封锁的主域名
- 当前状态:待实现
- 存在问题:HTTP/SOCKS5 代理是明文传输,存在代理泄漏和滥用风险
提供两种国内可直接访问的方式:
方式 A:国内服务器 IP + 端口
panels:
mihomo:
- url: https://10.0.0.1:8888
description: "国内中转服务器"配置要求:
- 在国内服务器上部署 Caddy 或其他反向代理工具
- 使用 IP+端口方式需生成私有证书
- 证书文件放置路径:
flutter_xboard_sdk/assets/cer/ - 提供 HTTPS 访问能力
- 可以在配置中关闭证书验证,但极其不推荐
- 关闭证书验证后,HTTP 数据将明文传输在互联网中
方式 B:已备案域名
panels:
mihomo:
- url: https://your-domain.com
description: "已备案域名"如果你的面板域名托管在国外,且未被封锁,可以直接配置访问:
panels:
mihomo:
- url: https://api-overseas.example.com
description: "国外未被墙域名"适用场景:
- 域名托管在海外云服务商(Cloudflare、AWS 等)
- 域名尚未被列入封锁名单
- 使用 CDN 加速服务,IP 分散
优势:
- ✅ 无需额外部署中转服务器
- ✅ 直连访问,延迟最低
- ✅ 配置简单,维护成本低
- ✅ HTTPS 证书由正规 CA 签发
第一层:UA 对等密钥验证
security:
user_agents:
api_encrypted: Mozilla/5.0 (compatible; RmxDbGFzaC1XdWppZS1BUEkvMS4w)RmxDbGFzaC1XdWppZS1BUEkvMS4w即为 Base64 编码的对等密钥- 请求 UA 中必须携带此密钥才能被反向代理服务器认可
- 与后端 Caddy 配置约定一致
第二层:API 响应混淆
- 使用 Caddy 对 API 响应数据包进行混淆处理
- 基于 API 的自定义特性实现
- 产生与开源 XBoard 方案不同的数据特征
domain_service:
enable: true # 启用域名竞速
cache_minutes: 5 # 缓存 5 分钟
max_concurrent_tests: 10 # 最大并发测试数工作原理:
- 并发请求配置文件中的所有域名
- 返回响应最快的域名作为活跃入口
- 立即终止对其他域名的请求
- 最快域名响应即作为当前会话的入口域名
应用场景:
- ✅ 主站点入口域名竞速
- ✅ 订阅地址竞速获取
- ✅ 配置文件源竞速加载
优势:
- 确保始终使用最快的可用域名
- 提升用户体验
- 自动容灾切换
为确保配置文件的高可用性和安全性,支持双通道配置源。
配置示例:
remote_config:
sources:
- name: github_proxy
url: https://your-proxy.com/config.json
priority: 100工作流程:
- 配置文件存储在 GitHub 私有仓库
- 代理服务器从 GitHub 拉取配置
- 客户端从代理服务器获取配置
- 代理服务器可部署在国内,提供加速访问
优势:
- ✅ 配置文件安全存储在 GitHub
- ✅ 国内代理服务器提供快速访问
- ✅ 支持版本控制和历史回溯
- ✅ 灵活的访问控制
配置示例:
remote_config:
sources:
- name: gitee_encrypted
url: https://gitee.com/user/repo/raw/main/config.json.encrypted
priority: 90
encryption_key: your_encryption_key_here工作流程:
- 配置文件加密后存储在 Gitee 公开仓库
- 客户端下载加密的配置文件
- 使用内置密钥解密配置
- 即使配置文件公开,内容也无法被读取
优势:
- ✅ 国内直接访问,无需代理
- ✅ 加密保护,安全性高
- ✅ 公开仓库,无需担心访问限制
- ✅ 支持多客户端共享配置
应用启动
↓
加载本地配置 (xboard.config.yaml)
↓
获取远程配置源地址
↓
[并发] 请求所有配置源
↓
选择最快响应的配置
↓
解析配置 (config.json)
↓
[并发] 域名竞速选择最快面板
↓
连接面板服务器
↓
✅ 应用就绪
- 缓存时间:默认 5 分钟
- 更新触发:缓存过期或用户手动刷新
- 降级策略:主源失败自动切换备用源
- 容错机制:配置解析失败使用默认值
配置示例:
onlineSupport:
- url: https://chat.example.com
description: "在线客服API服务"
apiBaseUrl: https://chat.example.com
wsBaseUrl: wss://chat.example.com功能特性:
- 实时聊天支持
- WebSocket 长连接
- 消息推送通知
- 客服工单系统
配置示例:
ws:
- url: wss://ws.example.com/ws/
description: "WebSocket服务器"功能说明:
- 设备上报:定期上报设备信息和运行状态
- 远程任务:接收服务端下发的控制指令
- 实时同步:配置变更实时推送
- 该功能会收集设备信息
- 可能存在隐私和安全风险
- 使用前请充分评估风险
配置示例:
update:
- url: https://update.example.com
description: "更新服务器"更新流程:
- 定期检查更新接口
- 对比版本号
- 提示用户更新
- 下载并安装新版本
更新信息格式:
{
"version": "1.0.5",
"buildNumber": 105,
"downloadUrl": "https://update.example.com/app-v1.0.5.apk",
"changelog": "修复已知问题,优化性能",
"forceUpdate": false
}需要帮助? 提交 Issue