enviar notificaciones automáticas usando ntfy.sh
index | about | archive | charlas | docs | links
dot
|
git
|
img
|
plt
|
tty
|
uml
raspberrypi
Tengo una raspberrypi
1 que uso para hostear una
versión en gemini
de mi blog en gemini://gmi.osiux.com
2
y también la utilizo para realizar backups.
El problema es que a veces, se corta la luz y como el disco externo esta cifrado 3, debo acceder remotamente e ingresar la passphrase para montarlo nuevamente, pero para realizar esto, antes necesito 2 cosas:
- Enterarme inmediatamente
- Saber la nueva IP pública
Para resolver estos 2 problemas, estoy usando ntfy.sh
[fn:ntfy.sh], un
servicio de notificaciones basado en HTTP pub-sub
4.
ntfy.sh
ntfy.sh
es muy simple de usar, basta con realizar un request usando
curl
especificando un mensaje y un tópico, por ejemplo b4kup
y es
posible consultar las novedades accediendo a ntfy.sh/b4kup
sin
necesidad de autenticarse, es decir que el tópico elegido es público si
utilizamos el servicio de ntfy.sh
aunque podemos tener nuestra propia
instancia Self Hosted 5
enviar notificación
Es lo mas simple, solo hay que definir el tópico y se puede usar curl
de la siguiente manera:
curl -d Backup ntfy.sh/b4ckup
Y obtendremos un JSON con el id y un timestamp
{ "id": "DPqB7xNFT0jj", "time": 1672629273, "event": "message", "topic": "b4ckup", "message": "Backup" }
Es posible indicar un título (Title
), definir la prioridad
(Priority
) y especificar una o mas etiquetas (Tags
), además de
obviamente lo importante, el mensaje:
curl \ -H "Title: Backup" \ -H "Priority: urgent" \ -H "Tags: backup" \ -d "FAILED" \ https://ntfy.sh/b4ckup
También es posible usar el CLI 6, pero no es
imprescindible para el envío y eso es lo que mas me interesó de esta
herramienta porque curl
esta disponible en todo tipo de dispositivos!
ntfy pub b4ckup test
recibir notificaciones
Para recibir notificaciones se puede usar el CLI y recibirlas al vuelo
ntfy subscribe b4ckup
O usar el servicio y suscribirse a varios tópicos definiendo la
configuración en el archivo /etc/ntfy/client.yml
Para el teléfono espía, lo mejor es utilizar la app ntfy
de
f-droid
7 ya que podremos suscribirnos a varios tópicos y
recibirlas al instante, pudiendo definir ajustes diferentes para cada
suscripción como el mínimo de prioridad a mostrar, cuánto tiempo
mantener las notificaciones, etc.
ntfy-bash-utils
Como siempre, cada vez que encuentro una herramienta, decido armar mis
scripts de utilidades en BASH y publicarlos, en este caso en el
repo ntfy-bash-utils
8
ntfy-msg.sh
Permite enviar una notificación, usando por defecto como título el
FQDN del equipo y como tópico lo mismo pero seudo leet 9,
por ejemplo server.example.com
se transformará en 53rv3r3x4mp13c0m
Se pueden redefinir las variables por defecto usando las variables de
entorno PRIORITY
, TAGS
, TITLE
y TOPIC
.
tfy-msg.sh test
ntfy-ipinfo.sh
Notifica la IP pública, sólo si esta cambió desde la última vez que se
ejecutó ntfy-ipinfo
, la misma la obtiene desde ipinfo.io
10
ntfy-mountpoint.sh
crontab
Y para asegurarme que todo se ejecute solito y solo uso crontab :)
*/10 * * * * /root/bin/ntfy-ipinfo.sh >/dev/null */5 * * * * MOUNTPOINT=/mnt/barracuda /root/bin/ntfy-mountpoint.sh >/dev/null @reboot sleep 30 && /root/bin/ntfy-uptime.sh >/dev/null
ChangeLog
2023-02-16 13:30
corregir links de previews de imágenes de enviar notificaciones automáticas usandontfy.sh
2023-02-16 12:46
actualizar imágenes de enviar notificaciones automáticas usandontfy.sh
2023-02-15 22:57
agregar enviar notificaciones automáticas usandontfy.sh
Notas al pie de página:
gemini://gmi.osiux.com=