服务命令
简介
ips server
命令用于启动一个 IPS 服务,该服务能够提供 IP 地址查询服务。
使用方法
使用 ips server
命令可以快速启动一个 IP 查询服务,它将监听指定的地址和端口。用户可以通过 HTTP 请求来查询 IP 地址,得到 JSON 格式的响应。
命令语法
ips server [--addr address] [flags]
-a, --addr string
:服务监听地址。默认值为0.0.0.0:6860
,表示在所有网络接口的6860
端口上监听。-i, --file string
:同时指定 IPv4 和 IPv6 数据库文件的路径。--format string
:指定 IPv4 和 IPv6 数据库文件的格式,需要与--file
配合使用。默认为自动检测。--database-option string
:数据库读取器指定选项。具体信息请查阅相关的数据库格式文档或获取专业支持。--ipv4-file string
:指定 IPv4 数据库文件的路径。--ipv4-format string
:指定 IPv4 数据库文件的格式,需要与--ipv4-file
配合使用。默认为自动检测。--ipv6-file string
:指定 IPv6 数据库文件的路径。--ipv6-format string
:指定 IPv6 数据库文件的格式,需要与--ipv6-file
配合使用。默认为自动检测。--hybrid-mode string
: 指定混合读取器的操作模式,可选值为comparison
与aggregation
,参数详细解释请参考 IPS 配置说明。--lang string
:设置输出信息的语言。默认为zh-CN
(中文)。参数详细解释请参考 IPS 配置说明。-f, --fields string
:指定从输入文件中获取的字段。默认为所有字段。参数详细解释请参考 IPS 配置说明。-r, --rewrite-files string
:指定需要载入的改写文件列表。参数详细解释请参考 IPS 配置说明。
示例
启动 IP 查询服务
# 在本地 8080 端口启动服务ips server -a 127.0.0.1:8080
使用自定义数据库文件
# 使用自定义数据库文件启动服务ips server -i GeoLite2-City.mmdb
设置输出字段和语言
# 启动服务,并设置输出字段和语言ips server -f "country,city" --lang en
API 接口
查询 IP 地址
GET /api/v1/ip?ip=<ip>Host: <ips host>Authorization: <none>
200 OK{ "ip": <string>, // IP 地址 "net": <string>, // IP 地址所在子网,CIDR 格式 "data": {} // 地理位置信息}
400 InvalidArgs
解析文本并查询信息
GET /api/v1/query?text=<text>Host: <ips host>Authorization: <none>
200 OK{ "items": [ // 数据列表 { "ip": <string>, // IP 地址 "net": <string>, // IP 地址所在子网,CIDR 格式 "data": {} // 地理位置信息 } ]}
400 InvalidArgs
注意事项
- IPS 服务在默认入口(例如
http://localhost:6860/
)提供了一个简单的 Web 页面,提供文本查询和结果展示功能,用作 Demo 演示。 - IPS 服务暂未提供鉴权机制,请避免直接将服务暴露在公网环境下运行。