利用 DigitalOcean 和 Shadowsocks 进行科学上网

  1. 学生优惠
    1. 申请 edu 邮箱
    2. 申请 GitHub 学生优惠
  2. 注册 DigitalOcean 并使用优惠
  3. 创建 DigitalOcean 服务器
  4. 远程连接
  5. 部署 Shadowsocks 服务器端
    1. 在服务器上安装 Shadowsocks
    2. 配置 Shadowsocks
  6. 使用锐速进行加速
  7. 配置 Shadowsocks 客户端
    1. Windows 客户端
    2. Android 客户端
    3. iOS 客户端
  8. 结语

一说到如何科学上网,很多人首先想到的就是 VPN(虚拟专用网络)。确实,现在网络上的各种 VPN 层出不穷。不过,VPN 用起来却并不友好。免费的不稳定,而且有流量和网速限制,甚至有些还会有广告。收费的又太贵,一般人也不愿意花那些钱,尤其是没有收入的学生。那么最好的解决方法就是自己搭建 VPS(虚拟专用服务器) 了。最近几年,通过在 DigitalOcean 上面搭建 Shadowsocks 进行科学上网的方式得到了很多人的青睐。DigitalOcean 是一家云基础架构提供商,为用户提供虚拟专用服务器。Shadowsocks 是一款代理软件,分为服务器端和客户端。在使用之前,需要先将服务器端部署到服务器上面,然后通过客户端连接并创建本地代理,便可以实现科学上网,愉快地访问 Google 和 YouTube 这些网站了。DigitalOcean 与 GitHub 合作,为学生用户提供了 50 美元的优惠,而 DigitalOcean 上面最便宜的服务器是每个月 5 美元,只用来科学上网的话完全够用,这样就可以使用 10 个月了。同时,DigitalOcean 提供一种邀请奖励机制:Give $10, Get $25。意思是别人点击你的邀请链接注册后,他可以得到 10 美元(可以用2个月呢)。而当他在 DigitalOcean 上面累计消费了 25 美元之后,你就可以得到 25 美元的奖励。优惠力度确实很大,通过学生优惠和别人邀请,直接就可以免费使用一年。如果你心动了的话,那么就跟着我一起来实现吧。我平时看别人的教程的时候,不管是哪方面的,发现很多都只是说了要做什么,但并没有说要怎么做,甚至有些时候都不知道命令应该在哪里输入。那么本文将尽量写的详细,避免这种问题,让你只需要看完这一篇就可以成功地实现科学上网。搭建过程中遇到任何问题都可以给我发邮件(我相信你能找到我的邮箱)。

学生优惠

首先来领取学生优惠,如果你不是学生,那么可以直接跳到后面注册 DigitalOcean 部分,来注册获得 10 美元的邀请奖励。如果你不是学生却又想领取学生优惠,那么你可以找学生朋友帮忙,借他们的学校邮箱来用(大多数学校都会给学生提供学校邮箱),只会用到几封邮件,不会对他们的隐私信息造成损害,相信很多人还是愿意的。具体的优惠政策是这样:DigitalOcean 提供的 50 美元的优惠是和 GitHub 合作的,在 GitHub 上面进行了学生认证后,可以得到一个在 DigitalOcean 上面使用的优惠码。我们用优惠码去 DigitalOcean 兑换,账户就可以获得 50 美元了。

申请 edu 邮箱

首先进入学校的邮件系统,一般网址是 mail.学校英文简称.edu.cn,不知道的话可以百度。然后申请到学校的邮箱,具体怎么申请还是要看自己学校的说明。比如说清华和北大的邮件系统首页就没有申请的地方,而我不是这两所学校的学生,所以也不清楚具体怎么操作。而北京航空航天大学和中南大学邮件系统的首页就有用户注册链接。

申请 GitHub 学生优惠

点击链接 Student Developer Pack 进入如下页面:

点击 Get your pack,进入 GitHub 登录页面。如果你已经有了 GitHub 账号,那么直接输入用户名和密码,点击 Sign in 登录。如果还没有,那么点击下面的 Create an account 进行注册。

填写你的用户名,邮箱,密码,然后点击 Create an account 注册。这里提醒一下,如果你是做开发的,或者想搭建自己的个人博客(后边会再写一篇文章来专门介绍如何搭建自己的博客,会用到 GitHub),那么你有必要去详细了解一下 GitHub。这里注册的时候邮箱也最好写自己的常用邮箱,因为学校的邮箱很多时候收件都不及时。但如果你只是想科学上网,那么填之前申请到的学校邮箱也可以。

注册成功后,选择你的个人计划。第一个是免费的公开仓库,第二个是每月 7 美元的私人仓库,我们选第一个,然后点击 Continue

现在回到了 Student Developer Pack 的页面。

先保留页面,然后去邮箱验证你的账号。如果没收到,可以查看垃圾邮件或者再等等,学校邮箱接收邮件是真的很慢。收到后,点击 Verify email address 即可验证成功。

之后再点击 Student Developer Pack 页面的 Yes,I'm a student 进入以下页面。

Verify academic status 那里,需要选择你的学校邮箱。如果你之前注册用的就是学校邮箱,那么就直接是了。但如果你之前注册时用的是自己的常用邮箱,那么你还需要点下面的 add and verify it 添加和验证学校邮箱。成功后这个列表就会有两个邮箱地址,然后选择学校邮箱。School name 就填学校的英文全称,Graduation year 选你的毕业年份,How do you plan to use Github 主要写你打算用 GitHub 干什么,我就写了一句 I'll public my program at GitHub.。优惠能不能申请成功看的其实不是这个,而是学校的邮箱。全部填完后点击 Submit Request 进入如下页面。

然后点击上面的 Student pack,页面跳转后再点击 Get your pack,便成功领到了学生礼包。页面往下翻,看到 DigitalOcean,点击 Request your offer code to get access,即可看到你的优惠码。将这个优惠码保存下来,后面会用到。

注册 DigitalOcean 并使用优惠

首先点击链接注册,你会看到这句提示:Free credit active: You have a $10 credit from a friend. Complete registration to get started.。意思就是从朋友那里获得了 10 美元,完成注册即可领取。

输入你的邮箱和密码(是你以后登录这个网站的密码,并不一定要是邮箱的密码哦),点击 Create an Account 注册。这里的邮箱强烈建议写自己的常用邮箱,因为后面会接收一些账号信息之类的邮件,学校的邮箱接收邮件太慢,真的不方便。其实我们前面用学校的邮箱主要是为了获得那个优惠码,优惠码获得成功后那个邮箱就可以功成身退了。

注册后邮箱会收到一封验证邮件,点击链接验证,验证后进入以下页面进行支付方式的选择。

DigitalOcean 提供两种支付方式:信用卡和 PayPal。如果你有信用卡,那么输入信用卡的各项信息,最后点击 Save Card 即可成功,不需要有任何消费。如果你没有信用卡,那么可以选择 PayPal。不过使用 PayPal 的话最少要充值 5 美元,差不多就是 34 元人民币。其实也不贵,相当于你花 34 元使用 13 个月的服务。PayPal 支持银联卡支付,填写相应的信息后付款即可。如果你想申请学生信用卡,早点开始管理个人信用,那么可以看这里,非常详细全面。

不管是信用卡还是 PayPal,添加成功后会进入以下创建服务器的页面。

我们先不着急创建服务器,而是用前面获得的优惠码兑换 50 美元。点击图中右上角的头像,选择 Settings,然后点击左侧的 Billing,你会看到你的账户有 10 美元(如果是用 PayPal 的话,应该是 15 美元),这就是之前通过邀请链接注册的奖励。

然后往下翻,你就可以看到 Promo code。输入你的优惠码,如果正常,那么点击 Apply Code 即可成功兑换。如果提示 Account not eligible to use this promo code. 或者 Sorry, this promo cannot be applied to your account. Most promos are valid for new customers only.,那么就说明不能直接兑换,需要联系工作人员。点击页面顶端的 Support 进入 Support Center,点击右边的 Support tickets 进入以下页面。

然后点击 Create New Ticket,给工作人员写一封反馈(用英文写)。大概就写你是一名学生,从 GitHub 领到了学生开发包,但是注册 DigitalOcean 后不能成功地使用优惠码,出现了什么提示,希望问题可以得到解决,并附上你的优惠码。然后就进入等待时间,几个小时以后,工作人员就会回复你的反馈,并将优惠添加到你的账户,然后你就会有 60 美元了。(这 60 美元的有效期为 12 个月哦,即使你没有创建服务器,12个月后依然会失效,自己充值的余额不受影响)
注意:不要用同一张信用卡或者同一个 PayPal 账户来支付两个及以上的 DigitalOcean 账号,这样会被认为是欺骗行为,他们的原则是一个用户使用一次优惠。情节较轻的话,只是不给你添加优惠;情节较重的话,会被封号!

创建 DigitalOcean 服务器

点击图中的 Create Droplet 来创建服务器。

进入以下页面后首先需要选择服务器的操作系统版本,也就是 Choose an image。可以看到,这里提供的 6 种系统都是 Linux 发行版。可能有人就会问了:我的电脑用的是 Windows 系统,那我应该选哪一个呢?选了之后我怎么操作呢?(我当时就有这个疑问,手动滑稽)其实这里是给服务器选系统,跟你的电脑系统没关系,如果本身电脑是 Windows 系统(比如我),那么后面会用软件跟服务器远程连接来进行操作。我们在搭建完服务器后,会对服务器进行锐速加速,所以这里选系统要考虑到锐速的版本,有些系统的内核是不支持锐速加速的(尽量不要选择最新的系统版本)。如果你不想纠结这么多,那么就跟我选一样的吧,我选的是 CentOS 6.9 x64(不过系统版本更新较快,如果你搭建的时候没有这个,可以选 CentOS 其他的,但如果到后面锐速不能成功安装,可以发邮件给我)。选不同的 Linux 系统,后面部署的命令会不一样,这里只提供 CentOS 系统的,其他的就要靠你自己去搜索了。Choose a size 就选每月 5 美元的吧,够用了。Choose a datacenter region 是要选择服务器所在的位置,主要看的是速度,在这里可以选择不同的节点进行测速,最后选择那个 ping 值小,下载速度和上传速度高的节点即可,一般 NYC1、SFO1、SFO2 都还是比较快的。我这里选择 NYC1。其他的都可以先保持默认不变,以后想修改的时候再改。

然后点击 Create,等一会就可以创建成功了。

同时你的邮箱会收到一封邮件,里面包含了你的服务器 ip 地址,用户名,密码。

如果没有收到,那么去看看垃圾邮件,尤其像 QQ 邮箱很容易将这种邮件识别为垃圾邮件。现在你已经拥有了自己的服务器,我们接下来就在服务器上部署 Shadowsocks。

远程连接

不过在部署 Shadowsocks 之前,我们需要先用软件跟服务器进行远程连接,这样我们才能给它发送命令。用到的软件是 Xshell,在这里下载。下载完成后安装,安装时注意在安装类型这里要选 免费为家庭/学校 ,安装完成后运行。

在会话框点击 新建,进入新建会话属性框。

右侧 名称 随便输入,主机 输入邮件中的服务器 ip 地址。然后点击左侧 用户身份验证,右侧 用户名密码 直接从邮件中复制粘贴过来,然后点击 确定,再点击 连接

弹出 SSH 安全警告,点击 接受并保存

登录成功后,需要修改密码,当前密码还是从邮件复制过来(Xshell 中粘贴不能用 Ctrl + V,而要右键点击 粘贴,粘贴后密码是隐藏的,看不到,直接回车就可以了)。然后自己设置新的密码(Xshell 中输入数字时用主键盘上面的数字,不要用数字小键盘),还是隐藏的,两遍输入相同的话便完成了。

部署 Shadowsocks 服务器端

使用 Xshell 与服务器成功远程连接后,就可以在 Xshell 中输入命令进行 Shadowsocks 服务器端的部署了。

在服务器上安装 Shadowsocks

依次输入下列命令安装 Shadowsocks(注意数字是行号,不用输入哦,输入前一句命令回车,完成后再输入下一句。如果这些命令中有不成功的,一定请发邮件告诉我):

yum -y install epel-release
yum -y install python-pip
pip install shadowsocks

配置 Shadowsocks

输入下面的命令新建一个文件(这个文件是创建在服务器上的,在你的本地电脑是没有的哦):

vi /etc/shadowsocks.json

这样我们就新建并打开了一个文件,里面空空如也,按下键盘上的 “i” 键进入编辑状态(“i” 代表 “insert”,这样我们才能修改这个文件),把下面的内容复制进去:

{
"server":"0.0.0.0",
"server_port":8388,
"local_port":1080,
"password":"yourpassword",
"timeout":600,
"method":"aes-256-cfb"
}

这里只需要将 yourpassword 改为你自己的密码,其他的不变(输入数字时别用小键盘)。然后按下键盘上的 Esc 退出编辑状态,再按下 Shift + :(不用按 “+” 号啊,就是 Shift 键和 : 键同时按),输入 wq,然后回车,即可保存。

然后输入下面的命令启动服务:

ssserver -c /etc/shadowsocks.json -d start

到这里,Shadowsocks 的服务器端就部署好了,再配置好客户端就可以科学上网了,不过我们先来对服务器进行锐速加速,不然即使能够访问 YouTube,也是看不了 1080P 的视频的,速度太慢了。

使用锐速进行加速

首先,在 Xshell 中输入下面命令查看 CentOS 的系统版本:

cat /etc/redhat-release

我们这里由于创建时选的是 CentOS 6.9 ,所以查询结果就是 6.9。
然后,在 Xshell 中输入下面命令查看 CentOS 的内核版本:

cat  /proc/version

可以看到这里内核版本是 2.6.32-696.3.1.el6.x86_64。

然后打开网站 91 云(如果这个网站崩了打不开,也请发邮件反馈),浏览查找跟自己的系统版本和内核版本相近的(很少有完全相同的情况),找到后点击链接进入。这里选的是 CentOS/6.8/2.6.32-642.el7.x86_64/x64/3.11.20.4/0/serverspeeder_68642。

然后复制命令输入到 Xshell 中,回车即可安装锐速。安装完成后,可以看到服务器加速正在运行。

配置 Shadowsocks 客户端

这里分别在 Windows、Android、iOS 三个系统上配置 Shadowsocks 来进行科学上网。

Windows 客户端

下载地址在这里,最新版是 4.0.1(2017 年 4 月),下载后解压,找一个专门的文件夹放置,双击运行。

在编辑服务器窗口,服务器地址填你的服务器 ip 地址,密码填你配置的密码,备注随便输入,其他不用改,然后 确定

在电脑桌面右下角的图标上点击鼠标右键,选中 启动系统代理,然后即可成功开始科学上网。有必要的话,可以再选中 开机启动,方便很多,不会对开机速度有太大影响。帮助中的 显示日志 可以查看实时网速。在浏览器地址栏输入 www.google.comwww.youtube.com 即可畅游 Google 和 YouTube。

Android 客户端

国内的应用市场一般没有 Shadowsocks 的 Android 客户端,Google Play 商店有,但需要先科学上网才能用,所以我把安装包放在了百度云盘,地址在这里,密码是 jr8z。安装完成后打开,点击右上角的 “+”,选择 手动设置。在服务器和密码项分别输入你自己的服务器地址和密码,然后在路由中选择仅代理中国大陆无法访问的地址,选择右上角的保存。然后点击选中你添加的这一条,左边会变成绿色,然后点击右下角的图标,图标变绿后即可正常使用,手机状态栏会出现一个钥匙状的标志。

iOS 客户端

我在 iOS 平台上没找到 Shadowsocks 官方的 App,同时,iOS 系统很多可用的客户端已被下架,包括我用的 Shadowrocket(目前已被下架,之前安装的使用不受影响)。PP 助手里面可以搜到一个 Wingy,目前可用(2017 年 10 月)。安装后点击右上角的 +,选择 Shadowsocks(R) 类型,在服务器和密码项输入你自己的服务器和密码,端口填 8388,然后保存。线路添加成功后,点击首页的 未连接 ,在弹出框中选择 Allow,添加成功后即可正常使用。

结语

如果哪一天你忽然发现你的服务器失去了功效,你无法访问你想访问的网站,那么你可以在 Xshell 中重新输入上面第 5 步启动服务的命令(ssserver -c /etc/shadowsocks.json -d start),看能不能好,如果能好,说明是服务停止了,如果好不了,可以在 digitalocean 的网站上销毁这个服务器(如果在服务器上保存了文件的话,记得取出来),然后从上面第 3 步开始重新创建服务器,重新部署,一般用 5 分钟就可以完成操作。希望可以帮到你!