蘋果生態圈的網路神器Surge 4 for iOS 簡易入門教學 - jkgtw's ...
文章推薦指數: 80 %
我最早接觸Surge 是在2015 年iOS App Store 剛上架就第一批入手了~ 當時我人在中國,翻牆就跟吃飯、喝水、睡覺一樣是每天都需要的記得當時蘋果iOS 8 ...
我最早接觸Surge是在2015年iOSAppStore剛上架就第一批入手了~
當時我人在中國,翻牆就跟吃飯、喝水、睡覺一樣是每天都需要的
記得當時蘋果iOS8剛剛開放了NetworkExtensionframework
Surge橫空出世最早支援NetworkExtension,多樣且自由的網路策略非常強大,也是當時最佳iOS翻牆工具
隨著時間也有其他開發者也漸漸投入研究蘋果這種系統等級的網路框架,AppStore上漸漸多了許多選擇~
像是小火箭(Shadowrocket)、小氣球(Loon)或者圈叉(QuantumultX),都是同類相當不錯的競品
其中又以圈叉特別厲害,最早開始支援Scripting的功能
後來2016年時候我因為搬回台灣,台灣網路無需翻牆,所以瞬間就沒有繼續用下去的動力了。
。
。
Surge作者在去年的時候推出一個密碼管理工具「Elpass」
所以從去年那時候開始我又會三不五時看到作者在Surge開發的相關進度
最近會又開始用回Surge是因為發現作者加入一系列強大功能
如支援MitM、Scripting、專屬Snell協議與快速設定的Module功能。
。
等等
玩法已經不僅僅是翻牆代理工具而已,已經是一個功能強大完整的「網路工具」了~
強大的iOS平台網路工具一下吸引許多寫Script的大佬們投入研究,像是有針對Netflix的Script
在非越獄情況下可以在官方NetflixApp影片介紹頁,直接顯示imdb與douban的第三方評分分數
👆如上,左邊是原本App內的樣子,右邊是開啟Script以後的樣子,紅色框框就是
類似像這種強大Script都有人分享在Github上面,沒事去多搜尋一下,你會發現新大陸~
購買Surge前你需要了解的「功能訂閱」#
不像傳統軟體「單版本買斷」的方式,SurgeforiOS採用了一種「功能訂閱」的授權方式
第一次購買解鎖門檻是49.99美金(可裝在三台設備上)
購買後一年內所有新增的功能你都會自動解鎖,並可以終身使用
SurgeforiOS以後也不會推出v5v6v7v8之類的大版本升級,會一直維持在目前基礎上持續更新並加新功能
也就是說你解鎖過的功能都可以一直使用下去,也能持續收到作者第一時間的更新或者增強
包含了未來iOS14或者iOS15以上的系統適應、安全穩定性補強之類的
所以你也不用擔心你今天購買的Surge一年訂閱期到期或者iOS1415蘋果大改系統而不能繼續使用下去
而一年訂閱期後,你原先已經解鎖的功能,就算你不續訂還是能繼續用下去
唯獨訂閱期過後,作者才新增進去的新功能,你將會無法使用,想要使用新功能的話
續約一年只有14.99美金而已,同樣在一年內作者所有新增的功能你也會自動解鎖終身使用
好像很難懂?另外舉個例子好了。
。
。
你今天買了一套PS4遊戲49.99美金裡面還包含了一年的季票,一年內除了遊戲本體可以無限終身玩以外
一年內所有開發商新增的DLC你都可以免費解鎖,一旦解鎖同樣也是無限終身暢玩~
假設一年內開發商新增了DLC1~3,那麼本體跟DLC1~3你就可以無限玩,沒有時間限制
一年後廠商新增的DLC4你不滿意,你也可以選擇跳過不買單
但不會影響到你原先遊戲本體跟之前一年解鎖的DLC1~3
一直到廠商某天推出到DLC8,你覺得好強好想玩!你可以選擇再購買一年季票14.99美金
購買後,你中間錯過的所有DLC將會自動補齊解鎖,也就是你再次入場時,你將會獲得DLC4~8
而且同樣購買後一年內所有新加的DLC你也會繼續自動解鎖獲得~
看明白了嗎?這種授權方式對使用者來說真的很讚!
不用擔心自己今天購買的軟體,到了明年或者後年因為開發商推出了跨版本新的app,拋棄了舊的app
導致你在新的作業系統無法繼續使用下去了~我真希望有更多App能跟進這種授權模式就好了!
SurgeforiOS如何買?#
SurgeforiOS目前有兩種購買方式,一種是直接在App裡面透過IAP購買,一種是透過Surge官方網站購買
但台灣的AppStore因為有稅的關係,直接IAP的話會是1690台幣
官網購買是49.99美金,換算下來大約是1500台幣而已,用一張海外回饋高的信用卡,實際數字會更低
而購買成功的話,還可以馬上在官網申請Testflight測試版資格
如果是AppStoreIAP的話則要等90天
所以推薦直接透過Surge官網購買,比較便宜又快速~
SurgeforiOS初步設定#
很多人看到上圖這畫面,都不知道要怎麼開始。
。
。
以下一步步教你簡單初步設定,一直到可以安裝別人寫好的模組(Module)
首先先把「Rewrite」、「MitM」跟「腳本」三個區域的「開關」都打開
如上圖,另外還要打開Surge的通知功能,在Surgeapp裡面右下角的「更多」->「通知」->「允許通知」
接下來準備開始配置MitM的根證書,按下「配置根證書」的按鈕
👆第一次安裝還沒有證書,按下「生成新的CA證書」
Surge這時候會隨機產生一個CA證書,接著要在設備上安裝這個證書
按下「安裝證書」後會跳到Safari瀏覽器中下載證書
接著打開iOS中的設定,就會看見「已下載描述檔」,點進去
之後就根據系統指示,一步一步安裝起來,安裝過程可能會需要輸入你設備的解鎖密碼
安裝完畢後,再來要信任根證書:設定>一般>關於本機
👆找到憑證信任設定
👆在設定中打開信任後,回到Surge就會發現已經完成證書安裝
此時MitM功能的設定就已經全部完成~
再來按下Surge右上角的「啓動」按鈕,根據提示加入iOS系統VPN即可
以上至此,初始的準備動作已經完成,現在已經可以開始去安裝別人已經寫好的Module囉!
👆依照上圖步驟,準備開始安裝模組
接下來安裝Netflix查看評分的模組,拷貝以下網址:
(拷貝時可能最後會多一個空格,在貼上後要刪掉多餘的空格)
https://github.com/lhie1/Rules/raw/master/Surge/Surge%203/Module/Netflix%20ratings.sgmodule
👆拷貝網址貼上,然後完成安裝
模組安裝完畢後,Surge會去抓會用到的Script跟調整你的設定,稍等幾秒鐘之後
打開Netflixapp隨便找一部影片進去看簡介,準備見證奇跡,嘩啦!
👆看見中間紅色圈起來的部分,就是模組腳本正常運作啦!
想要找更多模組開發出更多暗黑原力,可以到Github找找,快速通道:戳我
日後要更新模組跟腳本請參考這篇:如何更新SurgeforiOS裡安裝的各種模組與外部資源腳本?
同場加映:Surge專屬加密代理Snell搭建#
Surge作者另外提供了一個專屬的福利給使用者,閉源的代理服務「Snell」
具有混淆加密、TLS、TCPFastOpen。
。
等功能
但因為閉源的關係,所以用不用在你,不信任的話可以不要用,或者使用Trojan-Go這種開源協議也可以
另外也有人稍微逆向了Snell協議,有興趣可以去看看:https://github.com/icpz/snell-server-reversed
SnellServer安裝跟設定異常的簡單,下面來介紹安裝以及使用方法(適用Ubuntu&Debian)
#SSH登入進要安裝SnellServer的主機
$ssh[email protected]
#更新以及安裝軟體
$sudoaptupdate&&sudoaptfull-upgrade-y
$sudoaptinstallwgetunzip-y
#到官網拷貝找新版下載網址https://github.com/surge-networks/snell/releases
$wgethttps://github.com/surge-networks/snell/releases/download/v2.0.3/snell-server-v2.0.3-linux-amd64.zip
#解壓縮以及給予執行權限
$unzipsnell-server-v2.0.3-linux-amd64.zip
$chmod+xsnell-server
以上就完成準備工作,接下來開始安裝跟設定
$./snell-server
👆第一次執行時會問你要不要自動幫你產生設定檔
此時Snell會在你目前目錄寫一個設定檔snell-server.conf
可以nano稍微進去看一下,設定的內容很簡單,只有四行,就是幫你亂數產生一個PSK跟使用的Port
還有obfs流量混淆方式,預設是http,你可以改成tls
1
2
3
4
[snell-server]
listen=0.0.0.0:17715
psk=HMgRLi6Qvf0NfRwYC1xLrimWyZPGiGe
obfs=tls
接著我們把執行檔跟設定檔放到指定的位置,並開啟開機自動啓動SnellServer
$sudomvsnell-server/usr/local/bin/
$sudomvsnell-server.conf/etc/
新建一個開機啓動的Snellservice設定檔
$sudonano/etc/systemd/system/snell.service
拷貝以下內容貼到snell.service裡面,退出前記得保存
[Unit]
Description=SnellProxyService
After=network.target
[Service]
Type=simple
User=nobody
Group=nogroup
LimitNOFILE=32768
ExecStart=/usr/local/bin/snell-server-c/etc/snell-server.conf
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=snell-server
[Install]
WantedBy=multi-user.target
接著使用以下指令啓動Service
$sudosystemctlenablesnell.service
$sudosystemctlstartsnell.service
#可以用下面指令檢查啓動的狀態
$sudosystemctlstatussnell.service
啓動完畢後,機器上防火牆要設定一下
#Port號碼請修改成你自己Snell設定檔的,勿照抄
$sudoiptables-IINPUT-ptcp-mtcp--dport17715-jACCEPT
#裝個iptables-persistent套件,讓機器重開機防火牆還維持有效
$sudoaptinstalliptables-persistent
如果是家中或者辦公室也別忘記在Router上面設定一下PortForward
至此SnellServer所有的設定就完成了~
現在準備在Surge設定裡面加上你搭建的SnellServer資料
上面這樣填好以後,就能連回你的SnellServer了
來個接近現實生活的場景應用:
使用公司或家中的WiFi就直連,出門在外連不認識WiFi或者行動網路會自動透過Snell回去
透過Snell連回的時候需要能連內部網路的設備(內網IP段是192.168.33.0/24)
下面是示範設定檔片段(Surge內建文字編輯,可以不需透過GUI快速拷貝粘貼設定)
[Proxy]
Office=snell,office.domain.com,17715,psk=HMgRLi6Qvf0NfRwYC1xLrimWyZPGiGe,obfs=tls,version=2,tfo=true
[ProxyGroup]
Auto=ssid,default=Office,"OfficeSSID"=DIRECT,"OfficeSSID2"=DIRECT
[Rule]
IP-CIDR,192.168.33.0/24,Office,no-resolve
以上設定完畢後,Surge會自動根據你的SSID變化自動切換網路連線
並且你隨時也都能連回內部網路的設備,類似之前寫過的IKEv2VPNondemand,不過這次是Surge實現
如此設定完,舒服了~
Surge的功能不僅如此,想要了解詳細的功能可以參考官方說明書:https://manual.nssurge.com
目前台灣使用Surge的人還是非常少,本篇僅僅作為拋磚引玉
希望能有更多人看到這類工具,開發出更多更實用的腳本或者應用喔~🖖
延伸文章資訊
- 1[iPhone/iPad教學]超猛網路開發與測試工具Surge - 瘋先生
可發現執行時候會跳出VPN符號,這會讓目前的網路都會經過這台DNS,要方便安全還是靠越獄後修改hosts比較好些。 Surge-app-4.
- 2xmrio/Surge-4: Jimmy's Surge Rules - GitHub
Jimmy's Surge Rules. Contribute to xmrio/Surge-4 development by creating an account on GitHub.
- 3Surge Modules
iOS Surge 4 專用模組列表. 部份模組為網路上收集而來,並由本人重新上傳,用意為避免原作者因為被喝茶而撤掉,或者在更新版本中加入其他與功能無關之行為(例如收集 ...
- 4[心得] Surge - iOS最強連線修改工具- 看板AdBlock - 批踢踢實業坊
「你終究要買Surge 的。」iOS 群的大佬們如此說道[詳細介紹及設定請看以下三個懶人站] 蘋果生態圈的網路神器Surge 4 for iOS 簡易入門 ...
- 5在App Store 上的「Surge 4」
Surge is a web development and proxy utility. It is designed for developers and therefore require...