脚本说明:
- 原理简述:使用Dnsmasq的DNS将网站解析劫持到SNI proxy反向代理的页面上。
- 用途:让不能看流媒体的VPS看上流媒体(前提:VPS中要有一个是能看流媒体的)。
- 特性:脚本默认解锁Netflix Hulu HBO等,如需增删流媒体域名请编辑文件/etc/dnsmasq.d/custom_netflix.conf和/etc/sniproxy.conf
-
脚本支持系统:CentOS6+, Debian8+, Ubuntu16+
- CentOS6/7, Debian8/9/10, Ubuntu16/18 已测试成功
- 理论上不限虚拟化类型,如有问题请反馈
- 如果脚本最后显示的IP和实际公网IP不相符,请修改一下文件/etc/sniproxy.conf中的IP地址
有问题可以博客留言或者加入TG群组:萌精灵Telegram群组
安装方法:
wget --no-check-certificate -O dnsmasq_sniproxy.sh https://raw.githubusercontent.com/myxuchangbin/dnsmasq_sniproxy_install/master/dnsmasq_sniproxy.sh && bash dnsmasq_sniproxy.sh -f
注:sniproxys 要使用80端口,请忽占用此端口。
卸载方法:
wget --no-check-certificate -O dnsmasq_sniproxy.sh https://raw.githubusercontent.com/myxuchangbin/dnsmasq_sniproxy_install/master/dnsmasq_sniproxy.sh && bash dnsmasq_sniproxy.sh -u
使用方法:
将代理VPS的DNS地址修改为这个主机的IP就可以了,如果不能用,记得只保留一个DNS地址试一下。
vi /etc/resolv.conf
防止滥用,建议不要随意公布IP地址,或使用防火墙做好限制工作。
调试排错:
- 确认sniproxy有效运行
重启sni命令:systemctl restart sniproxy
如果sni不在运行,可检查配置/etc/sniproxy.conf,避免ss、nginx或者其他程序监听80,443,可将其配置文件的80更改为801等。 443端口必须给sni监听放行,查看:netstat -tlunp|grep 443
- 确认防火墙放行443,53
调试可直接关闭防火墙 systemctl stop firewalld.service
阿里云/谷歌云/AWS等外部防火墙放行 可通过其他服务器 telnet vpsip 53 以及 telnet vpsip 443 进行测试
- 解析域名
尝试用其他服务器配置完毕dns后,解析域名:nslookup netflix.com 判断IP是否是NETFLIX代理机器IP 如果不存在nslookup命令,CENTOS安装:yum install -y bind-utils,DEBIAN安装:apt-get -y install dnsutils
Github地址:https://github.com/myxuchangbin/dnsmasq_sniproxy_install
解锁机(能看netflix的机)排错方法:
运行下面两条命令确保服务正常运行。
netstat -tlunp|grep 443
netstat -tlunp|grep 53
被解锁机(不能看netflix的机)排错方法:
1、运行下面两条命令确保能正常链接到解锁机。
telnet 解锁机IP 53
telnet 解锁机IP 443
2、如果上面运行命令运行后显示可以正常链接到解锁机,再运行下面命令看是不是显示为被解锁机的IP。
nslookup netflix.com
3、如果上面都没有问题,那就看一下你是不是用了一键脚本吧。一键脚本很多都会自带dns服务,会影响流媒体的dns解锁。
如果提示53端口被占用,可以参考下面文章。
systemd-resolve占用53端口的解决方法
请问会受到解锁机带宽影响吗
@fwf 会的,但现在机子带宽应该都是没有问题的吧。
感谢分享,Netflix已经解锁,我想添加Disney,但我vps上没有/etc/dnsmasq.d/custom_netflix.conf和/etc/sniproxy.conf这两个文件
@Swagger 在解锁机里面,而不是被解锁机。
@萌精灵 一个TG都看不到?
@李智恩 没懂,什么一个TG都看不到?
感谢分享,有办法让sni proxy中转所有的流量吗?
感谢
@cary 抱歉,目前还不知道。
我也解锁了新加坡 但是软路由不知道怎么设置 站长什么时候出个软路由教程
@btcbtc 软路由的dns设置一下,然后用白、黑名单看行不行。
@btcbtc 不行,本地电脑直接用V*可以,链接上软路由就不行了,全网没软路由DNS解锁的设置教程
大佬好像不好使,直接奈飞看不了。。 是我自己的问题吗
@snake 教程没有问题的,仔细找找原因应该是没有问题的。
您好,按照您的方法,现在单机是可以解锁了。不知道软路由方面怎么设置呢?
@Issace 有黑白名单的可以用这个实现。
@萌精灵 感谢回复,现在我用的是OPENWRT固件的PW插件走外网,也有使用SmartDNS,不知道黑白名单这里怎么实现呢?现在我还有个迷惑的地方,SmartDNS使用的是本地网络寻找最快的CDN,那其实对我们用VPS上外网应该帮助不大吧?有没有可能分别直接使用各节点VPS的各自DNS地址,那使用负载均衡时,也可以分线路观看自己想看的东西。说白点,就是尽量省钱了:(
@萌精灵 您好,能告诉我一个大概的思路吗?
问个蠢问题,前提说“VPS中要有一个是能看流媒体的”。VPS这种都直接标识为datacenter的ip是怎么看流媒体的?
@ychz 只要有一台能看的就能解锁。(能不能看,买个帐号实际看看就知道IP能不能看了。)
我使用香港、台湾的服务器都试了 ,但都是显示美国地区,看是可以看了,但是解锁的竟然是美国的,这是怎么回事了?
@筱星星 香港、台湾的服务器也有可能是美国的IP的,你直接看显示的是香港、台湾的吗?这种一般是不会错的。
@筱星星 一样