Acris/docker-shadowsocks-libev

GitHub: Acris/docker-shadowsocks-libev

一个基于 Alpine Linux 的 Docker 镜像,集成 shadowsocks-libev 与 v2ray-plugin,用于快速部署支持 TLS/QUIC 的代理服务。

Stars: 305 | Forks: 95

# Shadowsocks-libev Dockerfile 此 Dockerfile 基于 Alpine Linux 构建用于 [shadowsocks-libev](https://github.com/shadowsocks/shadowsocks-libev/) 的镜像,并集成了 [v2ray-plugin](https://github.com/teddysun/v2ray-plugin)。 **标签:** - latest - shadowsocks-libev: v3.3.5 - v2ray-plugin: v5.1.0 - nightly - shadowsocks-libev: master 分支 - v2ray-plugin: master 分支 ## 快速开始 运行以下命令获取 Docker 镜像: ``` docker pull acrisliu/shadowsocks-libev ``` 启动一个实例: ``` docker run -d --name=shadowsocks-libev -p 8388:8388/tcp -p 8388:8388/udp --restart=always acrisliu/shadowsocks-libev ``` ## 设置特定配置 你可以使用环境变量来指定配置。 例如,使用加密方法 `aes-256-gcm` 和密码 `YourPassword` 启动容器: ``` docker run -d \ -e METHOD=aes-256-gcm \ -e PASSWORD=YourPassword \ --name=shadowsocks-libev \ -p 8388:8388/tcp \ -p 8388:8388/udp \ --restart=always \ acrisliu/shadowsocks-libev ``` 可用的环境变量及其默认值: - `SERVER_PORT`:远程服务器的端口号,默认值为 `8388`。 - `PASSWORD`:远程服务器的密码,默认值为 `ChangeMe!!!`。 - `METHOD`:加密方法,默认值为 `chacha20-ietf-poly1305`。 - `TIMEOUT`:套接字超时时间(秒),默认值为 `86400`。 - `DNS_ADDRS`:为内部 DNS 解析器设置名称服务器,默认值为 `1.1.1.1,1.0.0.1`。 - `ARGS`:`ss-server` 支持的额外参数,默认值为 `-u`,以启用 UDP 中继。 ## 启用 v2ray-plugin 默认情况下,v2ray-plugin 是禁用的。请使用 `ARGS` 环境变量并添加 `--plugin`、`--plugin-opts` 参数来启用它。 例如,若要启用带有 TLS 模式并启用 UDP 中继的 v2ray-plugin: ``` docker run -d \ -e "ARGS=--plugin v2ray-plugin --plugin-opts server;tls;host=yourdomain.com;path=/v2ray;cert=/root/.acme.sh/yourdomain.com/fullchain.cer;key=/root/.acme.sh/yourdomain.com/yourdomain.com.key -u" \ -e PASSWORD=YourPassword \ -v /root/.acme.sh:/root/.acme.sh \ --user root \ --name=shadowsocks-libev \ -p 8388:8388/tcp \ -p 8388:8388/udp \ --restart=always \ acrisliu/shadowsocks-libev ``` **启用 QUIC 模式的 v2ray-plugin:** 建议通过运行以下命令来增加最大缓冲区大小: ``` sysctl -w net.core.rmem_max=2500000 ``` 此命令将最大接收缓冲区大小增加到大约 2.5 MB。 ``` docker run -d \ -e "ARGS=--plugin v2ray-plugin --plugin-opts server;mode=quic;host=yourdomain.com;path=/v2ray;cert=/root/.acme.sh/yourdomain.com/fullchain.cer;key=/root/.acme.sh/yourdomain.com/yourdomain.com.key" \ -e PASSWORD=YourPassword \ -v /root/.acme.sh:/root/.acme.sh \ --user root \ --name=shadowsocks-libev \ -p 8388:8388/tcp \ -p 8388:8388/udp \ --restart=always \ acrisliu/shadowsocks-libev ``` *注意:如果要启用 v2ray-plugin 的 QUIC 模式,必须禁用 ss-server 的 UDP 中继,即 `ARGS` 中不要包含 `-u` 参数。* 请记得将你的证书挂载到容器中,推荐使用 [acme.sh](acme.sh) 来签发证书。 更多 v2ray-plugin 配置请参考 [v2ray 插件文档](https://github.com/teddysun/v2ray-plugin/blob/master/README.md) ## 使用 docker-compose docker-compose.yml: ``` services: shadowsocks-libev: container_name: shadowsocks-libev image: acrisliu/shadowsocks-libev user: root ports: - "8388:8388/tcp" - "8388:8388/udp" volumes: - /root/.acme.sh:/root/.acme.sh:ro environment: - PASSWORD=YourPassword - ARGS=--plugin v2ray-plugin --plugin-opts server;tls;host=yourdomain.com;path=/v2ray;cert=/root/.acme.sh/yourdomain.com/fullchain.cer;key=/root/.acme.sh/yourdomain.com/yourdomain.com.key -u restart: always ``` ## 如何升级 只需使用以下命令: ``` # 拉取最新镜像 docker pull acrisliu/shadowsocks-libev # 停止并移除旧容器 docker stop shadowsocks-libev docker rm shadowsocks-libev # 使用最新镜像启动新容器 docker run -d \ -e PASSWORD=YourPassword \ --name=shadowsocks-libev \ -p 8388:8388/tcp \ -p 8388:8388/udp \ --restart=always \ acrisliu/shadowsocks-libev ```
标签:Alpine Linux, Docker, Dockerfile, NIDS, Shadowsocks, Shadowsocks-libev, TLS, UDP 转发, v2ray-plugin, VPN, 代理, 加密传输, 后台服务, 安全防御评估, 容器化, 开源, 无文件攻击, 流量混淆, 环境变量配置, 端口映射, 网络安全, 网络穿透, 自定义配置, 请求拦截, 防御工具, 隐私保护