使用场景

首先选择服务器,一般为国外的云服务器,最好选择按照固定带宽计算费用的,否则可能会发生流量超高费用增加的情况
其次设置好防火墙安全组策略:一是为了安全,二是服务并非对所有客户端都开放,一般对固定办公或者家庭固定IP开放

一、部署服务端

1.安装 pip
在控制台执行以下命令安装 pip:

[root@server ~]# curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py"
[root@server ~]# python get-pip.py

2.安装配置 shadowsocks
在控制台执行以下命令安装 shadowsocks:

[root@server ~]# pip install --upgrade pip
[root@server ~]# pip install shadowsocks

安装完成后,需要创建shadowsocks的配置文件/etc/shadowsocks.json,编辑内容如下:

[root@server ~]# vim /etc/shadowsocks.json
{
  "server": "0.0.0.0",
  "server_port": 36789,
  "local_port": 1080,
  "password": "yourpassword",
  "timeout": 600,
  "method": "aes-256-cfb"
}

说明:
method为加密方法,可选aes-128-cfb, aes-192-cfb, aes-256-cfb, bf-cfb, cast5-cfb, des-cfb, rc4-md5, chacha20, salsa20, rc4, table
port_password为端口对应的密码,可使用密码生成工具生成一个随机密码

3.配置自启动
编辑shadowsocks 服务的启动脚本文件,内容如下:

[root@server ~]# vim /etc/systemd/system/shadowsocks.service
[Unit]
Description=Shadowsocks
[Service]
TimeoutStartSec=0
ExecStart=/usr/bin/ssserver -c /etc/shadowsocks.json
[Install]
WantedBy=multi-user.target

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

[root@server ~]# systemctl enable shadowsocks
[root@server ~]# systemctl start shadowsocks

检查 shadowsocks 服务是否已成功启动,可以执行以下命令查看服务的状态:

[root@server ~]# systemctl status shadowsocks 
● shadowsocks.service - Shadowsocks
   Loaded: loaded (/etc/systemd/system/shadowsocks.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2019-02-14 17:03:59 CST; 17h ago
 Main PID: 9387 (ssserver)
   CGroup: /system.slice/shadowsocks.service
           └─9387 /usr/bin/python /usr/bin/ssserver -c /etc/shadowsocks.json

4.防火墙放开对应端口

[root@server ~]# vim /etc/sysconfig/iptables
-A RH-Firewall-1-INPUT -p udp -m udp --dport 36789 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 36789 -j ACCEPT
[root@server ~]# systemctl restart iptables.service

二、设置客户端

1.下载shadowsocks客户端
win软件包:Shadowsocks-4.1.4.zip
https://github.com/shadowsocks/shadowsocks-windows
https://github.com/shadowsocks/shadowsocks-android

2.填写服务器信息
IP:yourserverip
端口:36789
密码:yourpassword
加密:aes-256-cfb
代理端口:1080

3.下载PAC文件到本地,启动系统代理

部署shadowsocks并设置客户端