FastDDNS क्लाइंट API

जब भी आपका IP पता बदलता है, अपने डायनेमिक DNS hostname को स्वचालित रूप से अपडेट करें।

विवरण

FastDDNS क्लाइंट API किसी भी HTTP-सक्षम डिवाइस—router, IP कैमरा, स्क्रिप्ट या समर्पित अपडेटर सॉफ़्टवेयर—को आपके DNS hostname को आपके वर्तमान IP पते पर निर्देशित रखने की सुविधा देता है। API एक सरल GET अनुरोध डिज़ाइन का पालन करता है: आपका क्लाइंट क्रेडेंशियल और hostname भेजता है, और सर्वर परिणाम बताने वाले छोटे स्थिति कोड के साथ जवाब देता है।

सर्वर क्लाइंट के सार्वजनिक IP पते का स्वचालित रूप से पता लगाता है। आने वाले कनेक्शन से IP निर्दिष्ट करने के लिए किसी अतिरिक्त पैरामीटर की आवश्यकता नहीं होती।

ℹ️ दोनों और और दोनों समर्थित हैं। पारगमन में आपके क्रेडेंशियल्स की सुरक्षा के लिए HTTPS की दृढ़ता से अनुशंसा की जाती है।

प्रमाणीकरण

प्रमाणीकरण

🔑 🔑प्रति-hostname क्रेडेंशियल:user_name और user_pass और । इन क्रेडेंशियल का उपयोग केवल उस विशिष्ट hostname को अपडेट करने के लिए किया जा सकता है और FastDDNS प्रबंधन डैशबोर्ड में लॉग इन करने के लिए इनका उपयोग नहीं किया जा सकता

। यदि कभी किसी डिवाइस के क्रेडेंशियल से समझौता हो जाए, तो यह डिज़ाइन उसके प्रभाव को सीमित करता है।

क्रेडेंशियल्स मानक user:password@host क्रेडेंशियल मानक अपडेटर क्लाइंट कुंजी का उपयोग करें।

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

फ़ील्ड फ़ील्ड विवरण
{user_name} इसे कहाँ खोजें निर्माण के समय इस विशिष्ट hostname को असाइन किया गया username।
{user_pass} निर्माण समय पर इस विशिष्ट होस्टनाम को असाइन किया गया पासवर्ड. निर्माण के समय इस विशिष्ट hostname को असाइन किया गया password।
{hostname} अपडेट करने के लिए पूरी तरह से योग्य होस्टनाम, उदाहरण के लिए। testhost.fastddns.org पर टैप करें. .

विधि 2 - क्वेरी स्ट्रिंग पैरामीटर

क्रेडेंशियल्स को hostname के साथ सादे क्वेरी पैरामीटर के रूप में पास किया जाता है. यह उन उपकरणों और फर्मवेयर के लिए उपयोगी है जो HTTP बेसिक ऑथ हेडर को कॉन्फ़िगर नहीं कर सकते हैं लेकिन पूरी तरह से कस्टम URL स्ट्रिंग की अनुमति देते हैं।

https://client.fastddns.net/?hostname={hostname}&user_name={user_name}&user_pass={user_pass}
प्राचल पैरामीटर प्रकार
{user_name}
विवरण
string  
{user_pass} string इस होस्टनाम को असाइन किया गया पासवर्ड जब इसे बनाया गया था.
{hostname} string अद्यतन करने के लिए पूरी तरह से योग्य होस्टनाम, उदाहरण के लिए testhost.fastddns.org.

.

https://client.fastddns.net/?hostname=testhost.fastddns.org&user_name=YOUR_UPDATE_USERNAME&user_pass=YOUR_UPDATE_PASSWORD
⚠️ ⚠️HTTPS को प्राथमिकता दें ताकि क्रेडेंशियल्स सादे पाठ में प्रसारित न हों। एचटीटीपी उपलब्ध है लेकिन इसका उपयोग केवल विश्वसनीय स्थानीय नेटवर्क पर या परीक्षण के लिए किया जाना चाहिए।

अपडेट करें

प्रत्येक अनुरोधएक समय में एक होस्टनामअपडेट करता है

GET https://client.fastddns.net/
सादे HTTP के माध्यम से भी पहुँच योग्य — httpsसादे HTTP के माध्यम से भी उपलब्ध है — http को

से बदलें।

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

URL स्वरूप — विधि 2: क्वेरी स्ट्रिंग

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

क्वेरी पैरामीटर

प्राचल प्रकार या क़िस्‍म
hostname आवश्यक string अद्यतन करने के लिए पूरी तरह से क्वालीफ़ाइड होस्टनाम (FQDN), उदाहरण के लिए myhome.fastddns.net या testhost.fastddns.org या
user_name । प्रति अनुरोध केवल एक hostname समर्थित है। string इस होस्टनाम के लिए उपयोगकर्ता नाम. क्वेरी स्ट्रिंग प्रमाणीकरण (विधि 2) का उपयोग करते समय आवश्यक है। HTTP Basic Auth (विधि 1) का उपयोग करते समय इसकी आवश्यकता नहीं है।
user_pass विधि 2 string इस होस्टनाम के लिए पासवर्ड. क्वेरी स्ट्रिंग प्रमाणीकरण (विधि 2) का उपयोग करते समय आवश्यक है। HTTP Basic Auth (विधि 1) का उपयोग करते समय इसकी आवश्यकता नहीं है।
सर्वर आपके सार्वजनिक IP पते को निर्धारित करने के लिए आवक TCP कनेक्शन के स्रोत IP का उपयोग करता है। आपको myip पैरामीटर प्रदान करने की आवश्यकता नहीं है.

उदाहरण अनुरोध

विधि 1 - HTTPS पर HTTP बेसिक ऑथ:

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

विधि 2विधि 2

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

— HTTPS पर क्वेरी स्ट्रिंग:

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

सादा HTTP का उपयोग (केवल परीक्षण/विश्वसनीय नेटवर्क के लिए):

वापसी कोड सभी अपडेट प्रतिक्रियाएँ HTTP स्थिति एक सादे पाठ शरीर के साथ। आपके क्लाइंट को अद्यतन के वास्तविक परिणाम को निर्धारित करने के लिए इस पाठ के मुख्य भाग को पार्स करना होगा।

good {ip}

अद्यतन सफल

अपडेट सफलgood 203.0.113.45hostname रिकॉर्ड को पता लगाए गए IP पते पर अपडेट कर दिया गया है। वास्तविक IP प्रतिक्रिया में शामिल है, उदाहरण के लिए

nochg {ip}

। जब आपका IP बदल गया हो, तो यही अपेक्षित प्रतिक्रिया होती है।

किसी बदलाव की आवश्यकता नहींnochg 203.0.113.45hostname पहले से ही पता लगाए गए IP पते पर इंगित करता है — किसी अपडेट की आवश्यकता नहीं थी। वर्तमान IP शामिल है, उदाहरण के लिए

badauth

। यह सामान्य, गैर-त्रुटि प्रतिक्रिया है।

प्रमाणीकरण विफल

nohost

होस्टनाम नहीं मिला

निर्दिष्ट होस्टनाम आपके खाते में मौजूद नहीं है या डायनेमिक अपडेट के लिए योग्य नहीं है. होस्टनाम वर्तनी की जांच करें और पुष्टि करें कि यह आपके खाते के तहत पंजीकृत है।

911

सर्वर त्रुटि

सर्वर त्रुटि

प्रतिक्रिया सारांश

प्रतिक्रिया सारांश प्रतिक्रिया टेक्स्ट अर्थ अर्थ
good {ip} आवश्यक कार्रवाई 200 IP सफलतापूर्वक अपडेट किया गया
nochg {ip} कोई नहीं — अपडेट पूरा हो गया 200 IP अपरिवर्तित, कोई अपडेट नहीं किया गया
badauth कोई नहीं — पहले से अद्यतन है 200 अमान्य क्रेडेंशियल्स
nohost उपयोगकर्ता नाम / client key की जाँच करें 200 डैशबोर्ड में होस्टनाम सत्यापित करें
911 डैशबोर्ड में hostname सत्यापित करें 200 सर्वर-साइड त्रुटि
5+ मिनट बाद पुनः प्रयास करें ⚠️स्वचालन के लिए महत्वपूर्ण: हमेशा , न केवल HTTP स्थिति कोड। एपीआई हमेशा 200 को पार्स करें, केवल HTTP स्थिति कोड को नहीं। API हमेशा

लौटाता है — टेक्स्ट बॉडी बताती है कि अपडेट वास्तव में सफल हुआ है या नहीं।

क्लाइंट IP प्राप्त करें

समापन बिंदु

GET https://client.fastddns.net/dyndns/getip
किसी प्रमाणीकरण की आवश्यकता नहीं है। सादे HTTP के माध्यम से भी पहुँचा जा सकता है।

प्रतिक्रिया

HTTP लौटाता है 200 ठीक है प्रतिक्रिया निकाय में सादे पाठ के रूप में पता लगाए गए सार्वजनिक आईपी पते के साथ।

# Example response body
203.0.113.45RESPONSE

उदाहरण अनुरोध

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

curl का उपयोग करना:

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

का उपयोग करके

:

# 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

अजगर

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
$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

बैश (क्रॉन/राउटर स्क्रिप्ट)

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

समस्या निवारण

मुझे badauthसमस्या निवारण

मुझे user_name दिए गए user_pass या होस्टनाम → विवरण . ध्यान दें कि ये क्रेडेंशियल्स होस्टनाम के लिए विशिष्ट हैं और में देखें। ध्यान रखें कि ये क्रेडेंशियल केवल hostname के लिए होते हैं और FastDDNS प्रबंधन पोर्टल में लॉग इन करने के लिए उपयोग नहीं किए जा सकते

मुझे nohostमुझे

hostname पैरामीटर में दिया गया hostname मौजूद नहीं है या दिए गए क्रेडेंशियल से पहचाने गए खाते का नहीं है। hostname में टाइपो की जाँच करें, पुष्टि करें कि वह आपके डैशबोर्ड में सूचीबद्ध है, और जाँचें कि user_name और user_pass उस वह विशिष्ट होस्टनाम

सर्वर गलत IP का पता लगा रहा है

सर्वर TCP कनेक्शन के स्रोत IP का उपयोग करता है। यदि आपका डिवाइस NAT router के पीछे है, तो router के सार्वजनिक IP का पता लगाया जाएगा—आमतौर पर यही वांछित व्यवहार होता है। यदि आप VPN या proxy पर हैं, तो सर्वर को इसके बजाय VPN/proxy का exit IP दिखाई देगा। अपने डिवाइस से सर्वर को दिखाई देने वाले IP की जाँच करने के लिए getip endpoint का उपयोग करें।

मुझे 911 प्राप्त होता है

यह सर्वर-साइड की अस्थायी समस्या दर्शाता है। दोबारा प्रयास करने से पहले कम से कम 5 मिनट प्रतीक्षा करें। अनुरोधों को तेज़ी से बार-बार न भेजें—इससे rate limiting सक्रिय हो सकती है। किसी सक्रिय घटना की जानकारी के लिए FastDDNS स्थिति पृष्ठ देखें।

मुझे अपडेट endpoint को कितनी बार पोल करना चाहिए?

हम हर 5 मिनट में IP में बदलाव की जाँच करने की सलाह देते हैं। जब आपका IP नहीं बदला हो, तो सर्वर nochg लौटाता है, जो एक हल्का no-op है। प्रति मिनट एक बार से अधिक पोल करने की सलाह नहीं दी जाती और इससे rate limiting हो सकती है।