跳转至

Snell

自 sing-box 1.14.0 起

结构

{
  "type": "snell",
  "tag": "snell-out",

  "server": "127.0.0.1",
  "server_port": 1080,
  "version": 4,
  "psk": "password",
  "userkey": "",
  "identity": false,
  "reuse": false,
  "network": "tcp",
  "obfs_mode": "",
  "obfs_host": "",

  "tls": {},
  "transport": {},

  ... // 拨号字段
}

版本 6 结构

{
  "type": "snell",
  "tag": "snell-out",

  "server": "127.0.0.1",
  "server_port": 1080,
  "version": 6,
  "psk": "password",
  "userkey": "",
  "reuse": false,
  "network": "tcp",
  "mode": "",

  ... // 拨号字段
}

字段

server

必填

服务器地址。

server_port

必填

服务器端口。

version

必填

Snell 协议版本,4 6 之一。

版本 4 支持 HTTP 混淆(obfs_mode / obfs_host);版本 6 以流量整形(mode) 取而代之,并要求 psk 长度为 12 到 255 字节。

Note

由于我们有意不支持 Snell v5 的 QUIC 代理模式,v5 的线路协议实际上与 v4 没有区别, 因此不提供独立的 v4 服务器和 v5 客户端。

psk

必填

预共享密钥。

userkey

用户密钥,用于向多用户服务器进行认证。

identity

仅版本 4

启用 oixCloud 服务器使用的非标准 Snell 身份标头。

身份值为 BLAKE3-512(psk) 的前 16 字节。启用后,会在 Snell 初始 salt 后插入 DLSNID01 和身份值。此选项默认关闭;连接使用 oixCloud 专有 Snell ECH-TLS 扩展的服务器时, 必须由用户显式启用。

reuse

启用连接复用(Snell v2 CONNECT 命令)。

network

启用的网络协议。

tcpudp

默认所有。

obfs_mode

仅版本 4

HTTP 混淆模式,none http 之一。

默认为 none

obfs_host

仅版本 4

obfs_modehttp 时发送的 HTTP Host 头。

默认为 bing.com

tls

仅版本 4

TLS 配置,参阅 TLS

用于 oixCloud 专有 Snell ECH-TLS 扩展时,必须启用 TLS,并将 ech.enabled 设为 true

transport

仅版本 4

V2Ray 传输配置,参阅 V2Ray 传输层

用于 oixCloud 专有 Snell ECH-TLS 扩展时,仅支持具有非空 path 的 WebSocket 传输,且不能与 obfs_mode 组合使用。

最终协议栈为运行于 TLS with ECH WebSocket 之上的 Snell v4,不会向 Snell 线路协议添加额外字节。

示例:

{
  "type": "snell",
  "tag": "snell-ech",
  "server": "server.example.com",
  "server_port": 443,
  "version": 4,
  "psk": "password",
  "identity": true,
  "reuse": true,
  "tls": {
    "enabled": true,
    "server_name": "public.example.com",
    "ech": {
      "enabled": true,
      "config": [
        "-----BEGIN ECH CONFIGS-----",
        "...",
        "-----END ECH CONFIGS-----"
      ]
    },
    "utls": {
      "enabled": true,
      "fingerprint": "chrome"
    }
  },
  "transport": {
    "type": "ws",
    "path": "/snell",
    "headers": {
      "Host": "tunnel.example.com"
    }
  }
}

mode

仅版本 6

流量整形模式,default unshaped unsafe-raw 之一。

默认为 default

拨号字段

参阅 拨号字段