什么是魔法丝袜之影
Shadowsocks,简称SS,又称魔法丝袜之影,是一种经过改良的Socks5代理,一般用于科学上网。Shadowsocks分为服务器端和客户端两部分,服务器端部署在GFW之外的主机上,客户端装在自己的电脑上。使用时只需要从客户端建立连接即可。
部署服务器端
需要准备的工具
购买并初始化VPS
首先我们需要一台国外的主机,独服(Dedicated Server)或者VPS(Virtual Private Server)皆可。只是用来搭建SS的话VPS的性能已经足够。
常用的国外VPS提供商有:
选择VPS时应当关注架构、月流量、延迟、与各节点数据传输速度、价格等问题,按需购买。
配置时,节点根据自己情况选择,操作系统选择Ubuntu 16.04。一切就绪后,初始化VPS。
连接到远程主机
与远程主机通讯需要借助一定的工具,常用的通信方案如下:
本地计算机 | 远程主机 | 通信工具 |
---|---|---|
Windows | Windows | 远程桌面 |
Windows | Linux | WinSCP、PuTTY等 |
我们在VPS上安装了Linux操作系统,所以通信工具选择WinSCP和PuTTY。
WinSCP的优点是有图形界面,符合Windows用户的使用习惯,用户可以像管理Windows一样管理自己的Linux主机。PuTTY的优点是可以让用户对主机发送交互式指令。二者搭配使用效果更佳。
启动WinSCP,打开登录界面,选择新建站点
,主机名
填写自己远程主机的IP地址,用户名
默认root,填写密码,点击登录
。
主界面左侧是本地计算机的文件目录,右侧是远程主机的目录,可以很方便地对远程主机的文件进行读写、上传下载等操作。
我们一般使用命令行界面进行SS的搭建,这时候就要用到PuTTY。PuTTY可以很方便地在WinSCP里面打开。点击工具栏里的在PuTTY中打开回话
按钮,或者按Ctrl+P
即可。
注意,如果WinSCP和PuTTY不是安装到默认的安装位置,则需要在WinSCP里手动指定PuTTY的安装目录。操作如下:
1. 点击菜单栏选项
–选项
,打开选项窗口。
2. 左侧点击集成
下级的应用程序
,右侧点击浏览...
指定PuTTY主程序路径。
更新内核并开启BBR
BBR是来自Google的黑科技,是一种开源的TCP拥塞控制算法。其作用说白了就是可以提高网速,让我们在科学上网时更加丝滑顺畅,可以流畅观看Youtube 1080P视频。
BBR是在4.9以上版本的内核中才有的功能,所以首先需要更新内核。
这里我们使用秋水逸冰的一键更新内核并开启BBR脚本。
登录后在PuTTY里输入以下命令(按鼠标右键可以粘贴):
wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh && chmod +x bbr.sh && ./bbr.sh
提示选择内核的时候随便选一个比较新的,安装完成后会提示是否重启,按y
重启。脚本执行完毕。
以下命令用于检测脚本是否成功执行。
首先验证内核是否更新:
uname -r
接下来验证是否开启了BBR:
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 已启动。部分VPS可能没有此返回值,也是正常情况。
安装SS服务器端
此处仍然使用秋水逸冰的一键安装脚本。
登录后在PuTTY里依次输入以下三条命令(按鼠标右键可以粘贴):
wget --no-check-certificate -O shadowsocks.sh https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks.sh
chmod +x shadowsocks.sh
./shadowsocks.sh 2>&1 | tee shadowsocks.log
安装过程中会要求输入以下配置信息:
- 端口号:1-65535任意一个
- 密码:在本地客户端登录使用
- 加密方法:可选aes-256-cfb
安装成功后会有以下提示:
Congratulations, Shadowsocks-python server install completed!
Your Server IP :your_server_ip
Your Server Port :your_server_port
Your Password :your_password
Your Encryption Method:your_encryption_method
Welcome to visit:https://teddysun.com/342.html
Enjoy it!
至此,服务器端的部署完成。
关掉PuTTY窗口,回到WinSCP,在右侧面板root目录下面会看到新生成的一个二维码图片,右键将其下载到本地,用来配置本地客户端。
配置本地客户端
在SS的GitHub页面下载SS的Windows客户端。
完成之后打开刚刚下载的二维码,在打开SS客户端,右键托盘图标,在弹出的菜单中选择服务器
–扫描屏幕上的二维码
即可一键配置完成。
如果需要手动配置,可以点击编辑服务器
输入服务器的信息。
如果有部署了多个SS服务器,可以将他们都添加到客户端,随时切换。
客户端的使用
右键托盘图标,选择启动系统代理即可启动科学上网。
代理模式可以选择PAC模式或者全局模式
- PAC模式是指只有PAC文件里面列出的网站才会启用科学上网,相当于一个规则库。本地PAC文件可以编辑,也可以使用在线PAC,在
PAC
菜单里设置。 - 全局模式是指访问所有的网站都会启用科学上网。
平时使用时一般PAC足够了。有时候因为运营商的原因导致某些网站访问困难时也可以使用全局模式,或者将他们写入PAC文件,继续使用PAC模式。
这时可以打开一个Youtube 1080P视频测试以下连接的速度。科学上网之路由此开始了。
附录
开启了BBR之后可以用bench.sh
测试VPS的性能。
用PuTTY登录主机,输入
wget -qO- bench.sh | bash
可以看到VPS的硬件信息、读写性能以及网络带宽等信息。