用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