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

Spécialité(s)


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...

Cet article est réservé aux abonnés. Il vous reste 96% à découvrir.
S'abonner à Connect
  • Accédez à tous les contenus de Connect en illimité
  • Découvrez des listes de lecture et des contenus Premium
  • Consultez les nouveaux articles en avant-première
Je m'abonne


Article rédigé par

Abonnez-vous maintenant

et profitez de tous les contenus en illimité

Je découvre les offres

Déjà abonné ? Connectez-vous