作为生活在中国大陆的普通公民,当你想要登录一些当今世界知名的网站,比如 Google、Facebook、Twitter…得到的结果往往令人沮丧:
但是人类从来就不是遇到困难立刻就放弃的物种——正是因为这样,人类才能得以生存和发展——所以一系列科学上网的方式应运而生。我并非行家,所以相关理论知识不再多说。本文只是单纯记录我在服务器上安装配置 ShadowSocks 的过程,以备有相似需求的人参考。
我的 VPS 运行的是 centos 5.5 系统,然后用 LNMP 安装包配置了运行环境。自带 Python 版本比较低,所以我先升级了 Python2.7 这里都也不在赘述。
一般来说,在网上可以找到的文章会告诉你先用 yum 安装 pip,然后再用 pip 安装 ShadowSocks 就可以完成安装过程:
# yum install python-setuptools && easy_install pip
# pip install shadowsocks
但是很可能你会遇到和我一样的结果:
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
YumRepo Error: All mirror URLs are not using ftp, http[s] or file.
Eg. /
removing mirrorlist with no valid mirrors: /var/cache/yum/base/mirrorlist.txt
Error: Cannot find a valid baseurl for repo: base
其实我并不知道到底怎么回事,总之应该是某些配置文件放错了位置或者内容缺失之类的,担心擅自改动会越来越糟所以干脆换手动安装方式,下面一步步来。
下载 pip1.5.5 并解压
# wget --no-check-certificate https://github.com/pypa/pip/archive/1.5.5.tar.gz
# chmod u+x 1.5.5
# tar -zxvf 1.5.5
可能还需要安装 setuptools
# wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz --no-check-certificate
# chmod u+x setuptools-0.6c11.tar.gz
# tar -zxvf setuptools-0.6c11.tar.gz
# cd setuptools-0.6c11
# python setup.py build
# python setup.py install
现在可以安装 pip
# cd ../pip-1.5.5
# python setup.py install
# pip install -U pip #更新pip
进行到这一步可能又会出问题,明明已经刚安装过 pip 却提示 pip: command not found
。这是因为运行 pip 时系统查询的路径并非你安装的路径,所以只要做一个路径指引即可:
# ln -s /usr/local/python2.7/bin/pip /usr/bin/pip
然后再次运行更新 pip 并且安装 shadowsocks:
# pip install -U pip
# pip install shadowsocks
配置文件
随便找个地方建立个 josn 格式的配置文件,比如 /etc/shadowsocks.json
内容如下:
{
"server":"my_server_ip", #服务器 ip
"server_port":25, #服务器端口
"local_address": "127.0.0.1",
"local_port":1080,
"password":"mypassword", #设置个密码
"timeout":300,
"method":"aes-256-cfb", #加密方式
"fast_open": false
}
后台启动和停止 shadowsocks 服务器:
# ssserver -c /etc/shadowsocks.json -d start
# ssserver -c /etc/shadowsocks.json -d stop
此处可能又会出现提示 ssserver: command not found
解决办法依然还是建立路径指引:
# ln -s /usr/local/python2.7/bin/ssserver /usr/bin/ssserver
开机启动
编辑 /etc/rc.local
文件,把刚才后台启动 shadowsocks 服务的命令加入进去,收工。
无论是 Windows、Mac OS、安卓或者 iOS 系统,都有相应的 shadowsocks 客户端,把刚才配置的服务器 IP 和端口,相应加密方式的密码都填好,就可以很方便得科学上网了。