Sign inSign up

cary17/shadowsocks-rust

By cary17

•Updated about 1 month ago

Image
0

3.9K

cary17/shadowsocks-rust repository overview

⁠Shadowsocks-rust server image

这是基于官方 ghcr.io/shadowsocks/ssserver-rust⁠ 的单一派生镜像。

  • 仅提供 Shadowsocks 服务端,不再提供 Debian、客户端或 arm/v7 变体。
  • 发布平台:linux/386、linux/amd64、linux/arm64。
  • Dockerfile 不内置固定的上游版本;CI 会检测上游最新 Release,解析并固定对应官方镜像 digest,然后通过 BASE_IMAGE 传入构建。
  • 镜像标签仅有:vX.Y.Z 和 latest,同时发布至 GHCR 与 Docker Hub:
    • ghcr.io/<owner>/shadowsocks-rust
    • <dockerhub-username>/shadowsocks-rust

⁠使用环境变量启动

docker run -d \
  --name shadowsocks-rust \
  --restart unless-stopped \
  -p 8388:8388/tcp \
  -p 8388:8388/udp \
  -e SS_SERVER_PORT=8388 \
  -e SS_PASSWORD='replace-with-a-strong-password' \
  -e SS_METHOD=aes-256-gcm \
  ghcr.io/cary17/shadowsocks-rust:v1.24.0

当 /etc/shadowsocks-rust/config.json 不存在时,入口脚本会使用环境变量安全生成它。生成的配置文件权限为 0600。若你挂载了已有配置文件,入口脚本不会覆盖它。

⁠多端口服务端
docker run -d \
  --name shadowsocks-rust \
  --restart unless-stopped \
  -p 8388:8388/tcp -p 8388:8388/udp \
  -p 8389:8389/tcp -p 8389:8389/udp \
  -e SS_SERVER_PORT_1=8388 \
  -e SS_PASSWORD_1='first-strong-password' \
  -e SS_METHOD_1=aes-256-gcm \
  -e SS_SERVER_PORT_2=8389 \
  -e SS_PASSWORD_2='second-strong-password' \
  -e SS_METHOD_2=chacha20-ietf-poly1305 \
  ghcr.io/cary17/shadowsocks-rust:v1.24.0

仅识别带纯数字后缀的变量,例如 SS_SERVER_PORT_1;SS_SERVER_PORT_TEST 会被忽略。

⁠使用配置文件

docker run -d \
  --name shadowsocks-rust \
  --restart unless-stopped \
  -p 8388:8388/tcp \
  -p 8388:8388/udp \
  -v "$PWD/config.json:/etc/shadowsocks-rust/config.json:ro" \
  ghcr.io/cary17/shadowsocks-rust:v1.24.0

配置文件格式遵循 shadowsocks-rust 官方文档⁠。

⁠环境变量

变量必填默认值说明
SS_SERVER_PORT是—监听端口,范围 1–65535
SS_PASSWORD是—密码;会进行 JSON 转义
SS_METHOD是—加密方法,例如 aes-256-gcm
SS_SERVER否::监听地址
SS_TIMEOUT否7200超时秒数,整数
SS_MODE否tcp_and_udp工作模式
SS_DNS否—DNS 服务器
SS_DISABLED否false必须是 true 或 false
SS_TCP_WEIGHT / SS_UDP_WEIGHT否1.0数值权重
SS_OUTBOUND_BIND_INTERFACE否—出站网络接口
SS_OUTBOUND_BIND_ADDR否—出站绑定地址
SS_OUTBOUND_FWMARK否—整数 fwmark
SS_OUTBOUND_UDP_ALLOW_FRAGMENTATION否false必须是 true 或 false

多端口模式将每个变量附加相同数字后缀,例如 SS_PASSWORD_2。

⁠本地验证

./tests/test-project.sh

BASE_IMAGE='ghcr.io/shadowsocks/ssserver-rust:v1.24.0@sha256:85d01da9879b30b0784aea2b5ffceb5234d59cd81082064c08ebb113324e1359'

docker build \
  --build-arg "BASE_IMAGE=$BASE_IMAGE" \
  -t shadowsocks-rust:local .

docker run --rm \
  -e SS_SERVER_PORT=8388 \
  -e SS_PASSWORD=test-password \
  -e SS_METHOD=aes-256-gcm \
  shadowsocks-rust:local ssserver --version

Tag summary

Content type

Image

Digest

sha256:776d341b1…

Size

7.8 MB

Last updated

about 1 month ago

docker pull cary17/shadowsocks-rust