Skip to content

hfsotomayor/AutoBlockLists

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AutoBlockLists

Unificador de listas de bloqueo con categorización automática.

Fuentes

StevenBlack/hosts

AdGuard DNS Filter

WindowsSpyBlocker

OpenPhish

Características

  • 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

Diagrama de flujo

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
Loading

Estructura de Archivos

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

Configuración

config.yaml

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"]

Instalación

  1. Clonar el repositorio
  2. Instalar dependencias:
pip install -r requirements.txt

Uso

Local

python main.py

Docker

docker build -t autoblocklists .
docker run -v ./config.yaml:/app/config.yaml autoblocklists

Formatos de Salida

Los archivos se generan en tres formatos diferentes, cada uno en su propio directorio:

Plain Text (plain/)

  • Formato: Un dominio por línea
  • Ejemplo: domain.com
  • Nombre: AutoBlockLists-plain-[Category]-YYYYMMDD-HHMMSS.txt

Hosts Format (hosts/)

  • Formato: Compatible con /etc/hosts
  • Ejemplo: 0.0.0.0 domain.com
  • Nombre: AutoBlockLists-hosts-[Category]-YYYYMMDD-HHMMSS.txt

AdGuard Format (adguard/)

  • Formato: Compatible con AdGuard Home
  • Ejemplo: ||domain.com^$important
  • Nombre: AutoBlockLists-adguard-[Category]-YYYYMMDD-HHMMSS.txt

About

Script para generar una lista de bloqueo

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages