A booru image scraper and browser with an Electron desktop app. Browse and download images from multiple booru sites with a clean dark UI.
Browser
- Paginated image/video grid (12 / 24 / 48 / 100 per page)
- Lightbox with keyboard navigation (← →)
- Video preview on hover
- Tag autocomplete (JSON + XML, works on all supported API types)
- Blacklist autocomplete
Downloader
- Multi-job download queue
- Filename templates:
{id}_{artist}_{characters}etc. - Available tokens:
{id} {artist} {artists} {character} {characters} {series} {all_series} {rating} {width} {height} {md5} {tags} - Duplicate detection (MD5 hash)
- Sort downloads into subfolders by rating (safe / questionable / explicit)
- Download videos (webm/mp4) optionally
- Skip existing files / resume downloads
- Configurable delay and retry count with exponential backoff
- Pause / resume / stop
Custom sites
- Auto-detect API type
- Supports Moebooru, Danbooru, Gelbooru (old + new style), Shimmie2, Szurubooru
- Downloads saved to
booru_downloads/{domain}/{tags}/
| Site | API | Auth |
|---|---|---|
| yande.re | Moebooru | optional |
| Danbooru | Danbooru | optional (free: 2 tags, Gold: 6 tags) |
| Konachan | Moebooru | optional |
| Gelbooru | Gelbooru | required |
| rule34.xxx(custom) | Gelbooru | required (api.rule34.xxx) |
| Any custom site | auto-detect | optional |
- Danbooru — login + API key from account settings
- Gelbooru / rule34.xxx — user_id + API key from account → options → API
- Szurubooru — login + API token
Download the latest release from GitLab Releases.
booru.dl Setup x.x.x.exe— NSIS installerbooru.dl x.x.x.exe— portable, no install needed
No Python required — the backend is bundled as a compiled executable.
Requirements: Node.js 18+, Python 3.8+
git clone https://gitlab.com/sp4r0ww/booru.dl
cd booru.dl
pip install flask requests pyinstaller
npm installRun in development:
npm startBuild:
npm run build:allOutput goes to dist/.
├── main.js Electron main process
├── preload.js IPC bridge
├── index.html UI markup
├── app.js Frontend JS
├── style.css Styles
├── package.json Electron + build config
├── backend/
│ └── server.py Python backend (Flask)
├── test_server.py Unit tests (36 tests)
└── icon.ico App icon
python test_server.pyApache License 2.0