兩種方法:
1.安裝shadowsocks命令行程序,配置命令
2.安裝shadowsocks GUI圖形界面程序,配置
第一種方法
安裝shadowsocks命令行程序
用PIP安裝很簡單
sudo apt-get update
sudo apt-get install python-pip
sudo apt-get install python-setuptools m2crypto
接着安裝shadowsocks
pip install shadowsocks
如果是ubuntu16.04 直接 (16.04 裏可以直接用apt 而不用 apt-get 這是一項改進)
sudo apt install shadowsocks
當然你在安裝時候肯定有提示需要安裝一些依賴比如python-setuptools m2crypto
,依照提示安裝然後再安裝就好。也可以網上搜索有很多教程的。
創建並配置json文件
在/etc/shadowsocks/
目錄下創建該 config.json
文件
sudo gedit /etc/shadowsocks/config.json
配置文件的內容大致如下:
{
"server":"服務器的ip",
"server_port":服務器的端口,
"local_address":"127.0.0.1",
"local_port":1080,
"password":"密碼",
"timeout":300,
"method":"aes-256-cfb",
"fast_open":false
}
啓動shadowsocks
安裝好後,在本地我們要用到sslocal ,終端輸入sslocal --help
可以查看幫助,像這樣
使用以下一條命令就可以啓動客戶端:
sslocal -c /etc/shadowsocks/config.json
這裏僅僅是啓動了shadowsocks還是不行的,我們還需要設置相關的代理。
轉換HTTP代理
Shadowsocks默認是用Socks5協議的,對於Terminal的get,wget等走Http協議的地方是無能爲力的,所以需要轉換成Http代理,加強通用性,這裏使用的轉換方法是基於Polipo的。
輸入命令安裝Polipo:
sudo apt-get install polipo
修改配置文件:
sudo gedit /etc/polipo/config
將下面的內容整個替換到文件中並保存:
# This file only needs to list configuration variables that deviate
# from the default values. See /usr/share/doc/polipo/examples/config.sample
# and "polipo -v" for variables you can tweak and further information.
logSyslog = false
logFile = "/var/log/polipo/polipo.log"
socksParentProxy = "127.0.0.1:1080"
socksProxyType = socks5
chunkHighMark = 50331648
objectHighMark = 16384
serverMaxSlots = 64
serverSlots = 16
serverSlots1 = 32
proxyAddress = "0.0.0.0"
proxyPort = 8123
重啓Polipo:
/etc/init.d/polipo restart
驗證代理是否正常工作:
export http_proxy=”http://127.0.0.1:8123/”
curl www.google.com
如果正常,就會返回抓取到的Google網頁內容。
另外,在瀏覽器中輸入http://127.0.0.1:8123/便可以進入到Polipo的使用說明和配置界面。
配置瀏覽器
在firefox
中
preference->advanced->network->connection->settings
中選擇手動設置代理,並將http代理設置爲127.0.0.1 端口8123 (就是之前第二步配置的port)
做到這步應該就能通過shadowsocks訪問了,但我遇到的電腦還是不行,後來將http代理下面的“Use this proxy server for all protocols(將代理應用到所有協議)”這個也鉤上纔可以了。
PS.如果跳過第二步,直接在第三部中配置http代理設置爲127.0.0.1 端口1080,有些文章中是這樣配置的,但是本人親測這樣無法連接上網。
Ubuntu開機後自動運行
現在可以科學上網了,可是每次開機都要手動打開終端輸入一條命令,雖然這條命令並不長,但是每次都去手動輸入,顯得自己很low,而且關掉終端代理就關閉了。
寫個腳本
我們可以在比如/home下新建個文件叫做shadow.sh,在裏面寫上我們啓動ss客戶端需要的命令,然後保存即可。
#!/bin/bash
#shadow.sh
sslocal -c /etc/shadowsocks/config.json
看可不可以我們到終端執行命令 sh /home/shadow.sh,如果成功的話會有信息輸出的。你也可以到瀏覽器去試試。這個時候你雖然輸入的少了,可是關了終端還是會掉的,我們可以讓他在後臺運行: (自己當初沒有使用後臺運行的方法)
nohup sh /home/shadow.sh &
加入開機運行
這裏我們需要在/etc下編輯一個叫rc,local的文件,需要root權限,在終端先su獲取root權限。
以下未細看:
這裏問題來了,因爲我們要開機啓動,要使用root權限來執行前面寫好的腳本,但如果你的shawdocks不是在root下裝的話,執行腳本是就會報錯:
“Traceback (most recent call last):
File “/home/gaoxw/.local/bin/sslocal”, line 7, in
from shadowsocks.local import main”
使用sudo安裝還是會報上面這個錯誤。
如果你有root帳號的話,然後vim /etc/rc.local編輯,在exit之前輸入nohup bash /home/shadow.sh>/home/d.txt & 保存。
這個時候你可以reboot重啓了,測試下看看能不能後臺自動運行,重啓你可以先去看下我們要他輸出d.txt,你竟然發現是 /home/shadow.sh line 3 :sslocal: command not found,打開瀏覽器果然是無法鏈接代理服務器。
經過一番搜索我們發現遠離linux是找不到sslocal這條命令?需要添加路徑,我們發現sslocal和ssserver這兩個命令是被存在 /usr/local/bin下面的,其實不用去profile添加了,直接把這兩個文件移動到/bin下,就可以了。
第二種方法
安裝GUI 圖形界面程序,然後按照提示配置相對應的參數。安裝教程地址:shadowsocks-qt5 安裝指南
在ubuntu上可以這樣,通過PPA源安裝,僅支持Ubuntu 14.04或更高版本。
sudo add-apt-repository ppa:hzwhuang/ss-qt5
sudo apt-get update
sudo apt-get install shadowsocks-qt5
由於是圖形界面,配置和windows基本沒啥差別就不贅述了。經過上面的配置,你只是啓動了sslocal 但是要上網你還需要配置下瀏覽器到指定到代理端口比如1080纔可以正式上網。
配置瀏覽器
假如你上面任選一種方式已經開始運行sslocal了,火狐那個代理插件老是訂閱不了gfwlist所以配置自動模式的話不好使。這裏用的是chrome,你可以在Ubuntu軟件中心下載得到。
安裝插件
我們需要給chrome安裝SwitchyOmega插件,但是沒有代理之前是不能從谷歌商店安裝這個插件的,但是我們可以從Github上直接下載最新版 https://github.com/FelisCatus/SwitchyOmega/releases/ (這個是chrome的)然後瀏覽器地址打開chrome://extensions/,將下載的插件託進去安裝。
設置代理地址
安裝好插件會自動跳到設置選項,有提示你可以跳過。左邊新建情景模式-選擇代理服務器-比如命名爲SS(叫什麼無所謂)其他默認之後創建,之後在代理協議選擇SOCKS5,地址爲127.0.0.1,端口默認1080 。然後保存即應用選項。
設置自動切換
接着點擊自動切換 ( Auto switch)上面的不用管,在按照規則列表匹配請求後面選擇剛纔新建的SS,默認情景模式選擇直接連接。點擊應用選項保存。再往下規則列表設置選擇AutoProxy 然後將這個地址填進去,點擊下面的立即更新情景模式,會有提示更新成功!
sorry編輯圖片時候少了一步,就是填好規則列表地址後先點擊立即更新情景模式 後再應用選項保存
https://raw.githubusercontent.com/gfwlist/gfwlist/master/gfwlist.txt
點擊瀏覽器右上角的SwitchyOmega圖標,下面選擇自動切換,然後打開google.com試試,其他的就不在這貼圖了。