Skip to content

Releases: fernandotellado/bypass-laligagate

Release list

1.5.0

Choose a tag to compare

@fernandotellado fernandotellado released this 01 Sep 07:17
87ea8af

Elige qué cuenta como bloqueo, en vez de desactivar el proxy con cualquier bloqueo en España, y tres defensas nuevas para que una fuente de datos parada no se lea como que no hay partido.

Si ya tenías instalada una versión anterior, lee esto antes

Hasta ahora el zip se descargaba con «Code → Download ZIP» y dejaba el plugin en wp-content/plugins/bypass-laligagate-main/. Este de aquí lo instala en bypass-laligagate/, que es como debería haber estado siempre, así que WordPress no lo va a reconocer como el mismo plugin y te quedarías con dos copias gestionando el mismo cron y los mismos registros DNS.

Para migrar sin perder nada:

  1. En Herramientas → Bypass LaLigaGate, desmarca «Eliminar todos los datos del plugin» y guarda. Si no lo haces, al borrar la versión vieja se llevará por delante las credenciales y toda la configuración.
  2. Desactiva y borra la versión vieja. Al desactivarla, el plugin restaura el proxy por su cuenta.
  3. Instala este zip y actívalo. La configuración sigue en la base de datos, así que la recupera tal cual.

Si es tu primera instalación, no tienes que hacer nada de esto.

Cambios

  • Añadido: ajuste "Qué se considera un bloqueo", con dos modos. "Cualquier bloqueo en España" es el comportamiento de siempre y sigue siendo el valor por defecto, así que al actualizar no cambia nada. "Solo si bloquean las IPs de esta web" resuelve las IPs públicas de tus registros y solo desactiva el proxy cuando alguna aparece en las listas de hayahora.futbol, que es lo que evita quedarse sin CDN ni WAF cada fin de semana desde que empezó la liga.
  • Añadido: resolución de las IPs propias por DNS sobre HTTPS (Cloudflare y, si falla, Google), con gethostbynamel() como último recurso. Se usa DoH porque muchos alojamientos compartidos responden a tu propio dominio con la IP local de la máquina. Las IPs se resuelven solo mientras el proxy está activo y se guardan en caché seis horas, porque durante el bypass los registros apuntan al origen.
  • Añadido: si el modo "solo mi IP" no consigue resolver ninguna dirección, el plugin vuelve por su cuenta al modo global y lo indica en la fuente de la comprobación, antes que dar por buena una web accesible que no lo está.
  • Añadido: cuando los datos de hayahora.futbol llevan horas sin actualizarse, la comprobación se trata como un error y no como un "no hay bloqueos". Un fichero vacío servido por un generador parado habría restaurado el proxy en mitad de un partido. El margen son 3 horas y se puede cambiar con el filtro ayudawp_blg_max_data_age.
  • Añadido: la pantalla de ajustes y el botón "Comprobar ahora" avisan cuando una comprobación no ha podido concluir nada, explicando el motivo y que se mantiene el estado anterior. Antes las dos situaciones se veían igual desde fuera y significan cosas opuestas.
  • Añadido: cerrojo de ejecución, para que WP-Cron y el cron externo no puedan disparar dos comprobaciones a la vez y mandar cambios opuestos del mismo registro a Cloudflare. Caduca a los 5 minutos, así que un ciclo interrumpido no deja el plugin bloqueado.
  • Añadido: la pantalla de ajustes muestra el modo de detección, las IPs vigiladas, cuáles están bloqueadas y qué operadores las bloquean.
  • Añadido: los registros AAAA seleccionados se marcan como "sin verificar" en la tabla de DNS, porque hayahora.futbol solo publica direcciones IPv4 y no hay lista contra la que compararlos.
  • Añadido: sección legal al final de la pantalla de ajustes con los recursos de RootedCon, HackBCN, la Asociación Española de Startups y OONI.
  • Añadido: las respuestas de los endpoints se validan como IPv4 línea a línea, para que una página de error servida con un HTTP 200 no se interprete como una lista de miles de IPs bloqueadas.
  • Añadido: nueva opción ayudawp_blg_own_ips y nuevos filtros ayudawp_blg_isp_txt_url, ayudawp_blg_max_data_age, ayudawp_blg_json_cooldown, ayudawp_blg_txt_max_bytes y ayudawp_blg_json_max_bytes. El "ISPs mínimos" se limita a 5, que son los operadores bajo la orden judicial.
  • Mejorado: el recuento de operadores usa los cinco ficheros blocked-.txt en vez del JSON completo, que ya va por 2,7 MB. Los ajustes con "ISPs mínimos" mayor que 1 pasan de descargar 2,7 MB por comprobación a unos pocos KB. El JSON queda como respaldo si fallan los TXT.
  • Mejorado: el desglose por operador solo se descarga cuando decide algo (mínimo de ISPs mayor que 1) o cuando informa de algo útil (modo "solo mi IP"). En el caso habitual, sin bloqueos, la comprobación sigue siendo una sola petición mínima.
  • Mejorado: el respaldo JSON deja de poder repetirse en cada ciclo. Ese fichero es el histórico completo, solo crece, y decodificarlo cuesta unas once veces su tamaño en memoria, así que un fallo prolongado de los TXT significaba descargar y procesar 2,7 MB cada pocos minutos. Ahora se espera una hora entre usos, se limita el tamaño de la respuesta y no se decodifica si no cabe en la memoria disponible, en cuyo caso se mantiene el estado en vez de tumbar el cron con un error fatal.
  • Mejorado: si los TXT fallan por estar obsoletos no se recurre al JSON, porque lo escribe el mismo proceso y ya se sabe la respuesta.
  • Corregido: con la fuente TXT, el número de IPs bloqueadas se guardaba en el campo de "ISPs afectados", así que el resumen por email podía decir "ISPs afectados: 227". Ahora se guardan las dos cifras por separado y el email distingue una de otra. Los episodios anteriores a esta versión se muestran como IPs, que es lo que el número era en realidad.
  • Cambiado: AyudaWP_BLG_Block_Checker::check_status() recibe ahora un array de argumentos (min_isps, mode, own_ips) en lugar de un entero.

Los datos de bloqueos son de hayahora.futbol. Esto es un parche para seguir online, no la solución: el problema de fondo es legal, y en la pantalla de ajustes tienes los enlaces a RootedCon y HackBCN, a STOP #LaLigaGate y a OONI.