VXVX Docs

Shadowsocks

Shadowsocks 与 Shadowsocks 2022 配置

经典 Shadowsocks 与 Shadowsocks 2022 分别使用不同的 protobuf 消息,通过 入站 protocol / 出站 protocolAny 字段配置。

Shadowsocks(经典)

Proto:protos/proto/vx/proxy/shadowsocks/shadowsocks.proto

支持 TCP 与 UDP。

ShadowsocksCipherType

AES_128_GCM
0
AES_256_GCM
1
CHACHA20_POLY1305
2
NONE
3

JSON 中使用枚举名(如 "cipherType": "CHACHA20_POLY1305")。NONE 表示不加密载荷,通常仅在与外层 TLS 等组合时使用。

ShadowsocksServerConfig

cipherType

加密算法

ivCheck
bool

true 时启用 IV 重放检测(Bloom 过滤器),拒绝重复 IV

user

单个用户;secret 为 Shadowsocks 密码

experimentReducedIvHeadEntropy
bool

实验选项:将 IV 前 6 字节映射为可打印字符,降低 IV 熵以便某些流量伪装场景

{
  "@type": "type.googleapis.com/vx.proxy.shadowsocks.ShadowsocksServerConfig",
  "cipherType": "CHACHA20_POLY1305",
  "ivCheck": true,
  "user": { "secret": "your-password" }
}

ShadowsocksClientConfig

cipherType

须与服务器 cipherType 一致

password
string

预共享密钥(PSK),与服务器 user.secret 相同

{
  "@type": "type.googleapis.com/vx.proxy.shadowsocks.ShadowsocksClientConfig",
  "cipherType": "CHACHA20_POLY1305",
  "password": "your-password"
}

Shadowsocks 2022

Proto:protos/proto/vx/proxy/shadowsocks2022/shadowsocks2022.proto

基于 sing-shadowsocks 的 AEAD 2022 实现。支持的 method

  • 2022-blake3-aes-128-gcm — PSK 16 字节
  • 2022-blake3-aes-256-gcm — PSK 32 字节
  • 2022-blake3-chacha20-poly1305 — PSK 32 字节

PSK 可为合法 base64(长度满足要求),否则核心会用 BLAKE3 从明文密码派生所需长度。

Shadowsocks2022ServerConfig

method
string

加密套件字符串(见上方支持列表)

user

单个用户;secret 为 PSK(base64 或明文,客户端侧处理逻辑相同)

networks
Network[]

允许的网络(TCPUDP 等)。为空时默认 TCPUDP

{
  "@type": "type.googleapis.com/vx.proxy.shadowsocks2022.Shadowsocks2022ServerConfig",
  "method": "2022-blake3-aes-128-gcm",
  "user": { "secret": "base64-or-raw-key" }
}

Shadowsocks2022ClientConfig

method
string

须与服务器 method 一致

key
string

PSK / 密钥材料,与服务器 user.secret 相同

{
  "@type": "type.googleapis.com/vx.proxy.shadowsocks2022.Shadowsocks2022ClientConfig",
  "method": "2022-blake3-aes-128-gcm",
  "key": "base64-or-raw-key"
}

相关

评论