sing-box 回 App Store 了:免费、开源,小白也能三分钟上车
一年前,iOS 上唯一免费开源的代理客户端被苹果一纸”误判”冻在 App Store 里:不能更新,不能下架重传,连申诉都石沉大海。内核停在 1.9,机场上的新协议节点一个接一个连不上,官网只能把 App Store 链接划掉,留一句”TestFlight 用户不受影响”。用户能做的只有等。
换成任何一个闭源软件,故事到这里就结束了。
但 sing-box 是开源的。作者等了一年,然后做了一件只有开源项目才做得到的事:换个账号,重新上架,内核直接拉到最新。
今天,它回来了。
先说事
打开美区 App Store 搜 sing-box,多了一个新条目:sing-box MT,开发者 Metamerism LLC,版权署名 nekohasekai,官网指向
。就是那个 sing-box,换了个开发者账号、新的 Bundle ID,核心版本从 1.9 时代直接跳到 1.14,和桌面端彻底对齐。作者的处理方式非常互联网:打不过就换号。
几个硬数据:
- 名字:sing-box MT(不是 VT,别下错了)
- 价格:免费
- 系统:iOS / iPadOS 15+,tvOS 17+,visionOS 1.0+
- 体积:约 96 MB
- 当前版本:1.14.4
- 门槛:需要一个非中国大陆地区的 Apple ID(这一点和小火箭、Loon 一样,谁也躲不掉)
一句话总结:iOS 上唯一免费、开源、内核跟上游同步的代理客户端,回来了。
sing-box 到底是个啥
给完全没接触过的朋友一个心智模型。
你手机上装的”代理软件”,其实分两层:
- 内核:真正干活的那部分,负责把流量按协议打包、加密、发到你的服务器。
- 壳:你看到的界面,按钮、订阅管理、开关。
小火箭、Loon 是”内核 + 壳”一体的闭源软件,内核是各家自己写的。sing-box 反过来:内核是一个开源的通用代理平台,然后作者给每个系统各套了一个壳:
- SFI:sing-box for iOS
- SFA:sing-box for Android
- SFM:sing-box for macOS
- SFT:sing-box for tvOS
App Store 里的 sing-box MT 就是 SFI 的最新马甲。
这个”内核和壳分离”的设计,是后面所有优势的根。
这次 MT 带了什么新东西
对比老 VT,MT 不只是换壳:
1. 内核 1.14.x 老 VT 因为无法更新,内核停在 1.9 时代,很多机场新上的节点根本连不上。MT 直接对齐当前最新内核,Hysteria2、TUIC、AnyTLS、VLESS+Reality 这些一个不落。
2. 配置编辑器带语法高亮和实时检查 以前手写 JSON 少一个逗号,点启动才报错,还得自己数括号。现在编辑器边写边标红,对新手是实打实的减负。
3. 工作目录对”文件”App 开放 你可以在系统”文件”里直接看到 sing-box 的目录,往里拖文件。这意味着——
4. 支持本地 rule-set 自己写的分流规则集,不用再上传到哪个 URL 再让手机下回来,直接放本地目录引用。玩规则的人懂这有多爽。
5. 一个提醒 因为是新条目,VT 里的配置不会自动继承。如果你手上还有能打开的 VT,先把配置复制出来。
为什么我建议你放弃小火箭和 Loon
先声明立场:我是来站台的。
小火箭和 Loon 都是好软件,我也用过很多年。但 2026 年了,如果你是今天才开始选 iOS 客户端,我不觉得还有理由去付费买闭源。
| sing-box MT | Shadowrocket | Loon | |
|---|---|---|---|
| 价格 | 免费 | $2.99 | $9.99 |
| 开源 | GPLv3,代码可审计 | 闭源 | 闭源 |
| 内核 | sing-box 上游同步 | 自研闭源 | 自研闭源 |
| 配置格式 | JSON,全平台通用 | 私有格式 | 私有格式(Surge 风格) |
| 跨平台 | iOS / Android / macOS / Windows / Linux / 路由器 / Apple TV / Vision Pro | iOS / macOS / tvOS | iOS / macOS |
| 规则来源 | 官方 geosite / geoip 二进制 rule-set,社区海量 | 自有格式,依赖第三方维护 | 自有格式,依赖第三方维护 |
| 策略组 | selector / urltest 原生支持 | 有 | 有 |
| 面板 | 内置 Clash API,可接任意面板 | 无 | 无 |
| 本地规则文件 | 支持(MT 新增) | 支持 | 支持 |
表格看着平,展开讲几个真正拉开差距的点。
\1. 免费且开源,不是”免费”就完了
免费的代理软件 App Store 里一堆,绝大多数是流氓。sing-box 不一样的地方在于代码全公开、协议是 GPLv3,你不信作者可以自己编译。App Store 隐私标签写的是”不收集任何数据”,这个词在开源软件嘴里和在闭源软件嘴里的分量不一样。
\2. 一份配置,全家桶通吃
这是我最看重的一点。你在 iPhone 上调好的那份 JSON,原封不动扔到 Mac、Windows、安卓、OpenWrt 路由器上,行为完全一致。学一次,到处用。
小火箭和 Loon 的配置只能在它们自己的 App 里生效。换个设备换个系统,从头再来。
\3. 内核跟上游走,新协议不用等
闭源客户端支持新协议,得等作者一个人手写实现。sing-box 本身就是很多新协议的参考实现(AnyTLS 就是这么来的),客户端拿内核过来就有了。
老 VT 停更那一年,多少人被”节点连不上”折磨,本质就是内核跟不上。MT 把这个问题解决了:内核在哪,客户端就在哪。
\4. 规则集生态
sing-box 的 rule-set 是编译好的二进制格式(.srs),加载快、内存省,这在 iOS 这种给 VPN 扩展限死内存的平台上不是小事。官方维护的 geosite / geoip 规则集一行 URL 就能引用,社区还有大量按应用、按地区拆好的现成集合。
\5. JSON 是好朋友,不是敌人
很多人被”要手写 JSON”吓退。但换个角度:JSON 是一种全世界通用的、有严格语法的格式,意味着——
- 可以直接把配置扔给 AI 让它帮你改
- 可以放 GitHub 上做版本管理
- 可以直接发给朋友,对方粘贴即用
- 出错了报错信息精确到字段
私有格式做不到这些。而且 MT 这次的高亮和实时检查,把 JSON 最大的痛点也补上了。
\6. 不用担心”一个人的软件”
小火箭是一个人的公司,Loon 也是。开发者哪天不干了,软件就停在那里。sing-box 也是一个人主导,但它是开源的:作者不干了,社区可以接着干。这次 VT 被苹果卡死、作者换号重来,就是最好的压力测试——闭源软件遇到这种事,你只能等。
安装
- 切换到非中国大陆地区的 Apple ID(美区、港区、日区都行)。
- App Store 搜索 sing-box MT。
- 确认开发者是 Metamerism LLC,图标是那个熟悉的盒子。搜索结果里可能混着蹭名字的山寨货,认准开发者。
- 下载,首次打开允许添加 VPN 配置。
装好就是一个几乎空白的界面,别慌,接下来分两条路。
路线 A:机场党,导入订阅(三分钟)
适合大多数人。
如果机场提供 sing-box 订阅
现在主流机场基本都有。在机场面板找到”sing-box”或”SFI”格式的订阅链接,复制。
打开 sing-box MT:
- 底部切到 Profiles(配置)
- 右上角 + → New Profile
- Name 随便填,比如机场名
- Type 选 Remote
- URL 粘贴订阅链接
- 打开 Auto Update,间隔默认即可
- 保存
回到 Dashboard,确认选中的是刚建的配置,点那个大大的开关。第一次启动会去下载规则集,等十几秒。
Dashboard 下方有 Groups,里面就是你的节点列表和策略组,点一下切节点。
如果机场只给 Clash / V2Ray 订阅
两个办法:
办法一:直接把机场的 Clash 订阅链接填进去试试。不少机场后端会根据客户端 User-Agent 自动返回 sing-box 格式,试一下不亏。
办法二:用 Sub-Store 转换。Sub-Store 是一个开源订阅管理器,可以把任意格式的订阅转成 sing-box JSON,还能顺便加上分流规则。搜”Sub-Store sing-box 模板”能找到很多现成方案,这里不展开。
路线 B:自建党,手写 VLESS + Reality(十分钟)
适合有自己 VPS 的人。下面这份配置是针对 sing-box 1.14 写的,没有任何已废弃字段,可以直接抄。
在 MT 里:Profiles → + → Type 选 Local → 保存后点进去 → Edit Content,把下面的内容粘贴进去。
1 | { |
你需要替换的只有五个地方
全在 outbounds 第一段里:
| 字段 | 填什么 | 从哪来 |
|---|---|---|
| server | VPS 的 IP 或域名 | 你自己知道 |
| uuid | 客户端 UUID | 服务端配置里的 clients[].id |
| server_name | Reality 伪装的域名 | 服务端 serverNames 里的那个,必须一致 |
| public_key | Reality 公钥 | 生成密钥对时输出的 Public key |
| short_id | Reality shortId | 服务端 shortIds 里的一个,可以是空字符串 |
server_port 如果不是 443 也改一下。其他一个字都不用动。
每一段在干什么(看懂了以后自己改)
log:日志级别。排错时改成 debug,平时 info 就够。
dns:两个 DNS 服务器。国内域名走阿里 DNS 直连,其他走 Cloudflare 的 DoH,并且通过代理去查(detour: proxy),防止 DNS 污染。rules 那一条的意思是:命中国内域名列表的,用国内 DNS。
inbounds:TUN 模式,iOS 上只能这么接管流量。auto_route 自动接管全部流量,strict_route 堵住绕过 VPN 的漏网之鱼。
outbounds:两个出口。proxy 是你的 VLESS+Reality 节点,direct 是直连。这就是分流的”两条腿”。
route.rules:分流规则,从上往下匹配:
- sniff:嗅探流量里的域名,不然只看得到 IP,规则没法按域名匹配
- hijack-dns:把系统的 DNS 请求劫持到 sing-box 自己的 DNS 模块,交给上面 dns 那段处理
- 局域网 IP 直连
- 国内域名 + 国内 IP 直连
- 剩下的全部走 final: proxy
route.rule_set:上面用到的两个规则集从哪下载。download_detour: proxy 是因为 GitHub 直连不稳,下载规则集本身也走代理。
experimental.cache_file:把下载好的规则集缓存到本地,不用每次启动都下。
想加第二个节点?
在 outbounds 里再加一段 vless(或者 hysteria2、随便什么),tag 起个不一样的名字,然后加一个策略组:
1 | { |
把原来那个 vless 的 tag 从 proxy 改成 节点A,新节点叫 节点B。这样 proxy 变成一个可以在 Dashboard 里手动切换的选择器。想自动测速选最快的,把 selector 换成 urltest 即可。
小白必踩的坑,我先替你踩了
1. 多了一个逗号 / 少了一个引号 JSON 最后一项后面不能有逗号。MT 的编辑器现在会标红,看到红色先检查这个。
2. 从网上抄的老配置启动报 legacy / deprecated 1.14 内核把 1.12 之前废弃的老格式全删了。典型的:dns.servers 用 address 字段、outbounds 里有 type: block 或 type: dns、tun 用 inet4_address。看到这类报错,别修,直接换本文这份。
3. 规则集别堆太多 iOS 给 VPN 扩展的内存上限很紧(几十 MB 级别)。有人把 geosite 全家桶几十个规则集全塞进去,一启动就被系统杀。日常两三个够用,按需加。
4. Reality 的 server_name 和服务端不一致 最常见的连不上原因。客户端填的 server_name 必须是服务端 serverNames 列表里的其中一个,一个字母都不能差。
5. 开了代理 App Store 变慢 苹果的 CDN 有时走代理反而慢。加一条规则:
1 | { |
对应的 rule_set 地址把 geosite-cn.srs 换成 geosite-apple.srs 即可。
6. 装错 App 再说一遍:sing-box MT,开发者 Metamerism LLC。不是 VT,不是任何带”Pro””Plus””VPN”后缀的东西。
最后
sing-box 这个项目最迷人的地方,是它把”代理”这件事从一个个封闭的 App 里拆出来,变成一份可以随身携带的、明明白白的配置文件。你不再是某个软件的用户,你是自己网络的管理员。
这个理念以前在 iOS 上有一道门槛:App 更不了,内核老了,配置写好了也没地方跑。今天这道门槛没了。
免费的,开源的,内核最新的,全平台一份配置。去装吧,装完把这篇文章的 JSON 抄进去,十分钟以后你就再也不想付那 $2.99 了。






