2 votos

¿Cómo puedo ejecutar un shell script cuando se conecta algún WiFi?

Tengo un shell muy simple script, que simplemente añade una ruta a mi máquina de desarrollo interna. Esto es útil, ya que esa máquina tiene algunos contenedores LXC dentro, por lo que puedo llegar a todos mis contenedores desde mi teléfono móvil (para probar sitios web desde el navegador del móvil, o cuentas SIP de Asterisk desde CSipSimple)

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

Para utilizar esta regla, he creado una nueva conexión local en ConnectBot, con el nombre script como comando de inicio de sesión. Esto funciona muy bien.

Sin embargo, soy demasiado perezoso. Sólo quiero saber si hay alguna forma de aplicar este script, en cuanto me conecte a la WiFi de mi casa automáticamente. Quizás algo que ejecute un script en cada cambio de red, ya que podría comprobar desde el mismo script si estoy conectado a mi WiFi de casa usando dumpsys y algo de magia grep.

2voto

Izzy Puntos 45544

Mateo ya señaló tasker para esta tarea (eh) - una aplicación que ya uso desde hace años. Así que permítanme añadir los pasos para lograr esto. Obviamente, una condición previa es que el dispositivo está rooteado - pero el su en la pregunta me dice que sí. Así que aquí vamos:

  • Estado: Estado ' Red ' WiFi Conectado
    Como parámetro, incluye el SSID de tu red WiFi, para que no se dispare en redes ajenas :)
  • Tarea: script ' Ejecutar Shell
    Aquí se añade el nombre del script a ejecutar (ruta completa), precedido de un signo de exclamación (para indicar que debe ejecutarse como Root)

Esto debería servir. No lo he probado, ya que no tengo rutas que añadir :)

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X