Automatically downloads selected FireHOL IP blocklists, combines them as configured, and generates ready-to-import MikroTik RouterOS .rsc address lists.
The generated lists are rebuilt by GitHub Actions and committed back to the repository when they change.
Last updated: 2026-10-13 07:35:49 UTC
| List | Sources | Entries | Plain | MikroTik | nftables | ipset | Windows | pf |
|---|---|---|---|---|---|---|---|---|
base3 |
etblock + webserver + dshield30 + abuseipdbnet + lessbogons + webclient + feodo |
6,293 | TXT | RSC | NFT / SH | SH | PS1 / BAT | TXT / SH |
baseip |
feodo + etcompromised + alienvault + threatviewc2 + censys |
2,121 | TXT | RSC | NFT / SH | SH | PS1 / BAT | TXT / SH |
server |
etblock + dshield30 + abuseipdbnet + threatviewc2 + censys + feodo |
2,667 | TXT | RSC | NFT / SH | SH | PS1 / BAT | TXT / SH |
c2 |
etblock + dshield30 + abuseipdbnet + threatviewc2 + censys + feodo + level2 + threatfox |
32,156 | TXT | RSC | NFT / SH | SH | PS1 / BAT | TXT / SH |
compact |
etblock + webserver + dshield30 + abuseipdbnet + lessbogons + webclient + feodo + etcompromised + alienvault + threatviewc2 + censys |
8,308 | TXT | RSC | NFT / SH | SH | PS1 / BAT | TXT / SH |
combined |
etblock + webserver + dshield30 + abuseipdbnet + lessbogons + webclient + feodo + level2 + etcompromised + alienvault + threatviewc2 + censys |
23,872 | TXT | RSC | NFT / SH | SH | PS1 / BAT | TXT / SH |
combined4server |
etblock + dshield30 + abuseipdbnet + threatviewc2 + censys + feodo + level4 + botnet + abuser + threatview + malin + graphicline |
208,481 | TXT | RSC | NFT / SH | SH | PS1 / BAT | TXT / SH |
complete |
etblock + webserver + dshield30 + abuseipdbnet + lessbogons + webclient + feodo + level2 + etcompromised + alienvault + threatviewc2 + censys + threatfox + tif + mal40k |
77,143 | TXT | RSC | NFT / SH | SH | PS1 / BAT | TXT / SH |
goliath |
etblock + dshield30 + abuseipdbnet + threatviewc2 + censys + feodo + ipsum2 + level3 + abuser30 + abuseipdb |
226,468 | TXT | RSC | NFT / SH | SH | PS1 / BAT | TXT / SH |
Mikrotik with 1 core cpu, choose base. with memory <512M use compact. bigger mikrotik, use combined/complete. just test and see how your mikrotik resources usage.
Run this ONCE in you mikrotik to activate block rule and install the scheduler.
Default script use compact set. make sure your firewall rule match your chosen set to block listed ips.
#download and run installer
/tool fetch url="https://blacklists.pages.dev/setup/ipbl-installer.rsc"
/import ipbl-installer.rsc
/tool fetch url="https://blacklists.pages.dev/setup/mtik-dns.rsc"
/import mtik-dns.rsc
Overlapping and adjacent networks are collapsed where possible before generating the RouterOS list.
first install, run only once ! make sure your proxmox using latest nftables, otherwise use iptables version!
wget https://blacklists.pages.dev/setup/proxmox-update.sh -O /etc/pve/dhblacklist-update.sh
wget https://blacklists.pages.dev/setup/pve-blacklist.sh -O /usr/local/sbin/dh-blacklist
chmod +x /usr/local/sbin/dh-blacklist
echo '17 */13 * * * root /usr/local/sbin/dh-blacklist >/dev/null 2>&1' >> /etc/crontab
/usr/local/sbin/dh-blacklistcheck the result
journalctl -t dh-blacklist
nft list table inet dh_blacklist
nft monitor trace#download
cd /data
curl -O https://blacklists.pages.dev/setup/ui-install.sh
# INSTALL
sudo ./ui-install.shLast updated: 2026-10-13 07:36:00 UTC
| List | Domains | Native rules | Plain | Hosts | Adblock | dnsmasq | dnsmasq nftset | RPZ | Wildcard |
|---|---|---|---|---|---|---|---|---|---|
phishing |
129,493 | 76 | plain | hosts | adblock | dnsmasq | dnsmasq-nftset | rpz | wildcard |
threat |
235,977 | 0 | plain | hosts | adblock | dnsmasq | dnsmasq-nftset | rpz | wildcard |
scam |
16,904 | 12 | plain | hosts | adblock | dnsmasq | dnsmasq-nftset | rpz | wildcard |
gambling |
134,797 | 6,699 | plain | hosts | adblock | dnsmasq | dnsmasq-nftset | rpz | wildcard |
nsfw |
140,516 | 76,797 | plain | hosts | adblock | dnsmasq | dnsmasq-nftset | rpz | wildcard |
- Pi-hole →
plainoutput - AdGuard Home →
adblockoutput - uBlock Origin →
adblockoutput - Adblock Plus →
adblockoutput - dnsmasq →
dnsmasqoutput - dnsmasq+nftables →
dnsmasq-nftsetoutput - BIND RPZ →
rpzoutput
Requires Python 3.10+ and no third-party packages.
python scripts/build_blocklists.pyThe builder:
- downloads each required feed only once;
- validates IPv4 addresses and CIDRs;
- removes duplicate entries;
- merges configured combinations;
- collapses overlapping and adjacent networks;
- rejects malformed or empty feeds;
- removes stale generated
.rscfiles; - generates only lists configured in
LISTS.
GitHub Actions periodically runs the builder.
When generated blocklists change, the workflow commits the updated dist/*.rsc files back to the repository using github-actions[bot].
The workflow can also be started manually from:
Actions → Build MikroTik FireHOL blocklists → Run workflow
The repository must allow GitHub Actions write access:
Settings
→ Actions
→ General
→ Workflow permissions
→ Read and write permissions