[攻略] 架設屬於自己的 Proxy Server

看板KanColle作者 (奥様は正妻空母)時間8年前 (2016/04/04 00:34), 8年前編輯推噓46(46031)
留言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/732/20959885702_32ec6cd7d4_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 文件會放在跟程式同一目錄下,檔名 pac.txt 的文字文件 https://farm2.staticflickr.com/1497/25490736312_906b527cb1_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
其實NICO剛剛修好了
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
簽名檔大崩潰Orz
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
簽名檔...WA2梗?
04/04 00:49, 11F

04/04 00:54, , 12F
快推 不然會被說看不懂
04/04 00:54, 12F

04/04 00:56, , 13F
簽名檔 QQ
04/04 00:56, 13F

04/04 00:59, , 14F
簽名檔...XD 小麥麻理 Z1小春 Z3千晶 COS希望 (敲碗
04/04 00:59, 14F

04/04 01:03, , 15F
簽名檔看不懂 中間List 那裡 大陸真的太辛苦了...
04/04 01:03, 15F

04/04 01:07, , 16F
專業 推!
04/04 01:07, 16F

04/04 01:16, , 17F
推 但nico還沒修好吧
04/04 01:16, 17F

04/04 01:21, , 18F
illust_id=54315363 簽名檔的P站id
04/04 01:21, 18F

04/04 01:27, , 19F
NICO掛種花自己的proxy可以順跑,但是你知道的
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
這篇大動作的用意是……… 請縮成30字心得QQ
04/04 01:59, 24F

04/04 02:04, , 25F
專業!可是我看不懂www
04/04 02:04, 25F

04/04 02:20, , 26F
白學 睡醒研究
04/04 02:20, 26F

04/04 02:59, , 27F
簽名檔那張看了就覺得好眼熟...原來是white album啊...
04/04 02:59, 27F

04/04 03:49, , 28F
我要胃痛啦
04/04 03:49, 28F

04/04 07:57, , 29F
簽名檔強行白學ww
04/04 07:57, 29F

04/04 08:42, , 30F
推專業 有空再弄QAQ. 對了 和紗我的
04/04 08:42, 30F

04/04 09:02, , 31F
我居然看懂了 0.0 對了 東馬小三!!!
04/04 09:02, 31F
我即使是死了,釘在棺材裡了,也要在墓裡,用這腐朽的聲帶喊出:雪菜碧池!

04/04 10:26, , 32F
不過最麻煩的還是要弄日本ip,vps超貴的,買vpn 用sock 導
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
(′;ω;‵)簽名檔是WA2
04/04 11:25, 34F

04/04 11:37, , 35F
簽名檔wwwwwwwwwwwwwwwwwwwwwww
04/04 11:37, 35F

04/04 11:39, , 36F
白學lol
04/04 11:39, 36F

04/04 12:08, , 37F
我是自己弄日本VPS再灌成Windows www 有時還可以遠端用
04/04 12:08, 37F

04/04 12:09, , 38F
另外就是順便弄nginx
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
當時我有想過買付費vpn,或用google ce指定日本ip當出口,
04/04 14:17, 39F

04/04 14:17, , 40F
不過後者一個月要快10鎂,我就收手了
04/04 14:17, 40F

04/04 15:06, , 41F
是沒錯啦 要穩點可能要考慮再+900了 不過考量到有時要把
04/04 15:06, 41F

04/04 15:07, , 42F
一些本地弄的asp或php丟上去測比較方便 所以還是裝win
04/04 15:07, 42F

04/04 15:08, , 43F
跑IIS+nginx大概60%
04/04 15:08, 43F

04/04 15:09, , 44F
畢竟自己目前管的N個Server都WinServer 這樣比較習慣XD
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
android的chrome遠端桌面只有移動滑鼠去點擊 要teamv
04/04 17:28, 47F

04/04 17:28, , 48F
iew才有直接觸碰桌面位置的功能
04/04 17:28, 48F

04/04 18:38, , 49F
樓上 Android的chrome遠端已經可以切換類比跟點選了
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
啊 手機推文錯亂 總之可以切換就是了XD
04/04 18:41, 52F

04/04 19:27, , 53F
耶? 但我現在看一下chrome遠端還是沒有shocaca大說的功
04/04 19:27, 53F

04/04 19:27, , 54F
能啊,到Google Play看了一下也沒更新檔
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
我是用Z3有耶 我截一下圖 跟看一下版本號
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
我用Tablet Z裝了打開也有這可以切換選項 版本號一樣
04/04 22:15, 62F

04/04 22:46, , 63F
怪了 我手機的google play只能搜尋到版本44的...
04/04 22:46, 63F

04/04 22:47, , 64F
手機是M7 有更新到最新版
04/04 22:47, 64F

04/04 22:48, , 65F
我也只能看到44開頭的~囧
04/04 22:48, 65F

04/04 22:54, , 66F
你們ANDROID版本號是多少 我是5.1.2
04/04 22:54, 66F

04/04 22:55, , 67F
難不成ANDROID有什麼先行配布之類的 這個我是不清楚啦XD
04/04 22:55, 67F

04/04 23:00, , 68F
M7最後更新就是5.0.2~~ 等HTC10發布就準備了吧XD
04/04 23:00, 68F

04/04 23:08, , 69F
5.0.2 +1
04/04 23:08, 69F

04/04 23:14, , 70F
那或許新版是先或只給比較新的安卓版本號吧
04/04 23:14, 70F

04/04 23:15, , 71F
不然也可以直接試著去找49開頭的APK裝裝看 注意來源這樣
04/04 23:15, 71F

04/05 17:19, , 72F
後來我有寫意見回饋給google 結果今天就可以更新到版
04/05 17:19, 72F

04/05 17:19, , 73F
本49了 有寫有用!?
04/05 17:19, 73F

04/06 23:03, , 74F
今天也突然發現更新了ww
04/06 23:03, 74F

04/07 11:13, , 75F
想請問IDCF 這家的VPS呢?最低只要500日圓
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
文章代碼(AID): #1N0KO938 (KanColle)