metadata
title: Imageboard Grabber
emoji: 🖼️
colorFrom: indigo
colorTo: purple
sdk: docker
app_port: 7860
pinned: true
Imageboard Grabber
Booru-style imageboard grabber (inspired by Bionus/Grabber): tag search, thumbnail grid, multi-select, server-side batch ZIP download. Ships with e621 preconfigured and a schema-based "Add site" panel for Danbooru/Gelbooru/Safebooru/etc.
Features
- Tag exclusion on ZIP download: Specify custom tags to filter out of the compiled ZIP's
.txttag list and markdown meta files. - Direct Hugging Face dataset upload: Enter your Hugging Face write token and desired dataset repository name to instantly package and upload your compiled archives to a Hugging Face dataset. Creates the dataset automatically if it does not already exist.
Run locally with Docker
docker build -t grabber .
docker run --rm -p 7860:7860 grabber
Then open http://localhost:7860.
Deploy to Hugging Face Spaces
- Push this repo to GitHub (Lovable → GitHub sync, or
git push). - Create a new Space on Hugging Face → SDK: Docker.
- Link the GitHub repo (or add the Space as a remote and push).
The frontmatter above tells HF Spaces to build the Dockerfile and serve on port 7860.
Adding a custom site
Click + Add site and paste the site's API schema:
- Base URL / Search Path — e.g.
https://danbooru.donmai.us+/posts.json - Param names for tags / page / limit
- JSON path to the posts array (empty = root)
- Field mappings (dotted paths) for
id,previewUrl,fileUrl,ext,tags,source,rating,score
Example (Danbooru):
baseUrl: https://danbooru.donmai.us
searchPath: /posts.json
postsPath: (empty)
fields.id: id
fields.previewUrl: preview_file_url
fields.fileUrl: file_url
fields.ext: file_ext
fields.tags: tag_string_general
fields.source: source
fields.rating: rating
fields.score: score
Tech
- TanStack Start (React 19, Vite 7) + Tailwind v4 + shadcn/ui
- Server-side image fetching and streaming ZIP via
fflate - Node server build via nitro
node-serverpreset