版本: V1.4.5 · 快捷命令:
volss· 支持 Debian / Ubuntu / Alpine
一个适用于 NAT 机/VPS 的 Shadowsocks-Rust 交互式安装与管理脚本,支持多用户管理、流量统计、ACL 黑名单规则集、时间同步等功能。自动识别系统,同一份脚本可在 Debian/Ubuntu(systemd)和 Alpine(OpenRC)上运行。
- 一键安装/卸载/更新最新版 Shadowsocks-Rust
- 自动识别系统(Debian/Ubuntu/Alpine),自动适配服务管理方式
- 交互式选择加密方式、端口分配策略、用户数量
- 顺序端口或随机端口分配,自动跳过已占用端口
- 多用户管理:暂停、恢复、删除、重新生成
- 默认开启 TCP + UDP 双协议出站
- 基于 iptables 的每用户流量统计(GB),持久化保存,重启不丢失
- ACL 黑名单:手动添加域名 + 规则集一键安装(广告/色情/赌博/BT/恶意软件等)
- 手动域名与规则集完全分离管理,互不干扰
- 时间同步:首页显示与标准时间差,一键校准
- 服务管理:启动、停止、重启、日志
- 快捷命令
volss随时呼出管理菜单
| 项目 | 要求 |
|---|---|
| 系统 | Debian / Ubuntu / Alpine(不支持 OpenWrt / ImmortalWrt) |
| 权限 | root |
| 架构 | x86_64 / aarch64(Alpine 额外支持 armv7) |
| 依赖 | 自动安装(curl、wget、openssl、python3、iptables、xz 等) |
OpenWrt / ImmortalWrt 用户:请直接使用
opkg install shadowsocks-rust-ssserver安装,配合 procd 管理服务,不要使用本脚本。
Alpine 用户:脚本会自动检测并安装 bash(Alpine 默认不带 bash),无需手动处理。
1. 下载并运行脚本
wget -O volss.sh https://raw.githubusercontent.com/chnnic/VOLSS/refs/heads/main/volss.sh && chmod +x volss.sh && bash volss.shAlpine 系统如果还没有 bash,可以用 sh 启动(脚本会自动安装 bash 并重新执行):
wget -O volss.sh https://raw.githubusercontent.com/chnnic/VOLSS/refs/heads/main/volss.sh
chmod +x volss.sh
sh volss.sh首次运行进入主菜单,选择 1) 安装 Shadowsocks-Rust 开始安装。
2. 安装完成后使用快捷命令
volss1) 2022-blake3-aes-128-gcm (推荐)
2) 2022-blake3-aes-256-gcm (强加密)
3) 2022-blake3-chacha20-poly1305 (ARM推荐)
4) aes-256-gcm (传统)
5) chacha20-ietf-poly1305 (传统)
推荐使用
2022-blake3-aes-128-gcm,性能与安全性均衡。
输入服务器域名或 IP,留空则自动检测。支持 DDNS 域名(如 your-domain.example.com)。
1) 顺序端口 —— 从指定起始端口开始,自动跳过已占用端口
2) 随机端口 —— 在指定范围内随机挑选可用端口
输入需要屏蔽的域名,每行一个,空行结束。安装完成后也可随时通过菜单增删,或安装规则集。
=================================================
Shadowsocks-Rust 管理脚本 V1.4.5 快捷命令: volss
=================================================
安装: ● 已安装 服务: ● 运行中
时间: 已同步 (±1s)
-------------------------------------------------
-- 安装管理 --
1) 安装 Shadowsocks-Rust
2) 卸载 Shadowsocks-Rust
3) 更新脚本
-- 用户管理 --
4) 查看用户列表
5) 查看所有 SS 链接
6) 暂停某个用户
7) 恢复某个用户
8) 删除某个用户
9) 重新生成所有用户
-- 流量统计 --
10) 查看流量统计
11) 重置流量统计
-- ACL 黑名单 --
12) 手动添加屏蔽域名
13) 手动删除屏蔽域名
14) 查看黑名单列表
15) 规则集管理(广告/色情/赌博/BT等)
-- 服务管理 --
16) 查看服务状态
17) 启动服务
18) 停止服务
19) 重启服务
20) 查看实时日志
21) 时间同步
-------------------------------------------------
0) 退出
=================================================
| 功能 | 说明 |
|---|---|
| 查看用户列表 | 显示所有用户的端口、加密方式、状态(正常/暂停) |
| 查看 SS 链接 | 输出所有 ss:// 格式链接,可直接导入客户端 |
| 暂停用户 | 将指定用户从运行配置中移除,不删除数据 |
| 恢复用户 | 重新将暂停的用户加入运行配置 |
| 删除用户 | 永久删除用户配置、链接及对应 iptables 规则 |
| 重新生成所有用户 | 保留原有端口,仅重新生成所有密码(旧链接失效) |
选择菜单选项 3) 更新脚本,会从 GitHub 拉取最新版本,对比版本号后询问确认,更新前自动备份当前版本为 .bak,更新时自动迁移修复旧版配置(ACL 格式、服务文件、UDP 模式等),完成后自动重启进入新版菜单。
基于 iptables 对每个端口单独计数,统计上行(用户下载)和下行(用户上传)。流量数据持久化保存至 traffic.json,采用「读取增量 → 内核归零」机制确保统计准确,重启不丢失,直到手动重置才清零,并显示最后重置时间。
注意:统计数值为单向流量。 由于代理服务器每个字节都要经过一进一出,VPS 实际消耗的带宽约为统计数值的 2 倍。
通过 Shadowsocks-Rust 的 ACL 功能屏蔽指定域名。手动域名存于 manual.list,规则集存于 rulesets/,两者完全分离,互不干扰。||domain.com 格式可匹配该域名及所有子域名。
ACL 拦截依赖客户端把域名传给服务端。 Clash 默认本地解析 DNS(传 IP),会导致 ACL 失效,需在客户端开启
fake-ip或redir-host模式。
可按需选择安装以下规则集,每个独立存储管理:
| 规则集 | 说明 |
|---|---|
| ads | 广告拦截 |
| adult | 色情网站 |
| gambling | 赌博网站 |
| malware | 恶意软件/钓鱼 |
| scam | 诈骗欺诈 |
| tracking | 追踪统计 |
| crypto | 挖矿劫持 |
| dating | 交友网站 |
| bt | BT/种子下载 |
| finance | 金融理财 |
支持单个安装、一键全装、卸载、更新、自定义 URL、查看统计。下载时自动尝试多个镜像。规则集更新时自动保留手动域名。
首页状态行实时显示本地时间与标准时间的差值:
- 绿色「已同步 (±1s)」:误差 ≤ 2 秒
- 黄色「本地快/慢 Ns」:误差 ≤ 10 秒
- 红色「本地快/慢 Ns」:误差 > 10 秒
选项 21 可一键校准系统时间,Debian/Ubuntu 使用 chrony/systemd-timesyncd,Alpine 使用 chrony/busybox ntpd。
ss://base64(method:password)@host:port#用户N
兼容客户端:
| 平台 | 推荐客户端 |
|---|---|
| Windows | v2rayN、Clash Verge |
| macOS | Clash Verge、Hiddify |
| Linux | NekoRay、Clash Meta |
| Android | v2rayNG、Hiddify、Sing-box |
| iOS | Shadowrocket、Sing-box |
| 路径 | 说明 |
|---|---|
ssserver |
主程序(Debian: /usr/local/bin,Alpine: /usr/bin) |
/usr/local/bin/volss |
快捷命令入口 |
/usr/local/bin/volss.sh |
脚本主体(固定安装路径) |
/etc/shadowsocks-rust/config.json |
完整配置(含 disabled 标记) |
/etc/shadowsocks-rust/runtime.json |
运行时配置(仅含启用用户) |
/etc/shadowsocks-rust/ss_links.txt |
所有用户 SS 链接 |
/etc/shadowsocks-rust/traffic.json |
流量历史持久化数据 |
/etc/shadowsocks-rust/blocklist.acl |
ACL 黑名单主文件(自动生成) |
/etc/shadowsocks-rust/manual.list |
手动添加的屏蔽域名 |
/etc/shadowsocks-rust/rulesets/ |
规则集存储目录 |
| 服务文件 | Debian: systemd .service,Alpine: OpenRC init.d |
Q: 支持哪些系统?
Debian、Ubuntu、Alpine。脚本启动时自动识别系统并适配服务管理方式(systemd / OpenRC)、包管理(apt / apk)、二进制版本(gnu / musl)。不支持 OpenWrt/ImmortalWrt。
Q: Alpine 提示没有 bash?
脚本会自动检测并通过 apk 安装 bash,然后用 bash 重新执行,无需手动处理。用 sh volss.sh 启动即可。
Q: ACL 添加了但无法拦截?
ACL 拦截依赖客户端把域名(而非解析后的 IP)传给服务端。Clash 默认本地解析 DNS,需在客户端开启 fake-ip 或 redir-host 模式。可通过菜单选项 20 查看日志,出现 blocked by ACL rules 即表示拦截生效。
Q: 安装规则集会影响代理速度吗?
ACL 匹配只在新连接建立时执行,不影响已建立连接的传输速度。大规则集每次新连接会增加数毫秒匹配延迟,对普通使用影响可忽略。如对延迟敏感,建议只安装最必要的规则集。
Q: 支持 UDP 吗?
支持。从 V1.4.2 起默认开启 TCP + UDP 双协议(mode: tcp_and_udp)。旧版安装的用户运行一次 volss 即会自动补全 UDP 配置。可用 ss -ulnp | grep 端口 验证 UDP 是否监听。
Q: 菜单显示"未运行"但连接正常?
部分 LXC 容器宿主机会定期发送 SIGTERM 信号。脚本使用多重检测(pgrep + 服务状态),显示更准确。
Q: 重启服务器后流量数据会丢失吗?
不会。流量数据持久化保存,重启后累计显示,只有手动重置才会清零。
Q: 重新生成用户会换端口吗?
不会。从 V1.4.4 起,重新生成只更换密码,保留原有端口。
| 版本 | 说明 |
|---|---|
| V1.4.5 | Alpine 兼容性修复:bash 自举、date 解析、iptables 持久化、下载镜像 |
| V1.4.4 | 脚本健壮性优化:base64 兼容、重新生成保留端口、IP 获取多源、自检逻辑 |
| V1.4.3 | 启动自检自动开启 UDP 模式 |
| V1.4.2 | 默认开启 TCP+UDP 双协议出站 |
| V1.4.1 | 更新时强制同步 runtime.json 的 ACL 字段 |
| V1.4.0 | 整合 Alpine 支持,自动识别系统;新增时间同步功能 |
| V1.3.6 | 流量统计逻辑重写(置顶规则 + 增量归零),修复统计虚高 |
| V1.3.5 | 删除错误的自检迁移逻辑,规则集不再混入手动域名 |
| V1.3.4 | 查看黑名单时规则集只显示统计不展开 |
| V1.3.3 | 修复重置流量顺序问题 |
| V1.3.2 | 规则集下载支持多镜像自动切换 |
| V1.3.1 | 手动域名改用独立 manual.list 文件,彻底分离 |
| V1.3.0 | 批量删除兼容性修复(数组替代 nl,grep 替代 sed) |
| V1.2.x | 规则集管理、菜单整理、ACL 格式修复 |
| V1.1.x | 流量持久化、快捷命令修复、ACL 顶层配置、格式升级 |
| V1.0.x | 初始版本到基础功能完善 |
MIT