不過發文之後,有不少人反映現在 VPN Server 在中國大陸已經沒辦法翻牆了,必須改用其他服務才行。在經過大家的推薦以及我網路爬文之後,現在必須改用 ShadowsSocks 這個 VPN 服務才能從中國大陸翻牆出來。針對中國大陸翻牆,我已經拜託朋友從深圳用中國電信 SIM 卡,透過架設在台灣 NAS 上的 ShadowSocks 翻牆確認過了,不僅速度快,Facebook 與 Line 等也都能用。所以今天我就來跟大家分享如何在 Synology NAS 上安裝 ShadowSocks 囉~
在 Synology 上安裝 ShadowSocks 有兩種方法,一個是透過 Docker 安裝,另一個則是我在網路上爬到的用 Python 來安裝。雖然 Docker 看起來比較簡單,直接透過圖像介面點一點就能安裝,但由於我試了半天也無法讓 Docker 上的 ShadowSocks 正常啟用,所以我就教大家使用我自己實測可以用的 Python 安裝法吧!
這個安裝過程需要開啟 NAS 的 SSH 功能,開啟方法請參考官方教學。在 Mac 上用 SSH 指令要靠應用程式資料夾裡的終端機.app(Terminal.app),在工具程式資料夾裡面;在 Windows 上貌似是要用 piutty,但我跟 Windows 不熟,所以請各位自己想辦法吧!
接下來我們就開始安裝囉!
首先要安裝 Python,直接從 Synology 的套件中心裡面搜尋 Python 就可看到上圖的兩個套件,通通安裝即可。安裝完之後我們還要安裝 Bootstrap,不過這不在官方套件來源裡,必須另外新增社群套件來源,如下圖:
在套件中心的設定裡(視窗右上角),點擊「套件來源」,新增這個來源:
https://www.cphub.net
新增完成之後按下確定,接著再回到套件中心裡面,點擊左邊側邊欄最下方的「社群」。
你會看到這裡出現一大堆沒看過的套件,我們要安裝的是右邊第二排的 Easy Bootstrap Installer,直接點擊安裝套件即可。等到這個套件也安裝完之後,我們就完成 NAS 圖形介面裡的工作啦~接下來就要用終端機 App 以 SSH 連線進 NAS 進行 ShadowSocks 安裝。
打開終端機之後,輸入 ssh 你的nas帳號@你的nas ip,例如你的帳號是「admin」而 nas ip 是 192.168.1.99,那就是輸入
ssh admin@192.168.1.99
接著按下 Enter。在按下 Enter 之後會需要輸入密碼,而在輸入密碼的過程中,畫面上是不會顯示任何字母的,所以直接輸入密碼按下 Enter 即可。
登入之後,先輸入
sudo -i
按下 Enter 之後會需要再輸入一次跟剛剛一樣的登入密碼,再輸入一次就對了。
請注意,使用 sudo -i 之後,你會被切換到擁有最高權限的 root 帳號,這時候你輸入任何會更動系統的指令都會直接生效而不需要密碼。因此一旦用了 sudo -i,請千萬記得不要亂輸入你不懂的密碼,不然你的系統就此 GG 我也救不了你。
取得最高權限之後,我們要先安裝 pip 功能,這可以幫助你等等直接用指令自動下載 Python 程式來安裝。請輸入:
wget https://bootstrap.pypa.io/get-pip.py
按下 enter 之後就會自己下載v了,速度很快,不需要等太久。
下載了 get-pip.py 之後,我們得執行它讓他幫你把 pip 套件給安裝好。請輸入:
python get-pip.py
接著按下 enter。在安裝過程中會跳出如上圖的紅色警示,不過你的警示如果跟上圖一樣的話,其實不會以想 ShadowSocks 使用,可以繼續做下一步。但建議你可以看到警示時就先螢幕截圖拍下來,這樣如果最後你的 ShadowSocks 不能用,也可以方便回頭找原因。
有了 pip 套件之後,我們就可以直接下指令讓他自己下載安裝 ShadowSocks 了。請輸入:
pip install shadowsocks
按下 enter 之後就會開始安裝了,這裡也可能會遇到警示,解法跟前一個步驟一樣。完成安裝之後我們要對 ShadowSocks 進行設定,這樣才能正常登入。請輸入:
vi /etc/shadowsocks.json
按下 enter 之後會進入下圖的介面,這是用 vi 文字編輯工具對 shadowsocks.json 這個檔案進行編修,請見下圖。
一開始進入時可能會看到上圖的文字,也可能完全空白。請先按下鍵盤上的 i 進入編輯模式,接著讓他裡面出現如下文字:
{
"server":"0.0.0.0",
"server_port":8388,
"local_address":"127.0.0.1",
"local_port":1080,
"password":"123456",
"timeout":300,
"method":"aes-256-cfb"
"fast_open":false
}
上面文字中的紅色文字是你的 ShadowSocks 登入密碼,請自己改成你想要的密碼即可。其他的數值則不用特別去動它,除非你想要更改 ShadowsSocks 的加密方式或是 Port 什麼的。
完成輸入之後,按下鍵盤的 esc 按鈕,接著輸入 :wq 按下 Enter 存檔離開 vi 工具。離開回到指令介面之後,再次輸入
vi /usr/lib/python2.7/site-packages/shadowsocks/crypto/util.py
我們要把這裡面的四行程式去掉,讓他失去作用。
按下 i 之後,找到第 59 行的 else:(可以看右下角的數字,他會顯示游標所在行數),從 else 開始往下到第四行 paths.append(path),在每一行的開頭都增加一個 # 井號,讓他變成註解,這樣就不會有作用了。完成之後,一樣按下鍵盤 esc,接著輸入 :wq 之後按下 enter 存檔離開。
到這裡我們就完成 ShadowsSocks 的安裝與設定囉!接著我們要啟用他,請輸入:
ssserver -c /etc/shadowsocks.json -d start
看到 starter 字樣之後,ShadowSocks 就完成啟用啦!不過這樣我們還不能開始連線,得開啟 Router 的連接阜轉送才行,如下圖:
把目標 IP 指向你的 NAS,開啟 8388 port 給他就可以了。
開啟之後我們就可以來測試連線啦!iPhone 請下載 FirstWingy 這個 App,是免費的,其他手機平台請自行 Google。下載之後,點擊右上角的 + 加號,接著輸入你的 ShadowSocks 連線資訊。最上面的服務器欄位輸入你的 NAS 對外 IP,下面端口密碼等就依照剛剛那個 shdowsocks.json 裡面的資料填寫。
填寫完成之後,按下那個大大個開關按鈕,就會連線囉!完成連線之後你應該會在你的 iPhone 上看到如下的圖像:
在左上角會顯示小小的 VPN 字樣,而在設定的 VPN 頁面裡也會看到如上圖右邊的畫面,這樣就可以翻牆囉~要測試這個連線請記得要先跟你家的區網斷開,看是請朋友幫你測試,或是乾脆關掉 WiFi 用 4G 網路測試也行。總之記得不能在與 NAS 相同的區網裡測試,否則會連線失敗。
如果你 ShadowSocks 連線之後會發生無法開啟網頁的問題,請檢查你手機或是你 Router 上的 DNS 設定,基本上改成 Google 的 8.8.8.8、8.8.4.4 就可以解決了。要是依然無解,就請傳 Line 問我囉~
做到這裡你的 ShadowSocks 就完成了,可以開始翻牆囉!如果你在 NAS 系統更新之後就不能用了,那麼請把上面的步驟再做一次就可以了。不過以後只要你的 NAS 重開機,就要記得用
ssserver -c /etc/shadowsocks.json -d start
啟用 ShadowSocks 才行喔!
如果你想看看 ShadowSocks 的使用狀態與連線資訊可以如上圖輸入:
vi /var/log/shadowsocks.log
這樣就可以看到你的連線資訊囉~