6.5 KiB
title: UpSnap created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, networking, wake-on-lan, wol, homelab, go, dashboard] confidence: high contested: false sources: [https://selfh.st/apps/?tag=networking, https://github.com/seriousm4x/UpSnap]
⚡ UpSnap
Wake-on-LAN web UI simple et élégante : réveillez ou éteignez à distance n'importe quelle machine de votre LAN depuis un navigateur, planifiez des extinctions automatiques, surveillez la connectivité. Le compagnon idéal d'un homelab à accès intermittent.
| Métadonnée | Valeur |
|---|---|
| Site web | upsnap.aaanh.com |
| GitHub | seriousm4x/UpSnap |
| License | MIT |
| Langage | Go (Svelte embarqué) |
| Étoiles | 2 260 ⭐ |
| Dernière MAJ | 2026-05-08 |
| Catégorie | cat-networking |
Description
UpSnap est un serveur Wake-on-LAN avec une interface web soignée. Au lieu d'utiliser wakeonlan en CLI ou une app mobile douteuse, vous disposez d'un dashboard self-hosted qui liste toutes vos machines (PC, NAS, serveur, imprimante…), envoie des paquets magiques WOL, vérifie la connectivité (ping, port TCP), et permet l'extinction distante (SSH, agent) sur les OS qui le supportent.
Le cas d'usage typique : vous avez un serveur de app-jellyfin dans le salon, un NAS Synology dans le bureau, un PC gaming sous Windows. Plutôt que de les laisser tourner 24/7 (facture électrique, usure), vous les éteignez et UpSnap les réveille à la demande, depuis votre canapé, votre téléphone, ou un raccourci Home Assistant. La planification d'extinction (cron) complète le dispositif : le NAS s'éteint à 2h du matin s'il n'y a aucun client actif, se rallume 18h plus tard.
UpSnap supporte les machines Linux, Windows et macOS. Pour l'extinction distante, l'approche privilégiée est SSH + sudo shutdown (Linux/macOS) ou un agent léger sur Windows. Les paquets WOL fonctionnent en UDP broadcast sur le sous-réseau — UpSnap a besoin d'être sur le même LAN (ou routé correctement) que les machines à réveiller.
Installation
Docker Compose (recommandé)
# docker-compose.yml
services:
upsnap:
image: ghcr.io/seriousm4x/upsnap:4
container_name: upsnap
restart: unless-stopped
network_mode: host # nécessaire pour broadcast WOL
environment:
- UPSNAP_USER=admin
- UPSNAP_PASSWORD=CHANGE...ME
- UPSNAP_PORT=8090
volumes:
- upsnap-data:/app/persistent
- /etc/localtime:/etc/localtime:ro
volumes:
upsnap-data:
⚠️
network_mode: hostest indispensable : les paquets magiques WOL sont des UDP broadcast que Docker en mode bridge ne relaie pas par défaut.
Installation manuelle (Linux)
wget https://github.com/seriousm4x/UpSnap/releases/latest/download/upsnap_linux_amd64
chmod +x upsnap_linux_amd64
./upsnap_linux_amd64 --port 8090
# Service systemd :
sudo tee /etc/systemd/system/upsnap.service <<EOF
[Unit]
Description=UpSnap WOL server
After=network-online.target
[Service]
ExecStart=/opt/upsnap/upsnap_linux_amd64 --port 8090
Restart=always
User=upsnap
[Install]
WantedBy=multi-user.target
EOF
Configuration
La configuration se fait entièrement dans l'UI web : ajout de machines avec IP, MAC, broadcast, OS. Pour l'extinction SSH (Linux) :
# Sur la machine cible (Linux), autoriser shutdown sans mot de passe :
sudo visudo
# Ajouter :
velli ALL=(ALL) NOPASSWD: /sbin/shutdown
API REST exposée (token Bearer) :
# Réveiller une machine
curl -X POST http://upsnap.local:8090/api/v1/wake/devices/42 \
-H "Authorization: Bearer ${TOKEN}"
# Lister les machines
curl http://upsnap.local:8090/api/v1/devices \
-H "Authorization: Bearer ${TOKEN}"
Intégrations notables :
- Home Assistant — services
wake_on_lannatif, automation à partir d'un sensor UpSnap - Telegram bot —
/wake nasdepuis n'importe où (avec WireGuard en amont) - Grafana — visualiser uptime/historique via Prometheus exporter tiers
Alternatives
Open Source
- wakeonlan (CLI) — référence Linux, sans UI
- Home Assistant WOL integration — basique, sans dashboard dédié
- Netdata + WOL script — DIY
- OpenWRT WOL page — sur le routeur lui-même
- php-wake-on-lan — minimaliste PHP
- MagicPacket — script Python, pas d'UI
Propriétaire (ce que UpSnap remplace)
- Depicus WOL — web hosted (fermé), peu fiable
- TeamViewer Wake-on-LAN — payant, dépend de l'infra TeamViewer
- Fing / Network Toolbox — apps mobiles avec freemium agressif
- Wake On Lan (ch.metanet) — app mobile payante
- Auvik WOL — inclus dans NMS entreprise
Sécurité
- Auth obligatoire : activez user/password (ou mieux, mettez UpSnap derrière app-authentik via reverse-proxy).
- LAN-only par design : ne jamais exposer UpSnap sur Internet. Les paquets WOL ne traversent pas les routeurs (sauf config explicite).
- Pour accès distant : passer par un VPN (app-wireguard) ou un tunnel SSH — pas d'exposition directe.
- HTTPS : si vous l'exposez via reverse-proxy (app-caddy/Traefik), forcer TLS.
- Cible SSH : utiliser un compte dédié, désactiver root, restreindre
/sbin/shutdownvia sudoers. - MAC spoofing : WOL n'authentifie pas la machine. Un attaquant ayant accès au LAN peut réveiller n'importe quelle machine dont il connaît la MAC. Considérez cela.
- Logs : activer l'audit pour tracer qui réveille quoi (utile en cas d'intrusion suspecte).
- BIOS/UEFI : vérifier que le WOL est activé sur la cible (« Wake on LAN: Enabled » dans Power options) ET que le câble Ethernet reste alimenté en veille.
Ressources
Pages Liées
- cat-networking — Catégorie parente
- cat-dashboard — Catégorie transversale
- app-home-assistant — Intégration WOL native
- app-wireguard — Pour accès distant sécurisé
- app-caddy ou app-traefik — Reverse-proxy HTTPS
- recettes-docker-compose
- homelab-economies-energie — Optimisation consommation