纯真ip社区库作为基础数据,提供接口请求服务
来这里 https://www.cz88.com/geo-public 获取开发者key和fileKey和secretKey
-
fileKey
点击复制我们会得到一个下载链接,这里我们只需要连接中的key部分数据即可
https://www.cz88.net/api/communityIpAuthorization/communityIpDbFile?fn=czdb&key=1234567890
1234567890 就是我们需要的 fileKey
该项目是一个基于Go语言开发的IP地址查询服务,使用纯真IP数据库提供IP地址的地理位置信息。采用分层架构设计,主要包含以下几个部分:
-
API层
- 提供JSON和MessagePack两种数据格式的接口
- 包含单IP查询和批量IP查询功能
- 基于Gin框架实现的Web服务
-
服务层
- 核心业务逻辑处理
- IP数据库的更新、加载和查询
- 支持IPv4和IPv6地址查询
-
数据访问层
- 封装对纯真IP数据库的访问
- 支持文件解密和随机访问
- 高效的IP地址查询算法
-
工具层
- 提供日志、加密解密、文件操作等通用功能
- 配置管理和环境变量解析
-
Web界面
- 简洁的HTML前端界面
- 提供直观的IP查询功能
系统依赖:
- Gin框架:提供Web服务和路由功能
- MessagePack:高效的二进制序列化格式,用于API数据传输
- Zap:高性能日志库
- ENV:环境变量解析库
数据流向:
- 客户端发送IP查询请求
- API层接收请求并转发给服务层
- 服务层调用数据访问层从IP数据库中查询数据
- 查询结果通过API层返回给客户端
项目特点:
- 支持自动更新IP数据库
- 提供多种数据格式的API接口
- 高效的内存映射数据库访问
- 支持容器化部署
-
下载依赖
go mod tidy
-
构建
go build main.go
-
启动
./main -developerKey=developerKey -fileKey=fileKey -secretKey=secretKey
-
访问
curl http://127.0.0.1/json?ip=1.1.1.1 curl http://127.0.0.1
- Fork 本仓库
- 新建 Feat_xxx 分支
- 提交代码
- 新建 Pull Request