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.
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.
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.
| 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.
| 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 :
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é
https par http.Format URL — Méthode 1 : Authentification de base HTTP
Format URL — Méthode 2 : Chaîne de requête
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). |
myip.
Exemples de demandes
Méthode 1 — Authentification de base HTTP sur HTTPS :
Méthode 2 — Requête de chaîne sur HTTPS :
Utilisation du HTTP simple (tests / réseaux de confiance uniquement) :
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.
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é.
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.
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.
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.
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 |
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é
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
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.