Image board engine, Danbooru-style.
- [overview] this commit fixes an issue where some images would be rendered stretched in a browser due to a swapped width and height because of intentional EXIF orientation mechanics. - [server] `func/metadata.py`: added function to resolve the image's dimensions after taking the EXIF orientation into consideration. normally, this would only be done on the client side; however, since the server takes those values into consideration for its own operations, it could also be considered a "client". for example, thumbnail generation also depends on the post's dimensions. - [server] `func/posts.py`: refactored `update_post_content`. `func/images.py` will no longer be used to determine the dimensions of a file since `func/metadata.py` is now responsible for that. - [server] refactored `func/metadata.py` - [TODO] create migration to correct post dimensions - [TODO] merge `func/metadata.py` with `func/images.py` and refactor - [TODO] fix thumbnail generation |
||
---|---|---|
.github/workflows | ||
client | ||
doc | ||
server | ||
.gitignore | ||
.pre-commit-config.yaml | ||
docker-compose.yml | ||
LICENSE.md | ||
README.md |
szurubooru
Szurubooru is an image board engine inspired by services such as Danbooru, Gelbooru and Moebooru dedicated for small and medium communities. Its name has its roots in Polish language and has onomatopeic meaning of scraping or scrubbing. It is pronounced as shoorubooru.
Features
- Post content: images (JPG, PNG, GIF, animated GIF), videos (MP4, WEBM), Flash animations
- Ability to retrieve web video content using youtube-dl
- Post comments
- Post notes / annotations, including arbitrary polygons
- Rich JSON REST API (see documentation)
- Token based authentication for clients
- Rich search system
- Rich privilege system
- Autocomplete in search and while editing tags
- Tag categories
- Tag suggestions
- Tag implications (adding a tag automatically adds another)
- Tag aliases
- Pools and pool categories
- Duplicate detection
- Post rating and favoriting; comment rating
- Polished UI
- Browser configurable endless paging
- Browser configurable backdrop grid for transparent images
Installation
It is recommended that you use Docker for deployment. See installation instructions.
More installation resources, as well as related projects can be found on the GitHub project Wiki
Screenshots
Post list:
Post view: