自建梯子,如何使用 DNS 解锁流媒体

一般我们在选择自建梯子的时候,大多数服务器是不具备解锁流媒体功能的。那么今天我们就来介绍一下新姿势,如何使用 DNS 来解锁流媒体。

为什需要 DNS 解锁?流媒体

大家比较喜欢看的 Netflix、Disney+、Hulu、HBO 或者其它等等流媒体都对 IP 属性都是有着比较高的限制,一般像Vultra、搬瓦工这样的VPS都是不能直接观看的,大家也很难买到符合要求的VPS,其实这些原生IP的服务器大多数速度都比较慢(快的又很贵)|,直接连接观看不够流畅舒服。如果不用换服务器就能直接观看,那么就会非常爽了、也会省更多的钱和精力。

DNS 解锁原理

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

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

  1. 提供 DNS 解析,将符合流媒体的域名解析到自己的IP
  2. 解析到自己的 IP 后提供HTTPS/HTTP的代理(SNIProxy)这样就能代理访问流媒体了。

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

《自建梯子,如何使用 DNS 解锁流媒体》

DNS 流媒体解锁服务器安装

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

  1. 首先进C的后台给B的IP放进白名单
  2. 将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解锁的服务器配置也许稍显麻烦,而且还需要两台服务器(一台跑流量,一台用来解锁),如果有可能的话,解锁服务器可以共用,这样的话成本就能降低了。如果有想自建的可以可以试试。

发表评论