写了一个极简且免费的 IP 地址查询服务

18 条回复
174 次浏览

GOIP - IP 地址查询服务

一个基于 Merged-IP-Data 数据库,极简的 IP 地址查询服务,支持并发以及多语言、简化输出格式。

github 地址

功能特性

  • 完全免费,下载即使用
  • 毫秒级响应,准确度高
  • 两种输出格式:完整版 / 简化版
  • 多语言支持:简体中文、英语、德语、法语、日语等
  • 支持多 IP 并发查询(逗号分隔)
  • 支持下载/更新 IP 数据库
  • 下载进度条显示
  • 提供免费服务 https://ip.hzzio.top https://ip.hzzio.top/s (请勿滥用)

使用步骤

1. 下载编译好的文件启动

2. 下载 IP 数据库

首次运行服务时,如果检测到本地没有 IP 数据库,会自动下载默认数据库:

复制
./goip.exe

手动下载/更新方式

方式一:下载默认数据库

复制
./goip.exe -d 1

方式二:下载指定 URL 的数据库

复制
./goip.exe -d https://example.com/custom.mmdb

下载完成后会自动退出,数据库文件保存为 Merged-IP.mmdb

3. 启动服务

默认监听端口 8066,可通过 -p 参数指定端口:

复制
./goip.exe -p 8080

4. API 接口

完整版查询(默认)

路由/

参数

  • ip:要查询的 IP 地址(多个用逗号分隔)

示例

复制
# 查询单个 IP
curl "http://127.0.0.1:8066/?ip=8.8.8.8"

# 批量查询
curl "http://127.0.0.1:8066/?ip=8.8.8.8,1.1.1.1,114.114.114.114"

响应示例

复制
[
  {
    "ip": "8.8.8.8",
    "data": {
      "city": {...},
      "continent": {...},
      "country": {...},
      "location": {...},
      "subdivisions": [...],
      "asn": {...}
    }
  }
]

简化版查询

路由/s/s/{lang}

参数

  • ip:要查询的 IP 地址(多个用逗号分隔)
  • {lang}:语言代码(可选,默认为 zh-CN

支持的语言

语言代码说明
zh-CN简体中文(默认)
en英语
de德语
es西班牙语
fr法语
ja日语
pt-BR巴西葡萄牙语
ru俄语

示例

复制
# 默认简体中文
curl "http://127.0.0.1:8066/s?ip=188.253.117.144"

# 英文输出
curl "http://127.0.0.1:8066/s/en?ip=8.8.8.8"

# 日语输出
curl "http://127.0.0.1:8066/s/ja?ip=1.1.1.1"

# 批量查询
curl "http://127.0.0.1:8066/s/zh-CN?ip=8.8.8.8,1.1.1.1,114.114.114.114"

响应示例

复制
[
  {
    "organization": "Google LLC",
    "city": "Mountain View",
    "isp": "google.com",
    "asn_organization": "Google LLC",
    "latitude": 37.40599,
    "asn": 15169,
    "continent_code": "NA",
    "country": "美国",
    "timezone": "America/Los_Angeles",
    "country_code": "US",
    "longitude": -122.078514,
    "region": "加利福尼亚州",
    "ip": "8.8.8.8",
    "region_code": "CA"
  }
]

简化版字段说明

字段说明
ipIP 地址
asnAS 号码
asn_organizationAS 组织名称
organization组织名称(同 asn_organization)
ispISP 域名
continent_code大洲代码
country国家名称
country_code国家代码
region地区/省份
region_code地区代码
city城市名称
latitude纬度
longitude经度
timezone时区
都听我说!

多接几个 IP 库,准确度才能明显提高,甚至还能搞 IP 评分

马上来

数据不准:陕西咸阳的 IP,被鉴定为 湖北襄樊 的了
其他的 IP 查询都能正确定位。

发表一个评论

R保持