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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章