launch-calcium's picture
Update README.md
75107ce verified
|
Raw
History Blame Contribute Delete
2.18 kB
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 .txt tag 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

  1. Push this repo to GitHub (Lovable → GitHub sync, or git push).
  2. Create a new Space on Hugging Face → SDK: Docker.
  3. 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-server preset