Contents
前言:Blogger 們的近期形勢
群友們好!
感覺好像很久沒寫東西了。雖然我早已打算要掏出一篇草稿,讓它成為《極限風味》的一塊磚,繼續當個歲月靜好的 Blogger,可惜美夢不能成真,有一件事情弄得我夜半時分驚坐起,腦內 OS 轉不停,不得安寧。
這件事就是:牆越來越厚了!
不過說牆越來越厚可能不太準確,應該說中國的網路質量越來越爛了。這件事的起因是我注意到了 Cloudflare 在中國已經屬於是 無法忍受的緩慢,嚴重影響了我和其他群友們 blog 的穩定性。

使用瀏覽器 F12 計時可見,就算所有資源本身只有 400 多 KB,完整加載也消耗了接近 30 秒,其中 DOM 載入消耗了 15 秒。
何意味?意思是完成 HTML 和 CSS 等必要資源的請求就需要 15 秒。這對採用了 Client-side navigation 的 Astro 網站來說是致命的打擊,整個頁面會呈現一種無響應的卡死狀態。
我在去年就注意到了這種現象,當時就把本站使用的 CDN 換成了 Fastly。從結果來看,比 CF 好一點,網頁只需要 3 秒就能顯示內容。但是問題出在資源文件上——我插入的字體,圖片,還有那些可愛的小裝飾——仍然需要 30 秒才能顯示。

這就是最近讓我焦頭爛額的問題,導致我無心寫作,,,
這時有的群友可能就要噴了:賤人就是矯情!妳管那些中國人幹什麼!學學隔壁 blog.xxx.moe,直接在博文寫讓中國人滾蛋!不好嗎??
妳說得非常有道理!本博被牆內搜索引擎收錄的概率,或者是沒被微信內置瀏覽器屏蔽的概率,統統為零。在這種情況下給稀爛的中國網路做優化確實是一筆賠本買賣。但是那句古話怎麼說的來着?
「君子藏器於身,待時而動。」
萬一真有個有一個 17 歲的美少女 JK,用着中國的 IP,穿過了抖音逼站小紅書等奶頭樂設下的重重陷阱,跨越千山萬水,卻因為加載太慢沒能打開《極限風味》,最終也沒能對我說出:「前輩,我好喜歡妳的 blog ❤️️ 要是我成為了 Blogger 妳會和我交換友鏈嗎 🥺」的話,怎麼辦?那我肯定要做好準備啊!!1!1
經過千挑萬選,Oracle 新加坡和 Digital Ocean 舊金山從衆多雲區域中脫穎而出,屬於是又快又便宜的模範生。現在我在申請 Oracle 的同時已經將本 Blog 遷移到了免費套餐的 Digital Ocean。
此次遷移效果拔群,速度飛躍,一雪前恥。一秒顯示三秒加載完成已不再是迷霧之夢,歡迎使用中國 IP 測試,我保證不會出道妳 🥰

妳畫我猜:群友活動的困難
「妳畫我猜」是我們的群內活動,遊戲中,每位玩家畫出上一個玩家的猜測,並猜出上一個玩家的畫作的含義。遊戲的最後舉行鑑賞大會,共同分享奇妙的作品和猜測。
這項活動每週舉辦,到目前為止已連續舉辦兩年,共收集了 3,600 多張作品。
舉辦了那麼久,遊戲流程和各種預案都應該很成熟了……對吧?並沒有。遊戲還是三天兩頭掉線,總是有無辜的群友被突然踢出對局。原因很簡單,網太卡了,以至於開加速器都不能消除掉線的風險。

身為一個拳打軟路由,腳踢 VPS,手撕 OpenWrt 的老玩網廢物,俺其實已經有過類似經驗了。四年甚至還是三年前,俺就已經體會過開着 Shadowsocks 或者 V2Ray 玩音遊卻還是不停掉線的困擾了。當時的研究發現,原因其實並不複雜,就在於翻牆軟件只保證應用層數據的完整性,卻不保證傳輸層狀態的正確性。。
中譯中就是,若 ss-local 和 ss-server 之間的 TCP 吃了 reset,那麼其承載的應用層 TCP 連結也會被一併幹爛,不會留下任何的重試機會。妳可以想象一艘載有小汽車的運輸船,一旦翻船,無論是保時捷還是蘭博基尼都要被帶走。

時至今日,許多的翻牆軟件仍然繼承着 SS 那種「來一個 TCP 就開一個 TCP」的設計哲學,因此它們也容易遭受到這種攻擊。
當時我給出的解決方案是,使用三層 VPN 來轉發全部 IP 層報文。由於 IP 層並不提供可靠傳輸,而且 TCP 的工作前提就是在一個不可靠的通道上提供可靠傳輸,所以就算 VPN 數據遭遇丟包也無所謂,TCP 只不過會認爲是下層出現了丟包,自動重傳機制會確保數據被送達。
總之,就像山火燒不到隧道裏的車一樣,三層 VPN 能夠遮蔽外界的干擾,給上層協議提供一個穩定的環境。
以上僅僅是我為音遊打造的傳奇解決方案。至於能否給畫猜對症下藥,還是要抓包研究一下畫猜才知道。來,請 Windows 上場做髒活累活,Wireshark、Fiddler,啓動!
經研究,我有三個驚人的發現!
- 畫猜同時使用了 HTTP,UDP,和 ICMP (ping) 三種協議!(圖 2-1)
我這輩子第一次見到會發射 ICMP 的遊戲……真是腦腦又洞洞啊 😅 - 對局開始後的網路請求只剩 UDP 和 ICMP;
- 所有請求都是明文發送。
沒錯,玩家在聊天室裏面罵習近平的消息會被習近平看到 😅

我知道妳很急,但是妳先別急,先容我分析一下。從上圖中可見,遊戲服務器有三台主機,分別負責計時,房間匹配和對局。計時和房間匹配使用 HTTP,對局中使用 UDP 和 ICMP。因此如果玩家從對局中掉線,那麼基本可以確定是遊戲和對局服務器的連結出了問題。
而對局服務器使用 UDP 和 ICMP,不會遭受到上文中提到過的 TCP reset 攻擊,故掉線的原因就只可能有兩種情況:
- 服務器 IP 不可達,導致兩個協議都中斷,或者
- 其中的一個協議中斷了。
先看可能性 1,若服務器 IP 不可達,要麼是物理網路出現中斷,要麼是 IP 被牆。導致 IP 被牆的原因有很多,比如說有人在畫猜聊天室中罵習近平就很可能會觸發 GFW 的 G 點。而且,無論是物理斷網還是 IP 被牆,這些都不是我們玩家能控制的因素,玩家能做的就只剩給遊戲「開加速器」。
再看可能性 2,UDP 和 ICMP 都是無狀態協議,由上層負責保持會話,所以能影響通信的就只有「丟包」這一個因素。GFW 愛怎麼丟包,受到考驗的其實是遊戲協議的設計,玩家能做的還是只剩給遊戲「開加速器」。
那麼,妳的這個加速器,它能不能正確地代理 UDP 和 ICMP 呢……?

我相信妳已經看出潛在的問題了。許多代理軟件都運行在傳輸層甚至更高的層次,無法完整傳送 3 層報文,就算他們能代理 UDP,也不代表它們能正確轉發 ICMP,因為 ICMP 是一個 3 層協議。
此處得到一個猜想:UDP 被加速器加速所以沒有問題,但是 ICMP 仍然經過 GFW,它一旦被牆,畫猜很有可能就會以為網路異常,導致哪怕 UDP 沒有中斷也要顯示已掉線。
於是我們得出了一個解決方法:還是使用三層 VPN 來轉發全部 IP 層報文,確保不遺漏任何數據包。尤其是在面對畫猜這種狗屎級的設計的時候,更要多加小心,,,
後記:全球自由倒退
翻牆的歷史就是我的歷史。歷史的車輪滾滾向前,我坐在車頂向後望去,便會懷念起那些親身體驗過自由的日子,這些黃金時代的回憶,就像是一粒粒星辰落在歷史的長河中。只不過,越往後,它們就越發地黯淡。
俺的翻牆歷史大概可以追溯到 2009 年前後。當時俺得知了一款名叫 Puff 的翻牆軟件,它翻牆後便會自動用瀏覽器打開大紀元網站,這讓我一度以為該軟件是法輪功的作品,但是一篇 👉🏻大紀元新聞 表示,Puff 可能是政府的蜜罐軟件,當然最後真相也不得而知了。
時間來到 2010 年,GFW 針對 Google 和維基百科的封鎖加劇,用戶只要查詢「溫習」「胡蘿蔔」之類的關鍵詞就會觸發 TCP reset。於是那時 Puff 幫我解決了很多難題,我也在翻牆混跡 Google+ 的時候認識了一些反動分子,他們發了很多文章介紹六四等事件,呼籲我們多看維基百科,還介紹了當時最新的翻牆軟件 👉🏻GoAgent。在取代了 Puff 後,GoAgent 一直陪伴了我三年。

2014 年曾經在歷史長河中短暫地閃耀。彼時 Instagram 剛推出,就立即成為了班上女生們最愛的時尚單品。我們驚歎着可以在轉眼間認識世界上任何一個角落的潮人,只是好景不長,2014 年 9 月雨傘革命爆發,Instagram 也被 GFW 完全封鎖。當時 GoAgent 的服務器也幾乎被封鎖殆盡,取而代之的是一款名叫「翻牆路由器 (👉🏻fqrouter2)」的安卓 APP。該軟件極其先進,內置了多種流量變形算法和代理程序來繞過 GFW,擁有 root 的手機還能劫持局域網內其他設備進行強制翻牆。

這麼好用的東西自然被迅速普及到了班上的每一個人。但是 Party 總有結束之時,隨着 fqrouter2 的內置算法和節點逐漸失效,以及 Shadowsocks 機場的興起,SS 坐上了頭把交椅。
SS 一直走在了翻牆之戰的最前線,它被移植到了包括路由器的億萬設備上,以至於現在我還在三層 VPN 中跑 SS。
一路過來,牆越來越厚,翻牆的成本也越來越高。2017 年,公開的免費翻牆軟件已基本滅絕,而我學會了自建 VPS 和刷寫路由器固件。當時的雲廠商真是大方又慷慨,帳號隨便註冊,點擊就送免費額度,Cloudflare 也作為建站服務中的明星走上了舞台。與此同時,稍微考驗技術的自建翻牆軟件開始井噴出現,我也開始了折騰 OpenWrt 和 Linux 服務器的旅程。
我在這一路上嚐遍極限風味,知識儲備突飛猛進,乍一看精彩無比,但是卻不能忽略其本質:這是一條逐漸失去自由的不歸路。我需要不斷加大努力才能換取和往日同樣的自由。
2019 年 6 月,香港反送中運動爆發,我決定放棄國內出路。

2019 年 12 月,COVID-19 冠狀病毒疫情爆發。
那之後的三年如夢似幻。我依稀記得學校被封鎖,我滯留在家,無所事事無所事事,做題做題做做題題,日夜日夜日日夜夜,如同窗外壞掉的太陽不停地開開關關。返校後,我一舉掃清了所有大學科目,語言考試和申請外國學校的任務。最後在一個陰沉的下午,我擠上了一趟一星期只飛一次的航班離開了家。
好消息是,我翻牆了。壞消息是,牆外面還有牆。接下來這幾年,我親身體會了什麼叫「世風日下」。
Cloudflare 的中國路由從還算能用變成了直接卡死;全球科技公司的帳號從隨意註冊變成了實名風控[2];甚至各國民意都從開放包容變成了歧視排外[3]。小學教科書中,全人類其樂融融的「地球村」的願景,則離我們越來越遠。
人類從分散走向團結,最終又走向分散。我覺得互聯網也會這樣。
每每當我看到那些新聞——說新的限制性法律不是出台了,就是在出台的路上[4];或是說大型科技公司們不是被罰了,就是在被罰的路上[5];或是說某國異議人士不是被抓了,就是在被抓的的路上[6];又或是說戰爭不是爆發了,就是在爆發的路上[7]——的時候,我都會突然想起一句遊戲台詞:我們看似正常的世界,其實建立在一層佈滿裂縫的薄冰之上。而那些微微張開的裂縫是否就通往着地獄呢……
世界太大,大到任何悲劇的來臨都如此地遲緩,任何悲鳴都如此地低沉。薄冰上的人,不會察覺到裂縫的擴大和低吟的悲鳴,只會在自由不斷被侵蝕之中度過餘生。就如同,極限風味會在不斷變窄的互聯網夾縫中,繼續嘗試為妳提供服務一樣。
過去更好,還是未來會更好?我只知道,歷史的車輪已經走遠了。

一如既往,我都願為屏幕前的妳獻上美好的祝福。
考察材料
[1] (GitHub) Shadowsocks AEAD 加密方式设计存在严重漏洞,无法保证通信内容的可靠性
[2] 簡單爬取 Telegram 數個科技新聞頻道可發現,相關關鍵詞出現頻率和數量在 2022 年後呈上升趨勢。

[3] 全球反移民趨勢 🆙️🆙️
- (2023, VOA) 歐洲多國收緊移民政策
- (2023) 极右势力为何在法国崛起?
- (2024, BBC) 英國為什麼發生十餘年來最嚴重的騷亂?
- (川普反移民) I’m the Canadian who was detained by Ice for two weeks…
- (川普反移民) Apple removes ICE tracking apps after pressure by Trump administration
- (川普反移民) 韓國人?抓!
- (高市早苗) 移民反対デモに「新顔」が目立ち始めた 女性、若者、家族連れ…外国人への不安・不満の根拠は「SNS情報」😅
- (參政黨) 【解説】 日本での極右の台頭、トランプ大統領と外国人旅行者によって急加速
- (嚴查經營管理簽證) 異名は「移住ビザ」…取得要件厳格化の効果は 大阪に乱立するペーパーカンパニー
[4] 出台法律
- Digital Markets Act (EU Regulation 2022/1925)
- Digital Services Act (EU Regulation 2022/2065)
- Data Governance Act (EU Regulation 2022/865)
- Cyber Resilience Act (EU Regulation 2024/2847)
- 以下省略一萬行
歐盟瘋狂上分。中國這邊的花樣立法太多就不列舉了,來看看日本的:
[5] 狂罰科技公司
歐盟把科技公司當提款機的事情已經屢見不鮮了,這裏就不再列舉。
來看個新鮮的:
[6] 抓捕異議人士
這種現象主要發生在極權國家,比如:
下面的例子和異議人士無關,但是卻是某些「民主國家」所出現過的實實在在的污點:
我的經歷見聞讓我深深堅持「公權力永遠不會站在你這一邊」的看法。
[7] 戰爭的陰霾
在和一位台湾朋友的交談中,我得知,就算中國直接發動戰爭的可能性非常非常低,這種恐懼還是刻在了他們的心裏面,並塑造了他們的世界觀。
雖然我不太清楚 2027 年這個數字是怎麼得出來的,但是很明顯他們為了提高預防能力付出了太多,明明這些精力是可以用花在更有用的事情上的。只要戰爭機器還存在,世界就永無安寧之日,,,

請停用 Dark Reader
評論區
妳的評論和建議是我前進的動力!
我很需要妳的評論!無論長短還是水,我都會非常高興 😘