sing-box 深度评测:Go 写的万能代理平台,到底好不好用?
sing-box 是一个用 Go 语言开发的通用代理平台,支持 Shadowsocks、VMess、Trojan 等主流协议。本文从安装配置到实际体验,带你全面了解这个 33k+ Star 的开源工具。
[广告位: 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 中配置至少一个广告平台