qqwry

package module
v0.0.0-...-cf49741 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 6, 2025 License: MIT Imports: 11 Imported by: 1

README

QQWry Go Reference

Golang QQWry,高性能纯真IP查询库。

使用须知

  1. dat格式仅支持ipv4查询。
  2. 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数据库

编译说明

  1. 下载IP数据库并放置于assets目录中。
  2. client和server需要go1.16的内嵌资源特性。
  3. 作为库使用,请直接引包,并不需要go1.16+才能编译。

数据更新

  • 由于qqwry.dat缺乏更新,官方czdb格式又难以获得和分发,建议使用ipdb格式。
  • 这里的ipdb格式指metowolf提供的官方czdb格式转换而来的ipdb格式(纯真格式原版)。

服务接口

  1. 自行根据需要调整server下源码。
  2. 可以通过-listen参数指定http服务地址。
  3. json api:curl http://127.0.0.1/ip/119.29.29.29

特别感谢

  • 感谢纯真IP库一直坚持为大家提供免费IP数据库。
  • 感谢yinheliqqwry项目,为我提供纯真ip库解析算法参考。
  • 感谢metowolfqqwry.ipdb项目,提供纯真czdb转ipdb数据库。

授权说明

使用本类库你唯一需要做的就是把LICENSE文件往你用到的项目中拷贝一份。

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func LoadData

func LoadData(database []byte)

LoadData 从内存加载IP数据库

func LoadFile

func LoadFile(filepath string) (err error)

LoadFile 从文件加载IP数据库

Types

type Location

type Location struct {
	Country  string // 国家
	Province string // 省份
	City     string // 城市
	District string // 区县
	ISP      string // 运营商
	IP       string // IP地址
}

func QueryIP

func QueryIP(ip string) (location *Location, err error)

QueryIP 从内存或缓存查询IP

func QueryIPDat

func QueryIPDat(ipv4 string) (location *Location, err error)

QueryIPDat 从dat查询IP,仅加载dat格式数据库时使用

func QueryIPIpdb

func QueryIPIpdb(ip string) (location *Location, err error)

QueryIPIpdb 从ipdb查询IP,仅加载ipdb格式数据库时使用

func SplitResult

func SplitResult(addr string, isp string, ipv4 string) (location *Location)

SplitResult 按照调整后的纯真社区版IP库地理位置格式返回结果

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL