https://github.com/sinkaroid/jigoku
Bulk downloader for booru with evil intentions
https://github.com/sinkaroid/jigoku
booru bulk-download danbooru downloader mass-downloader rule34
Last synced: 6 months ago
JSON representation
Bulk downloader for booru with evil intentions
- Host: GitHub
- URL: https://github.com/sinkaroid/jigoku
- Owner: sinkaroid
- License: mit
- Created: 2022-12-04T20:27:08.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2023-02-20T00:19:49.000Z (over 2 years ago)
- Last Synced: 2024-10-06T15:09:22.161Z (12 months ago)
- Topics: booru, bulk-download, danbooru, downloader, mass-downloader, rule34
- Language: Python
- Homepage:
- Size: 69.3 KB
- Stars: 10
- Watchers: 4
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
README
![]()
Bulk downloader for booru imageboards with evil intentions
Jigoku is a CLI tool for downloading content around the imageboards, seamlessly integrates with popular website like danbooru, rule34, gelbooru, and many more. It's also modular, no matter what kind of links you have, what kind imageboard you want to download from, If still covered by the flow, this tools will adapt.
- [Jigoku](#)
- [The problem](#the-problem)
- [The solution](#the-solution)
- [Features](#features)
- [Site support](#site-support)
- [Installation](#installation)
- [Prerequisites](#prerequisites)
- [Usage](#usage)
- [Running tests](#Running-tests)
- [Phrases](#phrases)
- [Limitations](#limitations)
- [Pronunciation](#Pronunciation)
- [Legal](#legal)---
## The Problem
![]()
Opening fuckton of tabs, and download them one by one. Piece of crap
Welp, It's not tough actually if still same website, there is also tampermonkey hacks to mock them, but what if you want to get 'em from multiple websites?## The Solution
No more tampermonkey hacks, no more opening a fuckton of tabs, no more spliting your note between danbooru, gelbooru, r34 or anything else. Just one command through single file, this tools will adapt.
Jigoku apply connection retry on failed, every your network changes or something else, It will keep waiting.
## Features
- Modular bulk download
- 90% tested
- Plenty of booru support
- Connection retry on failure
- Pure scraping, does not hit the API
- Download with ease
- Interactive prompt
- ~~Multithreaded~~ too nasty, low coverage## Site support
Jigoku supports the following imageboards:
- [rule34](https://rule34.xxx/)
- [danbooru](https://danbooru.donmai.us/)
- [gelbooru](https://gelbooru.com/)
- [safebooru](https://safebooru.org/)
- [tbib](https://tbib.org/)
- [xbooru](https://xbooru.com/)
- [realbooru](https://realbooru.com/)
- [yandere](https://yande.re/)
- [lolibooru](https://lolibooru.moe/)
- [konachan](https://konachan.com/)
- [konachan.net](https://konachan.net/)
- [hypnohub](https://hypnohub.net/)
- [e621](https://e621.net/)
- [e926](https://e926.net/)
- [allthefallen](https://booru.allthefallen.moe)
- [paheal](https://rule34.paheal.net/)## Prerequisites
NOTE: Python 3.7 or above
## Installation
It's fairly simple to use jigoku`pip install jigoku`
- Or manual build by cloning this repository and run `python setup.py install`
## Usage
Just run without any arguments and interactive prompt will get you,
![]()
`$ jigoku`
1. First prompt will ask you to input your file
- Input your file.txt2. Second prompt will ask you what kind of links you have
- `(1)` multiple posts or galleries
- `(2)` multiple pages3. Third prompt will ask you for image resolution
- `(1)` original, means the original, big size
- `(2)` sample, means smaller than original## Running tests
Is current state not covers enough? Feel free to add more test cases and submit a pull request.> Multiple posts test: [workflows/jigoku_posts.yml](https://github.com/sinkaroid/jigoku/actions/workflows/jigoku_posts.yml)
Multiple pages test: [workflows/jigoku_pages.yml](https://github.com/sinkaroid/jigoku/actions/workflows/jigoku_pages.yml)
Example file input: [jigoku/tree/master/test](https://github.com/sinkaroid/jigoku/tree/master/test)### Phrases
This pattern used for validating **posts** or **galleries**> `/posts/` danbooru based, `&id=` gelbooru based, `?id=` gelbooru based, `/show` yandere based, `/post/view/` paheal based
Otherwise, it will assign to **pages**
For example, If you confused between `(1)` and `(2)`, check this out:
- `https://danbooru.donmai.us/posts/5874589`
- `https://rule34.xxx/index.php?page=post&s=view&id=7004047`
- This is post, choose `(1)`
- `https://danbooru.donmai.us/posts?tags=1girl&z=1`
- `https://rule34.xxx/index.php?page=post&s=list&tags=1girl`
- This is pages, choose `(2)`
- `https://danbooru.donmai.us/posts?tags=kiryuuin_satsuki+&z=5`
- `https://rule34.xxx/index.php?page=post&s=list&tags=kiryuuin_satsuki`
- This is pages from tags, choose `(2)`
- `https://danbooru.donmai.us/posts?page=2&tags=kiryuuin_satsuki+`
- `https://rule34.xxx/index.php?page=post&s=list&tags=kiryuuin_satsuki&pid=42`
- This is pages from tags with page number, choose `(2)`
- `https://danbooru.donmai.us/posts?tags=hews+&z=5`
- `https://rule34.xxx/index.php?page=post&s=list&tags=belko`
- This is pages from artist, choose `(2)`## Limitations
You may notice that some part were strictly to "Original" resolution and "Sample" is no use, I'm pretty sure there are some limitations, for example old posts perhaps has different structures, but I haven't found any yet, current test cases has over 1000+ posts and took 20+ minutes, and it works fine.## Legal
This tool can be freely copied, modified, altered, distributed without any attribution whatsoever. However, if you feel
like this tool deserves an attribution, mention it. It won't hurt anybody.
> Licence: WTF.## Pronunciation
[`ja_JP`](https://www.localeplanet.com/java/ja-JP/index.html) • **jigoku** — 地獄、じごく, meaning "hell". The other mean if you opening fuckton of rule34 tabs on browser, definitely hell and piece of crap