尚未收集仓库信息。
尚未检测到更新。GitHub 发布版本后会显示在这里。
制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗Plataforma web para armar expedientes verificables de streams piratas de partidos del fútbol argentino (Liga Profesional), pensada para usarse desde el celular.
App en vivo: https://expedientes-futbol.vercel.app
Para ver un caso completo sin cargar nada: en el Panel tocá “Cargar expediente de demostración” (es un caso ficticio con dominios
.examplee IPs de documentación RFC 5737).
Este repo es la entrega del equipo para el desafío Plataforma federal de órdenes de bloqueo en vivo (Track Datos y Streaming, Salta, 11 al 13 de noviembre de 2026). Tiene dos partes:
| Parte | Qué hace | Dónde |
|---|---|---|
| Motor del desafío | Corre el circuito completo contra el simulador oficial: expediente → juez de turno → firma → proveedores → confirmación → reintento → vencimiento → auditoría, más reclamos y registro público. Es lo que mide evaluacion/verificar.py. | desafio-simulador/ · cómo correrlo: desafio-simulador/plataforma/README.md |
| App web | Expedientes sobre streams reales desde el celular, oráculo de consenso, juez con Supabase (RLS por turno), registro público. Puede hacer de interfaz del juez del motor. | esta raíz · https://expedientes-futbol.vercel.app |
entrega/ (expediente exportado, auditoría, propuesta normativa).auditoria/. auditoria/correr.sh corre tres partidos de práctica (circuito normal, cambio de turno con juez ausente y reclamo) y compara contra la consigna requisito por requisito.auditoria/GUION_DEMO.md.# Circuito completo contra el simulador (Python 3.9+, sin dependencias)
cd desafio-simulador
python3 simulador/servidor.py --escenario datos/escenario_practica.json --acelerar 6
python3 plataforma/servidor.py --simulador http://localhost:8080 # juez en http://localhost:8090/
python3 evaluacion/verificar.py --log salida/registro.jsonl # al terminar el partido
Supuestos. Todos los datos son ficticios (dominios .test/.example, IPs RFC 5737, ASN privados) y no se bloquea nada real. La marca de agua llega ya extraída en la detección: la plataforma la valida contra el partido y los licenciatarios, no la extrae del video. El juez firma cada decisión en su propio dispositivo (Ed25519, o ECDSA P-256 si el navegador no tiene Ed25519, con WebCrypto; la clave privada no sale del celular) y el servidor la verifica con la clave pública. Además, la orden que llega al simulador lleva el HMAC de demostración que el simulador exige. En la vida real sería firma digital con certificado. Los jueces y turnos son los de datos/juzgados.json.
Código que existía antes del evento. desafio-simulador/simulador/, datos/, evaluacion/ y ejemplos/ son del repo de la organización (qualydata-org/desafio-futbol). Todo lo demás se escribió durante el hackathon (el historial de commits empieza el 12/11/2026). Librerías y servicios de terceros: supabase-js 2.45.4 (CDN), Plus Jakarta Sans (Google Fonts), Supabase, Vercel y las fuentes públicas listadas en Fuentes de datos. El motor usa solo la biblioteca estándar de Python.
Cuando un partido se retransmite sin autorización, pedir un bloqueo requiere evidencia sólida y difícil de discutir:
La plataforma junta todo eso en un expediente por stream, atado a un partido concreto, sellado con hash y hora oficial, y con un registro de auditoría encadenado.
Cada expediente se crea desde Partidos → “+ Expediente” pegando la URL de la página pirata (y, opcionalmente, la URL del .m3u8 si se la tiene). Tiene un puntaje de solidez (0–100 %) que muestra qué evidencia falta.
以上为 README 的开头部分。其余内容请阅读原文。 查看完整 README ↗