免費 IP 歸屬地與 IP 風險檢測 API
高效能、IPv4/IPv6 雙棧、多語言 IP 歸屬地查詢介面,免費開放。頻率限制 1 秒 1 次,無總呼叫次數限制。
本產品使用了 MaxMind 建立的 GeoLite2 資料,獲取地址: https://www.maxmind.com.
⏱️
請求頻率限制
支援最高 1 秒 1 次併發請求 (1 req/s)。
♾️
呼叫配額限制
無每日或總呼叫次數限制,永久免費開放。
介面地址
GET
https://api.myipdns.com/
IPv4
IPv6
JSON 格式
GET
https://v4.api.myipdns.com/
僅限 IPv4
純文字格式
GET
https://v6.api.myipdns.com/
僅限 IPv6
純文字格式
請求引數
| 引數名 | 描述 | 示例 |
|---|---|---|
ip |
要查詢的 IP 地址。如果不填,則返回訪問者的 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)
專為 curl、wget 及自動化腳本設計的高精度直連協議棧探測端點,繞過 CDN 反向代理,直採真實 TCP/TLS/IP 協議棧。
⚡
讀取速率配額
每 IP 每秒 1 次 (突發 5 次)。超限返回 HTTP 429。
🔗
分享建表配額
每 IP 每小時 5 次。超限自動降級為普通診斷 (HTTP 200),不生成分享連結。
介面地址
GET
https://myipdns.com/check
Dual-Stack
預設格式 (ANSI 彩色 / 終端文字)
GET
https://myipdns.com/check?format=line
Dual-Stack
行格式 (KEY=VALUE,專供 Shell 腳本 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 次/小時/IP 配額保護) | ?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 |
|---|---|---|
ip | string | 客戶端出口 IP 地址 |
ip_version | string | IP 協議版本 (IPv4 或 IPv6) (IPv4 / IPv6) |
country | string | 多源投票聚合後的國家全稱 |
country_code | string | ISO 3166-1 alpha-2 兩位大寫國家程式碼 |
city | string | null | 多源投票聚合後的城市英文名 (未測得為 null) |
asn | string | 自治系統編號 (如 AS15169) |
as_org | string | ASN 所屬機構 / ISP 名稱 |
is_datacenter | boolean | 布林值,標識是否為資料中心 / 託管機房 IP |
is_proxy | boolean | 布林值,標識是否為商業代理或 VPN 出口 |
transport | object | 傳輸層指紋物件。🔴 紅線:未測得指標嚴格為 null (絕不回退 0 或 false) |
transport.mss | string | 實測 TCP 最大報文段長度 MSS (如 1380,缺測為 "n/a") |
transport.mtu | integer | null | 基於 MSS 推導的路徑 MTU (如 WireGuard 1420,缺測為 null) |
transport.mtu_note | string | null | 基於 MTU 的網路鏈路啟發式推斷說明 (缺測為 null) |
transport.wscale | integer | null | TCP 視窗縮放因子 WScale (缺測為 null) |
transport.syn_win | integer | null | TCP 初始 SYN 接收視窗大小 (缺測為 null) |
transport.syn_ttl | integer | null | 推斷的客戶端初始 SYN 生存時間 TTL (缺測為 null) |
transport.option_order | string | null | 逗號分隔的 TCP SYN 選項協商順序 (缺測為 null) |
transport.ts_val | integer | null | TCP 時間戳 TSval 數值 (缺測為 null) |
transport.ts_hz | integer | null | 一直為 null。服務端從來沒有測過時間戳時脈頻率;SYN 帶沒帶 TCP 時間戳看 ts_val。 |
transport.ecn_enabled | boolean | null | 顯式擁塞通知 ECN 啟用狀態布林值 (缺測為 null) |
crypto | object | 應用與加密層指紋物件 (HTTP 協議版本、TLS 版本、JA4、JA3、ALPN) |
verdict | object | 拓撲分類結論、判定依據與可讀總結 |
share_url | string (optional) | 僅當請求 ?share=1 且在配額內時生成的 30 天有效期分享連結 |
badge_url | string (optional) | 僅當請求 ?share=1 且在配額內時生成的 SVG 狀態徽章連結 |
行格式 (KEY=VALUE,專供 Shell 腳本 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 / wget) 快捷介面
無需任何複雜的 API 呼叫,在終端中直接執行命令即可快速獲取 IP 資料或純文字 IP。命令列頻率限制為 1 秒 1 次。
1. 獲取本機出口 IP 標準 JSON 資料:
curl https://myipdns.com
2. 獲取指定 IP (如 8.8.8.8) 標準 JSON 資料:
curl https://myipdns.com/ip/8.8.8.8
3. 獲取本機出口 IP 純文字 (供 Shell 腳本讀取):
curl https://myipdns.com/ip
API 常見問題與技術原理
深入瞭解 /check 協議棧測量、未測資料處理規範以及自動化腳本整合最佳實踐。
/check 會發出 HTTP 302 臨時重定向至直連雙棧探針域名 (check_dns.myipdns.com)。該端點徹底繞過 Nginx 反向代理與 CDN 中間層,由後端 Go 服務核心直接捕獲客戶端握手 SYN 報文,從而獲取未被代理層改寫的端到端真實 TCP 選項與 MTU。
為了防禦資料偽造並避免誤導下游腳本。在 TCP 分析中,MTU 為 0 是非法值,未開啟 ECN (Disabled) 與未測得 ECN (如透過 HTTP/3 QUIC 訪問時無 TCP 握手) 是完全不同的技術狀態。未測得項嚴格返回 null。
推薦使用 curl -sL 'https://myipdns.com/check?format=line' 獲取 KEY=VALUE 格式,配合 awk -F= '$1=="mtu"{print $2}' 或 grep 直接提取指標;也可使用 ?format=json 搭配 jq 進行結構化查詢。
普通診斷讀取超出 1 req/s (突發 5) 時將收到包含 Retry-After 的 HTTP 429 響應。帶 ?share=1 的建表請求超出每小時 5 次配額時,系統將自動優雅降級,照常返回完整的 HTTP 200 診斷內容,僅略去 share_url 生成,確保自動化腳本不崩潰。
致謝與鳴謝
我們使用了以下第三方 API 來輔助驗證網路出口節點。
-
www.cloudflare.com
-
api.vore.top
-
myip.ipip.net
-
data.video.iqiyi.com
-
api.ipify.org
-
api6.ipify.org
-
ipv4.agi.li
-
ipv6.agi.li
-
netlify-ip.html.zone
-
ip.011102.xyz
-
api.ip.sb
-
api.ipapi.is
-
api.db-ip.com
-
free.freeipapi.com
-
api.ipquery.io
-
api.ipbase.com
-
wtfismyip.com
-
geolocation-db.com
-
ipv6.my.ipinfo.app
-
myexternalip.com
-
ifconfig.me
-
checkip.amazonaws.com
-
icanhazip.com
-
ipecho.net
-
4.ident.me
-
6.ident.me
-
cloudflare-ip.html.zone
-
ipmax.vercel.app
-
ipv4.jsonip.com
-
ipv6.jsonip.com
-
api.kieng.cn
-
v4.api.myipdns.com
-
v6.api.myipdns.com
-
my.ipinfo.app
-
www.cloudflare-cn.com
-
x.com
-
my.ip.cn
-
api.myip.la