विहंगावलोकन
FastDDNS क्लाइंट API किसी भी HTTP-सक्षम डिवाइस - राउटर, आईपी कैमरा, स्क्रिप्ट, या समर्पित अपडेटर सॉफ़्टवेयर - को आपके वर्तमान आईपी पते पर इंगित करने के लिए आपके DNS होस्टनाम को रखने की अनुमति देता है। एपीआई एक सरल जीईटी-अनुरोध डिज़ाइन का अनुसरण करता है: आपका क्लाइंट क्रेडेंशियल और एक होस्टनाम भेजता है, और सर्वर परिणाम को इंगित करने वाले एक छोटे स्थिति कोड के साथ प्रतिक्रिया करता है।
सर्वर स्वचालित रूप से आने वाले कनेक्शन से क्लाइंट के सार्वजनिक आईपी पते का पता लगाता है। आपके आईपी को निर्दिष्ट करने के लिए किसी अतिरिक्त पैरामीटर की आवश्यकता नहीं है।
प्रमाणीकरण
एपीआई दो प्रमाणीकरण विधियों का समर्थन करता है। दोनों को समान रूप से स्वीकार किया जाता है - जो भी आपके डिवाइस या राउटर पर कॉन्फ़िगर करना आसान हो उसे चुनें।
user_name और user_pass जारी किया जाता है। ये क्रेडेंशियल्स कर सकते हैं केवल
उस विशिष्ट होस्टनाम को अद्यतन करें और FastDDNS प्रबंधन डैशबोर्ड में लॉग इन करने के लिए उपयोग नहीं किया जा सकता है। यह डिज़ाइन प्रभाव को सीमित करता है यदि किसी डिवाइस की साख से कभी समझौता किया जाता है।
विधि 1 - HTTP बेसिक ऑथ (URL-एम्बेडेड)
क्रेडेंशियल्स मानक user:password@host स्वरूप का उपयोग करके URL में एम्बेड किए जाते हैं. यह राउटर, कैमरे और HTTP क्लाइंट लाइब्रेरी द्वारा व्यापक रूप से समर्थित है। पासवर्ड के रूप में अपने डैशबोर्ड से अपडेटर क्लाइंट कुंजी का उपयोग करें।
| फ़ील्ड | या क़िस्म | इसे कहां खोजा जाए |
|---|---|---|
| {user_name} | निर्माण समय पर इस विशिष्ट होस्टनाम को असाइन किया गया उपयोगकर्ता नाम. | FastDDNS डैशबोर्ड → होस्टनाम → विवरण |
| {user_pass} | निर्माण समय पर इस विशिष्ट होस्टनाम को असाइन किया गया पासवर्ड. | FastDDNS डैशबोर्ड → होस्टनाम → विवरण |
| {hostname} | अपडेट करने के लिए पूरी तरह से योग्य होस्टनाम, उदाहरण के लिए। testhost.fastddns.org पर टैप करें. |
FastDDNS डैशबोर्ड → होस्टनाम → विवरण |
विधि 2 - क्वेरी स्ट्रिंग पैरामीटर
क्रेडेंशियल्स को hostname के साथ सादे क्वेरी पैरामीटर के रूप में पास किया जाता है. यह उन उपकरणों और फर्मवेयर के लिए उपयोगी है जो HTTP बेसिक ऑथ हेडर को कॉन्फ़िगर नहीं कर सकते हैं लेकिन पूरी तरह से कस्टम URL स्ट्रिंग की अनुमति देते हैं।
| प्राचल | प्रकार | या क़िस्म |
|---|---|---|
| {user_name} |
string | इस होस्टनाम को असाइन किया गया उपयोगकर्ता नाम जब इसे बनाया गया था. |
| {user_pass} | string | इस होस्टनाम को असाइन किया गया पासवर्ड जब इसे बनाया गया था. |
| {hostname} | string | अद्यतन करने के लिए पूरी तरह से योग्य होस्टनाम, उदाहरण के लिए testhost.fastddns.org. |
क्वेरी स्ट्रिंग प्रमाणीकरण का उपयोग करने का उदाहरण:
अद्यतन करें
अपने खाते में पंजीकृत होस्टनाम के IP पते को अपडेट करने के लिए एक एकल GET अनुरोध भेजें। प्रत्येक अनुरोध एक समय में एक होस्टनाम अपडेट करता है।
समापन बिंदु
https को http से बदलें।URL प्रारूप - विधि 1: HTTP मूल प्रमाणीकरण
URL स्वरूप — विधि 2: क्वेरी स्ट्रिंग
क्वेरी पैरामीटर
| प्राचल | प्रकार | या क़िस्म |
|---|---|---|
| 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) का उपयोग करते समय इसकी आवश्यकता नहीं है। |
myip पैरामीटर प्रदान करने की आवश्यकता नहीं है.
उदाहरण अनुरोध
विधि 1 - HTTPS पर HTTP बेसिक ऑथ:
विधि 2 - HTTPS पर क्वेरी स्ट्रिंग:
सादे HTTP का उपयोग करना (केवल परीक्षण/विश्वसनीय नेटवर्क):
वापसी कोड
सभी अद्यतन प्रतिक्रियाएँ HTTP स्थिति लौटाती हैं 200 ठीक है एक सादे पाठ शरीर के साथ। आपके क्लाइंट को अद्यतन के वास्तविक परिणाम को निर्धारित करने के लिए इस पाठ के मुख्य भाग को पार्स करना होगा।
अद्यतन सफल
होस्टनाम रिकॉर्ड को पता लगाए गए IP पते पर अद्यतन किया गया है। वास्तविक आईपी को प्रतिक्रिया में शामिल किया गया है, उदाहरण के लिए good 203.0.113.45। यह अपेक्षित प्रतिक्रिया है जब आपका आईपी बदल गया है।
कोई बदलाव की आवश्यकता नहीं है
होस्टनाम पहले से ही पता लगाए गए आईपी पते की ओर इशारा करता है - कोई अपडेट आवश्यक नहीं था। वर्तमान आईपी शामिल है, उदाहरण के लिए nochg 203.0.113.45। यह एक सामान्य, गैर-त्रुटि प्रतिक्रिया है।
प्रमाणीकरण विफल रहा
उपयोगकर्ता नाम या अद्यतनकर्ता क्लाइंट कुंजी गलत है या वापस ले लिया गया है। FastDDNS डैशबोर्ड में अपने क्रेडेंशियल्स सत्यापित करें। स्वचालित रूप से पुनः प्रयास न करें - पहले क्रेडेंशियल्स को ठीक करें।
होस्टनाम नहीं मिला
निर्दिष्ट होस्टनाम आपके खाते में मौजूद नहीं है या डायनेमिक अपडेट के लिए योग्य नहीं है. होस्टनाम वर्तनी की जांच करें और पुष्टि करें कि यह आपके खाते के तहत पंजीकृत है।
सर्वर त्रुटि
FastDDNS सर्वर साइड पर कोई आंतरिक त्रुटि उत्पन्न हुई। पुनः प्रयास करने से पहले कम से कम 5 मिनट प्रतीक्षा करें। यदि समस्या बनी रहती है, तो FastDDNS स्थिति पृष्ठ या सहायता से संपर्क करें।
प्रतिक्रिया सारांश
| प्रतिक्रिया पाठ | HTTP स्थिति | अर्थ | कार्रवाई की आवश्यकता है |
|---|---|---|---|
| good {ip} | 200 | आईपी सफलतापूर्वक अपडेट किया गया | कोई नहीं - अपडेट पूरा |
| nochg {ip} | 200 | आईपी अपरिवर्तित, कोई अपडेट नहीं किया गया | कोई नहीं - पहले से ही वर्तमान |
| badauth | 200 | अमान्य क्रेडेंशियल्स | उपयोगकर्ता नाम/ग्राहक कुंजी की जाँच करें |
| nohost | 200 | होस्टनाम पंजीकृत नहीं है | डैशबोर्ड में होस्टनाम सत्यापित करें |
| 911 | 200 | सर्वर-साइड त्रुटि | 5+ मिनट के बाद पुनः प्रयास करें |
200 लौटाता है - टेक्स्ट बॉडी आपको बताता है कि अपडेट वास्तव में सफल हुआ है या नहीं।
क्लाइंट आईपी प्राप्त करें
FastDDNS एक सरल उपयोगिता समापन बिंदु प्रदान करता है जो सर्वर द्वारा देखे गए सार्वजनिक आईपी पते को लौटाता है। यह डिबगिंग के लिए, यह सत्यापित करने के लिए उपयोगी है कि आपका डिवाइस किस आईपी से भेज रहा है, या अपडेट एंडपॉइंट को कॉल करने से पहले कस्टम स्क्रिप्ट में उपयोग के लिए।
समापन बिंदु
प्रतिक्रिया
HTTP लौटाता है 200 ठीक है प्रतिक्रिया निकाय में सादे पाठ के रूप में पता लगाए गए सार्वजनिक आईपी पते के साथ।
# Example response body
203.0.113.45RESPONSE
उदाहरण अनुरोध
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 लौटाता है, जो एक हल्का नो-ऑप है। प्रति मिनट एक बार से अधिक बार मतदान करने से हतोत्साहित किया जाता है और इसके परिणामस्वरूप दर सीमित हो सकती है।