直接答案
Shadowsocks(SS)是在本地客户端与远端服务器之间加密转发TCP和UDP流量的代理协议,不是自带节点的完整VPN服务。应区分历史stream cipher、AEAD 2017和SS2022,并核对方法、凭据、插件与客户端兼容;是否能在大陆连接取决于具体网络与部署,不能由协议名称保证。
官方资料核对:2026年11月7日。 本文介绍Shadowsocks的基础机制与传统AEAD方案,2022版另有专题。本文没有进行中国大陆跨地区、跨运营商连接实测,不提供全国可用率或速度排名。
Shadowsocks是什么?先看直接答案
Shadowsocks,简称SS,是在本地客户端与远端代理服务器之间加密转发流量的代理协议。它能处理TCP和UDP业务,但不是安装后自带节点、账号和客服的完整VPN服务。选用SS时,至少要确认两端加密方式、密钥、TCP/UDP路径及客户端接入方式;“支持SS”四个字不足以判断兼容性。Shadowsocks官方定义
对已有SS节点的用户,重点是分清旧加密、AEAD和SS2022,并核对实际客户端。对新产品开发团队,重点是密钥管理、实现维护、路由与DNS、故障定位,而不只是能不能导入一条链接。协议选择的完整框架见VPN协议技术比较。
SS怎样转发流量?客户端、服务器和目标网站各做什么?
典型连接包含三段:应用把请求交给本地代理,本地组件加密发送到SS服务器,服务器解密后连接真正的目标。返回数据沿相反方向传回。TCP按连接转发,UDP按数据报处理;目标地址可以是域名、IPv4或IPv6。这是SS的代理关系,不是把浏览器直接变成远端服务器。官方TCP与UDP流程
由此可以得出两个实际判断。第一,SS保护的代理链路不等于应用到目标的端到端加密,网站本身仍应使用HTTPS。第二,代理服务器属于需要信任的基础设施,不能因为链路加密就假设运营方无法接触任何连接信息。
“全局VPN模式”通常是客户端利用系统接口接管流量后的产品表现,不是SS协议自动完成的功能。shadowsocks-rust分别提供SOCKS、HTTP、透明代理、TUN等功能入口,其中部分属于编译选项;同样叫SS客户端,成品可能只包含一部分能力。shadowsocks-rust实现说明
旧版SS、AEAD 2017和SS2022有什么区别?
先看加密方法字段,不要按软件图标猜版本。传统AEAD示例包括aes-128-gcm、aes-256-gcm和chacha20-ietf-poly1305。AEAD同时承担数据保密与完整性验证;只有加密但缺乏适当认证,不能视为同等安全方案。AEAD官方文档
| 类别 | 识别线索 | 选型时的处理方式 |
|---|---|---|
| 历史stream cipher方案 | 如aes-256-cfb、rc4-md5 |
不为兼容旧教程而作为新部署默认值 |
| Shadowsocks AEAD 2017 | 如aes-128-gcm、chacha20-ietf-poly1305 |
确认双方实现、密钥管理与更新策略 |
| Shadowsocks 2022 | 如2022-blake3-aes-128-gcm |
按新版协议、固定长度密钥和客户端支持重新验收 |
官方已把stream cipher文档标为历史资料,并明确要求新用户使用AEAD;配置文档也指出旧stream方案不提供完整性和真实性保护。这里不应把“仍能在软件下拉菜单中选到”理解为“官方仍推荐”。历史stream cipher警告 · 官方配置说明
SS2022不是给旧AEAD名称加一个年份。规范调整了密钥要求、消息设计与重放保护,并改进UDP会话机制;但它仍不提供前向保密。关于新旧迁移、固定长度密钥与兼容检查,单独阅读Shadowsocks 2022协议详解。SIP022规范
AEAD保护什么,又没有解决什么?
传统AEAD在预共享主密钥基础上派生会话子密钥,并对分块内容进行认证加密。盐值和nonce有唯一性要求,不能由业务代码随意复用。客户端与服务器应该交给经过维护的实现处理这些细节,而不是自行删减协议校验。AEAD密钥派生与分块说明
需要同时保留三条边界。完整性验证不是完整的重放防护证明,应结合协议版本与实现检查;会话子密钥不是前向保密,SIP022明确说明此前各版同样没有这一属性;密文看起来随机不等于无法识别或不会被阻断,密码学安全与网络可达性回答的是不同问题。SIP022安全属性说明
据此,我们建议采购方把密钥生命周期写进交付要求:谁生成、如何传递、怎样撤销泄露凭据、哪些设备持有同一密钥、服务端升级由谁负责。不要只验收一个连接按钮。日志和工单也应脱敏,避免完整订阅或密钥在多个系统间流转。
SS有哪些优势,哪些能力不能默认拥有?
SS的实际价值之一是把代理转发与应用接入分开:已有支持相同方法的两端可以围绕代理链路集成,不必把用户界面与协议实现绑定在一起。另一个价值是存在多个可查文档的实现,方便开发团队检查字段与构建方式。不过,多实现生态带来的是选择空间,不是所有软件天然互通的保证。
| 关注点 | 可以合理评估的价值 | 不能直接推导的结论 |
|---|---|---|
| 协议接入 | 将SS作为客户端的一种代理出口 | 已包含会员、支付、节点调度和管理后台 |
| TCP与UDP | 对不同业务分别设计转发和测试 | 网页打开就说明游戏、语音与DNS全部正常 |
| 多种客户端实现 | 根据系统和维护要求选择实现 | 任意客户端均支持相同插件、复用和扩展 |
| 可组合传输 | 在明确兼容范围内使用插件 | 添加插件后一定更快、不可识别或长期可用 |
| 维护与交付 | 留下版本、方法和构建清单便于接手 | 使用开源软件就无需持续安全维护 |
这些是工程选型维度,不是本站性能测试结果。若团队没有处理节点、账号和更新的能力,应先确定自己需要的是单一协议组件,还是完整VPN产品。架构范围可以结合VPN节点系统完整架构核对。
SS插件、UDP over TCP和协议本身是什么关系?
SIP003定义的是插件与SS进程之间的协作接口,插件承担额外隧道传输。原始规范只转发TCP,不能把“支持SIP003”直接等同于“UDP也经过同一插件”。后续实现可能增加扩展,但必须单独确认具体实现与版本。SIP003插件规范
例如,sing-box将plugin、udp_over_tcp与multiplex列为不同配置项,并明确说明UDP over TCP与其复用选项有冲突。这些是实现提供的组合能力,不是看到ss://就能假定存在的统一协议开关。sing-box Shadowsocks出站
选择插件前,应问清它解决的具体需求:接入某种受支持传输,还是配合既有服务器配置。新增一层意味着多一套版本、参数和故障责任。没有基线结果时同时开启插件、复用和其他扩展,即使出现问题也很难确定原因。
2026年中国大陆使用SS,需要满足哪些连接条件?
不能只凭协议名称回答“现在能不能用”。我们没有该时间范围的大陆分地区实测数据。能够核实的是协议机制与实现支持;具体可达性仍要在目标网络验证。这里建议把测试拆成以下阶段,而不是看到失败就立即宣布整个协议失效。
| 阶段 | 应核对的条件 | 测试记录应留下什么 |
|---|---|---|
| 入口可达 | 正确地址、端口、网络类型与服务进程 | 时间、运营商、IPv4/IPv6、TCP或UDP |
| 协议兼容 | 两端方法、凭据及插件一致 | 客户端、内核与服务端版本 |
| 请求转发 | 应用实际进入代理、目标可达 | 测试任务、错误阶段、脱敏日志 |
| DNS与路由 | DNS请求和业务流量按预期处理 | 解析路径、分流规则、失败样例 |
| 持续运行 | 高峰、网络切换及恢复 | 中断次数、持续时间与恢复结果 |
上表是测试模板,不是已经完成的实测。一次连接成功只能证明当时的那条路径;一次连接失败也可能来自凭据、服务端资源、插件不匹配或应用未走代理。保留可回退配置,比不留记录地频繁修改多个参数更有价值。
客户端与服务端应该怎样选?
优先选择能够说明版本、来源和更新记录的实现,然后检查它是否覆盖目标平台与实际加密方法。shadowsocks-rust的功能清单区分传统AEAD、2022、非标准方法与可选编译功能;不要把项目支持清单直接当成某个下载包的完整能力。shadowsocks-rust项目文档
核对日该项目发布页展示v1.25.0为Latest,发布说明包含兼容性变化和修复记录。这只能证明所查看发布页的维护状态,不代表现有手机应用已使用该版本,更不能替代你自己的升级测试。shadowsocks-rust发布记录
配置格式也不能混抄:sing-box以method声明方法,mihomo使用cipher,两者还有各自的UDP与插件字段。图形客户端可能再包装这些字段;采购验收应检查最终传给内核的配置是否完整,而不只检查界面是否显示导入成功。mihomo Shadowsocks配置
SS、SS2022与其他代理协议应该怎么选?
如果你维护的是稳定的既有AEAD部署,先盘点客户端和服务端能力,再决定迁移,不必只因名称较新就全量切换。如果是从零构建,则应把SS2022也纳入比较,明确新旧协议兼容、密钥分发和升级成本。本篇不把兼容旧设备作为长期保留不安全加密方式的理由。
与TLS代理方案比较时,SS的预共享密钥路线与TLS证书验证路线有不同运维责任。可以继续阅读Trojan协议介绍与AnyTLS协议详解,分别检查认证、承载和客户端条件。若比较QUIC路线,则阅读Hysteria 2原理与使用条件,避免把UDP路径问题与加密算法问题混为一谈。
最终选择应服务于真实任务:需要哪些设备、哪些应用、怎样维护和回退。对于自有产品,建议先完成一组可重复的连接与故障验收,再将协议接入扩展为产品能力。相关交付范围见VPN协议与SDK开发。
Shadowsocks常见问题
Shadowsocks和VPN是一回事吗?
不是同一个层次。SS是代理协议;客户端可以通过TUN等系统接入方式呈现VPN式体验,但账号、全设备路由、节点运营和更新体系需要另行实现。
2026年SS在大陆一定能用吗?
不能保证。应验证具体入口、网络、协议方法和客户端组合。本文核对官方技术资料,没有全国范围连接测试,不能据此推导各地可用率。
老教程的aes-256-cfb还能继续当默认方案吗?
不建议。官方将这类stream cipher方案标为历史且不安全的设计,新部署应使用受维护实现支持的AEAD方案,并评估SS2022兼容范围。
SS支持UDP,为什么语音或游戏还是失败?
协议能力不代表整条路径已经配置完成。还需要检查客户端、服务端UDP开关、网络路径、插件承载和应用是否进入代理;网页TCP正常不足以证明UDP业务正常。
ss链接的Base64编码能保护密码吗?
不能。SIP002明确区分编码与加密;分享链接应按凭据管理,不能因为看不懂字符就公开发布截图或二维码。SIP002 URI规范
Shadowsocks有前向保密吗?
传统SS和SS2022均不提供这一属性。SIP022明确列出了这个边界;会话子密钥不等于主密钥泄露后历史通信仍自动受到保护。
SS2022只是更换一个加密名称吗?
不是。它涉及协议、密钥要求与消息处理变化。迁移前应核对双方支持并做灰度验证,不能只修改名称而保留不符合新版要求的旧凭据。
官方技术与平台资料
- Shadowsocks定义及TCP、UDP流程Shadowsocks
- AEAD机制与密钥派生Shadowsocks
- 历史stream cipher安全警告Shadowsocks
- 官方配置与加密方式说明Shadowsocks
- SIP022与前向保密边界Shadowsocks
- SIP003插件及TCP范围Shadowsocks
- SIP002链接编码不等于加密Shadowsocks
- shadowsocks-rust实现与可选功能Shadowsocks
- shadowsocks-rust发布记录Shadowsocks
- sing-box Shadowsocks出站sing-box
- mihomo Shadowsocks配置mihomo
项目评估
把SS协议支持转化为可验收的客户端能力
先明确平台、加密方法、密钥生命周期与节点条件,再验收TCP、UDP、DNS、路由和版本更新。
