NoIP.com offre un ottimo servizio di DNS dinamico gratuito che però va rinnovato ogni 30 giorni manualmente, uno dei vincoli che limita l’uso se non si intende pagare alcunché. Se però si mette in gioco Python con Selenium e Chrome headless mode si ottiene un risultato automatizzato che fa tutto questo al posto tuo con un Raspberry. Ti spiego come.
NoIP-Renew
Il progetto originale è di uno sviluppatore cinese che su GitHub si registra con il profilo LobLab, ciò che io ho fatto è stato semplice: creare un nuovo fork, testare il tutto su Raspberry modificando lo script di setup dove necessario e localizzare le istruzioni. Fatica pressoché zero per un lavoro che già funziona meravigliosamente, spiegato in un articolo sul blog del suo sviluppatore (in cinese) che ti toccherà far tradurre da Google in inglese (o italiano se preferisci) ammesso tu voglia approfondire.
Trovi tutto ciò che ti serve all’indirizzo github.com/gioxx/rpi-noip-renew, puoi lanciare da Terminale un git@github.com:gioxx/rpi-noip-renew.git
e attendere che termini. A questo punto:
- Modifica il file
noip-renew.sh
inserendo le tue credenziali di accesso a noip.com e specifica il numero di host che hai creato e che vuoi tenere attivi. Un esempio?USERNAME="mario.rossi@gmail.com"
conPASSWORD="pa$$w0rd"
eNUM_HOSTS=1
(ammesso tu abbia un solo DNS dinamico registrato). - Avvia
setup.sh
e attendi che termini il download e l’installazione di quanto necessario, conferma eventuali domande a video quando richiesto. - Avvia
noip-renew.sh
, apri e verifica – nella stessa cartella dello script – il file immagineresult.png
se lo script termina senza errori oerror.png
se lo script termina con errori, questo ti permetterà di dare un’occhiata a quello che la sessione di Chrome headless mode ha fatto al posto tuo simulando i movimenti del tuo mouse e tastiera come se tu ti fossi trovato davanti al monitor e sito web di NoIP.com.
Io ho messo alla prova il tutto dapprima manualmente, poi con Crontab per far sì che RPi eseguisse lo script in maniera del tutto autonoma a intervalli regolari che ho stabilito nella modalità “At 03:45 on Monday, Wednesday, and Friday.” (crontab.guru/#45_3_*_*_1,3,5). Il risultato? Te lo mostro.
Noterai che nell’ultima immagine il rinnovo è stato eseguito proprio alle 3:45 di un lunedì, l’ultimo accesso al pannello (quando il DNS dinamico era in scadenza, vedi la prima delle tre immagini qui sopra) è stato eseguito sempre alle 3:45 del venerdì prima, quando il dominio era sì in scadenza, ma non ancora ufficialmente lamentato dal pannello di controllo (sul sito web) e dalla solita email promemoria inviata all’indirizzo di posta elettronica associato al mio utente.
Un lavoro ben eseguito che ti permette così di non perdere il tuo DNS dinamico, non facendoti però vivere patemi d’animo per stare lì ogni mese a rinnovarlo manualmente. In caso di dubbi non esitare a lasciare un commento nell’area apposita qui di seguito (non serve registrarsi a Disqus, puoi sempre commentare come ospite).
Buona giornata!
L'articolo potrebbe non essere aggiornato
Questo post è stato scritto più di 5 mesi fa, potrebbe non essere aggiornato. Per qualsiasi dubbio ti invito a lasciare un commento per chiedere ulteriori informazioni! :-)