Shadowsocks
Shadowsocks 与 Shadowsocks 2022 配置
经典 Shadowsocks 与 Shadowsocks 2022 分别使用不同的 protobuf 消息,通过 入站 protocol / 出站 protocol 的 Any 字段配置。
Shadowsocks(经典)
Proto:protos/proto/vx/proxy/shadowsocks/shadowsocks.proto
支持 TCP 与 UDP。
ShadowsocksCipherType
AES_128_GCM0
AES_256_GCM1
CHACHA20_POLY13052
NONE3
JSON 中使用枚举名(如 "cipherType": "CHACHA20_POLY1305")。NONE 表示不加密载荷,通常仅在与外层 TLS 等组合时使用。
ShadowsocksServerConfig
ivCheckbool
true 时启用 IV 重放检测(Bloom 过滤器),拒绝重复 IV
experimentReducedIvHeadEntropybool
实验选项:将 IV 前 6 字节映射为可打印字符,降低 IV 熵以便某些流量伪装场景
{
"@type": "type.googleapis.com/vx.proxy.shadowsocks.ShadowsocksServerConfig",
"cipherType": "CHACHA20_POLY1305",
"ivCheck": true,
"user": { "secret": "your-password" }
}ShadowsocksClientConfig
passwordstring
预共享密钥(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
methodstring
加密套件字符串(见上方支持列表)
networksNetwork[]
允许的网络(TCP、UDP 等)。为空时默认 TCP 与 UDP。
{
"@type": "type.googleapis.com/vx.proxy.shadowsocks2022.Shadowsocks2022ServerConfig",
"method": "2022-blake3-aes-128-gcm",
"user": { "secret": "base64-or-raw-key" }
}Shadowsocks2022ClientConfig
methodstring
须与服务器 method 一致
keystring
PSK / 密钥材料,与服务器 user.secret 相同
{
"@type": "type.googleapis.com/vx.proxy.shadowsocks2022.Shadowsocks2022ClientConfig",
"method": "2022-blake3-aes-128-gcm",
"key": "base64-or-raw-key"
}