shadowsocks-rust
shadowsocks-rust copied to clipboard
Oh my implementation of Shadowsocks in Rust
shadowsocks-rust
A rust port of shadowsocks, based on mio 0.5.x.
Install
Cargo
cargo install shadowsocks
Script
# uncomment to compile with OpenSSL support
# export SS_FEATURES=openssl
curl https://raw.githubusercontent.com/loggerhead/shadowsocks-rust/master/build.sh -sSf | sh
./sslocal --version
./ssserver --version
Compare to Python Version
Features
| Rust | Python (2.9.0) | |
|---|---|---|
| TCP & UDP support | √ | √ |
| TCP fast open | wait mio support |
√ |
| Destination IP blacklist | X | √ |
| One time auth | √ | √ |
| Multiple encryption methods | √ | √ |
| Async UDP support | √ | X |
| IPv6 support | untested | √ |
| Windows compatible | buggy | need install crypto libs |
| Multiple servers support | √ | X |
Encryption Methods
Both python and rust version supported
- aes-128-ctr
- aes-192-ctr
- aes-256-ctr
- aes-128-cfb
- aes-256-cfb
- aes-128-cfb1
- aes-256-cfb1
- aes-128-cfb8
- aes-256-cfb8
- salsa20
- chacha20
- rc4
Without OpenSSL
- aes-128-ctr
- aes-192-ctr
- aes-256-ctr
- rc4
- hc128
- salsa20
- xsalsa20
- chacha20
- xchacha20
- sosemanuk
TBD
- [ ] test IPv6
- [ ] fix very slow problem on windows (wait
miostable) - [ ] support TCP fast open