🐋
Apuntes Sistemas
  • ⚓Presentación
  • 📊Sistemas y Servidores
    • Personalizar el prompt de Windows
    • Utilidad de manejo de apps para Windows
    • PRACTICA: Arranque dual Windows y Ubuntu
    • 🚧SysLinuxOS: el SO para ASIX
    • Comandos Linux
      • PRACTICA - Ejercicio de práctica comandos
      • 🚧Instalación de paquetes
      • Apuntes Linux: blue/red team
      • Ejemplos de bash
      • Listado de comandos de Linux
    • Comandos Windows
      • 🚧Apuntes Powershell
      • Bucles FOR con batch
      • Scripts de práctica de Windows
    • Prácticas con Windows 10
    • Configuración de netplan
    • Terminal shell
      • SSH
      • 🚧Ghostty
      • 🚧Warp: la terminal inteligente
      • tmux: paneles de terminal
      • Tabby: Mejorar terminal
      • Conexión SSH en red NAT con VirtualBox
      • TheFuck!: Corrección de comandos
      • Wave: Mejorar terminal Linux
      • 🚧Registros de sesiones
    • Instalación manual de Wordpress en CDMON
    • 🏗️Proxmox
    • 🚧TrueNAS
    • Docker
      • Instalación de Docker
      • Dockerfiles
      • Volúmenes de docker
      • Deployment web con Docker con ejemplos
        • 🚧PRACTICA: Node.js con docker
      • Docker Compose
        • Ejemplo 1: Implantación de Wordpress
        • Ejemplo 2: Implementación de servidor con Nginx, Flask y mySQL
        • Ejemplo 3: Implantación de onlyoffice
        • 🚧Ejemplo 4: Passbolt
        • 🚧PRACTICA: Creando una web de emulación de juegos con docker-compose
      • Monitorización con Grafana en Docker
      • Pi-hole con docker
      • Actividad clase: Deployment app
      • Proyectos self-hosted de docker
    • 🚧Ansible
      • Configuración de laboratorio de ansible
    • 🚧Monitorización de servicios y redes
      • Servicios y cronjobs
      • 1Panel
      • 🚧WatchYourLAN
      • 🚧Uptime-kuma
      • 🚧Netdata
      • 🚧Prometheus + Grafana + Loki
    • LDAP
      • 🚧Gestión gráfica de LDAP
      • Carpetas compartidas NFS
      • PRACTICA: Infraestructura LDAP
  • 🗃️Servicios
    • 🚧Servidor hosting público
    • DHCP
      • DHCP con Ubuntu
      • 🦖DHCP & DNS script
      • DHCP con Alpine
        • Alpine - configuración de red
    • DNS
      • 😡Comprobación DNS
      • Script para enumeración DNS
      • DNS con ubuntu server
      • 🏗️DNSmasq
      • 🚧Securizar servidor DNS
    • Web
      • IIS con Windows server
      • Apache
        • Instalación de LAMP en Ubuntu
          • Prueba de servidor LAMP
          • 🚧Configuración de seguridad de Ubuntu
          • Creación de un VirtualHost en LAMP
          • Creación de varios VirtualHosts en LAMP
          • 🚧Instalación por script de LAMP
        • Aplicaciones con LAMP
          • Instalación de WP en entorno LAMP
          • 🚧Instalación de MantisBT en LAMP
            • 👷Guía de MantisBT
          • 🚧Instalación de QDPM con LAMP
      • Nginx
        • Virtualhosts
        • Instalando Wordpress en nginx
      • 👷MEAN stack
      • 👷‍♂️Caddy
      • 🚧Plesk
      • 🚧Ajenti -Web interface
    • 🏗️Proxy
      • Nginx como proxy inverso y balanceador
      • 🚧Zoraxy
    • Mailing
      • 🚧Servidor Mail con cloudfare
      • 🚧Reenvío de correos de root
      • 🚧Roundcube como MUA
      • Comprobación ESMTP
      • 🚧Seguridad en mailing
      • 🚧Mailhog
    • 🏗️File transfer
      • 🚧FTP
      • Git
    • Sistemas de comunicación instantánea
      • Comunicación mediante CLI
      • Ejabberd - XMPP
        • 🚧Ejabberd con docker
      • 🚧Openfire - XMPP
      • 🚧Comunicaciones servidor-móvil
    • 🏗️Multimedia services
      • Stremio
      • Ver anime por CLI
      • Jellyfin
      • 🚧HLS sobre Apache
      • 🚧Servicio autohospedado de videoconferencia
      • 🚧Morphos: Conversor docs
      • 🚧Reproductores de música en CLI
      • 🚧Icecast - música en streaming
      • 🚧RTMP-HLS server
      • 🚧Guacamole
  • 🖱️Hardware
    • 🚧Identificando conectores
    • Curso de electrónica analógica
    • Alcanzar los 3200MHz con la RAM
    • Calculadora de cuellos de botella
    • 🚧PXE: Bootear sistemas en red
    • 🚧PRÁCTICA - Clonación de disco con Clonezilla
    • Logitech iFixit
  • 🕸️Redes
    • Apuntes IPv4 Alina
    • ¿Cómo diferenciar tantos elementos de red?
    • 🚧IPv6
    • PRÁCTICA - Subneteo con IPcalc en Linux
    • PRÁCTICA - Comandos de red en Windows
    • 🚧PRÁCTICA - Comandos de red en Linux
    • Herramientas de red
      • 🚧TCPDump: analizado de paquetes en red
      • PRÁCTICA - Netsh
      • 🚧PRÁCTICA - mtr.ping.pe
      • 🚧Netcat
    • Wireshark
    • VPN y escritorio remoto
      • Comunicación punto a punto con ngrok
      • 🚧VPN
    • Escaneo de red
      • PRÁCTICA - Mapeado de red con Draw.io
      • 🚧PRÁCTICA - Nmap/Zenmap
    • Redes inalámbricas
      • Wi-fi
        • 🚧PRÁCTICA - Configuración de router
        • 🚧PRÁCTICA - Como hacer un Wifi Heatmap
        • 🚧Seguridad de redes inalámbricas
        • PRÁCTICA - Crackear la contraseña del Wifi con WPA/WPA2
    • PRÁCTICA - Usar SSH en Cisco packet tracer
  • 🛑Ciberseguridad
    • 🚧Securizando un servidor Linux
      • Protégete de ataques de fuerza bruta con Fail2ban
      • Firewall
        • UFW (uncomplicated firewall)
          • GUFW - Interfaz gráfica de ufw
        • 🚧IPTables
        • 🚧PFsense
          • 🚧DMZ con PFsense
      • 🚧Passbolt: gestor de contraseñas autohospedado
      • 🚧Hashes y encriptación
      • 🚧Certificados SSL/TLS
      • Copias de seguridad
    • 🚧Alerta de escaneo de puertos
    • 🚧Google dorks
    • 🚧Enumeración DNS
    • Comandos destructivos de linux
    • Webs enseñanza cyber
    • Wireless Pentesting CheatSheet Github
    • The password game!
    • Personal Security Checklist
  • 🔌Arduino
    • Termómetro e higrómetros digitales y online con Arduino
    • Construyendo un coche multipropósito
      • Multi
      • Montaje del auto
    • Arduino con Sigfox para IoT
    • 10 proyectos de Arduino
  • 📚Recursos y libros
    • Media library: libros varios
    • Herramientas básicas de sysadmin
  • 🌍Sostenibilidad y digitalización
    • Portfolio curso digitalización MOOC
    • 🚧Explotación de recursos por IA
    • 🚧Nuevas tecnologias y comunicaciones
    • 🚧Enlaces sobre Inteligencia artificial
Con tecnología de GitBook
En esta página
  • Pushover
  • Ntfy
  • Gotify
  1. Servicios
  2. Sistemas de comunicación instantánea

Comunicaciones servidor-móvil

AnteriorOpenfire - XMPPSiguienteMultimedia services

Última actualización hace 2 meses

Pushover

es una aplicación de notificaciones en tiempo real que permite recibir alertas en dispositivos móviles y de escritorio. Está diseñada para integrarse con sistemas, servidores y aplicaciones mediante una API sencilla, permitiendo enviar notificaciones push desde scripts, herramientas de monitorización (como Nagios o Zabbix) y otras plataformas automatizadas.

Características principales:

  • Compatible con iOS, Android y navegadores web.

  • API fácil de usar para integraciones con sistemas de monitoreo y automatización.

  • Soporte para prioridades y reintentos, asegurando que las alertas críticas sean atendidas.

  • Grupos y dispositivos múltiples, permitiendo recibir notificaciones en varios lugares simultáneamente.

Pushover nos da 30 dias de prueba para probar su funcionamiento por lo que más allá tendrás que pagar.

Vamos a ver como configurar una notificación al móvil paso por paso:

  1. Primero, regístrate en la web para que te de el token de usuario (user key):

  1. Crea un token de aplicación:

Al completar el proceso, arriba del todo del dashboard, tendrás el token de la app.

  1. Con ambos token crea un script:

sudo nano pushover_app.sh

Añádele el siguiente script con el token de la API y el username que hayas creado:

#!/usr/bin/env bash
# Este script mandará notificaciones a nuestro movil siguiendo la API
# Establecemos las variables:
_token='YOUR-API-TOKEN-HERE'
_user='YOUR-USER-KEY-HERE'
# Crearemos una función de bash para mandar notificaciones: 
push_to_mobile(){
	local t="${1:-cli-app}"
	local m="$2"
	[[ "$m" != "" ]] && curl -s \
	  --form-string "token=${_token}" \
	  --form-string "user=${_user}" \
	  --form-string "title=$t" \
	  --form-string "message=$m" \
	  https://api.pushover.net/1/messages.json
}

curl -s \
	  --form-string "token=aapnufyw99mwusvntmfygojq5abnmg" \
	  --form-string "user=ux8v6ivs1zjguy9cfm76hcedzyyazi" \
	  --form-string "title=hola" \
	  --form-string "message=marumba" \
	  https://api.pushover.net/1/messages.json

La explicación es la siguiente:

  • Se define una función llamada push_to_mobile que toma dos argumentos:

    • $1: Título de la notificación (t), si no se proporciona, usa "cli-app" por defecto.

    • $2: Mensaje de la notificación (m).

  • Si el mensaje ($m) no está vacío, se ejecuta curl para enviar una solicitud POST a la API de Pushover:

    • --form-string "token=${_token}": Envia el API Token.

    • --form-string "user=${_user}": Envia el User Key.

    • --form-string "title=$t": Establece el título de la notificación.

    • --form-string "message=$m": Contenido del mensaje.

    • URL de la API: https://api.pushover.net/1/messages.json

A continuación, ejecutaremos el script:

source pushover_app.sh

Y lo testearemos enviando una notificación (el primer parámetro t es el título y el segundo parámetro m es el mensaje):

push_to_mobile "bash-notification" "This is a test. Job foo failed on $HOSTNAME @ $(date)"

  1. Recibirás una notificación en tu móvil a través de la app

Es posible también notificar por push y por correo a la vez (ten en cuenta que es necesario disponer de un servidor smtp, postfix por ejemplo), para ello haz uso del correo de notificaciones que te da y ejecuta el siguiente script:

#!/usr/bin/bin bash
# Variables del mail
subject="rsnapshot backup job failed at $HOSTNAME"
log_file="/path/to/my.log.txt"
from="webmaster@cyberciti.biz"
to="webmaster@cyberciti.biz"
# Arrancar diariamente un backup y generar un log
/usr/bin/rsnapshot daily  2>&1 | /root/bin/rsnapreport.pl > "${log_file}"
 
# Coger errores
status=$?
alogs="$(grep -E -wi '^ERROR:|ERROR|WARNING|WARNING:' $log_file)"
 
# Si falla, notificame
if [ $status -ne 0 ] ||  [ "$alogs" != "" ];
then
   mail -A "$log_file" -s "$subject" -r "$from" "$to" <<< "Backup script failed with error. Check attached log file"
fi

Falta probarlo!

Origen del tutorial:


Send push notifications to your phone or desktop via PUT/POST

Un servidor simple pero muy efectivo de envío y recepción de mensajes / alertas.

Descarga la aplicación de pushover en tu móvil y haz login configurando un nombre para el dispositivo:

El uso de curl -s (modo silencioso) evita que se impriman mensajes innecesarios en la consola. Puede ver más info en la .

Ntfy

Gotify

🗃️
🚧
🚧
🚧
https://pushover.net/clients
documentación
Pushover
How to push/send message to iOS and Android from Linux CLInixCraft
GitHub - binwiederhier/ntfy: Send push notifications to your phone or desktop using PUT/POSTGitHub
Gotify · a simple server for sending and receiving messages
Logo
Logo
Clica esta opción para ir al formulario de creación
Una vez aquí, rellena el formulario con los datos que consideres.
Notificación en el móvil
Logo