imgbrd-grabber

repository·master·Indexed 25 days ago

https://github.com/bionus/imgbrd-grabber

A high-performance imageboard and booru downloader for Windows, Mac, Linux, and Android. It features bulk downloading, multi-tab searches, tag auto-completion, and automated organization using custom filename tokens or JavaScript. The tool includes a Command Line Interface (CLI) for retrieving image URLs and tags, an End-to-end checker for verifying site sources, and integration capabilities for uploading posts to Danbooru.

Tokens
26.6K
Snippets
64
Records
189
Agent score
85%

What's inside imgbrd-grabber

  1. Overview of imgbrd-grabber features

    master

    imgbrd-grabber is a powerful tool for downloading and managing images from multiple boorus and imageboards. Key capabilities include:

    • Browsing: Multi-tab searches, results from multiple imageboards in one tab, tag auto-completion, tag blacklisting, and proxy support.
    • Downloading: Bulk downloading, single image downloads via MD5 or ID, and a Command Line Interface (CLI).
    • Customization: Adding custom imageboards, authentication for login-walled sources, and CSS theme support.
    • Organization: Custom filename patterns, favorite/view-later tags, and support for saving directly to local boorus (e.g., Szurubooru, MyImouto, Gelbooru, Shimmie).
  2. Understand what telemetry data is collected

    master

    Grabber collects anonymous telemetry to inform development priorities. The following data points are sent, but no search queries, downloads, or personal content are ever transmitted:

    • Screen resolution: Used to optimize UI layout and high-DPI support.
    • Country and language: Used to prioritize translation efforts for the software and documentation.
    • Operating system: Used to guide platform-specific testing and feature support.
    • Grabber's version: Used to track version adoption and the usage of nightly builds.
    • Startup event: Used to estimate active user counts and usage patterns.
  3. Understand the Grabber source directory structure

    master

    The src directory contains the source code for all Grabber components. The project is built using CMake.

    Main Projects:

    • lib: The core library containing Grabber's logic.
    • gui: The source code for the main Grabber graphical user interface.
    • sites: Contains the individual plugins for each supported Grabber source.

    Other Projects:

    • cmake: CMake plugins used during the build process.
    • cli: A command-line interface executable.
    • crash-reporter: An executable designed to run when the GUI crashes.
    • dist: Files used for packaging Grabber binaries.
    • languages: Translation files for the GUI.

    Tests:

    • tests: Unit tests.
    • e2e: End-to-end tests that utilize the CLI.
  4. Use the End-to-end checker to verify site sources

    master
    The End-to-end checker is a tool designed to call all APIs for every site within every available source. It provides an easy-to-read summary that is useful for verifying the current status of all sources and ensuring their respective Grabber parsers are functioning correctly.
  5. Use Monitors for incremental image tracking

    master

    Monitors allow you to automatically download new images or receive notifications when new images appear for a specific search.

    Important behavior notes:

    • Incremental only: Monitors perform incremental checks. They only look for images uploaded since the last time the monitor ran. They do not perform full checks of the entire search history.
    • Batch vs. Monitor: If you need to download all existing images for a search, use a batch download first. You can then set up a monitor to capture any images uploaded after the batch download completes.
  6. Manually update the auto-completion tag list

    master

    If searched tags are missing from the local list, you can manually trigger a large download to update the tag list. Note that this is resource-intensive for the server.

    Example command to download a large batch of tags to a file:

    ./grabber -c -s "danbooru.donmai.us" -i 1000 -m 250000 --tags-format "%tag" --tags-min 10 --return-pure-tags > tags.txt
    ./grabber -c -s "danbooru.donmai.us" -i 1000 -m 250000 --tags-format "%tag" --tags-min 10 --return-pure-tags > tags.txt
  7. Install a local WAMP server

    master

    To host a local Gelbooru instance, you need a local web server environment. On Windows, use WampServer.

    1. Download WampServer from SourceForge.
    2. Install it to a directory that does not require admin rights (e.g., C:\wamp).
    3. Follow the installer prompts (default browser and email settings are acceptable).
    4. Verify installation by checking for the green 'W' icon in the system tray and visiting http://localhost/.
  8. Create a portable version of imgbrd-grabber

    master

    To use imgbrd-grabber as a portable application (e.g., from a USB drive) without installation, you must consolidate the executable files and the settings into a single directory.

    Follow these steps:

    1. Locate your executable files (typically in C:/Program Files/Grabber).
    2. Locate your settings folder (typically in C:/Users/%USERNAME%/AppData/Local/Bionus/Grabber or C:/Users/%USERNAME%/Grabber for older versions).
    3. Copy the contents of both folders into a single new directory of your choice.
  9. Search E-Hentai using tags and categories

    master

    When searching for content from E-Hentai, you can use specific syntax to filter results:

    • Basic Tag Search: Use space-separated tags (e.g., tag1 tag2) to find content matching multiple tags.
    • Category Filtering: Use the cats:NUMBER syntax to filter by the f_cats URL parameter. The default value is 0 if no category is specified.
    tag1 tag2
    cats:1
  10. Add a custom Qt theme to Grabber

    master

    You can customize the Grabber UI by adding new Qt themes using CSS.

    To add a theme:

    1. Locate your Grabber configuration directory.
    2. Navigate to the themes directory within it.
    3. Create a new folder named after your theme.
    4. Create a style.css file inside that folder and add your CSS rules.

    Grabber uses Qt stylesheets for UI customization. For detailed syntax and available selectors, refer to the Qt stylesheet reference.