Bypass de ES Football para Cloudflare

Descripción

ES Football Bypass for Cloudflare es un plugin de WordPress creado por David Carrero Fernandez-Baillo para ayudar a los propietarios de sitios web españoles a proteger sus webs legítimas del daño colateral provocado por los bloqueos masivos de IP ordenados durante los partidos de fútbol. El proyecto es de código abierto (GPLv2) y está disponible en GitHub: https://github.com/dcarrero/cf-football-bypass

El plugin monitoriza automáticamente los eventos de fútbol en España consultando hayahora.futbol y, en función del resultado, gestiona los registros DNS de Cloudflare para alternar entre los modos Proxied (CDN) y DNS Only. Así se evita que los visitantes legítimos se vean afectados por los bloqueos judiciales dirigidos contra el streaming pirata de fútbol.

El problema

En España, durante los partidos de fútbol, se aplican bloqueos masivos de IP por orden judicial para combatir el streaming pirata. Estos bloqueos afectan también a sitios web legítimos que no tienen nada que ver con el fútbol, provocando pérdidas de tráfico e ingresos.

La solución

Cuando se detecta fútbol:
– Desactiva automáticamente el proxy de Cloudflare en los registros DNS seleccionados
– Tu web pasa a modo DNS Only, evitando las IPs de Cloudflare potencialmente bloqueadas
– Tras el periodo de enfriamiento configurado, vuelve a activar el proxy de Cloudflare automáticamente

Dos modos de interfaz: sencillo y avanzado

Desde la versión 1.9.6, el complemento incluye dos modos de interfaz entre los que puedes cambiar en Ajustes Modo de interfaz:

  • Simple (configuración predeterminada en nuevas instalaciones, recomendada para sitios de agencias o clientes): muestra solo lo esencial. Estado de los bloques, botones para activar o desactivar el proxy manual, notificaciones básicas por correo electrónico sobre cambios de estado, credenciales de Cloudflare, comportamiento de omisión y opciones de desinstalación. Los registros, el panel de diagnóstico de feeds, el umbral de caducidad, la retención de registros y el token cron externo se ocultan para reducir la sobrecarga de información para los usuarios sin conocimientos técnicos. Los registros siguen escribiéndose en el disco; siempre puedes cambiar a la vista Avanzada si necesitas diagnosticar algo.
  • Avanzado (opción predeterminada en las actualizaciones desde versiones anteriores): muestra todo, incluido el panel completo de diagnóstico de feeds, la pestaña de registros, la consola técnica y las opciones avanzadas. Ideal para desarrolladores, usuarios avanzados o cuando sea necesario diagnosticar el comportamiento o configurar una tarea cron del lado del servidor.

También hay una subpágina independiente titulada «¿Hay fútbol ahora?», que simplemente responde «SÍ» o «NO» en función de la fuente pública, con una breve nota sobre la fuente de datos. Es perfecta para compartir el enlace con un cliente final que solo quiera saber si hay bloques activos en este momento.

Funcionalidades clave

Automatización completa
– Monitorización automática cada X minutos (configurable de 5 a 60 min)
– Activación y desactivación automática del bypass
– Sistema de cron de WordPress integrado

Soporte de doble autenticación de Cloudflare
– Global API Key (tradicional)
– API Token con permisos específicos (más seguro)

Control granular
– Selección específica de registros DNS (A, AAAA y CNAME)
– Duración del bypass configurable (60-600 minutos)
– Intervalo de enfriamiento personalizable tras desactivar Cloudflare
– Control manual para casos especiales

Panel de control informativo
– Estado del fútbol en tiempo real
– Última comprobación realizada
– Estado del bypass (activo/inactivo)

Herramientas adicionales
– Botón de prueba de conexión con Cloudflare
– Comprobación manual del estado del fútbol
– Botones de activación/desactivación manual
– Registro detallado para depuración y auditoría
– Endpoint protegido para cron externo

Servicios externos

Este plugin se conecta a los siguientes servicios externos:

hayahora.futbol

El plugin consulta periódicamente el endpoint https://hayahora.futbol/estado/data.json para comprobar si hay bloqueos de IP activos durante eventos de fútbol en España. Esta consulta se ejecuta automáticamente según el intervalo de cron configurado (por defecto: cada 15 minutos) y también puede dispararse manualmente desde el panel de administración.
– Datos enviados: una petición HTTP GET con la URL home del sitio en la cabecera User-Agent. No se transmite ningún dato personal ni de visitantes.
– URL: https://hayahora.futbol/
– Sobre el servicio y privacidad: https://hayahora.futbol/#sobre-los-bloqueos
– Términos de uso: el servicio es gratuito, de código abierto, y no recopila datos personales de los usuarios del plugin ni de sus visitantes.

API de Cloudflare

El plugin utiliza la API oficial de Cloudflare (https://api.cloudflare.com/client/v4/) para leer los registros DNS y alternar el estado del proxy (Proxied/DNS Only) en los registros seleccionados. Requiere las credenciales de API que tú proporcionas en los ajustes del plugin. Las credenciales se almacenan en la base de datos de WordPress y se envían vía cabeceras HTTPS a Cloudflare.
– Datos enviados: credenciales de API (en cabeceras), modificaciones de registros DNS (record ID, tipo, nombre, contenido, estado proxied).
– URL: https://api.cloudflare.com/
– Términos del servicio: https://www.cloudflare.com/terms/
– Política de privacidad: https://www.cloudflare.com/privacypolicy/

Servicios de detección de IP del servidor

El plugin detecta la dirección IP de salida de tu servidor (mostrada en la página de Ajustes) consultando tres servicios públicos. Solo se devuelve la IP propia del servidor; no se transmite ningún dato personal ni de visitantes. Los resultados se cachean durante 1 hora.
– https://api.ipify.org/ – Proporcionado por ipify. Política de privacidad: https://www.ipify.org/
– https://checkip.amazonaws.com/ – Proporcionado por Amazon Web Services. Política de privacidad: https://aws.amazon.com/privacy/
– https://icanhazip.com/ – Proporcionado por Cloudflare. Política de privacidad: https://www.cloudflare.com/privacypolicy/

Enlaces de afiliado

The plugin’s operation page includes affiliate links clearly marked with «(aff)» to VPN services and security tools. These links are optional and do not affect the plugin’s functionality.

Cron y automatización

¿Cómo funciona el sistema de cron?

El plugin utiliza el cron interno de WordPress (wp_cron), que se ejecuta cuando hay visitas en el sitio web. Esto suele ser suficiente para la mayoría de sitios.

¿Y si mi sitio tiene poco tráfico y el cron no se ejecuta con regularidad?

Go to Settings > ES Football Bypass for Cloudflare and copy the token from the «External cron» section. With that token you can set up a real server cron:

*/15 * * * * curl -s «https://tudominio.com/wp-cron.php?cfbcolorvivo_cron=1&token=TU_TOKEN_AQUI» > /dev/null 2>&1

Puedes regenerar el token borrando el campo y guardando los ajustes (se creará uno nuevo). Este endpoint solo ejecuta la comprobación del plugin, sin depender de las visitas.

What is the «Cooldown after disabling Cloudflare»?

This is the waiting time (default 60 minutes) that the plugin respects before checking if Cloudflare can be re-enabled after detecting a block. During this period, the proxy remains in «DNS Only» mode even if the JSON stops marking the domain, avoiding rapid activation/deactivation cycles.

¿Cómo verifico que el cron funciona correctamente?

In the Operation tab, click «WP-Cron Diagnostics» to see the next execution and the result of the last check. You can also review the integrated logs.

Logs y auditoría

¿Dónde puedo ver el historial de acciones?

In the ES Football Bypass for Cloudflare > Logs menu. It shows the latest automatic executions (internal or external cron) and manual actions with date, detail, and user.

¿Puedo desactivar el registro de logs?

Yes. In Settings > ES Football Bypass for Cloudflare you can disable logging or adjust retention days (minimum 1). Logs are stored in the uploads directory under es-football-bypass-for-cloudflare/logs/ protected with .htaccess.

¿Cómo verifico que el cron funciona correctamente?

You can check if it’s scheduled in Tools > Site Health > Info > Scheduled Events, looking for the ‘cfbcolorvivo_check_football_status’ event. You can also review WordPress error logs where the plugin records all its actions.

Requisitos del servidor

  • WordPress 5.0 o superior
  • PHP 7.4 o superior
  • Extensiones PHP: curl, json
  • Permisos: capacidad de hacer peticiones HTTP salientes
  • Cron: sistema de cron de WordPress funcional

Soporte

  • Autor: David Carrero Fernandez-Baillo
  • Sitio web: https://carrero.es
  • Contacto: https://carrero.es/contacto/

Si necesitas ayuda, envía un mensaje directo en X o usa el formulario de contacto. Issues y mejoras también son bienvenidas en el repositorio: https://github.com/dcarrero/cf-football-bypass

Este plugin nació de la necesidad real de proteger sitios web legítimos de los bloqueos masivos que afectan a la industria digital española durante los eventos deportivos.

Casos de uso específicos

Sitios de alto tráfico
– Permite seleccionar solo los registros críticos (www, dominio raíz)
– Mantiene otros servicios (mail, ftp, etc.) siempre proxied
– Minimiza el impacto en CDN y caché

Sitios con múltiples subdominios
– Control granular por subdominio
– Estrategias diferentes para servicios diferentes
– Flexibilidad total de configuración

Emergencies and Manual Override
– Manual control buttons for special situations
– Does not depend solely on automatic detection
– Allows quick reaction to failures

Licencia

GPLv2 o posterior. Eres libre de usar, modificar y distribuir este plugin bajo los términos de la GPL.

Capturas

Instalación

  1. Descarga e instalación

    • Descarga el archivo zip del plugin
    • Extráelo (o sube la carpeta resultante) a wp-content/plugins/es-football-bypass-for-cloudflare/
    • Go to your WordPress dashboard > Plugins > ES Football Bypass for Cloudflare > Activate
  2. Configuración de Cloudflare

    • Go to Settings > ES Football Bypass for Cloudflare
    • Selecciona el tipo de autenticación (Global API Key o API Token)
    • Introduce tus credenciales de Cloudflare
    • Add your domain’s Zone ID
  3. Configuración del plugin

    • Establece el intervalo de comprobación (recomendado: 15 minutos)
    • Ajusta el intervalo de enfriamiento tras desactivar Cloudflare (por defecto: 60 minutos)
    • Click «Test connection and load DNS»
    • Selecciona los registros DNS que quieres gestionar
    • Guarda la configuración

Cómo obtener las credenciales de Cloudflare

For Global API Key: 1. Go to Cloudflare > My Profile > API Tokens 2. In «API Keys», copy your «Global API Key» 3. You will also need your account email

For API Token (recommended): 1. Go to Cloudflare > My Profile > API Tokens 2. Click «Create Token» 3. Use the «Custom» template 4. Required permissions: – Zone:Read (to read zone information) – DNS:Read (to list DNS records) – DNS:Edit (to modify proxy status)

FAQ

¿Es seguro usar este plugin?

Sí. El plugin solo modifica el estado del proxy de Cloudflare (Proxied/DNS Only) en los registros que selecciones. No borra ni modifica el contenido de los registros DNS.

¿Qué pasa si falla la detección del fútbol?

En caso de error al consultar hayahora.futbol, el plugin asume por seguridad que NO hay fútbol, manteniendo el estado actual sin hacer cambios.

¿Puedo usarlo con cualquier proveedor de DNS?

No, este plugin está diseñado específicamente para funcionar con Cloudflare. Tus DNS deben estar gestionados por Cloudflare.

¿Afecta al SEO de mi web?

No debería afectar negativamente al SEO. El plugin solo cambia temporalmente si tu sitio pasa o no por el proxy de Cloudflare. El contenido y las URLs permanecen iguales.

¿Qué pasa si desactivo el plugin durante un bypass activo?

Al desactivar el plugin se ejecuta automáticamente una función que vuelve a activar el proxy de Cloudflare en todos los registros seleccionados.

¿Puedo controlar el bypass manualmente?

Sí, el plugin incluye botones para:
– Comprobar manualmente el estado del fútbol
– Forzar la activación/desactivación del bypass
– Probar la conexión con Cloudflare

What DNS record types are supported?

Currently supports A, AAAA, and CNAME records, which are the most common and affected by IP blocks.

¿Cómo funciona el sistema de cron?

See the «Cron and Automation» section for details on wp_cron, external endpoint, and configuration recommendations.

Reseñas

21 de abril de 2026
Bien documentado, fácil de configurar y muy útil para deshabilitar temporalmente los proxies de cloudflare durante los bloqueos indiscriminados por parte de La lLga.. Muchs gracias por este plugin y por el soporte que me has dado.
20 de abril de 2026 2 respuestas
Carrero’s plugin for Cloudflare powered web properties in Spain is a powerful solution the persistent attacks on the open internet by the unwelcome forces of football.Since 2025 legitimate audiences on my entirely unrelated websites were frequently disrupted by indiscriminate IP blocks triggered by football broadcasting disputes.The plugin’s assiduous development has been significant since I began using it in October 2025 and my commit was accepted at v1.5.5. Thanks to David Carrero, site owners in Spain can proactively protect their site from interruption and continue to serve audiences.
Leer todas las 3 reseñas

Colaboradores y desarrolladores

«Bypass de ES Football para Cloudflare» es un software de código abierto. Las siguientes personas han colaborado con este plugin.

Colaboradores

«Bypass de ES Football para Cloudflare» está traducido en 2 idiomas. Gracias a los traductores por sus contribuciones.

Traduce «Bypass de ES Football para Cloudflare» a tu idioma.

¿Interesado en el desarrollo?

Revisa el código , echa un vistazo al repositorio SVN o suscríbete al registro de desarrollo por RSS.

Registro de cambios

1.9.7

  • SECURITY: Action log file name now includes a per-site random secret, so the log URL is not guessable on servers where the directory .htaccess is ignored (nginx, LiteSpeed). Existing logs are migrated automatically to the new name on first write. Logged IPs remain anonymized (GDPR)
  • PERFORMANCE: The Operation page no longer makes redundant blocking HTTP calls on every load — the hayahora.futbol feed download and the Cloudflare DNS sync are throttled (once per minute by default; overridable via the cfbcolorvivo_feed_fetch_throttle_seconds and cfbcolorvivo_oppage_dns_throttle_seconds filters). The «Test connection», «Update IPs» and «Clear local cache» actions still force a fresh refresh on demand

1.9.6

  • NUEVO: Subpágina «¿Hay fútbol ahora?» en la sección «Operación»: un sencillo panel de estado con opciones de SÍ/NO basado en el feed de hayahora.futbol, con una breve nota sobre la fuente de datos. Diseñado para que los usuarios sin conocimientos técnicos puedan comprobar de un vistazo si hay bloqueos de IP activos de La Liga.
  • NUEVO: Campo opcional de correo electrónico «Destinatario de las notificaciones»: déjelo en blanco para utilizar el administrador del sitio (opción predeterminada) o introduzca una dirección diferente para enviar las notificaciones a un buzón de asistencia o al cliente final.
  • Experiencia de usuario: La página de configuración se ha reorganizado en secciones más claras: Modo de interfaz, Credenciales de Cloudflare, Comportamiento de omisión (con la opción «Desactivar proxy durante los partidos de fútbol» ahora en la parte superior), Notificaciones por correo electrónico, Desinstalar y Opciones avanzadas (visibles solo en el modo avanzado).
  • UX: Las opciones técnicas (umbral de caducidad, registro de acciones, retención de registros y token cron externo) ahora se agrupan en «Opciones avanzadas» y se ocultan en el modo simple para reducir la sobrecarga de información en los sitios de los clientes.
  • UX: La etiqueta del modo «Avanzado» ahora menciona explícitamente la configuración de cron para que los usuarios sepan dónde encontrarla
  • I18N: El plugin ahora llama a la función `load_plugin_textdomain()` para que se tengan en cuenta los archivos .mo incluidos en la carpeta `/languages/` al instalar desde el archivo ZIP de la versión (antes solo se aplicaban las traducciones publicadas en translate.wordpress.org).
  • I18N: Los cinco idiomas incluidos (es_ES, ca, eu, fr_FR, gl_ES) cuentan ahora con una cobertura de traducción del 100 %; las traducciones asistidas por ordenador de ca, eu, fr_FR y gl_ES serán perfeccionadas por la comunidad de GlotPress con el tiempo.

1.9.5

  • NUEVO: Panel de diagnóstico del feed en la página «Operaciones» (antigüedad y tamaño del archivo local data.json, estado de la última descarga remota, recuento de direcciones IP bloqueadas activas)
  • NUEVO: Botón «Borrar caché local (data.json)» para forzar una nueva carga completa en la próxima comprobación
  • NUEVO: Configuración del umbral de caducidad (1-72 h, valor predeterminado: 6 h): los estados «bloqueados» cuyo último cambio de estado sea anterior a este umbral se tratan como desbloqueados, lo que evita que las entradas huérfanas mantengan el bypass activo indefinidamente. Se puede anular mediante el filtro `cfbcolorvivo_stale_threshold_seconds`.
  • NUEVO: Configuración «Mínimo de ISP con bloqueos» (1-20, valor predeterminado 2): la omisión general solo se activa cuando al menos N ISP distintos notifican bloqueos simultáneamente, lo que reduce los falsos positivos derivados de interrupciones aisladas en un solo ISP. Se recurre al comportamiento clásico si la fuente no contiene información por ISP. Se puede anular mediante el filtro `cfbcolorvivo_min_isps_blocked`.
  • NUEVO: El panel de diagnóstico de fuentes muestra ahora los proveedores de servicios de Internet (ISP) con bloqueos activos e indica si cumplen los requisitos mínimos de la puerta de acceso para ISP.
  • NUEVO: Notificaciones opcionales por correo electrónico al administrador del sitio cuando el bypass se activa o desactiva automáticamente, con una limitación de 2 minutos para evitar picos de tráfico. Desactivado por defecto. Se puede anular mediante el filtro `cfbcolorvivo_email_throttle_seconds`.
  • NUEVO: Configuración del modo de interfaz: la opción «Simple» oculta el panel de diagnóstico, la pestaña de registros y la consola técnica para los usuarios sin conocimientos técnicos, dejando solo el estado de los bloques y los botones de activación y desactivación manual del proxy. La opción «Avanzado» muestra todo como antes. Las nuevas instalaciones se configuran por defecto en «Simple»; las actualizaciones desde la versión 1.9.x y anteriores mantienen automáticamente la experiencia «Avanzado».
  • NUEVO: La configuración de cron externo ahora muestra la URL completa de la solicitud y un ejemplo de crontab listo para pegar que utiliza tu intervalo de comprobación actual
  • NUEVO: Opción «Eliminar datos al desinstalar»: desmarca esta casilla para conservar la configuración, las credenciales y los registros tras una reinstalación. Las tareas programadas (cron) y los datos transitorios efímeros siempre se eliminan, independientemente de esta configuración.
  • SEGURIDAD: Se ha añadido un encabezado URI de actualización para bloquear las actualizaciones en WordPress.org (impide el secuestro de slugs por parte de fuentes externas)
  • PERF: get_settings() se memoriza por solicitud, lo que evita la normalización repetida al cargar la misma página
  • CORRECCIÓN: Registro explícito cuando falla la función dns_get_record() para el dominio del sitio
  • CORRECCIÓN: Los errores de análisis de DateTime al comparar lastUpdate ahora se registran en el registro de errores, en lugar de ocultarse.
  • CORRECCIÓN: Se registra una advertencia cuando el archivo JSON de hayahora.futbol tiene una estructura inesperada (sin las claves «lastUpdate» ni «known IP»).
  • CÓDIGO: El análisis de stateChanges se ha deduplicado en tres puntos de llamada y se ha agrupado en una única función auxiliar: latest_state_from_changes()
  • Dos modos de interfaz: Simple y Avanzada. Interfaz de usuario: se ha eliminado la opción «Restablecer configuración»; al desinstalar el complemento (con la opción «Eliminar datos al desinstalar» marcada, que es la configuración predeterminada) se obtiene el mismo resultado de borrado completo y se evita duplicar la acción destructiva.

1.9.2

  • I18N: Se ha reescrito el texto original en inglés (antes estaba en español), ajustándose a las convenciones de traducción de WordPress.org
  • I18N: Nuevo archivo es_ES.po con traducciones al español al 100 % incluidas (sin cambios en la funcionalidad para los usuarios de habla hispana)
  • I18N: Traducciones de ca, eu, fr_FR y gl_ES completadas al 100 % (se han añadido 23 cadenas nuevas)
  • I18N: se ha eliminado el archivo en_US.po (el texto original ya está en inglés, por lo que ya no es necesario)
  • I18N: archivo .pot regenerado a partir del código actual con identificadores de mensaje en inglés y referencias de línea precisas
  • DOCS: Se ha reescrito la descripción del encabezado del complemento en inglés para que coincida con el nuevo idioma de origen

1.9.1

  • FIX: Text domain changed to match new WP.org slug (es-football-bypass-for-cloudflare)
  • FIX: All file paths now use wp_upload_dir() instead of hardcoded WP_CONTENT_DIR
  • FIX: File operations migrated to WP_Filesystem API (no more file_put_contents)
  • FIX: register_setting() uses proper array format with sanitize_callback
  • FIX: Stricter sanitization for selected_records, bypass_blocked_ips and state fields
  • FIX: Inline JavaScript no longer uses PHP interpolation, uses wp_localize_script data
  • FIX: Plugin data directory renamed to es-football-bypass-for-cloudflare in uploads
  • FIX: Contributors field corrected in readme.txt
  • DOCS: External services section updated with hayahora.futbol information links

1.9.0

  • RENAME: Plugin renamed from «CF Football Bypass» to «ES Football Bypass for Cloudflare» (WordPress.org trademark compliance)
  • DOCS: External services section expanded with server IP detection services documentation
  • DOCS: Enhanced privacy and data transmission details for all external services

1.8.6

  • CODE: Full WordPress Coding Standards compliance (PHPCS): tabs, spacing, Yoda conditions, snake_case variables, PHPDoc comments
  • UX: Plugin version now displayed on all plugin pages (Operation, Settings, Logs)
  • I18N: Todas las cadenas hardcodeadas en español restantes envueltas en __() para traducciones consistentes
  • CODE: Short ternary operators replaced with full ternary for WP standards
  • CODE: in_array() calls now use strict mode
  • CODE: Assignment-in-condition patterns refactored

1.8.5

  • NEW: Support for Cloudflare Account-owned API Tokens (in addition to User API Tokens and Global API Key)
  • NEW: Account ID field shown when Account Token is selected
  • UX: Auth type selector now offers three options: Global API Key, User Token, Account Token
  • UX: Email and Account ID fields show/hide dynamically based on selected auth type

1.8.2

  • NEW: Server outgoing IP detection shown in Settings to help restrict Cloudflare API Token by IP
  • UX: La IP se cachea durante 1 hora y se detecta desde varias fuentes para mayor fiabilidad

1.8.1

  • SECURITY: External cron token comparison now uses hash_equals() to prevent timing attacks
  • PERFORMANCE: Log pruning throttled to once per day instead of on every log event
  • UX: Confirmation dialogs before destructive actions (Force OFF, Force ON, Reset)
  • UX: Los botones de acción se desactivan durante las operaciones AJAX para prevenir doble clic
  • UX: Local environment detection with friendly warning on Operation page
  • CODE: Added uninstall.php for complete cleanup on plugin removal (WP_Filesystem)
  • CODE: Replaced deprecated current_time(‘timestamp’) with time() (WP 5.3+)

1.8.0

  • IMPROVEMENT: Changed all prefixes from cfb_ to cfbcolorvivo_ to avoid conflicts with other plugins
  • IMPROVEMENT: Changed all CSS/JS identifiers from cfb- to cfbcolorvivo- for uniqueness
  • CODE: Settings option renamed to cfbcolorvivo_settings
  • CODE: Cron hook renamed to cfbcolorvivo_check_football_status
  • CODE: Log directory renamed to cfbcolorvivo-logs
  • CODE: All AJAX actions, transients, and filters updated with new prefix

1.7.1

  • FIX: Fixed critical bug in configuration checkboxes that prevented unchecking options once activated
  • FIX: «Force Proxy OFF during football» option can now be properly disabled
  • FIX: «Action logging» option can now be properly disabled
  • FIX: Improved code compliance with WordPress.org plugin guidelines

1.7.0

  • IMPROVEMENT: JavaScript now uses wp_enqueue_script() and wp_add_inline_script() per WordPress.org directory guidelines
  • IMPROVEMENT: Removed all inline script blocks from PHP code
  • IMPROVEMENT: Dynamic data passed via wp_localize_script() for better code separation
  • IMPROVEMENT: admin_enqueue_scripts hook properly implemented with page filtering
  • CODE: Complete refactoring of admin assets system

1.6.0

  • SECURITY: Log file moved to wp-content/uploads/cfbcolorvivo-logs/ with .htaccess protection
  • SECURITY: IP anonymization in logs for GDPR compliance
  • SECURITY: Removed error suppression operators (@) with explicit checks
  • SECURITY: Added index.php files to prevent directory listing
  • IMPROVEMENT: Full internationalization (i18n) support with cf-football-bypass text domain
  • IMPROVEMENT: Plugin header updated with all fields required by WordPress.org
  • IMPROVEMENT: Automatic log directory creation with protection
  • IMPROVEMENT: Better error handling for file writing
  • FIX: Version sync between plugin header and readme.txt

1.0.1

  • Added Cloudflare API Token support
  • Botón de control manual mejorado con confirmación
  • Barra lateral con enlaces recomendados
  • Correcciones menores de bugs
  • Mejor manejo de errores y logs

1.0.0

  • Versión inicial
  • Monitorización automática de hayahora.futbol
  • Gestión automática de registros DNS de Cloudflare
  • Soporte de Global API Key
  • Panel de administración
  • Sistema de cron integrado