评论:https://news.ycombinator.com/item?id=22717650

sudo maza start像pi-hole,但本地使用并使用您的操作系统。
简单,天然且有效的本地广告阻滞剂。 BASH脚本与MacOS , Linux , BSD和Windows子系统兼容Linux(WSL) 。

sudo maza updatesudo maza startsudo maza stopsudo maza statusbrew install gnu-sed然后,您要这样做。
curl -o maza https://raw.githubusercontent.com/tanrax/maza-ad-blocking/master/maza && sudo rm -rf /usr/local/bin/maza && chmod +x maza && sudo mv maza /usr/local/bin可选但建议,请备份主机文件。
sudo cp /etc/hosts /etc/hosts.backup您可以运行测试以查看域是否被阻塞。
例如,您可以运行以下命令。
curl googleadservices.com如果您有这样的错误,则意味着域被阻止。
curl: (7) Failed to connect to googleadservices.com port 80 after 2 ms: Could not connect to server但是,如果您通过HTML得到响应,则意味着该域没有被阻止(也许是404错误)。
打开你的cron 。
crontab -e在最后添加以下行。
@daily maza update
一些用户报告了在MacOS上创建守护程序的问题。用TERM=dumb 。
TERM=dumb
@daily maza update
sudo rm /usr/local/bin/maza && sudo rm -r /root/.config/mazaedit /root/.config/maza/ignore ignore,并添加要忽略的域。
例子:
ads-twitter.com
ads.twitter.com默认情况下,忽略以下域,以避免操作系统的问题。
localhost
localhost.localdomain
local
broadcasthost
ip6-localhost
ip6-loopback
ip6-localnet
ip6-mcastprefix
ip6-allnodes
ip6-allrouters
ip6-allhosts
0.0.0.0最后,更新Maza以应用更改。
sudo maza update如果要包含要阻止的域,则可以将它们添加到/root/.config/maza/custom-domains 。他们必须每个人都在一行上,忽略端斜线或协议( http或https )。
例如:
beauty-tea.com
www.expaqua.cloud
ad.about.com然后更新数据库以重新生成列表以包括您的域。
sudo maza update
默认情况下,使用了yoyo(Peter Lowe)DNS列表(3.7K阻止域)。如果您想使用另一个列表,例如史蒂文·布莱克(Steven Black)的列表(有135K封锁的域),则必须在第8行中添加列表的URL。
URL_DNS_LIST_CUSTOM="https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts"
不幸的是,主机文件不支持子域(通配符) ,这是正确过滤所有DNS所必需的。您需要为此目的安装本地服务器,Maza支持DNSMASQ格式。
macos
Linux
sudo maza updatebrew install dnsmasq编辑文件。
/usr/local/etc/dnsmasq.conf
在最后添加以下行。
conf-file=(your user path)/.config/maza/dnsmasq.conf
例子
conf-file=/Users/myuser/.config/maza/dnsmasq.conf
启动DNSMASQ。
sudo brew services stop dnsmasq
sudo brew services start dnsmasq删除MACOS DNS服务器列表并添加3个地址。第一个将是您的本地服务器,另外2个属于Opendn,您可以使用其他服务。
127.0.0.1
208.67.222.222
208.67.220.220
刷新您的DNS缓存
sudo dscacheutil -flushcache ; sudo killall -HUP mDNSRespondersudo maza stop
sudo maza startsudo maza updatesudo apt update
sudo apt install dnsmasq在路径中编辑文件。
/etc/dnsmasq.conf
在最后添加以下行。
conf-file=(your user path)/.config/maza/dnsmasq.conf
例子
conf-file=/home/myuser/.config/maza/dnsmasq.conf
启动DNSMASQ。
sudo systemctl stop dnsmasq
sudo systemctl start dnsmasq
sudo systemctl enable dnsmasq在Gnome Shell中,打开Settings->Network 。单击您的连接。

添加您的本地服务器(DNSMASQ),另外2个属于OPENDN,您可以使用其他任何东西。
127.0.0.1,208.67.222.222,208.67.220.220
在KDE等离子体中,打开Settings->Network->Connectios 。单击您的连接和选项卡ip4 。
Method :自动(仅地址)。添加您的本地服务器(DNSMASQ),另外2个属于OPENDN,您可以使用其他任何东西。
DNS Servers : 127.0.0.1,208.67.222.222,208.67.220.220 。 
sudo maza stop
sudo maza start添加配置文件: /usr/local/etc/dnsmasq.conf
no-resolv
server=208.67.222.222
server=208.67.220.220
localhost域如果您想要所有的.localhost域,例如,指向Localhost添加configure file: /usr/local/etc/dnsmasq.conf or /etc/dnsmasq.conf 。
address=/.localhost/127.0.0.1
帮助我继续改善。
ssh [email protected] -p 5555您可以在Raspberry Pi,VPS或任何需要的地方轻松地创建自己的DNS服务器,仅在10个命令中连接设备,这要归功于Maza。遵循教程。
请记住,在不可预见的情况下,要制作/etc/hosts的备份副本,该项目和作者都不会对不执行此诉讼产生的任何可能的影响负责。
安德罗斯·费诺洛萨(Andros Fenollosa)