Una aplicación de escritorio moderna y elegante para gestionar conexiones VPN usando OpenVPN, construida con Electron.
Características • Instalación • Uso • Capturas • Contribuir
- 🎨 Interfaz moderna y minimalista - Diseño limpio inspirado en aplicaciones profesionales
- 🌍 Multi-servidor - Soporte para múltiples ubicaciones de servidores VPN
- 🔒 Seguridad robusta - Integración completa con OpenVPN y cifrado AES-256-GCM
- 📊 Estadísticas en tiempo real - Monitoreo de velocidad de descarga/subida y duración de conexión
- 💻 Multiplataforma - Compatible con Windows, macOS y Linux
- 🚀 Conexión rápida - Conexión en menos de 20 segundos
- 🔄 Detección automática - Detecta y lista automáticamente archivos de configuración .ovpn
- 📝 Logs detallados - Sistema completo de logging para diagnóstico
- ⚡ Gestión de permisos - Manejo automático de permisos de administrador
- 🎯 Compatible con ProtonVPN - Configurado y probado con ProtonVPN Free
Interfaz limpia mostrando el estado de desconexión y servidores disponibles.
Vista de conexión activa con estadísticas en tiempo real de velocidad y duración.
Lista completa de servidores VPN con banderas, nombres y carga del servidor.
- Node.js v16 o superior
- OpenVPN 2.5 o superior
- Archivos de configuración
.ovpnde tu proveedor VPN
# Clonar el repositorio
git clone https://github.com/cmurestudillos/ant-vpn.git
cd mi-vpn-app
# Instalar dependencias
npm install
# Ejecutar en modo desarrollo
npm start-
Instalar OpenVPN:
Windows:
choco install openvpn
macOS:
brew install openvpn
Linux (Ubuntu/Debian):
sudo apt-get install openvpn
-
Agregar archivos .ovpn:
Coloca tus archivos de configuración en
vpn-configs/con el formato:vpn-configs/ ├── us-1.ovpn # Estados Unidos ├── uk-1.ovpn # Reino Unido ├── de-1.ovpn # Alemania └── ... -
Configurar credenciales:
Crea
vpn-credentials/auth.txt:tu_email@ejemplo.com tu_contraseña -
¡Listo! Ejecuta
npm starty comienza a usar tu VPN.
- Inicia la aplicación
- Haz clic en "Seleccionar servidor"
- Elige tu ubicación preferida
- Haz clic en el botón grande "Conectar"
- Acepta el diálogo de permisos (UAC en Windows)
- ¡Espera 10-20 segundos y estarás conectado!
Simplemente haz clic en el botón "Desconectar" cuando la VPN esté activa.
La aplicación muestra en tiempo real:
- Velocidad de descarga (MB/s)
- Velocidad de subida (MB/s)
- Duración de la conexión (HH:MM:SS)
- Electron - Framework para aplicaciones de escritorio
- OpenVPN - Protocolo VPN de código abierto
- JavaScript (ES6+) - Lenguaje de programación
- HTML5 & CSS3 - Interfaz de usuario moderna
- Node.js - Runtime de JavaScript
ant-vpn/
├── main.js # Proceso principal de Electron
├── preload.js # Script de preload (bridge seguro)
├── renderer.js # Lógica de interfaz de usuario
├── index.html # Interfaz HTML
├── styles.css # Estilos de la aplicación
├── package.json # Dependencias y configuración
├── vpn-configs/ # Archivos de configuración .ovpn
│ └── *.ovpn
├── vpn-credentials/ # Credenciales de autenticación
│ └── auth.txt
├── logs/ # Logs de OpenVPN
│ └── vpn.log
└── assets/ # Recursos (iconos, imágenes)
└── icon.png
npm run build# Windows
npm run build:win
# macOS
npm run build:mac
# Linux
npm run build:linuxLos ejecutables se generarán en la carpeta dist/.
Solución: Instala OpenVPN para tu sistema operativo. Ver Instalación.
Solución: Verifica que tus credenciales en vpn-credentials/auth.txt sean correctas.
Solución: Asegúrate de que los archivos .ovpn estén en vpn-configs/ con nombres como us-1.ovpn, uk-1.ovpn, etc.
Solución:
- Prueba con otro servidor
- Revisa el log en
logs/vpn.log - Asegúrate de que no haya firewall bloqueando OpenVPN
Para más ayuda, consulta SOLUCION-WINDOWS.md o SETUP-PROTONVPN.md.
¡Las contribuciones son bienvenidas! Si quieres mejorar esta aplicación:
- Fork el proyecto
- Crea una rama para tu característica (
git checkout -b feature/AmazingFeature) - Commit tus cambios (
git commit -m 'Add some AmazingFeature') - Push a la rama (
git push origin feature/AmazingFeature) - Abre un Pull Request
- ✨ Implementar kill switch (bloquear tráfico si VPN se cae)
- 🔄 Reconexión automática
- 🌐 Soporte para WireGuard
- 📱 Notificaciones del sistema
- 🌓 Tema oscuro/claro
- 🚀 Auto-actualización
- 📊 Estadísticas avanzadas de uso
- Interfaz básica de usuario
- Integración con OpenVPN
- Soporte multi-servidor
- Estadísticas en tiempo real
- Multiplataforma (Windows, macOS, Linux)
- Kill switch
- Reconexión automática
- Soporte para WireGuard
- Auto-actualización
- Modo túnel dividido (split tunneling)
- Tema oscuro
Esta aplicación:
- ✅ No almacena contraseñas en memoria después de conectar
- ✅ Usa cifrado AES-256-GCM
- ✅ Valida certificados SSL/TLS
- ✅ Logs locales (nunca se envían a servidores externos)
- ✅ Código abierto y auditable
Nota de seguridad: Mantén tu archivo vpn-credentials/auth.txt seguro y con permisos restrictivos.
Este proyecto está bajo la Licencia MIT. Ver el archivo LICENSE para más detalles.
MIT License
Copyright (c) 2025 [Tu Nombre]
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction...
Tu Nombre
- GitHub: @tu-usuario
- Electron - Por el excelente framework
- OpenVPN - Por el protocolo VPN robusto y seguro
- ProtonVPN - Por los servidores gratuitos de prueba
- La comunidad de código abierto
Si este proyecto te fue útil, ¡no olvides darle una estrella! ⭐
¿Preguntas? ¿Sugerencias? ¿Encontraste un bug?
Hecho con ❤️ usando Electron y OpenVPN