免費 IP 歸屬地與風險識別 API 介面

免費 IP 歸屬地與 IP 風險檢測 API

高效能、IPv4/IPv6 雙棧、多語言 IP 歸屬地查詢介面,免費開放。頻率限制 1 秒 1 次,無總呼叫次數限制。

⏱️
請求頻率限制 支援最高 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
ipstring客戶端出口 IP 地址
ip_versionstringIP 協議版本 (IPv4 或 IPv6) (IPv4 / IPv6)
countrystring多源投票聚合後的國家全稱
country_codestringISO 3166-1 alpha-2 兩位大寫國家程式碼
citystring | null多源投票聚合後的城市英文名 (未測得為 null)
asnstring自治系統編號 (如 AS15169)
as_orgstringASN 所屬機構 / ISP 名稱
is_datacenterboolean布林值,標識是否為資料中心 / 託管機房 IP
is_proxyboolean布林值,標識是否為商業代理或 VPN 出口
transportobject傳輸層指紋物件。🔴 紅線:未測得指標嚴格為 null (絕不回退 0 或 false)
transport.mssstring實測 TCP 最大報文段長度 MSS (如 1380,缺測為 "n/a")
transport.mtuinteger | null基於 MSS 推導的路徑 MTU (如 WireGuard 1420,缺測為 null)
transport.mtu_notestring | null基於 MTU 的網路鏈路啟發式推斷說明 (缺測為 null)
transport.wscaleinteger | nullTCP 視窗縮放因子 WScale (缺測為 null)
transport.syn_wininteger | nullTCP 初始 SYN 接收視窗大小 (缺測為 null)
transport.syn_ttlinteger | null推斷的客戶端初始 SYN 生存時間 TTL (缺測為 null)
transport.option_orderstring | null逗號分隔的 TCP SYN 選項協商順序 (缺測為 null)
transport.ts_valinteger | nullTCP 時間戳 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)僅當請求 ?share=1 且在配額內時生成的 30 天有效期分享連結
badge_urlstring (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 來輔助驗證網路出口節點。