Supports Danbooru, Gelbooru, Moebooru, and e621. Features include tag search with autocomplete, favorites with folders, save-to-library, video playback, drag-and-drop, multi-select, custom CSS theming, and cross-platform support.
92 lines
1.9 KiB
Markdown
92 lines
1.9 KiB
Markdown
# booru-viewer
|
|
|
|
Local desktop application for browsing, searching, and favoriting images from booru-style imageboards.
|
|
|
|
Dual interface — **Qt6 GUI** and **Textual TUI**. Green-on-black theme.
|
|
|
|
## Features
|
|
|
|
- Tag-based search across multiple booru sites (Danbooru, Gelbooru, Moebooru)
|
|
- Auto-detect site API type — just paste the URL
|
|
- Thumbnail grid with full image preview (zoom/pan)
|
|
- Favorites system with local download cache and offline browsing
|
|
- Tag autocomplete
|
|
- Per-site API key support
|
|
|
|
## Install
|
|
|
|
```sh
|
|
pip install -e ".[all]"
|
|
```
|
|
|
|
Or install only what you need:
|
|
|
|
```sh
|
|
pip install -e ".[gui]" # Qt6 GUI only
|
|
pip install -e ".[tui]" # Textual TUI only
|
|
```
|
|
|
|
### Dependencies
|
|
|
|
- **GUI**: PySide6 (Qt6)
|
|
- **TUI**: Textual
|
|
- **Core**: httpx, Pillow, SQLite (stdlib)
|
|
|
|
## Usage
|
|
|
|
```sh
|
|
# Qt6 GUI
|
|
booru-gui
|
|
|
|
# Terminal TUI
|
|
booru-tui
|
|
```
|
|
|
|
### TUI Keybinds
|
|
|
|
| Key | Action |
|
|
|-----|--------|
|
|
| `/` | Focus search |
|
|
| `Enter` | Preview selected |
|
|
| `f` | Toggle favorite |
|
|
| `j`/`k` | Navigate down/up |
|
|
| `n`/`p` | Next/previous page |
|
|
| `1`/`2`/`3` | Browse / Favorites / Sites |
|
|
| `Escape` | Close preview |
|
|
| `q` | Quit |
|
|
|
|
### GUI Keybinds
|
|
|
|
| Key | Action |
|
|
|-----|--------|
|
|
| `F` | Toggle favorite on selected |
|
|
| `Ctrl+S` | Manage sites |
|
|
| `Ctrl+Q` | Quit |
|
|
| Scroll wheel | Zoom in preview |
|
|
| Right click | Close preview |
|
|
| `0` | Fit to view |
|
|
| `+`/`-` | Zoom in/out |
|
|
|
|
## Adding Sites
|
|
|
|
Open the site manager (GUI: `Ctrl+S`, or in the Sites tab). Enter a URL and click Auto-Detect — the app probes for Danbooru, Gelbooru, and Moebooru APIs automatically.
|
|
|
|
Or via Python:
|
|
|
|
```python
|
|
from booru_viewer.core.db import Database
|
|
db = Database()
|
|
db.add_site("Danbooru", "https://danbooru.donmai.us", "danbooru")
|
|
db.add_site("Gelbooru", "https://gelbooru.com", "gelbooru")
|
|
```
|
|
|
|
## Data
|
|
|
|
- Database: `~/.local/share/booru-viewer/booru.db`
|
|
- Image cache: `~/.local/share/booru-viewer/cache/`
|
|
- Thumbnails: `~/.local/share/booru-viewer/thumbnails/`
|
|
|
|
## License
|
|
|
|
MIT
|