Enviar y reicibir notificaciones de Telegram desde la línea de comandos

Utilizando tg, podemos enviar y recibir mensajes de nuestros contactos en Telegram, incluyéndonos a nosotros mismos, desde el terminal. Envíos programados Combinándolo con expect, conseguiremos una forma sencilla de programar notificaciones. He aquí un pequeño ejemplo: #!/usr/bin/env bash function tg { # First argument, if any, must be the receiver local to="$1" local msg="" local cmd="" if [ $# -gt 1 ]; then shift 1 msg="$@" else while read line; do if [ -z "$msg" ]; then msg=$line else msg="$msg\n$line" fi done if [ -z "$to" ]; then to=$(awk '{print $1}' <<< $msg) msg=$(awk '{$1="";print $0}' <<< $msg) fi fi if [[ $msg =~ "\n" ]]; then file=$(mktemp) echo -e "$msg" > $file cmd="send_text $to $file" else cmd="msg $to $msg" fi #echo $cmd expect -c " log_user 0 match_max 100000 spawn /path/to/telegram -k /path/to/tg-server.pub expect \"User \" send -- \"$cmd\r\" expect \"Sent\" send \"quit\" " } tg $@ Algunos ejemplos de uso: ...

May 31, 2014 · 3 min · 432 palabras · Nacho Cano

Reiniciar el router desde el terminal

De vez en cuando, necesitamos reiniciar nuestro router. Por ejemplo, para provocar un cambio de IP, si tenemos IP dinámica. Podemos acceder al panel de administración del router mediante el navegador, normalmente en el puerto 80 u 8080, aunque también es posible hacerlo a través de telnet, en el puerto 22. Para hacer más sencillo este trámite, utilizaremos un script que se conecta por telnet al router, introduce el usuario y la contraseña y lo reinicia mediante el comando reboot. Esto dependerá de cada modelo de router en concreto, pero creo que funciona para un gran número. En principio, no es posible apagarlo, sólo reiniciarlo. ...

February 9, 2012 · 3 min · 572 palabras · Nacho Cano

Conectarse por SSH utilizando expect

expect es un comando que “habla” con otros programas interactivos. Se definen unas reglas en función de lo que esperamos que nos digan esos programas y lo que queremos contestar. Un típico ejemplo es realizar una conexión a un servicio de FTP o SSH, y utilizar expect para que introduzca la contraseña por nosotros y lleve a cabo diferentes acciones. La ventaja que tiene es que podemos automatizar acciones en esos servicios. El gran inconveniente es que, si esos servicios requieren autenticación, deberemos escribir la contraseña, ya sea en un script o directamente en el terminal, pudiendo quedar reflejada en el historial. (Dependiendo de la configuración, si incluimos espacios antes de ejecutar un comando, éste no queda reflejado en el historial). ...

June 17, 2011 · 3 min · 540 palabras · Nacho Cano