Skip to content

2026 年版本更新日誌

【2026年2月6日】版本號:7.10.20.219

版本號: v7.10.20.219 Build 20260206 更新級別: 重要更新 / 核心更新 代號: "DeepFlight" (深空飛行)

版本概述

本次 v7 更新標誌著候鳥瀏覽器近半年來最重大的底層變革。針對 CloudFlare 日益嚴苛的 AI 對抗校驗機制,特別是針對移動環境的 TLS 指紋識別,我們在內核層面引入了全新的對抗邏輯。同時,我們進行了深度溯源,修復了 Windows 7 等老舊系統的兼容性問題,並升級了 Chrome 140 內核,抹平了 JS 執行環境的微小差異。

本次更新解決了用戶長期以來的一個痛點:在使用 iPhone 模擬環境訪問 pcmax.jp 等高安全等級網站時,無法通過 CloudFlare 真人驗證的問題。

官方下載:Core 140 (Win10/11)


1. 核心突破:全新「IphoneCloudFlare」防檢測模式

📌 背景與挑戰:pcmax.jp 的高牆

在過去的兩個月裡,我們收到了大量 VIP 用戶的反饋。當嘗試使用候鳥瀏覽器的 iPhone 6/7/8/X/11/12 等 iOS 配置文件登錄日本知名社交網站 pcmax.jp 時,遇到了前所未有的阻礙。CloudFlare 的 Turnstile 驗證在這些移動環境下的攔截率極高,幾乎達到了 100% 的 False Positive(誤判攔截)。

具體症狀: 用戶配置了完美的候鳥商業指紋和 iPhone User-Agent,設置了匹配的屏幕解析度 (Retina),甚至模擬了 TouchEvent。然而,一旦打開 pcmax.jp 的登錄頁面,CloudFlare 就會進入無限驗證循環,或直接顯示「Access Denied」(拒絕訪問)。

📌 深度技術溯源:TLS 指紋的「恐怖谷」效應

核心研發團隊通過 MbFireWall 模塊進行了超過 200 小時的深度抓包分析,並使用 Wireshark 對比了真實 iPhone 設備(iOS 15-17)與候鳥模擬環境之間的網絡握手包。

結論令人驚驚訝:問題不在應用層(HTTP Headers/JS),而在傳輸層(TLS/SSL)。

當候鳥在 Windows 10/11 上運行時,底層網絡請求調用的是 Windows 的 SChannel 或 OpenSSL 庫。產生的 TLS Client Hello 數據包(包含 Cipher Suites 加密套件列表、Extensions 擴展字段順序、Supported Groups 等)表現出典型的「Windows 模擬 iPhone」特徵。

CloudFlare 的抗爬蟲與風控引擎極其敏感。它們偵測到的一個邏輯悖論:

「這個客戶端宣稱自己是 iPhone (User-Agent),其 JavaScript 環境也在模擬 iPhone,但它的 TLS 握手特徵 (JA3/JA4 Fingerprint) 卻明確告訴 CloudFlare 檢測服務器——我的 iPhone 數據不夠真實。」

這種應用層與傳輸層特徵的不匹配直接觸發了 CloudFlare 風控,即「Bot Fight Mode」,導致 pcmax.jp 甚至不給用戶顯示驗證碼的機會,直接判定為疑似非真實 IPHONE 或疑似非人工操作。

📌 解決方案:全局設置「IphoneCloudFlare」

為了攻克這一難關,我們沒有選擇簡單的補丁,而是從底層重構了網絡發包邏輯,並在全局設置中引入了 「IphoneCloudFlare」 選項。

這也解釋了為什麼我們技術部在項目的 MbFireWallWinDivert 模塊目錄下進行了大量的代碼提交(反覆測試與數據演練對比)。

技術實現細節:

  1. 內核級流量整形 (Traffic Shaping)

    • 當用戶在全局設置中勾選「IphoneCloudFlare」時,候鳥會激活內置的 Divert 驅動模塊。
    • 該模塊運行在系統內核模式,能攔截所有流向 CloudFlare IP 段的 TCP/TLS 握手包。
  2. 動態 TLS 指紋偽裝

    • MbBrowser 攔截到 Client Hello 包時,我們不再使用 OpenSSL 默認生成的結構,而是根據真實 iOS Safari 的 TLS 握手特徵進行字節級重組
    • Cipher Suites 重排:強制將加密套件的優先級順序調整為與 iOS 系統 Network.framework 行為完全一致,優先使用 TLS_AES_128_GCM_SHA256 等移動端特有套件,並移除 Windows 特有的弱加密套件。
    • Extension 填充:iOS Safari 對 Client Hello 中 Extensions 的填充方式(Padding)與 Windows 截然不同。新功能精確模擬了這種填充長度與順序。
    • ALPN(應用層協議協商):強制指定 h2 (HTTP/2) 協議協商順序,匹配 Safari 行為。
  3. TCP/IP 協議棧特徵模擬

    • 除了 TLS,我們還對 TCP 層的特徵(TTL 值、Window Size)進行了微調。
    • Windows 的默認 TTL 通常為 128,而 iOS/Linux 通常為 64。
    • IphoneCloudFlare 模式會在驅動層自動修改出站包的 TTL,使其在到達服務器時,表現得更像源自移動端操作系統。

📌 實戰效果驗證

經過內部測試團隊在 500+ 個乾淨 IP 環境下的壓力測試:

實戰效果

  • 候鳥客戶端設置面板 -> 瀏覽器設置 -> 未勾選:pcmax.jp 登錄頁面通過率為 0%

  • 候鳥客戶端設置面板 -> 瀏覽器設置 -> 已勾選:pcmax.jp 登錄頁面通過率提升至 98.5%(剩餘 1.5% 為 IP 本身黑名單問題)。

此功能不僅完美解決了 pcmax.jp 問題,也修復了其它對 TLS 指紋敏感的網站(如 Nike, Ticketmaster 等)在移動配置環境下的檢測問題。


2. Chrome 140 內核同步與 JS 顯示一致性修復

📌 Chrome 140 內核升級

跟隨 Google Chromium 上游更新,我們將 libcef 及相關渲染內核升級至 Chrome 140 版本。此次升級涉及了 CDP (Chrome DevTools Protocol) 目錄下的大量頭文件與接口變更。

  • 性能提升:V8 引擎的 JavaScript 執行效率提升約 15%。
  • 新特性支持:支持最新的 CSS 屬性與 Web API,確保瀏覽器的「真實性」與主流瀏覽器版本保持同步。

📌 修復 iPhone 環境下的 JS 顯示不一致問題

在舊版本內核中,當我們使用 chromedp 模擬 iPhone 的 viewportdevicePixelRatio 時,Chrome 140 的新渲染管線在處理某些特定 CSS Media Queries 時存在 bug,導致部分網頁(如 pcmax.jp 的手機版)的底部導航欄會出現 1px 的位移或重疊。

雖然這對功能影響不大,但對於極其嚴苛的指紋檢測腳本(通過 window.innerHeightouterHeight 的差值判斷是否為模擬器)來說,這是個致命漏洞。

修復內容:

  • 修改了 CDP 模塊的 Emulation.setDeviceMetricsOverride 調用邏輯,補齊了移動端狀態欄的高度補償。
  • MbCommand 中新增了對 window.screen 對象的深度 Hook,確保 JS 層獲取到的屏幕幾何信息與 CSS 渲染結果嚴格一致,消除了這一像素級的指紋缺陷。

3. 兼容性回退:Go 1.20 與 Win7 32 位系統救贖

雖然 Windows 7 已被微軟官方停更,且在我們用戶群體中僅佔 8%,但由於部分海外業務(特別是東歐、東南亞的虛擬機環境)仍大量依賴輕量化的 Win7 32 位系統,我們必須確保其穩定性。

📌 問題症狀

在上一版本中,由於 CDP 編譯環境升級至 Go 1.21,引入了部分 Win7 32 位內核不支持的系統調用 (Syscall),導致在該系統上啟動候鳥時,CDP 服務進程會靜默崩潰,表現為頁面空白或無法連接代理。

📌 修復方案

  • 環境降級與條件編譯:我們專門為 CDP 模塊構建了獨立的編譯流水線。當偵測到目標系統為 Windows 7 時,編譯腳本會自動切換至 Go 1.20.14 版本進行編譯。Go 1.20 是最後一個完美支持 Win7 的版本。
  • 這涉及修改 CDP 目錄下的構建腳本,並對使用 Go 1.21 新特性的代碼進行兼容性重寫 (Polyfill)。

4. 進程管理優化:告別「殭屍 Chrome」

📌 問題描述

用戶反饋在 Windows 7 上關閉候鳥主程序後,底層的 chrome.exe 子進程有時不會隨之退出,而是變成「殭屍進程」駐留在後台,佔用 200MB+ 的內存。如果用戶頻繁開關瀏覽器,會導致系統內存耗盡甚至卡死。

📌 技術分析

這與 UseAfterFree 無關,而是 IPC(進程間通信)信號丟失問題。在 Win7 上,當父進程(UI 進程,基於 DuiLib)通過 TerminateProcess 強行結束時,Chrome 子進程無法通過 Named Pipe 接收到退出指令。

📌 修復措施

  • Job Object 綁定
    • 我們在 MbCommand 的進程啟動邏輯中引入了 Windows 的 Job Object (作業對象) 機制。
    • 修改後的代碼會自動將所有開啟的 chrome.exe 子進程加入一個獨立的 Job Object。
    • 即便主程序意外崩潰或被強行跳出,操作系統也會保證 Job Object 內的所有子進程被一併終止。
    • 這是系統級的生命週期管理,徹底解決了殭屍進程問題。

5. 安裝包體驗優化:版本號路徑規範化

📌 問題描述

在原有的 SetupInstall 邏輯中,安裝包默認解壓路徑通常是固定的(如 C:\Program Files\MBBrowser)。這導致用戶在進行版本對比測試或多版本共存時非常不便,需要手動更改操作系統文件夾名稱。

📌 優化內容

  • Version-Aware Install Path:修改了 NSIS 安裝腳本,現在安裝程序會自動從當前 Build 中讀取版本號信息。
  • 默認安裝路徑更改為 C:\Program Files\MBBrowser_v7.10.20.219
  • 同步更新了 uninst.exe 的生成邏輯,確保卸載程序能精確識別並清理帶版本號的目錄,不會誤刪其它版本的共存文件。
  • 這極大地方便了工作室用戶進行灰度發佈與回滾測試。

6. Java 環境下載修復:打破緩存死鎖

📌 問題背景

候鳥的部分高級插件依賴 Java 運行環境 (JRE)。在 Windows 7 系統上,當下載器嘗試更新 JRE 時,由於 Win7 WinINet 緩存策略過於激進,即便服務器發佈了新的 JRE 包,客戶端也會反覆下載本地緩存的舊文件,導致校驗失敗 (Hash Mismatch) 並無限重試。

📌 修復方案

  • 強制穿透 (Cache Busting)
    • 在下載模塊的 HTTP 請求頭中強制加入 Cache-Control: no-cachePragma: no-cache
  • URL 隨機化:為了繞過頑固的中間人代理緩存 (ISP Cache),我們在下載 URL 後追加了 ?t=TIMESTAMP 隨機時間戳參數。
  • 經驗證,此項修復徹底解決了 Win7 下 Java 環境更新卡在 99% 的問題。

版本總結

本次 v7 更新雖然表面上波瀾不驚,但內含乾坤。特別是 「IphoneCloudFlare」 功能的上線,標誌著候鳥瀏覽器在對抗「TLS 指紋識別」這一反爬深水區取得了決定性的勝利。

我們建議所有從事日本電商、社交業務(pcmax, tinder 等)的用戶立即升級並開啟該選項。

官方下載鏈接:Chromium 140 內核版本 (兼容 Windows 10/11)