Ubuntu下安装ShadowSocks Server和ShadowSocks Client

来源:互联网 发布:彩票合买代购源码 编辑:程序博客网 时间:2024/06/01 08:29

一般的ShadowSocks实现套装都包含有ShadowSocks Server(Socks Server的实现)和ShadowSocks Client(Socks Client的实现)(跟SSH的实现套装OpenSSH包含有SSH Server的实现和SSH Client的实现一样),常见的ShadowSocks实现套装有:shadowsocks-python,shadowsocks-go,shadowsocks-libev,shadowsocks-libqss(分别由Python语言,Go语言,C语言,C++语言实现)等。

备注:

另外也存在着单独的ShadowSocks Server和ShadowSocks Client,比如Shadowsocks-Qt5就是单独的ShadowSocks Client。


我们以"shadowsocks-libev"为例,进行安装说明。

1、安装基本原理

首先将"shadowsocks-libev"的源码下载到本地(shadowsocks-libev的github地址为:https://github.com/shadowsocks/shadowsocks-libev.git,为了能从github下载源码,需要已经安装好"git")
然后使用从源码编译安装“3步曲”进行安装(需要已经安装好"build-essential autoconf libtool libssl-dev gawk")
2、安装脚本

有一个Shell脚本文件,名称为"InstallShadowSocks.sh",它的内容如下:

#!/bin/bash#安装"git build-essential autoconf libtool libssl-dev gawk"apt-get updateapt-get install git build-essential autoconf libtool libssl-dev gawkgit clone https://github.com/shadowsocks/shadowsocks-libev.git#使用安装“3步曲”进行安装cd shadowsocks-libev./configure && makemake install

由于该脚本中的"apt-get install"命令需要一个"yes|no"的回答,因而具体执行以上脚本的命令如下:

echo "YES" | ./InstallShadowSocks.sh


在安装好"shadowsocks-libev"之后,接下来介绍如何在服务器上运行ShadowSocks Server和在本地机器上运行ShadowSocks Client。

一、运行ShadowSocks Server

执行"ss-server"命令,就可以运行ShadowSocks Server。运行ShadowSocks Server需要加载配置有基本选项值的配置文件,配置文件的格式支持JSON。

1.1、JSON配置文件

建立一个ShadowSocks Server运行时需要的配置文件,格式为JSON,路径为任意路径。
具体内容如下:
{    "server":"example.com or X.X.X.X",    "server_port":443,    "password":"password",    "method":"aes-256-cfb",    "timeout":60}
其中:
server:ShadowSocks Server所在机器的域名或者IP地址,尽量填IPserver_port:ShadowSocks Server监听的端口password:ShadowSocks Server配置的密码method:加密方式。默认为"table",其他有"rc4,rc4-md5,aes-128-cfb, aes-192-cfb, aes-256-cfb,bf-cfb, camellia-128-cfb, camellia-192-cfb,camellia-256-cfb, cast5-cfb, des-cfb"timeout:连接断开时间

1.2、运行

通过"ss-server"命令的帮助信息(执行"ss-server -?"命令可得),可知"-c"选项可以指定需要加载的配置文件的路径,因而我们可以通过该选项加载"1.1、JSON配置文件"中的JSON配置文件。

并且为了让ShadowSocks Server在后台持续运行,我们可以得到最终的运行ShadowSocks Server的命令如下:

nohup ss-server -c JSON配置文件路径 > log.out &


二、运行ShadowSocks Client

执行"ss-local"命令,就可以运行ShadowSocks Client。运行ShadowSocks Client需要加载配置有基本选项值的配置文件,配置文件的格式支持JSON。

2.1、JSON配置文件

建立一个ShadowSocks Client运行时需要的配置文件,格式为JSON,路径为任意路径。

具体内容如下:

{    "server":"example.com or X.X.X.X",    "server_port":443,    "local_port":1080,    "password":"password",    "method":"aes-256-cfb"}

其中:

server:ShadowSocks Server所在机器的域名或者IP地址,尽量填IPserver_port:ShadowSocks Server监听的端口local_port:本地监听端口password:ShadowSocks Server配置的密码method:加密方式。默认为"table",其他有"rc4,rc4-md5,aes-128-cfb, aes-192-cfb, aes-256-cfb,bf-cfb, camellia-128-cfb, camellia-192-cfb,camellia-256-cfb, cast5-cfb, des-cfb"

2.2、运行

通过"ss-local"命令的帮助信息(执行"ss-local -?"命令可得),可知"-c"选项可以指定需要加载的配置文件的路径,因而我们可以通过该选项加载"2.1、JSON配置文件"中的JSON配置文件。

并且为了让ShadowSocks Client在后台持续运行,我们可以得到最终的运行ShadowSocks Client的命令如下:
nohup ss-local -c JSON配置文件路径 > log.out &


参考文献:
[1]http://shadowsocks.org/en/index.html

[2]https://cokebar.info/archives/767

[3]http://stackoverflow.com/questions/3804577/have-bash-script-answer-interactive-prompts

[4]https://wiki.archlinux.org/index.php/Shadowsocks_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)

[5]https://shadowsocks.com/client.html

[6]http://www.ilucong.net/lulu/centos-debian-shadowsocks-libev.html

0 0
原创粉丝点击