Documentazione Tecnica

Opra.eu espone un'API HTTP semplice per aggiornare dinamicamente i record DNS del tuo hostname. L'obiettivo è uno: darti un nome stabile anche quando l'IP pubblico cambia.

In questa pagina trovi: come creare l'account, come gestire le chiavi API, i dettagli del protocollo di update e alcune guide pratiche per i dispositivi più comuni.

Quick start

  1. Crea un account e genera una API key.
  2. Scegli un hostname (es. mio-host.opra.eu).
  3. Configura un client (script o router) che chiami l'endpoint di update.
  4. Verifica la risoluzione DNS e, se necessario, aggiusta la frequenza di aggiornamento.

Creazione account

L'account serve per gestire i tuoi hostname e le credenziali di update. In un servizio DDNS la sicurezza è fondamentale: una chiave esposta potrebbe permettere a terzi di cambiare l'IP associato al tuo nome.

Passi consigliati

  • Usa una password lunga e unica (password manager).
  • Associa un'email che controlli regolarmente.
  • Se possibile, separa ambienti "casa" e "lavoro" con hostname distinti.

Buone pratiche

Evita di condividere le credenziali del tuo account. Per dispositivi e script, usa sempre una API key dedicata: è più semplice da ruotare e riduce l'impatto in caso di leak.

Gestione Chiavi API

Le API key sono usate dal client per autenticare le richieste di aggiornamento. Il consiglio è mantenere una chiave per "unità operativa": un host, un router, uno script, o un ambiente (staging vs produzione).

Rotazione e sicurezza

  • Non committare mai la key su repository o backup non cifrati.
  • Preferisci variabili d'ambiente o secret manager.
  • Se sospetti una compromissione, rigenera la key e aggiorna il client.
  • Usa chiavi distinte per ridurre l'impatto (principio del minimo privilegio).

HTTP GET Update

Il metodo più comune è una richiesta HTTP GET. In un setup reale, lo script viene eseguito dal tuo server o router e aggiorna l'hostname ogni volta che cambia l'IP (o a intervallo).

domain
mio-host

L'hostname da aggiornare (senza il suffisso).

key
YOUR_API_KEY

La chiave API associata al tuo account.

ip
auto

Modalità automatica: il server usa l'IP della richiesta.

Aggiornamento via cURL

Il modo più semplice per aggiornare il tuo IP da qualsiasi script shell.

curl -X GET "https://api.opra.eu/update?domain=mio-host&key=YOUR_API_KEY&ip=auto"

IPv4 (Record A)

Il record A punta un hostname a un indirizzo IPv4. È il caso più comune quando si accede a casa/ufficio da reti tradizionali. Se il tuo ISP cambia l'IPv4, basta un update per ripristinare la raggiungibilità.

// esempio (risoluzione)
mio-host.opra.eu. 60 IN A 93.12.45.221

IPv6 (Record AAAA)

Il record AAAA punta un hostname a un indirizzo IPv6. In molti scenari IPv6 permette percorsi più diretti e meno dipendenti dal NAT. Se la tua connessione è dual stack, aggiornare sia A che AAAA rende l'hostname "future-proof".

// esempio (risoluzione)
mio-host.opra.eu. 60 IN AAAA 2001:db8:85a3::8a2e:370:7334

Guida: Raspberry Pi

Su Raspberry Pi puoi creare un cronjob che chiama l'endpoint di update a intervallo. È leggero, non richiede dipendenze e funziona bene anche per piccoli homelab.

# esempio cron (ogni 5 minuti)
*/5 * * * * curl -fsS "https://api.opra.eu/update?domain=mio-host&key=YOUR_API_KEY&ip=auto" >/dev/null

Guida: Synology NAS

Su NAS è comune eseguire uno script pianificato (Task Scheduler) che aggiorna l'hostname. Il consiglio è usare una API key dedicata e conservare la configurazione in modo sicuro.

  1. Crea un'attività pianificata che esegua un comando curl.
  2. Imposta un intervallo coerente (es. 5 minuti) o trigger su evento di rete.
  3. Verifica la risoluzione con nslookup o dig.

Guida: MikroTik Router

In alcuni setup conviene far gestire il DDNS direttamente al router, così l'update avviene "alla fonte" e copre tutti i dispositivi della rete. L'implementazione dipende dal modello e dalla tua policy di sicurezza.

Approccio consigliato: crea uno script RouterOS che effettua una richiesta HTTP periodica (o su cambio WAN) verso l'endpoint di update.

Suggerimento: usa una key dedicata al router e limita la frequenza per evitare chiamate inutili.

Guida: Ubiquiti EdgeRouter

Anche su EdgeRouter puoi automatizzare l'update via script e scheduler. L'idea è identica: chiamare un endpoint HTTP con domain, key e ip=auto.

# esempio concettuale
curl -fsS "https://api.opra.eu/update?domain=mio-host&key=YOUR_API_KEY&ip=auto"