リポジトリ情報はまだ収集していません。
No updates detected yet. GitHub releases will appear here.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full 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.
This is the beginning of the README. Read the rest at the original. Read the full README ↗