ProtonVPNProtonVPN est un fournisseur de VPN (Virtual Private Network ou « réseau privé virtuel ») exploité par la société suisse ProtonVPN AG, une filiale de Proton Technologies AG, la société à l’origine du service de messagerie ProtonMail. Sans rentrer dans les détails de la législation suisse, ProtonMail et ProtonVPN intéresseront particulièrement tous ceux pour qui la confidentialité ce n’est pas simplement un truc de vieux con. Sans compter les activistes, journalistes et autres lanceurs d’alerte pour qui ça craint carrément de laisser des traces lorsqu’ils se connectent à Internet et qu’Internet se connecte à eux en retour. Bref.

Voici donc un petit article qui explique rapidement comment installer, configurer et utiliser ProtonVPN sous Linux. J’ai installé ça sur mon vieux MacBook Pro tournant sous OpenSUSE Linux 15.1, et ça fonctionne plutôt bien.

Mise à jour 12 octobre 2019 : Cet article décrit l’installation de la version gratuite de ProtonVPN. La mise à jour vers la formule payante Basic (que je vous recommande fortement) fait l’objet d’un article à part.

Choix de la formule

Après avoir ouvert un compte sur le site de ProtonVPN, je me suis retrouvé confronté à une panoplie de quatre formules. Pour commencer, j’ai opté pour la formule gratuite.

    ProtonVPN

    Notez qu’avec la formule gratuite, le nombre d’installations du client ProtonVPN n’est pas limité, c’est-à-dire qu’on peut l’installer sur autant de postes clients que l’on veut. En revanche, on peut seulement en connecter un seul à la fois.

    Dans le menu de navigation à gauche, notez le lien Account et gardez-le dans un coin de votre tête. Nous y reviendrons un peu plus loin.

    Prérequis logiciels

    Dans sa documentation en ligne, ProtonVPN dresse la liste des prérequis logiciels pour faire fonctionner le client de connexion, notamment les paquets suivants.

    • openvpn
    • dialog
    • python
    • wget

    Ces paquets sont tous déjà compris dans la configuration par défaut d’OpenSUSE Leap 15.1.

    # rpm -q openvpn dialog python wget
    openvpn-2.4.3-lp151.4.3.x86_64
    dialog-1.3-lp151.3.3.x86_64
    python-2.7.14-lp151.10.3.1.x86_64
    wget-1.19.5-lp151.4.1.x86_64
    

    Téléchargement

    Je crée un répertoire protonvpn qui accueillera mon script d’installation.

    # mkdir protonvpn
    # cd protonvpn/
    

    Je télécharge le script.

    # wget -O protonvpn-cli.sh \
      https://raw.githubusercontent.com/ProtonVPN/protonvpn-cli/master/protonvpn-cli.sh
    

    Installation

    Je rends le script exécutable et je lance l’installation.

    # chmod +x protonvpn-cli.sh
    # ./protonvpn-cli.sh --install
    

    Le script d’installation tente de rectifier le tir dans ma configuration locale en récupérant un script /etc/openvpn/update-resolv-conf. Je le laisse faire.

    [!] Error: update-resolv-conf is not installed.
    Would you like protonvpn-cli to install update-resolv-conf? (y/N): y
    [*] Installing update-resolv-conf...
    ...
    Connexion à raw.githubusercontent.com (raw.githubusercontent.com)
    |151.101.128.133|:443… connecté.
    requête HTTP transmise, en attente de la réponse… 200 OK
    Taille : 2152 (2,1K) [text/plain]
    Sauvegarde en : « /etc/openvpn/update-resolv-conf »
    /etc/openvpn/update-resol 100%[=============================>] 2,10K --.-KB/s ds 0s
    2019-10-10 18:09:12 (12,7 MB/s) — « /etc/openvpn/update-resolv-conf » sauvegardé
    [*] Done.
    

    Au bout de l’installation, on se retrouve avec un client /usr/bin/protonvpn-cli sous forme de lien symbolique qui pointe vers /usr/local/bin/protonvpn-cli.

    # type -a protonvpn-cli
    protonvpn-cli est /usr/local/bin/protonvpn-cli
    protonvpn-cli est /usr/bin/protonvpn-cli
    

    On peut éventuellement faire un peu de ménage et supprimer le script d’installation, qui ne sert plus à rien.

    # cd ..
    # rm -rf protonvpn
    

    Configuration

    À présent, il faut se rendre sur la page Account pour avoir l’identifiant de connexion VPN et le mot de passe correspondant sous la main.

    ProtonVPN

    J’initialise le profil ProtonVPN sur ma machine.

    # protonvpn-cli --init
    

    Je fournis mon nom d’utilisateur et mon mot de passe, en me servant des liens presse-papier correspondants sur la page Account.

    Enter OpenVPN username: lKgP4o7Yat4h0ng4g3MpRed
    Enter OpenVPN password: *************************
    

    Je sélectionne la formule Free.

    [.] ProtonVPN Plans:
    1) Free
    2) Basic
    3) Plus
    4) Visionary
    Enter Your ProtonVPN plan ID: 1
    

    Non, je ne souhaite pas utiliser de serveur DNS personnalisé.

    [.] Would you like to use a custom DNS server? 
    (Warning: This would make your VPN connection vulnerable to DNS leaks. 
    Only use it when you know what you're doing) [y/N]: N
    

    Oui, je souhaite réduire les privilèges OpenVPN.

    [.] [Security] Decrease OpenVPN privileges? [Y/n]: Y
    [*] Done.
    

    Connexion

    À partir de là, je peux utiliser le client protonvpn-cli pour me connecter.

    # protonvpn-cli --connect
    

    J’ai le choix entre une panoplie de serveurs au Japon, aux Pays-Bas et aux États-Unis.

    ProtonVPN

    Dans la fenêtre subséquente, je choisis le protocole réseau UDP ou TCP.

    ProtonVPN

    Si tout s’est bien passé, ma console m’affiche un message qui ressemble à ceci.

    Connecting...
    [$] Connected!
    [#] New IP: 103.125.234.201
    

    Les fonctionnalités utiles au quotidien

    Le client protonvpn-cli comporte une multitude d’options.

    # protonvpn-cli --help

    ProtonVPN

    On ne va faire le tour complet de toutes les possibilités. Voici quelques options pratiques que l’on utilisera au quotidien.

    Déconnecter la machine de ProtonVPN :

    # protonvpn-cli --disconnect
    Disconnecting...
    [#] Disconnected.
    [#] Current IP: 78.197.22.147
    

    Connecter la machine en utilisant automatiquement le serveur le plus rapide :

    # protonvpn-cli -f
    Fetching ProtonVPN servers...
    Connecting...
    [$] Connected!
    [#] New IP: 217.23.3.171
    

    Afficher l’adresse IP lorsqu’on est connecté :

    # protonvpn-cli --ip
    217.23.3.171
    

    Mettre à jour le client :

    # protonvpn-cli --update
    [#] Checking for update...
    [*] protonvpn-cli is up-to-date!
    

    Conclusion

    J’ai testé la connexion avec la panoplie de serveurs fournis par défaut. Je me suis connecté à une série de pages web « intelligentes » qui m’ont toutes successivement géolocalisé aux Pays-Bas, aux États-Unis et au Japon.

    YTS

    Un gentil bonjour de la garrigue gardoise. :o)


    0 commentaire

    Laisser un commentaire

    Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

    Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.