概念
shadowsocks的详细概念看这里
Shadowsocks的运行原理与其他代理工具基本相同,使用特定的中转服务器完成数据传输。
在服务器端部署完成后,用户需要按照指定的密码、加密方式和端口使用客户端软件与其连接。在成功连接到服务器后,客户端会在用户的电脑上构建一个本地Socks5代理。浏览网络时,网络流量会被分到本地socks5代理,客户端将其加密之后发送到服务器,服务器以同样的加密方式将流量回传给客户端,以此实现代理上网。
搭建步骤
配置远程服务端
需要自行配置远程的服务器,我这里使用的是第一年免费的AWS(Amzon Web Service), 见配置文档。
之后通过ssh登录服务器:
安装pip,通过前者安装shadowsocks:
自定义配置,修改config.json:
后台开启、停止ss进程:
本地客户端
点击此处根据需要下载对应操作系统的安装包。
此处以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身份登录服务器,运行以下命令
安装成功会提示重启服务器,输入
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已启动。