1.1.1.1 返回的是传统 DNS 路由策略,依照请求来源的 IP 做地域就近解析。
dns.cloudflare.com/dns-query 返回的是加密通道内的查询,由于 DoH 隐去了原始来路,Cloudflare 的地理识别会改变,导致 CDN 就近策略不同。
苹果的 vod-ap1-aoc 域名属于分布式视频节点。它根据查询端的地理特征、递归 DNS 的 ASN 、EDNS 信息选择不同服务器。
1.1.1.1 会带上来路信息并向苹果提供正确的区域指示。
DoH 查询常被视为来自 Cloudflare 本身或其边缘节点,苹果因此分配到另一个地区的 AOC 服务器。
所以对于 Loon 的解决方案:
[Remote Rule]
https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Loon/AppleTV/AppleTV.list, policy=DIRECT, tag=Apple TV, enabled=true
[Host]
*.tv.apple.com = server:1.1.1.1
*.itunes.apple.com = server:1.1.1.1
tv.applemusic.com = server:1.1.1.1