科学上网,搭建个人shadowsocks

概念

shadowsocks的详细概念看这里

Shadowsocks的运行原理与其他代理工具基本相同,使用特定的中转服务器完成数据传输。
在服务器端部署完成后,用户需要按照指定的密码、加密方式和端口使用客户端软件与其连接。在成功连接到服务器后,客户端会在用户的电脑上构建一个本地Socks5代理。浏览网络时,网络流量会被分到本地socks5代理,客户端将其加密之后发送到服务器,服务器以同样的加密方式将流量回传给客户端,以此实现代理上网。

搭建步骤

配置远程服务端

需要自行配置远程的服务器,我这里使用的是第一年免费的AWS(Amzon Web Service), 见配置文档

之后通过ssh登录服务器:

1
sudo ssh -i key.pem username@ip address

安装pip,通过前者安装shadowsocks:

1
2
apt-get install python-pip
pip install shadowsocks

自定义配置,修改config.json:

1
2
3
4
5
6
7
8
9
10
{
"server":"0.0.0.0",
"server_port":8888,//自定义端口,可配置多个
"local_address":"127.0.0.1",
"local_port":1080,
"password”:"yourpassword”,//和端口绑定的密码
"timeout":600,
"method":"aes-256-cfb",//加密方式
"fast_open":false
}

后台开启、停止ss进程:

1
2
ssserver -c /path/to/shadowsocks.json -d start
ssserver -c /path/to/shadowsocks.json -d stop

本地客户端

点击此处根据需要下载对应操作系统的安装包。

此处以mac为例,安装成功后自行选择全局or自动代理模式(推荐)
在服务器设定中输入正确ip, 端口,加密方式和密码,开启后便可以开始科学上网了~

浏览器代理(可选)

在chrome应用商店搜索SwitchyOmega,根据提示操作即可让chrome浏览器根据不同域名自行选择是否用ss代理。

使用Google BBR加速网络(可选)

简介

Google BBR是谷歌公司提出的一个开源TCP拥塞控制的算法。在最新的linux 4.9及以上的内核版本中已被采用。对于该算法的分析,这里有一篇文章值得一读。经本人和同事的测试(youtube上看720p以上分辨率的视频),在开启BBR后,ss可以跑满带宽,提速效果很明显。由于Google BBR非常新,任何低于4.9的linux内核版本都需要升级到4.9及以上才能使用。

搭建步骤

一键安装脚本: 以root身份登录服务器,运行以下命令

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

安装成功会提示重启服务器,输入

uname -r

查看内核版本,含有 4.9 就表示 OK 了

sysctl net.ipv4.tcp_available_congestion_control

返回值一般为:
net.ipv4.tcp_available_congestion_control = bbr cubic reno

sysctl net.ipv4.tcp_congestion_control

返回值一般为:
net.ipv4.tcp_congestion_control = bbr

sysctl net.core.default_qdisc

返回值一般为:
net.core.default_qdisc = fq

lsmod | grep bbr

返回值有 tcp_bbr 模块即说明bbr已启动。