使用 DNS 解锁流媒体

使用 DNS 解锁流媒体

为什需要 DNS 解锁🔓流媒体

无论是 Netflix、Disney+、Hulu、HBO 还是其它等等流媒体都对IP有着比较高的限制,比较难买到符合要求的VPS,二来这些服务器大多数速度都比较慢,直接连接观看不够流畅舒服。如果不用换服务器就能直接观看,那么就会非常爽了、也会省更多的钱和精力。

DNS 解锁原理

首先你需要有一台能看 Netflix 或者其它流媒体的服务器,用作DNS服务器和HTTPS代理。

DNS 解锁服务器主要起到两个作用:

  1. 提供 DNS 解析,将符合流媒体的域名解析到自己的IP

  2. 解析到自己的 IP 后提供HTTPS/HTTP的代理(SNIProxy)这样就能代理访问流媒体了。

大致的原理和流程可以参考下图:

DNS 流媒体解锁服务器安装

GitHub 已经有人写好安装脚本,Ubuntu、Debian 可以直接安装(放在能看 Netflix 等流媒体的服务器C上):
警告:安装后服务器除了ssh 22端口外, 都是TCP连不上的,所以这台服务器的 ss、V2ray 也都会连不上。同时也会占用80、443、53、8080等端口,请确保这些端口开放。

1
2
3
4
5
6
7
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

  1. 首先进C的后台给B的IP放进白名单

  2. 将B的DNS设置成C的IP

    1
    echo nameserver C的IP > /etc/resolv.conf

然后你用ss或者V2ray 连接之前不能看流媒体的B应该就可以直接观看了。

如何添加走代理的流媒体

在目录 netflix-proxy 下有个 nsmasq.conf 文件,这里记录了所有解锁的流媒体域名,格式和生成的保持一致,默认没有 Disney+的,不过你可以加上这三个来解锁 Disney+ ,23.160.1.1 记得改成你自己的C服务器的IP。

1
2
3
address=/disneyplus.com/23.160.1.1
address=/bamgrid.com/23.160.1.1
address=/dssott.com/23.160.1.1

当然这里你也可以玩点有意思的,比如。

1
2
3
address=/域名A/香港DNS解锁服务器IP
address=/域名B/新加坡DNS解锁服务器IP
address=/域名C/美国DNS解锁服务器IP

然后你就可以连接一台服务器解锁不同地区的流媒体了

如何卸载恢复

  1. 首先停止所有Docker

    1
    2
    docker stop $(docker ps -aq)
    docker rm $(docker ps -aq)
  2. 恢复 iptables

    1
    2
    3
    4
    iptables -P INPUT ACCEPT
    iptables -P FORWARD ACCEPT
    iptables -P OUTPUT ACCEPT
    iptables -F

总结

可能DNS解锁的服务器配置稍显麻烦,当然你可以直接使用别人的,让别人给你放进白名单就行了,你只需改下DNS还是蛮简单的。如果服务器多的话,就可以解锁多个地区的流媒体了,然后统一个DNS服务器,依然能直接改服务器DNS来解锁多个地区流媒体,非常方便实用。

要恰饭的嘛(逃