Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/loggerhead/shadowsocks-rust

Oh my implementation of Shadowsocks in Rust
https://github.com/loggerhead/shadowsocks-rust

proxy rust shadowsocks socks5

Last synced: 15 days ago
JSON representation

Oh my implementation of Shadowsocks in Rust

Awesome Lists containing this project

README

        

# shadowsocks-rust
[![Build Status](https://travis-ci.org/loggerhead/shadowsocks-rust.svg?branch=master)](https://travis-ci.org/loggerhead/shadowsocks-rust)
[![Build status](https://ci.appveyor.com/api/projects/status/ti4hi7era48ltxq4?svg=true)](https://ci.appveyor.com/project/loggerhead/shadowsocks-rust)
[![crate](https://img.shields.io/crates/v/shadowsocks.svg)](https://crates.io/crates/shadowsocks)

A [rust](https://www.rust-lang.org) port of shadowsocks, based on [mio 0.5.x](https://crates.io/crates/mio).

# Install
## Cargo

```bash
cargo install shadowsocks
```

## Script

```bash
# 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 `mio` stable)
- [ ] support TCP fast open