[Drcai's Noob Guide] 第一期-变废为宝篇:SNIPROXY 做到单节点解锁 NetFlix 等一切 OTT 服务(全文转载)
-
全文转自 91云BBS
背景
-
好久没有发骚操作指南了 - -!!
原因 : 太骚的操作自己也驾驭不了 , 比较骚的操作新手驾驭不了 …
那么这次肯定是非常简单的操作咯 , 不要有压力 , 先来了解一下这个教程的目的 . -
很多萌豚为了躺在沙发上看4K版 NETFLIX 选择了 小米盒子S国际版 …FIRETV …等一系列 认证盒子…
入坑仿佛开启了新的世界 , 发掘不仅有 Netflix 还要看 FOX …HBO …HULU…ABEMA …BBC …ITV …SLINGTV …DIRECTV…HAMI VIDEO …LITV … -
这些OTT 服务平台来自不同的国家 , 只用单个服务器IP 似乎无法一次性全部解锁 .每次换应用的时候都得去切一下服务器节点…
能不能一次性看爆 ???
解决方案
方案有2个 :
传统方案:路由器上装DNSMASQ , 把不同平台的域名发配到不同的SNIPROXY 上
- 缺点:
1 HTTPS协议 443端口 容易被证书阻断 Connection Reset Happened - -!!! 2 每个OTT平台都需要配一条"优质高速"线路 Wallet Expooooosion Happened - -!!! 3 你要自定义非常多的DNSMASQ规则 , 大多数ATV认证盒子连激活和界面都得反代 ..... 4 很快IP就会被墙的 - - 总觉得你的荷包又要爆炸一次 - -!!!
改良方案
Step1:用一台线路好的VPS做SS/SSR服务端 . 一台可以解锁 OTT平台的渣VPS 做SNIPROXY. Step2:修改代码, 利用 SS/SSR服务端 读取SNIPROXY的数据. Step3:直接在ATV盒子上安装SSR客户端安卓版/使用ss-redir脚本制作透明代理网关.
-
简单易懂的原理介绍
在第一步,我们安装了 SNIPROXY (反代) 和 DNSMASQ (相当于Windows的修改Host) 一体化环境 .
那么在SS/SSR服务端 我们利用这个分流脚本 ,把不同的域名 分配到 不同的自建DNSMASQ服务上 .
那台VPS的DNSMASQ会把OTT平台的域名使用本机的SNIPROXY进行反代…
最后,相当于你的 SS/SSR 服务端在把你的SNIPROXY当作一个网站在访问 - - 这样应该能理解 ?? -
缺点:
1 流量开支 x2 , 所以请发挥想象力合理分配你的VPS - -!
- 优点:
1 速度快不断流 , 所有的OTT流量转发都交给了你接入用的VPS... 2 OTT平台解锁可以用被墙 VPS ....到国内网络绕地球的超级廉价货 ... 3 IP 还是有机会被墙 , 但是每次只墙一个 - -! 这个真的算优点么 - -??
=================分割线====================
改良方案教程
- 既然改良还是有那么多优点…那就果断进入实施阶段 :
1st - 你需要建一坨可以看OTT平台的 SNIPROXY
- 渣渣新说到: 求推荐VPS !
本菜鸡的建议 : 垃圾ONEVPS , 垃圾AWS LIGHTSAIL 新加坡 , 这种IP秒墙线路又渣,流量便宜,但自身素质(国际线路速度 , 硬件稳定性)良好的KVM VPS即可… - 准备好后看这里 : https://github.com/ab77/netflix-proxy
根据说明一键安装 . 这是一个 SNIPROXY + DNS 服务器一体的脚本
注意:
1 这个脚本会自动设置IPTABLES ,请保持 SSH 端口为 22 .完成后人工调整 …
2~/netflix-proxy/auth
目录下运行./admin-reset.sh
重设WEB界面管理密码
3 访问http://ip:8080
使用admin账号登陆 , 把SSR 服务端所在VPS 的 IP 加入白名单 !!-
添加更加多的转发域名(已自带 netflix 和 bbc 等等
来到~/netflix-proxy/
目录 编辑dnsmasq.conf
-
以Sling TV的域名为例增加:
address=/sling.com/公网IP address=/movetv.com/公网IP
- 记得不但要增加网站的根域名,CDN视频服务器的域名别忘记加进去, 大部分的CDN服务器都会封IP 不用侥幸…
修改完成后 docker restart dnsmasq 生效.
####2nd - 在你的"优质"VPS上配好 SS/SSR服务端
(以下最简单易懂的 Pyhton 版服务端为例 , SS和SSR服务端在这一步操作上没有任何区别 .)
- 接下来我们要稍微修改一下代码, 利用SSR服务端自带的 DNS 分流功能 .
---- 不要害怕,我PYTHON ,PHP 都没学过…没有让你原创, 修改代码凭感觉来就可以了 !!
- 打开服务端根目录 , 编辑
/shadowsocks/asyncdns.py
440行左右的代码 ,
先找到def _send_req(self, hostname, qtype):
,接下来我示范修改一段代码供参考.
def _send_req(self, hostname, qtype): req = build_request(hostname, qtype) for server in self._servers: logging.debug('resolving %s with type %d using server %s', hostname, qtype, server) if "netflix" in hostname or "nflx" in hostname: self._sock.sendto(req, ('解锁NF用的SNIPROXY IP', 53)) elif "sling" in hostname or "movetv" in hostname: self._sock.sendto(req, ('解锁SLING用的SNIPROXY IP', 53)) else : self._sock.sendto(req, server)
- 还要找到 def handle_event(self, sock, fd, event): 整段修改
def handle_event(self, sock, fd, event): if sock != self._sock: return if event & eventloop.POLL_ERR: logging.error('dns socket err') self._loop.remove(self._sock) self._sock.close() # TODO when dns server is IPv6 self._sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.SOL_UDP) self._sock.setblocking(False) self._loop.add(self._sock, eventloop.POLL_IN, self) else: data, addr = sock.recvfrom(1024) self._handle_data(data)
以上代码来自 : https://github.com/iv8/ssr-mu/blob/master/shadowsocks/asyncdns.py
- 新手语法注意:
1 SS/SSR服务端的域名转发比DNSMASQ更简单 . 以 netflix.com 为例 - -你只用写
if "netflix" in hostname
,那么包含 netflix 字符的域名都会适配这条规则 , 不用写成 “netflix.com” .
2 同一条规则适配多个域名 当中用or
来间隔 …
3 适配另外一个网站比如示范中的 sling tv , 另起一行用elif
来表达 …之后你比如想再来个bbc 继续是用elif
… 千万别一路上全部是if
, 最后剩下来的规则 用else
- -!!3rd - 利用一键脚本建立基于 SS/SSR的透明网关 或 直接运行安卓版SSR客户端
- 你需要一台 X64 或者性能强劲ARM 实体机…当然开一台HYPER-V虚拟机之类的也没问题 …
- 然后看这里 https://github.com/zfl9/ss-tproxy
- 新手指南在这里 https://www.zfl9.com/ss-redir.html
- 你所需要的模式为 :
chnroute
. 也就是一切海外流量走代理 . - 最后把你的电视盒子设置为静态 IP , 网关 和 DNS 全部填写成那台透明网关的 …
说到这里 有睿智的人要跳出来了 : 我直接在电视盒子上装一个 安卓版的 SSR客户端不就好了 ?
一般电视盒的CPU性能运行 SSR安卓版后 1080P 能流畅的看 , 4K 要流畅的看恐怕要加钱 …
NVIDIA SHIELD TV 的性能可以做到 …
有的人只追求1080P … 所以, 这一步想偷懒的人请直接在盒子内安装SSR 安卓版即可 …完成 , 开始享受人生 ~
PS:
1 请发挥你的创造能力 , 此教程不光适用于TV盒子 , 可以套用在任何需要 单IP接入 自动分配到其它IP的应用环境上 , 比如各种手机应用 , 凡是不方便切换代理节点的都可以参考这套方案.
2 Netflix 认证电视盒子推荐: 入门级 - FireTV stick(1080p)/FireTV stick 4K , 中档 - 小米盒子 S 国际版 , 高级 - Nvidia Sheild TV .千万不要买 ROKU ,那是工业垃圾 !!! 千万不要手贱去ROOT ,这样 google DRM L1认证就掉到 L3了 …Netflix 盒子版无法运行 只能重新刷机拯救了 …
3 以上教程中本人自己采用的三合一解锁方案 : 接入用VPS采用香港Softlayer (自带 HBO 和 FOX+ 解锁属性) , 新加坡 AWS Lightsail 作为 Sniproxy 解锁 Netflix , 美国旧金山 Digital Ocean 作为Sniproxy 解锁 Sling TV . -
-
前排学习一下
-
走技术线了
-
前段时间拿临时邮箱注册的奇点云居然可以看网飞 还是很舒服的 不过网站好像跑路了 小鸡还活着~ 当然饭桶晚上还是炸的跟shit一样…
-
-
跨国家很卡,建议同地区做这个
-
@Leonn https://t.me/liyuans/24922 你发过的2333333 反正免费 又拿的临时邮箱注册的 啥也不怕~