Cloudflare WARP 搭配 SNIProxy+DNSmasq 解锁 Netflix 等流媒体

1. Netflix 是什么?

Netflix 是一家优质的视频服务商,与国内腾讯视频、爱奇艺类似。但与之不同的是, Netflix 并无免费内容,所有在 Netflix 上的电影、剧集等,都需要付费购买会员才可以观看。并且 Netflix 自制剧(类似爱奇艺自制的网剧)几乎都是神剧,评分爆炸。目前越来越多的用户开始接触并选择观看 Netflix 。更多内容可以移步我的另一篇博文

2. 解锁 Netflix 的理由

1、现在可看 Netflix 的 IP 越来越少,也越来越珍贵。只要你有一台 VPS 可以看 Netflix ,解锁后相当于你有无数台可看 Netflix 的 VPS 。

2、一般找小的服务商,他们手里的 IP 很大概率可以看 Netflix ,小服务商的价格也比较低,不过线路往往不好。你只要再购买一台线路好的服务器就可以提高播放速度。

3、国内并没有屏蔽 Netflix ,只是 Netflix 单方面限制了国内地区观看。你只需要将本地 DNS 修改为你搭建了 Netflix 解锁服务的 IP ,就可以直接观看 Netflix ,不需要额外代理。

3. 原理

通过软件程序,将不能看 Netflix 的服务器流量转发到可以看 Netflix 的服务器上,然后再将结果转发到不能看 Netflix 的服务器上,最后再将结果转发到你的设备上,完成解锁 Netflix 的过程。使用的软件有 DNSmasq/iptables/firewalld/brook 等。

4. IPv6解锁

Netflix屏蔽了很多 IPv4 段,但是 IPv6 很少屏蔽,一是 IPv6 用的人还很少,而且 IPv6 地址很多,总有漏网之鱼。

如果你恰好有一台有 IPv6 地址的服务器,可以试试下面的方法:

如果你用 ss ,在配置文件修改server字段,可以同时支持 IPv4 和 IPv6

"server":"::",

如果你是 ssr ,修改配置文件 dns_ipv6 字段为 true ,让 IPv6 优先

dns_ipv6": true,

然后重启 SS/SSR 即可,默认情况下连接 Netflix 使用的就是 IPv6 。此方法不能保证一定可以看 Netflix 。(如今 SS 系列协议可能安全性不足,慎用)

5. 通过 Cloudflare WARP 获取 IPv6 地址

WARP 是 Cloud­flare 提供的一项基于 Wire­Guard 的网络流量安全及加速服务,能够让你通过连接到 Cloud­flare 的边缘节点实现隐私保护及链路优化。其连接入口为双栈 (IPv4/​IPv6),因此单栈服务器可以连接到 WARP 来获取额外的网络连通性支持。

比如可以让仅具有 IPv6 的服务器直接访问 IPv4 网络,不再局限于 DNS64 的束缚,能自定义任意 DNS 解析服务器,会有很大的帮助;也能让仅具有 IPv4 的服务器获得 IPv6 网络的访问能力,可以作为 IPv6 Only VPS 的 SSH 跳板。另外通过 WARP 网络可以实现解锁 Net­flix 、绕过 Google 验证码等骚操作。

WARP 并不提供公网 IP 地址,而是以 NAT 的方式去访问外部网络。此外 Cloud­Flare WARP 的网络质量目前要比 HE 好非常多的。

如果你的 VPS 服务商不提供 IPv6 地址,你可以用 Cloudflare 提供的 WARP 服务来获取一个 IPv6地址。

5.1 一键安装

一键安装脚本(来源于 GitHub missuo/CloudflareWarp

wget -O warp.sh https://raw.githubusercontent.com/missuo/CloudflareWarp/main/warp.sh && bash warp.sh

5.2 内核版本处理

需要注意的是,内核必须为 >= 5.X,需要安装最新版的BBR加速内核。

yum install wget
wget -N --no-check-certificate "https://github.000060000.xyz/tcp.sh" && chmod +x tcp.sh && ./tcp.sh

5.3 流媒体检测

在使用了 WARP 之后,你的 VPS 应该会增加一个 IPv6 地址,并且这个地址大概率是可以观看 Netflix 的,可以使用下面的脚本检测:

检测各种流媒体脚本(来源于 GitHub lmc999/RegionRestrictionCheck

bash <(curl -L -s https://raw.githubusercontent.com/lmc999/RegionRestrictionCheck/main/check.sh)

6. 安装SNI+DNSmasq

6.1 一键安装

一键安装脚本(来源于 GitHub myxuchangbin/dnsmasq_sniproxy_install
其中包含了主流流媒体配置

6.1.1 安装

wget --no-check-certificate -O dnsmasq\_sniproxy.sh https://raw.githubusercontent.com/myxuchangbin/dnsmasq\_sniproxy\_install/master/dnsmasq\_sniproxy.sh && bash dnsmasq_sniproxy.sh -i

6.1.2 卸载

wget --no-check-certificate -O dnsmasq\_sniproxy.sh https://raw.githubusercontent.com/myxuchangbin/dnsmasq\_sniproxy\_install/master/dnsmasq\_sniproxy.sh && bash dnsmasq_sniproxy.sh -u

6.2 我的修改版一键安装

其中添加了 Twitter,YouTube的配置,并且默认配置好 IPv6 优先。

6.2.1 安装

wget --no-check-certificate -O dnsmasq_sniproxy.sh https://raw.githubusercontent.com/nazocthun/dnsmasq_sniproxy_install/master/dnsmasq_sniproxy.sh && bash dnsmasq_sniproxy.sh -i

6.2.2 卸载

wget --no-check-certificate -O dnsmasq_sniproxy.sh https://raw.githubusercontent.com/nazocthun/dnsmasq_sniproxy_install/master/dnsmasq_sniproxy.sh && bash dnsmasq_sniproxy.sh -u

6.2 限制ip使用

此方法不同 Netflix-proxy ,可以登录网页手动绑定 IP ,如果你搭建 Netflix 解锁服务的 VPS 的 IP 被别人知道,他们也可以不经过你的同意直接使用,所以限制 IP 是很有必要的。

在搭建了 Netflix 解锁服务的 VPS 上执行命令。
首先一棍子打死,所有外部 IP 都不允许访问本 VPS 的 53 端口。

iptables -I INPUT -p tcp --dport 53 -j DROP

现在我们如果要授权168.10.1.1使用,执行如下命令:
添加 IP

iptables -I INPUT -s 168.10.1.1 -p tcp --dport 53 -j ACCEPT

还有其他 IP ,依据上面照猫画虎,修改 IP 后执行就行了。上面的设置都是临时,如果重启了这台 VPS 就会重置规则,我们需要保存一下 iptables 已获得永久修改。

service iptables save