Netflix 需要一些特定的域名或者 IP 经过代理节点,才可以正常观看。
这个过程可能会出现两种情况:
一些代理软件/代理插件的规则中,忽略了一些 Netflix 的域名,仅代理部分 Netflix 需要的域名,这会导致提示使用代理。如果全局模式下可以观看,而使用规则模式不行,可能是这个原因;
某些 Netflix 客户端不只是发出域名请求,也还会包含 IP 请求。一些代理软件/代理插件的规则中仅能代理域名请求,而无法代理 IP 请求,这种情况下某些客户端就会提示使用代理。如果在电脑的网页版中可以观看而客户端中不行,可能是这个原因。
无论是提示使用代理,还是看不了非自制剧,在用户端都只有这两种原因:
- 漏了域名请求
- 漏了 IP 请求
至于服务器端,不存在所谓的原生 IP 的说法。
Netflix 去年开始进行封禁 IP,只是在不断的更换可用的 IP 来进行解锁而已;被封禁的 IP 会无法看版权剧,系统检测到这种情况就自动更换 IP,换成可以看的,仅此而已。
平时我们都是 TCP 协议,TCP 协议必须先经过 DNS 解析,发出一次请求并等待对方服务器传回回复,才会建立真正的链接,传输数据。
这其中有两个问题,一个是时间比较久,因为需要先接收一次数据;另一方面就是受 DNS 影响较大,DNS 污染会导致连接错误。
这是 Redir Host 的方式,不过 Redir Host 的 DNS 并非全部是本机查询,而是走代理的查询发送到远程服务器,通过节点来查询 DNS,这样速度会更慢。
Fake IP 是一种欺骗,一种本地映射,在本地建立映射关系,局域网设备发出 TCP 请求后,Fake IP 立刻返回虚假的回复,并连接上映射端的链接。
这样的实现有两点好处:
不受 DNS 污染影响,增强抗污染能力
打开速度会更快
Fake IP 的映射可以用于流媒体规则,Clash Meta 的流媒体预解析,配合 Fake IP,可以提前建立映射关系,观看流媒体的时候,所有请求会立刻映射到提前解析好的链接中,并建立链接。
这样可以避免某些设备客户端丢请求导致不可看的情况,除了 Netflix,Disney + 等其他的流媒体情况是类似的,在用户端都可以用这种方式提供解锁支持。Clash Meta 的 探测和预解析不是关键,但是可以提高流媒体观看的体验;Fake IP 映射是主要因素。
Fake IP 的副作用就是如果建立了错误的映射,会导致网页打不开或者服务不可用,解决办法就是排除相关域名的 Fake IP 映射,使用真实返回的地址。