Exécutez des commandes Shell depuis vos scripts Tampermonkey/Greasemonkey

Magazine
Marque
GNU/Linux Magazine
Numéro
230
Mois de parution
octobre 2019
Domaines


Résumé
Lorsque l'on crée des scripts Tampermonkey ou Greasemonkey [1], on peut se retrouver confronté à un problème de taille : comment accéder aux ressources locales ? Comment lire un fichier ou le modifier ? Les mécanismes de sécurité des navigateurs web ne permettent pas ce genre d'opérations, mais on peut les contourner...

Pour pouvoir exécuter des commandes Shell depuis TamperMonkey ou GreaseMoney, il va nous falloir « ruser ». En effet, les navigateurs web n'autorisent pas l'accès aux ressources locales (et heureusement !). Or, si nous voulons créer un script capable de créer un fichier par exemple, il faut pouvoir passer outre ces restrictions. Pour cela, nous allons créer un petit serveur (par exemple ici, en Python avec Flask) qui sera appelé par notre script JavaScript et qui exécutera la commande, ce qui permettra de contourner les mécanismes de sécurité du navigateur. La seule contrainte sera d'avoir le serveur actif, lorsque l'on exécute notre script Tampermonkey…

Dans la suite de l'article, j'utiliserai Tampermonkey, mais tout fonctionnera exactement de la même façon avec Greasemonkey.

1. Le squelette du serveur

Pour démarrer, nous allons réaliser un squelette de serveur nous permettant de nous assurer que notre solution est viable. Si vous n'avez pas encore installé Flask...

Cet article est réservé aux abonnés. Il vous reste 96% à découvrir.
à partir de 21,65€ HT/mois/lecteur pour un accès 5 lecteurs à toute la plateforme
J'en profite


Articles qui pourraient vous intéresser...

Notes : commentez votre navigation sur le Web

Magazine
Marque
Linux Pratique
Numéro
121
Mois de parution
septembre 2020
Domaines
Résumé

Développée par Mozilla Firefox, Notes est une extension pour votre navigateur web qui va ajouter un panneau latéral dans ce dernier afin que vous puissiez y apporter vos annotations lors de vos explorations sur la Toile.