談談 Shadowrocket 和 Quantumult

自從我更換了美區 Apple ID 後,原先購買的 Surge 就不能再用了—— 當然,現在 Surge 也更新了新的版本,對我來說,花大價錢購買一款高級網絡調試工具然後單純用來翻牆,想想就覺得挺蠢的。

好在,macOS 版本的 Surge 2 授權還在,畢竟這個不跟隨 Apple ID,我還可以繼續使用。將來 Surge 2 停止更新維護了,我會考慮繼續堅持幾年再買新的。

總之,在 iOS 端,我換到了 Shadowrocket ,它的誕生幾乎和 Surge 一樣早,但專門作為一款協議客戶端出售,顯然,這樣一來價格就很低了。最近,有人新上架了一款 Quantumult,定位和 Shadowrocket 幾乎一致,於是我也就購買了,在使用了一段時間之後,我來做個簡短的小報告,作為實際的使用用戶,以開發者的角度談談這兩款 app,以及最終我的結論。

Shadowrocket 界面截圖

Quantumult 界面截圖

請注意,這不是 app 推薦或者使用體驗對比,雖然文中難以避免會在功能上進行對比,但本文無意與做全面且詳盡的評測對比,並且內容偏向主觀。

UI

好吧,正如 Surge 作者大佬所言,玩遊戲也不就是花錢買皮膚麼,總之, Quantumult 有一套全新的界面,這比起使用 iOS 默認風格界面的 Shadowrocket 來說,給人耳目一新的感覺,全黑的風格獨樹一幟,對用了幾年的 Shadowrocket 用戶來說,有著無與倫比的本能吸引(參考我曾討論過的“設計三要素“)。當然,純黑的界面也造成了一旦新鮮感過後,會覺得無比壓抑,好在作者迭代很快,迅速推出了新的紅色系列(以及再後來的各種顏色系列,但需要使用 URL方案 來開啟)。
Quantumult 做了一個很有意思的運行界面,它能粗略的基於 ip 探測線路的位置並顯示在地圖上,這樣就顯得很有趣,這是我喜歡 Quantumult 的地方,對於一成不變的 Shadowrocket 來說,emmm,你懂的。

說完了優勢,再談談我一直在 Twitter 上說的“奇怪”, Quantumult 的操作邏輯很奇怪,很多地方甚至是違反 iOS 設計語言的(或者說很罕見的),比如相對於 Shadowrocket 訂閱的“subscribe”叫做“favorite”,用於判斷代理的“rule”叫做“filter”,UDP 轉發並不(無法)跟隨代理設置,是獨立的,這樣就導致你如果要 UDP 轉發,那麼抱歉,你必須在切換代理後手動切換轉發線路,而 Shadowrocket 則把這個配置放置在了設置頁面中,直接叫“UDP”,不細心找的話你找不著,默認則是對應線路,無法單獨配置只能開關。

如果你用了 ssr 的訂閱,那麼很好,在 Quantumult 中,所有的訂閱是疊在一起的(好在沒有混在一起)僅僅是在一個 section 中罷了。在 Shadowrocket 中則直接顯示在首頁並按照不同的訂閱區分了 section,這讓人用起來感覺很直觀,當然,把訂閱項目放在了線路上方我至今也不知道這個邏輯應該怎麼理解——總之更新訂閱倒是方便了很多,作為對比 Quantumult 則放在了 favorite 裡邊,需要左劃才能點擊更新(我確實是研究了好久才找到的……)?

至於測速,則 Quantumult 放在了一個獨立的頁面“Statistics”裡,可能作者的意思是在這裡統計每一次測速的結果? (哦,現在歷史數據似乎已經不再記錄了……)總之,你需要到一個單獨的頁麵點擊測速,然後在一片線路的海洋裡自行尋找那個速度最快的,記錄下它的名字,然後回到設置頁面在“Servers”裡自己選擇。

在新版本的 Quantumult 中,多了一個“Switch”的 tab,這個 tab 的功能是呼出一個彈出的窗口……(你看我說吧,這麼做沒有錯,但用起來很奇怪)在這個窗口裡能快速切換線路,好在,上文中的麻煩過程終於可以一定程度上簡化一下了。

Shadowrocket 上則沒這麼麻煩,在首頁直接點擊測速,然後自己比較哪個線路快就用哪個就好了。

功能

大概討論了幾個引起我注意的 UE 問題後,我們再來說說更多人在乎的功能, Shadowrocket 迭代了多年,支持的協議是最多的了,而 Quantumult 則只有 ss 和 ssr,當然這也足夠大部分人使用,比如我自己就從來沒有用到過 Shadowrocket 提供的那些協議……
這裡我感觸比較深的一點是——測速!
沒錯, Quantumult 給我的第一印象就是測速快!快!快到沒朋友! Quantumult 使用的方案與 Shadowrocket 不同,它使用了 http request 來測速,測到的結果普遍要比 Shadowrocket 的 tcp 或者 icmp 慢,但更貼近於真實效果,後者的 tcp 方案沒有具體說明所以我只能從測速的結果上判斷兩者使用的是不同的方案,畢竟同樣的線路, Shadowrocket 測得延遲 50ms,到了 Quantumult 就是 200ms 左右。但 Quantumult 的測速是並發的,多少個線路,就多少個並發,一次點擊,得到結果的時間取決於最慢的那條線路,基本上是一下就好了,而 Shadowrocket 就要痛苦很多了,測試的結果直接顯示在線路名稱後邊是個優勢,但由於刷新機制問題導致每次測速你無法的知這個結果到底是上次的還是這次的,一個一個刷新導致一旦遇到線路超級慢或者 down 了的時候,就只能呆呆地盯著小菊花發呆……

對於規則導入來說, Shadowrocket 是支持 Surge 規則的, Quantumult 其實也支持只是沒有說明,你可以導入 Surge 規則,一樣能夠讀取並自動轉換。值得一提的是,這裡 Shadowrocket 有一個我非常喜愛的小功能,它能夠記憶你導入規則的 url,由於我在 GitHub 做了一個每周自動更新的黑白名單,這樣我在 Shadowrocket 上就可以每隔一段時間點擊一下導入來刷新規則了;至於 Quantumult 則不能,導入就是導入,如果你需要刷新,請徹底刪除後重新導入。

另外值得一提的是 Shadowrocket 還支持 On Demand ,這個是一個 vpn 功能,它允許你平時不使用線路,只有在訪問到了特定的域名後觸發 vpn ,然後繼續訪問。——當然這個功能我沒用過,我都是一直開啟的。

性能

至於很多人討論關於 Shadowrocket 的穩定性,這一點我並沒有遇到過, Shadowrocket 有 bug 是毋庸置疑的,但我遇到的都是可以接受的視覺問題,並沒有影響到功能本身,頻繁的掉線等問題也並沒有遇到。就我自己的感受來說, Shadowrocket 和 Quantumult 在這一點上並沒有什麼區別,耗電也基本相當,當然我從來沒有長時間開啟過 Shadowrocket 的日誌功能,僅在特殊調試的時候開啟過幾分鐘(事實證明沒啥用)。

——值得一提的是在使用 Shadowrocket 的時候我遇到過網頁打不開的情況,這也可能是其他用戶經常遇到的所謂“斷線”的問題?具體體現為測速是正常的,但點開網頁則立即變為空白。我遭遇這個問題時多半是因為 DNS 掛了,這個時候去設置裡更換 DNS 就 ok 了,可能是由於我用 Quantumult 的時間短,並沒有遇到同樣的問題,這個問題在 Surge 中也遇到過。

另外值得吐槽的就是 Shadowrocket 和 Quantumult 兩者都支持自動測速,但我從來沒有搞懂這個測速是怎麼工作的,我期望他們能像 Surge 那樣自動測速並切換線路,但顯然,兩者都不能很好的工作(也可能是我怎麼也沒有弄正確過),所以我只能每次都打開對應的 app,點擊測速,然後自己手動選一個在當前網絡下速度比較快的線路,在這個過程中,還是 Shadowrocket 的流程更為直接一些——在首頁完成一切。在 Quantumult 中則要點到統計,再點測速,然後找到那個比較快的,記住名字,點切換線路,在彈出的窗口裡滾動找到那個線路……

總結

除了上述的各種吐槽外,有一點是無可否認的—— Shadowrocket 已經進入了穩定期,其作者並不願意繼續快速迭代,當然實際上 app 的功能也十分好用;而 Quantumult 則還處於快速迭代的成長期,上文中的種種詬病可能在下一次更新時就不再存在——畢竟,一個活躍的項目更能給人安全感,哪怕當前還略有不足。

本文由 落格博客 原創撰寫:落格博客 » 談談 Shadowrocket 和 Quantumult

轉載請保留出處和原文鏈接:https://www.logcg.com/archives/2968.html

關於作者

R0uter

如非聲明,本人所著文章均為原創手打,轉載請註明本頁面鏈接和我的名字。

註釋

  1. 其實quan可以自己寫策略(POLICY),完全可以做到定時測速並切換到最快的線路上,也可以做到按照地區劃分節點在不同區域內最快速的節點之間切換。另外最值得讚賞的是測速功能使用url reauest
    是最接近實際使用的測速方式。

發表評論

您的電子郵件地址不會被公開. 必填字段標 *