# MintFlow 1.9.0 發布

Canonical: https://galaxnet.dev/zh-hant/mintflow/releases/1.9.0/
Language: zh-Hant







## MintFlow 1.9.0 發布

近期 MintFlow 1.9.0 已在 iOS App Store 上線。

本版本透過「Designed for iPad」目標開啟 macOS 商店可見性，代表應用現在可在搭載 Apple Silicon 的 macOS 裝置上執行。

以下是本次更新中值得關注的內容。

### DNS 架構重構

付費使用者專用的應用程式路由功能，是多項進階能力（包含以網域為基礎的分流路由、HTTP 抓包與改寫）的核心。

它本質上是一個內建的 DNS 伺服器，負責回應來自各應用與 iOS 系統的 DNS 查詢。因此我們可以依使用者的路由規則，將路由動態安裝到 MintFlow 的路由表，將流量導向不同目標（包含 Proxy 與 VPN）。這得益於 fd.io VPP 提供的高彈性路由能力。

過去我們不想為內建 DNS 再額外從 192.88.99.0/24（保留 IPv4 區段）保留一個 IP，只使用以下兩個地址：

- 192.88.99.2：推送給 iOS 系統的 utun IP
- 192.88.99.1：MintFlow 的內部 utun peer 介面（也由 fd.io VPP 提供能力），因此可回應 ping

我們先前將 192.88.99.2 下發為 iOS DNS，並將內部 DNS 綁到 utun 介面監聽常見的 UDP 53 端口，該方式在 iOS 可用，但在 macOS 無法正常工作，顯示「Designed for iPad」情境有些微實作差異。

因此在 1.9.0，我們最終進行了一次架構重整：

我們為內部 DNS 分配了新 IP 192.88.99.3，在 fd.io VPP 引擎內處理 DNS 查詢，再透過 IPC 機制交由內部 DNS 服務（以 Rust 撰寫）完成解析。

從 iOS 系統視角看，192.88.99.3 就是 DNS 伺服器；系統向該位址發起查詢後，我們接收並轉交內部 DNS，內部 DNS 依 DomainSet Routing 規則與 DNS Fallback 規則（查詢網域未命中任何 DomainSet 時）回傳結果。

此方案在 macOS 亦可正常運作，因此本版本重新啟用「Designed for iPad」目標。

我們將在今年持續投入獨立 macOS 版本，因為在 macOS 上有更強的流量取得方式，也能提供更多功能，例如按應用 Bundle ID 分流（iOS 上無法使用）。

### DoT/DoH 支援

因應部分使用者需求，我們在 1.9.0 加入 DoT/DoH 支援。

由於 DoT/DoH 透過我們控制更多的內建 DNS 實作，故僅對付費使用者開放。

補充說明：在 MintFlow 中，我們有兩套 DNS 設定。一套用於直接流量（透過手機網路，無論是行動網路或 Wi-Fi），另一套用於 VPN 流量（透過使用者設定的三層 VPN 下四層 Proxy）。兩套都可配置 DoT/DoH；當傳統 DNS 與 DoT/DoH 同時存在時，為了最大化隱私，將僅使用 DoT/DoH。

對於 VPN 流量，若用網域方式配置 Dot/DoH，還必須額外設定 `VPN-DNS-SERVER-DOMAINS` 路由規則，因為必須先解析 DoT/DoH 伺服器 IP 才能進行加密 DNS 查詢。DNS 區段也新增了 `bootstrap-dns` 設定，提供合理預設，通常不需手動調整。

### AmneziaWG 1.5 與 2.0 支援

MintFlow 基於 fd.io VPP，具備原生 WireGuard 外掛，配合性與穩定性都表現良好。

先前我們曾在同一 WireGuard 外掛上提供 AmneziaWG 1.0，而部分使用者需要 1.5 與 2.0 以達到更好的混淆效果。

本次更新已補齊這一點，並增加與 GitHub 上部分 AmneziaWG 2.0 安裝器相容的配置匯入。

### Shadowsocks2022 支援

與 AEAD 版本相比，Shadowsocks2022 是新版加密套件，同時也調整了封包格式。

在 1.9.0 中，我們新增了 2022 套件中的三種加密方式；若伺服器支援，也支援 UDP Forward。

### 診斷工具

我們新增了多個診斷工具，例如 VPN/Proxy 診斷，可在 MintFlow VPN 啟用時不經由 iOS 系統網路直接檢查各 VPN/Proxy 可達性；若某個 VPN/Proxy 在診斷中顯示正常，但仍無法連線，可依此重新檢視 MintFlow 手冊找出可能的設定問題。

我們也新增了 profile 診斷工具，可擷取目前生效的 profile 及其編譯結果，供 MintFlow runtime 載入，協助定位未正確設定的部分。

### 使用者介面優化

我們持續優化 UI，將開發過程中累積的規範落地，例如配色一致性與字型樣式一致性。

## 結語

自 MintFlow 1.0.0 在 iOS App Store 發布至今已約 15 個月，共發佈 8 個版本。應用形態逐步成熟，也已成為我們的日常工具。

我們將持續強化 MintFlow 的功能完整度與穩定性。

一如既往，歡迎透過信箱與我們分享任何回饋與建議。


