MintFlow
MintFlow 菜单

使用 iOS App 隐私报告构建 MintFlow 域名集和 IP 路由规则

学习如何把 iOS App 隐私报告中的网络活动转换为 MintFlow 域名集和 CIDR 集,用于 App 路由、分流和自定义流量策略。

MintFlow 可以按 CIDR、CIDR 集、域名集、代理、VPN、直连、丢弃或拒绝来路由流量。难点往往不是写路由,而是弄清楚某个 iOS App 实际会访问哪些域名。

注意:MintFlow 的 App 路由和基于域名的分流需要订阅或解锁 Pro 功能。本文假设你已经启用 App 路由,然后再继续建立域名集和路由规则。

Apple 的 App 隐私报告正适合做这个发现步骤。启用后,它可以显示 App 网络活动、网站网络活动,以及所有 App 最常联系的网域。Apple 官方的 App 隐私报告支持页面 也提供了网络活动示例截图,足以确认报告会展示 MintFlow 高级用户需要的域名线索。

这篇文章说明如何把这些线索整理成 MintFlow 的域名集和 IP 集。在 MintFlow profile 语法里,IP 集对应的是 CIDR 集。

从报告到路由

从 iOS App 隐私报告提取域名并生成 MintFlow 域名集、CIDR 集和路由规则的流程图
仅为原创示意图。图中的域名和 IP 网段是文档示例,不是真实 App 数据。

实用流程是:

  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 网段。

[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 级路由,而不是依赖过期的公共列表。

参考: