# 使用 iOS App 隱私權報告建立 MintFlow 網域集與 IP 路由規則

Canonical: https://galaxnet.dev/zh-hant/mintflow/articles/app-privacy-report-domainset-routing/
Language: zh-Hant

學習如何把 iOS App 隱私權報告中的網路活動轉換為 MintFlow 網域集和 CIDR 集，用於 App 路由、分流和自訂流量策略。







MintFlow 可以依 CIDR、CIDR 集、網域集、代理、VPN、直連、丟棄或拒絕來路由流量。難點通常不是寫路由，而是弄清楚某個 iOS App 實際會連接哪些網域。

> 注意：MintFlow 的 App 路由和基於網域的分流需要訂閱或解鎖 Pro 功能。本文假設你已經啟用 App 路由，然後再繼續建立網域集和路由規則。

Apple 的 App 隱私權報告正適合做這個發現步驟。啟用後，它可以顯示 App 網路活動、網站網路活動，以及所有 App 最常連接的網域。Apple 官方的 [App 隱私權報告支援頁面](https://support.apple.com/zh-tw/102188) 也提供了網路活動範例截圖，足以確認報告會展示 MintFlow 進階使用者需要的網域線索。

這篇文章說明如何把這些線索整理成 MintFlow 的網域集和 IP 集。在 MintFlow profile 語法裡，IP 集對應的是 CIDR 集。

## 從報告到路由

<figure class="workflow-diagram">
  <div class="workflow-diagram-scroll">
    <picture>
      <source media="(max-width: 720px)" srcset="/mintflow/app-privacy-report-to-mintflow-routing-zh-hant-mobile.svg">
      <img src="/mintflow/app-privacy-report-to-mintflow-routing-zh-hant.svg" alt="從 iOS App 隱私權報告擷取網域並產生 MintFlow 網域集、CIDR 集和路由規則的流程圖" loading="lazy">
    </picture>
  
  <figcaption class="workflow-diagram-caption">僅為原創示意圖。圖中的網域和 IP 網段是文件範例，不是真實 App 資料。</figcaption>
</figure>

實用流程是：

1. 開啟 App 隱私權報告。
2. 有控制地使用目標 App。
3. 從 App 網路活動中記錄網域。
4. 依用途替網域分類。
5. 建立 MintFlow 網域集和可選 CIDR 集。
6. 用 MintFlow 的 DNS 快取檢視器和實際路由行為驗證結果。

## 開啟 App 隱私權報告

在 iPhone 或 iPad 上開啟 **設定 -> 隱私權與安全性 -> App 隱私權報告**，然後啟用它。Apple 說明該報告只會在啟用後開始收集資訊，且報告資料會加密並僅儲存在裝置上。

接下來正常使用目標 App 一段時間。例如媒體 App 可以測試登入、資訊流載入、搜尋、播放、下載和通知入口；金融 App 可以測試登入、報價更新、圖表載入、文件下載和內嵌網頁。目標是涵蓋你真正想要路由的 App 行為。

累積足夠活動後，進入目標 App 的 **App 網路活動**。重點看這幾類訊號：

| 報告訊號 | 能提供什麼線索 | 在 MintFlow 中的用法 |
|---|---|---|
| App 直接連接過的網域 | 核心 API、登入、同步、媒體、遙測、當機回報 | 通常整理為網域集 |
| 透過 App 內內容連接過的網域 | 內嵌文章、影片、廣告或網頁內容 | 先確認用途，不要直接當作 App 核心流量 |
| 最常連接的網域 | 跨 App 的高頻網域 | 用於發現共享 CDN 或追蹤基礎設施 |
| 網站網路活動 | App 內造訪網站載入的網域 | 適合將網頁內容和 App 核心流量分開處理 |

Apple 說明 App 隱私權報告涵蓋過去 7 天內的活動。瀏覽器 App 的私密瀏覽工作階段不會包含在報告裡，因此如果需要取樣瀏覽器流量，應使用一般瀏覽工作階段。

## 先分類，再路由

不要把所有網域直接塞進一個大列表。更好的 MintFlow profile 通常會依用途分組：

- **核心服務網域**：API、帳號、同步、聊天、媒體播放列表或付款端點。
- **CDN 網域**：靜態資源、圖片、影片分段、邊緣快取或下載伺服器。
- **遙測網域**：指標、當機回報、診斷和分析。
- **廣告和追蹤網域**：廣告投放、歸因、跨 App 追蹤或行銷像素。
- **內嵌內容網域**：因為 App 開啟網站、文章或第三方影片而出現的網域。

這樣做很重要，因為不同組通常應該走不同動作。你可以讓核心和 CDN 網域走代理，讓遙測直連，拒絕廣告，並讓未知網域走 DNS fallback。

使用父網域時要保守。如果報告裡出現 `api.example-video.com` 和 `cdn.example-video.com`，只有在你確認整個父網域都屬於同一 App 用途時，才考慮加入 `example-video.com`。如果網域屬於大型雲端服務商、CDN、廣告網路或共享平台，應盡量保持精確。

## MintFlow profile 範例

下面的網域和 IP 網段都是文件範例。請替換為你自己的 App 隱私權報告網域，以及經過單獨驗證的 CIDR 網段。

```ini
[domain-sets]
video-core=api.example-video.com,auth.example-video.com,stream.example-video.com
video-cdn=cdn.example-video.net,img.example-video.net
video-telemetry=metrics.example-video.com,events.example-video.com
video-ads=ads.example.net,track.example.net

[cidr-sets]
video-fixed-ips=203.0.113.24/32,198.51.100.0/24

[routing]
DOMAIN-SET,video-core,L4PROXY,media-proxy
DOMAIN-SET,video-cdn,L4PROXY,media-proxy
DOMAIN-SET,video-telemetry,DIRECT
DOMAIN-SET,video-ads,REJECT
CIDR-SET,video-fixed-ips,L4PROXY,media-proxy
DNS-FALLBACK,DIRECT
DEFAULT,DIRECT
```

在這個例子中：

- `video-core` 和 `video-cdn` 走指定代理。
- `video-telemetry` 保持直連。
- `video-ads` 被拒絕。
- `video-fixed-ips` 是可選項，只應放入你可信的 IP 網段。
- `DNS-FALLBACK,DIRECT` 避免未匹配網域意外走代理側 DNS。
- `DEFAULT,DIRECT` 讓明確規則之外的封包流量保持直連。

## 關於 IP 集

App 隱私權報告主要是網域發現工具，並不是完整的 IP 歸屬資料庫。很多 App 使用 CDN、雲端服務和動態邊緣節點。把一次 DNS 解析得到的所有位址都寫進 CIDR 規則，可能影響無關 App，或過度路由共享基礎設施。

只有在這些情況下才建議使用 CIDR 集：

- App 廠商發布了穩定的 IP 網段。
- 你自己控制該伺服器或服務。
- 你已經跨時間、網路和地區驗證過該位址範圍。
- App 使用字面量 IP 連線，無法透過網域路由覆蓋。

對大多數公開 App，先從網域集開始。只有當 DNS 快取和實際路由行為顯示缺口時，再補充 CIDR 集。

## 在 MintFlow 中驗證

修改 profile 後，重新啟動 MintFlow VPN，讓目前 profile 編譯後的路由狀態進入正在執行的 tunnel。

然後小步驗證：

1. 先只啟用核心網域集。
2. 開啟目標 App 並執行一個任務。
3. 查看 MintFlow 的 DNS 快取檢視器中是否出現新網域。
4. 將新網域和 App 隱私權報告對照。
5. 理解用途後，再加入 CDN、遙測或廣告網域。
6. 始終明確保留 DNS fallback 和預設路由。

這種迭代比匯入公開列表慢，但得到的規則更貼合你的帳號、地區、App 版本和真實使用方式。

## 常見錯誤

避免這些捷徑：

- 把 **最常連接的網域** 當作某一個 App 的完整網域列表。
- 把 App 內嵌網頁內容連接的所有網域都當作 App 核心流量。
- 使用過寬的 CDN 父網域，導致影響大量無關 App。
- 只憑一次 DNS 樣本就建立大型 CIDR 集。
- 忘記報告是滾動 7 天視圖，不是永久規則資料庫。

## 為什麼適合搭配 MintFlow

MintFlow 的 App 路由模型建立在明確策略上：網域集、CIDR 集、DNS fallback、預設路由，以及代理、VPN、直連、丟棄或拒絕等目標動作。App 隱私權報告則提供了來自 iOS 自身的觀察層。兩者配合，可以讓進階使用者基於真實使用資料建立 App 級路由，而不是依賴過期的公開列表。

參考：

- [Apple 支援：關於「App 隱私權報告」](https://support.apple.com/zh-tw/102188)


