这几天因为没有梯子被迫使用百度搜索非常难过,程序员果然离不开墙外调查啊……于是打算花费一笔小钱搞一个自己的梯子。

什么是 Shadowsocks?

首先附上 Github 仓库

Shadowsocks(简称SS)是一种基于 Socks5 代理方式的加密传输协议。现在较为广泛地用来突破 GFW

运行原理

  • 使用特定的中转服务器完成数据传输
    1. 用户就可以通过特定软件连接代理服务器
    2. 代理服务器获取网站内容并回传给用户
  • 为防止流量被识别和拦截
    • 服务器和客户端软件会要求提供密码和加密方式
    • 数据传输期间会对传入和传出流量进行加密

代理流程

其中:

  • 本机运行 local.py,默认监听 1080 端口,该端口代理浏览器请求
  • 服务器运行 server.py
  1. 例如此时要访问 Google,浏览器与 localhost:1080 进行一次 sock5 协议通信
  2. 完成通信后 local 知道要访问 Google
  3. local 将请求加密,并通过 TCP 协议发往海外服务器
  4. 海外服务器接收请求进行解密,访问 Google
  5. 海外服务器把请求后的结果返回给 local
  6. local 进行解密后返回给浏览器

购买服务器

看了一圈各种 VPS 供应商,相比较来说还是搬瓦工性价比更高些,于是最后还是选择了搬瓦工。

购买服务器没啥好说的,根据自己的需求进行选择。搬瓦工中文网 也有服务器配置的推荐。

我购买的是 49.9 刀一年的套餐,平均下来一个月也就 27 软妹币左右。csming 给了大力赞助,感恩!

搬瓦工的支付支持 Alipay,所以也不需要找人代付什么的,很方便。

安装 Shadowsocks

搬瓦工已经把一键安装 SS 的按钮隐藏起来了,所以我们需要通过命令行手动安装 SS。

重装系统

先在 Main controls 中暂停当前正在运行的服务器。

前往 Install new OS 安装新系统。选择 centos-6-x86-bbr 进行安装。

等待一段时间,安装完成后会在该页面告知服务器的端口号和密码,记得保存下来。

登录服务器

使用 ssh 命令登录服务器。端口和密码在上述的安装完成页面有给到,IP 地址可以在 Main controls 获取。

1
ssh -p<端口> root@<IP 地址>

回车后按照提示输入密码即可。

当然,你也可以使用搬瓦工自带的控制台操作服务器,只是我体验了一下觉得很卡,还是 ssh 更好些。

命令行安装

下载 .sh 脚本

因为 CentOS 系统是刚安装的新系统,我们先在系统上安装一下 wget

1
yum install wget

然后下载 shadowsocks.sh:

1
wget — no-check-certificate -O shadowsocks.sh https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks.sh

下载过程中按照命令行的提示输入 y 进行下载确认。

赋予脚本可执行权限

将脚本的权限修改为可执行。

1
chmod +x shadowsocks.sh

执行脚本

1
./shadowsocks.sh 2>&1 | tee shadowsocks.log

执行脚本时系统就在安装 shadowsocks。在这个过程中我们还需要根据命令行提示输入以下信息:

  1. 密码
  2. 默认端口号(使用页面给出的默认端口号就可以了)
  3. 选择加密方式

完成安装后会展示如下界面:

Enjoy it!!!