passvpn, la commande qui récupère automatiquement le mot de passe de VPNBOOK

Les utilisateurs de VPNBOOK doivent régulièrement récupérer le nouveau mot de passe de la connection VPN sur leur site. Quand on utilise tous les jours, ça peut vite devenir lourd. Je vous propose donc un script shell afin d’en automatiser la récupération et l’afficher dans la console.

Si vous êtes déja utilisateur de OpenVPN et VPNBOOK, vous pouvez passer directement à la partie RÉCUPÉRER AUTOMATIQUEMENT LE MOT DE PASSE

INSTALLATION :

Pour commencer, si vous n’utilisez pas encore VPNBOOK, ni même de VPN, nous allons commencer par installer les programmes nécessaires.

Un VPN est un réseau privé virtuel, souvent comparé à un tunnel, qui permet non seulement de masquer son adresse IP, mais aussi de changer de localisation, ce qui peut être pratique quand un produit n’est limité qu’à un ou plusieurs pays. Ceci n’étant pas le sujet de ce billet, je vous propose d’obtenir plus d’infos sur Openclassrooms ou developpez.com selon vos préférences.

Sous Linux, le soft le plus utilisé est probablement OpenVPN, qui est assez simple à utiliser et à configurer. Pour l’installer sur Debian et ses forks, il suffit de taper dans un terminal :

Screenshot from 2016-01-28 09-11-17

Pour le lancer, il faudra taper ce type de commande:

sudo openvpn --config chemin/fichier.ovpn

C’est là qu’intervient VPNBOOK puisque c’est sur ce site que nous allons récupérer les fichiers .ovpn dont nous avons besoin. Pour ce faire, allez sur la page freevpn, et téléchargez un des 2 premiers zip de la liste.

vpnbookFreevpn
La page de téléchargement de VPNBOOK. Laissez la ouverte, vous en aurez besoin tout à l’heure pour récupérer les username et password en bas de page

Maintenant, dézippez dossier compressé à l’emplacement de votre choix. Pour ma part, j’ai créé un dossier vpnbook dans le dossier utilisateur ( /home/franck/vpnbook ) :

Screenshot from 2016-01-28 09-14-55

Si nous regardons son contenu en faisant un Screenshot from 2016-01-28 09-23-05 nous pouvons y voir ceci :

Screenshot from 2016-01-28 09-27-13

Nous avons donc 2 fichiers pour une connection TCP sur les ports 80 et 443 (Respectivement les protocoles HTTP et HTTPS) et 2 fichiers UDP sur les ports 53 et 25000 (Respectivement les protocoles DNS et Teamware Office). Selon vos besoins, choisissez donc un de ces 4 fichiers.

CONNECTION MANUELLE :

Avant de lancer OpenVPN, vérifiez votre adresse IP actuelle :

Screenshot from 2016-01-28 09-17-21

Pour l’exemple, je vais prendre le premier de la liste, TCP sur le port 443 :

Screenshot from 2016-01-28 09-19-18

Tapez votre mot de passe si vous n’êtes pas root, le Auth Username, comme indiqué sur le site, est « vpnbook », et le mot de passe aujourd’hui est  « crAwata5 » mais il aura probablement changé lorsque vous lirez ces lignes. Une fois ces données entrées, attendez quelques secondes que la connection s’établisse jusqu’à ce que le terminal affiche Initialization Sequence Completed :

Screenshot from 2016-01-28 09-41-29

Si à la place de ce message vous voyez ceci :Screenshot from 2016-01-28 09-44-45 cela signifie que la connection a echoué. Essayez à nouveau en vous assurant que les username et mot de passe sont bons, si vous obtenez encore un échec, essayez avec un des 3 autres fichiers.

Dans un autre terminal, contrôlez maintenant que votre adresse IP a bien changé:

Screenshot from 2016-01-28 09-49-08

Vous allez probablement obtenir l’adresse 176.126.237.217. Vous pouvez vérifier que cette adresse (ou celle que vous aurez obtenu) est bien localisée à Bucarest en Roumanie en faisant un Screenshot from 2016-01-28 09-29-56 :

Screenshot from 2016-01-28 09-51-51

Revenez sur le terminal qui a servi à lancer OpenVPN et faites un ctrl + C pour couper la connection VPN.

Comme vous pouvez le voir, il y a une série d’étapes à effectuer avant de changer de localisation. Si vous le faites une ou plus fois par jour et que vous ne retenez pas facilement les mots de passe, vous devrez à chaque fois aller sur le site de VPNBOOK. Nous allons donc la prochaine fois écrire un script pour automatiser la récupération du mot de passe sans sortir de la console.

RÉCUPÉRER AUTOMATIQUEMENT LE MOT DE PASSE :

Pour simplifier la connection et éviter d’ouvrir un navigateur pour aller sur la page freevpn de VPNBOOK, nous allons automatiser la récupération de ce mot de passe en créant notre propre commande.

Dans notre script, nous allons avoir besoin de la commande wget qui nous permettra de récupérer le code sous de la page où vous avez récupéré le mot de passe tout à l’heure.

Screenshot from 2016-01-28 10-11-29

Nous obtenons un fichier « freevpn ». Ensuite, nous allons lire ce fichier avec la commande cat, et nous allons rediriger ce résultat vers la commande grep afin qu’elle trouve la seule ligne où se trouve le mot Password (avec une majuscule).

Si nous regardons déjà le résultat de ce wget et du résultat de la redirection de la commande cat vers la commande grep, vous ce que nous obtenons :

Screenshot from 2016-01-28 10-20-36

Nous obtenons bien le mot de passe, mais la ligne apparait 2 fois. Nous devrons donc utiliser la commande uniq à la fin pour éviter les doublons.

Pour finir, il faut sélectionner la partie qui nous intéresse, c’est grâce à la commande cut que nous allons pour sélectionner ce qui nous intéresse. La partie qui nous intéresse est la chaîne de caractères avant le < de la balise </strong> ( Récupérée avec cut -d '<' -f 3 ) et après le > de la balise <strong> ( Récupérée avec cut -d '>' -f 2 ). 

Le résultat de cet ensemble de redirections nous donne ceci :

Screenshot from 2016-01-28 10-33-53

Il nous suffit de mettre tout ça dans une variable que nous appellerons $pass , d’afficher le résultat avec la commande echo (Veillez bien à mettre des apostrophes inversées. Faciles à trouver sur QWERTY et sur Mac, Alt Gr + 7 sur clavier PC AZERTY), de lancer OpenVPN de la même manière que nous l’avons fait tout à l’heure et d’effacer le fichier « freevpn » obtenu tout à l’heure avec la commande rm. Le résultat final nous donne donc ceci :

Screenshot from 2016-01-28 10-43-19

Vous pouvez donc taper ce code avec votre éditeur de texte favori et l’enregistrer dans un fichier (que j’ai appelé « passvpn » mais vous pouvez choisir un autre nom) que vous placerez dans le dossier /usr/bin/ .

Remarque : Vous avez certainement vu que j’ai entré le nom d’un des 4 fichiers en dur dans le code, c’est pour simplifier au maximum le lancement du VPN. Mais nous pourrions très bien imaginer le même script qui prendrait en paramètre le fichier .ovpn que nous voulons utiliser. Il faudrait alors penser à les renommer afin d’en facilier la saisie lors de l’exécution. Par exemple on peut garder seulement la fin : udp25000.ovpn qui est plus facile à retenir et à taper.

Il ne reste plus qu’à lancer la commande Screenshot from 2016-01-28 10-48-01 (ou le nom que vous avez choisi) et à suivre les indications affichées dans le terminal. Le mot de passe de VPNBOOK s’affichera en haut de la fenêtre et la suite est comme la méthode manuelle vue plus haut.

Screenshot from 2016-01-28 10-52-03

Désormais, vous pourrez vous connecter en quelques secondes sans sortir du terminal.

Cliquez ici pour télécharger le script.

 

Laisser un commentaire

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