L’art de l’efficacité : Automatiser les tâches récurrentes

Récemment, lors d’un entretien pour une société de cybersécurité, j’ai parlé de mes vieux scripts, principalement écrits en Bash. Et j’ai redécouvert un script très court qui a une histoire et qui montre comment une petite paresse peut mener à l’écriture de code. Lorsque vous voulez coder quelque chose mais que vous ne savez pas quoi faire, parce que « ceci ou cela existe déjà donc c’est inutile », cela peut être un bon point de départ.

Depuis 2013, un VPN gratuit est disponible pour tous, vpnbook.com (Mais soyez prudent lorsque vous utilisez un VPN gratuit). Ils fournissent quelques fichiers ovpn pour les connexions TCP et UDP. Un nom d’utilisateur et un mot de passe pour se connecter à leur VPN sont affichés sur la même page, vous devez les utiliser sur votre client VPN pour obtenir l’accès.

En 2016 lorsque j’ai découvert ce site, il était encore possible à l’époque de copier/coller le code, il était écrit en texte comme vous pouvez le voir si vous essayez de le sélectionner sur cette archive prise à la même période : Free VPN Accounts • 100% Free PPTP and OpenVPN Service (archive.org)

Homepage on vpnbook.com archived on the Wayback Machine showing 3 columns: free pptp vpn, free openvpn and donate

A cette époque, parce que j’en avais marre d’ouvrir le navigateur web ou un nouvel onglet pour aller sur cette page tous les jours, de copier le mot de passe écrit en bas de page, d’ouvrir un terminal, d’exécuter OpenVPN puis de coller le mot de passe (qui n’était valable que pour quelques jours, le nom d’utilisateur étant toujours le même), j’ai décidé de simplifier les choses.

Il était possible de sélectionner le texte avec le pointeur comme on peut le voir ci-dessous, ce qui signifie qu’il était possible de le saisir directement dans le code source.

Focus on the credentials, in 2016 the password can be selected with the mouse

Ensuite, lorsque la page web était ouverte, vous deviez la copier avec Ctrl+C ou un clic droit et l’option « Copier », et la coller dans votre client VPN, qu’il s’agisse d’une interface de ligne de commande ou d’un mode GUI.

J’ai donc écrit un petit script pour récupérer le mot de passe et exécuter le CLI OpenVPN d’une traite : passvpn (Ce profil Github est mon ancien profil, auquel je ne peux plus accéder. Le nouveau est ici).

Le but de ce script était de capturer le mot de passe en utilisant deux expressions régulières simples. Premièrement, il récupère le code source avec wget, et deuxièmement, il recherche le mot « Password » dans le code source HTML. Pour le trouver, il recherche le troisième symbole « moins que » (<) en utilisant la commande cut (cut -d '<' -f 3), recherche le deuxième symbole « plus que » (>) toujours avec la commande cut (cut -d '>' -f 2), et récupère la chaîne écrite entre les deux.

Screenshot of the short code written for getting automatically the password, it's made with a wget command for getting the source code, a variable created and contaning cat, grep, cut, cut and uniq commands, and an echo command for showing the captured password
screenshot showing the source code and explaining how the cut commands delimit the password

Ainsi, en exécutant ce script, le mot de passe était affiché directement dans le terminal avant d’exécuter OpenVPN. Je n’avais plus qu’à taper le passcode écrit en haut.

A titre d’exemple, je viens d’adapter le script pour obtenir le code source de la version archivée de VPNBook, mentionnée ci-dessus, sur la Wayback Machine (L’avertissement pour la méthode dépréciée dans le fichier ovpn n’était pas affiché en 2016).

Screenshot showing the captured password, the initial script has been adapted for getting the password on the Wayback Machine version

Depuis quelques années, ce script n’est plus utilisable, car VPNBook a fait un changement invisible sur leur site web. La police utilisée pour la chaîne de caractères est similaire mais elle est maintenant affichée sous forme d’image, comme on peut le voir si on essaie de sélectionner le mot de passe sur le site actuel.

Screenshot showing that the credentials can not be selected with the mouse anymore on VPNBook's new homepage, an image shows the text composing the password, it's not directly written anymore

Est-ce une coïncidence ou ont-ils modifié leur page à cause de mon script ? Je n’ai jamais eu de réponse claire à ce sujet, mais il serait amusant que je leur fasse modifier leur page à cause de ma paresse pour les choses récurrentes. La raison de cette modification pourrait être de nous forcer à visiter leur site web et d’afficher leurs publicités, même si je n’en ai jamais vu aucune, et/ou de nous amener au formulaire de don sur le côté droit de la page web, peut-être.

Soyez paresseux, soyez créatifs et essayez d’automatiser toutes les actions répétitives de votre vie quotidienne.

Laisser un commentaire

Votre adresse e-mail 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.

Creative Commons License CC BY-SA 4.0