探索未知,记录点滴

使用Netflix-proxy搭建奈飞中转代理

Spread the love

19.5.22更新:恰逢anynode用car绝赞迁移机房,迁移开机之后发现代理存在异常,遂reinstall。不料Netflix-proxy作者在最新发行中挖了一个坑,新版build.sh体验极差。于是我找到了之前的版本并fork,在正文中分享给大家。

顺带介绍一个看到的新项目:传送门,非docker版,本人没有尝试过,但是原理和操作和以下类似。

 

一周之前我买了一台anynode的服务器,从此可以享受观看奈飞的快乐了。但是问题也随之出现了:晚高峰的时候anynode网速太慢,以至于不能流畅加载低清画质的奈飞视频。所以我想到能不能用我其他的服务器做一个中转,从而实现流畅观看奈飞。之前就听说github有一个著名的奈飞代理项目,用的是dns代理,现在可以去试一试了~

交流群:Newlearnerの水群

《使用Netflix-proxy搭建奈飞中转代理》

准备工作和注意点

该项目用到了DNS劫持 和 SNI代理。将Netflix的查询请求劫持到中转服务器的IP上,之后通过中转服务器监听443端口的 SNI代理 ,将你的观看请求通过中转服务器处理后发送给Netflix服务器。  中转服务器使用SNI代理 ,因此也不会被判断成使用Proxy。

首先我们需要一台能看奈飞的小鸡,否则此代理无效。假设能看奈飞的服务器是小鸡A,中转的服务器是小鸡B。我们需要在小鸡A上面搭建一个tcp反向代理,并能够劫持小鸡B的DNS解析到小鸡A上面。

所以我们需要的工具大概有:

How to prepare

  • 服务器两个,其中一个可以解锁Netflix
  • SNIProxy,HTTPS代理
  • Dnsmasq,搭建DNS server
  • Caddy,反向代理

说明了原理之后,需要注意的事情有:

  • 配置好小鸡A之后需要在小鸡B上面修改服务器DNS为小鸡A的ip,以便在小鸡A上解析DNS
  • 使用该代理观看Netflix的时候,小鸡A小鸡B同时消耗流量
  • 你要看奈飞->向b🐔发起请求->b🐔检测到你要请求奈飞->向a🐔请求->a🐔向奈飞请求数据并反代到b🐔->b🐔将数据回传->你看到奈飞

部署

开源地址:Netflix-proxy

该项目用dokcer打包好了我们需要的各组件,十分方便,免去了各种配置的苦恼。当然信不过的也可以参考其中的build.sh源码自行安装并配置。该项目也支持ipv6和ddns动态域名。

特别注意的是,该项目的配置只反代Netflix等流媒体视频网站,不会因为你使用小鸡B(中转服务器)查看其他网页而消耗小鸡A多余的流量。

  • 服务器A(可看奈飞)

新版(若安装失败请看fork的旧版)For Debian or Ubuntu:

旧版(本人fork)For Debian or Ubuntu:

⚠️新版主要是buil.sh中的一行命令:apt install python3.6,导致python环境部署失败,详情可见netflix-proxy.log。 实际上我是很想吐槽下的,但是该项目并没有开放issue,因此在这里和大家分享避免跳坑,也希望作者能够尽快意识到这一问题。

输入之后回车,等待docker的部署,部署完成之后出现下图所示文字:

《使用Netflix-proxy搭建奈飞中转代理》

可以看到生成了一个登陆网址用户名密码,用记事本保存。接着登录网页:

《使用Netflix-proxy搭建奈飞中转代理》

登陆之后点击「Add IP」,添加小鸡B的ip(ipv4/6均可),这样我们就完成了小鸡A的配置。

对于部署的docker容器的运行情况,我们可以使用docker ps -a来查看。

如果在安装Python过程中遇到了locale issues,输入以下命令:

  • 服务器B(中转)

修改/etc/resolv.conf文件,将nameserver改为小鸡A的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

到此Netflix代理全部部署完毕,这时连接服务器B,享受高速的解锁奈飞体验。

局限性

1、受众局限性:在很多人看来做奈飞中转是脱裤子放屁,对该代理的作用认识不够。该代理实现的效果是:一台服务器能看奈飞,手里每台服务器都能看奈飞,即使能看奈飞的服务器到国内几乎没有网速。

2、部分用户使用路由器等搭建透明代理,且设置了DNS在本地解析,而不是远端(小鸡B)解析。这就导致DNS劫持失败,无法观看奈飞。

3、默认部署好该代理之后,debian9下面测试得出「其他代理均失效」的情况,表现为tcping+端口显示closed。原因我没有去深挖,毕竟只用来做一个代理服务器,用docker部署ss/v2即可完美解决该问题。需要用到80、443端口建站的朋友慎用。如果对docker熟悉的朋友有其他解决的办法,欢迎在下面留言。

 

参考文章:Netflix-proxy

打赏 赞(2)
支付宝二维码图片

支付宝扫描二维码打赏

  1. oylw说道:

    请问博主知道AWS怎么安装Netflix-proxy吗,现在anynode安装后也不能添加IP,基本废了,AWS美国节点都能解锁Netflix,但是安装不上,博主能出个教程吗?

    1. Newlearner365说道:

      anynode安装好之后为什么不能添加ip呢,有报错么?aws安装的话可能要注意内网问题,记得在防火墙添加映射。之前看到有人成功在gcp上安装了,我想问题应该不是很大。

      1. oylw说道:

        anynode输入网址:8080直接就提示502了,进不去,试了很多次都不行,AWS则是都没有安装进去,不知道博主那里看到GCP安装成功的,能提供下链接吗,想去借鉴借鉴,谢谢!!

        1. Newlearner365说道:

          如果报错502的话检查下docker的各个容器是否正常运行 docker ps -a,Netflix proxy的log文件在Netflix-proxy文件夹。gcp的安装并没有什么需要注意的地方,直接使用即可(来自安装成功的群友),实在不行也可以考虑iptables做端口转发。

  2. oylw说道:

    博主,经过两天折腾,anynode和AWS都安装上Netflix-proxy了,而且可以正常使用,解决方法是安装纯净系统,用的萌咖的,用自带的系统都安装不上,不知道是不是我的个例,也给其它区域解锁了Netflix,很感谢你的文章,解决了观看Netflix的问题,网上搜到的别的文章都没你的写得这么详细,太感谢了!!

  3. swing说道:

    没有必要把B的nameserver整个设置成A的ip,只需要根据netflix单独设置即可,在dnsmasq的配置include进去。

    1. Newlearner365说道:

      你说的这个方案和一楼是一样的,本文介绍的这个项目思路也是dns劫持+反代,不过实现方式有不同。这样的好处有一台机器能看奈飞,不用在其他机器上面单独配置dnsmasq,只需要修改nameserver即可,现在一些流媒体服务解锁网站也是用了相同的办法。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Recommended
19.5.22更新:…