CentOS 5.5 服务器安装配置 ShadowSocks

作为生活在中国大陆的普通公民,当你想要登录一些当今世界知名的网站,比如 Google、Facebook、Twitter...得到的结果往往令人沮丧:

Google 无法访问

但是人类从来就不是遇到困难立刻就放弃的物种——正是因为这样,人类才能得以生存和发展——所以一系列科学上网的方式应运而生。我并非行家,所以相关理论知识不再多说。本文只是单纯记录我在服务器上安装配置 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 系统,都有相应的客户端,把刚才配置的服务器 IP 和端口,相应加密方式的密码都填好,就可以很方便得科学上网了。

fin.