自行搭建Shadowsocks服务

首先你得有自己的国外服务器或者是VPS,然后再继续往下看。
以下所有命令都是以 root 用户执行,且本人是 ubuntu 系统,所以只以 ubuntu 操作系统为例。

安装

1
2
3
apt-get update
apt-get install git -y
git clone -b manyuser https://github.com/ToyoDAdoubi/shadowsocksr.git

执行完毕后此目录下会新建一个 shadowsocksr 目录,如果你是在 /root 目录下执行上面的代码,那你 shadowsocksr 的根目录就是 /root/shadowsocksr ,子目录就是 /root/shadowsocksr/shadowssocks

配置

1
2
3
4
5
6
7
8
//进入服务根目录
cd shadowsocksr
//初始化
bash initcfg.sh
//修改配置文件
vim user-config.json

文件内容一般为:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
{
"server": "0.0.0.0",
"server_ipv6": "::",
"server_port": 8388,
"local_address": "127.0.0.1",
"local_port": 1080,
"password": "m",
"timeout": 120,
"udp_timeout": 60,
"method": "aes-128-ctr",
"protocol": "auth_aes128_md5",
"protocol_param": "",
"obfs": "tls1.2_ticket_auth_compatible",
"obfs_param": "",
"speed_limit_per_con": 0,
"speed_limit_per_user": 0,
"dns_ipv6": false,
"connect_verbose_info": 0,
"redirect": "",
"fast_open": false
}

可精简为:

1
2
3
4
5
6
7
8
9
10
{
"server":"0.0.0.0",
"port_password": {
"1838": "mypassword",
"2338": "mypassword"
},
"timeout":300,
"method":"aes-256-cfb",
"fast_open": false
}

初始化的状态为单用户版,此处精简写法配置的是多用户版本,其中 port_password 为服务端口及密码。

启动

1
2
3
4
5
6
7
8
9
10
11
12
13
14
//进入子目录
cd shadowsocks
//添加权限
chmod +x *.sh
//启动服务
./logrun.sh
//查看服务日志
./tail.sh
//停止服务
./stop.sh

设置开机自启动

1
2
3
chmod +x /etc/rc.local
vi /etc/rc.local

然后在 exit 0 这一行代码的前面加上:

1
/bin/bash /root/shadowsocksr/shadowsocks/logrun.sh

属性 默认 说明
server 0.0.0.0 监听地址
server_ipv6 :: ipv6地址
server_port 8388 监听端口
local_address 127.0.0.1 本地地址
local_port 1080 本地端口
password m 密码
timeout 120 超时时间
method aes-128-ctr 加密方式
protocol_param ‘’ 协议插件参数,可设置每个端口的链接设备数
protocol auth_aes128_md5 协议插件
obfs tls1.2_ticket_auth_compatible 混淆插件
obfs_param ‘’ 混淆插件参数
speed_limit_per_con 0 单线程限速 单位KB/S
speed_limit_per_user 0 端口总限速 单位 KB/S
redirect ‘’ 重定向参数
dns_ipv6 false 是否优先使用IPv6地址
fast_open false 快速打开(仅限linux客户端)

ps: 搭建成功4个小时之后服务器ssh无法远程登录了,IP可 ping 通,服务器上的网站无法打开,原因还在查找中。不能这么快就被封了吧。。。