使用Shadowsocks科学上网

2017-07-02

简介

码农一枚
工作所需,许多技术问题在Google上一查便知,大大地帮助了我解决各种技术疑难杂症
Gmail,个人觉得最最最好用的邮箱,但国内经常无法登录
偶尔上下油管、tumblr小小的怡情一下,速度嘛要求必须高,时间便是金钱~

尝试过购买商家VPN,也中转过几家,总结有以下几个缺点:

  1. 价格贵。
  2. 有流量限制,流量越高,价格越高。
  3. 不稳定,看油管1080P跑不动。
  4. 连接设备数量限制。
  5. 商家说不定哪天就跑路啦,哈哈。

在查询了各种资料后,最终选择了以下组合方案:
Vultr + Shadowsocks + tcpspeed

该组合能将带宽利用最大化,看油管、tumblr高清视频毫无压力。

知识点

看完本篇文章,你将学会以下技能:

  1. 注册并购买VPS(推荐Vultr,便宜量又足)。
  2. 在VPS上创建CentOS 7系统,安装Shadowsocks服务端,设置并开启Shadowsocks服务。
  3. 在macOS上安装Shadowsocks客户端,设置并使用。
  4. 为了全速利用带宽,购买tcpspeed,在CentOS上安装服务端,并在macOS上开启tcpspeed加速。
  5. 编写Python脚本,简化tcpspeed的启动步骤。

Vultr + Shadowsocks + tcpspeed 分别是什么?

Vultr是一个VPS租用商,提供了8个套餐,如下:
Alt text

Shadowsocks是一个基于Socks5的代理工具,分为服务端和客户端工具。

tcpspeed是一个加速方案,能使Shadowsocks最大限度地利用带宽,用官方说法,优势如下:

  1. 速度更快,延迟更短,摆脱tcp协议先天局限性,可以最大限度利用带宽,速度为单边加速2-30倍。
  2. 稳定性更好,抗干扰能力更强,在高丢包,延迟环境下,单边加速下降到几百KB每秒,而TCPSpeed仍然能满速运行。
  3. 响应更迅速,瞬间加载图片,音乐,视频。

开销

目前本人使用该组合方案近2年的时间,体验下来速度非常快,花费如下:

  1. VPS选用的Vultr家的,5美金/月
  2. tcpspeed是一个加速工具,作者常年打折促销,159元(一次性消费)购买1个激活码。1个激活码用于1台服务器,不限客户端数量,更换ip,重装系统,更换服务器只需用原激活码重新激活即可继续使用,可以多次使用部署。

选择VPS的目的还有一个,可以在上面搭建各种好玩的项目,码农闲不住,就喜欢折腾Hello world~

Vultr家的VPS

注册Vultr账号

点击进入无敌好用便宜量足的Vultr,在Email Address和Password中分别填入邮箱和密码,然后点Create Account创建账号,如下图所示:
Alt text

然后去邮箱中确认校验地址,如图所示:
Alt text

注册好账号后,进入到Servers界面,然后创建一个服务节点:
Alt text

选择日本节点:
Alt text

选择CentOS系统:
Alt text

选择$5/月的套餐:
Alt text

其他的都不用勾选,点击Deploy Now,租用VPS的步骤就搞定了,将会在Server中看到一个服务节点:
Alt text

点击进去,查看IP地址和密码:
Alt text

假设你的查看到的IP地址是45.63.12.11使用终端工具远程登录服务器:

1
2
3
4
5
6
# ssh root@45.63.12.11
root@45.63.12.11's password:

输入你查看到的Vultr密码

[root@vultr ~]#

当你看到[root@vultr ~]#时,说明已经登录成功。

接下来可以使用命令安装Shadowsocks:

1
2
# yum install python-setuptools && easy_install pip
# pip install shadowsocks

安装成功后,就可以配置shadowsocks的相关配置了,主要为Shadowsocks密码,假设设置为12345678(自己随意改),如下图所示:

1
2
3
4
5
6
7
8
9
10
11
# vi /etc/shadowsocks.json
{
"server":"0.0.0.0",
"server_port":8989,
"local_address":"127.0.0.1",
"local_port":1080,
"password":"12345678",
"timeout":300,
"method":"aes-256-cfb",
"fast_open":false
}

配置完后,服务端的Shadowsocks就算是搭建并部署好了,接下来在macOS上安装Shadowsocks客户端。

macOS上安装Shadowsocks客户端

下载Shadowsocks客户端,打开服务器设定:
Alt text

前面假设过你租用的VPS日本节点IP为45.63.12.11,这个以你实际租用IP地址为准,密码为Vultr上Shadowsocks配置的12345678,新增如下配置:
Alt text

然后点击mac导航栏上的Shadowsocks,选中新增的配置:
Alt text

这些都配置完后,就可以打开浏览器试试油管是否可以打开了:
Alt text

可爱的油管出现啦~
但现在的带宽利用率还未发掘到最大,接下来使用tcpspeed将带宽利用最大化。

tcpspeed购买 + Vultr服务端部署

tcpspeed注册和购买,自己去完成吧,很简单~

假设已购买好,会看到如下所示的页面:
Alt text

继续在vultr远程终端上安装tcpspeed工具:

1
2
3
4
5
# rm -f install_tcpspeed.sh ; wget http://www.tcpspeed.com/tcpspeed/install_tcpspeed.sh ; chmod +x install_tcpspeed.sh ; ./install_tcpspeed.sh 2>&1 | tee install.log

# sh /xs/dactivate.sh 激活码

# sh /xs/start.sh

再给tcpspeed工具添加一个每晚3点自动重启的定时器:

1
2
# crontab -e
0 3 * * * sh /xs/restart.sh

回到macOS设置tcpspeed客户端

添加配置如下:
Alt text

其中密码为之前设置的12345678。

然后选中它:
Alt text

下载tcpspeed客户端,将其放置在Applications中:
Alt text

创建tcpspeed文件,将以下代码黏贴进去:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/usr/bin/python

import os

class cd:
"""Context manager for changing the current working directory"""
def __init__(self, newPath):
self.newPath = os.path.expanduser(newPath)

def __enter__(self):
self.savedPath = os.getcwd()
os.chdir(self.newPath)

def __exit__(self, exc_type, exc_val, exc_tb):
os.chdir(self.savedPath)

with cd("/Applications/tcpspeed_client"):
os.system("sudo java -jar tcpspeed_client.jar")

将tcpspeed文件移至/usr/local/bin中,将该文件改为可执行文件:

1
# chmod 755 tcpspeed

在终端中输入命令运行tcpspeed:

1
2
3
# tcpspeed

填写密码

注意:运行tcpspeed需要sudo,所以要填写密码。
如果你不怕安全问题,可以在Python脚本中填入系统登录密码,这样就不用每次运行tcpspeed时输入密码了。
可以直接把最后一句话改为:

1
os.system("echo 'macOS系统登录密码' | sudo -S java -jar tcpspeed_client.jar")

设置tcpspeed:
Alt text
Alt text

接下来就可以打开油管看视频啦,1080P 毫无压力,秒开高清视频:
Alt text

开心的造起来吧,tumblr上资源多,啊哈哈,譬如用强大的Google搜索:
Alt text

DONE~!!!