Shadowsocks 搭建教程

搭建 Shadowsocks 服务 & google bbr 加速

Posted by leone on 2018-05-27

搭建shadowsocks server

什么是shadowsocks

shadowsocks是一种基于Socks5代理方式的网络数据加密传输包,并采用Apache许可证、GPL、MIT许可证等多种自由软件许可协议开放源代码。shadowsocks分为服务器端和客户端,在使用之前,需要先将服务器端部署到服务器上面,然后通过客户端连接并创建本地代理。目前包使用Python、C、C++、C#、Go语言等编程语言开发。
运行原理:
Shadowsocks的运行原理与其他代理工具基本相同,使用特定的中转服务器完成数据传输。在服务器端部署完成后,用户需要按照指定的密码、加密方式和端口使用客户端软件与其连接。在成功连接到服务器后,客户端会在用户的电脑上构建一个本地Socks5代理。浏览网络时,网络流量会被分到本地socks5代理,客户端将其加密之后发送到服务器,服务器以同样的加密方式将流量回传给客户端,以此实现代理上网。

搭建教程

系统环境

1
2
3
4
5
服务器:阿里云共享型ECS
CPU: 1核
内存:512M
带宽:100Mbps(按量计费)
系统:CentOS-7.5_x86_64

安装步骤

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# 获取一键安装脚本
$ wget --no-check-certificate https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks-all.sh

# 修改脚本的权限
$ chmod +x shadowsocks-all.sh

# 执行脚本
$ ./shadowsocks-all.sh

# 执行后,会提示输入源码语言,密码、端口、及加密方式等。(语言我选的python,端口是xxxx,加密方式我这里选择aes-256-cfb)

# 执行成功后的日志(大概需要等一到三分钟左右)
INFO: loading config from /etc/shadowsocks-python/config.json
2019-01-22 00:30:27 INFO loading libcrypto from libcrypto.so.10
Starting Shadowsocks success

Congratulations, Shadowsocks-Python server install completed!
Your Server IP : xxx.xxx.xxx.xxx
Your Server Port : xxxx
Your Password : xxxx
Your Encryption Method: aes-256-cfb

Your QR Code: (For Shadowsocks Windows, OSX, Android and iOS clients)
ss://YWVzLTI1Ni1jZmI6MDYyMDE1QDQ3LjkwLjI1MS43NjoxMDIxNQ==
Your QR Code has been saved as a PNG file path:
/root/shadowsocks_python_qr.png

Welcome to visit: https://teddysun.com/486.html
Enjoy it!

ssserver 常用命令

1
2
3
4
5
6
7
8
# 查看使用帮助说明
$ ssserver --help

# 查看ssserver版本
$ sserver --version

# 启动、停止、重启
$ ssserver -c /etc/shadowsocks.json -d [start/stop/restart]

安装google的bbr加速

wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh && chmod +x bbr.sh && ./bbr.sh

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

# 关闭系统的防火墙
$ service stop firewalld.service

# 修改阿里云安全组配置开放刚才暴露的端口后重启服务器即可

# 下载安装脚本
$ wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh

# 修改脚本的权限
$ chmod u+x bbr.sh

# 执行脚本安装谷歌BBR加速
$ ./bbr.sh

# 安装完成之后重启服务器
$ reboot

# 查看bbr是否安装并启动成功
$ lsmod | grep bbr
$ sysctl net.ipv4.tcp_congestion_control

bbrPlus

1
2
3
4
5
# 一键安装脚本
wget "https://github.com/cx9208/bbrplus/raw/master/ok_bbrplus_centos.sh" && chmod +x ok_bbrplus_centos.sh && ./ok_bbrplus_centos.sh

# 安装后,执行 uname -r 显示 4.14.129-bbrplus 则切换内核成功
# 执行 lsmod | grep bbr 显示有 bbrplus 则开启成功

测试脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# CentOS 6.9 锐速
wget --no-check-certificate -O appex.sh https://raw.githubusercontent.com/0oVicero0/serverSpeeder_Install/master/appex.sh && chmod +x appex.sh && bash appex.sh install '2.6.32-642.el6.x86_64'

# Ubuntu/Debian BBR
wget --no-check-certificate -qO 'BBR.sh' 'https://moeclub.org/attachment/LinuxShell/BBR.sh' && chmod a+x BBR.sh && bash BBR.sh -f

# Ubuntu/Debian BBR魔改
wget --no-check-certificate -qO 'BBR_POWERED.sh' 'https://moeclub.org/attachment/LinuxShell/BBR_POWERED.sh' && chmod a+x BBR_POWERED.sh && bash BBR_POWERED.sh

# ZBench-CN.sh 测速脚本
wget https://raw.githubusercontent.com/FunctionClub/ZBench/master/ZBench-CN.sh && bash ZBench-CN.sh

# Docker 一键安装脚本
wget -qO- https://get.docker.com/ | sh

# H5网页测速 Docker
docker run -d -p 2333:80 ilemonrain/html5-speedtest:latest