Skip to content
This repository was archived by the owner on Nov 19, 2024. It is now read-only.
/ qqwry Public archive
forked from freshcn/qqwry

使用 Golang 写的纯真 IP 库查询微服务

Notifications You must be signed in to change notification settings

mingcheng/qqwry

 
 

Repository files navigation

此项目不再更新,是因为 CZ88 官方已经从 2024.10 开始不提供 dat 格式的 IP 离线数据库文件

Shame on you! 理解纯真公司基于商业盈利目的带来的各种营收压力,但是请您不要以社区的名义不实宣传 https://cz88.net/geo-public

qqwry.go

通过 HTTP 提供一个 IP 地址归属地查询支持的微服务,使用纯真的 IP 库(支持直接在线获取和更新)。

介绍

Screenshots

我们大家做网站的时候,都会需要将用户的IP地址转换为归属地址功能,而之前的作法大都是从硬盘的数据文件中读取,这样不太高效。

这个微服务将纯真 IP 库直接加载到内存中,并以 HTTP 方式提供接口暴露出来(后续支持 GRPC),这样方便项目中所有的程序都能方便的接口 IP 查询功能。

安装

Golang 的安装

go get github.com/freshcn/qqwry

二进制包直接下载

https://github.com/freshcn/qqwry/releases

在线获取最新的纯真 IP 库

默认支持在线获取最新的纯真 IP 库,解压缩到内村中并直接运行(需要网络的支持)。如果您想使用本地下载运行,请参考如下。

下载纯真IP库

访问 http://www.cz88.net 下载纯真IP库,需要在 Windows 中安装程序,然后在程序的安装目录可以找到 qqwry.dat 文件;也可以考虑运行使用 download.goGetOnline 函数并将数据保存为本地文件。

将 dump 出来的 qqwry 文件放到和本程序同一目录(当然也可是其他目录,只是需要在运行的时候指定IP库目录),直接运行即可。

运行参数

运行 ./qqwry -h 可以看到本服务程序的可用运行参数

  -port string
    	HTTP 请求监听端口号 (default "2060")
  -qqwry string
    	纯真 IP 库的地址 (default "./qqwry.dat")

使用方法

http://127.0.0.1:2060?ip=8.8.8.8,114.114.114.114&callback=a
  • ip - 要查询的IP地址,可使用半角逗号分隔查询多个IP地址。必填项
  • callback - jsonp回调函数名,当提交了这个参数,将会按jsonp格式返回。非必填

** 返回结果 **

{"114.114.114.114":{"ip":"114.114.114.114","country":"江苏省南京市","area":"南京信风网络科技有限公司GreatbitDNS服务器"},"8.8.8.8":{"ip":"8.8.8.8","country":"美国","area":"加利福尼亚州圣克拉拉县山景市谷歌公司DNS服务器"}}
  • ip - 输入的ip地址
  • country - 国家或地区
  • area - 区域(我实际测试得到还有可能是运营商)

感谢

- eof -

About

使用 Golang 写的纯真 IP 库查询微服务

Resources

Stars

Watchers

Forks

Packages

 
 
 

Languages

  • Go 91.5%
  • Makefile 4.4%
  • Dockerfile 4.1%