نظرة عامة
تسمح واجهة برمجة تطبيقات عميل FastDDNS لأي جهاز يدعم HTTP — سواء أجهزة التوجيه، أو كاميرات IP، أو السكريبتات الذهنية، أو برامج تحديث مخصصة — بإبقاء اسم مضيف DNS موجها إلى عنوان IP الحالي الخاص بك. تتبع واجهة برمجة التطبيقات تصميم طلب GET بسيط: يرسل العميل بيانات الاعتماد واسم المضيف، ويرد الخادم برمز حالة قصير يشير إلى النتيجة.
يكتشف الخادم تلقائيا عنوان IP العام للعميل من الاتصال الوارد. لا حاجة لمعايير إضافية لتحديد عنوان IP الخاص بك.
المصادقة
تدعم واجهة برمجة التطبيقات طريقتين للمصادقة. كلاهما مقبول بالتساوي — اختر أيهما أسهل في التكوين على جهازك أو جهاز التوجيه.
user_name وuser_pass مخصص له. هذه الشهادات يمكن أن تفعل فقط
تحديث ذلك اسم المضيف المحدد ولا يمكن استخدامه لتسجيل الدخول إلى لوحة إدارة FastDDNS. هذا التصميم يحد من التأثير إذا تم اختراق بيانات اعتماد الجهاز يوما ما.
الطريقة 1 — مصادقة HTTP الأساسية (مدمجة في URL)
يتم تضمين بيانات الاعتماد في الرابط باستخدام صيغة user:password@host القياسية. يدعم هذا على نطاق واسع من قبل أجهزة التوجيه والكاميرات ومكتبات عملاء HTTP. استخدم مفتاح العميل المحدث من لوحة التحكم الخاصة بك ككلمة مرور.
| الميدان | الوصف | أين تجدها |
|---|---|---|
| {user_name} | اسم المستخدم المخصص لهذا اسم المضيف المحدد عند وقت الإنشاء. | لوحة تحكم FastDDNS → أسماء المضيفين → التفاصيل |
| {user_pass} | كلمة المرور المخصصة لهذا اسم المضيف المحدد عند وقت الإنشاء. | لوحة تحكم FastDDNS → أسماء المضيفين → التفاصيل |
| {hostname} | اسم المضيف المؤهل بالكامل للتحديث، مثل testhost.fastddns.org. |
لوحة تحكم FastDDNS → أسماء المضيفين → التفاصيل |
الطريقة 2 — استعلام معلمات السلاسل النصية
يتم تمرير بيانات الاعتماد كمعلمات استعلام بسيطة إلى جانب hostname. هذا مفيد للأجهزة والبرمجيات الثابتة التي لا يمكنها تكوين رؤوس HTTP Basic Auth لكنها تسمح بسلسلة URL مخصصة بالكامل.
| المعلمة | النوع | الوصف |
|---|---|---|
| {user_name} |
string | اسم المستخدم المخصص لهذا الاسم المضيف عند إنشائه. |
| {user_pass} | string | كلمة المرور المخصصة لهذا الاسم عند إنشائه. |
| {hostname} | string | اسم المضيف المؤهل بالكامل للتحديث، مثل testhost.fastddns.org. |
مثال باستخدام مصادقة سلسلة الاستعلام:
تحديث الأداء
أرسل طلب GET واحد لتحديث عنوان IP لاسم مضيف مسجل في حسابك. كل طلب يقوم بتحديث اسم مضيف واحد في كل مرة.
نقطة النهاية
https ب http.تنسيق URL — الطريقة 1: HTTP Basic Author
تنسيق الرابط — الطريقة 2: سلسلة الاستعلام
معلمات الاستعلام
| المعلمة | النوع | الوصف |
|---|---|---|
| hostname مطلوب | string | اسم المضيف المؤهل بالكامل (FQDN) للتحديث، مثل myhome.fastddns.net أو testhost.fastddns.org. يتم دعم اسم مضيف واحد فقط لكل طلب. |
| user_name الطريقة 2 | string | اسم المستخدم لهذا الاسم المضيف. مطلوب عند استخدام مصادقة سلاسل الاستعلام (الطريقة 2). غير ضروري عند استخدام HTTP Basic Authorth (الطريقة 1). |
| user_pass الطريقة 2 | string | كلمة المرور لهذا المضيف. مطلوب عند استخدام مصادقة سلاسل الاستعلام (الطريقة 2). غير ضروري عند استخدام HTTP Basic Authorth (الطريقة 1). |
myip.
طلبات أمثلة
الطريقة 1 — مصادقة HTTP الأساسية عبر HTTPS:
الطريقة 2 — سلسلة الاستعلام عبر HTTPS:
باستخدام HTTP عادي (الاختبار / الشبكات الموثوقة فقط):
رموز العودة
جميع ردود التحديث تعيد حالة HTTP 200 حسنا مع نص بسيط. يجب على عميلك تحليل هذا النص لتحديد النتيجة الفعلية للتحديث.
تحديث ناجح
تم تحديث سجل اسم المضيف إلى عنوان IP المكتشف. يتم تضمين عنوان IP الفعلي في الرد، مثل good 203.0.113.45. هذا هو الرد المتوقع عندما يتغير عنوان IP الخاص بك.
لا حاجة لتغيير
اسم المضيف يشير بالفعل إلى عنوان IP المكتشف — لم يكن هناك حاجة لأي تحديث. تم تضمين عنوان IP الحالي، مثل nochg 203.0.113.45. هذه استجابة طبيعية وغير خاطئة.
فشل المصادقة
اسم المستخدم أو مفتاح العميل المحدث غير صحيح أو تم إلغاؤه. تحقق من بيانات اعتمادك في لوحة تحكم FastDDNS. لا تعيد المحاولة تلقائيا — أصلح بيانات الاعتماد أولا.
اسم المضيف غير موجود
اسم المضيف المحدد غير موجود في حسابك أو غير مؤهل للتحديثات الديناميكية. تحقق من تهجئة اسم المضيف وتأكد من أنه مسجل تحت حسابك.
خطأ في الخادم
حدث خطأ داخلي على جانب خادم FastDDNS. انتظر على الأقل 5 دقائق قبل إعادة المحاولة. إذا استمرت المشكلة، تحقق من صفحة حالة FastDDNS أو تواصل مع الدعم.
ملخص الردود
| نص الرد | حالة HTTP | المعنى | الإجراءات المطلوبة |
|---|---|---|---|
| good {ip} | 200 | تم تحديث IP بنجاح | لا شيء — تم الانتهاء من التحديث |
| nochg {ip} | 200 | عنوان IP لم يتغير، ولا يتم تحديث | لا شيء — حديث بالفعل |
| badauth | 200 | الاعتمادات غير الصالحة | تحقق من اسم المستخدم / مفتاح العميل |
| nohost | 200 | اسم المضيف غير مسجل | تحقق من اسم المضيف في لوحة المعلومات |
| 911 | 200 | خطأ على جانب الخادم | إعادة المحاولة بعد 5+ دقائق |
200 — حيث يخبرك نص النص ما إذا كان التحديث قد نجح فعلا.
احصل على IP للعميل
يوفر FastDDNS نقطة نهاية بسيطة تعيد عنوان IP العام كما يراه الخادم. هذا مفيد لتصحيح الأخطاء، أو للتحقق من عنوان IP الذي يرسل منه جهازك، أو للاستخدام في السكربتات المخصصة قبل استدعاء نقطة نهاية التحديث.
نقطة النهاية
الرد
يعيد HTTP 200 حسنا مع عنوان IP العام المكتشف كنص عادي في جسم الرد.
# Example response body
203.0.113.45RESPONSE
طلبات أمثلة
باستخدام curl:
curl https://client.fastddns.net/dyndns/getipSHELL
أمثلة على الشيفرة
شل / 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
بايثون
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
باش (سكريبت كرون / راوتر)
#!/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 خاطئ
يستخدم الخادم عنوان IP المصدر لاتصال TCP. إذا كان جهازك خلف جهاز توجيه NAT، سيتم اكتشاف عنوان IP العام للراوتر — وهو عادة السلوك المطلوب. إذا كنت تستخدم VPN أو بروكسي، سيرى الخادم IP الخاص بالخروج من VPN/البروكسي بدلا من ذلك. استخدم getip endpoint للتحقق من أي عنوان IP يراها الخادم من جهازك.
أتلقى 911
وهذا يشير إلى مشكلة مؤقتة على جانب الخادم. انتظر على الأقل 5 دقائق قبل إعادة المحاولة. لا تعيد الطلبات بسرعة — فقد يؤدي ذلك إلى تقييد المعدل. تحقق من صفحة حالة FastDDNS لأي حوادث نشطة.
كم مرة يجب أن أراجع نقطة نهاية التحديث؟
نوصي بالتحقق من تغييرات IP كل 5 دقائق. عندما لا يتغير عنوان IP الخاص بك، يعيد الخادم nochg، وهو أمر غير متوقع بشكل خفيف. يتم تثبيط إجراء استطلاعات أكثر من مرة في الدقيقة وقد يؤدي ذلك إلى تحديد معدلات التصويت.