上网利器之shadowsocks

一、shadowsocks介绍

ShadowSocks—科学上网之瑞士军刀

除去广为人知、人见人爱的VPN,其实还有十八般兵器存在于科学上网界,其中ShadowSocks可以说是其中一把功能齐全的瑞士军刀。服务器端提供了各种版本,如Python、Nodejs、Go、C、libev等等,安装配置过程极其简单。而用户端则可以在windows、mac、iOS和android上轻松运行,很好很强大。

官网地址:www.shadowsocks.org

Shadowsocks是什么?

码农对于shadowsocks应该不陌生,而一般普通网民可能知之甚少。shadowsocks实质上也是一种socks5代理服务,类似于ssh代理。与vpn的全局代理不同,shadowsocks仅针对浏览器代理,不能代理应用软件,比如youtube、twitter客户端软件。如果把vpn比喻为一把屠龙刀,那么shadowsocks就是一把瑞士军刀,轻巧方便,功能却非常强大。

喜欢上shadowsocks的理由

很多时候,我们仅仅只是需要上一下google,收个gmail邮件,或者打开某个网站瞄一眼看看有无更新。这种情况下,vpn可以做到吗,可以,但是很麻烦,连个vpn,也得掉一次线,有时候还连半天连不上。而通过ss的话呢,后台运行一个小程序,然后浏览器点击切换一下SS的网络,就可以了。不用的时候,再切回来。这也就是其轻巧的地方。

二、上网利器之EC2搭建shadowsocks

A、服务端配置

申请AWS

1、打开 AWS官网 http://aws.amazon.com/cn/free/

2、输入邮箱,选择新用户,点击 登录

3、填写注册信息,点击 创建账户

4、填写信用卡信息,点击 继续

5、填写手机号码,点击 立即呼叫我

几十秒后就会有一个电话打来,等电话里的妹子说完话,输入PIN码

输完后,妹子又说几句话就挂了电话,这时身份验证已经完成,点击 继续 选择支持方案。6、选择方案,默认选基本,点击 继续7、这时账户创建成功,点击 启动管理控制台

新建EC2

进入AWS主页,选择第一个:EC2

2、进入EC2控制台,选择右上角 弗吉尼亚北部,弹出下拉菜单,推荐选择 亚太地区(东京)

3、选择符合条件的免费centos

4、默认的选择第一个即可,点击审核和启动

5、点击启动,

6、创建新密钥对,输入名称,点击下载密钥对(一个*.pem文件),保存到电脑上,点击启动实例

7、这样就创建好一个在东京的服务器节点,点击查看实例

这个时候AWS开始初始化的你的服务器节点,大概需要一两分钟

连接远程服务器

windows

首先,找到刚刚保存的*.pem文件,比如文件名叫amazon.pem,确认文件路径, 打开xshell终端,进到amazon.pem文件所在目录

安装shadowsocks依赖

1.rpm -Uvh //安装epel源

2.yum install python-pip // 安装python包管理工具

3.pip pip install shadowsocks // 安装shadowsocks

4.ssserver -c /etc/shadowsocks.json -d start // 启动shadowsocks(需要先配置*.json,参考如下)

配置shadowsocks

vi /etc/shadowsocks.json

(ps. 可能有人不会用vi,这里简单说下,vi打开文件后,按i即可进入编辑状态,编辑完后,按esc退出编辑状态,按:进入命令状态,输入wq即可保存并退出,还不懂的话自行百度vi吧)

单一端口配置:

{

"server":"0.0.0.0",

"server_port":端口,

"local_address":"127.0.0.1",

"local_port":1080,

"password":"连接密码",

"timeout":300,

"method":"aes-256-cfb",

"fast_open":false

}

多端口配置:

{

"server":"0.0.0.0",

"port_password": {

"端口1": "连接密码1",

"端口2" : "连接密码2"

},

"timeout":300,

"method":"aes-256-cfb",

"fast_open": false

}

开启AWS入站端口

配置好shaodowsocks后,还需要将配置中的端口打开,这样客户端的服务才能链接得上EC2中的shadowsocks服务首先打开正在运行的实例,向右滚动表格,看到最后一项,安全组,点击进入

点击操作,编辑入站规则

默认是开启了一个22端口(这是给ssh访问的),再建一个如下图红框标示的端口,我的shadowsocks配置的端口是8388,所以这里就开启8388,

订单监控

AWS提供的服务是每个月15G流量,目前我不知道有什么方法可以监控每个月流量使用的情况,但是可以通过设置订单监控来提醒我是否有超过免费使用的额度,即每当我的账号费用超过$0,那amazon就会发邮件提醒我。

点击右上角的用户名 -> 我的账户,然后点击左边首选项即可打开以下页面,勾选接收账单报警,点击 保存首选项。

3、点击左上方服务,点击 账单

4、点击 设置第一个账单警报5、点击 创建账单警报

6、第一个项填写0即可,第二项填写你能接收到邮件的邮箱地址,点击 创建警报

7、这时会弹出这个页面,这个时候登录邮箱,打开Amazon发来的邮件(有可能在垃圾邮件里),点击邮件里的链接确认即可

8、登录邮箱确认后,点击查看报警, 这样就完成了订单监控。

至此,服务端的要做的事情就全部完成了。

B、客户端配置

这里主要介绍windows+chrome

1.下载一个shadowsocks的客户端程序

官网地址:www.shadowsocks.org

2.运行解压后文件夹中的“shadowsocks.exe”

3.右下角找到程序图标,右键图标,“服务器”--“编辑服务器”,如下图,设置好shadowsocks的账号信息,点确定;

4.再次右键程序图标,勾选“启用系统代理”。

Tips:

系统代理模式一项,可以选择“PAC模式”和“全局模式”。PAC模式即需要代理的网站才代理,不需要代理的则通过本地网络访问,可以理解为,访问国内网站还是和你原来的网络一样,只有访问部分国外网站,才通过shadowsocks服务器。全局模式则是访问所有网站都通过shadowsocks服务器。

如何关闭shadowsocks呢?shadowsocks程序直接关闭就行了。

5.安装chrom插件SwitchyOmega(其实就是以前的switchsharp),配置代理很简单,只需要两步。

5.1.配置代理

5.2.配置自动切换

规则列表地址:

https://autoproxy-gfwlist.googlecode.com/svn/trunk/gfwlist.txt

6.设置自动切换代理。

6.1双击1个资源未加载

6.2选择情景模式,添加条件。

7.接下来,可以在chrome中直接打开youtube试试,测试OK,没问题。