最近更新:2026-09-18

sing-box推荐

当前主路径;仍需按复核周期检查官方维护与兼容状态。

复核于 2026-09-02官方来源
VLESS + Reality推荐

原名 / 别名:Reality

当前主路径;仍需按复核周期检查官方维护与兼容状态。

复核于 2026-09-18官方来源
Hysteria 2推荐

原名 / 别名:Hysteria2、HY2

官方文档与版本仍在维护,适合 UDP 可用的弱网和高丢包场景,但不应作为唯一协议。

复核于 2026-09-18替代:VLESS + Reality(UDP 受限时)官方来源
AnyTLS维护

sing-box 仍提供官方入站实现,适合作为 TCP 备用;客户端覆盖不如 Reality,暂不作为新手主路径。

复核于 2026-09-18替代:VLESS + Reality(主力)官方来源
TUIC v5维护

原名 / 别名:TUIC

sing-box 仍提供 TUIC v5 入站实现,保留为 QUIC 备用;本站没有独立教程和长期实测,不进入主路径。

复核于 2026-09-18替代:Hysteria 2(更完整教程)或 VLESS + Reality(主力)官方来源
SING-BOX STACK

sing-box 能在一个进程中管理多种入站,但“全家桶”不等于应全部启用。先选一个满足网络、TLS 和客户端条件的入站,校验成功后再增加第二个。

  • 官方路径从 sing-box 官方仓库或安装脚本部署,自己维护 JSON 与 systemd。
  • 第三方路径Fscarmen 脚本可生成多协议和订阅,但不是 SagerNet 官方组件。
  • 逐个验证每次只增加一个入站,并分别核对配置、监听、证书、防火墙和客户端。
💡 阿信避坑实测提醒(2026 稳定防失联建议):
无论选用何种客户端配置,科学上网最核心的基石在于节点线路抗封锁质量与服务商冗余。阿信实测建议:
1. 主力日常与流媒体/AI 访问:首推 榴莲云 (IEPL专线),原生纯净 IP 晚高峰 4K 零卡顿,可使用独家专属 7 折优惠码 ll88(支持月付折后仅 ¥16.8/月);
2. 防失联备用容灾方案:建议同步备用 月之暗面 (Moonshot),25元包年 / 5元月付,全节点 1 倍率不限速不限设备数,性价比极高;
3. 更多经过用户确认核验的高速专线,请查阅 2026 机场推荐天梯榜中心。

先选协议,不先选数量 ​

入站网络前提身份 / TLS 材料版本与安全提示
VLESS + Reality所选 TCP 端口可达UUID、Reality 公私钥、Short ID、握手目标两端字段必须匹配;常见部署不需要自己的证书
Hysteria2所选 UDP 端口可达密码、TLS 配置TLS 为必需项;1.14 起另有 Gecko、bbr_profile 与 realm,都不是默认项
TUIC v5所选 UDP 端口可达UUID、密码、TLS 配置默认拥塞控制为 cubic;官方建议关闭 0-RTT
AnyTLS所选 TCP 端口可达密码、TLS 配置入站自 sing-box 1.12.0 提供;padding_scheme 先保留默认

协议名不提供固定“抗封”或“速度”分数。选择时优先排除不满足的前提,再在同一 VPS、同一路线和同一目标任务下做单变量复测。

路线一:官方安装 ​

官方 Package Manager 文档 提供软件源、手动脚本和 systemd 管理方式。下面沿用仓库既有的“下载、检查、执行”流程:

bash
curl -fsSL https://sing-box.app/install.sh -o /tmp/install-sing-box.sh
less /tmp/install-sing-box.sh
bash /tmp/install-sing-box.sh
sing-box version

sing-box v1.14.0 已于 2026-08-31 成为 stable。官方 Linux 软件源和 Docker 另有 beta、testing、oldstable 轨道;生产环境应明确选择 stable 或已验证版本。

从 1.13 升级前先阅读 v1.14.0 Release Notes 与 Migration,备份配置并在重启前用新二进制再次检查:

bash
sing-box version
cp -a /etc/sing-box "/etc/sing-box.backup-$(date +%Y%m%d-%H%M%S)"
sing-box check -c /etc/sing-box/config.json

# 按已选择的软件源 / 固定版本完成升级后
sing-box version
sing-box check -c /etc/sing-box/config.json
systemctl restart sing-box
systemctl status sing-box --no-pager

默认配置通常位于 /etc/sing-box/config.json,systemd 服务名为 sing-box。安装后先查看而不是立即覆盖现有配置:

bash
systemctl status sing-box --no-pager
journalctl -u sing-box -n 50 --no-pager

路线二:Fscarmen 第三方脚本 ​

Fscarmen sing-box 全家桶 可以生成多协议订阅,但不是官方安装器。脚本需要高权限;运行前阅读当前 commit 和安装脚本。

bash
curl -fsSL https://raw.githubusercontent.com/fscarmen/sing-box/main/sing-box.sh -o /tmp/fscarmen-sing-box.sh
less /tmp/fscarmen-sing-box.sh
bash /tmp/fscarmen-sing-box.sh

只启用需要的入站,关闭不用的 Web 服务和端口,并在升级前备份。v2rayN Hysteria2 端口跳跃字段缺失时,更新脚本后重新生成,不要同时手改脚本状态。

生成凭证 ​

bash
# VLESS / TUIC UUID
sing-box generate uuid

# Reality 公私钥
sing-box generate reality-keypair

# Reality Short ID
sing-box generate rand --hex 8

# Hysteria2 / TUIC / AnyTLS 密码示例
openssl rand -base64 24

Reality Private Key 只放服务端,Public Key 给客户端。不同入站和用户使用不同凭证,便于单独撤销。

TLS 证书边界 ​

Hysteria2、TUIC 和 AnyTLS 入站都需要 TLS 配置。可以使用外部证书文件或当前官方支持的 certificate provider;申请与续期方式取决于证书工具和 challenge 类型,并不总是要求公开 80 端口。

sing-box 1.14.0 已弃用 TLS 配置里的内联 acme 字段,并计划在 1.16.0 移除。新配置应使用 certificate provider 或外部证书管理流程,并确保续期后 sing-box 能重新加载证书。

Reality 的常见服务端配置使用握手目标与密钥,不使用自己的证书。它不是“借用或窃取目标证书”的操作描述。

手动配置 Reality 入站 ​

下面示例只演示当前 sing-box VLESS 与 Reality 字段,不同时塞入四种协议。替换所有占位值,并以 VLESS 入站 与 TLS / Reality 字段 的当前文档为准:

json
{
  "log": {
    "level": "info",
    "timestamp": true
  },
  "inbounds": [
    {
      "type": "vless",
      "tag": "vless-reality",
      "listen": "::",
      "listen_port": 443,
      "users": [
        {
          "uuid": "你的UUID",
          "flow": "xtls-rprx-vision"
        }
      ],
      "tls": {
        "enabled": true,
        "server_name": "你的握手目标域名",
        "reality": {
          "enabled": true,
          "handshake": {
            "server": "你的握手目标域名",
            "server_port": 443
          },
          "private_key": "你的PrivateKey",
          "short_id": ["你的ShortID"]
        }
      }
    }
  ],
  "outbounds": [
    {
      "type": "direct",
      "tag": "direct"
    }
  ]
}

若客户端不支持 xtls-rprx-vision,不要只删除一端的 flow;应按两端当前文档选择一致组合。

增加其他入站 ​

Reality 跑通后,再从官方页面复制单个入站结构,并使用新的端口和凭证:

  • Hysteria2 入站:需要 UDP、用户密码和 TLS。官方 userpass 要写成 用户名:密码。Gecko、bbr_profile 和 realm 都不是默认项。
  • TUIC 入站:需要 UUID、密码和 TLS;先保留默认 cubic 与关闭的 0-RTT。
  • AnyTLS 入站:需要用户密码、TLS 和足够新的客户端;先保留默认 padding_scheme。

不要复制旧文章中的整份多协议 JSON。版本升级时,先查看 sing-box changelog 和各字段的 Deprecated 标记。

校验、启动与放行端口 ​

每次修改只增加一个入站,然后执行:

bash
sing-box check -c /etc/sing-box/config.json
systemctl restart sing-box
systemctl status sing-box --no-pager
journalctl -u sing-box -n 100 --no-pager
ss -lntup

再按实际监听分别放行 TCP 或 UDP。以下仅为占位示例,不要照抄未使用端口:

bash
ufw allow 你的Reality端口/tcp
ufw allow 你的Hysteria2端口/udp
ufw reload

本机 UFW、云安全组和客户端端口必须一致。ss 没有监听时先修服务配置;监听正常但外部不可达时再查防火墙和网络路径。

客户端配置 ​

客户端需要逐项匹配服务端:

  • VLESS Reality:地址、端口、UUID、flow、Public Key / password、Short ID、server name
  • Hysteria2:地址、UDP 端口、密码、TLS server name 与证书信任;官方 userpass 需写成完整 用户名:密码
  • TUIC:地址、UDP 端口、UUID、密码、TLS 与拥塞控制兼容性
  • AnyTLS:地址、TCP 端口、密码、TLS server name 与版本支持

iOS / macOS 和 Android 客户端的当前分发状态见 iOS 客户端对比 与 Android 客户端对比。不要从名称相似的镜像或第三方下载站安装。

常见问题排查 ​

服务启动失败 ​

先运行 sing-box check,再看 systemd 日志。语法通过但无法监听时,用 ss -lntup 检查端口冲突和协议类型。

Reality 无法连接 ​

外部 TCP 端口可达且日志有请求时,核对 UUID、flow、Public Key、Short ID、server name 和握手目标。完全没有服务端日志时,先查地址、端口、防火墙和接入网。

Hysteria2 / TUIC 无法连接 ​

不要直接归因于“运营商限制 UDP”。先确认服务监听 UDP、主机与云防火墙放行、证书有效、客户端端口一致,再换一个接入网重复测试。升级 1.14 后仅 Hysteria2 TLS 握手失败时,还要核对客户端默认 Chrome QUIC fingerprint 与 Ed25519 证书的兼容限制。

速度慢 ​

不要先套用 BBR 或 sysctl 模板。固定服务器、时间和目标任务,分别记录 TCP / UDP 候选的成功率、延迟、吞吐与日志;只有单变量复测能稳定复现差异时再调整拥塞控制。

怀疑 IP 不可达 ​

单次 timeout、ICMP 丢包或某个 UDP 端口失败都不能确认 IP 被封锁。按 VPS IP 被墙排障 检查服务、主机防火墙、云安全组、服务商状态和多接入网结果。

安全建议 ​

  • 配置文件、订阅 URL、UUID、密码和私钥不得进入公开仓库。
  • 更新前备份 /etc/sing-box/,检查配置后再重启。
  • 只开放实际使用的端口;订阅入口和管理入口采用访问控制。
  • 保留 VPS 控制台或第二条管理路径,避免一次防火墙修改导致失联。

推荐阅读 ​