[攻略] 架設屬於自己的 Proxy Server
看板KanColle (艦隊Collection)作者takahashikag (奥様は正妻空母)時間9年前 (2016/04/04 00:34)推噓46(46推 0噓 31→)留言77則, 38人參與討論串1/1
這邊來作示範的是 Shadowsocks 這套代理程式,而在文章的開頭,謹此向 Shadowsocks
唯一的開發者 clowwindy 致敬,撰寫了這套基於 Socks5 協議撰寫的代理伺服器程式
==
其實去年就寫好這篇文章了,但當初有質疑 Shadowsocks 的穩定度,但經過半年的實際測
試,也在泰國跟大陸當地試驗過了,確認 Shadowsocks 搭配自定義 PAC 可以應付中度甚
至重度的連線至日本需求,剛好 NicoNico 又把海外付費用戶當棒槌玩地圖砲鎖國了,有
鑑於養一台一個月大概九百羊(不含稅)的個人 Proxy 伺服器好處多多,因此特此分享
我有寫網頁版,但是分成兩篇,這篇會整合成一篇,想看網頁版的可以選擇:
http://takahashi65.blogspot.tw/2015/08/conoha--shadowsocks.html
http://takahashi65.blogspot.tw/2015/09/shadowsocksrule.html
==
之前介紹過在 VPS 主機上運行 PPTP 協議的 VPN 或是 OpenVPN-Access Server 之後,這
次來介紹 Shadowsocks 這套基於 Socks5 協議撰寫的代理伺服器程式,其實 OpenVPN-AS
搭配大頻寬 VPS 後已經堪用,但是 Shadowsocks 還是有它吸引人的地方,以下列舉
十分的省電
Shadowsocks 與其他 VPN( Virtual Private Network,虛擬個人網路)協議相比之下十
分的傑出,電量的消耗極低,這點在行動裝置上更加明顯(因為他是 Proxy 非 VPN
支持自動連線與自訂路由表
在網路不穩的環境下可以十分流暢的切換,而自訂路由表則能夠針對個別使用者的環境做
網路導向(也就是說可以節省 VPS 的流量
可自行架設 Shadowsocks 伺服端
當然有基礎的 Linux 常識下自行架設 PPTP、IPSec、L2TP 甚至 OpenVPN 都可以實作,
但是 Shadowsocks 的伺服端不需要很高的硬體需求,一般來說 512MB 的記憶體與 10GB
的儲存環境下搭配 Ubuntu 就可以穩定的運作
傑出的隱蔽性
Shadowsocks 可以使用 AES ( Advanced Encryption Standard,高階加密標準)搭配自
訂密碼來加密整個傳輸過程,也就是說伺服端與使用者之間的傳輸過程無法被讀取其內容
,基本上旁道攻擊之外的方法是無法探知傳輸內容的,也就是說除非伺服端或使用者被入
侵,否則傳輸過程是安全而隱密的,而惡名昭彰的防火長城即使可以利用 IDS ( Intrusion-
detection system,入侵檢測系統)來探查 ,因為缺少明顯的連線特徵與高度加密性,防
火長城並不能知道 Shadowsocks 正在進行加密傳輸,當然透過發覺大流量的、特定傳輸埠號的 SSH 連線還是可以封鎖單一網
路位址的連線,但並無法探查、解析 Shadowsocks 的傳輸,更遑論 DMM 或是其他廠商有
能力知道你非日本地區用戶
然而請注意,Shadowsocks 僅僅是使用加密與模糊化的、基於第五版 Socks 協議所撰寫的
Proxy Server(代理伺服器程式),並非 VPN 協議建立加密的私人通道,它僅僅是一個
與 SSH Tunnel 有血緣關係的代理伺服器而已,與 VPN 協議有差異
==
再來開始實際安裝,雖然說 Shadowsocks 的開發者 clowwindy 在被有關當局施壓後已經
刪除了 Github 上所有的 Shadowsocks 程式碼,但 Github 上還是有跟山一樣高的自動安
裝資源跟備份,直接導入系統後就可以一路按「Y」到底了,當然也可以自己弄一些額外的
設定就是了,這邊一樣以 ConoHa 這家 VPS 為實作例子
https://farm6.staticflickr.com/5746/20977162871_1a7e5b4fed_b.jpg

首先也是弄一台運作 Ubuntu 14.04 LTS 系統的單位出來,fail2ban 記得裝一下,不然裸
奔的 VPS 幾乎立刻會被駭客惡意爆破,安裝方法可以參照這篇:
https://www.ptt.cc/bbs/KanColle/M.1434209453.A.E63.html
https://farm1.staticflickr.com/684/20943445116_6435395c1b_b.jpg

接著引用 Github 上的來源碼,這個自動安裝腳本字串很長,請照著去打
https://farm1.staticflickr.com/714/20348644703_e93b93224f_b.jpg

沒意外的話就會從 Github 上下載打包好的檔案下來
https://farm6.staticflickr.com/5820/20781654460_28a3a03147_b.jpg

接著是 chmod +x shadowsocks.sh
與 ./shadowsocks.sh 2>&1 | tee shadowsocks.log 安裝
https://farm1.staticflickr.com/635/20977159901_de4fb07f34_b.jpg

接著會要你設定密碼,不建議用預設的密碼,畢竟小心駛得萬年船
https://farm1.staticflickr.com/578/20347110284_8c91da5e14_b.jpg

設定與使用者端的傳輸埠,預設值是沒問題的,除非被擋或是佔用了不然沒必要更改
https://farm6.staticflickr.com/5749/20969706555_2a8a61367b_b.jpg


完成設定後會跑出檢視畫面,當然這是針對單一使用者的配置
https://farm1.staticflickr.com/579/20781755168_65b75cfe30_b.jpg

使用 vim /etc/shadowsocks.json 來編輯設定,對多重使用者做設定,前篇也教過 vim
編輯器的用法了,這邊簡述 vim 編輯器的指令
a 是進入編輯模式
Esc 離開編輯模式到上層,在上層 :w 是存檔、:wq 是存檔後離開、:q 是直接離開不存檔
https://farm6.staticflickr.com/5821/20959885672_8d710518ee_b.jpg

多重使用者作設定,可針對不同的使用者設定密碼跟個別的傳輸埠,只要依照
"使用者傳輸埠":"使用者密碼", 去撰寫
https://farm1.staticflickr.com/693/20969706155_0518118ba5_b.jpg

在完成使用者設定後,伺服端的處理都完成了,重新啟動 Shadowsocks 服務後就可以了(
最快的方式是用 Reboot 指令重開伺服器),以台北地區的 vDSL 服務作測試,理論頻寬
100M/40M,國內直接連線到伺服器延遲約 27 微秒
https://farm1.staticflickr.com/733/21187498618_faecfcb88b_b.jpg

附圖是使用 Shadowsocks-win 客戶端軟體,使用者端軟體基本上填入你的伺服端網路位址
、傳輸埠號與密碼就可以了
再來是客製化,自行去調整 Shadowsocks 的路由規則,將 DMM 與 NicoNicoVideo 等導向
Shadowsocks 伺服器自作轉送,應用 Shadowsocks 的部分代理模式,在連線速度與頻寬中
取得平衡點
許多的 VPS 廠商針對不同的方案有設置不同的流量限制,而 ConoHa 雖然與限定日本地區
購買而有諸多購買限制的櫻花 VPS 一般號稱沒有流量限制,但是會針對巨量傳輸的用戶採
取暫時性限速的措施來確保同一數據中心、骨幹路線上其他用戶的權利 ... 也就是說一旦
踩線,就準備體驗比中華電信的寬頻 ADSL 方案中最低規格還要低的連線速度
而藉由設置部分代理模式,可以將特定的流量才導引位在日本的到 Shadowsocks 伺服端去
傳輸,在 Shadowsocks 的客戶端裡面有兩種代理模式,分別是全局代理跟部分代理,而依
照客戶端軟體的不同,有不同的名稱跟縮寫
https://farm6.staticflickr.com/5643/21271615025_b9700b691a_b.jpg

在 OS X 適用的 ShadowsocksX 中,分為 Global Mode 與 Auto Proxy Mode
https://farm6.staticflickr.com/5790/21349116236_2eeaa37f81_b.jpg

而 Windows 適用的 Shadowsocks-win 的簡體中文介面中,則分為 全局模式 與 PAC 模式
全局代理意思就是所有的流量都經過 Shadowsocks 客戶端後往伺服端傳送
而部分代理是符合規則的流量才走上述的連線方式
https://farm6.staticflickr.com/5665/21349115406_d6e18607e4_b.jpg

在 Windows 適用的 Shadowsocks-win 中點選『適用本地 PAC 文件」後,藉由「編輯本地
PAC 文件」可以調整規則
https://farm1.staticflickr.com/574/21187499258_dbd23cb088_b.jpg


pac.txt 打開大概就是這樣,這是經過我調整後的樣子
https://farm1.staticflickr.com/589/20650462023_74fa55a08c_b.jpg

在 OS X 適用的 ShadowsocksX 中,PAC 文件會放在隱藏目錄下,
檔名 gfwlist.js 的 json 檔案,這是原始狀態
https://farm6.staticflickr.com/5738/20650461483_6358f0e0d9_b.jpg

初步修改後,可以看到我加上了測速網站的網址
https://farm6.staticflickr.com/5810/20648905104_9118f3a242_b.jpg

則流量就會由原先走 HiNet 國內路線
https://farm1.staticflickr.com/680/21271614765_6369955eaa_b.jpg

導向到架設 Shadowsocks 伺服端的日本 VPS 廠商的網路出口
照理說透過編寫檔名 user-rule 的檔案,再更新本地 PAC 的話是可以達成一樣的效果,
但由於 Shadowsocks 初衷是協助大陸地區做翻牆,所以預設的規則中會有很多我們台灣使
用者沒必要繞道的網站也經由 Shadowsocks 導向,因此直接對 PAC 文件動手,刪除上千
行來自 GFWList 的預設路由規則,撰寫適用於自己的路由規則,另外撰寫成功後請不要按
下「從 GFWList 更新本地 PAC 文件」,雖然你撰寫的路由規則還是會生效,但 GFWList
的預設路由規則又回來了
而 GFWList 與 PAC 都是依照 Adblock Plus 的過濾規則去撰寫路由判定的,有興趣可以
參考 Adblock Plus filters explained 來進一步了解,只想上 NicoNico 跟玩艦娘的可
以直接用我寫的 PAC 文件
gfwlist.js
https://mega.nz/#!6McDgK4Z!kicRJJQpd_8DD7bm4z1UIM51eSu4UJC4VxqurDW8WpE
pac.txt
https://mega.nz/#!uQdhgQSA!Fy2cR1PU714cYjpsVsRjidHkC4Sk7Mdvv3aIhLL2Dho
再來是比較麻煩的部分,艦娘採取限定日本地區遊玩的策略,因此使用 Proxy 或是 VPN
來遊玩是海外玩家的解決方案,而在 OS X 適用的 ShadowsocksX 中規範了瀏覽器適用的
路由規則,因此以在將 DMM 相關的網址加入 PAC 後,不論是直接使用瀏覽器遊玩或是使
用「艦娘は今日も元気です。」都可以正常遊玩(理論上
而在 Windows 環境中稍微麻煩一點,直接使用瀏覽器遊玩當然沒話說,但透過「提督業も
忙しい!」的話,建議特別設定一下 Proxy 規則,而「七四式電子観測儀」在將 DMM 相
關的網址加入 PAC 後就沒問題了
https://farm2.staticflickr.com/1572/25241812679_42c4494cc3_b.jpg

OS X 上修改完成的 gfwlist.js,可以看到 DMM 相關網域與艦娘的遊戲網址也在其中,這
是較穩定的設置,摸索了一段時間,比用 DMM 相關網域地圖砲或是抓伺服器 IP 加入 PAC
都還要穩定
https://farm1.staticflickr.com/733/21187498618_faecfcb88b_b.jpg

而在 Windows 上需要查一下 Shadowsocks 客戶端的代理傳輸埠,通常是 1080,被佔用的
情況下會要你更改代理傳輸埠
https://farm1.staticflickr.com/723/20754277983_71d74bea08_b.jpg

使用「提督業も忙しい!」的話,到「プロキシサーバーを指定する」後
Host 填入 127.0.0.1,傳輸埠則是剛剛的代理傳輸埠號
https://farm6.staticflickr.com/5644/21084711249_3f841fdf16_b.jpg

沒意外的話,在清除快取與餅乾,重開「提督業も忙しい!」後就可以正常遊玩了
--
為什麼你會這麼熟練啊!你和親王親過多少次了啊!?你到底要把我甩開多遠你才甘心啊
是我,是我先,明明都是我先來的.…接吻也好,擁抱也好,還是喜歡上提督那傢伙也好
https://i.imgur.com/PniDjbn.png

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.46.96.167
※ 文章網址: https://www.ptt.cc/bbs/KanColle/M.1459701257.A.0C8.html
推
04/04 00:37, , 1F
04/04 00:37, 1F
→
04/04 00:37, , 2F
04/04 00:37, 2F
推
04/04 00:39, , 3F
04/04 00:39, 3F
推
04/04 00:40, , 4F
04/04 00:40, 4F
推
04/04 00:41, , 5F
04/04 00:41, 5F
推
04/04 00:41, , 6F
04/04 00:41, 6F
推
04/04 00:44, , 7F
04/04 00:44, 7F
推
04/04 00:45, , 8F
04/04 00:45, 8F
推
04/04 00:48, , 9F
04/04 00:48, 9F
推
04/04 00:49, , 10F
04/04 00:49, 10F
→
04/04 00:49, , 11F
04/04 00:49, 11F
推
04/04 00:54, , 12F
04/04 00:54, 12F
推
04/04 00:56, , 13F
04/04 00:56, 13F
推
04/04 00:59, , 14F
04/04 00:59, 14F
推
04/04 01:03, , 15F
04/04 01:03, 15F
推
04/04 01:07, , 16F
04/04 01:07, 16F
推
04/04 01:16, , 17F
04/04 01:16, 17F
推
04/04 01:21, , 18F
04/04 01:21, 18F
推
04/04 01:27, , 19F
04/04 01:27, 19F
等 HiNet Proxy Server 負載滿了就會爆炸了ww
推
04/04 01:28, , 20F
04/04 01:28, 20F
推
04/04 01:34, , 21F
04/04 01:34, 21F
推
04/04 01:53, , 22F
04/04 01:53, 22F
推
04/04 01:58, , 23F
04/04 01:58, 23F
→
04/04 01:59, , 24F
04/04 01:59, 24F
推
04/04 02:04, , 25F
04/04 02:04, 25F
推
04/04 02:20, , 26F
04/04 02:20, 26F
推
04/04 02:59, , 27F
04/04 02:59, 27F
→
04/04 03:49, , 28F
04/04 03:49, 28F
推
04/04 07:57, , 29F
04/04 07:57, 29F
推
04/04 08:42, , 30F
04/04 08:42, 30F
推
04/04 09:02, , 31F
04/04 09:02, 31F
我即使是死了,釘在棺材裡了,也要在墓裡,用這腐朽的聲帶喊出:雪菜碧池!
推
04/04 10:26, , 32F
04/04 10:26, 32F
→
04/04 10:26, , 33F
04/04 10:26, 33F
自己租 VPS 架主要是個人隱私跟穩定度都有一定的保障,我是同一台上面有裝 OAS 跟
Shadowsocks,OAS 給 iOS 裝置用,Shadowsocks 給 OS X 跟 Windows,多建立幾個使
用者帳號就可以跟朋友分租了
推
04/04 11:25, , 34F
04/04 11:25, 34F
推
04/04 11:37, , 35F
04/04 11:37, 35F
推
04/04 11:39, , 36F
04/04 11:39, 36F
推
04/04 12:08, , 37F
04/04 12:08, 37F
→
04/04 12:09, , 38F
04/04 12:09, 38F
架 Windows Server 後又要跑 VNC,說實在記憶體不多跑 WinServer 很吃力,所以用
Linux 反而比較穩,而且遠端桌面可以用 Chrome 遠端桌面,這樣就可以出門在外用行
動裝置刷艦娘,家裡的電腦開著執行 Shadowsocks 跟 Chrome 遠端桌面 即可
https://youtu.be/AmYIYJSZC0s
※ 編輯: takahashikag (114.46.96.167), 04/04/2016 13:20:07
推
04/04 14:17, , 39F
04/04 14:17, 39F
→
04/04 14:17, , 40F
04/04 14:17, 40F
推
04/04 15:06, , 41F
04/04 15:06, 41F
→
04/04 15:07, , 42F
04/04 15:07, 42F
→
04/04 15:08, , 43F
04/04 15:08, 43F

→
04/04 15:09, , 44F
04/04 15:09, 44F
推
04/04 15:30, , 45F
04/04 15:30, 45F
→
04/04 15:30, , 46F
04/04 15:30, 46F
推
04/04 17:28, , 47F
04/04 17:28, 47F
→
04/04 17:28, , 48F
04/04 17:28, 48F
推
04/04 18:38, , 49F
04/04 18:38, 49F
→
04/04 18:40, , 50F
04/04 18:40, 50F
→
04/04 18:40, , 51F
04/04 18:40, 51F
→
04/04 18:41, , 52F
04/04 18:41, 52F
推
04/04 19:27, , 53F
04/04 19:27, 53F
→
04/04 19:27, , 54F
04/04 19:27, 54F
推
04/04 20:33, , 55F
04/04 20:33, 55F
→
04/04 20:36, , 56F
04/04 20:36, 56F
推
04/04 20:37, , 57F
04/04 20:37, 57F
→
04/04 22:03, , 58F
04/04 22:03, 58F
→
04/04 22:11, , 59F
04/04 22:11, 59F

→
04/04 22:11, , 60F
04/04 22:11, 60F

→
04/04 22:12, , 61F
04/04 22:12, 61F

→
04/04 22:15, , 62F
04/04 22:15, 62F
推
04/04 22:46, , 63F
04/04 22:46, 63F
→
04/04 22:47, , 64F
04/04 22:47, 64F
推
04/04 22:48, , 65F
04/04 22:48, 65F
→
04/04 22:54, , 66F
04/04 22:54, 66F
→
04/04 22:55, , 67F
04/04 22:55, 67F
→
04/04 23:00, , 68F
04/04 23:00, 68F
推
04/04 23:08, , 69F
04/04 23:08, 69F
→
04/04 23:14, , 70F
04/04 23:14, 70F
→
04/04 23:15, , 71F
04/04 23:15, 71F
推
04/05 17:19, , 72F
04/05 17:19, 72F
→
04/05 17:19, , 73F
04/05 17:19, 73F
推
04/06 23:03, , 74F
04/06 23:03, 74F
推
04/07 11:13, , 75F
04/07 11:13, 75F
→
04/08 20:10, , 76F
04/08 20:10, 76F
→
04/11 09:16, , 77F
04/11 09:16, 77F
KanColle 近期熱門文章
27
37
PTT遊戲區 即時熱門文章
14
33