来源: https://x.com/yeahwu404/status/2050113788465361093
部分用户反馈称 iOS 在中国内地疑现信息推送异常,部分境外 App 无法收到通知
有用户近日反馈,部分海外 App(包括但不限于 Telegram )在 Apple 设备上使用中国内地网络时,可能无法正常收到海外 App 的 APNs Push 通知。开启代理(代理 *.push.apple.com )后则可正常接收推送。
不过现阶段这一情况仍缺乏更大范围的样本支持,尚无法确认是否为系统性现象,也不能据此断定苹果已经建立了面向中国内地地区的海外 App 通知推送“黑名单”或“白名单”。
来源2: https://www.nodeseek.com/post-709310-1
最终测试,把下面这些规则走代理后,即可在WiFi下不用开代理工具的包含APNS功能也能收到推送了,设置完之后要开关飞行模式,断掉所有连接才会生效。
另外如果是移动数据网络下使用,就必须打开代理工具的包含APNS功能,不然会间歇性失效。
DOMAIN-SUFFIX,push.apple.com
DOMAIN-SUFFIX,akadns.net
DOMAIN-KEYWORD,apple.com.edgekey.net
IP-CIDR,17.249.0.0/16,no-resolve
IP-CIDR,17.252.0.0/16,no-resolve
IP-CIDR,17.57.144.0/22,no-resolve
IP-CIDR,17.188.128.0/18,no-resolve
IP-CIDR,17.188.20.0/23,no-resolve
IP-CIDR6,2620:149:a44::/48,no-resolve
IP-CIDR6,2403:300:a42::/48,no-resolve
IP-CIDR6,2403:300:a51::/48,no-resolve
IP-CIDR6,2a01:b740:a42::/48,no-resolve
个人测试:
一开始看到 apple 推送域名走代理就能恢复推送 ,不能确定是GFW 阻断的问题,还是apple主动对中国IP 停止推送,于是想用 push.apple.com 测试一下
0 锁定域名
用 www.diggui.com 进行dns查询
https://www.diggui.com/#type=A&hostname=push.apple.com&nameserver=public&public=8.8.8.8
发现 没有解析出IP,问了下AI
1-courier.push.apple.com
2-courier.push.apple.com
3-courier.push.apple.com
...
这些域名设备维持 APNs 长连接的核心域名,断了就收不到推送
1 dns污染检查
继续dns查询 1-courier.push.apple.com
https://www.diggui.com/#type=A&hostname=1-courier.push.apple.com&nameserver=public&public=8.8.8.8
得到 17.57.144.54
在本地也查询了一下,得到 17.188.185.133 ,dns没有污染
2 端口检查
在线检测
https://tcp.ping.pe/17.188.185.135:443
本地也 tcp 17.188.185.135 443 这个IP 的端口没有被封
3 sni阻断检查
手动指定 1-courier.push.apple.com 域名到 IP 17.188.185.135 和端口443
curl -v --resolve 1-courier.push.apple.com:443:17.188.185.135 https://1-courier.push.apple.com
返回
* schannel: SNI or certificate check failed: SEC_E_WRONG_PRINCIPAL (0x80090322)
服务器返回了证书,但证书名称不匹配
TLS 握手已完成到证书验证阶段
说明没有被sni阻断,如果被sni阻断返回的应该是
* Recv failure: Connection was reset ← 直接 RST,中间没有服务器的回应
目前结论:
对 1-courier.push.apple.com 域名的检查,发现GFW 没有进行阻断,是apple 对中国内地地区没有推送通知
当然也许推送的域名并不止这一个 x-courier.push.apple.com,请自行检查别的涉及推送相关域名