【转】拒绝一键脚本系列:最干净的科学上网方式之手动安装 Shadowsocks

原文地址: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:务必使用随机强密码
  • methodchacha20-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-darwinApple Silicon(M1 / M2 / M3)ARM64 架构的 macOS 设备
x86_64-apple-darwinIntel 芯片 Mac老款 Intel MacBook / iMac

📌 Linux(服务器 / VPS / 桌面)

▶ x86_64(最常见的 VPS 架构)

安装包适用系统说明
x86_64-unknown-linux-gnuDebian / Ubuntu / CentOS最推荐,glibc 标准环境
x86_64-unknown-linux-muslAlpine Linux静态编译,musl libc

▶ ARM64(aarch64)

安装包适用场景说明
aarch64-unknown-linux-gnuARM VPS / Oracle ARMDebian / Ubuntu ARM
aarch64-unknown-linux-muslAlpine ARM轻量系统

▶ ARM 32 位(路由器 / 嵌入式)

安装包常见设备说明
arm-unknown-linux-gnueabi老 ARMv6 设备很少见
arm-unknown-linux-gnueabihfARMv7(硬浮点)常见路由器
armv7-unknown-linux-gnueabihfARMv7明确标注 v7
arm*-musl*OpenWRT / Alpinemusl libc 环境

📌 Android / 移动端

安装包适用平台说明
aarch64-linux-androidAndroid ARM64高通 / 天玑手机
x86_64-linux-androidAndroid 模拟器极少见

📌 Windows

安装包适用环境说明
x86_64-pc-windows-msvcWindows 10 / 11推荐,原生 MSVC
x86_64-pc-windows-gnuWindows(MinGW)兼容性用途

📌 其他小众架构(进阶用户)

架构典型场景
loongarch64国产龙芯服务器
mips / mipsel / mips64el老路由器 / 嵌入式
riscv64gcRISC-V 开发板
x86_64-unknown-freebsdFreeBSD
x86_64-unknown-netbsdNetBSD

⚠️ 选择建议(务必阅读)

  • 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. 拓展阅读

————版权归原作者所有,转载需注明————–

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇