3.2 KiB
🥇 Maza was Top 1 in Hacker News
Comments: https://news.ycombinator.com/item?id=22717650
Maza ad blocking - Like Pi-hole but local and using your operating system
Simple, native and efficient local advertising blocker. Compatible with macOS and Linux.
🏃Run
📡 Update database
maza update
🔨 Start
sudo maza start
🛠 Stop
sudo maza stop
⚖️ Status
maza status
⚙️ Install
👀 Requirements
- bash 4.0 or higher
- curl
- Only macOS users, gsed:
brew install gnu-sed
Then you do this.
curl -o maza https://raw.githubusercontent.com/tanrax/maza-ad-blocking/master/maza && chmod +x maza && sudo mv maza /usr/local/bin
Optional but recommended, make a backup of your hosts file.
sudo cp /etc/hosts /etc/hosts.backup
🔪 Uninstall
sudo rm /usr/local/bin/maza && sudo rm -r ~/.maza
DNSMASQ
Unfortunately the hosts file does not support sub-domains (wildcards), which is necessary to correctly filter all DNS. You will need to install locally a server for that purpose, Maza supports the Dnsmasq format. Here's an example for macOS.
1 Install
brew install dnsmasq
2 Configure
Edit the file.
/usr/local/etc/dnsmasq.conf
Add the following lines.
conf-file=(your user path)/.maza/dnsmasq.conf
Start DNSMASQ.
sudo brew services stop dnsmasq
sudo brew services start dnsmasq
3 Tell your OS to use your DNS server
Delete the list of macOS DNS servers and add the 3 addresses. The first one will be your local server, and the other 2 belong to OpenDNS, which you can use any other.
127.0.0.1
208.67.222.222
208.67.220.220
Refresh your DNS cache
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
Bonus: dnsmasq is in charge of solving all DNS
Add in confiigure file: /usr/local/etc/dnsmasq.conf
no-resolv
server=208.67.222.222
server=208.67.220.220
Bonus: dnsmasq have test domains
If you want all your .localhost
domains, for example, point to localhost add in confiigure file: /usr/local/etc/dnsmasq.conf
address=/.localhost/127.0.0.1
⚠️ CAUTION
- Only compatible with Linux and macOS operating systems.
- Remember to make a backup copy of
/etc/hosts
in case of unforeseen circumstances, neither the project nor its author will be responsible for any possible repercussions derived from not carrying out this action.