2 votes

Comment puis-je exécuter un script shell lorsqu'un WiFi est connecté ?

J'ai un script shell très simple, qui ajoute simplement une route à ma machine de développement interne. C'est utile, car cette machine contient quelques conteneurs LXC, ce qui me permet d'accéder à tous mes conteneurs depuis mon téléphone portable (pour tester des sites web depuis un navigateur mobile, ou des comptes SIP Asterisk depuis CSipSimple).

#!/system/bin/sh
su -c "ip route add 10.0.3.0/24 via 192.168.0.200 dev wlan0"

Pour utiliser cette règle, j'ai créé une nouvelle connexion locale sur ConnectBot, avec le nom du script comme commande de connexion. Cela fonctionne très bien.

Mais je suis trop paresseux. Je veux juste savoir s'il existe un moyen d'appliquer ce script, dès que je me connecte automatiquement au WiFi de ma maison. Peut-être quelque chose pour exécuter un script à chaque changement de réseau, comme je pourrais vérifier à partir du même script si je suis connecté à mon WiFi domestique en utilisant dumpsys et un peu de magie grep.

2voto

Milner Points 533

Matthieu a déjà indiqué tasker pour cette tâche (euh) - une application que j'utilise déjà depuis des années. Je vais donc ajouter les étapes pour y parvenir. Évidemment, une condition préalable est que l'appareil soit enraciné - mais la su La commande dans la question me dit que c'est le cas. Alors voilà :

  • Condition : Etat ' Net ' WiFi Connecté
    Comme paramètre, incluez le SSID de votre réseau WiFi, afin qu'il ne se déclenche pas sur des réseaux étrangers :)
  • Tâche : Script ' Exécuter le Shell
    Ici, vous ajoutez le nom du script à exécuter (chemin complet), précédé d'un point d'exclamation (pour indiquer qu'il doit être exécuté en tant que Root)

Cela devrait le faire. Je ne l'ai pas testé moi-même, car je n'ai pas de routes à ajouter :)

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X