目录
sing-box简介
sing-box是一款功能强大的开源代理软件,它基于Golang语言开发,支持多种代理协议和传输方式。与传统的代理软件相比,sing-box具有更好的性能、安全性和可扩展性。它可以用于科学上网、内网穿透、流量加速等场景,广受用户好评。
sing-box功能特点
- 多协议支持:支持Vmess、Vless、Trojan、Shadowsocks等主流代理协议
- 多传输方式:支持TCP、mKCP、WebSocket、QUIC等多种传输方式
- 性能优秀:基于Golang语言开发,CPU和内存占用低,网络延迟低
- 安全可靠:支持TLS加密传输,抵御各种网络攻击
- 易于管理:提供友好的配置文件和Web控制台,便于远程管理
- 跨平台支持:支持Windows、macOS、Linux等主流操作系统
sing-box软件安装
Windows系统安装
- 前往sing-box官方网站下载对应的Windows版本安装包
- 双击安装包进行安装,默认安装路径为
C:\Program Files\sing-box
- 安装完成后,可以在开始菜单或桌面找到sing-box的快捷方式
- 首次运行时,系统会提示是否允许sing-box访问网络,请选择允许
MacOS系统安装
- 前往sing-box官方网站下载对应的MacOS版本安装包
- 双击下载的dmg文件,将sing-box拖拽到应用程序文件夹
- 打开系统偏好设置 > 安全性与隐私 > 通用,允许sing-box运行
- 在Launchpad或Applications文件夹中找到sing-box图标即可运行
Linux系统安装
- 根据您的Linux发行版,选择对应的安装包下载
- 解压缩安装包,进入目录执行
./sing-box run
即可运行 - 如果需要开机自启,可以将
sing-box
添加到systemd服务中 - 运行
sing-box --version
查看当前版本信息
sing-box配置参数
sing-box的配置文件采用JSON格式,下面将介绍几个重要的配置项:
inbound配置
inbound配置定义了入站连接的监听端口和协议类型,例如:
{ “type”: “vless”, “listen”: “0.0.0.0:8443”, “protocol”: “vless”, “settings”: { “clients”: [ { “id”: “your-uuid”, “level”: 0, “email”: “test@example.com” } ], “decryption”: “none” }}
outbound配置
outbound配置定义了出站连接的目标服务器和协议类型,例如:
{ “type”: “trojan”, “sendThrough”: “0.0.0.0”, “settings”: { “servers”: [ { “address”: “your-server-address”, “port”: 443, “password”: “your-password” } ] }}
routing配置
routing配置定义了流量的路由规则,可以根据协议类型、域名、IP地址等进行匹配和分流,例如:
{ “rules”: [ { “type”: “field”, “domain”: [“geosite:google”], “outboundTag”: “google” }, { “type”: “field”, “ip”: [“geoip:cn”], “outboundTag”: “direct” } ]}
sing-box使用技巧
多设备同步
sing-box支持多设备同步配置,只需要在各设备上使用相同的配置文件即可。您可以将配置文件存储在云端,或者使用sing-box提供的Web控制台进行远程管理。
性能优化
- 根据您的网络环境选择合适的传输协议和加密方式,例如QUIC协议和ChaCha20加密算法
- 适当增加线程数和缓冲区大小,提高CPU和内存利用率
- 开启DNS缓存和HTTP/2,减少DNS查询和TCP连接开销
安全加固
- 开启TLS加密传输,并配置合适的TLS设置,如支持的密码套件、证书更新策略等
- 开启双向认证,要求客户端也提供有效的证书
- 配置IP/域名白名单,限制允许连接的IP地址或域名
- 开启日志记录和监控,及时发现异常情况
sing-box常见问题
FAQ1
**问题:**sing-box是否支持多协议混合使用?
**答复:**sing-box支持同时配置多种协议,可以根据不同的业务需求选择合适的协议。例如,可以将Vmess协议用于一般的科学上网,将Trojan协议用于金融交易等对安全性要求更高的场景。
FAQ2
**问题:**sing-box的性能如何,是否可以满足高并发的需求?
**答复:**sing-box基于Golang语言开发,具有出色的性能表现。在合理的配置下,单实例sing-box可以支持数千并发连接,满足大部分用户的需求。如果需要更高的并发支持,可以考虑水平扩展多个sing-box实例。
FAQ3
**问题:**如何实现sing-box的自动更新?
**答复:**sing-box目前没有内置自动更新功能,但可以通过外部脚本或工具实现自动更新。例如,可以编写一个定时任务,定期检查sing-box的最新版本,并自动下载、替换旧版本。另外,也可以使用第三方的更新管理工具,如Windows的自动更新或Linux的包管理工具。