在海外买台VPS,除了干些正事之外,不用来科学上网总觉得少了点什么。搭建OpenVPN是一个选择,不过shadowsocks的搭建和配置更加简单,特别是配置多用户使用。
在开始之前,可以参考一下shadowsocks的官网或者github上面的shadowsocks项目。
shadowsocks有几个服务器端版本,分别是Python,Go,C with libev和C++ with Qt。其中Python是shadowsocks的作者clowwindy制作,安装和使用最为简单,而且支持多端口。
首先查看一下Python的版本,保证是2.6或者2.7。
$ python --version
Python 2.7.3
然后使用PIP安装。
$ pip install shadowsocks
假如你看到pip: command not found
的错误,那就要先安装一下PIP了。
Redhat, CentOS或者Fedora
$ yum -y install python-pip
Debian或者Ubuntu
$ apt-get install python-pip -y
运行ssserver -help
验证shadowsocks已经正确安装。
$ ssserver -help
option -e not recognized
usage: ssserver [OPTION]...
A fast tunnel proxy that helps you bypass firewalls.
You can supply configurations via either config file or command line arguments.
Proxy options:
-c CONFIG path to config file
-s SERVER_ADDR server address, default: 0.0.0.0
-p SERVER_PORT server port, default: 8388
-k PASSWORD password
-m METHOD encryption method, default: aes-256-cfb
-t TIMEOUT timeout in seconds, default: 300
--fast-open use TCP_FASTOPEN, requires Linux 3.7+
--workers WORKERS number of workers, available on Unix/Linux
--forbidden-ip IPLIST comma seperated IP list forbidden to connect
--manager-address ADDR optional server manager UDP address, see wiki
General options:
-h, --help show this help message and exit
-d start/stop/restart daemon mode
--pid-file PID_FILE pid file for daemon mode
--log-file LOG_FILE log file for daemon mode
--user USER username to run as
-v, -vv verbose mode
-q, -qq quiet mode, only show warnings/errors
--version show version information
Online help: <https://github.com/shadowsocks/shadowsocks>
最简单的方法是直接传参启动。其中443是服务器端口,SSpwd20160731#是密码,aes-256-cfb是使用AES 256bit加密,-d start指示启动服务。
$ ssserver -p 443 -k SSpwd20160731# -m aes-256-cfb -d start
利用-d stop参数可以关闭shadowsocks服务。
$ ssserver -d stop
更为好的方法是创建一个配置文件,然后把配置文件通过参数c传给ssserver。
首先创建一个shadowsocks目录,当然这不是必须的。
$ mkdir /etc/local/shadowsocks
shadowsocks的配置文件使用json格式。你也可以参考shadowsocks wiki上面的说明。下面的命令在/etc/local/shadowsocks里创建了一个叫config.json的配置文件。参数和刚才的命令一样。
$ cd /etc/local/shadowsocks
$ cat >> config.json << EOF
{
"server_port":443,
"password":"SSpwd20160731#",
"method":"aes-256-cfb"
}
EOF
然后执行下面的命令就可以使用配置文件启动shadowsocks了。
ssserver -c /usr/local/shadowsocks/config.json -d start
配置文件里面使用port_password可以让shadowsocks服务开放多个端口,而且每个端口使用独立的密码。
{ "port_password": { "8381": "Password1#", "8382": "SPassword1#", "8383": "Password1#", "8384": "Password1#" }, "method":"aes-256-cfb" }
为了让每次开机都运行,把下面的命令加入到/etc/rc.local
里面。
/usr/local/bin/ssserver -c /usr/local/shadowsocks/config.json -d start
文章评论