Skip to content

sing-box Mac 教程:配置文件、订阅转换与命令行运行步骤 ​

这篇 sing-box Mac 教程的核心用法是:拿到一份 JSON 配置文件,在终端通过 run -c config.json 命令启动。配置文件最好直接来自机场提供的同格式订阅;机场没有的话就需要订阅转换。图形版也有,但命令行是最稳定、最不依赖第三方的方式。

速读要点

  • check 校验、run 启动,check 无输出即配置合法
  • TUN 入站要 sudo,mixed 入站要手动填系统代理
  • 关终端进程就断,常驻靠 launchd 或 nohup

适用范围 ​

  • 愿意用终端、机场提供专属配置格式订阅的 Mac 用户。
  • 想用 Hysteria2、TUIC 等协议的用户。
  • 不同版本配置字段略有差异,以官方文档为准。

准备 ​

  • 确认机场用户中心有专用订阅或同等入口。
  • 从官方 GitHub Releases 下载 macOS 版本(Apple 芯片选 arm64,Intel 选 amd64),或用 Homebrew 安装;官方图形版通过 App Store 分发,能否下载取决于你的账号地区。
  • 开 TUN 入站需要 sudo。

sing-box Mac 教程:图形版与命令行的区别 ​

对比项图形版命令行核心
导入粘贴订阅链接自己下载配置文件
切节点点选改配置,或用 Clash API 面板
更新自动重新下载配置后重启
适合日常使用脚本化、服务器、极简需求

只想要图形界面又不想折腾的,直接用 Clash Verge Rev 更省事,它的内核也支持多数新协议。

步骤:命令行安装并运行配置文件 ​

  1. 用 Homebrew 执行 brew install sing-box,或解压官方发布包并把可执行文件放到 PATH;结果是终端里执行版本检查命令能输出版本号。
  2. 新建目录比如 ~/sing-box,用 curl -o config.json "订阅链接" 下载配置;结果是目录里有一个以 { 开头的 JSON 文件。
  3. 执行 sing-box check -c config.json;结果是无输出,表示配置合法。
  4. 执行 sing-box run -c config.json;结果是日志显示入站监听端口。
  5. 若配置是 mixed 入站,到「系统设置 → 网络 → 详细信息 → 代理」把网页代理指向该端口,见 Mac 系统代理设置;若含 tun 入站,改用 sudo sing-box run -c config.json;结果是浏览器或所有软件开始走代理。

操作对照:终端运行状态

在此步骤中,终端重点核对配置校验无报错输出,以及后台服务成功监听本地混合代理端口。

常见误判:命令行用户最容易看错的几处 ​

  • check 没有任何输出就以为失败了。恰恰相反,无输出代表配置合法,有问题时才会打印行号和字段名。
  • run 之后终端「卡住」以为死机。那是前台进程在正常运行,日志会随访问滚动,按 Ctrl+C 才会停止。
  • sudo 输密码时屏幕没反应以为键盘坏了。终端输密码不回显,输完直接回车。
  • 浏览器打不开网页,但日志里没有任何连接记录。说明流量根本没进 sing-box,是系统代理没指向该端口,不是节点问题。
入站类型需要你做什么不做的后果
mixed / http / socks手动在系统代理里填 127.0.0.1 与监听端口进程在跑但没有任何流量经过
tun用 sudo 运行报无权限创建接口

机场没有专有格式订阅怎么办:订阅转换 ​

  • 用订阅转换把通用格式转成内核能读的 JSON,有的机场在用户中心内置了转换。
  • 第三方转换服务会拿到你的订阅链接,相当于把账号交出去,优先用机场自带或自建的转换。
  • 转换结果一定要跑配置校验,并核对协议、端口是否与机场一致。

怎么验证成功 ​

  • check 无报错,run 的日志没有 FATAL。
  • 浏览器访问国外网站成功,日志出现对应连接。
  • 用 TUN 时,ifconfig 能看到新的 utun 接口。

Mac 使用常见问题 ​

Mac 上提示「decode config」错误怎么办? ​

JSON 语法有误或字段已过期。按报错行号修改,并确认核心版本在机场标注的范围内。

加了 sudo 仍无法创建 TUN 怎么办? ​

另一款 VPN 软件占用了路由或网络扩展,退出它再运行;仍失败见 TUN 失败。

关闭终端后代理就断了怎么办? ​

命令行是前台运行,终端一关进程就结束。想常驻可以用 launchd 或 nohup,或者改用图形版。

Mac 上端口冲突怎么办? ​

改配置里入站的 listen_port,或先退出占用该端口的其他客户端,见端口占用。

Mac 上节点全部超时怎么办? ​

先核对系统时间,再确认配置里的协议参数与机场一致,仍超时看节点全部超时。

下一步 ​

相关阅读 ​

本站内容仅供参考,部分链接含推广说明,详见各优惠页。关于本站