自建shadowsocks服务器教程

搬瓦工系统自带的shadowsocks只支持CentOS 6及以下,那就自己搭建一个吧。

1. 环境:

服务器端:CentOs 7 64位(全新)
客户端:OS X 10.12.5 + ShadowsocksX-NG 1.5.0

2. 安装EPEL

$ sudo yum -y install epel-release

3.安装pip

$ sudo yum -y install python-pip

4. 安装shadowsocks

$ sudo pip install shadowsocks

5. 配置shadowsocks

mkdir /etc/shadowsocks/
$ vi /etc/shadowsocks/config.json
内容如下:

1
2
3
4
5
6
7
8
9
{
"server":"your_server_ip",
"server_port":443,
"password":"yourpassword",
"timeout":300,
"method":"aes-256-cfb",
"fast_open":false,
"workers": 1
}

代码中各字段的含义:

  • server:服务器 IP地址 (IPv4/IPv6)
  • server_port:服务器监听的端口,一般设为80,443等,注意不要设为使用中的端口
  • password:设置密码,自定义
  • timeout:超时时间(秒)
  • method:加密方法,可选择 “aes-256-cfb”, “rc4-md5”等等。推荐使用 “rc4-md5”
  • fast_open:true 或 false。如果你的服务器 Linux 内核在3.7+,可以开启 fast_open 以降低延迟。
  • workers:workers数量,默认为 1。

5.1 多账户配置

1
2
3
4
5
6
7
8
9
10
11
12
13
{
"server":"your_server_ip",
"port_password":{
"8381":"pass1",
"8382":"pass2",
"8383":"pass3",
"8384":"pass4"
},
"timeout":60,
"method":"rc4-md5",
"fast_open":false,
"workers":1
}

6. 设置shadowsocks开机自启

vi /etc/systemd/system/shadowsocks.service
内容如下:

1
2
3
4
5
6
7
8
9
[Unit]
Description=Shadowsocks

[Service]
TimeoutStartSec=0
ExecStart=/usr/bin/ssserver -c /etc/shadowsocks/config.json

[Install]
WantedBy=multi-user.target

执行以下命令启动 shadowsocks 服务:

1
2
systemctl enable shadowsocks
systemctl start shadowsocks

执行命令systemctl status shadowsocks查看ss状态
如果 shadowsocks 启动失败,可根据日志 /var/log/shadowsocks.log 信息进行排查。


参考文章:

  1. 教你如何搭建自己的Shadowsocks服务器
  2. Shadowsocks systemd 配置
  3. 在 CentOS 7 下安装配置 shadowsocks
因为热爱,所以执着。