shadowsocks服务端安装部署

VPS服务提供商

一种方案是选择国外的供应商,如:

搬瓦工 - https://bandwagonhost.com/

Vultr - https://www.vultr.com/

优势是单价比较便宜,且网络带宽高。但是延迟略高,有些时段丢包率也不太理想。

另一种方案是选择阿里云或腾讯云的轻量应用服务器,如:

阿里云 - https://www.aliyun.com/product/swas

腾讯云 - https://cloud.tencent.com/product/lighthouse

没有太过于亮眼的优势,只是服务稳定性相对较高,很少有IP被封禁的情况。

选择大陆以外的节点,香港、东京、硅谷等……

购买之后选择“系统镜像”,安装熟悉的Linux发行版即可。

服务下载安装与配置

以下示例中,以Ubuntu2004操作系统为例。

服务端使用的是rust版本,以前的libev版本不再维护新功能。

下载

打开服务端rust版本的发行页。

https://github.com/shadowsocks/shadowsocks-rust/releases

在最新发行版的“Assets”中找到对应自己操作系统的二进制文件包。

我的系统是Ubuntu,CPU是x86架构,下载的文件包是“shadowsocks-v1.12.4.x86_64-unknown-linux-gnu.tar.xz”。

执行以下命令,下载文件包:

1
wget https://github.com/shadowsocks/shadowsocks-rust/releases/download/v1.12.4/shadowsocks-v1.12.4.x86_64-unknown-linux-gnu.tar.xz

安装

文件下载完成后,先解压:

1
2
3
xz -d shadowsocks-v1.12.4.x86_64-unknown-linux-gnu.tar.xz

tar -xvf shadowsocks-v1.12.4.x86_64-unknown-linux-gnu.tar

解压出来的文件中,我们暂时只需要用到“ssserver”。

我们把这个文件移动到某个文件夹下后,准备写入配置。(不移动也行)

配置

在“ssserver”所在的路径下,使用touch命令创建一个配置文件:

1
touch config.json

使用vim编辑这个配置文件,并写入下面示例中的配置:

1
2
3
4
5
6
7
8
{
"server": "10.20.30.40",
"server_port": 1111,
"password": "123456abcdef",
"method": "aes-256-gcm",
"local_address": "127.0.0.1",
"local_port": 1080
}

配置文件中最后两行不需要改动,默认即可。

server:这里配置上网卡的IP地址。(可以用ifconfig查看)

server_port:这个是服务监听的端口,自己定义就好。(注意端口冲突和防火墙)

password:连接服务的密码,随便定义。

method:加密方式。

目前加密方式可选的不多,很多都弃用了,三选一:

chacha20-ietf-poly1305

aes-128-gcm

aes-256-gcm

启动

使用以下命令,让ssserver引用配置文件并后台运行:

1
./ssserver -d -c config.json

shadowsocks客户端安装配置

客户端下载

这里以Windows和Android为例子。

Windows客户端 - https://github.com/shadowsocks/shadowsocks-windows/releases

Android客户端 - https://github.com/shadowsocks/shadowsocks-android/releases

打开发行版页面之后,Windows客户端直接选择最新的版本,下载zip文件之后,解压即可使用。

Android版本根据CPU的不同,可以选择ARMv7a和ARMv8a不同版本,不清楚的话可以直接下载

universal通用版。

服务配置

安装完成之后,打开客户端。

所有版本的客户端配置,无非就是这几种:

服务器:配置VPS的公网IP。

远程端口:配置服务端监听的端口。

密码:配置服务端配置文件中一样的密码。

加密方式:配置服务端配置文件中一样的加密方式。

配置完成,即可测试连接。