使用Shadowsocks进行科学上网

因为最近将代理服务器换成了日本的机器,因为写一篇文章,做一个记录,也简单介绍下如何使用Shadowsocks搭建代理服务器,关注具体搭建过程的朋友,请直接看如何科学上网——准备工作开始的内容。

实际操作需要一定的技术实力,至少可以在linux系统上进行文字编辑。

一些简单的介绍

什么是科学上网?

随着个人电脑、智能手机的普及,互联网,已经成为我们日常生活中不可或缺的重要组成部分。有人戏称,断网是对一个人最大的惩罚。那么,对于我们每天使用的网络,它是“互联”的吗?

很遗憾,答案并不是。

古时候,长城(Great Wall)保护着中原大地不受外敌入侵;如今,防火长城(Great Firewall,以下简称GFW)组织者外部网络的“入侵”。虽然GFW阻止了我们访问一些不良网站, 但是同时,一些优秀的国外网站也被拒之门外,不得不说是一个遗憾。

因此,我们需要解锁上网的新姿势——科学上网。

什么样的人需要科学上网

虽然,使用一些特殊的方法,我们可以获取到互联网上的全部内容(不包括暗网,好孩子不要去搜),但是,并不是每一个人都需要使用科学上网。

对于大部分网民来说,我们国内的优秀网站,足够满足大部分人的日常所需。而且这些网站都是针对国人定制的,相比一些墙掉的网站,拥有更好的用户体验。80%的网民其实是不需要翻墙的。

那么剩下的呢?以笔者为例,作为一个程序员,需要经常上网找一些国外的资料,科学上网不但会让我能够访问一些平时无法访问的网站,同时对于一些可以访问的网站,也能获得更好的浏览体验。一些外文的学术资料,Google搜索也要比百度更靠谱一些(主观判断,无实际论据)。

如何科学上网

原理简介

具体的原理可以再开一篇了,所以只是简单的介绍一下。

你可以脑补这样的一个画面,你跟一个阿尔及利亚人说话,他听不懂你说什么,你听不懂他说什么,你们两个没有办法交流。这个时候来了一个翻译,你把你想说的话对翻译说,然后翻译再讲给阿尔及利亚人,他也是一样。这样通过翻译你们建立了正常的交流。

科学上网也是一样,你本来无法访问到google,但是你搭建了一个代理服务器(翻译),你把想搜索的内容发送给代理服务器,代理服务器去向google发送实际的请求,然后再把请求的结果返回给你,完成了一次完整的请求。

使用工具——Shadowsocks

笔者只使用过Shadowsocks(下文简称ss)进行科学上网,因此本文也只会对ss科学上网的方法进行介绍。

准备工作

如上文介绍,我们需要一个“翻译官”。首先,我们需要找一个机器的提供商,笔者使用过DigitalOcean和ConoHa的机器,另外Vultr和Linode也有很多人推荐。

只介绍使用过的两家:

  • DigitalOcean:之前使用的是阿姆斯特丹的机器,5刀/月,价格不过,不过毕竟离得有点远,延迟也比较高,支持visa
  • ConoHa:现在使用的一家,日本的公司,低配900日元/月,价格稍贵,不过胜在不限流量,而且日本的机器速度也会快一点,支持visa和支付宝
  • vultr : 刚从北京转移到了苏州的时候,苏州联通访问ConoHa的服务器莫名的慢,所以迁移到了vultr上。相比于ConoHa,存在着价格的优势,不过从速度上来看,还是ConoHa快一些

安装ss

首先我们要连接到机器上,上述两家都有控制台提供,点击之后,输入我们设置的机器密码。登录之后,我们就可以开始安装ss之旅了。

  • 安装pip

    1
    2
    wget https://bootstrap.pypa.io/get-pip.py // 下载pip
    python get-pip.py // 安装pip
  • 安装ss

    1
    pip install shadowsocks

上述几个命令就可以完成ss的安装

服务端配置和启动

安装完ss后,我们需要建一个配置文件shadowsocks.json,打开你最习惯的文本编辑器,输入如下内容:

1
2
3
4
5
6
7
8
9
10
11
12
{
"server" : "你申请机器的时候的ip地址",
"local_address" : "127.0.0.1",
"local_port" : 1080,
"port_password" : {
"8388" : "testpassword",
"8488" : "testpassword"
// 如果想要配置多个用户,在这里添加一个端口,并设置一个你喜欢的密码
},
"timeout" : 600,
"method" : "aes-256-cfb"
}

配置之后,启动也很简单

1
ssserver -c shadowsocks.json

如果想在后台启动,可以尝试

1
nohup ssserver -c shadowsocks.json > /dev/null 2>&1 &

本地连接ss服务端

本地连接,可以使用ss提供的客户端,进行很简单的配置就可以开始科学上网了

客户端配置页面

打开本地客户端后,你可能会看到这样的设置,地址一栏填写服务端的ip地址,端口和密码对应配置文件中设置的内容,备注中可以填写你喜欢的内容,确定

欢迎来到更大的世界 : )

附录

windows和mac的客户端文件:
链接: http://pan.baidu.com/s/1geYBcAZ 密码: rab6

再无耻地附上ConoHa的推广链接:
https://www.conoha.jp/referral/?token=P7fwTixqAi6F6vfcXurS0HywouJDvFbbWISDyweOcDr5T8iVjDc-86D

同样无耻地附上vultr的推广链接:
http://www.vultr.com/?ref=7126266

多一份关怀,多一份爱