Unificador de listas de bloqueo con categorización automática.
- URL: https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts
- Categorías: Ads, Malware
- Descripción: Una colección consolidada de varios hosts files de fuentes confiables. Mantiene listas actualizadas para bloquear dominios de publicidad y malware.
- Web: https://github.com/StevenBlack/hosts
- URL: https://raw.githubusercontent.com/AdguardTeam/AdGuardSDNSFilter/master/Filters/rules.txt
- Categorías: Ads
- Descripción: Filtro DNS optimizado que bloquea el seguimiento y los anuncios a nivel de DNS.
- Web: https://github.com/AdguardTeam/AdGuardSDNSFilter
- URL: https://raw.githubusercontent.com/crazy-max/WindowsSpyBlocker/master/data/hosts/spy.txt
- Categorías: Tracking
- Descripción: Lista que bloquea la telemetría de Windows y el seguimiento por parte de Microsoft.
- Web: https://github.com/crazy-max/WindowsSpyBlocker
- URL: https://raw.githubusercontent.com/openphish/public_feed/refs/heads/main/feed.txt
- Categorías: Malware
- Descripción: Feed de URLs de phishing verificadas mediante inteligencia artificial.
- Web: https://openphish.com
- Unifica múltiples listas de bloqueo eliminando duplicados
- Categorización automática de dominios
- Genera archivos por categoría
- Soporta múltiples formatos de salida (plain, hosts, adguard)
- Actualización automática configurable
graph TB
A[main] --> B[BlockListManager.__init__]
B --> C[load_config]
A --> D[process_lists]
D --> E[extract_domains]
D --> F[save_lists]
F --> G[save_file]
subgraph BlockListManager
B --> |Crea directorios|H[input_dir]
B --> |Crea directorios|I[output_dir]
D --> |Por cada URL|J[Descarga lista]
J --> K[Guarda en input]
K --> E
E --> |Dominios únicos|F
F --> |Principal|L[AutoBlockLists-YYYYMMDD-HHMMSS.txt]
F --> |Por categoría|M[AutoBlockLists-CATEGORY-YYYYMMDD-HHMMSS.txt]
end
AutoBlockLists/
├── main.py
├── config.yaml
├── input/
│ ├── hosts
│ ├── rules.txt
│ ├── spy.txt
│ └── feed.txt
└── output/
├── plain/
│ ├── AutoBlockLists-plain-Total-YYYYMMDD-HHMMSS.txt
│ ├── AutoBlockLists-plain-Ads-YYYYMMDD-HHMMSS.txt
│ ├── AutoBlockLists-plain-Malware-YYYYMMDD-HHMMSS.txt
│ └── AutoBlockLists-plain-Tracking-YYYYMMDD-HHMMSS.txt
├── hosts/
│ ├── AutoBlockLists-hosts-Total-YYYYMMDD-HHMMSS.txt
│ ├── AutoBlockLists-hosts-Ads-YYYYMMDD-HHMMSS.txt
│ ├── AutoBlockLists-hosts-Malware-YYYYMMDD-HHMMSS.txt
│ └── AutoBlockLists-hosts-Tracking-YYYYMMDD-HHMMSS.txt
└── adguard/
├── AutoBlockLists-adguard-Total-YYYYMMDD-HHMMSS.txt
├── AutoBlockLists-adguard-Ads-YYYYMMDD-HHMMSS.txt
├── AutoBlockLists-adguard-Malware-YYYYMMDD-HHMMSS.txt
└── AutoBlockLists-adguard-Tracking-YYYYMMDD-HHMMSS.txt
update_frequency: 86400 # segundos
input_dir: "input" # directorio para archivos descargados
output_dir: "output" # directorio para archivos generados
blocklist_urls:
- url: "https://ejemplo.com/lista.txt"
categories: ["Ads", "Tracking"]- Clonar el repositorio
- Instalar dependencias:
pip install -r requirements.txtpython main.pydocker build -t autoblocklists .
docker run -v ./config.yaml:/app/config.yaml autoblocklistsLos archivos se generan en tres formatos diferentes, cada uno en su propio directorio:
- Formato: Un dominio por línea
- Ejemplo:
domain.com - Nombre:
AutoBlockLists-plain-[Category]-YYYYMMDD-HHMMSS.txt
- Formato: Compatible con /etc/hosts
- Ejemplo:
0.0.0.0 domain.com - Nombre:
AutoBlockLists-hosts-[Category]-YYYYMMDD-HHMMSS.txt
- Formato: Compatible con AdGuard Home
- Ejemplo:
||domain.com^$important - Nombre:
AutoBlockLists-adguard-[Category]-YYYYMMDD-HHMMSS.txt