免费 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 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推算的 TCP 时间戳时钟频率 Hz (缺测为 null)
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=1000
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": 1000,
    "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 来辅助验证网络出口节点。