mirror of
https://github.com/tanrax/maza-ad-blocking.git
synced 2024-11-10 02:15:42 +01:00
154 lines
3.1 KiB
Markdown
154 lines
3.1 KiB
Markdown
## 🥇 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
|
||
|
||
<img alt="demo" src="media/demo.gif">
|
||
|
||
Simple, native and efficient local advertising blocker. Compatible with macOS and Linux.
|
||
|
||
<table>
|
||
<tr>
|
||
<td>
|
||
<img alt="maza logo" src="media/maza.png" width="500">
|
||
</td>
|
||
<td>
|
||
<ul>
|
||
<li>You <strong>don't have to install any browser extensions or applications</strong>, you just use the tools of your operating system.</li>
|
||
<li>You update the list of DNS to be blocked with a <strong>single command</strong>.</li>
|
||
<li><strong>Opensource</strong>.</li>
|
||
<li>Just <strong>bash</strong>.</li>
|
||
</ul>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
|
||
|
||
|
||
|
||
|
||
## 🏃Run
|
||
|
||
### 📡 Update database
|
||
|
||
``` bash
|
||
maza update
|
||
```
|
||
|
||
### 🔨 Start
|
||
|
||
``` bash
|
||
sudo maza start
|
||
```
|
||
|
||
### 🛠 Stop
|
||
|
||
``` bash
|
||
sudo maza stop
|
||
```
|
||
|
||
### ⚖️ Status
|
||
|
||
``` bash
|
||
maza status
|
||
```
|
||
|
||
## ⚙️ Install
|
||
|
||
### 👀 Requirements
|
||
|
||
- **bash** 4.0 or higher
|
||
- **curl**
|
||
- Only macOS users, **gsed**: `brew install gnu-sed`
|
||
|
||
Then you do this.
|
||
|
||
``` bash
|
||
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.
|
||
|
||
``` bash
|
||
sudo cp /etc/hosts /etc/hosts.backup
|
||
```
|
||
|
||
## 🔪 Uninstall
|
||
|
||
``` bash
|
||
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
|
||
|
||
```bash
|
||
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.
|
||
|
||
```bash
|
||
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.
|
||
|
||
```bash
|
||
127.0.0.1
|
||
208.67.222.222
|
||
208.67.220.220
|
||
```
|
||
|
||
<img alt="network macos" src="media/network-osx.jpg" width="500">
|
||
|
||
Refresh your DNS cache
|
||
|
||
```bash
|
||
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.
|