代理协议 · Clash文档

Snell

Clash 生态 Snell 出站配置参考,以当前 Mihomo 字段为准,核对 psk、version、udp、obfs-opts 与 smux,涵盖最小 YAML、版本兼容和认证排查。

  • psk
  • version
  • udp
  • obfs-opts
  • reuse
代理协议

Snell 节点与版本机制

客户端使用预共享密钥 psk 建立 Snell 出站,并按 version 选择对应的报文格式。服务端地址、端口、PSK 和版本必须来自同一份节点配置。

版本会直接决定 UDP 与连接复用能力。未填写 version 时,当前实现为兼容旧配置默认使用 v1,因此不应把版本字段当作可忽略的展示信息。

最小必填字段

Snell 的最小配置由四个通用连接字段和一个 PSK 组成。建议显式填写版本,以免落入默认 v1。

name必填
节点名称,用于策略组与规则引用。
type必填
固定填写 snell
server必填
Snell 服务端域名或 IP。
port必填
Snell 服务端监听端口。
psk必填
Snell 预共享密钥,必须与服务端完全一致。
version建议显式填写
支持 1、2、3、4、5;省略时当前实现默认使用 1。

版本、UDP 与连接复用

当前字段参考把 UDP 和 reuse 的可用范围按 Snell 版本划分。当前实现会利用 v5 服务端对 v4 客户端的向后兼容,按 v4 客户端路径处理 v5 配置。

Snell 版本能力
versionUDPreuse 配置说明
1不支持不适用未填写 version 时的当前默认值
2不支持始终复用v2 固定使用连接复用,reuse 开关不生效
3支持不适用可开启 udp: true
4支持支持reuse 默认 false,可按服务端能力开启
5支持支持当前实现通过 v4 客户端兼容 v5 服务端
udp版本相关
仅 v3、v4、v5 可开启;v1 或 v2 开启时会初始化失败。
reuse版本相关
官方配置项用于 v4、v5 连接复用,默认 false

混淆模式与专属字段

obfs-opts 用于配置 Snell 外层混淆。不同 mode 的字段集合不同,只填写当前服务端实际启用的模式和参数。

Snell 混淆模式
mode主要字段边界
httphostHTTP 外观混淆,host 应与服务端配置一致
tlshostsimple-obfs TLS 外观,不等同于标准 HTTPS 代理
shadow-tlshostpasswordversionalpnShadow TLS 版本支持 1、2、3
restlshostpasswordversion-hintrestls-scriptversion-hint 可使用 tls12 或 tls13
jlshostusernamepasswordalpn认证字段必须与 JLS 服务端一致
obfs-opts按需
Snell 混淆配置对象,未使用混淆时可以省略。
client-fingerprint按需
用于 Shadow TLS、Restls 或 JLS 等 TLS 外观模式,官方默认值为 Chrome。
obfs-opts.host按需
混淆使用的域名外观,应按服务端给出的值填写。
obfs-opts.password模式相关
Shadow TLS 或 Restls 模式的外层密码,不等同于 Snell psk

Snell v4 混淆示例与排查

示例显式指定 v4 并开启 UDP。这里使用 simple-obfs TLS 外观;如果服务端没有启用混淆,应删除整个 obfs-opts

  • 认证失败时先核对 psk,不要把 Shadow TLS 或 Restls 的外层密码填入 psk
  • TCP 可用而 UDP 初始化失败时,检查 version 是否为 3、4 或 5。
  • 混淆握手失败时,逐项核对 mode、host、外层密码、版本和客户端指纹。
YAML
proxies:
  - name: snell-node
    type: snell
    server: server.example.com
    port: 44046
    psk: your-psk
    version: 4
    udp: true
    obfs-opts:
      mode: tls
      host: example.com