cn-apps-direct 是什么?
cn-apps-direct 是 Clash-FX 维护的开源进程规则清单,收录在中国大陆常用、且可能因代理出口变化而出现异常的 macOS 应用。
开启 ClashFX 的“国内 App 直连”后,清单中的应用会绕开代理,直接使用当前网络出口。规则每 24 小时自动更新,不需要手动复制。
什么时候值得开启?
- 微信、QQ 或钉钉在 Enhanced Mode 下频繁掉线或重新登录。
- 推送通知延迟,关闭 Enhanced Mode 后恢复正常。
- 应用内容推荐因代理出口位置发生明显偏移。
- 你希望国内常用客户端始终走本地网络,但浏览器等应用继续按代理规则运行。
在 ClashFX 中一键开启
- 确认 Enhanced Mode 已开启
点击 macOS 菜单栏中的 ClashFX 图标,开启“Enhanced Mode”。进程分流需要 ClashFX 能识别流量所属应用。
- 启用“国内 App 直连”
进入“Enhanced Mode”子菜单,勾选“Bypass Common Chinese Apps / 国内 App 直连”。
- 重新测试出现异常的 App
完全退出并重新打开目标应用,观察登录、消息和推送是否恢复稳定。
如何确认直连已经生效?
不要只根据网页显示的 IP 判断。更可靠的方法是对比应用行为和 ClashFX 的连接记录。
让旧连接完全断开,避免继续复用开启规则前建立的会话。
发送消息、刷新内容或重新登录,产生一条新的网络连接。
若连接记录可见,目标进程应命中 DIRECT,而不是代理节点。
持续使用一段时间,确认掉线、推送延迟或登录循环是否消失。
若没有生效,先确认应用进程名是否已被清单收录。应用显示名称不一定等于实际可执行文件名。
添加清单中没有的 App
先确认目标应用的真实可执行文件名。以下命令只读取应用包内容,不会修改应用:
ls /Applications/WeChat.app/Contents/MacOS/终端输出的文件名才是规则要匹配的值。它不是 Bundle ID,也不是完整路径。例如输出为 WeChat,对应规则是:
PROCESS-NAME,WeChat,DIRECT规则放在哪里?
具体进程规则应放在 rules: 列表较靠前的位置,因为 ClashFX 按从上到下的顺序匹配,首个命中的规则生效。
rules:
- PROCESS-NAME,WeChat,DIRECT
# 其他更宽泛的规则放在后面
- MATCH,Proxy把缺失的 App 加入公共清单
cn-apps-direct 接受社区 Pull Request,但不是所有应用都适合收录。提交前应满足以下条件:
- 有官方 macOS 客户端不接受第三方封装或仅通过 iPad 兼容模式运行的版本。
- 在中国大陆较常用公共清单应解决普遍问题,而不是个人小众配置。
- 能描述代理下的异常例如频繁掉线、登录失败、推送停止或推荐位置偏移。
- 确认真实进程名名称区分中英文字符串;应用改名时可同时保留新旧名称。
提交步骤
- Fork cn-apps-direct 仓库。
- 在
apps-direct.list对应分类添加一行PROCESS-NAME,<名称>,DIRECT。 - 同一分类内尽量按字母顺序排列,一个 PR 只添加一个 App。
- 在 PR 中写明 macOS 版本、App 版本、异常表现和官方下载页面。
使用前后的疑问
开启后,所有国内网站都会直连吗?
不会。cn-apps-direct 按 macOS 应用进程匹配,不是按网站域名或 IP 匹配。只有清单中的 App 流量会优先直连。
为什么规则模式下开关不可用?
普通系统代理接收的是应用主动发往本地代理端口的连接,无法稳定获得原始进程信息。Enhanced Mode 在更底层接管流量,才能使用进程规则。
开关会修改我的订阅文件吗?
不会。ClashFX 将规则加入运行时生成的增强模式配置,不改写原始订阅内容。
某个 App 仍然没有直连怎么办?
完全退出 App 后重新测试,并确认实际可执行文件名。若清单缺失或名称有误,可按贡献规范提交 Issue 或 Pull Request。