رابط API رایگان برای موقعیت‌یابی آی‌پی و تشخیص ریسک تقلب

API رایگان موقعیت‌یابی آی‌پی و ارزیابی ریسک تقلب IP

سرویس با عملکرد بالا، دوگانه IPv4/IPv6 و چندزبانه برای استعلام موقعیت آی‌پی. محدودیت نرخ: 1 درخواست در ثانیه، بدون محدودیت در مجموع فراخوانی‌ها.

⏱️
محدودیت نرخ درخواست حداکثر 1 درخواست در ثانیه (1 req/s).
♾️
سقف مجاز کل فراخوانی‌ها بدون محدودیت روزانه یا سقف کل. 100% رایگان برای استفاده همیشگی.

نقاط انتهایی (Endpoints) رابط API

GET https://api.myipdns.com/
IPv4 IPv6 قالب JSON
GET https://v4.api.myipdns.com/
فقط IPv4 قالب متن ساده (Plain Text)
GET https://v6.api.myipdns.com/
فقط IPv6 قالب متن ساده (Plain Text)

پارامترهای درخواست

نام پارامتر توضیحات نمونه
ip نشانی آی‌پی مورد نظر برای استعلام. در صورت خالی گذاشتن، نشانی آی‌پی درخواست‌دهنده بازگردانده می‌شود. ?ip=8.8.8.8
lang زبان پاسخ. زبان‌های پشتیبانی‌شده: en, cn, ru, ja, fr, de, es, pt. ?lang=zh-CN

نمونه پاسخ JSON

Request: GET https://api.myipdns.com/?ip=8.8.8.8&lang=en

{
  "ip": "8.8.8.8",
  "continent": "North America",
  "continent_code": "NA",
  "country": "United States",
  "country_code": "US",
  "timezone": "America/Chicago",
  "latitude": 37.751,
  "longitude": -97.822,
  "asn": 15169,
  "as_org": "Google LLC",
  "native_type": "native",
  "rir_registry": "arin",
  "is_hosting": true,
  "usage_type": "DCH",
  "query_time": "0.03",
  "source": "maxmind.com"
}

API تشخیص پشته پروتکل و توپولوژی شبکه در ترمینال (/check)

نقطه دسترسی مستقیم، پرسرعت و دقیق برای استعلام پشته پروتکل و توپولوژی خروجی بدون واسطه پروکسی یا CDN، ویژه curl، wget و اسکریپت‌های خودکار.

⚡
محدودیت نرخ خواندن 1 درخواست در ثانیه (حداکثر جهش 5) به ازای هر آی‌پی. در صورت عبور، خطای HTTP 429 بازگردانده می‌شود.
🔗
سقف ایجاد اشتراک 5 ثبت در ساعت به ازای هر آی‌پی. با عبور از این سقف، نتایج با کد HTTP 200 بدون ایجاد پیوند اشتراک بازگردانده می‌شوند.

نقاط انتهایی (Endpoints) رابط API

GET https://myipdns.com/check
Dual-Stack خروجی پیش‌فرض (رنگ‌های ANSI / متن ترمینال)
GET https://myipdns.com/check?format=line
Dual-Stack قالب خطی (KEY=VALUE برای پردازش در شل با awk و grep)
GET https://myipdns.com/check?format=json
Dual-Stack قالب ساختاریافته JSON

پارامترهای درخواست

نام پارامتر توضیحات نمونه
format تعیین قالب خروجی: json (ساختاریافته JSON) یا line (قالب خطی KEY=VALUE) ?format=line / ?format=json
share تولید پیوند گزارش 30 روزه و بج وضعیت SVG (دارای سقف 5 ثبت در ساعت برای هر آی‌پی) ?share=1
color غیرفعال‌سازی کدهای رنگی ANSI ترمینال: ?color=0 یا ?plain=1 ?color=0 / ?plain=1
-4 / -6 انتخاب صریح پشته پروتکل IPv4 یا IPv6: دستور curl -4 یا curl -6 curl -4 -sL https://myipdns.com/check

مشخصات کامل فیلدهای پاسخ JSON

Field Type Description
ipstringنشانی آی‌پی خروجی کلاینت
ip_versionstringنسخه پروتکل IP (IPv4 یا IPv6) (IPv4 / IPv6)
countrystringنام کشور تعیین‌شده بر اساس اجماع چند منبع داده
country_codestringکد کشور دو حرفی استاندارد ISO 3166-1 alpha-2 با حروف بزرگ
citystring | nullنام شهر بر اساس اجماع چند منبع داده (یا null در صورت عدم اندازه‌گیری)
asnstringشماره سیستم خودگردان (مانند AS15169)
as_orgstringنام سازمان مالک ASN یا نام اپراتور اینترنت (ISP)
is_datacenterbooleanمتغیر بولی، نشان‌دهنده آی‌پی دیتاسنتر یا هاستینگ
is_proxybooleanمتغیر بولی، نشان‌دهنده خروجی پروکسی یا فیلترشکن تجاری
transportobjectشیء مشخصات لایه انتقال. 🔴 خط قرمز: مقادیر اندازه‌گیری‌نشده همواره به صورت null بازگردانده می‌شوند (هرگز 0 یا false نیستند)
transport.mssstringحداکثر اندازه سگمنت (MSS) ثبت‌شده در TCP (مانند 1380 یا "n/a")
transport.mtuinteger | nullمقدار تخمینی MTU مسیر بر پایه MSS (مثلاً 1420 برای WireGuard یا null)
transport.mtu_notestring | nullتوضیحات تخمین نوع لینک بر اساس MTU (یا null)
transport.wscaleinteger | nullضریب مقیاس پنجره TCP (یا null)
transport.syn_wininteger | nullاندازه پنجره اولیه دریافتی SYN در TCP (یا null)
transport.syn_ttlinteger | nullزمان حیات اولیه تخمین‌زده‌شده SYN کلاینت (یا null)
transport.option_orderstring | nullترتیب گزینه‌های مذاکره SYN با کاما (یا null)
transport.ts_valinteger | nullمقدار برچسب زمانی TCP TSval (یا null)
transport.ts_hzinteger | nullهمیشه null. سرور هرگز فرکانس ساعت برچسب زمانی را اندازه‌گیری نکرده است؛ اینکه آیا SYN حاوی برچسب‌های زمانی TCP بوده است با ts_val نشان داده می‌شود.
transport.ecn_enabledboolean | nullوضعیت بولی فعال بودن ECN اعلان صریح ازدحام (یا null)
cryptoobjectشیء مشخصات دست‌دادن رمزنگاری و برنامه (نسخه HTTP، نسخه TLS، JA4، JA3 و ALPN)
verdictobjectنتیجه طبقه‌بندی توپولوژی، مبنای استنتاج و توضیحات خلاصه
share_urlstring (optional)پیوند گزارش 30 روزه در صورت درخواست share=1? در محدوده مجاز
badge_urlstring (optional)نشانی نشان وضعیت تصویری SVG در صورت درخواست share=1? در محدوده مجاز

قالب خطی (KEY=VALUE برای پردازش در شل با awk و grep) Example:

ip=35.212.190.31
ip_version=IPv4
country=United States
country_code=US
city=San Jose
asn=AS15169
as_org=Google LLC
is_datacenter=true
is_proxy=false
mss=1380
mtu=1420
mtu_note=Encapsulated Tunnel (WireGuard / Tailscale / CDN)
wscale=7
syn_win=65535
syn_ttl=64
option_order=MSS,SACK_PERM,TS,NOP,WS
ts_val=987654
ts_hz=n/a
ecn_enabled=true
http_proto=HTTP/2.0
tls_version=TLS 1.3
ja4=t13d1516h2_8daaf6152771_000000000000
verdict=topo_terminated_remote_protocol
verdict_basis=reputation
verdict_summary=Data Center / Proxy Egress (Hosting Network)

قالب ساختاریافته JSON Example:

{
  "ip": "35.212.190.31",
  "ip_version": "IPv4",
  "country": "United States",
  "country_code": "US",
  "city": "San Jose",
  "asn": "AS15169",
  "as_org": "Google LLC",
  "is_datacenter": true,
  "is_proxy": false,
  "transport": {
    "mss": "1380",
    "mtu": 1420,
    "mtu_note": "Encapsulated Tunnel (WireGuard / Tailscale / CDN)",
    "wscale": 7,
    "syn_win": 65535,
    "syn_ttl": 64,
    "option_order": "MSS,SACK_PERM,TS,NOP,WS",
    "ts_val": 987654,
    "ts_hz": null,
    "ecn_enabled": true
  },
  "crypto": {
    "http_proto": "HTTP/2.0",
    "tls_version": "TLS 1.3",
    "ja4": "t13d1516h2_8daaf6152771_000000000000"
  },
  "verdict": {
    "key": "topo_terminated_remote_protocol",
    "basis": "reputation",
    "summary": "Data Center / Proxy Egress (Hosting Network)"
  }
}

رابط خط فرمان (CLI / curl)

بدون نیاز به یکپارچه‌سازی پیچیده با API. دستورات را مستقیماً در ترمینال خود اجرا کنید تا مشخصات آی‌پی یا متن ساده نشانی را دریافت کنید. درخواست‌های خط فرمان دارای محدودیت نرخ 1 درخواست در ثانیه هستند.

1. دریافت مشخصات استاندارد JSON آی‌پی خروجی سیستم خود:

curl https://myipdns.com

2. دریافت مشخصات استاندارد JSON یک آی‌پی مشخص (مثلاً 8.8.8.8):

curl https://myipdns.com/ip/8.8.8.8

3. دریافت رشته متنی ساده آی‌پی (مناسب برای اسکریپت‌های شل):

curl https://myipdns.com/ip

معماری فنی و پرسش‌های متداول API

آشنایی با پایش پشته پروتکل check/، قواعد ایمنی مقادیر null و شیوه ادغام در اسکریپت‌های خودکار.

نقطه پایانی check/ یک ریدایرکت موقت HTTP 302 به دامنه پروب مستقیم دوگانه (check_dns.myipdns.com) انجام می‌دهد. با دور زدن پروکسی معکوس و CDN، هسته سرویس مستقیماً بسته TCP SYN کلاینت را دریافت کرده و مقادیر حقیقی MTU، مقیاس پنجره و گزینه‌های TCP را ثبت می‌کند.

جهت جلوگیری از تحریف داده‌ها و گمراه شدن اسکریپت‌ها. در تحلیل TCP، مقدار MTU صفر غیرمجاز است و وضعیت ECN غیرفعال کاملاً با ECN اندازه‌گیری‌نشده (مانند دسترسی با HTTP/3 QUIC بدون TCP) تفاوت دارد. شاخص‌های محاسبه‌نشده اکیداً null برمی‌گردند.

می‌توانید دستور 'curl -sL https://myipdns.com/check?format=line' را با ابزارهایی نظیر 'awk -F= $1=="mtu"{print $2}' یا grep استفاده کنید؛ یا با پارامتر format=json? و ترکیب با ابزار jq نتایج ساختاریافته را بخوانید.

درخواست‌های عادی با عبور از نرخ 1 در ثانیه (جهش 5) خطای HTTP 429 همراه با هدر Retry-After دریافت می‌کنند. درخواست‌های با پارامتر share=1? با عبور از سقف 5 بار در ساعت به صورت هوشمند نتایج استاندارد HTTP 200 را بدون تولید پیوند اشتراک برمی‌گردانند تا اسکریپت‌ها متوقف نشوند.

قدردانی و منابع همکار

ما از رابط‌های API شخص ثالث زیر برای ارزیابی و تایید نودهای خروجی شبکه استفاده می‌کنیم.