使用Shadowsocks翻墙

为何翻墙?

在平时的工作与学习中,经常要使用搜索引擎,如果用百度搜索,搜出来的结果很多时候比较少,而且跟你想要的答案对不上号。

以前还以使用google来搜索,自从被墙了以后,也找过很多办法,包括找免费VPN,在线代理等,但是都不好用。

只能祭出终极大招了,自己搭代理(自己搭VPN也可以)。

关于Shadowsocks

自从有了GFW之后,一般情况下,你访问的任何信息,都会经过它。这样它就可以过滤掉它不喜欢的东西了,例如google。

于是人们就想出了很多办法去绕过GFW,就是使用国外的服务器代理。比如:HTTP代理,Socks服务,VPN服务,SSH tunnel等。

用代理的方式也会通过GFW,但是传输的数据经过加密,GFW无法解密,也就无法过滤相关的内容,这样我们就可以想怎么上网就怎么上。

代理界有个很出名的工具叫Shadowsocks,我们就是用它搭建代理服务器。下图就是shadowsocks的原理图:

原理图

配置环境

  • 一台国外的VPS:我的在美国(如果没有,那不用看下去了)
  • VPS的系统:CentOS6.5 x86_64
  • 我的手提电脑:Archlinux x86_64

操作步骤

安装shadowsocks

VPS上安装代理服务器shadowsocks

0)安装一些基础包

1
$ yum install -y openssl openssl-devel python-devel autoconf libtool libevent

1)安装python2.7

系统默认的python版本是2.6,而且yum也是需要2.6,所以系统要同时存在2.72.6两个版本。

我把python安装到目录/usr/local/python,同时让yum继续使用2.6

1
2
3
$ rename python python2.6_bak /usr/bin/python
$ ln -s /usr/local/python/bin/python /usr/bin/python
$ sed -i 's@^#!/usr/bin/python$@#!/usr/bin/python2.6@g' /usr/bin/yum

2)安装pip

3)安装swig

yum安装的swig版本太旧,把它卸载掉,安装一个新版本。

1
2
3
4
5
$ wget http://jaist.dl.sourceforge.net/project/swig/swig/swig-3.0.0/swig-3.0.0.tar.gz
$ tar zxvf swig-3.0.0.tar.gz
$ cd swig-3.0.0
$ ./configure
$ make & make install

4)安装以下python库

1
2
3
$ pip install M2Crypto
$ pip install greenlet
$ pip install gevent

安装M2Crypto可以使用 aes-256-cfb 或者 bf-cfb 等加密方式,增加安全性。安装gevent可以获得更好的性能

注:安装M2Crypto可能会出错,提示找不到opensslconf-x86_64.h,这时候可以直接下载M2Crypto的源码编译安装即可。

5)安装shadowsocks

1
$ pip install shadowsocks

至此, shadowsocks安装完成。

配置shadowsocks

1)下载shadowsocks启动脚本

1
2
$ wget --no-check-certificate https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks -O /etc/init.d/shadowsocks
$ chmod +x /etc/init.d/shadowsocks

2)写配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
$ cat > /etc/shadowsocks.json <<EOF
{
"server":"0.0.0.0",
"local_address":"127.0.0.1",
"local_port":1080,
"timeout":300,
"port_password":
{
"19898":"password"
},
"method":"aes-256-cfb",
"fast_open":false
}
EOF

3)启动配置

1
2
3
$ chkconfig --add shadowsocks
$ chkconfig shadowsocks on
$ service shadowsocks start

连接shadowsocks

前面已经在vps上安装好了代理服务器,现在就要在我的手提上连接代理服务器,翻墙了。

1)安装shadowsocks

1
$ sudo pip install shadowsocks

在随便一个目录下新建文件sslocal.json

1
2
3
4
5
6
7
8
9
{
"server": "45.56.x.x",
"server_port": 19898,
"local_address": "127.0.0.1",
"local_port": 1080,
"password": "my password",
"timeout": 300,
"method": "aes-256-cfb"
}

执行sslocal -c sslocal.json &启动本地代理客户端。

2)浏览器安装代理插件

平时我一般使用firefox上网,可以安装一个插件autoproxy来连接本地代理的客户端。

配置代理为127.0.0.1,端口为1080

google的时候设置为选用代理就行了。

用hexo写作

工作以来,一直是在自己的电脑搭一个博客,并没有开放出去。后来直接用wiki写文字、写总结。写的都比较凌乱无章。现在慢慢的,会把自己的一些文字放到网上。

以前用的博客都是wordpresswiki用的是dokuwiki(现在也还在用)。本博客用的是hexo,直接用markdown写作,简单快捷。

Hexo官方网站:https://hexo.io

现在我写文章的流程如下:

  1. 在hexo的source目录下新建一个markdown文件
  2. 使用CutemarkEd编辑器写markdown
  3. 执行hexo g生成静态文件,本地预览
  4. 提交文件到我在Bitbucket的git仓库
  5. 执行一个发布命令,发布到我的VPS
  6. 完成

整个流程就是这么方便。

,