Catsplash
Portal cautivo minimalista en Go que bloquea el acceso a Internet hasta aceptar los términos y libera el tráfico de forma segura en redes Wi-Fi temporales.

Características Principales
Portal Cautivo Compatible con CNA
Redirección HTTP al portal y compatibilidad con el Captive Network Assistant de Android e iOS para abrirlo automáticamente.
Firewall Dinámico con iptables
Reglas inyectadas y limpiadas de forma atómica por cliente autenticado, sin dejar tráfico colgado al cerrar sesiones.
Sesiones en SQLite
Gestión de clientes y sesiones con expiración por tiempo absoluto e inactividad, pensada para hardware de bajos recursos.
CLI catsctl y Panel de Administración
Consulta de estado, listado de clientes y control de sesiones desde la terminal o el panel web protegido con contraseña.
Flujos Importantes del Proyecto
Tres pilares que llevaron el proyecto más allá del código: verificación experimental, cumplimiento legal y dominio de redes.
Laboratorio con Network Namespaces
- ▸Topología completa dentro del kernel: ns_router (AP + WAN), ns_wan (internet simulado) y hasta ns_client[1..100] con IP y MAC propias.
- ▸Ráfagas de 100 clientes concurrentes: 100% de peticiones exitosas, pico de 13.6% CPU y menos de 24 MB RSS en un Core 2 Duo.
- ▸Suite de pruebas automatizadas: soak tests multi-cliente, monitoreo de recursos y resultados versionados en CSV.
Validación de Protección de Datos (Ecuador)
- ▸Consentimiento explícito antes de conectar: checkbox validado en backend con timestamp de aceptación.
- ▸Derechos ARCO+ implementados: endpoints de acceso/portabilidad (/data-request) y eliminación (/data-deletion).
- ▸DPIA, inventario y plan de retención documentados; auditoría de accesos y anonimización de MACs con SHA-256 truncado.
Manejo de Redes en Linux
- ▸Integración con hostapd (punto de acceso) y dnsmasq (DHCP/DNS) sobre interfaces Wi-Fi reales.
- ▸Instalador guiado setup.sh que prepara dependencias, reglas de firewall y configuración del sistema en /opt/catsplash.
- ▸Guías de red avanzada, seguridad Wi-Fi y resolución de problemas de conectividad incluidas en la documentación.

catsctl · CLI

setup.sh · Instalador
Documentación Completa
Guías de instalación, arquitectura, rendimiento y red, además del análisis de cumplimiento LOPDP, disponibles en el sitio de documentación y en el repositorio.