#shadowsocks #proxy #server #udp #aead #version #plugin

bin+lib ss-light

轻量级 shadowsocks 实现

1 个不稳定版本

0.1.0 2022 年 5 月 3 日

#10 in #shadowsocks

Apache-2.0

65KB
1.5K SLoC

shadowsocks 轻量级实现(服务器端)

使用 Rust 编写的代理工具。

构建

git clone https://github.com/kirito41dd/ss-light.git
cd ss-light && cargo test
cargo build --release
./target/release/server --version

用法

使用 config.toml 运行

./server -c config.toml
passwd = "123456"
method = "aes-256-gcm"
bind_addr = "0.0.0.0"
bind_port = 6789
timeout = 2000         # ms, timeout for tcp proxy handshake and tcp connect
log_level = "info"     # error warn info debug trace
console_log = true
# file_log_dir = "applog/" # if no set, don't log to file
udp_capacity = 1000  # udp relay worker pool size, one proxy req one worker
udp_expiry_time = 30 # sec, expiration time for udp relay worker keep alive
# [plugin]
# name = "v2ray-plugin"
# opts = "server"
# args = []

或使用以下命令覆盖配置

./server -c config.toml -l 127.0.0.1 -p 1080 -k <a-secure-password>

如果没有使用 -c,默认配置文件是 $pwd/config.toml

更多用法

./server -h

使用 Docker 快速开始

提示:使用 <ctrl-p><ctrl-q> 退出容器但保持其运行

推荐使用 v2ray-plugin

使用默认配置但指定密码

docker run --rm -it -p 8888:6789/tcp -p 8888:6789/udp kirito41dd/ss-light -k passwd123

或使用自定义配置文件启动

  1. 在主目录中创建新的配置目录,然后添加 config.toml 文件
    mkdir $HOME/.ss-light && cd $HOME/.ss-light
    touch config.toml
    
  2. 像这里一样编辑 config.toml here
  3. 运行 Docker
    docker run --rm -it -v $HOME/.ss-light:/app -p 8888:6789/tcp -p 8888:6789/udp kirito41dd/ss-light
    

使用 v2ray-plugin: (websocket)

docker run --rm -it -p 8888:6789/tcp -p 8888:6789/udp kirito41dd/ss-light -k passwd123 --plugin v2ray-plugin --plugin-opts server

使用其他 SIP003 插件

  1. 例如,使用自定义配置文件启动,将插件下载到 $HOME/.ss-light
  2. 启动
    docker run --rm -it -v $HOME/.ss-light:/app -p 8888:6789/tcp -p 8888:6789/udp kirito41dd/ss-light --plugin=/app/<your-plugin>
    

功能

  • Shadowsocks AEAD
    • AES_256_GCM
  • TCP 中继
  • UDP 中继
  • 插件
    • v2ray-plugin

依赖项

~13–22MB
~396K SLoC