Cambiar clave Wifi aleatoria y envío por correo al pulsar botón del ratón en Openwrt

clavealeatoria

Objetivo: Al pulsar con el botón izquierdo del ratón cambiará la clave WIFI del router y nos la enviará por correo electrónico a la dirección de correo que deseemos.

Paso 1 – Instalar paquetes necesarios.

instalamos paquete de envío de correo (ssmtp), aplicación para reconocer eventos del ratón (triggerhappy) y módulo para que reconozca el ratón (kmod-usb-hid)

opkg update; opkg install ssmtp triggerhappy kmod-usb-hid

Paso 2 – Creación del script que cambia la clave wifi y envía correo.

touch /usr/bin/genpasswifi
chmod +x /usr/bin/genpasswifi
nano /usr/bin/genpasswifi

e introducimos lo siguiente:

#!/bin/sh

CORREO_ENVIO="<correodeljefe>@gmail.com"

# Genera passwords de 8 letras minúsculas con número quitando las visualmente confundibles.
PASSWORD=$(cat /dev/urandom | tr -dc 'abcdefhijklmnprstuvwxyz23456789' | head -c8);

#Comando para cambiar password por la clave generada
uci set wireless.@wifi-iface[0].key=$PASSWORD

#Comandos para hacer efectivos los cambios en wifi
uci commit wireless; wifi

echo -e "To: $CORREO_ENVIO\nFrom: $CORREO_ENVIO\nSubject:Nueva Contraseña Wifi\n\n$PASSWORD" >  /tmp/correo.txt
ssmtp $CORREO_ENVIO < /tmp/correo.txt

Paso 3 – Configurar correo.

Editamos el fichero de configuración para que pueda enviar correos.

nano /etc/ssmtp/ssmtp.conf

Quitamos lo que tiene y lo sustituimos por esto variando lo que está en rojo con la información de la cuenta de correo que va a enviar los mensajes.

hostname=MIROUTER
root=micorreo@gmail.com
AuthUser=micorreo@gmail.com
AuthPass=mipassword_de_correo
UseSTARTTLS=YES
mailhub=smtp.gmail.com:587
FromLineOverride=YES
UseTLS=YES

Utilizando una cuenta de correo de gmail, debes habilitar lo siguiente para poder enviar correos con ella en el siguiente sitio: https://www.google.com/settings/security/lesssecureapps.

Paso 4 – Configurar Triggerhappy

Haremos que actúe al pulsar el botón izquierdo del ratón. Para ello crearemos un fichero llamado /etc/triggerhappy/triggers.d/botones.conf

De un tirón lo haremos con esta sentencia:

echo -e "BTN_LEFT\t\t1\t\t/usr/bin/genpasswifi" > /etc/triggerhappy/triggers.d/botones.conf

A continuación CON EL RATÓN CONECTADO iniciamos el triggerhappy y hacemos que arranque al iniciar el router:

/etc/init.d/triggerhappy start
/etc/init.d/triggerhappy enable

 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *