
快连iOS端如何手动添加自定义分流域名列表?
功能定位:为什么需要手动分流域名
快连的「智能分流」每天自动同步大陆 CDN IP 段,但企业内网、测试环境或家庭 NAS 常用小众后缀,极易被误判为境外流量,结果本可直连的请求被迫绕隧道,既浪费带宽又拉高延迟。手动把域名写进「自定义分流列表」,等于在客户端提前声明“这些地址必须直连/必须走隧道”,把决策权交还给你,同时留下本地配置日志,方便合规审计。
与「分应用代理」相比,域名级规则颗粒度更细:同一 App 里,api.example.com 走隧道,cdn.example.com 直连,完美适配电商运营、海外社媒投放等“单 App 多出口”场景;与晦涩的路由表相比,域名列表就是纯文本,随手在 iOS 备忘录就能改,Git 同步后多端复用,运维成本几乎为零。
变更脉络:iOS 端分流配置迭代史
截至 App Store 上架版 6.3.0,快连 iOS 端的分流设置经历了三次可见迭代:v5.x 时代只有“全局 / 大陆白名单”二选一;v6.0 首次开放「自定义域名」入口,却要跳 Safari 下载 conf;v6.2 终于把编辑器搬进 App,支持即时生效与本地回滚。记住这条时间线,再翻教程就不会因为“找不到按钮”而抓瞎。
前置条件与合规边界
开始前请自检四条硬门槛:系统需 iOS 15 以上,低版本缺少 NetworkExtension 的 DNS 覆写接口;Premium 订阅在有效期内,免费档只能试玩三条规则;域名必须符合 RFC 1123,不支持通配符,但可写多级子域,如 client.api.example.com;单设备上限 128 条,超量后最早写入的条目会被静默丢弃,没有任何弹窗,只能在「规则管理」顶部的小字计数里发现端倪。
警告
若公司 IT 策略要求所有出境流量必须经审计网关,请把“必须走隧道”的域名写成强制代理,防止本地直连造成合规缺口。
操作路径:iOS 端最短入口
步骤1:打开规则编辑器
启动快连→首页右上角「⋯」→「分流规则」→「自定义域名列表」→「添加规则」。如果没看到「分流规则」,先开启「高级模式」:我的→设置→实验室→高级模式→开关打开→重启 App,即可解锁。
步骤2:写入单条域名
在「域名」栏输入 test.mycompany.com;在「策略」栏选择「直连」或「代理」;点击「保存」。顶部计数器立刻 +1,并提示“将于下次重连生效”。
步骤3:批量导入(可选)
点击「批量导入」→「从 iCloud Drive 选取」→选中事先写好的 domain.txt(每行一个域名,UTF-8 无 BOM)→预览无误后「导入」。格式错误会在日志页回显首条错误行号,方便秒级定位。
步骤4:触发生效
返回首页→断开连接→等待 3 秒→再次连接。在「连接日志」里看到 DNS Override 字段出现 custom_domains=XX,即代表规则已注入系统。
平台差异对照
| 平台 | 入口深度 | 批量导入 | 规则上限 |
|---|---|---|---|
| iOS | 3级菜单 | 支持txt/iCloud | 128条 |
| Android | 2级菜单 | 支持txt/sdcard | 256条 |
| Windows | 托盘右键→规则 | 支持yaml | 512条 |
决策树:什么时候该手动加域名
提示
以下流程基于经验性观察,读者可按实际业务调整阈值。
- 先让系统默认分流跑 24h,在「统计」页记录被代理的国内域名 Top10。
- 若某域名单日流量 >50MB 且 RTT>150ms,则进入候选池。
- 在 Mac 上用 dig+trace 确认该域名最终 A 记录位于境内,却走了隧道→符合“误判”定义。
- 判断业务敏感度:公司财务系统需审计,策略=代理;内部文件服务器策略=直连。
- 写入自定义列表,观察 48h,延迟下降且审计无告警则保留,否则回退。
常见例外与副作用
多级 CNAME 是最常见的“漏网之鱼”:test.example.com→cdn1.example.net→edge.abc.com,如果只写首域,后续链路仍可能绕路。保险做法是把最后一级边缘域名也写进列表。短 TTL 同样棘手,某些广告联盟域名 TTL=30s,A 记录说变就变,规则刚写完就失效。经验性观察:TTL<60s 的域名不建议硬编码,可改用「分应用代理」整包兜底。此外,iOS 低电量模式会限制 NetworkExtension 刷新频率,可能出现“规则已保存但未注入”的假阳性;关闭低电量并重连,日志里出现 custom_domains 即为注入成功。
回退与版本管理
快连会在本地生成一份带时间戳的 custom_domains.json 备份(路径因版本略有差异),每次保存时自动轮转。误删或改错后,进入「自定义域名列表」页右上角「历史版本」,选择对应时间点的快照即可回滚;系统默认保留 7 份,超期自动清理,因此关键变更建议额外 Git 备份。
验证与观测方法
步骤1:看日志
重连后回到「分流规则」页→底部「连接日志」→过滤关键词“custom_domains”,若出现 custom_domains=3,代表 3 条规则已注入。
步骤2:抓包对比
在 Wi-Fi 路由器侧镜像手机流量,Wireshark 过滤 dns.qry.name==test.mycompany.com,若 A 记录解析为境内 IP 且后续数据流未走 UDP 4500,则证明已直连。
步骤3:RTT 采样
用快捷指令循环 ping 100 次,计算平均延迟。经验性观察:直连成功后 RTT 可降 20–40ms;若反而升高,需检查是否命中企业出口防火墙。
与第三方协同:Git+快捷指令自动同步
把 domain.txt 托管到私有 Git 仓库,设置 GitHub Actions:当推送新 commit,调用快连 AI-Route API(需 Premium)上传域名列表。再配一条 iOS「快捷指令」个人自动化:每日 07:00 拉取最新 domain.txt→保存到 iCloud Drive→打开快连→执行批量导入,即可实现“上班前自动更新”。若公司需要审计追溯,在 commit message 里附带 Jira 单号,就能让“代码-规则-任务”一一对应。
警告
API 每日限 100 次,且仅支持追加模式;若需全量覆盖,应先调用清空接口,否则会出现重复条目。
故障排查速查表
| 现象 | 可能原因 | 验证动作 | 处置 |
|---|---|---|---|
| 保存按钮灰色 | 已达128条上限 | 顶部计数器显示128/128 | 删除旧条目再保存 |
| 导入后显示0条 | txt含BOM头 | 用VSCode查看编码 | 另存为UTF-8无BOM |
| 规则不生效 | 低电量模式限制 | 设置→电池→低电量关闭 | 重连后观察日志 |
适用/不适用场景清单
- 适用:海外直播推流、跨境电商店铺后台、家庭 NAS 远程相册、学校内网教务系统。
- 不适用:短 TTL 广告域名、含通配符的 CDN 大域、需国家级审计的出口网关流量。
- 边界:团队 >30 人同时维护一份列表时,建议改用 YAML+CI,避免多人同时写入造成冲突。
最佳实践12条检查表
- 先采样再写入,拒绝拍脑袋。
- 域名写全,不依赖 CNAME 猜测。
- 每季度清理一次,删除已下线业务。
- 把“必须审计”的域名统一加 @audit 注释,方便 Git 检索。
- 批量导入前用 awk 去重,避免 128 条被重复占满。
- 重大变更先在测试机验证,48h 无异常再推到生产。
- 打开「连接日志」自动上传,确保故障时可追溯。
- 对 TTL<60s 的域名改用应用级规则兜底。
- 不在公共仓库上传含内部域名的 txt,防止信息泄露。
- 升级 App 前先用 iTunes 备份 custom_domains.json。
- 若出现“规则丢失”,优先检查是否误触「恢复默认」。
- 每月对比审计报告,确认无“境内域名被代理”告警。
FAQ(FAQPage Schema)
iOS 端自定义规则与 Mac 端能否同步?
目前快连尚未打通 iCloud Keychain 级别的规则同步,需借助 Git+API 或手动导出 txt;官方在 2026-04 公告中确认“多端统一配置”已在开发队列,但未承诺上线日期。
128 条上限能否付费扩容?
经验性观察,当前 Premium 档仍维持 128 条;联系客服仅提供“删除不常用”建议,尚未推出扩容套餐。
规则写错导致 App 无法联网怎么办?
进入系统设置→privacy tool→删除快连配置→重启手机→重新安装描述文件;或在「历史版本」里回滚到上一版即可恢复。
收尾:下一步行动建议
自定义分流域名列表不是“写完就忘”的一次性配置,而是持续运营的微策略。建议你今晚就做三件事:① 导出当前列表备份到 Git;② 把本文的「12 条检查表」贴进团队 Confluence,设月度提醒;③ 在测试 iPhone 上把 TTL<60s 的域名全部移除,改用分应用代理,观察一周 RTT 曲线。完成这三步,你就能在合规、性能与可维护性之间取得平衡,真正让快连 iOS 端的分流规则“写得明白、改得安心、删得干净”。
