Shadowsocks client implements in Rust.
ss-rs
is using toml
as configuration file:
ss-rs -c config.toml
The templates of config file can be found in: example_config.toml.
Multiple servers is supported and will be pick according to network quality. see Server Pick
# Local bind address
bind_addr = "localhost:1080"
# Server 1 settings
[[server]]
password = "your_server_pass"
server_addr = "example.com:2000"
encrypt_method = "chacha20-ietf-poly1305"
# Server 2 settings
[[server]]
password = "your_server_pass"
server_addr = "example.com:2001"
encrypt_method = "aes-256-cfb"
build with cargo
cargo build --release
OpenSSL
is required(download), and following environment variables must be set:
- OPENSSL_DIR
- SSL_CERT_FILE
See appveyor.yml for more information.
chacha20-ietf-poly1305
Provide by ring
aes-256-cfb
Provide by rust-openssl
Run with following environment variables:
RUST_BACKTRACE=1 RUST_LOG=ss_rs=trace ./ss-rs -c config.toml
ss-rs
will do handshake to all servers and select one which is first reply.
This project is licensed under the MIT license.