# Packages
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
# README
IPS
ips 是一个命令行工具与库,可以轻松完成 IP 地理位置数据库的查询、转存与打包。
中文 | English
下载与安装
源码安装
go install github.com/sjzar/ips@latest
二进制安装
从 GitHub Releases 下载最新版本的二进制文件。
Homebrew 安装
brew tap sjzar/tap
brew install ips
特性
- 一键查询、转存和打包 IP 地理位置数据库
- 兼容多种数据库格式
- 通过命令行参数或管道进行查询
- 输出支持文本和 JSON 格式
- 可自定义查询字段并持久化配置
- 灵活的数据库字段改写:按需增减字段和内容修改
数据库支持列表
数据库 | 查询 | 转存 | 打包 | 官方网站 | 说明 |
---|---|---|---|---|---|
txt | ✅ | ✅ | ✅ | - | 本项目转存时使用 |
ipdb | ✅ | ✅ | ✅ | Link | |
mmdb | ✅ | ✅ | ✅ | Link | |
awdb | ✅ | ✅ | - | Link | |
qqwry | ✅ | ✅ | - | Link | IPv4 only |
zxinc | ✅ | ✅ | - | Link | IPv6 only |
ip2region | ✅ | ✅ | - | Link | IPv4 only |
使用方法
更详细的使用说明请翻阅 usage.md 。
查询
# 基础查询
ips <ip或文本> [选项]
# 查询 IP
ips 61.144.235.160
# 输出:61.144.235.160 [中国 广东 深圳 电信]
# 使用管道查询 IP
echo "61.144.235.160" | ips
# 输出:61.144.235.160 [中国 广东 深圳 电信]
# 使用指定的数据库文件查询 IP
ips -d ./GeoLite2-City.mmdb 61.144.235.160
# 输出:61.144.235.160 [中国 广州]
# 使用指定的数据库文件并设置查询字段
ips -d ./GeoLite2-City.mmdb --fields country 61.144.235.160
# 输出:61.144.235.160 [中国]
# 使用指定的数据库文件,以 JSON 格式输出结果
ips -d ./GeoLite2-City.mmdb --fields '*' -j 61.144.235.160
# 输出:{"ip":"61.144.235.160","net":"61.144.192.0/18","data":{"city":"广州市","continent":"亚洲","country":"中国","latitude":"23.1181","longitude":"113.2539","utcOffset":"Asia/Shanghai"}}
转存
# 基础转存命令,输出转存内容
ips dump -i ./qqwry.dat
# 输出:
# # Dump Time: 2023-10-20 00:00:00
# # Fields: country,area
# ... <省略部分输出> ...
# 指定字段进行转存
ips dump -i ./qqwry.dat -f country
# 输出:
# # Dump Time: 2023-10-20 00:00:00
# # Fields: country
# ... <省略部分输出> ...
# 转存内容并保存到文件
ips dump -i ./qqwry.dat -o 1.txt
打包
# 使用转存文件进行打包
ips pack -i qqwry.txt -o qqwry.ipdb
# 使用数据库文件进行打包
ips pack -i qqwry.dat -o qqwry.ipdb
# 使用数据库文件并指定字段进行打包
ips pack -i qqwry.dat -f country -o country.ipdb
许可
ips
是在 Apache-2.0 许可下的开源软件。
致谢
- IPIP.net 的 ipdb 数据库格式
- MaxMind 的 mmdb 数据库格式
- 埃文科技 的 awdb 数据库格式
- 纯真网络 的 qqwry 数据库格式
- ip.zxinc.org 的 zxinc 数据库格式
- @lionsoul2014 的 ip2region 数据库格式
- @zu1k 的 nali 项目,本项目查询功能参考了 nali 的方案
- @metowolf 的 qqwry.dat 和 ipdb 项目
- GeoNames.org 的地理信息数据
- 各个 Go 开源库的贡献者们,例如 cobra、viper、logrus、progressbar 等