An open API service indexing awesome lists of open source software.

https://github.com/5-whys/adh-rules

Adblock home rules for China regions (Mainland China, Hong Kong, Taiwan, Macau Users)
https://github.com/5-whys/adh-rules

adblock adblock-list adguard-blocklist adguardhome blocktracker china-region hongkong mainland-china taiwan

Last synced: 25 days ago
JSON representation

Adblock home rules for China regions (Mainland China, Hong Kong, Taiwan, Macau Users)

Awesome Lists containing this project

README

          

[![5whys-Ad-list-processing](https://github.com/5-whys/adh-rules/actions/workflows/adrules.yml/badge.svg)](https://github.com/5-whys/adh-rules/actions/workflows/adrules.yml)
[![Last Run](https://img.shields.io/github/actions/workflow/status/5-whys/adh-rules/adrules.yml?label=last%20run&logo=github)](https://github.com/5-whys/adh-rules/actions)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Go Version](https://img.shields.io/badge/Go-1.21-00ADD8?logo=go&logoColor=white)](https://golang.org/)
[![Updates](https://img.shields.io/badge/Updates-3%2Fday-brightgreen)](https://github.com/5-whys/adh-rules/actions)
[![Rules](https://img.shields.io/badge/Rules-1M%2B-blue)](https://github.com/5-whys/adh-rules)
[![GitHub Stars](https://img.shields.io/github/stars/5-whys/adh-rules?style=social)](https://github.com/5-whys/adh-rules/stargazers)

# 5whys Adblock Home Rules

Adblock rules for China regions (Mainland China, Hong Kong, Taiwan, Macau). Updated 3 times daily.

中國地區廣告封鎖規則(中國大陸、香港、台灣、澳門)。每日更新 3 次。

---

## Features

| Feature | Description |
|---------|-------------|
| Multi-source | Consolidates 30+ filter lists for China regions |
| Multi-format | AdGuard Home, hosts, dnsmasq, Unbound, uBlock Origin, domain-only |
| 4 Tiers | Super, Full, Medium, Min |
| DNS Filtering | Removes dead domains using puredns + massdns |
| Transparency | Dead domains list published for review |

---

## Download Links

| Tier | AdGuard Home | Hosts | dnsmasq | Unbound | uBlock Origin | Domains |
|------|-------------|-------|---------|---------|---------------|---------|
| **Super** (617k) | [raw](https://raw.githubusercontent.com/5-whys/adh-rules/main/rules/output_super.txt) \| [cdn](https://cdn.jsdelivr.net/gh/5-whys/adh-rules@release/output_super.txt) | [raw](https://raw.githubusercontent.com/5-whys/adh-rules/main/rules/output_super_hosts.txt) \| [cdn](https://cdn.jsdelivr.net/gh/5-whys/adh-rules@release/output_super_hosts.txt) | [raw](https://raw.githubusercontent.com/5-whys/adh-rules/main/rules/output_super_dnsmasq.txt) \| [cdn](https://cdn.jsdelivr.net/gh/5-whys/adh-rules@release/output_super_dnsmasq.txt) | [raw](https://raw.githubusercontent.com/5-whys/adh-rules/main/rules/output_super_unbound.txt) \| [cdn](https://cdn.jsdelivr.net/gh/5-whys/adh-rules@release/output_super_unbound.txt) | [raw](https://raw.githubusercontent.com/5-whys/adh-rules/main/rules/output_super_ublock.txt) \| [cdn](https://cdn.jsdelivr.net/gh/5-whys/adh-rules@release/output_super_ublock.txt) | [raw](https://raw.githubusercontent.com/5-whys/adh-rules/main/rules/output_super_domains.txt) \| [cdn](https://cdn.jsdelivr.net/gh/5-whys/adh-rules@release/output_super_domains.txt) |
| **Full** (586k) | [raw](https://raw.githubusercontent.com/5-whys/adh-rules/main/rules/output_full.txt) \| [cdn](https://cdn.jsdelivr.net/gh/5-whys/adh-rules@release/output_full.txt) | [raw](https://raw.githubusercontent.com/5-whys/adh-rules/main/rules/output_full_hosts.txt) \| [cdn](https://cdn.jsdelivr.net/gh/5-whys/adh-rules@release/output_full_hosts.txt) | [raw](https://raw.githubusercontent.com/5-whys/adh-rules/main/rules/output_full_dnsmasq.txt) \| [cdn](https://cdn.jsdelivr.net/gh/5-whys/adh-rules@release/output_full_dnsmasq.txt) | [raw](https://raw.githubusercontent.com/5-whys/adh-rules/main/rules/output_full_unbound.txt) \| [cdn](https://cdn.jsdelivr.net/gh/5-whys/adh-rules@release/output_full_unbound.txt) | [raw](https://raw.githubusercontent.com/5-whys/adh-rules/main/rules/output_full_ublock.txt) \| [cdn](https://cdn.jsdelivr.net/gh/5-whys/adh-rules@release/output_full_ublock.txt) | [raw](https://raw.githubusercontent.com/5-whys/adh-rules/main/rules/output_full_domains.txt) \| [cdn](https://cdn.jsdelivr.net/gh/5-whys/adh-rules@release/output_full_domains.txt) |
| **Medium** (257k) | [raw](https://raw.githubusercontent.com/5-whys/adh-rules/main/rules/output_medium.txt) \| [cdn](https://cdn.jsdelivr.net/gh/5-whys/adh-rules@release/output_medium.txt) | [raw](https://raw.githubusercontent.com/5-whys/adh-rules/main/rules/output_medium_hosts.txt) \| [cdn](https://cdn.jsdelivr.net/gh/5-whys/adh-rules@release/output_medium_hosts.txt) | [raw](https://raw.githubusercontent.com/5-whys/adh-rules/main/rules/output_medium_dnsmasq.txt) \| [cdn](https://cdn.jsdelivr.net/gh/5-whys/adh-rules@release/output_medium_dnsmasq.txt) | [raw](https://raw.githubusercontent.com/5-whys/adh-rules/main/rules/output_medium_unbound.txt) \| [cdn](https://cdn.jsdelivr.net/gh/5-whys/adh-rules@release/output_medium_unbound.txt) | [raw](https://raw.githubusercontent.com/5-whys/adh-rules/main/rules/output_medium_ublock.txt) \| [cdn](https://cdn.jsdelivr.net/gh/5-whys/adh-rules@release/output_medium_ublock.txt) | [raw](https://raw.githubusercontent.com/5-whys/adh-rules/main/rules/output_medium_domains.txt) \| [cdn](https://cdn.jsdelivr.net/gh/5-whys/adh-rules@release/output_medium_domains.txt) |
| **Min** (175k) | [raw](https://raw.githubusercontent.com/5-whys/adh-rules/main/rules/output_min.txt) \| [cdn](https://cdn.jsdelivr.net/gh/5-whys/adh-rules@release/output_min.txt) | [raw](https://raw.githubusercontent.com/5-whys/adh-rules/main/rules/output_min_hosts.txt) \| [cdn](https://cdn.jsdelivr.net/gh/5-whys/adh-rules@release/output_min_hosts.txt) | [raw](https://raw.githubusercontent.com/5-whys/adh-rules/main/rules/output_min_dnsmasq.txt) \| [cdn](https://cdn.jsdelivr.net/gh/5-whys/adh-rules@release/output_min_dnsmasq.txt) | [raw](https://raw.githubusercontent.com/5-whys/adh-rules/main/rules/output_min_unbound.txt) \| [cdn](https://cdn.jsdelivr.net/gh/5-whys/adh-rules@release/output_min_unbound.txt) | [raw](https://raw.githubusercontent.com/5-whys/adh-rules/main/rules/output_min_ublock.txt) \| [cdn](https://cdn.jsdelivr.net/gh/5-whys/adh-rules@release/output_min_ublock.txt) | [raw](https://raw.githubusercontent.com/5-whys/adh-rules/main/rules/output_min_domains.txt) \| [cdn](https://cdn.jsdelivr.net/gh/5-whys/adh-rules@release/output_min_domains.txt) |

### Additional Resources

| List | URL |
|------|-----|
| Dead Domains | [dead_domains.txt](https://raw.githubusercontent.com/5-whys/adh-rules/main/rules/dead_domains.txt) |

---

## Format Description

| Format | Example | Use Case |
|--------|---------|----------|
| AdGuard Home | `\|\|ads.example.com^` | AdGuard Home, AdGuard DNS |
| Hosts | `0.0.0.0 ads.example.com` | Pi-hole, `/etc/hosts` |
| dnsmasq | `address=/ads.example.com/#` | OpenWrt, dnsmasq |
| Unbound | `local-zone: "ads.example.com" NXDOMAIN` | Unbound DNS resolver |
| uBlock Origin | `\|\|ads.example.com^` | Browser extensions |
| Domain-only | `ads.example.com` | Custom implementations |

---

## DNS NXDOMAIN Filtering

Uses [puredns](https://github.com/d3mondev/puredns) with massdns to verify domain existence. Dead domains (NXDOMAIN responses) are removed to reduce file size and improve performance.

- Dead domains logged in `rules/dead_domains.txt`
- DNS cache valid for 24 hours
- Stale cache entries removed after 7 days

---

## Usage

**Pi-hole**
```
https://raw.githubusercontent.com/5-whys/adh-rules/main/rules/output_full_hosts.txt
```

**dnsmasq (OpenWrt)**
```
https://raw.githubusercontent.com/5-whys/adh-rules/main/rules/output_full_dnsmasq.txt
```

**Unbound**
```
https://raw.githubusercontent.com/5-whys/adh-rules/main/rules/output_full_unbound.txt
```

**AdGuard Home**
```
https://raw.githubusercontent.com/5-whys/adh-rules/main/rules/output_full.txt
```

---

## Tier Guide

| Tier | Description | Recommended For |
|------|-------------|-----------------|
| **Min** | Essential ad blocking for China | Minimal blocking, basic protection |
| **Medium** | Balanced protection for China | Most users in China regions |
| **Full** | Comprehensive blocking worldwide | Users requiring extensive blocking |
| **Super** | Maximum blocking | Advanced users only (may cause false positives) |

---

## Acknowledgments

- [AdguardTeam/AdGuardHome](https://github.com/AdguardTeam/AdGuardHome)
- All upstream filter maintainers for China regions

---

## License

MIT License