项目作者: zhongqin0820

项目描述 :
an upgrader of the free version of ipdb provided by https://ipip.net.
高级语言: Go
项目地址: git://github.com/zhongqin0820/ipdb-upgrader.git
创建时间: 2019-08-10T10:24:44Z
项目社区:https://github.com/zhongqin0820/ipdb-upgrader

开源协议:Apache License 2.0

下载


ipdb-upgrader

Build Status
Coverage Status

定制化提升免费版https://ipip.net的IPDB格式地级市精度IP离线库展示的内容。

目录结构

  1. .
  2. ├── utils # 存储提升内容文件
  3. ├── codeCity.json # 大陆城市代码
  4. ├── codeCountry.json # 国家代码
  5. ├── codeRegion.json # 大陆地区代码
  6. └── ipipfree.ipdb # ipip离线数据库文件
  7. ├── .coveralls.yml
  8. ├── .gitignore
  9. ├── .travis.yml
  10. ├── city.go
  11. ├── city_test.go
  12. ├── cityUpgrader.go # upgrader
  13. ├── cityUpgrader_test.go # upgrader
  14. ├── reader.go
  15. ├── go.mod
  16. ├── LICENSE
  17. └── README.md

结果对比

提升内容包括:

  • 所在大洲名
  • 国家/地区电话号码前缀
  • 中国大陆行政区划代码(省级)
  • 中国大陆行政区划代码(市级)

Upgrade前

省略输出部分空字段。

  1. {
  2. "country_name": "中国",
  3. "region_name": "辽宁",
  4. "city_name": "铁岭"
  5. }

Upgrade后

  1. {
  2. "continent_code": "亚洲",
  3. "country_name": "中国",
  4. "idd_code": "86",
  5. "region_name": "辽宁",
  6. "china_admin_code": "210000",
  7. "city_name": "铁岭",
  8. "china_city_code": "211200"
  9. }

基准测试

  1. # ipdb-go
  2. BenchmarkCity_Find-4 5000000 352 ns/op
  3. BenchmarkCity_FindMap-4 2000000 646 ns/op
  4. BenchmarkCity_FindInfo-4 1000000 1681 ns/op
  5. # ipdb-upgrader
  6. BenchmarkFindInfo-4 500000 2086 ns/op

相关链接

官方仓库

测试IP来源