Ü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.
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.
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.
| 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.
| 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:
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
https durch http.URL-Format — Methode 1: HTTP Basic Auth
URL-Format — Methode 2: Abfragestring
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). |
myip-Parameter angeben.
Beispielanfragen
Methode 1 — HTTP Basic Auth über HTTPS:
Methode 2 — Abfragestring über HTTPS:
Verwendung von einfachem HTTP (nur Testing / vertrauenswürdige Netzwerke):
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.
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.
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.
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.
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.
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 |
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
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
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.