
开源项目: https://github.com/lthero-big/Smartdns_sniproxy_installer
最近黑五,买了一些机器,但机器解锁不太满意啊,于是在论坛四处找教程,最近东拼四凑出了这个脚本;
现有脚本的痛点:
1 、不能方便的配置流媒体平台,sniproxy 和 smartdns 的配置都需要手动修改,而且添加 DNS 机器也需要手动配置,有点儿麻烦; 2 、大多是使用 dnsmasq 和 sniproxy 结合的脚本,没有 smartdns 的。
sniproxy:一个透明代理,反向代理流媒体网站(如 Netflix ),80 和 443 端口不得被占用,且需要开放
smartdns:一个 DNS 服务器,用来分流 DNS 域名是否走 sniproxy 代理

wget https://raw.githubusercontent.com/lthero-big/Smartdns_sniproxy_installer/refs/heads/main/smtdns_install.sh -O smtdns_install.sh 脚本将保存在本地 ,命名为 smtdns_install.sh ,您可以随时执行
bash smtdns_install.sh 如果您不想配置解锁机,请注册 Alice 免费的 DNS 解锁服务Alice,申请 DNS 解锁。随后,请阅读“被解锁机”篇章,使用
nameserver添加 DNS 服务器。如果您有自己的解锁机,可以先阅读“解锁机”篇章,配置自己的解锁机,随后使用
address添加 DNS 服务器。
-----------被解锁机-------------- 1. 安装 SmartDNS 2. 重新配置 SmartDNS 3. 添加上游 DNS 并分组 4. 查看已配置的上游 DNS 组 5. 查看流媒体平台列表 6. 添加一家流媒体平台到 SmartDNS 7. 添加一个地区流媒体到 SmartDNS 8. 添加所有流媒体平台到 SmartDNS 9. 查看已经添加的流媒体 y;12.23.34.45,命令为alice-hkN,完成 smartdns 的初始配置alice-hk解锁nameserver/address,如果使用 Alice 解锁服务,选择nameserverN,完成地区的添加如果使用 Alice 解锁服务,选择 nameserver
如果自建的解锁机运行了 smartdns ,选择 address
如果自建的解锁机不运行 smartdns ,选择 address
第一步:输入 1 ,安装 smartdns ;随后会询问是否添加上游 DNS 并分级
y;12.23.34.45,命令为alice-hkN,完成 smartdns 的初始配置第二步:输入 6/7/8 ,添加流媒体平台(注意是一家,一地区,还是所有平台)
alice-hk解锁,选择nameserverN,完成地区的添加确保 smartdns 服务启动了即可
SmartDNS 服务状态:运行中 SmartDNS 开机自启:已启用 system DNS 服务状态:已停止 system DNS 开机自启:未启用 sniproxy 服务状态:已停止 sniproxy 开机自启:未启用 -----------sniproxy 相关(解锁机)-------------- 11. 安装并启动 sniproxy 12. 添加流媒体平台到 sniproxy 13. 启动/重启 sniproxy 服务并开机自启 14. 停止 sniproxy 并关闭开机自启 15. 一键对被解锁机放开 80/443/53 端口 16. 一键开启指定 防火墙(ufw) 端口 第一步:输入 15 ,添加对被解锁机的访问权限,需要输入被解锁机的 ip即可
第二步:输入 11 ,会安装 sniproxy 并一键添加一些常用的流媒体平台
第三步:输入 12:添加想要的流媒体平台到 sniproxy ;如果你的机器是美国机,则可以添加美国的流媒体服务到 sniproxy 中,sniproxy 会自动重启;
确保 sniproxy 服务启动即可
SmartDNS 服务状态:已停止 SmartDNS 开机自启:未启用 system DNS 服务状态:运行中 system DNS 开机自启:已启用 sniproxy 服务状态:运行中 sniproxy 开机自启:已启用 前面只让 smartDNS 运行在了被解锁机上,当然,smartdns 可以运行在解锁机上,从而实现嵌套解锁。
嵌套解锁:将上游的 DNS 服务器指向 DNS 商家提供的服务器,从而让解锁机下游的服务器都能享受 DNS 商家提供的解锁权益(可能会违反商家的规则)
本脚本当然可以使用在解锁机上,下面是解锁机的 smartdns 配置
server 13.23.33.43 IP -group sg -exclude-default-group # 如果解锁机使用解锁机 IP ,则下游的被解锁机网飞会定位为解锁机的 ip (如美国) address /netflix.com/xx.xx.xx.xx address /netflix.net/xx.xx.xx.xx address /nflximg.com/xx.xx.xx.xx address /nflximg.net/xx.xx.xx.xx address /nflxvideo.net/xx.xx.xx.xx address /nflxext.com/xx.xx.xx.xx address /nflxso.net/xx.xx.xx.xx #> 如果解锁机使用上游的 DNS 商家提供的 IP ,则下游的被解锁机网飞会定位为上游 ip (如新加坡) nameserver /netflix.com/sg nameserver /netflix.net/sg nameserver /nflximg.com/sg nameserver /nflximg.net/sg nameserver /nflxvideo.net/sg nameserver /nflxext.com/sg nameserver /nflxso.net/sg 1 tediorelee 2024-12-01 18:37:08 +08:00 好帖,赞 |
2 Yien 2024-12-01 21:09:50 +08:00 赞感谢分享!!! Alice 或主流的 DNS 解锁也是这种方式实现的? |
3 FranzKafka95 2024-12-01 21:30:00 +08:00 好东西,感谢楼主 |
5 billytom 2024-12-01 22:47:29 +08:00 via iPhone 这种才是精华好帖,楼主辛苦了 |
6 li19910102 2024-12-02 10:49:18 +08:00 请问通过 dns 方式解锁流媒体,这个流量统计消耗的是被解锁机的流量?还是解锁机的流量?还是二者都要消耗? |
7 lthero OP @li19910102 #6 两者都消耗的 |
8 billytom 2024-12-03 05:00:14 +08:00 @lthero 请教下,被解锁机的 smartdns ,能否设置两台解锁机的 dns 做为互备,譬如我有一台自己的解锁机 A ,平时我想用 A ,如果 A 离线会改用 Alice DNS ,应该可行? |
9 lthero OP @billytom #8 应该是可以的,设置服务器 A 为主服务器,并且开启健康检查,当主服务器不用时自动切换成备用服务器 Alice 的 |
10 billytom 2024-12-03 12:40:23 +08:00 @lthero 麻烦检查下 HBO MAX 的港区配置,这会是不行的,我自己添加了后还是提示被检测出使用了 v 屁 n ,但我在被解锁机使用 smartdns 连接 AliceDNS 是正常的,问题出现在自己配置的解锁机这里。netflix ,disney 都正常,貌似是 hbo max 港区的域名没配置完整 |
11 lthero OP @billytom #10 原 HBO MAX 的配置在美区, 解决方案一:您可以输入 6 ,找到美区再修改 HBO MAX 的设置成 alice 的; 解决方案二:将 StreamConfig.yaml 删除,重新运行脚本,输入 6 会下载更新后的流媒体列表,输入 6 ,在 Global_Platform 可以找到 HBO_MAX ,将其设置为 alice 的。 |
12 lthero OP @billytom #10 HBO_MAX 原配置在 North_America ,所以对港区配置不会生效,现在它被移动到 Global_Platform ,您可以重新配置下。 |
13 billytom 2024-12-03 15:03:11 +08:00 感谢 @lthero 另外还有个问题,debian12 默认执行 smatdns_sniproxy.sh 的话,会提示无法安装 python xyz 的组件,需要运行一下语句后才能执行下去 rm /usr/lib/python3.*/EXTERNALLY-MANAGED |