← Tutti i progetti
Completato maggio 2025

NoIpClientVPN

Uno script su Raspberry Pi che tiene aggiornato un hostname DDNS No-IP con l'IP pubblico corrente, con avvisi su Telegram — così il VPN di casa resta raggiungibile anche quando l'IP cambia.

PythonRaspberry PiDDNSWireGuardCron

Il problema

La connessione di casa passa da un router su rete mobile/LTE, con un IP pubblico che cambia e che il router non aggiorna in modo affidabile sul servizio DDNS. Senza un indirizzo stabile a cui puntare, il server WireGuard di casa diventa irraggiungibile dall’esterno proprio quando serve.

Cosa fa

Ogni 5 minuti, lanciato da cron, lo script:

  1. Recupera l’IP pubblico attuale da un servizio esterno.
  2. Lo confronta con l’ultimo valore noto (tenuto in cache).
  3. Se è cambiato → aggiorna il DDNS No-IP tramite la loro API e manda un messaggio su Telegram.
  4. Se è uguale → esce in silenzio, senza fare nulla.

Così l’hostname punta sempre all’IP giusto e il client WireGuard può usarlo come endpoint, senza toccare la configurazione del router.

Dettagli

Stack

Python · Raspberry Pi · cron · API No-IP · WireGuard · Telegram