一般我们在选择自建梯子的时候,大多数服务器是不具备解锁流媒体功能的。那么今天我们就来介绍一下新姿势,如何使用 DNS 来解锁流媒体。
为什需要 DNS 解锁流媒体?
大家比较喜欢看的 Netflix、Disney+、Hulu、HBO 或者其它等等流媒体都对 IP 属性都是有着比较高的限制,一般像Vultra、搬瓦工这样的VPS都是不能直接观看的,大家也很难买到符合要求的VPS,其实这些原生IP的服务器大多数速度都比较慢(快的又很贵)|,直接连接观看不够流畅舒服。如果不用换服务器就能直接观看,那么就会非常爽了、也会省更多的钱和精力。
DNS 解锁原理
首先你需要有一台能看 Netflix 或者其它流媒体的服务器,用作DNS服务器和HTTPS代理。
DNS 解锁服务器主要起到两个作用:
- 提供 DNS 解析,将符合流媒体的域名解析到自己的IP
- 解析到自己的 IP 后提供HTTPS/HTTP的代理(SNIProxy)这样就能代理访问流媒体了。
大致的原理和流程可以参考下图:
DNS 流媒体解锁服务器安装
项目地址:https://github.com/ab77/netflix-proxy
GitHub 已经有人写好安装脚本,Ubuntu、Debian 可以直接安装(放在能看 Netflix 等流媒体的服务器C上):
警告:安装后服务器除了ssh 22端口外, 都是TCP连不上的,所以这台服务器的 ss、V2ray 也都会连不上。同时也会占用80、443、53、8080等端口,请确保这些端口开放。
apt-get update\
&& apt-get -y install vim dnsutils curl sudo\
&& curl -fsSL https://get.docker.com/ | sh || apt-get -y install docker.io\
&& mkdir -p ~/netflix-proxy\
&& cd ~/netflix-proxy\
&& curl -fsSL https://github.com/ab77/netflix-proxy/archive/latest.tar.gz | gunzip - | tar x --strip-components=1\
&& ./build.sh
脚本运行后会有 “netflix-proxy-admin site=http://IP:8080/ credentials=admin:PASSWORD” 提示,这里就是你管理后台的地址 你的ip:8080,用户名 admin,密码“:”后面生成的随机内容。
给 SS、V2ray 服务器配置DNS
注意:这里是给不能看的服务器B配置DNS
- 首先进C的后台给B的IP放进白名单
- 将B的DNS设置成C的IP
echo nameserver C的IP > /etc/resolv.conf
然后你用ss或者V2ray 连接之前不能看流媒体的B应该就可以直接观看了。
如何添加走代理的流媒体
在目录 netflix-proxy 下有个 nsmasq.conf 文件,这里记录了所有解锁的流媒体域名,格式和生成的保持一致,默认没有 Disney+的,不过你可以加上这三个来解锁 Disney+ ,***.**.1.1 记得改成你自己的C服务器的IP。
address=/disneyplus.com/***.**.1.1
address=/bamgrid.com/***.**.1.1
address=/dssott.com/***.**.1.1
当然这里你也可以玩点有意思的,比如:(不知道这是什么的就不要试了)
address=/域名A/香港DNS解锁服务器IP
address=/域名B/新加坡DNS解锁服务器IP
address=/域名C/美国DNS解锁服务器IP
如何卸载恢复
1.首先停止所有Docker
docker stop $(docker ps -aq)
docker rm $(docker ps -aq)
2.恢复 iptables
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -F
最后,DNS解锁的服务器配置也许稍显麻烦,而且还需要两台服务器(一台跑流量,一台用来解锁),如果有可能的话,解锁服务器可以共用,这样的话成本就能降低了。如果有想自建的可以可以试试。