FastDDNS Client API

Mettez automatiquement à jour votre nom d’hôte DNS dynamique chaque fois que votre adresse IP change.

Aperçu

L’API client FastDDNS permet à tout appareil compatible HTTP — routeurs, caméras IP, scripts ou logiciels dédiés de mise à jour — de garder votre nom d’hôte DNS orienté vers votre adresse IP actuelle. L’API suit un design simple de requête GET : votre client envoie des identifiants et un nom d’hôte, et le serveur répond par un court code d’état indiquant le résultat.

Le serveur détecte automatiquement l’adresse IP publique du client à partir de la connexion entrante. Aucun paramètre supplémentaire n’est nécessaire pour spécifier votre IP.

i️ HTTP et HTTPS sont tous deux pris en charge. Le HTTPS est fortement recommandé pour protéger vos identifiants pendant le transport.

Authentification

L’API prend en charge deux méthodes d’authentification. Les deux sont acceptés de manière égale — choisissez celui qui est le plus facile à configurer sur votre appareil ou routeur.

🔑 Identifiants par nom d’hôte : Chaque nom d’hôte que vous créez sur FastDDNS reçoit son propre user_name dédié et user_pass. Ces qualifications peuvent seulement mettre à jour ce nom d’hôte spécifique et ne peut pas être utilisé pour se connecter au tableau de bord de gestion FastDDNS. Cette conception limite l’impact si les identifiants d’un appareil sont compromis.

Méthode 1 — Authentification de base HTTP (intégrée à URL)

Les identifiants sont intégrés dans l’URL en utilisant le format standard user:password@host. Cela est largement pris en charge par les routeurs, les caméras et les bibliothèques clients HTTP. Utilisez la clé client de mise à jour de votre tableau de bord comme mot de passe.

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


Terrain Description Où le trouver
{user_name} Le nom d’utilisateur attribué à ce nom d’hôte spécifique au moment de la création. Noms d’hôte → noms d’hôte du tableau de bord FastDDNS → détails
{user_pass} Le mot de passe attribué à ce nom d’hôte spécifique au moment de la création. Noms d’hôte → noms d’hôte du tableau de bord FastDDNS → détails
{hostname} Le nom d’hôte entièrement qualifié à mettre à jour, par exemple testhost.fastddns.org. Noms d’hôte → noms d’hôte du tableau de bord FastDDNS → détails

Méthode 2 — Paramètres de chaîne de requête

Les identifiants sont transmis sous forme de paramètres de requête simples aux côtés de hostname. C’est utile pour les appareils et les firmwares qui ne peuvent pas configurer les en-têtes HTTP Basic Auth mais autorisent une chaîne d’URL entièrement personnalisée.

https://client.fastddns.net/?hostname={hostname}&user_name={user_name}&user_pass={user_pass}
Paramètre Type Description
{user_name}
 

string Le nom d’utilisateur attribué à ce nom d’hôte lors de sa création.
{user_pass} string Le mot de passe attribué à ce nom d’hôte lors de sa création.
{hostname} string Le nom d’hôte entièrement qualifié à mettre à jour, par exemple testhost.fastddns.org.

Exemple utilisant l’auth-auth-chaîne de requête :

https://client.fastddns.net/?hostname=testhost.fastddns.org&user_name=fastddnstest&user_pass=569832
⚠️ Lors de l’utilisation de l’auth-chaîne de requête, il faut toujours privilégier HTTPS afin que les identifiants ne soient pas transmis en texte brut. HTTP est disponible mais ne doit être utilisé que sur des réseaux locaux de confiance ou pour les tests.

Mise à jour Perform

Envoyez une seule requête GET pour mettre à jour l’adresse IP d’un nom d’hôte enregistré sur votre compte. Chaque demande met à jour un nom d’hôte à la fois.

Extrémité

GET https://client.fastddns.net/
Également accessible via HTTP simple — remplacez https par http.

Format URL — Méthode 1 : Authentification de base HTTP

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

Format URL — Méthode 2 : Chaîne de requête

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

Paramètres de requête

Paramètre Type Description
hostname Obligatoire string Le nom d’hôte pleinement qualifié (FQDN) à mettre à jour, par exemple myhome.fastddns.net ou testhost.fastddns.org. Un seul nom d’hôte par requête est pris en charge.
user_name Méthode 2 string Le nom d’utilisateur de ce nom d’hôte. Obligatoire lors de l’authentification des chaînes de requête (méthode 2). Ce n’est pas nécessaire avec l’authentification HTTP Basic (Méthode 1).
user_pass Méthode 2 string Le mot de passe de ce nom d’hôte. Obligatoire lors de l’authentification des chaînes de requête (méthode 2). Ce n’est pas nécessaire avec l’authentification HTTP Basic (Méthode 1).
Détection automatique IP : Le serveur utilise l’IP source de la connexion TCP entrante pour déterminer votre adresse IP publique. Vous n’avez pas besoin de fournir un paramètre myip.

Exemples de demandes

Méthode 1 — Authentification de base HTTP sur HTTPS :

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

Méthode 2 — Requête de chaîne sur HTTPS :

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

Utilisation du HTTP simple (tests / réseaux de confiance uniquement) :

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

Codes de retour

Toutes les réponses à la mise à jour renvoient le statut HTTP 200 OK avec un corps en texte brut. Votre client doit analyser ce corps de texte pour déterminer le résultat réel de la mise à jour.

good {ip}

Mise à jour réussie

L’enregistrement du nom d’hôte a été mis à jour vers l’adresse IP détectée. L’IP réelle est incluse dans la réponse, par exemple good 203.0.113.45. C’est la réponse attendue lorsque votre IP a changé.

nochg {ip}

Aucun changement n’est nécessaire

Le nom d’hôte pointe déjà vers l’adresse IP détectée — aucune mise à jour n’était nécessaire. L’IP actuelle est incluse, par exemple nochg 203.0.113.45. C’est une réponse normale, sans erreur.

badauth

Authentification échouée

Le nom d’utilisateur ou la clé client du mise à jour est incorrect ou a été révoqué. Vérifiez vos identifiants dans le tableau de bord FastDDNS. Ne réessayez pas automatiquement — corrigez d’abord les identifiants.

nohost

Nom d’hôte non trouvé

Le nom d’hôte spécifié n’existe pas dans votre compte ou n’est pas éligible aux mises à jour dynamiques. Vérifiez l’orthographe du nom d’hôte et confirmez qu’il est enregistré sous votre compte.

911

Erreur serveur

Une erreur interne s’est produite côté serveur FastDDNS. Attends au moins 5 minutes avant de réessayer. Si le problème persiste, consultez la page de statut de FastDDNS ou contactez le support.

Résumé de la réponse

Texte de la réponse Statut HTTP Signification Action requise
good {ip} 200 IP mise à jour avec succès Aucun — mise à jour terminée
nochg {ip} 200 IP inchangée, aucune mise à jour effectuée Aucun — déjà en cours
badauth 200 Accréditations invalides Vérifier le nom d’utilisateur / la clé client
nohost 200 Nom d’hôte non enregistré Vérifier le nom d’hôte dans le tableau de bord
911 200 Erreur côté serveur Réessayez après 5+ minutes
⚠️ Important pour l’automatisation : Analysez toujours le Texte du corps de la réponse , pas seulement le code d’état HTTP. L’API renvoie toujours 200 — le corps du texte vous indique si la mise à jour a réellement réussi.

Obtenir l’IP du client

FastDDNS fournit un simple point de terminaison utilitaire qui renvoie l’adresse IP publique telle que vue par le serveur. C’est utile pour le débogage, pour vérifier de quelle IP votre appareil est envoyé, ou pour une utilisation dans des scripts personnalisés avant d’appeler le point de mise à jour.

Extrémité

GET https://client.fastddns.net/dyndns/getip
Aucune authentification requise. Également accessible via un HTTP simple.

Réception

Retourne HTTP 200 OK avec l’adresse IP publique détectée en texte clair dans le corps de la réponse.

# Example response body
203.0.113.45RESPONSE

Exemples de demandes

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

En utilisant curl :

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

Exemples de code

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 / script routeur)

#!/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

Dépannage

Je reçois badauth

Les user_name ou user_pass fournis ne correspondent pas aux identifiants attribués à ce nom d’hôte. Chaque nom d’hôte possède ses propres identifiants indépendants — trouvez-les dans votre tableau de bord sous Noms d’hôte → détails . Notez que ces identifiants sont spécifiques au nom d’hôte et ne peuvent pas être utilisés pour se connecter au portail de gestion FastDDNS. Si vous avez récemment réinitialisé les identifiants, mettez à jour tous les appareils utilisant ce nom d’hôte.

Je reçois nohost

Le nom d’hôte dans le paramètre hostname n’existe pas ou n’appartient pas au compte identifié par les identifiants fournis. Vérifiez les fautes de frappe dans le nom d’hôte, confirmez qu’il est listé dans votre tableau de bord, et vérifiez que les user_name et user_pass correspondent ce nom d’hôte spécifique .

Le serveur détecte la mauvaise adresse IP

Le serveur utilise l’IP source de la connexion TCP. Si votre appareil est derrière un routeur NAT, l’IP publique du routeur sera détectée — ce qui est généralement le comportement souhaité. Si vous êtes sur un VPN ou un proxy, le serveur verra plutôt l’IP de sortie du VPN/proxy. Utilisez le getip endpoint pour vérifier quelle IP le serveur voit depuis votre appareil.

Je reçois 911

Cela indique un problème temporaire côté serveur. Attends au moins 5 minutes avant de réessayer. Ne boucle pas rapidement les requêtes — cela peut entraîner une limitation de débit. Consultez la page d’état de FastDDNS pour tout incident actif.

À quelle fréquence dois-je interroger le point de terminaison de mise à jour ?

Nous recommandons de vérifier les changements d’IP toutes les 5 minutes. Lorsque votre IP n’a pas changé, le serveur renvoie nochg, ce qui est un no-op léger. Faire des sondages plus fréquents qu’une fois par minute est déconseillé et peut entraîner une limitation du taux.