Copyright (C) 2023 Proton AG
Ce référentiel contient l'application Proton VPN Windows. Pour une information de construction détaillée, voir la construction. Pour les informations sur l'octroi de licences, voir la copie. Pour la politique de contribution, voir contribution.
L'application Proton VPN Windows est destinée à chaque utilisateur de service Proton VPN, payé ou gratuit et prend en charge toutes les fonctionnalités disponibles pour les utilisateurs authentifiés (la signalisation des utilisateurs se produit à la place sur le site Web).
Vous pouvez télécharger la dernière version stable, soit sur le site officiel de Proton VPN, soit directement sur le référentiel officiel de GitHub.
L'application se compose de ces parties en interaction:
L'application Proton VPN GUI est installée dans le répertoire "C: Program Files Proton VPN <version>" par défaut. L'exécutable principal est "protonvpn.exe".
L'application Proton VPN GUI démarre le service VPN Proton lors du lancement et arrête le service lors de la fermeture.
Les journaux d'applications sont enregistrés dans le répertoire "% localappdata% protonvpn logs".
La version Proton VPN à l'aide de la configuration de débogage charge éventuellement sa configuration à partir du fichier "protonvpn.config" dans le répertoire de l'APP. Ce fichier n'est pas déployé lors de l'installation. Si le fichier de configuration n'existe pas ou ne contient pas de valeurs valides, l'application essaie d'enregistrer la configuration par défaut utilisée dans l'application.
Pour surveiller le trafic HTTP de l'application GUI VPN PROTON à l'aide de Fiddler ou un autre outil, vous devrez peut-être désactiver le certificat TLS. Pour désactiver le certificat TLS épinglant le fichier de configuration avec la valeur vide "tlspinningconfig" doit être fournie:
...
"TlsPinningConfig": {}
...
Le service Windows "Service ProtonVPN" est installé dans le répertoire "C: Program Files Proton VPN <version>" Répertoire par défaut. Le service Exécutable est "protonvpnservice.exe". Le service est démarré et arrêté par l'application Proton VPN GUI.
Pendant l'installation, le service est configuré pour être démarré et arrêté par les utilisateurs interactifs non privilégiés.
Exécutable de service prend en charge l'installation et la désinstallation du service. Passant "Installer" sur la ligne de commande sur "ProtonVPnService.exe" Installe le service, passant "désinstaller" - désinstaller. Cette méthode d'installation ne configure pas les paramètres de sécurité du service.
Le service est responsable de l'interaction avec OpenVPN, gérant le pare-feu Windows et le pilote de tunnel divisé.
Les journaux de service sont enregistrés dans "% allusersprofile% protonvpn logs" répertoire.
Le proton VPN utilise OpenVPN pour maintenir un tunnel VPN. Le nouveau processus OpenVPN est démarré sur chaque connexion à un VPN et fermé sur déconnexion. La communication avec le processus OpenVPN est maintenue via l'interface de gestion TCP.
OpenVPN est installé dans le répertoire "C: Program Files Proton VPN <version> Ressources" par défaut. Le fichier de configuration OpenVPN est statique, il ne change pas pour chaque serveur VPN.
L'OpenVPN est construit à partir de la source officielle en appliquant un correctif pour prendre en charge l'adaptateur de robinet Proton VPN. Voir le référentiel Win-OpenVPN.
L'adaptateur de tapage "L'adaptateur Windows Tap-ProtonVPN V9" est utilisé par l'OpenVPN.
L'adaptateur TAP est construit à partir de la source officielle en appliquant un correctif pour avoir un nom et une identification spécifiques à Proton VPN. Voir le référentiel de l'adaptation Win-Tap.
Le pilote en mode noyau "ProtonVPN Caltiout Driver" est utilisé pour rediriger les liaisons de socket lorsque le tunnel divisé est activé et empêcher la fuite DNS en envoyant un paquet de réponse Servfail pour les demandes DNS qui ont été faites à partir d'autres interfaces que les utilisations de proton VPN.
Le pilote est installé en tant que service système. Il est démarré lors de la connexion à VPN et arrêté lors de la déconnexion par le service Proton VPN.
Le dossier du référentiel principal contient la solution .NET Visual Studio de l'application Proton VPN Windows nommée ProtonVPN.
Contient des scripts d'intégration continue.
Il contient des packages NuGet de la solution ProtonVPN.
Ce dossier contient des fichiers de projet d'installation avancés, des ressources incluses dans l'installateur et des fichiers d'installation construits. Les sous-dossiers contiennent:
Ce dossier contient des projets de solution Visual Studio.
Ce dossier contient une sortie de build de projet Visual Studio. Ce dossier peut être supprimé en toute sécurité car son contenu est recréé en construisant la solution.
Ce dossier contient un sous-module GIT de la bibliothèque SRP ProtonMail.
Ce dossier contient des projets de test de la solution ProtonVPN.
L'application Proton VPN Windows est créée à l'aide des langages de programmation C # et C ++, les technologies WPF et MVVM. La solution Visual Studio se compose d'une série de projets:
Le dossier de solution "test" contient des projets de test.