Skip to content

Latest commit

 

History

History
21 lines (13 loc) · 1 KB

README.md

File metadata and controls

21 lines (13 loc) · 1 KB

Shadowsocks written in Zig

Client and server implementation of Shadowsocks 2022 written in Zig.

Shadowsocks 2022 is an encrypted proxy protocol utilizing a pre-shared key and was designed to be hard to detect to avoid government censorship.

Features

The main function will run a server. The first argument will be used for the path to the json config (see the configs directory for examples). If no argument is passed, the environment variables SHADOWSOCKS_PORT, SHADOWSOCKS_KEY and SHADOWSOCKS_METHOD will be used and all need to be set.

The client is currently just a struct with an interface similar to sockets, see the tests for how to use it.

The following encryption methods are currently supported:

  • Blake3Aes128Gcm
  • Blake3Aes256Gcm
  • Blake3ChaCha8Poly1305
  • Blake3ChaCha12Poly1305
  • Blake3ChaCha20Poly1305

UDP is not yet supported.