网络工具
English

sing-box 深度评测:Go 写的万能代理平台,到底好不好用?

sing-box 是一个用 Go 语言开发的通用代理平台,支持 Shadowsocks、VMess、Trojan 等主流协议。本文从安装配置到实际体验,带你全面了解这个 33k+ Star 的开源工具。

goproxyvpn

[广告位: article-top] 请在 .env 中配置至少一个广告平台

sing-box 深度评测:Go 写的万能代理平台,到底好不好用?

说实话,第一次听说 sing-box 的时候,我脑子里冒出的第一个念头是:“又来一个代理工具?” 毕竟这个领域已经有 Clash、V2Ray、Shadowrocket 这些老面孔了。但当我真正上手用了几天之后,发现这玩意儿还真有点东西。

项目背景

sing-box 出自 SagerNet 团队之手,用 Go 语言写的。作者做这个项目的原因挺实际的 —— 现有的代理工具要么功能太杂、要么配置太麻烦,要么就是对新协议支持慢半拍。sing-box 想做一个”万能”的:一个二进制文件,搞定所有主流代理协议。

33k+ 的 Star 数说明了不少人认可这个思路。

核心功能

1. 协议全家桶

sing-box 支持的协议多到离谱:Shadowsocks、VMess、VLESS、Trojan、Hysteria、WireGuard、Tuic… 基本上你能叫得出名字的,它都认识。我特别喜欢它把新旧协议统一到一个配置里这点,不用像以前那样装一堆客户端。

配置示例:

{
  "outbounds": [
    {
      "type": "shadowsocks",
      "server": "your-server.com",
      "server_port": 8388,
      "method": "aes-256-gcm",
      "password": "your-password"
    }
  ]
}

2. 路由规则灵活

它的路由系统是我用过最细粒度的之一。可以按域名、IP、GEOIP、进程名来分流,甚至能根据网络类型(WiFi/蜂窝)自动切换节点。我常用的一个场景是:国内网站直连,国外走代理,特定 App 走指定节点 —— 这些 sing-box 都能轻松搞定。

{
  "route": {
    "rules": [
      { "geosite": "cn", "outbound": "direct" },
      { "geosite": "geolocation-!cn", "outbound": "proxy" }
    ]
  }
}

3. 跨平台一个文件搞定

Windows、macOS、Linux、Android、iOS 全支持。最爽的是服务端和客户端用同一个程序,学一套配置语法就够了。我经常在 VPS 上跑服务端,笔记本上跑客户端,配置几乎不用改。

快速上手

安装贼简单,一行命令:

# macOS / Linux
bash <(curl -fsSL https://sing-box.app/deb-install.sh)

# 或者用 brew
brew install sing-box

跑起来:

sing-box run -c config.json

配置文件是 JSON 格式,虽然刚开始看着有点头大,但官方文档写得还算清楚,抄几个示例改改就能用。

优缺点

优点:

  • 一个程序通吃所有协议,省得装一堆软件
  • Go 写的,内存占用确实比 Electron 那些客户端小很多
  • 更新勤快,新协议跟进速度快
  • 路由规则非常强大,分流很精准

缺点(必须说):

  • JSON 配置对新手不算友好,写错一个逗号就起不来,报错信息有时候也让人摸不着头脑
  • 图形界面客户端(SFA、SFM)功能比命令行版弱一些,有些高级设置还得手动改配置
  • 文档虽然全,但组织得有点乱,找东西要翻半天
  • 生态不如 Clash 成熟,很多第三方工具还没适配 sing-box 的配置格式

适合人群与总结

如果你是个爱折腾的技术党,sing-box 绝对值得一试。它的灵活性和性能确实在线,特别是你需要同时管理多种协议的时候,一个 sing-box 能顶过去三四个工具。

但要是你只想”一键翻墙、别让我操心”,那可能还是 Clash Verge 或者 Surge 这类有漂亮 GUI 的更适合你。sing-box 更像给愿意花时间调配置的人准备的利器。

我的建议是:先装个命令行版试试水,觉得顺手了再深入研究路由规则。反正免费开源,试试又不亏。

[广告位: article-bottom] 请在 .env 中配置至少一个广告平台

相关文章