SwiftRoute 是一个原生 SwiftUI 编写的轻量 macOS Mihomo 客户端。它可以导入 Clash/Mihomo YAML 配置,按国家和地区整理节点,自动测试延迟与稳定性,并避开无法访问 ChatGPT/Codex 的出口节点。
- 内置 Apple Silicon 版 Mihomo v1.19.28
- 从本地 YAML 或 HTTPS 订阅地址导入配置
- 香港、台湾、日本、新加坡、美国、韩国、欧洲等地区筛选
- 16 路并发快速扫描,默认延迟上限 500 ms
- 对最快候选进行稳定性复测,并按延迟和成功率综合评分
- 使用真实 Codex POST 请求识别 Cloudflare HTML 403,自动尝试下一节点
- 当前节点高亮、菜单栏控制、开机自启动和启动时自动连接
- 安全保存并恢复 macOS 原有 HTTP、HTTPS 和 SOCKS 代理设置
- 检查 Mixed 端口和监听进程,避免与其他 Clash 客户端争用代理
- 内核进程、控制端口、代理出口和系统设置的完整连接验证
- 从 Releases 下载最新的
SwiftRoute-macOS-arm64.zip。 - 解压后把
SwiftRoute.app移入/Applications。 - 当前公开包使用 ad-hoc 临时签名,尚未经过 Apple 公证。首次打开时请按住 Control 点击 App,选择“打开”;也可在“系统设置 → 隐私与安全性”中确认打开。
- 在“导入”菜单中选择本地配置或输入 HTTPS 订阅地址,然后点击“连接”。
订阅地址通常包含私人密钥。SwiftRoute 只把下载的配置保存在本机
~/Library/Application Support/SwiftRoute/,请勿把订阅文件、链接或日志提交到 Issue。
SwiftRoute 的选优分为三个阶段:
- 对当前地区节点进行一次有超时限制的并发扫描。
- 仅对最快的 6 个候选并行复测,计算延迟和成功率。
- 按综合质量排序,最多验证前三名能否访问 Codex 后端。正常的无凭证探测会返回 JSON 401;Cloudflare 风控通常返回 HTML 403,遇到后会尝试下一名。
节点列表中的蓝色勾选和“当前”按钮表示 Mihomo 策略组正在使用的节点。
连接时,SwiftRoute 会启用 macOS HTTP、HTTPS 和 SOCKS 系统代理,并在连接前保存原设置;断开或正常退出时恢复。应用启动也会清理自身异常退出留下的 Mihomo 进程和代理快照。
SwiftRoute 不能与 FlClash、Clash Verge 等其他正在接管系统代理的客户端同时运行。默认 Mixed 端口是 127.0.0.1:7890,控制端口是 127.0.0.1:19090。如果端口被占用,应用会显示占用程序名称并停止连接。
当前版本是系统代理客户端,不是 TUN 全局 VPN。不遵循系统代理的程序、部分 UDP 流量和游戏可能绕过代理。TUN 需要经过签名的特权服务或 Apple Network Extension,本项目不会使用不安全的提权脚本模拟。
- 等待 SwiftRoute 完成自动优选。
- 完全退出 Codex(⌘Q)后重新打开,让它重新读取系统代理并建立连接。
- 确认没有另一款代理客户端占用
7890。 - 切换美国、日本或新加坡地区重新优选。TUN 本身不能修复被 Cloudflare 拒绝的出口 IP。
要求 macOS 14 或更高版本、Apple Silicon 和 Swift 6.2:
git clone https://github.com/comey246/SwiftRoute.git
cd SwiftRoute
swift test
./scripts/build-app.sh生成的 App 和 ZIP 位于 outputs/。
如果钥匙串中安装了 Developer ID Application 证书,可以生成适合 Apple 公证的 Hardened Runtime 构建:
CODESIGN_IDENTITY="Developer ID Application: Your Name (TEAMID)" ./scripts/build-app.sh随后使用 Apple 的 notarytool 提交 ZIP 并把公证票据装订到 App。当前仓库发布的 ad-hoc 包不等同于 Developer ID 签名或 Apple 公证。
- 不包含节点销售、账户、广告、统计或遥测功能。
- 订阅和运行配置只保存在本机,不上传到本项目服务器。
- Mihomo 控制 API 仅监听本机地址,并在每次启动时使用随机密钥。
- 如果报告安全问题,请不要公开附上订阅地址、节点密码或完整配置。
SwiftRoute 将 Mihomo 作为独立可执行程序调用。内置的 v1.19.28 ARM64 版本按 GPL-3.0 分发;对应源码、校验值和许可证信息位于 THIRD_PARTY_NOTICES。
SwiftRoute 按 GNU General Public License v3.0 开源。你可以使用、修改和分发,也可以收费,但分发修改版本时必须遵守 GPL-3.0 的源码和许可证要求。