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 是 Cloudflare 提供的一项基于 WireGuard 的网络流量安全及加速服务,能够让你通过连接到 Cloudflare 的边缘节点实现隐私保护及链路优化。其连接入口为双栈 (IPv4/IPv6),因此单栈服务器可以连接到 WARP 来获取额外的网络连通性支持。
比如可以让仅具有 IPv6 的服务器直接访问 IPv4 网络,不再局限于 DNS64 的束缚,能自定义任意 DNS 解析服务器,会有很大的帮助;也能让仅具有 IPv4 的服务器获得 IPv6 网络的访问能力,可以作为 IPv6 Only VPS 的 SSH 跳板。另外通过 WARP 网络可以实现解锁 Netflix 、绕过 Google 验证码等骚操作。
WARP 并不提供公网 IP 地址,而是以 NAT 的方式去访问外部网络。此外 CloudFlare 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