shadowsocks是一种基于Socks5代理方式的网络数据加密传输包shadowsocks分为服务器端和客户端,在使用之前,需要先将服务器端部署到服务器上面,然后通过客户端连接并创建本地代理。该工具也被广泛用于突破GFW,以浏览被封锁、屏蔽或干扰的内容,详情见Shadowsocks-维基百科

一、安装Shadowsocks

搬瓦工VPS为我们准备了Shadowsocks的一键安装(KiwiVM控制面板-KiwiVM Extras-Shadowsocks Server),但该方法不适用于Centos 7,并且不方便进行个人配置。在Centos 7上可使用命令进行安装:

yum install python-setuptools && easy_install pip
pip install shadowsocks

这里使用了pip安装Shadowsocks,一般VPS装完系统是不带pip的,需要自行安装,网上一些教程使用yum -y install epel-release yum install python-pip来进行安装,实测时该方法存在问题。

二、多用户配置

1.通过ssh连接vps(windows可使用putty,搬瓦工vps也可使用自带的Root shell)

2.在终端输入vi /etc/shadowsocks.json创建配置文件(配置文件可起其它名称,存储在其它位置)

3.写入配置信息并保存,以下为配置信息示例

{
    "server":"server_ip",  #服务器ip地址
    "local_adress":"127.0.0.1",
    "local_port":1080,
    "port_password":{
        "8083":"pwd_for_port_8083",  #端口号,密码
        "8087":"pwd_for_port_8087",  #端口号,密码
        "8089":"pwd_for_port_8089"   #端口号,密码
    },
    "timeout":300,
    "method":"aes-256-cfb",  #加密方法,支持多种方法
    "fast_open":false
}

以上配置信息打开了三个端口以供连接,端口个数和端口号可自定义,但是需注意应避免使用已占有和不安全的端口号,一般不要使用0-1023端口号。

启动shadowsocks(前端):

ssserver -c /etc/shadowsocks.json start  #-c 导入配置

停止shadowsocks(前端):

ssserver -c /etc/shadowsocks.json stop

重启shadowsocks(前端):

ssserver -c /etc/shadowsocks.json restart

停止shadowsocks(后台):

ssserver -c /etc/shadowsocks.json -d start  #-d 后台

关闭shadowsocks(后台):

ssserver -c /etc/shadowsocks.json -d stop

重启shadowsocks(后台):

ssserver -c /etc/shadowsocks.json -d restart

三、开放端口

在上一步中,我们给shadowsocks设置了8083、8087和8089三个端口,为了使这三个端口可用,需要在防火墙中开放端口。

开放端口:

firewall-cmd --zone=public --add-port=8083/tcp --permanent  #开放8083端口

若提示防火墙没有启动,先输入以下命令启动防火墙:

systemctl start firewalld.service

若要设置防火墙开机自动启动,可输入以下命令:

systemctl enable firewalld.service

更新防火墙设置:

firewall-cmd reload

四、Shadowsocks自启动设置

新建启动脚本文件shadowsocks.service:

vi /etc/systemd/system/shadowsocks.service

编辑脚本文件内容

[Unit]
Description=Shadowsocks
[Service]
TimeoutStartSec=0
Start=/usr/bin/ssserver -c /etc/shadowsocks.json
[Install] WantedBy=multi-user.target

启动shadowsocks服务

systemctl enable shadowsocks
systemctl start shadowsocks

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

systemctl status shadowsocks

五、客户端使用方法

Shadowsocks-windows下载Shadowsocks-4.0.7,另GitHub项目下载页面shadowsocks-windows/releases

客户端界面:

服务器地址:vps ip地址;服务器端口,密码:配置内容中的port_password中port和对用的password;加密:配置内容中的method;代理端口:配置内容中的local_port。