原文地址:https://vpsdeck.com/manual-install-shadowsocks/
你是否真的信任所谓的「一键脚本」?
脚本本身或许是开源的,但你是否完整阅读过源码?是否清楚它到底在你的服务器上新增了哪些文件、开放了哪些端口、修改了哪些系统配置?
对于需要长期稳定运行的科学上网服务而言,不透明,本身就是最大的风险。
本文将 完全摒弃一键脚本,采用最原始、最可控、也是最不容易被误伤的方式,手动部署 Shadowsocks。整个过程结构清晰、文件极少、逻辑明确,非常适合希望真正“搞懂原理”的用户。
0. 为什么坚持手动安装?
在过去几年中,市面上流行的各类代理面板或整合脚本,往往具备以下共同特征:
- 功能堆叠严重,引入大量非必要组件
- 网络特征明显,易被精准识别
- 配置复杂,后期排障成本极高
而 最朴素的 Shadowsocks 单应用部署,反而在稳定性、可维护性和生存周期上表现最佳。这也是许多长期使用者最终回归手动部署的根本原因。
1. 什么场景下使用 Shadowsocks 更加安全?
- 落地鸡:无中国大陆优化线路的 VPS,国际互联优秀,各大流媒体解锁全绿,可根据预算选择 。
- IPv6 中国方向优化鸡:经过 长达半年 的使用,
Shadowsocks在IPv6的网络中,使用稳定性很不错,简单实用,抗封性好,目前 IPv6 有中国方向优化的 靠谱稳定商家 只有 DMIT 旗下的 LAX.Pro 系列 和 LAX.EB 系列
2. 实验环境
- 服务器服务商:DMIT
- 操作系统:Debian 12.9
- 服务器配置:1 核 / 1GB RAM / 10GB SSD
- 服务器位置:美国洛杉矶
- 线路情况:
- 电信:去程 CN2 GIA / 回程 9929
- 移动:双程 CMIN2
- 联通:双程 9929
3. 安装基础依赖包
sudo apt update -y && sudo apt upgrade -y && sudo apt install git vim curl nano -y
这些工具主要用于文件编辑、下载与基础调试,属于最小必要依赖。
4. 下载并安装 shadowsocks-rust
相比 Python 或 Go 版本,shadowsocks-rust 在性能、内存占用以及长期稳定性方面更具优势,非常适合 VPS 场景。
4.1 下载 shadowsocks-rust
官方项目地址: 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.xz
4.2 解压二进制文件
sudo tar -zxvf shadowsocks-v1.24.0.x86_64-unknown-linux-gnu.tar.xz
4.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": 29527,
"password": "oM8d2kLsC0n4FC95N4",
"method": "chacha20-ietf-poly1305",
"mode": "tcp_and_udp"
}
参数说明:
- server:监听 IPv4 / IPv6 双栈
- server_port:建议使用 10000–60000 区间的高位端口
- password:务必使用随机强密码
- method:
chacha20-ietf-poly1305在性能与安全性之间表现均衡
可使用以下命令生成随机密码:
openssl rand -base64 12
安全密码建议和最佳实践
- 密码长度建议不少于 12 位
- 避免使用任何可被语义猜测的信息
- 建议定期轮换服务端密码
- 使用密码管理器妥善保存
6. 使用 systemd 管理服务
6.1 创建 systemd 服务文件
路径:/etc/systemd/system/shadowsocks-rust.service
6.2 启动并设置开机自启
sudo systemctl daemon-reexec
sudo systemctl enable --now shadowsocks-rust.service
6.3 查看服务状态
sudo systemctl status shadowsocks-rust.service --no-pager
查看日志:
sudo journalctl -u shadowsocks-rust.service -n 80 --no-pager
7. 常用管理命令速查
| 操作 | 命令 |
|---|---|
| 启动 | 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/etc/shadowsocks/config.json/etc/systemd/system/shadowsocks-rust.service
没有多余组件、没有隐藏行为、没有不可控变量。
对于真正追求长期稳定、可维护、可审计的用户而言,这种方式远比任何一键脚本更可靠。
9. 不同平台安装包选择指南(重要提醒)
shadowsocks-rust 官方为不同 CPU 架构与操作系统提供了大量预编译二进制文件。选择正确的安装包,是能否正常运行的前提。
下面表格按「系统 / 平台」进行归类,供读者在下载时快速对号入座。
📌 Apple / macOS 平台
| 安装包文件名 | 适用设备 | 说明 |
|---|---|---|
aarch64-apple-darwin | Apple Silicon(M1 / M2 / M3) | ARM64 架构的 macOS 设备 |
x86_64-apple-darwin | Intel 芯片 Mac | 老款 Intel MacBook / iMac |
📌 Linux(服务器 / VPS / 桌面)
▶ x86_64(最常见的 VPS 架构)
| 安装包 | 适用系统 | 说明 |
|---|---|---|
x86_64-unknown-linux-gnu | Debian / Ubuntu / CentOS | 最推荐,glibc 标准环境 |
x86_64-unknown-linux-musl | Alpine Linux | 静态编译,musl libc |
▶ ARM64(aarch64)
| 安装包 | 适用场景 | 说明 |
|---|---|---|
aarch64-unknown-linux-gnu | ARM VPS / Oracle ARM | Debian / Ubuntu ARM |
aarch64-unknown-linux-musl | Alpine ARM | 轻量系统 |
▶ ARM 32 位(路由器 / 嵌入式)
| 安装包 | 常见设备 | 说明 |
|---|---|---|
arm-unknown-linux-gnueabi | 老 ARMv6 设备 | 很少见 |
arm-unknown-linux-gnueabihf | ARMv7(硬浮点) | 常见路由器 |
armv7-unknown-linux-gnueabihf | ARMv7 | 明确标注 v7 |
arm*-musl* | OpenWRT / Alpine | musl libc 环境 |
📌 Android / 移动端
| 安装包 | 适用平台 | 说明 |
|---|---|---|
aarch64-linux-android | Android ARM64 | 高通 / 天玑手机 |
x86_64-linux-android | Android 模拟器 | 极少见 |
📌 Windows
| 安装包 | 适用环境 | 说明 |
|---|---|---|
x86_64-pc-windows-msvc | Windows 10 / 11 | 推荐,原生 MSVC |
x86_64-pc-windows-gnu | Windows(MinGW) | 兼容性用途 |
📌 其他小众架构(进阶用户)
| 架构 | 典型场景 |
|---|---|
loongarch64 | 国产龙芯服务器 |
mips / mipsel / mips64el | 老路由器 / 嵌入式 |
riscv64gc | RISC-V 开发板 |
x86_64-unknown-freebsd | FreeBSD |
x86_64-unknown-netbsd | NetBSD |
⚠️ 选择建议(务必阅读)
- VPS / 云服务器用户:99% 情况选择
x86_64-unknown-linux-gnu - ARM VPS(如 Oracle Cloud ARM):选择
aarch64-unknown-linux-gnu - Alpine / OpenWRT:选择
musl后缀 - macOS:按 CPU 芯片区分 Intel / Apple Silicon
如果不确定架构,可使用以下命令确认:
uname -m
10. 拓展阅读
————版权归原作者所有,转载需注明————–