Ubuntu 16.04系统中代理工具shadowsocks-qt5的使用方法

Ubuntu 16.04系统中代理工具shadowsocks-qt5的使用方法

严正声明:本文仅用于学术研究,不用于其他目的。
对于搞研究的人而言,不能上Google这样的网站,真是一件令人难受的事情。目前网上的代理工具(天下没有免费的午餐,当然要花点小钱了)大多基于Windows系统,对于我这样经常使用Linux系统的人,真是不幸。既然没有轮子,那就自己造一个吧。在开源项目网站GitHub一搜,果然有宝物,这就是“shadowsocks-qt5”。下面结合“shadowsocks-qt5”提供的帮助文档和我自己的实际体会,将Ubuntu 16.04系统中“shadowsocks-qt5”的安装、配置和使用方法分享一二。

一、安装方法

1.通过PPA源安装,仅支持Ubuntu 14.04或更高版本

按快捷键“Ctrl+Alt+T”打开命令终端,执行如下命令:

sudo add-apt-repository ppa:hzwhuang/ss-qt5
sudo apt-get update
sudo apt-get install shadowsocks-qt5

2.使用源代码安装

若要使用源代码安装,请到网址:https://github.com/shadowsocks/shadowsocks-qt5,下载源代码,将其解压到合适的位置后,在终端使用如下命令编译安装:

mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr
make -j8   
sudo make install

二、配置方法

按下键盘上的Super键(带有Windows窗口徽标的那个键)或直接点击桌面左侧工具栏第一个按钮,在弹出的窗口中输入:“shadow”,就会出现程序图标:“Shadowsocks-Qt5”,点击打开该程序,得到界面如下图所示。
搜索程序
程序界面
点击“连接->添加->手动”菜单,手动填入相关内容(注意服务器地址、服务器端口、密钥等信息需要购买或从他人处获得):
配置信息

配置项 解释
配置名称 「连接」的名称
服务器地址 Shadowsocks服务器的IP地址或者域名
服务器端口 Shadowsocks服务器的端口
密钥 Shadowsocks的加密密钥
本地地址 本地代理服务器监听IP地址
本地端口 本地代理服务器监听端口
本地服务器类型 本地代理服务器的类型
加密方式 Shadowsocks的加密方式
一次验证 对数据包进行校验以提升CCA安全性(实验性功能,需要最新的shadowsocks-libev服务端)
超时 TCP连接的最长空闲时间(秒)
重置数据流量 流量统计中本期的最后一天,超过该天后,本期流量将被重置清零
自动化 程序启动时自动连接(Shadowsocks-Qt5启动时自动激活该「连接」)
调试 日志打开Debug级别的输出

完成后点击“OK”按钮退出配置对话框,点击工具栏中“连接”按钮,连接到代理服务器。如果程序工作不稳定,可以执行菜单命令 “文件 -> 手动保存”将配置文件手动更新。

三、全局代理设置方法

3.1 开启方法

点击桌面右上角的“设置”(齿轮形状图标)按钮,执行“系统设置”菜单命令,在弹出的窗口中点击“网络”,进入网络设置界面,打开“网络代理”页面,前面的http项留空,后面按照下图所示填写。退出后,打开Chrome浏览器,即可以访问Google等网站了。
网络设置1
网络设置2
网络设置3

3.2 关闭方法

点击屏幕右上角的“设置”(齿轮形状图标)按钮,执行“系统设置”菜单命令,在弹出的窗口中点击“网络”,进入网络设置界面,打开“网络代理”页面,按照下图所示选择代理方法:无。退出后,打开Chrome浏览器,就可直接上网。
无代理

四、Chrome浏览器使用方法

直接在系统中开启全局代理,有时并不合适,最好还是在浏览器中单独设置代理,下面以常用的Google Chrome浏览器为例进行说明。对于作者使用的Ubuntu 16.04系统而言,Google Chrome浏览器不支持在浏览器中单独设置代理,但可以通过安装插件:“SwitchyOmega”(https://www.switchyomega.com/)的方式加以解决。该插件的安装很简单,参照网页中的方法即可。配置方法参见下图:

4.1 手动代理连接方式:

手动代理配置

4.2 自动代理连接方式(图中指定格式的域名直接连接,默认使用代理连接):

自动代理配置

五、Firefox浏览器使用方法

Firefox浏览器是Ubuntu 16.04自带的浏览器,它似乎不支持全局代理方式,下面给出其手动设置代理的步骤(如下图所示),注意:一定要勾选“使用SOCK5 v5代理DNS”选项,否则仍然无法正常浏览Google等网页。
firefox_1
firefox_2
firefox_3

六、命令行使用方法

有时我们还需在命令行中通过“wget”等命令访问Google等网站,这时需要单独对命令行的代理进行设置。操作方法如下:

6.1 使用下述命令安装“proxychains”:

sudo apt-get install proxychains

6.2 使用vi或其他编辑器编辑配置文件“/etc/proxychains.conf”,将文件的最后一行修改为如下内容:

sudo vi /etc/proxychains.conf
socks5  127.0.0.1 1080

重启终端或使用如下命令让配置文件生效:

sudo source /etc/proxychains.conf

6.3 通过如下命令,在命令行中使用代理:

# 单次使用
proxychains wget http://www.google.com
# 在整个命令行窗口使用
proxychains bash

执行上述命令时,可能会出现如下错误:

ERROR: ld.so: object 'libproxychains.so.3' from LD_PRELOAD 
cannot be preloaded (cannot open shared object file): ignored.

这是因为系统未正确找到动态库文件libproxychains.so.3造成的,解决办法就是将该动态库的路径添加到系统变量LD_PRELOAD中。
首先使用如下命令查找动态库libproxychains.so.3的真实路径:

sudo find / -name libproxychains.so.3

在我机器上的结果为:

find: `/run/user/1000/gvfs': 权限不够
/usr/lib/x86_64-linux-gnu/libproxychains.so.3

接下来将/usr/lib/x86_64-linux-gnu/libproxychains.so.3添加到系统变量LD_PRELOAD中:

echo "export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libproxychains.so.3" >> ~/.bashrc && source ~/.bashrc

可以使用如下变量查看系统变量LD_PRELOAD的新值:

echo ${LD_PRELOAD}

在我机器上的结果为:

/usr/lib/x86_64-linux-gnu/libproxychains.so.3

再次运行proxychains就不会报错了。

七、将Shadowsocks转化为一个HTTP代理

首先,安装并运行polipo,通过该工具创建一个端口为8123的HTTP代理服务器,在其内部将HTTP请求转换为Shadowsocks请求:

apt-get install polipo
service polipo stop
polipo socksParentProxy=localhost:1080

拉下来可以在另一个命令行终端中使用此HTTP代理服务器:

http_proxy=http://localhost:8123 sudo apt-get update
https_proxy=http://localhost:8123 curl www.google.com
https_proxy=http://localhost:8123 wget www.google.com

猜你喜欢

转载自blog.csdn.net/davidhopper/article/details/78883450