Expand description

An unofficial shadowsocks implementation that can work with official shadowsocks.

Features

Get Started

Server

Start a server listening on port 5421 using chacha20-ietf-poly1305 AEAD cipher with password ocfbnj.

ss-rs -s 0.0.0.0:5421 -k ocfbnj -m chacha20-ietf-poly1305

Client

Start a client connecting to the ocfbnj.cn.

The client listens on port 1080 for incoming SOCKS5 connections and uses chacha20-ietf-poly1305 AEAD cipher with password ocfbnj.

ss-rs -s ocfbnj.cn:5421 -l localhost:1080 -k ocfbnj -m chacha20-ietf-poly1305

How to build

Prerequisites

  • Cargo installed (See this).

Building with Cargo

  1. Clone

    git clone https://github.com/ocfbnj/ss-rs
    cd ss-rs
  2. Build

    cargo b --release

    Now you can find the binary in ./target/release/ss-rs.

Modules

Access control list.

Shadowsocks context.

Encryption and decryption.

Networking facilities for shadowsocks communication.

SIP 003 plugin implementation.

Networking security facilities for shadowsocks communication.

SOCKS5 protocol implementation.

Shadowsocks tcp services.

SS-URL parser