Copyright (c) 2023 Proton AG
Este repositorio contiene la aplicación Proton VPN Windows. Para obtener información detallada de compilación, consulte Build. Para información de licencia, consulte la copia. Para la política de contribución, ver contribuyente.
La aplicación Proton VPN Windows está destinada a cada usuario de Servicio VPN de Proton, pagado o gratuito y admite todas las funcionalidades disponibles para los usuarios autenticados (el registro del usuario ocurre en el sitio web).
Puede descargar la última versión estable, ya sea en el sitio web oficial de Proton VPN o directamente en el repositorio oficial de GitHub.
La aplicación consta de estas piezas que interactúan:
La aplicación Proton VPN GUI se instala en el directorio "C: Program Files Proton VPN <versión>" de forma predeterminada. El ejecutable principal es "protonvpn.exe".
La aplicación Proton VPN GUI comienza el servicio VPN Proton cuando se lanza y detiene el servicio cuando se está cerrado.
Los registros de aplicaciones se guardan en el directorio "%LocalAppData% protonvpn logs".
La compilación de Proton VPN usando la configuración de depuración opcionalmente carga su configuración desde el archivo "protonvpn.config" en el directorio de aplicaciones. Este archivo no está implementado durante la instalación. Si el archivo de configuración no existe o contiene valores no válidos, la aplicación intenta guardar la configuración predeterminada utilizada en la aplicación.
Para monitorear el tráfico HTTP de la aplicación Proton VPN GUI utilizando Fiddler u otra herramienta, es posible que deba deshabilitar la fijación del certificado TLS. Para deshabilitar el certificado TLS que fija el archivo de configuración con el valor vacío "TLSpinningConfig" se debe proporcionar:
...
"TlsPinningConfig": {}
...
El servicio de Windows "Servicio protonvpn" se instala en el directorio "C: Archivos de programa Proton VPN <versión>" de forma predeterminada. El ejecutable del servicio es "protonvpnservice.exe". El servicio se inicia y se detiene por la aplicación Proton VPN GUI.
Durante la instalación, el servicio está configurado para ser iniciado y detenido por los usuarios interactivos no privilegiados.
El ejecutable de servicio admite la instalación y la desinstalación del servicio. Pasar "Instalar" en la línea de comandos a "ProTOnvpnService.exe" instala el servicio, pasando "desinstalar" - desinstalaciones. Este método de instalación no configura la configuración de seguridad del servicio.
El servicio es responsable de la interacción con OpenVPN, administrando el firewall de Windows y el controlador de túnel dividido.
Los registros de servicio se guardan en el directorio "%AllusersProfile% Protonvpn logs".
El Proton VPN utiliza OpenVPN para mantener un túnel VPN. El nuevo proceso de OpenVPN se inicia en cada conexión a una VPN y se cierra en desconexión. La comunicación con el proceso OpenVPN se mantiene a través de la interfaz de administración TCP.
OpenVPN se instala en el directorio "C: Archivos de programa Proton Vpn <versión> recursos" de forma predeterminada. El archivo de configuración OpenVPN es estático, no cambia para cada servidor VPN.
OpenVPN se construye a partir de la fuente oficial aplicando un parche para admitir el adaptador de toque específico de Proton VPN. Ver repositorio de Win-Openvpn.
El adaptador de toque "OpenVPN utiliza el adaptador V9 de Tap-ProTonVPN".
El adaptador TAP se construye a partir de la fuente oficial aplicando un parche para tener un nombre e identificación específicos de Proton VPN. Ver Repositorio de Adaptador Win-Tap-Tap.
El controlador de modo de kernel "controlador de llamada ProTonvpn" se utiliza para redirigir los enlaces de enchufe cuando el túnel dividido está habilitado y evitando la fuga de DNS enviando un paquete de respuesta SERVFAIL para las solicitudes DNS que se realizan de otras interfaces que los usos de Proton VPN.
El controlador está instalado como un servicio del sistema. Se inicia cuando se conecta a VPN y se detiene cuando se desconecta por Proton VPN Service.
La carpeta del repositorio principal contiene la solución .NET Visual Studio de la aplicación Proton VPN Windows llamada ProTonvpn.
Contiene scripts de integración continua.
Contiene paquetes Nuget de la solución protonvpn.
Esta carpeta contiene archivos avanzados del proyecto de configuración del instalador, recursos incluidos en el instalador y los archivos de instalador creados. Las subcarpetas contienen:
Esta carpeta contiene proyectos de solución de Visual Studio.
Esta carpeta contiene salida de compilación del proyecto Visual Studio. Esta carpeta se puede eliminar de forma segura ya que su contenido se recrea construyendo la solución.
Esta carpeta contiene submódulo Git de ProtonMail SRP Biblioteca.
Esta carpeta contiene proyectos de prueba de la solución protonvpn.
La aplicación Proton VPN Windows se crea utilizando lenguajes de programación C# y C ++, tecnologías WPF y MVVM. La solución de Visual Studio consiste en una serie de proyectos:
La carpeta de soluciones "Test" contiene proyectos de prueba.