Skip to content

nomdn/dress-api

Repository files navigation

Dress API 面向可爱的蓝孩子 (/ω\) 的 随机图片API

License: MIT Python FastAPI Build and Commit Index Node.js Vue

这是一个基于Dress的随机图片API
演示API:https://dress.wsmdn.top
文档:https://dress.wsmdn.top/docs

部署指南

最低Python版本:python3.8
推荐Python版本:python3.12
Node.js推荐版本 : v22.18

快速开始

  1. 克隆本项目

    git clone https://github.com/nomdn/dress-api.git
    cd dress-api
  2. (可选)拉取 Dress 图片库

    git clone https://github.com/Cute-Dress/Dress public

    若跳过此步,API 将自动从 GitHub 加载远程索引(最小化模式)。

  3. 安装依赖

    python -m venv .venv
    # Linux/macOS:
    source .venv/bin/activate
    # Windows (PowerShell):
    .venv\Scripts\activate
    
    pip install -r requirements.txt
  4. 配置环境变量(创建 .env 文件)

    API_KEY=your_secret_key
    PORTS=8092
    LOG_LEVEL=INFO
    AUTO_SYNC=true
    AUTO_SYNC_TIME=86400
    FORCE_MINING=false
    AUTO_MINING_TIME=86400
    FORCE_REMOTE=false

其中:

API_KEY(必需):API访问密钥,用于保护敏感操作如手动同步索引等

PORTS:服务监听端口,默认8092

LOG_LEVEL:日志级别,可选DEBUG/INFO/WARNING/ERROR,默认INFO

AUTO_SYNC:是否启用自动同步功能,默认true

AUTO_SYNC_TIME:自动同步间隔(秒),默认86400(24小时)

FORCE_MINING:强制使用最小化模式(从CDN获取数据),默认false

FORCE_REMOTE:强制使用远程预构建索引,默认false

  1. 编译前端页面
    cd dress-api-website
    npm i
    npm run build
  2. 启动服务
    python main.py
    默认地址:http://localhost:8092

API 使用

获取随机图片

GET /v1/dress

响应示例:

{
  "img_url": "https://dress.wsmdn.top/img/X/Xiaoli_404/leg2.jpg",
  "img_author": "小离",
  "upload_time": "2019-03-30T19:30:34+08:00",
  "notice": "Cute-Dress/Dress CC BY-NC-SA 4.0"
}

最小化模式:

{
  "img_url": "https://cdn.jsdelivr.net/gh/Cute-Dress/Dress@master/S/Satenruiko/IMG_20200302_231235.jpg",
  "img_author": "CuteDress",
  "upload_time": "2024-02-07T13:33:29+08:00",
  "notice": "Cute-Dress/Dress CC-BY-NC-SA 4.0"
}

手动同步(需 API Key)

POST /v1/dress/sync?rebuild_index=true
Header: X-API-Key: your_secret_key

健康检查

GET /v1/health

部署建议

  • 生产环境:建议使用 FORCE_MINING=true + CDN 缓存
  • Docker 支持:需通过 -e API_KEY=xxx 传入密钥
  • 反向代理:可通过 Nginx/Apache 暴露 /v1 路径

注意事项

本项目还未完善,不建议自己部署使用.
如果你觉得我侵犯了您的权利,请在issues交流
如果你想搭建完整版API请在项目根目录克隆Dress

About

基于dress项目的随机图片api

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors