拒绝一键脚本!手动安装部署 Shadowsocks 指南

你是否真的信任所谓的「一键脚本」?
脚本本身或许是开源的,但你是否完整阅读过源码?是否清楚它到底在你的服务器上新增了哪些文件、开放了哪些端口、修改了哪些系统配置?
对于需要长期稳定运行的科学上网服务而言,不透明,本身就是最大的风险。
本文将 完全摒弃一键脚本,采用最原始、最可控、也是最不容易被误伤的方式,带你从官方 Shadowsocks GitHub 仓库拉取最新版,在 Linux (Ubuntu/Debian) 环境下手把手搭建。整个过程结构清晰、文件极少、逻辑明确,非常适合希望真正“搞懂原理”,想要搭建稳定专属 Shadowsocks 节点的用户。
0. 为什么坚持手动安装?
在过去几年中,市面上流行的各类代理面板或整合脚本,往往具备以下共同特征:
- 功能堆叠严重,引入大量非必要组件
- 网络特征明显,易被精准识别
- 配置复杂,后期排障成本极高
而 最朴素的 Shadowsocks 单应用部署,反而在稳定性、可维护性和生存周期上表现最佳。这也是许多长期使用者最终回归手动部署的根本原因。
1. 什么场景下使用 Shadowsocks 更加安全?
- 落地鸡:无中国大陆优化线路的 VPS,国际互联优秀,各大流媒体解锁全绿,可根据预算选择 RackNerd,ZgoCloud,六六云 和 丽萨主机
- IPv6 中国方向优化鸡:经过 长达一年 的使用,Shadowsocks 在 IPv6 的网络中,使用稳定性很不错,简单实用,抗封性好,目前 IPv6 有中国方向优化的 靠谱稳定商家 只有 DMIT 旗下的 LAX.Pro 系列 和 LAX.EB 系列。
2. 实验环境
本次实验服务器信息:
| VPS 服务商 | 数据中心 | 产品名称 | 服务器规格 | 流量及带宽 | 购买链接 |
|---|---|---|---|---|---|
| DMIT | 洛杉矶 West 7 Center | LAX.AN4.EB.Tiny | 1C/2G/20G | 1500G@2Gbps, 超量限速 4Mbps | 直达链接 |
DMIT LAX.AN4.EB.Tiny 线路介绍:
| 运营商 | 去程 | 回程 |
|---|---|---|
| 中国电信 IPv4 | CN2 GIA | 9929 |
| 中国联通 IPv4 | 9929 | 9929 |
| 中国移动 IPv4 | CMIN2 | CMIN2 |
| 中国电信 IPv6 | CTG GIA | 9929 |
| 中国联通 IPv6 | 9929 | 9929 |
| 中国移动 IPv6 | CMIN2 | CMIN2 |
3. 安装基础依赖包
sudo apt update -y && sudo apt upgrade -y && sudo apt install git vim curl nano -y4. 下载并安装 shadowsocks-rust
相比 Python 或 Go 版本,shadowsocks-rust 在性能、内存占用以及长期稳定性方面更具优势,非常适合 VPS 场景。
4.1 从 GitHub 下载 Shadowsocks 最新版
我们直接从官方开源仓库获取纯净版,避免第三方加料的风险。
官方项目地址:shadowsocks-rust GitHub Releases
sudo mkdir -p /opt/shadowsocks && cd /opt/shadowsocks
curl -LO https://github.com/shadowsocks/shadowsocks-rust/releases/download/v1.24.0/shadowsocks-v1.24.0.x86_64-unknown-linux-gnu.tar.xz4.2 解压二进制文件
sudo tar -zxvf shadowsocks-v1.24.0.x86_64-unknown-linux-gnu.tar.xz4.3 授予可执行权限
sudo chown -R root:root ss* && sudo chmod +x ss*4.4 移动核心程序
mv /opt/shadowsocks/ssserver /usr/local/bin/至此,服务端主程序已完成安装。
5. 编写配置文件 /etc/shadowsocks/config.json
{
"server": "::",
"server_port": 33333,
"password": "3XQB9uFr3B5VY8Lg87M7jYU4F8C3xMIlD7yN4uFw0/E=",
"timeout": 300,
"method": "2022-blake3-aes-256-gcm",
"fastopen": true,
"mode": "tcp_and_udp",
"nameserver": ["1.1.1.1", "8.8.8.8"],
"ipv6_first": false,
"no_delay": true,
"workers": 2,
"mtu": 1400
}参数说明:
- server:监听 IPv4 / IPv6 双栈
- server_port:建议使用 10000–60000 区间的高位端口
- password:务必使用随机强密码,随机密码生成命令:
openssl rand -base64 32 - method:2022-blake3-aes-256-gcm
- snameserver: 可选,如果不配置的话,就默认使用系统 DNS
- sipv6_first: 如果想优先使用本机公网 IPv6 作为代理,请选择
true,否则false
6. 使用 systemd 管理服务
6.1 创建 systemd 服务文件
路径:/etc/systemd/system/shadowsocks-rust.service
[Unit]
Description=Shadowsocks-Rust Service
After=network.target
[Service]
ExecStart=/usr/local/bin/ssserver -c /etc/shadowsocks/config.json
Restart=always
User=root
Group=root
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target6.2 启动并设置开机自启
sudo systemctl daemon-reexec
sudo systemctl enable --now shadowsocks-rust.service6.3 查看服务状态
sudo systemctl status shadowsocks-rust.service --no-pager7. 常用管理命令速查
| 操作 | 命令 |
|---|---|
| 启动 | sudo systemctl start shadowsocks-rust.service |
| 停止 | sudo systemctl stop shadowsocks-rust.service |
| 重启 | sudo systemctl restart shadowsocks-rust.service |
| 状态 | sudo systemctl status shadowsocks-rust.service --no-pager |
| 日志 | sudo journalctl -u shadowsocks-rust.service -n 80 --no-pager |
8. 总结
整个部署过程,只涉及三个核心文件:
| 文件名 | 功能 |
|---|---|
/usr/local/bin/ssserver |
shadowsocks 核心程序 |
/etc/shadowsocks/config.json |
shadowsocks 配置文件 |
/etc/systemd/system/shadowsocks-rust.service |
shadowsocks 启动、停止、重启、状态查看等文件 |
没有多余文件、没有隐藏行为、没有不可控变量。对于真正追求长期稳定、可维护、极简风的用户而言,这种方式远比任何一键脚本更可靠,也完全弄懂了部署原理。
9. Shadowsocks 客户端下载与使用指引
服务端部署完成后,你需要使用对应的客户端连接你的节点。为了防范恶意修改版,请务必前往官方渠道获取:
以下均为博主个人长期使用的客户端
| 客户端平台 | 官方下载链接 | 特别说明 |
|---|---|---|
| Shadowsocks Windows | v2rayN GitHub 官方下载 | 功能强大、多协议、多平台支持,社区活跃并且一直都在维护 |
| Shadowsocks Mac | v2rayN GitHub 官方下载 | 功能强大、多协议、多平台支持,社区活跃并且一直都在维护 |
| Shadowsocks Android | v2rayNG GitHub 官方下载 | Google Play 已下架【下架原因 点此查看】 |
| Shadowsocks iOS | Shadowrocket(小火箭) 或 Quantumult X | 由于区域限制,中国大陆 App Store 无法直接下载。你需要使用美区或港区 Apple ID 来下载 Shadowrocket(小火箭) 或 Quantumult X,购买价格均为一次性买断 |
10. 不同平台安装包选择指南(重要提醒)
shadowsocks-rust 官方为不同 CPU 架构与操作系统提供了大量预编译二进制文件。选择正确的安装包,是能否正常运行的前提。
可通过 sudo uname -m 命令来确定当前 CPU 架构。
下面表格按「系统 / 平台」进行归类,供读者在下载时快速对号入座。
Linux 平台
▶ x86_64(最常见的 VPS 架构)
| 安装包 | 适用系统 | 说明 |
|---|---|---|
| x86_64-unknown-linux-gnu | Debian / Ubuntu / CentOS | 最推荐,glibc 标准环境 |
| x86_64-unknown-linux-musl | Alpine Linux | 静态编译,musl libc |
▶ ARM64(aarch64)【比如 Oracle Cloud 永久免费的 ARM 大盘鸡 / 斐讯 N1 盒子】
| 安装包 | 适用场景 | 说明 |
|---|---|---|
| aarch64-unknown-linux-gnu | ARM VPS / Oracle ARM | Debian / Ubuntu ARM |
| aarch64-unknown-linux-musl | Alpine ARM | 轻量系统 |
Windows 平台
| 安装包 | 适用环境 | 说明 |
|---|---|---|
| x86_64-pc-windows-msvc | Windows 10 / 11 | 推荐,原生 MSVC |
| x86_64-pc-windows-gnu | Windows(MinGW) | 兼容性用途 |
Apple / macOS 平台
| 安装包 | 适用设备 | 说明 |
|---|---|---|
| aarch64-apple-darwin | Apple Silicon(M1 / M2 / M3) | ARM64 架构的 macOS 设备 |
| x86_64-apple-darwin | Intel 芯片 Mac | 老款 Intel MacBook / iMac |
其他小众架构
| 架构 | 典型场景 |
|---|---|
| loongarch64 | 国产龙芯服务器 |
| mips / mipsel / mips64el | 老路由器 / 嵌入式 |
| riscv64gc | RISC-V 开发板 |
| x86_64-unknown-freebsd | FreeBSD |
| x86_64-unknown-netbsd | NetBSD |