FastDDNS क्लाइंट एपीआई

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

विहंगावलोकन

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

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

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

प्रमाणीकरण

एपीआई दो प्रमाणीकरण विधियों का समर्थन करता है। दोनों को समान रूप से स्वीकार किया जाता है - जो भी आपके डिवाइस या राउटर पर कॉन्फ़िगर करना आसान हो उसे चुनें।

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

विधि 1 - HTTP बेसिक ऑथ (URL-एम्बेडेड)

क्रेडेंशियल्स मानक user:password@host स्वरूप का उपयोग करके URL में एम्बेड किए जाते हैं. यह राउटर, कैमरे और HTTP क्लाइंट लाइब्रेरी द्वारा व्यापक रूप से समर्थित है। पासवर्ड के रूप में अपने डैशबोर्ड से अपडेटर क्लाइंट कुंजी का उपयोग करें।

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


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

विधि 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=fastddnstest&user_pass=569832
⚠️ क्वेरी स्ट्रिंग प्रमाणीकरण का उपयोग करते समय, हमेशा HTTPS को प्राथमिकता दें ताकि क्रेडेंशियल्स सादे पाठ में प्रसारित न हों। एचटीटीपी उपलब्ध है लेकिन इसका उपयोग केवल विश्वसनीय स्थानीय नेटवर्क पर या परीक्षण के लिए किया जाना चाहिए।

अद्यतन करें

अपने खाते में पंजीकृत होस्टनाम के IP पते को अपडेट करने के लिए एक एकल GET अनुरोध भेजें। प्रत्येक अनुरोध एक समय में एक होस्टनाम अपडेट करता है।

समापन बिंदु

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

URL प्रारूप - विधि 1: 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 विधि 2 string इस होस्टनाम के लिए उपयोगकर्ता नाम. क्वेरी स्ट्रिंग प्रमाणीकरण (विधि 2) का उपयोग करते समय आवश्यक है। HTTP Basic Auth (विधि 1) का उपयोग करते समय इसकी आवश्यकता नहीं है।
user_pass विधि 2 string इस होस्टनाम के लिए पासवर्ड. क्वेरी स्ट्रिंग प्रमाणीकरण (विधि 2) का उपयोग करते समय आवश्यक है। HTTP Basic Auth (विधि 1) का उपयोग करते समय इसकी आवश्यकता नहीं है।
आईपी ऑटो-डिटेक्शन: सर्वर आपके सार्वजनिक IP पते को निर्धारित करने के लिए आवक TCP कनेक्शन के स्रोत IP का उपयोग करता है। आपको myip पैरामीटर प्रदान करने की आवश्यकता नहीं है.

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

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

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

विधि 2 - HTTPS पर क्वेरी स्ट्रिंग:

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

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

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

वापसी कोड

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

good {ip}

अद्यतन सफल

होस्टनाम रिकॉर्ड को पता लगाए गए IP पते पर अद्यतन किया गया है। वास्तविक आईपी को प्रतिक्रिया में शामिल किया गया है, उदाहरण के लिए good 203.0.113.45। यह अपेक्षित प्रतिक्रिया है जब आपका आईपी बदल गया है।

nochg {ip}

कोई बदलाव की आवश्यकता नहीं है

होस्टनाम पहले से ही पता लगाए गए आईपी पते की ओर इशारा करता है - कोई अपडेट आवश्यक नहीं था। वर्तमान आईपी शामिल है, उदाहरण के लिए nochg 203.0.113.45। यह एक सामान्य, गैर-त्रुटि प्रतिक्रिया है।

badauth

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

उपयोगकर्ता नाम या अद्यतनकर्ता क्लाइंट कुंजी गलत है या वापस ले लिया गया है। FastDDNS डैशबोर्ड में अपने क्रेडेंशियल्स सत्यापित करें। स्वचालित रूप से पुनः प्रयास न करें - पहले क्रेडेंशियल्स को ठीक करें।

nohost

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

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

911

सर्वर त्रुटि

FastDDNS सर्वर साइड पर कोई आंतरिक त्रुटि उत्पन्न हुई। पुनः प्रयास करने से पहले कम से कम 5 मिनट प्रतीक्षा करें। यदि समस्या बनी रहती है, तो FastDDNS स्थिति पृष्ठ या सहायता से संपर्क करें।

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

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

क्लाइंट आईपी प्राप्त करें

FastDDNS एक सरल उपयोगिता समापन बिंदु प्रदान करता है जो सर्वर द्वारा देखे गए सार्वजनिक आईपी पते को लौटाता है। यह डिबगिंग के लिए, यह सत्यापित करने के लिए उपयोगी है कि आपका डिवाइस किस आईपी से भेज रहा है, या अपडेट एंडपॉइंट को कॉल करने से पहले कस्टम स्क्रिप्ट में उपयोग के लिए।

समापन बिंदु

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

कोड उदाहरण

शैल /

# 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

अजगर

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

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

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

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

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

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

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

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

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

सर्वर TCP कनेक्शन के स्रोत IP का उपयोग करता है। यदि आपका डिवाइस NAT राउटर के पीछे है, तो राउटर के सार्वजनिक आईपी का पता लगाया जाएगा - जो आमतौर पर वांछित व्यवहार होता है। यदि आप वीपीएन या प्रॉक्सी पर हैं, तो सर्वर को इसके बजाय वीपीएन/प्रॉक्सी निकास आईपी दिखाई देगा। यह सत्यापित करने के लिए getip endpoint का उपयोग करें कि सर्वर आपके डिवाइस से कौन सा IP देखता है.

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

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

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

हम हर 5 मिनट में आईपी परिवर्तनों की जांच करने की सलाह देते हैं। जब आपका IP नहीं बदला है, तो सर्वर nochg लौटाता है, जो एक हल्का नो-ऑप है। प्रति मिनट एक बार से अधिक बार मतदान करने से हतोत्साहित किया जाता है और इसके परिणामस्वरूप दर सीमित हो सकती है।