Crate ss_rs

source ·
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