自建 Shadowsocks 服务器教程

注意:建立私有代理服务器应严格遵守当地法律法规,仅用于合法的学习、工作和研究目的。

Shadowsocks(简称 SS)是一种基于 Socks5 代理方式的网络加密传输协议。相比于 VPN,它更加轻量级,且配置灵活。本文将详细介绍如何在一台 Linux VPS 上搭建 Shadowsocks-libev 服务端。

🛠️ 准备工作

在开始之前,你需要准备以下东西:

  1. 一台 VPS (Virtual Private Server)
    • 推荐系统:Debian 10/11 或 Ubuntu 20.04/22.04 LTS(本文以 Debian 11 为例)。
    • 配置:内存 512MB 以上即可,SS 非常轻量。
    • 服务商:Vultr, DigitalOcean, Linode, BandwagonHost 等均可。
  2. SSH 客户端
    • Windows: PowerShell, CMD (自带 ssh 命令), PuTTY, Xshell.
    • Mac/Linux: 终端 (Terminal).

🚀 第一步:连接到 VPS

购买 VPS 后,你会获得 IP 地址、用户名(通常是 root)和密码。

在终端中输入以下命令连接:

1
ssh root@你的VPS_IP地址

输入密码后回车(密码输入时不会显示),成功登录后你会看到命令行提示符。

📦 第二步:安装 Shadowsocks-libev

Shadowsocks 有很多版本(Python, Go, Rust, C++),这里推荐使用 shadowsocks-libev(C 语言版本),因为它占用资源极低且维护较好。

方法一:使用包管理器安装(推荐 Debian/Ubuntu)

  1. 更新软件源

    1
    apt update && apt upgrade -y
  2. 安装 Shadowsocks-libev

    1
    apt install shadowsocks-libev -y

方法二:使用 Docker 安装(适合喜欢容器化的用户)

如果你熟悉 Docker,这是最干净的方式。

1
2
3
4
5
# 安装 Docker
curl -fsSL https://get.docker.com | bash

# 运行 SS 容器
docker run -e PASSWORD=你的密码 -e METHOD=aes-256-gcm -p 8388:8388 -p 8388:8388/udp -d --restart always shadowsocks/shadowsocks-libev

(如果使用 Docker,可以跳过第三步的配置文件设置)

⚙️ 第三步:配置服务器

如果是通过 apt 安装的,配置文件位于 /etc/shadowsocks-libev/config.json

  1. 编辑配置文件

    1
    nano /etc/shadowsocks-libev/config.json
  2. 修改内容如下

    1
    2
    3
    4
    5
    6
    7
    8
    9
    {
    "server":["0.0.0.0"],
    "mode":"tcp_and_udp",
    "server_port":8388,
    "local_port":1080,
    "password":"YourStrongPasswordHere",
    "timeout":300,
    "method":"aes-256-gcm"
    }
    • server: 监听地址,0.0.0.0 表示允许所有 IP 连接。
    • server_port: 服务器对外端口,建议修改为 10000-60000 之间的随机端口,避免被扫描。
    • password: 非常重要,请设置一个复杂的密码。
    • method: 加密方式,推荐使用 aes-256-gcmchacha20-ietf-poly1305

    Ctrl + O 保存,按 Enter 确认,然后 Ctrl + X 退出。

🔌 第四步:启动服务与防火墙设置

  1. 重启服务以应用配置

    1
    systemctl restart shadowsocks-libev
  2. 设置开机自启

    1
    systemctl enable shadowsocks-libev
  3. 检查运行状态

    1
    systemctl status shadowsocks-libev

    如果看到绿色的 active (running),说明服务启动成功。

  4. 放行防火墙端口
    如果你的 VPS 开启了防火墙(如 ufw),需要放行刚才设置的端口(例如 8388)。

    1
    ufw allow 8388

    (注意:部分云服务商需要在网页控制台的安全组中额外放行端口)

⚡ 第五步:开启 BBR 加速(可选但强烈推荐)

BBR 是 Google 开发的 TCP 拥塞控制算法,能显著提高弱网环境下的速度。

  1. 修改系统参数

    1
    2
    echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
    echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
  2. 应用更改

    1
    sysctl -p
  3. 验证是否开启

    1
    lsmod | grep bbr

    如果看到包含 tcp_bbr 的输出,说明开启成功。

📱 第六步:客户端连接

服务端搭建完成后,你需要在电脑或手机上安装客户端。

  1. Windows: 下载 Shadowsocks-windows
  2. Android: 下载 Shadowsocks-android (GitHub 或 Play Store)。
  3. iOS: 需要非国区 Apple ID,下载 Shadowrocket (小火箭) 或 Quantumult X。
  4. macOS: 下载 ShadowsocksX-NG

填入配置信息:

  • 服务器 IP: 你的 VPS IP
  • 服务器端口: 你设置的 server_port (如 8388)
  • 密码: 你设置的 password
  • 加密方法: 你设置的 method (如 aes-256-gcm)

连接成功后,通常通过浏览器访问 Google 即可验证是否畅通。


常见问题

  • 连不上怎么办?

    • 检查 VPS 的防火墙规则是否放行了端口。
    • 检查云服务商后台的安全组(Security Group)是否开放了对应端口(TCP 和 UDP)。
    • 检查客户端的加密方式和密码是否填写正确。
    • 查看服务器日志:journalctl -u shadowsocks-libev -f
  • 速度慢?

    • 确认是否开启了 BBR。
    • 检查 VPS 线路质量,晚高峰期间线路拥堵是常态。

希望这篇教程能帮到你!