Piero V.

Dottk Updater v1.0

Ho creato uno script che permette di usare Dot Tk come un servizio di dns per IP dinamici (come DynDNS e No-Ip).

Gli unici requisiti che ha lo script è che si usi il Dot Tk Free DNS Service e che ci sia almeno un dominio di tipo A.

Lo script esegue il login al my.dot.tk, quindi va nella pagina dei siti, cerca il link per modificare il dominio interessato, quindi controlla se l’indirizzo IP del campo A omonimo al dominio - o di tutti i campi A a proprio gusto - è uguale all’indirizzo IP in uso che ricava da una pagina web. In caso di esito negativo, lo sostituisce e poi salva. Per fare il tutto ho dovuto usare l’analisi dell’HTML della pagina.

È scritto in Python e rilasciato secondo licenza GNU GPLv2.

È molto semplice da usare, soprattutto per Linux visto che ogni distribuzione praticamente include python.

Occorre scaricare il file dottk_updater_v1.0.py e modificare l’ultima riga con email di registrazione a dot tk, password di dot tk, e il dominio che si vuole aggiornare con un qualsiasi editor di testo semplice o meglio ancora con un editor apposta per python.

Più precisamente si chiama la classe DottkUpdate(username, password, dominio, [every_a=True, [checkip_url=http://checkip.dyndns.com/]]) con i primi tre parametri obbligatori, il quarto (every_a) serve per dire se aggiornare tutti i campi a (True) o solo quello omonimo al paramotro dominio (se every_a=False) ed è True di default. Il quinto parametro (checkip_url) serve per dire a che pagina web controllare il proprio IP (di default http://checkip.dyndns.com/) e non vi consiglio di cambiarlo perché se guardate il codice della funzione HTMLDupdate.getIP, si eliminano certi caratteri e non è detto che perciò si ottenga lo stesso risultato con pagine diverse.

Per farlo funzionare su Linux basta dare il permesso di esecuzione e aprirlo come un eseguibile o come qualsiasi script della shell, sugli altri sistemi, ma anche su Linux se volete, dovete passarlo come parametro all’eseguibile di python e cioè python dottk_updater_v1.0.py. Se non avete l’interprete, vi rimando al sito di python.

Ovviamente per poter tenere aggiornato l’IP dovete metterlo in ripetizione costante, per esempio io ho messo con CRON sul mio muletto che la faccia andare ogni mezz’ora.

Altre due note sul programma: alcune cose sono inutili, tuttavia le ho messe per essere sicuri in caso di cambiamento improvviso delle pagine o di aggiunta di input magari hidden… Anche se ha del superfluo per me va bene così.

La seconda nota è che la classe DottkUpdate in realtà fa poco, infatti il lavoro è affidato tutto alla classe HTMLDupdate che però vuole più parametri (per il test in locale o l’adattamento a altri siti), infatti DottkUpdate serve solo a prendere gli elementi veramente necessari per l’update. Nessuno però vi vieta di usare HTMLDupdate.

2 commenti