Poke API RS
July 28, 2026 · View on GitHub
Poke API RS 是一个基于 Rust 的命令行工具,用于帮助你安装、更新 DF-Poke 本地仓库,并提供一个轻量级图片服务,支持随机返回图片、生成可访问链接,以及获取图片列表 JSON。
功能特性
- 支持将
DF-Poke仓库安装到本地目录./DF-Poke - 支持更新已有仓库,包含常规的
fetch / merge流程,也支持更新失败后的强制reset + rebase - 内置 HTTP 服务,可随机返回图片、生成图片链接,或返回图片列表 JSON
- 可通过环境变量控制端口、重定向行为和原始资源地址
快速开始
方式一:推荐,直接下载发布版二进制
如果你不想手动安装 Rust 环境,建议前往 Releases 下载对应操作系统的预编译二进制压缩包。
- 发布页提供的是对应平台的
tar.gz压缩包 - 解压后即可得到可执行文件
- Windows 下通常会得到
poke-api-rs.exe - Linux / macOS 下通常会得到
poke-api-rs
下载后即可直接运行:
./poke-api-rs install
./poke-api-rs run
如果你使用的是 Windows,可以在
cmd或PowerShell中直接运行poke-api-rs.exe。
方式二:从源码编译
如果你希望自己从源码构建,可以按下面的步骤操作。
运行环境
- Rust 和 Cargo(建议使用较新的稳定版)
- 终端环境
git clone https://github.com/DenFengLai/DF-Poke-Api.git
cd DF-Poke-Api
cargo build --release
构建完成后,可在 target/release 目录下找到可执行文件。
安装 DF-Poke
cargo run -- install
执行后会依次:
- 询问你想要使用的克隆来源
- 询问仓库 URL
- 询问克隆深度
- 将内容克隆到
./DF-Poke
启动服务
cargo run -- run
如果你使用的是编译后的二进制,也可以直接执行:
./target/release/poke-api-rs run
默认监听地址为:
http://0.0.0.0:8080
你可以在浏览器或命令行中访问:
curl http://127.0.0.1:8080/
更新 DF-Poke
cargo run -- update
如果更新失败,程序会提示你是否尝试执行强制更新流程。
环境变量
以下环境变量可用于控制服务行为:
PORT:服务监听端口,默认值为8080IMAGE_MAP:当设置为1、true、yes或on时,服务会将图片映射到/image/...RAW_BASE:设置后,服务会优先返回指向该地址的原始链接RUST_LOG:控制日志级别,例如info、debug
示例
PORT=9090 IMAGE_MAP=1 cargo run -- run
RAW_BASE=https://example.com/raw cargo run -- run
API 接口
根路径
GET /- 若开启
RAW_BASE或IMAGE_MAP,返回重定向到对应链接 - 否则直接返回一张随机图片的二进制内容
- 若开启
获取链接
GET /link- 返回一条随机图片链接文本
强制跳转
GET /go- 强制重定向到随机图片链接
图片列表
GET /albumsGET /json- 返回当前可用相册和图片列表的 JSON
- 可通过
?name=相册名过滤单个相册
图片映射
GET /image/{*path}- 在
IMAGE_MAP=1时可访问DF-Poke中的图片文件
- 在
项目结构
.
├── Cargo.toml
├── src/
│ └── main.rs
└── README.md
构建项目
cargo build --release
说明
这个项目本质上是一个「本地 DF-Poke 管理 + 图片服务」的 Rust 小工具,适合在本地快速拉取图库资源,并通过简单的 HTTP 接口访问图片。
License
MIT License
Copyright © 2026 DenFengLai
See LICENSE for the full license text.