pegasocks icon indicating copy to clipboard operation
pegasocks copied to clipboard

[Feature Request] add support for shadowsocks(R)

Open mokhtarabadi opened this issue 3 years ago • 2 comments

In Iran shadowsocks is very useful, did you have any plan to implement this? because there is shadowsocks c version (libev) i think it can be done easily also shadowsocksR is a good option, but not important

mokhtarabadi avatar Sep 12 '21 19:09 mokhtarabadi

Yeah, since there're still many people using it, I think I will add shadowsocks support later. (I've used shadowsocks for a while, and in our country the GFW seems to have the ability to detect the protocol, then I quit it and use other protocols, so I did not implement it currently)

chux0519 avatar Sep 13 '21 06:09 chux0519

after PR: https://github.com/chux0519/pegasocks/pull/21 TCP mode is working now, all AEAD ciphers in http://shadowsocks.org/en/wiki/AEAD-Ciphers.html is supported, for stream cipher, only aes-128-cfb is implemented.

here is a example config

 {
      "server_address": <HOST>,
      "server_type": "shadowsocks",
      "server_port": <PORT>,
      "password": <PASSWORD>,
      "method": "aes-128-cfb/aes-128-gcm/aes-256-gcm/chacha20-poly1305"
    }

PS: In this PR, I cleaned the code and restructured the source files for better maintenance purpose. so many things changed, use v0.1.0 branch if you have compatibility issues in existing projects

TODOs

  • [ ] UDP
  • [ ] plugin

chux0519 avatar Sep 27 '21 10:09 chux0519