Visão geral
A API Cliente FastDDNS permite que qualquer dispositivo compatível com HTTP — roteadores, câmeras IP, scripts ou softwares dedicados de atualização — mantenha seu nome DNS apontado para seu endereço IP atual. A API segue um design simples de requisição GET: seu cliente envia credenciais e um nome de host, e o servidor responde com um breve código de status indicando o resultado.
O servidor detecta automaticamente o endereço IP público do cliente a partir da conexão recebida. Não são necessários parâmetros extras para especificar seu IP.
Autenticação
A API suporta dois métodos de autenticação. Ambos são aceitos igualmente — escolha o que for mais fácil de configurar no seu dispositivo ou roteador.
user_name dedicado e user_pass. Essas credenciais podem só
atualize esse nome de host específico e não pode ser usado para fazer login no painel de gerenciamento do FastDDNS. Esse design limita o impacto caso as credenciais de um dispositivo sejam comprometidas.
Método 1 — Autenticação Básica HTTP (URL-embedded)
As credenciais são incorporadas na URL usando o formato padrão user:password@host. Isso é amplamente suportado por roteadores, câmeras e bibliotecas de clientes HTTP. Use a Chave do Cliente do Atualizador do seu painel como senha.
| Campo | Descrição | Onde encontrá-lo |
|---|---|---|
| {user_name} | O nome de usuário atribuído a esse nome de host específico no momento da criação. | Detalhes →→ Hostnames Dashboard FastDDNS |
| {user_pass} | A senha atribuída a esse nome de host específico no momento da criação. | Detalhes →→ Hostnames Dashboard FastDDNS |
| {hostname} | O nome de host totalmente qualificado para atualizar, por exemplo, testhost.fastddns.org. |
Detalhes →→ Hostnames Dashboard FastDDNS |
Método 2 — Parâmetros de Sequência de Consulta
As credenciais são passadas como parâmetros de consulta simples junto com hostname. Isso é útil para dispositivos e firmwares, que não conseguem configurar cabeçalhos HTTP Basic Auth, mas permitem uma string de URL totalmente personalizada.
| Parâmetro | Tipo | Descrição |
|---|---|---|
| {user_name} |
string | O nome de usuário atribuído a esse nome de host quando foi criado. |
| {user_pass} | string | A senha atribuída a esse nome de host quando foi criado. |
| {hostname} | string | O nome de host totalmente qualificado para atualizar, por exemplo, testhost.fastddns.org. |
Exemplo usando autenticação de sequência de consulta:
Atualização de Perform
Envie uma única solicitação GET para atualizar o endereço IP de um nome de host registrado na sua conta. Cada solicitação atualiza um nome de host por vez.
Endpoint
https por http.Formato URL — Método 1: Autenticação Básica HTTP
Formato URL — Método 2: String de consulta
Parâmetros de consulta
| Parâmetro | Tipo | Descrição |
|---|---|---|
| hostname Obrigatório | string | O nome de host totalmente qualificado (FQDN) para atualizar, por exemplo, myhome.fastddns.net ou testhost.fastddns.org. Apenas um nome de host por solicitação é suportado. |
| user_name Método 2 | string | O nome de usuário desse nome de host. Exigido ao usar autenticação de sequência de consulta (Método 2). Não é necessário ao usar HTTP Basic Auth (Método 1). |
| user_pass Método 2 | string | A senha desse nome de host. Exigido ao usar autenticação de sequência de consulta (Método 2). Não é necessário ao usar HTTP Basic Auth (Método 1). |
myip.
Exemplos de Solicitações
Método 1 — Autenticação Básica HTTP sobre HTTPS:
Método 2 — Consultar a cadeia de caracteres sobre HTTPS:
Usando HTTP simples (apenas testes / redes confiáveis):
Códigos de retorno
Todas as respostas de atualização retornam o status HTTP 200 OK com texto simples. Seu cliente deve analisar esse corpo de texto para determinar o resultado real da atualização.
Atualização bem-sucedida
O registro do nome de host foi atualizado para o endereço IP detectado. O IP real está incluído na resposta, por exemplo, good 203.0.113.45. Essa é a resposta esperada quando seu IP mudou.
Nenhuma mudança necessária
O nome do host já aponta para o endereço IP detectado — nenhuma atualização foi necessária. O IP atual está incluído, por exemplo, nochg 203.0.113.45. Essa é uma resposta normal, sem erro.
Autenticação Falhada
O nome de usuário ou a chave do cliente do atualizador está incorreto ou foi revogado. Verifique suas credenciais no painel do FastDDNS. Não tente automaticamente — corrija as credenciais primeiro.
Nome do Host Não Encontrado
O nome de host especificado não existe na sua conta ou não é elegível para atualizações dinâmicas. Verifique a grafia do nome do host e confirme que está registrado na sua conta.
Erro do servidor
Um erro interno ocorreu no lado do servidor FastDDNS. Espere pelo menos 5 minutos antes de tentar novamente. Se o problema persistir, verifique a página de status do FastDDNS ou entre em contato com o suporte.
Resumo da Resposta
| Texto da Resposta | HTTP Status | Significado | Ação necessária |
|---|---|---|---|
| good {ip} | 200 | IP atualizado com sucesso | Nenhum — atualização completa |
| nochg {ip} | 200 | IP inalterado, nenhuma atualização feita | Nenhum — já está em dia |
| badauth | 200 | Credenciais inválidas | Verifique nome de usuário / chave do cliente |
| nohost | 200 | Nome de host não registrado | Verificar nome de host no painel |
| 911 | 200 | Erro do lado do servidor | Tente novamente após 5+ minutos |
200 — o corpo do texto informa se a atualização realmente foi bem-sucedida.
Obtenha IP do Cliente
O FastDDNS fornece um endpoint utilitário simples que retorna o endereço IP público conforme visto pelo servidor. Isso é útil para depuração, para verificar de qual IP seu dispositivo está enviando, ou para uso em scripts personalizados antes de chamar o endpoint de atualização.
Endpoint
Resposta
Retorna HTTP 200 OK com o endereço IP público detectado como texto simples no corpo da resposta.
# Example response body
203.0.113.45RESPONSE
Exemplos de Solicitações
Usando curl:
curl https://client.fastddns.net/dyndns/getipSHELL
Exemplos de Código
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 / Roteador Script)
#!/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
Solução de problemas
Eu recebo badauth
Os user_name ou user_pass fornecidos não correspondem às credenciais atribuídas àquele nome de host.
Cada nome de host tem suas próprias credenciais independentes — encontre-as no seu painel sob Nomes → Detalhes dos Hostnames
.
Note que essas credenciais são específicas para o nome do host e não podem ser usadas para fazer login no portal de gerenciamento FastDDNS.
Se você redefinir as credenciais recentemente, atualize todos os dispositivos usando esse nome de host.
Recebo nohost
O nome de host no parâmetro hostname não existe ou não pertence à conta identificada pelas credenciais fornecidas.
Verifique por erros de digitação no nome do host, confirme que está listado no seu painel e verifique se o user_name e o user_pass coincidem Esse nome de host específico
.
O servidor está detectando o IP errado
O servidor usa o IP de origem da conexão TCP. Se seu dispositivo estiver atrás de um roteador NAT, o IP público do roteador será detectado — o que geralmente é o comportamento desejado. Se você estiver em uma VPN ou proxy, o servidor verá o IP de saída da VPN/proxy. Use o getip endpoint para verificar qual IP o servidor vê do seu dispositivo.
Recebo 911
Isso indica um problema temporário do lado do servidor. Espere pelo menos 5 minutos antes de tentar novamente. Não faça looping de solicitações rapidamente — isso pode desencadear limitação de taxa. Verifique a página de status do FastDDNS para quaisquer incidentes ativos.
Com que frequência devo consultar o endpoint de atualização?
Recomendamos verificar mudanças de IP a cada 5 minutos. Quando seu IP não mudou, o servidor retorna nochg, que é um no-op leve. Pesquisar com mais frequência de uma vez por minuto é desencorajado e pode resultar em limitação de taxas.