FastDDNS Client API

Aktualisiere automatisch deinen dynamischen DNS-Hostnamen, sobald sich deine IP-Adresse ändert.

Überblick

Die FastDDNS-Client-API ermöglicht es jedem HTTP-fähigen Gerät – Routern, IP-Kameras, Skripten oder dedizierter Updater-Software – Ihren DNS-Hostnamen auf Ihre aktuelle IP-Adresse zu zeigen. Die API folgt einem einfachen GET-Request-Design: Ihr Client sendet Zugangsdaten und einen Hostnamen, und der Server antwortet mit einem kurzen Statuscode, der das Ergebnis anzeigt.

Der Server erkennt automatisch die öffentliche IP-Adresse des Clients bei der eingehenden Verbindung. Für die Angabe Ihrer IP sind keine zusätzlichen Parameter erforderlich.

i️ Sowohl HTTP als auch HTTPS werden unterstützt. HTTPS wird dringend empfohlen, um Ihre Zugangsdaten während der Übertragung zu schützen.

Authentifizierung

Die API unterstützt zwei Authentifizierungsmethoden. Beide werden gleichermaßen akzeptiert – wählen Sie das, was auf Ihrem Gerät oder Router am einfachsten konfiguriert werden kann.

🔑 Zugangsdaten pro Hostname: Jeder Hostname, den Sie auf FastDDNS erstellen, erhält eigene dedizierte user_name und user_pass. Diese Qualifikationen können Nur Aktualisieren Sie diesen spezifischen Hostnamen und können nicht verwendet werden, um sich im FastDDNS-Verwaltungs-Dashboard anzumelden. Dieses Design begrenzt die Auswirkungen, falls jemals die Zugangsdaten eines Geräts kompromittiert werden.

Methode 1 — HTTP Basic Auth (URL-eingebettet)

Zugangsdaten werden in der URL im Standardformat user:password@host eingebettet. Dies wird weitgehend von Routern, Kameras und HTTP-Client-Bibliotheken unterstützt. Verwenden Sie den Updater Client Key aus Ihrem Dashboard als Passwort.

https://{user_name}:{user_pass}@client.fastddns.net/?hostname={hostname}


Spielfeld Beschreibung Wo man es finden kann
{user_name} Der Benutzername, der diesem spezifischen Hostnamen zum Zeitpunkt der Erstellung zugewiesen wurde. FastDDNS-Dashboard → Hostnamen → Details
{user_pass} Das Passwort, das diesem spezifischen Hostnamen zum Zeitpunkt der Erstellung zugewiesen wurde. FastDDNS-Dashboard → Hostnamen → Details
{hostname} Der voll qualifizierte Hostname, der aktualisiert werden soll, z. B. testhost.fastddns.org. FastDDNS-Dashboard → Hostnamen → Details

Methode 2 — Abfragezeichenkettenparameter

Zugangsdaten werden als einfache Abfrageparameter zusammen mit hostname übergeben. Dies ist nützlich für Geräte und Firmware, die keine HTTP Basic Auth-Header konfigurieren können, aber eine vollständig benutzerdefinierte URL-Zeichenfolge erlauben.

https://client.fastddns.net/?hostname={hostname}&user_name={user_name}&user_pass={user_pass}
Parameter Typ Beschreibung
{user_name}
 

string Der Benutzername, der diesem Hostnamen bei der Erstellung zugewiesen wurde.
{user_pass} string Das Passwort, das diesem Hostnamen bei der Erstellung zugewiesen wurde.
{hostname} string Der voll qualifizierte Hostname zum Aktualisieren, z. B. testhost.fastddns.org.

Beispiel mit Abfrage-Zeichenketten-Authentie:

https://client.fastddns.net/?hostname=testhost.fastddns.org&user_name=fastddnstest&user_pass=569832
⚠️ Bei der Verwendung von Abfrage-Zeichenketten-Authentifizierung bevorzugt man immer HTTPS, damit Zugangsdaten nicht im Klartext übertragen werden. HTTP ist verfügbar, sollte aber nur in vertrauenswürdigen lokalen Netzwerken oder zu Tests verwendet werden.

Perform-Update

Senden Sie eine einzelne GET-Anfrage, um die IP-Adresse eines Hostnamens zu aktualisieren, der mit Ihrem Konto registriert ist. Jede Anfrage aktualisiert jeweils einen Hostnamen.

Endpunkt

GET https://client.fastddns.net/
Auch über einfaches HTTP zugänglich – ersetzen Sie https durch http.

URL-Format — Methode 1: HTTP Basic Auth

https://{user_name}:{user_pass}@client.fastddns.net/?hostname={hostname}

URL-Format — Methode 2: Abfragestring

https://client.fastddns.net/?hostname={hostname}&user_name={user_name}&user_pass={user_pass}

Abfrageparameter

Parameter Typ Beschreibung
hostname Erforderlich string Der vollständig qualifizierte Hostname (FQDN) soll aktualisiert werden, z. B. myhome.fastddns.net oder testhost.fastddns.org. Pro Anfrage wird nur ein Hostname unterstützt.
user_name Methode 2 string Der Benutzername für diesen Hostnamen. Erforderlich bei der Verwendung der Abfrage-String-Authentifizierung (Methode 2). Nicht erforderlich bei der Verwendung von HTTP Basic Auth (Methode 1).
user_pass Methode 2 string Das Passwort für diesen Hostnamen. Erforderlich bei der Verwendung der Abfrage-String-Authentifizierung (Methode 2). Nicht erforderlich bei der Verwendung von HTTP Basic Auth (Methode 1).
IP-Autodetektion: Der Server verwendet die Quell-IP der eingehenden TCP-Verbindung, um deine öffentliche IP-Adresse zu bestimmen. Du musst keinen myip-Parameter angeben.

Beispielanfragen

Methode 1 — HTTP Basic Auth über HTTPS:

https://fastddnstest:569832@client.fastddns.net/?hostname=testhost.fastddns.org

Methode 2 — Abfragestring über HTTPS:

https://client.fastddns.net/?hostname=testhost.fastddns.org&user_name=fastddnstest&user_pass=569832

Verwendung von einfachem HTTP (nur Testing / vertrauenswürdige Netzwerke):

http://fastddnstest:569832@client.fastddns.net/?hostname=testhost.fastddns.org

Rücksendecodes

Alle Update-Antworten geben HTTP-Status zurück 200 OK mit einem Klartext. Ihr Kunde muss diesen Texttext analysieren, um das tatsächliche Ergebnis der Aktualisierung zu bestimmen.

good {ip}

Update erfolgreich

Der Hostname-Datensatz wurde auf die erkannte IP-Adresse aktualisiert. Die eigentliche IP ist in der Antwort enthalten, z. B. good 203.0.113.45. Das ist die erwartete Reaktion, wenn sich Ihre IP geändert hat.

nochg {ip}

Keine Änderung erforderlich

Der Hostname verweist bereits auf die erkannte IP-Adresse – eine Aktualisierung war nicht nötig. Die aktuelle IP ist enthalten, z. B. nochg 203.0.113.45. Dies ist eine normale, fehlerfreie Antwort.

badauth

Authentifizierung fehlgeschlagen

Der Benutzername oder der Updater-Client-Schlüssel ist falsch oder wurde widerrufen. Verifizieren Sie Ihre Zugangsdaten im FastDDNS-Dashboard. Versuchen Sie es nicht automatisch erneut – korrigieren Sie zuerst die Zugangsdaten.

nohost

Hostname nicht gefunden

Der angegebene Hostname existiert nicht in Ihrem Konto oder ist nicht für dynamische Updates berechtigt. Überprüfe die Schreibweise des Hostnamens und bestätige, dass er unter deinem Konto registriert ist.

911

Serverfehler

Ein interner Fehler trat auf der FastDDNS-Serverseite auf. Warte mindestens 5 Minuten, bevor du es erneut versuchst. Wenn das Problem weiterhin besteht, schauen Sie auf der FastDDNS-Statusseite nach oder kontaktieren Sie den Support.

Reaktionszusammenfassung

Antworttext HTTP-Status Bedeutung Handlungsbedarf
good {ip} 200 IP wurde erfolgreich aktualisiert Keine – Aktualisierung abgeschlossen
nochg {ip} 200 IP unverändert, kein Update vorgenommen Keine – bereits aktuell
badauth 200 Ungültige Zugangsdaten Benutzername / Client-Schlüssel überprüfen
nohost 200 Hostname nicht registriert Hostname im Dashboard überprüfen
911 200 Serverseitiger Fehler Versuch es nach 5+ Minuten erneut
⚠️ Wichtig für die Automatisierung: Parse immer die Antworttext , nicht nur den HTTP-Statuscode. Die API liefert immer 200 zurück – der Textkörper zeigt an, ob das Update tatsächlich erfolgreich war.

Erhalten Sie die Client-IP

FastDDNS stellt einen einfachen Utility-Endpunkt bereit, der die öffentliche IP-Adresse zurückgibt, wie sie vom Server gesehen wird. Dies ist nützlich zum Debuggen, zur Überprüfung der IP, von der dein Gerät sendet, oder für die Verwendung in benutzerdefinierten Skripten, bevor der Update-Endpunkt aufgerufen wird.

Endpunkt

GET https://client.fastddns.net/dyndns/getip
Keine Authentifizierung erforderlich. Auch über einfaches HTTP zugänglich.

Reaktion

Gibt HTTP zurück 200 OK wobei die erkannte öffentliche IP-Adresse als Klartext im Antworttext steht.

# Example response body
203.0.113.45RESPONSE

Beispielanfragen

https://client.fastddns.net/dyndns/getip
http://client.fastddns.net/dyndns/getip

Mit curl:

curl https://client.fastddns.net/dyndns/getipSHELL

Codebeispiele

Shell / cURL

# Method 1: HTTP Basic Auth (HTTPS, IP auto-detected)
curl "https://fastddnstest:[email protected]/?hostname=testhost.fastddns.org"
# Method 2: Query string credentials
curl "https://client.fastddns.net/?hostname=testhost.fastddns.org&user_name=fastddnstest&user_pass=569832"
# Check what IP the server sees from your device
curl "https://client.fastddns.net/dyndns/getip"SHELL

Python

import requests
HOSTNAME  = "testhost.fastddns.org"
USER_NAME = "fastddnstest"
USER_PASS = "569832"
# Method 1: HTTP Basic Auth
resp = requests.get(
    "https://client.fastddns.net/",
    auth=(USER_NAME, USER_PASS),
    params={"hostname": HOSTNAME}
)
# Method 2: Query string
# resp = requests.get("https://client.fastddns.net/", params={
#     "hostname": HOSTNAME, "user_name": USER_NAME, "user_pass": USER_PASS
# })
body = resp.text.strip()
if body.startswith("good"):
    print(f"Updated successfully: {body}")
elif body.startswith("nochg"):
    print(f"No change needed: {body}")
elif body == "badauth":
    print("Authentication failed. Check credentials.")
elif body == "nohost":
    print("Hostname not found.")
elif body == "911":
    print("Server error. Try again later.")PYTHON

PHP

<?php
$hostname  = 'testhost.fastddns.org';
$user_name = 'fastddnstest';
$user_pass = '569832';
// Method 1: HTTP Basic Auth embedded in URL
$url = "https://{$user_name}:{$user_pass}@client.fastddns.net/?hostname=" . urlencode($hostname);
// Method 2: Query string credentials
// $url = "https://client.fastddns.net/?hostname=" . urlencode($hostname)
//      . "&user_name=" . urlencode($user_name)
//      . "&user_pass=" . urlencode($user_pass);
$ctx = stream_context_create(['http' => ['timeout' => 10]]);
$body = trim(file_get_contents($url, false, $ctx));
switch (true) {
    case str_starts_with($body, 'good'):
        echo "Updated: {$body}\n"; break;
    case str_starts_with($body, 'nochg'):
        echo "No change: {$body}\n"; break;
    case $body === 'badauth':
        echo "Auth failed. Check hostname credentials.\n"; break;
    case $body === 'nohost':
        echo "Hostname not found.\n"; break;
    case $body === '911':
        echo "Server error, retry later.\n"; break;
}PHP

Bash (Cron / Router-Skript)

#!/bin/bash
HOSTNAME="testhost.fastddns.org"
USER_NAME="fastddnstest"
USER_PASS="569832"
# Method 1: HTTP Basic Auth
RESULT=$(curl -s "https://${USER_NAME}:${USER_PASS}@client.fastddns.net/?hostname=${HOSTNAME}")
# Method 2: Query string (uncomment to use instead)
# RESULT=$(curl -s "https://client.fastddns.net/?hostname=${HOSTNAME}&user_name=${USER_NAME}&user_pass=${USER_PASS}")
case "$RESULT" in
  good*)   echo "[OK] $RESULT" ;;
  nochg*)  echo "[OK] $RESULT" ;;
  badauth) echo "[ERR] Bad credentials — check hostname user/pass"; exit 1 ;;
  nohost)  echo "[ERR] Hostname not found"; exit 1 ;;
  911)     echo "[ERR] Server error, retry later"; exit 1 ;;
  *)       echo "[WARN] Unknown response: $RESULT" ;;
esacBASH

Fehlerbehebung

Ich empfange badauth

Die angegebenen user_name oder user_pass stimmen nicht mit den zugeordneten Zugangsdaten dieses Hostnamens überein. Jeder Hostname hat seine eigenen unabhängigen Zugangsdaten – finden Sie sie in Ihrem Dashboard unter Hostnames → Details . Beachten Sie, dass diese Zugangsdaten spezifisch für den Hostnamen sind und nicht zum Einloggen im FastDDNS-Verwaltungsportal verwendet werden können. Wenn du kürzlich die Zugangsdaten zurückgesetzt hast, aktualisiere alle Geräte mit diesem Hostnamen.

Ich empfange nohost

Der Hostname im hostname-Parameter existiert nicht oder gehört nicht zum Konto, das durch die angegebenen Zugangsdaten identifiziert wurde. Überprüfen Sie Tippfehler im Hostnamen, bestätigen Sie, dass er in Ihrem Dashboard aufgeführt ist, und überprüfen Sie, ob user_name und user_pass übereinstimmen Dieser spezielle Hostname .

Der Server erkennt die falsche IP

Der Server verwendet die Quell-IP der TCP-Verbindung. Wenn sich Ihr Gerät hinter einem NAT-Router befindet, wird die öffentliche IP des Routers erkannt – was in der Regel das gewünschte Verhalten ist. Wenn du auf einem VPN oder Proxy bist, sieht der Server stattdessen die VPN/Proxy-Austritts-IP. Verwenden Sie _NT2_das {}, um zu überprüfen, welche IP der Server von Ihrem Gerät sieht.

Ich empfange 911

Dies deutet auf ein temporäres serverseitiges Problem hin. Warte mindestens 5 Minuten, bevor du es erneut versuchst. Keine schnellen Schleifen von Anfragen – dies kann eine Ratenbegrenzung auslösen. Überprüfen Sie die FastDDNS-Statusseite auf aktive Vorfälle.

Wie oft sollte ich den Update-Endpunkt abfragen?

Wir empfehlen, alle 5 Minuten auf IP-Änderungen zu prüfen. Wenn sich deine IP nicht geändert hat, gibt der Server nochg zurück, was ein leichtes No-Op ist. Eine häufigere Umfrage als einmal pro Minute wird nicht empfohlen und kann zu einer Begrenzung der Rate führen.