Skip to content

Latest commit

 

History

History
76 lines (65 loc) · 2.5 KB

File metadata and controls

76 lines (65 loc) · 2.5 KB

shadowsocks-rust

Build Status Build status crate

A rust port of shadowsocks, based on mio 0.5.x.

Build

Linux & macOS

# 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

Windows

  1. Install rust with MSVC ABI: https://www.rust-lang.org/en-US/downloads.html

  2. Install visual C++ build tools: http://landinghub.visualstudio.com/visual-cpp-build-tools

  3. Download source code and enter the root directory of it.

  4. Run following commands:

    cargo build --release --features sslocal

    You will found sslocal at target\release\ssserver.

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 X
Windows compatible very slow 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 mio stable)
  • support TCP fast open