本教程将向您展示如何 在 Debian 10 VPS(虚拟专用服务器)上安装 Shadowsocks 代理服务器. Shadowsocks 是一款轻量级、超快速且安全的 Socks5 代理,可用于绕过互联网审查。 您还将学习如何 在 Debian 10 桌面上设置 Shadosocks-libev 客户端.
Shadowsocks 的实现有很多,本教程教你如何使用Shadowsocks-libev,因为
- 它是用 C 编写的,即使在低端机器上也非常快。
- 它维护得很好。
- 这是功能最丰富的实现。 支持 TCP 快速开放、多用户、管理 API、重定向模式、隧道模式、UDP 中继、AEAD 密码和插件。
先决条件
要完成本教程,您需要:
- VPS(虚拟专用服务器)。 我推荐 Vultr。 他们提供 512M 内存的高性能 KVM VPS,每月只需 2.5 美元,非常适合您的私人代理服务器。
- 然后在您的 VPS 上安装 Debian 10。
如何在 Debian 10 VPS 上安装 Shadowsocks-libev 服务器
在 VPS 上安装 Debian 10 后。 通过 SSH 登录您的服务器。 Shadowsocks-libev 包含在默认的 Debian 10 存储库中,但它已经过时了。 事实上,过时的版本不再在我的服务器上运行。 我建议从 Debian 10 buster-backports 存储库安装它,其中包含最新版本的 Shadowsocks-libev,以便您获得安全更新和错误修复。
要启用 buster-backports 存储库,请运行以下命令。
echo "deb https://deb.debian.org/debian buster-backports main" | sudo tee /etc/apt/sources.list.d/buster-backports.list
然后更新本地包索引。
sudo apt update
之后,从 buster-backports 存储库安装 Shadowsocks-libev。
sudo apt -t buster-backports install shadowsocks-libev
要检查版本号,请运行
ss-server -v
示例输出:
shadowsocks-libev 3.3.4
钠加密库 (libsodium) 将与 shadowsocks-libev 一起安装。 如果您想使用安全且快速的 ChaCha20-Poly1305 加密方法,这是一项要求。 安装后,Shadowsocks-libev 将自动使用默认配置文件启动。 您可以通过以下方式检查其状态:
systemctl status shadowsocks-libev
输出:
● shadowsocks-libev.service - Shadowsocks-libev Default Server Service Loaded: loaded (/lib/systemd/system/shadowsocks-libev.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2020-06-23 13:33:46 UTC; 14s ago Docs: man:shadowsocks-libev(8) Main PID: 20316 (ss-server) Tasks: 1 (limit: 558) Memory: 552.0K CGroup: /system.slice/shadowsocks-libev.service └─20316 /usr/bin/ss-server -c /etc/shadowsocks-libev/config.json
提示:如果上面的命令没有立即退出,请按 问 重新获得对终端的控制权。
如您所见,它正在运行并且启动时自动启动已启用。 如果它没有运行,您可以使用以下命令启动它:
sudo systemctl start shadowsocks-libev
要在启动时启用自动启动,请运行:
sudo systemctl enable shadowsocks-libev
现在我们需要编辑默认配置文件。
sudo nano /etc/shadowsocks-libev/config.json
文件的默认内容如下。
{ "server":"127.0.0.1", "server_port":8388, "local_port":1080, "password":"focobguph", "timeout":60, "method":null }
将 127.0.0.1 替换为您的 Debian 服务器的公共 IP 地址。 你可以改变 server_port
到其他端口号,但不要使用端口 8388。然后设置您的首选密码,用于加密流量。 建议您更换 null
和 chacha20-ietf-poly1305
作为加密方法。 这是我的配置示例。
Save 和 close 文件。 然后重新启动 Shadowsocks-libev 以使更改生效。
sudo systemctl restart shadowsocks-libev
在 Debian 10 桌面上安装和配置 Shadowsocks-libev 客户端
shadowsocks-libev 包包含服务器软件和客户端软件。 所以只需使用上面提到的方法在 Debian 10 桌面上安装 Shadowsocks-libev。
注意:在 Debian 10 上,Shadowsocks-libev(服务器)安装后会自动启动。 您需要在 Debian 10 桌面上停止 Shadowsocks 服务器。
sudo systemctl stop shadowsocks-libev
另外,在启动时禁用自动启动。
sudo systemctl disable shadowsocks-libev
Shadowsocks 客户端二进制文件被命名为 ss-local
. 有一个模板 systemd 服务单元: /lib/systemd/system/[email protected]
. 在启动客户端之前,我们需要创建客户端配置文件。
sudo nano /etc/shadowsocks-libev/location-of-your-server.json
你可以更换 location-of-your-server
像 SFO、LAX 这样的东西。 将 Shadowsocks-libev 服务器配置复制到客户端配置文件,然后添加以下行告诉客户端侦听 127.0.0.1。
"local_address":"127.0.0.1",
因此,客户端配置文件将如下所示:
{ "server":"your-server-ip-address", "server_port":8388, "local_address":"127.0.0.1", "local_port":1080, "password":"focobguph", "timeout":60, "method":"chacha20-ietf-poly1305" }
Save 和 close 文件。 然后我们可以启动客户端:
sudo systemctl start [email protected]location-of-your-server.service
并在启动时启用自动启动。
sudo systemctl enable [email protected]location-of-your-server.service
检查其状态。 确保它正在运行。
systemctl status [email protected]location-of-your-server.service
现在 ss-local
进程在您的 Ubuntu 桌面上侦听 127.0.0.1:1080 并且它已连接到您的 Shadowsocks 服务器。
配置 Web 浏览器以使用 Socks 代理
要让您的程序使用socks 代理,程序必须支持socks 代理。 火狐量子、谷歌浏览器和 Dropbox 等程序允许用户使用代理。 我将向您展示如何配置 Firefox 和 Google Chrome。
火狐
在 Firefox 中,转到 编辑 > 喜好 > 一般的. 然后向下滚动到底部并单击 设置 在 网络代理. 在里面 连接设置 窗口,选择 手动代理配置. 然后选择 袜子 v5 因为 Shadowsocks 是 Socks5 代理。 Enter SOCKS 主机字段中的 127.0.0.1 和端口字段中的 1080。 确保 使用 SOCKS v5 时的代理 DNS 已启用。 单击“确定”以应用这些修改。