Netflix一些基本概念
本文框架援引了这篇博客
Netflix 平台只有会员才能观看视频,且影片内容根据地区不同而不同,国内必须通过梯子才能正常观看影片,梯子网速太慢影片就会很卡、即使是 Premium 会员也无法流畅观看 4K 影片。
关于 Netflix 常见的名词解释:
- Netflix自制剧: Netflix出品的影片,鱿鱼游戏就是Netflix出品的自制剧,自制剧也是非常优秀的影片。
- Netflix非自制剧: Netflix购买版权的影片(有的版权不限制地区可以全球观看、有的版权限制地区只可以在某些地区观看)。
观看 Netflix 前提:
- 有个Netflix会员帐号: 简单办法是某宝合租、自己注册购买帐号(不同地区价格不同,限制地区的不到10块钱一个月,不一定要香港,可以在新加坡,日本,韩国,美国登录的我认为都可以接受)
- 自备梯子: 买个能解锁Netflix非自制剧的VPS,可以看到更多影片。
奈飞各地区片源信息
详细各地区影片列表可以通过uNoGS.com来查看
如果你想查看某个影片在 Netflix 上是否可以看,可以在这里搜索对应影片名,只支持英文搜索。
也可以了解到最近新上映影片和即将过期影片信息。
Netflix解锁检测脚本
先检测解锁机和代理机的Netflix解锁情况。分别在2台机器运行一下命令(任选一个即可)
1 | wget -O nf https://github.com/sjlleo/netflix-verify/releases/download/v3.0/nf_linux_amd64 && chmod +x nf && ./nf |
也可以用这个项目。
手里的服务器
我的服务器有韩国春川的甲骨文云,以及谷歌云。
就2022年6月的情况,甲骨文云的IP是可以解锁非自制剧,谷歌云则部分地区可以解锁,目前我测试到印度尼西亚,美国,香港部分可以解锁非自制剧。
接下来我演示就以甲骨文云韩国的VPS作为解锁机,创建一个谷歌云香港VPS作为代理机,代理机地区无要求。
解释一下为什么不直接用甲骨文云韩国的VPS作为节点,因为在当下(2022年6月),我申请到的甲骨文云以及是延迟高丢包频繁。几乎就处于不可用的状态。
我能想到的用处就是看视频了,毕竟对延迟的要求不会太高。后期速度能跑上去就行。
甲骨文云申请地址 https://www.oracle.com/cloud/free/
谷歌云申请地址 https://cloud.google.com/
大家用自己的服务器就行,只是这2个用VISA, 万事达信用卡就可以免费申请。
方法1中转加速
第一种方法,准确来说算不上解锁,但是可以解决我的需求,我用低延迟的香港服务期做NAT转发机器。具体操作如下。
两台机器都需要开放相应端口的防火墙,可以安装BBR加速。
对于解锁机
搭建ss,vmess,v2ray,xray节点,建议使用X-UI面板。解锁解锁机IP为x.x.x.x
创建节点后将节点添加到V2RAY / Shadowrocket客户端。
比方说vmess节点信息如下,x.x.x.x:3333,加密方式aes-128-gcm,传输协议tcp
在代理软件中,测试连接是否正常,然后进行后续操作。
对于中转机
中转机要求,距离你地理位置近,访问延迟低,与解锁机的ping延迟要显著低于你直连解锁机的延迟。
可以是香港,台湾的VPS,也可以是国内的VPS,满足以上条件即可。假设中转机IP为y.y.y.y
我们用到的端口转发工具是iptables,这里是项目地址。
1 | wget --no-check-certificate -qO natcfg.sh https://www.arloor.com/sh/iptablesUtils/natcfg.sh && bash natcfg.sh |
输出如下:
1 | 你要做什么呢(请输入数字)?Ctrl+C 退出本脚本 |
选1,增加转发规则
本地端口号,填中转机端口,例如4444
远程端口号,填解锁机节点端口,可知是3333
目标域名/IP,填解锁机的IP,可知是x.x.x.x
完成
客户端操作
将刚刚vmess节点,x.x.x.x:3333,加密方式aes-128-gcm,传输协议tcp,复制一份,修改2个地方
地址x.x.x.x改为y.y.y.y,端口3333改为4444,其他保持不变,这时候再连接。就实现了中转加速。
完成
方法2解锁
需要两台小鸡:
- 小鸡A: 完全解锁Netflix非自制剧影片的VPS,IP地址 x.x.x.x
- 小鸡B: 无法解锁Netflix非自制剧影片的VPS,IP地址 y.y.y.y
访问 Netflix
流量的线路图:
国内本机/路由器---DNS(
小鸡B)->
小鸡B-->
小鸡A-->
Netflix服务器
以下为了清晰表达以小鸡A
和小鸡B
来表述内容。小鸡A
我们成为解锁机,小鸡B
我们成为代理机。
解锁机操作
一键脚本直接配置好Dnsmasq + SNI proxy, 详情可访问作者项目地址。
原理简述:使用Dnsmasq的DNS将网站解析劫持到SNI proxy反向代理的页面上。
用途:让无法观看流媒体的VPS可以观看(前提:VPS中要有一个是能观看流媒体的)。
解锁机(能解锁Netlfix的VPS)执行下面的一键脚本开始安装:
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 -f |
安装好后提示的地址是解锁机的IP地址x.x.x.x ,如果这里显示的IP不是你解锁机的IP,那么就需要手动修改文件/etc/sniproxy.conf中的IP地址。
解锁机的操作就是一行代码。
代理机操作
直接修改代理机DNS配置文件
1 | vi /etc/resolv.conf |
修改成解锁机的IP地址
1 | nameserver x.x.x.x |
至此,你的代理机也可以正常解锁Netflix了。
检测DNS是否生效,2和3选一条即可
1 | yum install -y bind-utils |
如果生效,解析到的地址就是你解锁机的地址x.x.x.x
1 | ;; ANSWER SECTION: |
安全规则配置
为了防止DNS被其他人滥用,建议不要随意公布IP地址,我们也可以使用iptables限制访问解锁机的53端口(DNS服务器默认使用53端口)。
先限制所有IP访问53端口,再允许解锁机的IP访问:
1 | iptables -I INPUT -p tcp --dport 53 -j DROP |
DNS配置文件锁定
修改/etc/resolv.conf文件,将nameserver改为解锁机的IP,这个方法有弊端,用DHCP的服务器会不定期重置DNS,导致奈飞代理失效。下面给一些出解决的思路:
1、在服务器的其他地方保存resolv.conf文件的一个副本(假设放在/root),设置一个crontab定时命令cp /root/resolv.conf /etc/resolv.conf
2、添加写保护:chattr +i /etc/resolv.conf
3、修改生成resolv.conf的相关配置文件,具体可以谷歌。譬如centos7中需要修改/etc/NetworkManager/NetworkManager.conf
最后别忘了在代理机安装代理。
1 | bash <(curl -s -L https://git.io/v2ray-setup.sh) |
只解析Netflix的域名
我们需要让解锁鸡只负责解析奈飞的域名, 其他域名仍然由代理机解析。这时我们可以通过在代理机安装dnsmasq来实现分域名解析。
(经过我测试,貌似不设置也可以仅Netflix的域名走解锁机)
安装dnsmasq(CentOS为例)
1 | yum install -y dnsmasq |
编辑dnsmasq 解析规则配置文件
1 | vi /etc/dnsmasq.d/custom.netflix.conf |
将如下内容填入,奈飞之外的域名由谷歌dns解析,奈飞的全部域名由解锁鸡解析,奈飞域名可由domain-list-community项目处获得(注意将x.x.x.x替换为解锁机IP)
1 | server=8.8.8.8 |
编辑/etc/resolv.conf文件,修改为nameserver 127.0.0.1,最后,重启dnsmasq。
1 | systemctl restart dnsmasq.service |
大功告成。
Q&A
- 可否解锁所有区域呢? : 不可以,解锁机在哪个区就解锁哪个区,也就是想解锁哪里,就买哪里
可以完全解锁netflix
的VPS才行。 - 观看影片是否消耗解锁机的流量呢? : 消耗!访问的netflix流量都会经过解锁机中转,所以
流量
和带宽
也限制了解锁机的用户数
。