FastDDNS Client API

Aktualisiere deinen dynamischen DNS-hostname automatisch, 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 spezieller Updater-Software –, Ihren DNS-Hostnamen auf Ihre aktuelle IP-Adresse zu zeigen. Die API verwendet einfache GET-Anfragen: Ihr Client sendet Zugangsdaten und einen Hostnamen, und der Server antwortet mit einem kurzen Statuscode, der das Ergebnis angibt.

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

ℹ️ 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 gleichwertig akzeptiert – wählen Sie die Methode, die sich auf Ihrem Gerät oder Router am einfachsten konfigurieren lässt.

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

Methode 1 — HTTP Basic Auth (in der URL eingebettet)

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

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

Feld Beschreibung Wo Sie es finden
{user_name} Der Benutzername, der diesem spezifischen hostname bei der Erstellung zugewiesen wurde. FastDDNS Dashboard → Hostnames → Details
{user_pass} Das Passwort, das diesem spezifischen hostname bei der Erstellung zugewiesen wurde. FastDDNS Dashboard → Hostnames → Details
{hostname} Der vollständig qualifizierte hostname, der aktualisiert werden soll, z. B. testhost.fastddns.org. FastDDNS Dashboard → Hostnames → Details

Methode 2 — Query-String-Parameter

Zugangsdaten werden als einfache Query-String-Parameter zusammen mithostname ü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 hostname bei der Erstellung zugewiesen wurde.
{user_pass} string Das Passwort, das diesem hostname bei der Erstellung zugewiesen wurde.
{hostname} string Der vollständig qualifizierte hostname, der aktualisiert werden soll, z. B. testhost.fastddns.org.

Beispiel für die Authentifizierung per Query-String:

https://client.fastddns.net/?hostname=testhost.fastddns.org&user_name=YOUR_UPDATE_USERNAME&user_pass=YOUR_UPDATE_PASSWORD
⚠️ Bei der Verwendung der Authentifizierung per Query-String sollten Sie immer HTTPS verwenden, damit Zugangsdaten nicht im Klartext übertragen werden. HTTP ist verfügbar, sollte aber nur in vertrauenswürdigen lokalen Netzwerken oder zu Testzwecken verwendet werden.

Aktualisierung durchführen

Senden Sie eine einzelne GET-Anfrage, um die IP-Adresse eines bei Ihrem Konto registrierten hostname zu aktualisieren. Jede Anfrage aktualisiert jeweils einen hostname.

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: Query-String

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

Query-Parameter

Parameter Typ Beschreibung
hostname Erforderlich string Der vollständig qualifizierte hostname (FQDN), der aktualisiert werden soll, 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 hostname. Erforderlich bei der Verwendung der Query-String-Authentifizierung (Methode 2). Bei der Verwendung von HTTP Basic Auth (Methode 1) nicht erforderlich.
user_pass Methode 2 string Das Passwort für diesen hostname. Erforderlich bei der Verwendung der Query-String-Authentifizierung (Methode 2). Bei der Verwendung von HTTP Basic Auth (Methode 1) nicht erforderlich.
Automatische IP-Erkennung: Der Server verwendet die Quell-IP der eingehenden TCP-Verbindung, um Ihre öffentliche IP-Adresse zu bestimmen. Sie müssen keinen myipIP-Parameter angeben.

Beispielanfragen

Methode 1 — HTTP Basic Auth über HTTPS:

https://YOUR_UPDATE_USERNAME:YOUR_UPDATE_PASSWORD@client.fastddns.net/?hostname=testhost.fastddns.org

Methode 2 — Query-String über HTTPS:

https://client.fastddns.net/?hostname=testhost.fastddns.org&user_name=YOUR_UPDATE_USERNAME&user_pass=YOUR_UPDATE_PASSWORD

Verwendung von einfachem HTTP (nur zum Testen / in vertrauenswürdigen Netzwerken):

http://YOUR_UPDATE_USERNAME:YOUR_UPDATE_PASSWORD@client.fastddns.net/?hostname=testhost.fastddns.org

Rückgabecodes

Alle Update-Antworten geben den HTTP-Status 200 OK mit einem Klartext-Textkörper zurück. Ihr Client muss diesen Textkörper analysieren, um das tatsächliche Ergebnis des Updates zu bestimmen.

good {ip}

Update erfolgreich

Der hostname-Eintrag wurde auf die erkannte IP-Adresse aktualisiert. Die tatsächliche IP ist in der Antwort enthalten, z. B. good 203.0.113.45. Dies ist die erwartete Antwort, wenn sich Ihre IP geändert hat.

nochg {ip}

Keine Änderung erforderlich

Der hostname verweist bereits auf die erkannte IP-Adresse – ein Update war nicht erforderlich. Die aktuelle IP ist enthalten, z. B. nochg 203.0.113.45. Dies ist eine normale Antwort ohne Fehler.

badauth

Authentifizierung fehlgeschlagen

Der Benutzername oder der Updater-Client-Schlüssel ist falsch oder wurde widerrufen. Überprüfen 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 zugelassen. Überprüfen Sie die Schreibweise des hostname und bestätigen Sie, dass er unter Ihrem Konto registriert ist.

911

Serverfehler

Auf der FastDDNS-Serverseite ist ein interner Fehler aufgetreten. Warten Sie mindestens 5 Minuten, bevor Sie es erneut versuchen. Wenn das Problem weiterhin besteht, prüfen Sie die FastDDNS-Statusseite oder wenden Sie sich an den Support.

Zusammenfassung der Antwort

Antworttext HTTP-Status Bedeutung Erforderliche Aktion
good {ip} 200 IP erfolgreich aktualisiert Keine – Update abgeschlossen
nochg {ip} 200 IP unverändert, kein Update durchgeführt 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 Versuchen Sie es nach 5+ Minuten erneut
⚠️ Wichtig für die Automatisierung: Analysieren Sie immer den 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.

Client-IP abrufen

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 Ihr 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 unverschlüsseltes HTTP zugänglich.

Antwort

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

# Recommended: let curl build the Authorization header (-u), so the
# credentials never appear in the URL.
HOSTNAME="myhome.fastddns.org"
USER_NAME="YOUR_UPDATE_USERNAME"
USER_PASS="YOUR_UPDATE_PASSWORD"
curl -s -u "${USER_NAME}:${USER_PASS}" "https://client.fastddns.net/?hostname=${HOSTNAME}"
# Legacy form, for devices that can only be given one URL field:
curl -s "https://client.fastddns.net/?hostname=${HOSTNAME}&user_name=${USER_NAME}&user_pass=${USER_PASS}"
# Check what IP the server sees from your device
curl -s "https://client.fastddns.net/dyndns/getip"SHELL

Python

import requests
HOSTNAME  = "testhost.fastddns.org"
USER_NAME = "YOUR_UPDATE_USERNAME"
USER_PASS = "YOUR_UPDATE_PASSWORD"
# 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 = 'YOUR_UPDATE_USERNAME';
$user_pass = 'YOUR_UPDATE_PASSWORD';
// Recommended: Basic Auth in a request header, so the password is not
// part of the URL and cannot leak through logs or error messages.
$url = "https://client.fastddns.net/?hostname=" . urlencode($hostname);
$auth = 'Basic ' . base64_encode($user_name . ':' . $user_pass);
// 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,
    'header'  => "Authorization: {$auth}\r\n",
]]);
$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="YOUR_UPDATE_USERNAME"
USER_PASS="YOUR_UPDATE_PASSWORD"
# Method 1: HTTP Basic Auth
RESULT=$(curl -s -u "${USER_NAME}:${USER_PASS}" "https://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 erhalte badauth

Die angegebenen user_name oder user_pass stimmen nicht mit den diesem hostname zugewiesenen Zugangsdaten überein. Jeder hostname hat eigene, unabhängige Zugangsdaten – Sie finden sie in Ihrem Dashboard unter Hostnames → Details. Beachten Sie, dass diese Zugangsdaten spezifisch für den hostname sind und nicht für die Anmeldung am FastDDNS-Verwaltungsportal verwendet werden können. Wenn Sie die Zugangsdaten kürzlich zurückgesetzt haben, aktualisieren Sie alle Geräte, die diesen hostname verwenden.

Ich erhalte nohost

Der hostname im hostname-Parameter existiert nicht oder gehört nicht zu dem Konto, das durch die angegebenen Zugangsdaten identifiziert wird. Überprüfen Sie den hostname auf Tippfehler, bestätigen Sie, dass er in Ihrem Dashboard aufgeführt ist, und prüfen Sie, ob user_name und user_pass mit diesem spezifischen 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 Sie ein VPN oder einen Proxy verwenden, sieht der Server stattdessen die VPN-/Proxy-Ausgangs-IP. Verwenden Sie den _NT2_das {}Endpunkt „Get Client IP“

Ich erhalte 911

Dies deutet auf ein vorübergehendes serverseitiges Problem hin. Warten Sie mindestens 5 Minuten, bevor Sie es erneut versuchen. Senden Sie Anfragen nicht in einer schnellen Schleife – 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 Ihre IP nicht geändert hat, gibt der Server nochg zurück, was ein leichter No-op ist. Häufigeres Abfragen als einmal pro Minute wird nicht empfohlen und kann zu einer Ratenbegrenzung führen.