GeoCN

11小时前发布 4 0 0

GeoCN 是一个专注、实用、免费的中国大陆IP离线定位库,在精度和易用性之间找到了很好的平衡点。

收录时间:
2026-06-05

在网络开发、风控、安全、广告投放和数据分析等领域,IP 地理定位是基础能力之一。传统的 MaxMind GeoLite 等数据库对中国大陆的精度往往只到省级或市级,无法满足精细化需求。而 GeoCN正是为解决这一痛点而生的开源项目:**中国大陆高精度 IPv4 + IPv6 离线库,部分 IP 精确到区级**。

GeoCN

GeoCN 网站截图

GeoCN 的核心特色

  1. 高精度定位 项目专注于中国大陆 IP 段,仅包含 MaxMind 显示为 CN 的数据。通过二分算法扫描公开高质量 API 接口并清洗整理,IPv4 网段超过 110 万,IPv6 网段数万条。许多 IP 可精确到区/县级别,远超常规数据库。区域编码数据来源于可靠的,确保行政区划准确。
  2. MMDB 格式,兼容性强 提供标准的 GeoCN.mmdb 文件,可直接被 MaxMind 官方库(如 maxminddb-golang、geoip2 等)读取。支持同时集成 ASN、City 等其他数据库,轻松扩展。
  3. 丰富数据字段
    • IPv4:主要包含 division_code(行政区划代码)和 isp(运营商)。
    • IPv6:额外包含 type(宽带、基站、专线、IDC 等)。 结合内置的省份/城市/区划映射,能返回全称、简称等结构化信息,非常适合后端服务解析。
  4. 随缘高频更新 作者会根据上游 API 精度定期更新(最新版本如 v26.4.19)。虽然不是每日更新,但数据质量和覆盖率在同类开源项目中处于领先水平。如果你有更好的公开 API,也欢迎贡献。
  5. 免费开源 + 在线演示 完全开源(Go 语言实现),GitHub Star 近 500。提供多个在线查询演示站点:

适用场景

  • 安全与风控:精准识别用户所在区县,防范地域性欺诈。
  • 广告与推荐:实现区县级别的精准营销,提升转化。
  • 日志分析 / CDN:本地化流量调度、统计。
  • P2P / 下载工具:如 PeerBanHelper 等项目已集成 GeoCN 用于客户端识别。
  • 自建 IP 查询服务:搭建私有化、高性能 API。

如何部署 GeoCN

GeoCN 部署非常友好,提供 Docker 一键部署源码编译 两种方式。

1. 最推荐:Docker 部署(最简单)

Bash
docker run -d -p 8000:80 netart/ipapi
  • 容器已内置最新数据和所有依赖。
  • 映射 8000 端口(或自定义)后,即可通过 http://your-ip:8000/ 或带 IP 参数访问。
  • 更新数据:docker pull netart/ipapi 重新拉取镜像即可。

2. 源码部署(灵活自定义)

  1. Clone 项目:
    Bash
    git clone https://github.com/ljxi/GeoCN.git
    cd GeoCN
  2. 下载最新 mmdb 文件:
    Bash
    wget https://github.com/ljxi/GeoCN/releases/latest/download/GeoCN.mmdb -O db/GeoCN.mmdb

    (同时可放置 GeoLite2-ASN.mmdb 和 GeoLite2-City.mmdb 到 db/ 目录

  3. 编译运行(需 Go 环境):
    Bash
    go build -o geoip-server main.go
    ./geoip-server

    或使用提供的 Dockerfile 自行构建镜像。

项目支持环境变量自定义路径:

  • CN_DB、CITY_DB、ASN_DB、LISTEN 等,适合不同数据库组合或端口需求。

服务返回标准的 JSON 格式,包含 IP、归属地、运营商、行政区划(全称/简称)、AS 信息等,解析友好。

总结与建议

GeoCN 的最大价值在于离线 + 高精度 + 易集成的组合。在隐私合规越来越严格的今天,本地化部署避免了频繁调用第三方在线 API 的风险和延迟。无论是个人开发者还是企业团队,都能快速将其融入现有系统中。

相关导航

暂无评论

none
暂无评论...