QQWry ![Go Reference](https://pkg.go.dev/badge/github.com/xiaoqidun/qqwry.svg)
Golang QQWry,高性能纯真IP查询库。
使用须知
- dat格式仅支持ipv4查询。
- ipdb格式支持ipv4和ipv6查询。
使用说明
package main
import (
"fmt"
"github.com/xiaoqidun/qqwry"
)
func main() {
// 从文件加载IP数据库
if err := qqwry.LoadFile("qqwry.ipdb"); err != nil {
panic(err)
}
// 从内存或缓存查询IP
location, err := qqwry.QueryIP("119.29.29.29")
if err != nil {
fmt.Printf("错误:%v\n", err)
return
}
fmt.Printf("国家:%s,省份:%s,城市:%s,区县:%s,运营商:%s\n",
location.Country,
location.Province,
location.City,
location.District,
location.ISP,
)
}
IP数据库
编译说明
- 下载IP数据库并放置于assets目录中。
- client和server需要go1.16的内嵌资源特性。
- 作为库使用,请直接引包,并不需要go1.16+才能编译。
数据更新
- 由于qqwry.dat缺乏更新,官方czdb格式又难以获得和分发,建议使用ipdb格式。
- 这里的ipdb格式指metowolf提供的官方czdb格式转换而来的ipdb格式(纯真格式原版)。
服务接口
- 自行根据需要调整server下源码。
- 可以通过-listen参数指定http服务地址。
- json api:curl http://127.0.0.1/ip/119.29.29.29
特别感谢
授权说明
使用本类库你唯一需要做的就是把LICENSE文件往你用到的项目中拷贝一份。