常见问题解答 (FAQ)
连接与稳定性
Q: 万一隧道节点连接失败了,App 会被屏蔽吗?
A: 极大概率不会。
Dynamic Domain 设计了多重防御机制来确保连接的韧性和隐蔽性:
自动故障转移 (Failover):
- SDK 内置了智能重试机制。如果当前节点连接失败,会自动尝试重新连接或切换到备用节点。
- 并发竞速: 在启动时,App 会同时测试多个可用节点,并自动选择响应最快的一个,避免单点故障。
多级配置获取 (Resilient Config):
- 即使节点 IP 被墙,SDK 也能通过多级备用通道获取最新的节点列表:
- DoH (DNS over HTTPS): 通过加密 DNS 查询获取配置,极难被阻断。
- GitHub / CDN: 从公共代码仓库拉取配置备份。
- API 直连: 尝试连接调度服务器。
- 这意味着只要您的 App 能访问互联网(哪怕只是部分访问),就能获取到最新的“救命”节点。
- 即使节点 IP 被墙,SDK 也能通过多级备用通道获取最新的节点列表:
协议隐蔽性 (Stealth):
- 我们使用 VLESS + REALITY 协议。即使连接失败或正在重试,产生的流量看起来也完全像是访问正常的海外网站(如 Microsoft、Apple 等)。
- 防火墙很难区分这是“翻墙失败的流量”还是“网络不好的正常访问”,因此不会触发屏蔽机制。
Q: 如果一直连接不上怎么办?
建议按以下步骤排查:
- 检查 App ID: 确保您使用的是客服提供的有效 App ID。
- 网络环境: 尝试切换 4G/5G 或 Wi-Fi 网络。
- 更新版本: 访问下载中心获取最新版本,旧版本可能内置了过期的种子配置。
安全与隐私
Q: 使用该 SDK 会导致我的 App 被应用商店下架吗?
A: 风险极低。
- 无 VPN 权限: SDK 仅在 App 内部运行代理(In-App Proxy),不需要申请敏感的系统级 VPN 权限 (
android.permission.BIND_VPN_SERVICE或 iOSNetworkExtension)。 - 合规性: 在代码层面,它只是一个普通的网络库。审核人员无法通过静态扫描发现其代理功能,因为它不包含任何 VPN 特征代码。
Q: 用户数据安全吗?
A: 绝对安全。
- 端到端加密: 客户端与节点之间的所有通信都经过高强度加密(AES-GCM / Chacha20-Poly1305)。
- 无日志策略: 我们的演示节点遵循零日志原则,不记录用户的浏览内容。如果您是私有化部署,数据则完全掌握在您手中。
框架集成
Q: Dynamic Domain 可以配合 OpenIM 使用吗?
A: 可以。
这是我们最推荐的使用场景之一。由于 OpenIM 的核心运行在原生层,您需要通过我们的 getProxyConfig() 方法获取 SOCKS5 端口,并显式设置给 OpenIM。详细步骤请参考 OpenIM 集成指南。