简介
Sing-box 是一个功能强大且灵活的代理平台,旨在提供安全、快速和可定制的网络连接。 它可以被看作是一个现代化的、高度可配置的 VPN 和代理工具,但其能力远不止于此。
官网:https://sing-box.sagernet.org/zh/
源码:https://github.com/SagerNet/sing-box
特性和功能
- 多协议支持: Sing-box 支持广泛的代理协议,包括但不限于:
- VMess
- VLESS
- Trojan
- Shadowsocks
- Socks
- HTTP(S)
- gRPC
- Hysteria
- TUIC
- Reality (TLS 握手伪装)
- XTLS (一种增强的 TLS)
- WireGuard (VPN 协议)
- OpenVPN (VPN 协议)
- NaiveProxy
- 灵活的路由规则: Sing-box 允许你根据不同的条件(例如域名、IP 地址、地理位置、应用程序等)定义流量的路由规则。 这意味着你可以精确地控制哪些流量通过代理,哪些流量直连。
- 强大的配置选项: Sing-box 的配置非常灵活,可以使用 JSON 或 YAML 格式进行配置。 这允许你根据自己的需求定制代理行为。
- 插件支持: Sing-box 支持插件,可以扩展其功能。 例如,可以使用插件来添加新的协议支持、修改流量或执行其他自定义操作。
- 跨平台: Sing-box 可以在多种平台上运行,包括:
- Linux
- macOS
- Windows
- Android
- iOS (需要越狱)
- 性能优化: Sing-box 经过优化,可以提供高性能的代理服务。
- 内置 DNS 服务器: Sing-box 包含一个内置的 DNS 服务器,可以用于解析域名。
- 流量统计: Sing-box 可以提供流量统计信息,帮助你了解代理的使用情况。
- 规则集支持: Sing-box 支持使用规则集,例如来自 GitHub 的规则集,方便用户快速配置代理规则。
安装
包管理器
仓库安装
Debian/Ubuntu
|
|
Redhat/DNF5
|
|
Redhat/DNF4
|
|
手动安装
Debian
|
|
Redhat
|
|
Archlinux
|
|
托管安装
Archlinux
|
|
Debian
|
|
Windows
|
|
手动安装
Debian
|
|
服务管理
对于带有 systemd 的 Linux 系统,通常安装已经包含 sing-box 服务, 您可以使用以下命令管理服务:
| 行动 | 命令 |
|---|---|
| 启用 | sudo systemctl enable sing-box |
| 禁用 | sudo systemctl disable sing-box |
| 启动 | sudo systemctl start sing-box |
| 停止 | sudo systemctl stop sing-box |
| 强行停止 | sudo systemctl kill sing-box |
| 重新启动 | sudo systemctl restart sing-box |
| 查看日志 | sudo journalctl -u sing-box --output cat -e |
| 实时日志 | sudo journalctl -u sing-box --output cat -f |
示例模板
服务端
|
|
vless-reality-vision
目前服务端使用最多的伪装方案
准备
生成 uuid
|
|
|
|
生成 reality-keypair
|
|
|
|
生成 short_id
|
|
|
|
服务端
修改:
listen_port:监听端口uuid:server_name:套用的证书域名或者 ipserver:套用的证书域名或者 ipserver_port:套用的证书域名或者 ip 的端口,一般为 443private_key:short_id:
|
|
客户端
修改为对应服务端的信息
server:服务器的域名或者 ipserver_port:服务器的监听端口uuid:server_name:套用的证书域名或者 ippublic_keyshort_id
|
|
tuic
准备
查看本机 Linux 的网络拥塞控制算法
|
|
安装 acme.sh,需要修改 mail@example.com
|
|
|
|
申请证书,修改 example.com 为自己要使用的域名
|
|
安装证书,修改 example.com为自己要使用的域名
|
|
|
|
服务端
修改:
listen_port:监听端口name:用户名uuid:password:用户密码congestion_control:拥塞控制算法certificate_path:TSL 证书公钥路径key_path:TSL 证书私钥路径
|
|
客户端
修改为对应服务端的信息
server:服务器的域名或者 ipserver_port:服务器的监听端口uuid:password:服务器设置的密码congestion_control:拥塞控制算法server_name:服务器域名
|
|
hysteria2
速度很快的协议,基于 UDP,可能会被运营商 QoS
准备
生成 uuid
|
|
|
|
生成证书
|
|
服务端
替换
tag:标签listen:监听地址listen_port:监听端口name:用户名password:用户密码certificate_path:TSL 证书公钥路径key_path:TSL 证书私钥路径masquerade:HTTP3 服务器认证失败时的行为
|
|
客户端
outbound
替换对应服务端的信息
server:服务器的域名或者 ipserver_port:服务器的端口up_mbps:上传最大带宽down_mbps:下载最大带宽password:服务器设置的密码server_name:服务器域名
|
|
vless-ws-cdn-tls
作用有三:
- 隐藏服务器 IP
- 提速垃圾线路
- 拯救被墙的 IP
准备
生成 uuid
|
|
|
|
登录 cloudflare,将域名解析到服务器 IP,开启小黄云
进入 SSL/TLS 设置
- 进入概览,将连接类型改为完全或者完全严格(使用 cloudflare 提供的 15 年源服务器证书)
- 进入源服务器证书,生成一个通配符域名源服务器证书,记得保存下来,后面会用到
服务端
修改如配置所示:
|
|
uuid: 必须替换。在终端输入sing-box generate uuid可生成一个新的。server_name: 填写你在 Cloudflare 解析的域名。path: WebSocket 的路径,必须以/开头,可以是任意字符串,客户端需保持一致。
客户端
修改为对应服务端的信息
|
|