1. Shadowsocks

本节讲述 Shadowsocks 的配置。

什么?这不是 V2Ray 吗?怎么说配置 Shadowsocks 呢?

骚年别紧张。V2Ray 集成有 Shadowsocks 模块的,用 V2Ray 配置成 Shadowsocks 服务器或者 Shadowsocks 客户端都是可以的,兼容 Shadowsocks-libev。

配置与 VMess 大同小异,客户端服务器端都要有入口和出口,只不过是协议(protocol)和相关设置(settings)不同,不作过多说明,直接给配置,如果你配置过 Shadowsocks,对比之下就能够明白每个参数的意思(配置还有注释说明呢)。

1.1. 配置

1.1.1. 客户端配置

  1. {
  2. "inbounds": [
  3. {
  4. "port": 1080, // 监听端口
  5. "protocol": "socks", // 入口协议为 SOCKS 5
  6. "sniffing": {
  7. "enabled": true,
  8. "destOverride": ["http", "tls"]
  9. },
  10. "settings": {
  11. "auth": "noauth" // 不认证
  12. }
  13. }
  14. ],
  15. "outbounds": [
  16. {
  17. "protocol": "shadowsocks",
  18. "settings": {
  19. "servers": [
  20. {
  21. "address": "serveraddr.com", // Shadowsocks 的服务器地址
  22. "method": "aes-128-gcm", // Shadowsocks 的加密方式
  23. "ota": true, // 是否开启 OTA,true 为开启
  24. "password": "sspasswd", // Shadowsocks 的密码
  25. "port": 1024
  26. }
  27. ]
  28. }
  29. }
  30. ]
  31. }

1.1.2. 服务器配置

  1. {
  2. "inbounds": [
  3. {
  4. "port": 1024, // 监听端口
  5. "protocol": "shadowsocks",
  6. "settings": {
  7. "method": "aes-128-gcm",
  8. "ota": true, // 是否开启 OTA
  9. "password": "sspasswd"
  10. }
  11. }
  12. ],
  13. "outbounds": [
  14. {
  15. "protocol": "freedom",
  16. "settings": {}
  17. }
  18. ]
  19. }

1.1.3. 注意事项

  • 因为协议漏洞,Shadowsocks 已放弃 OTA(一次认证) 转而使用 AEAD,V2Ray 的 Shadowsocks 协议已经跟进 AEAD,但是仍然兼容 OTA。建议使用 AEAD (method 为 aes-256-gcm、aes-128-gcm、chacha20-poly1305 即可开启 AEAD), 使用 AEAD 时 OTA 会失效;
  • 可以搭配 simple-obfs 使用,具体我没试过,有这个需要的就自己研究吧(Shadowsocks 已经弃用 simple-obfs);
  • 可以使用 V2Ray 的传输层配置(详见高级篇),但如果这么设置了将与原版 Shadowsocks 不兼容(兼容 Shadowsocks 新增的 v2ray-plugin插件)。

1.1.4. 更新历史

  • 2018-02-09 AEAD 更新
  • 2018-09-03 描述更新
  • 2018-11-09 跟进 v4.0+ 的配置格式
  • 2019-01-19 v2ray-plugin