Files
czip-api/README.md
2026-04-19 23:54:55 +08:00

106 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 纯真 IP 查询 API
一个基于 Flask + 纯真 IP 库的轻量级 IP 查询服务,提供 RESTful API 和响应式 WebUI。
## 功能特性
- 🚀 **RESTful API** - 支持 IP 地址查询
- 📱 **响应式 WebUI** - 手机优先设计,自动获取用户公网 IP
- 🛡️ **高可用性** - 6 个公网 IP 自动获取服务2 秒超时自动切换
- 🐳 **Docker 支持** - 提供 Dockerfile 和 docker-compose 配置
- 🏥 **健康检查** - 内置 `/health` 端点
## 快速开始
### 本地运行
1. **安装依赖**
```bash
pip install -r requirements.txt
```
2. **启动服务**
```bash
python app.py
```
3. **访问**
- WebUI: http://localhost:5000
- API: http://localhost:5000/ip/{ip}
### Docker 部署
1. **构建并运行**
```bash
docker-compose up -d
```
2. **环境变量**
- `PORT` - 服务端口,默认 5000
## API 文档
### 查询 IP
- **URL**: `/ip/{ip}`
- **方法**: `GET`
- **响应**: JSON
**示例响应**:
```json
{
"ip": "8.8.8.8",
"country": "美国",
"area": "加利福尼亚州圣克拉拉县山景市谷歌公司"
}
```
### 健康检查
- **URL**: `/health`
- **方法**: `GET`
- **响应**: `ok`
## 项目结构
```
czip-api/
├── app.py # 主应用
├── qqwry.dat # 纯真 IP 数据库
├── requirements.txt # Python 依赖
├── Dockerfile # Docker 构建文件
├── docker-compose.yml # Docker 编排文件
└── README.md # 项目说明
```
## 依赖
- `flask==3.0.0` - Web 框架
- `qqwry-py3==1.2.1` - 纯真 IP 库
## 公网 IP 获取服务
按优先级顺序:
1. https://1.1.1.1/cdn-cgi/trace (Cloudflare)
2. https://checkip.amazonaws.com (AWS)
3. https://ifconfig.me/ip (ifconfig.me)
4. https://api.ipify.org (ipify)
5. https://icanhazip.com (icanhazip)
6. https://ipinfo.io/ip (ipinfo.io)
## 技术栈
- **后端**: Python 3.11 + Flask
- **前端**: 原生 HTML5 + CSS3 + JavaScript
- **数据库**: 纯真 IP 库 (qqwry.dat)
- **部署**: Docker
## 许可证
MIT
## 作者
- 项目维护者
- 数据提供: 纯真 IP 库