Wednesday, May 4, 2016

科学上网工具xSocks的安装与使用

最近在FinalSpeed(简称FS)的网站看到,FS已经有了所谓高级版(从而从免费走向了收费),其名字已改为XSocks。由于想到FS已经开源,所以有点好奇这个XSocks是不是开源的。于是就去GitHub上搜xsocks,结果果然没有找到此处的XSocks。不过,名字相同或相似的却有好几个,其中一个叫做xSocksx为小写)的引起了我的注意,因为它的一个页面提到了GFW,说明这个xSocks很可能也是中国人写的。于是,我就尝试在自己的VPS(系统为Debian Jessie)上安装它。当然,在安装的过程中遇到一些麻烦,主要是缺少一些依赖,但都逐一解决。由于至今没人写过这个工具的使用,于是我就写一写吧。

归纳起来,使用xSocks的主要步骤如下。

(A)服务端的安装

(1)安装最新版的libtool(xSocks-0.4.4要求libtool的版本为1.4.2或其以上)。到GNU libtool的官网首页查看其最新版的版本号及其下载链地址,最新版为2.4.6,于是安装它:

wget http://ift.tt/1ruTUtt
tar zxvf libtool-2.4.6.tar.gz
cd libtool-2.4.6
./configure && make && make install

装完后,用 libtool –version 查看版本,确认已是最新的 2.4.6。

注意:不要用apt-get install libtool来安装,因为这样装上的版本太低。

(2)安装autoconf和pkg-config:

apt-get install autoconf pkg-config

(3)下载源码包:

git clone http://ift.tt/1OeneJI
cd xSocks
make    //这一步有点漫长。
make install    //GitHub上的项目主页中写上了make install,但是执行之后什么貌似什么也没发生。

至此,xSocks就安装完成了。

在服务端运行,使用xSocksd命令,直接执行xSocksd或xSocksd –help(注意大小写),就能输出该命令的使用方法:

root@hostname:~# xSocksd
xSocksd Version: xSocksd/0.4.4 Maintained by lparam
Usage: xSocksd [-l bind] <-k password> [-p pidfile] [-c concurrency] [-t timeout] [-s signal] [-nhvV]

Options:
-k <password> : password of server
[-l <bind address>] : bind address:port (default: 0.0.0.0:1073)
[-d <dns>] : name servers for internal DNS resolver
[-t <timeout>] : connection timeout in senconds
[-u] : enable udp relay
[-c <concurrency>] : worker threads
[-p <pidfile>] : pid file path (default: /var/run/xSocks/xSocksd.pid)
[--signal <signal>] : send signal to xSocksd: quit, stop
[-n] : non daemon mode
[-h, --help] : this help
[-v, --version] : show version
[-V] : verbose mode

于是运行:

xSocksd -k passpass    //假设使用密码“passpass”

但是出错,提示没有xSocksd.pid文件:

root@hostname:~/xSocks# xSocksd -k passpass
root@hostname:~/xSocks# 2016/04/27 06:16:41 [ERR]: open "/var/run/xSocks/xSocksd.pid" failed (2: No such file or directory)

于是只好尝试手动创建一个xSocksd.pid(可以放在你想要的任何路径)。这里假设放在/root目录中。于是就这样运行:

xSocksd -k passpass -p /root/xSocksd.pid

没有任何输出,但是运行是成功的。通过 cat /root/xSocksd.pid,可以看到xSocksd.pid中的进程号xxx。如果想终止xSocks的运行,直接kill xxx即可。

(B)客户端

(1)Windows客户端。作者已经提供了编译好的Windows客户端。如下图:

xSocks

诶,这个界面是不是和我们所熟悉的某个工具极其相似呢?没错,这很可能就是经过修改的SS吧。使用方法和SS的客户端几乎一样,就不多说了。

(2)Linux客户端

Linux客户端的安装与服务端一样,不是的是,通过xSocks命令来运行。类似地,可以执行xSocks或xSocks –help来查看使用说明。可能也需要手动创建pid文件。由于本人还未在Linux客户端用过,就不在此啰嗦了。感兴趣的可以试试。

GitHub:http://ift.tt/1OeneJF

原文:http://ift.tt/1ruTSli




via 细节的力量 http://ift.tt/1roCfUa

No comments:

Post a Comment