用Dnsmasq SNIproxy搭建流媒体解锁服务

众所周知,像Netflix、HBO这种全球性的流媒体服务商除了锁区,还有一套自建的墙,即:就算你翻过大山,他们自己还修了一道门。因此,如何打开他们的门成为一个简单的技术活。

过去,飞行员只会带你翻山,翻过山把你扔下就不管了。这几年,有些飞行员除了带你爬山,还会送一把开门的钥匙给你,更有一些飞行员还提供Netflix账号带你看世界。

本文主要记录如何用Dnsmasq SNIproxy搭建属于你自己的流媒体DNS解锁服务。

 

一、准备工作

你需要一台原生IP的VPS,综合对比之后,我选择了 快车道 ,他家的 SJC - HE HK IP (10G Port) 性价比很高。

 

二、安装Dnsmasq SNIproxy

安装Dnsmasq SNIproxy特别简单,我优化了myxuchangbin 的一键脚本,将其支持了包括Youtube在内的主流流媒体,脚本支持:CentOS6+, Debian8+, Ubuntu16+。

https://github.com/codionx/dnsmasq_sniproxy_install

 

1、安装:

wget --no-check-certificate -O dnsmasq_sniproxy_all.sh https://raw.githubusercontent.com/codionx/dnsmasq_sniproxy_install/master/dnsmasq_sniproxy_all.sh && bash dnsmasq_sniproxy_all.sh -f

 

2、卸载:

wget --no-check-certificate -O dnsmasq_sniproxy_all.sh https://raw.githubusercontent.com/codionx/dnsmasq_sniproxy_install/master/dnsmasq_sniproxy_all.sh && bash dnsmasq_sniproxy_all.sh -u

 

3、其他:

bash dnsmasq_sniproxy.sh [-h] [-i] [-f] [-id] [-is] [-fs] [-u] [-ud] [-us]
  -h , --help                显示帮助信息
  -i , --install             安装 Dnsmasq + SNI Proxy
  -f , --fastinstall         快速安装 Dnsmasq + SNI Proxy
  -id, --installdnsmasq      仅安装 Dnsmasq
  -is, --installsniproxy     仅安装 SNI Proxy
  -fs, --fastinstallsniproxy 快速安装 SNI Proxy
  -u , --uninstall           卸载 Dnsmasq + SNI Proxy
  -ud, --undnsmasq           卸载 Dnsmasq
  -us, --unsniproxy          卸载 SNI Proxy

 

4、安装完毕后,检查:
(1)#确认sniproxy有效运行 查看sni状态:

systemctl status sniproxy

如果sni不在运行,检查一下是否有其他服务占用80,443端口,以防端口冲突,先将其他服务更改一下监听端口,
查看端口监听:

netstat -tlunp|grep 443

 

(2)确认防火墙放行80,443,53

调试可直接关闭防火墙

systemctl stop firewalld.service

 

阿里云/谷歌云/AWS等运营商安全组端口同样需要放行 可通过其他服务器 telnet vpsip 53 以及 telnet vpsip 443 进行测试。

 

(3)解析域名

尝试用其他服务器配置完毕dns后,解析域名:

nslookup netflix.com

 

判断IP是否是NETFLIX代理机器IP 如果不存在nslookup命令,

CENTOS安装:

yum install -y bind-utils

DEBIAN安装: 

apt-get -y install dnsutils

 

三、使用方法

1、使用类似V2Board面板后端

直接修改如SOGA的DNS选项。

2、直接修改未解锁机的DNS

修改/etc/resolv.conf 文件。

nano /etc/resolv.conf

nameserver 改成解锁机IP即可。

 

四、可能碰到的问题

我在安装时,碰到:required port 53 already in use 的问题。则需要如下操作:

1、停用 systemd-resolved 服务

systemctl stop systemd-resolved

 

2、编辑 /etc/systemd/resolved.conf 文件

nano /etc/systemd/resolved.conf

 

3、修改resolved.conf文件

[Resolve]
DNS=8.8.8.8  #取消注释,增加dns
#FallbackDNS=
#Domains=
#LLMNR=no
#MulticastDNS=no
#DNSSEC=no
#Cache=yes
DNSStubListener=no  #取消注释,把yes改为no

 

4、运行命令

ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
阅读剩余
THE END