Sobre el proyecto

MikroTik OpenVPN GUI es un plano de control autoalojado para un servicio OpenVPN que se ejecuta en RouterOS 7. Se despliega como un contenedor directamente en routers MikroTik compatibles (arm64 validado, amd64 disponible para evaluación en CHR/x86) y ofrece un panel web inspirado en WinBox para la administración diaria de VPN. **Capacidades principales:** - Autenticación de administradores delegada a RouterOS: sin base de datos de contraseñas separada para el panel. - Ciclo de vida completo de usuarios VPN: agregar, editar, suspender, duplicar y eliminar usuarios. - Emisión de certificados de cliente por dispositivo con archivos de perfil protegidos por contraseña. - Migración segura de CA: descubrir certificados heredados, emitir reemplazos sin desconectar dispositivos y luego revocar las identidades antiguas solo después de probar el nuevo perfil. - Incorporación móvil mediante transferencias QR de corta duración o descargas ZIP. - Inspección de sesiones activas, incluidos contadores de tráfico, direcciones de origen e historial de conexiones. - Preajustes de acceso para límites de dispositivos, caducidad, horarios, límites de velocidad, DNS y cuotas. - Plantillas de políticas reutilizables con vistas previas por usuario antes de una aplicación auditable y con puntos de control. - Acciones masivas filtradas (suspender, revocar, etiquetar) con resultados por usuario y reintento seguro. - Vistas de usuario reutilizables locales del router (consultas, estado, filtros de etiquetas) que nunca entran en la imagen pública. - Vista de estado del servicio de solo lectura que abarca RouterOS REST, OpenVPN, certificados, almacenamiento y preparación de capacidad. **Roles de administrador:** los grupos de RouterOS se asignan a cinco roles del panel (Propietario, Operador de seguridad, Administrador, Auditor y Solo lectura), aplicados por cada ruta de API, no solo en la interfaz visible. El Historial de cambios registra eventos de inicio de sesión, asignaciones de roles, acciones denegadas y revocación de sesiones sin almacenar contraseñas, tokens, claves privadas ni contenido de certificados. **Límite de seguridad y privacidad:** el repositorio público contiene únicamente código fuente, pruebas e imágenes de contenedor neutrales respecto a la arquitectura. Todos los datos privados (credenciales de RouterOS, usuarios VPN, certificados, claves privadas, perfiles generados, metadatos de SQLite e historial de auditoría) permanecen en los montajes persistentes locales del router y nunca entran en GitHub ni en la imagen pública. Los metadatos del panel y los eventos de auditoría saneados se guardan en SQLite; no se almacenan contraseñas VPN ni claves privadas. **Despliegue:** un programador local del router selecciona una imagen GHCR inmutable, la valida en canary y la promueve a producción solo después de que pasen las comprobaciones de estado. Si fallan las comprobaciones canary o de preparación, producción queda intacta y la imagen anterior sigue disponible para reversión. Los operadores fijan etiquetas sha inmutables en lugar de seguir ramas mutables. **Línea de operaciones empresariales:** agrega un centro de sesiones de administrador con control por capacidades, tokens de API de solo lectura de corta duración, eventos de conexión SSE en vivo, diagnósticos de perfil, verificación de versiones inmutables, planificación de segmentación y exportaciones de cumplimiento censuradas. Un manifiesto de aplicación web y estilos de movimiento reducido permiten el uso móvil sin cliente nativo. **Planificador opcional de fundamentos de OpenVPN:** para routers compatibles que de otro modo estarían vacíos, genera un plan revisable de CA, certificado de servidor, grupo de direcciones, perfil PPP y servidor OpenVPN. Nunca aplica comandos automáticamente ni almacena secretos en el proyecto público. El entorno de ejecución usa la biblioteca estándar de Python. Licencia Apache 2.0. Proyecto independiente, no afiliado a MikroTikls SIA.