Booru Downloader + Viewer SFW

The original fullsize images downloader, and viewer for the various booru imageboards

Author
Se7en
Daily installs
3
Total installs
3,280
Ratings
14 1 0
Version
1.1.0
Created
2018-01-15
Updated
2018-04-09
License
N/A
Applies to

This is SFW version of my Full version script.
This script allows you to download/view images on the various imageboard sites. It works on safebooru, mspabooru, and e926.net imageboords.

List of supported imageboards*:
gelbooru.com, rule34.xxx, yande.re, donmai.us (danbooru.donmai.us, sonohara.donmai.us, etc.), sankakucomplex.com (both sankaku: chan.sankakucomplex.com, idol.sankakucomplex.com), behoimi.org (3dbooru), youhate.us, safebooru.org, uberbooru.com, bronibooru.com, mspabooru.com, e926.net, e621.net, booru.org (all subdomains), atfbooru.ninja, lolibooru.moe, hypnohub.net, tbib.org, konachan.net, konachan.com, rule34.paheal.net
* for full version script.

Small glossary

  • image initialization – getting the original image's data (source link, tag list, etc.)
  • empty image – the image that is tracked by the script, but not initialized
  • busy image – the image that is in progress of the initialization
  • ready image – the image that is initialized, so that it is ready to be downloaded/viewed

Quick start

By default the script initializes all the available images on the start2. The initialized image is indicated by the yellow colored status bar on its bottom.
2 If some images aren't initialized, use Shift+I hotkey to complete initialization

  • Hotkeys
    1. Shift+A - download all the ready (initialized) images
    2. Shift+D - switch the Download Mode on/off
    3. Shift+I - (re)initialize the images
      it is usefull for imageboards with auto paging, or when some images are not initialized due to an error 429 (too many requests)
    4. Shift+M - open/close the user menu window
    5. Shift+V - open/close the viewer
    6. Left/Right - view previous/next image1
  • Image downloading
    • In order to download the ready image, the Download Mode must be activated: use Shift+D hotkey, or press "Download Mode" button. Once the Download Mode is activated3, make a simple click on the image (thumbnail) to start the download. The downloading progress is indicated by the blue colored progress bar on the image's bottom. After the donwload is complete, the color of the image's status bar is changed to green.
    • One can also download the ready image by clicking on the "Download" button on the viewer's navigation bar.
    • To download all the ready images, use hotkey Shift+A, or press the "Download All" button. The amount of the ready images is visible on the button's name, e.i. 20 images are result in the name "Download All (20)", and if 4 images are downloaded, then the name is "Download All (4/20)".
  • Image viewing
    In order to open the viewer, use hotkey Shift+V, or press the "Viewer" button. By default, the first image is loaded on the first open. To start viewing, the image must be initialized. There are 3 ways to navigate when viewing:
    1. Left/Right1 hotkeys
    2. a simple click on the thumbnails (right sidebar)4
    3. the "Prev"/"Next" buttons on the viewer's navigation bar (bottom)4
    The tag list of the viewed image is shown on the left sidebar.

3 The enabled "Download Mode" button has suffix "[on]", disabled one - "[off]"
4 The viewer's thumbnails and navigation bar are hidden, they fade in when the mouse cursor is over the right side/bottom of the viewer window

  • You can download the image only once per page open - if the image is downloaded, the script sets its state as "downloaded", and that image is no more available for download, unless you refresh the site page.
  • When downloading large amount of images at a time (e.i. by clicking the "Download All (40)" button), it may cause the error 429 (too many requests), that results in stop of downloading. Wait a little, then try again (click the "Downalod All" button again) to resume downloading.

Script configuration (user options)

This script uses GM.setValue/GM.getValue API to save/load the configuration data. The user interface is attached to the popup window (user options' window). To open/close the user interface press Shift+M, or click on the "User Menu" button. The cofiguration data (user options) is devided into 3 categories called "General", "Filename", and "Viewer":

  • General options:
    1. autoRun – initialize the images on start – [true]
    2. createViewer – add image viewer to imageboard – [true]
    3. downloadJPEG – download jpeg image (jpeg vs png on yande.re) – [false]
      on yande.re (and yande.re like) imageboards the highres images may have 2 versions with the same resolution: png (large filesize), and jpeg (smaller filesize), if so, the enabled downloadJPEG option forces to download the jpeg image
    4. animateProgress – animate initialization/downloading progress – [true]
      this option enables, or disables the animation of the status/progress bar when the image initialization/downloading starts. Warning, the animation may increase CPU load
  • Filename options:
    1. maxTagsInName – maximum tags in file name – [10]
      the maximum amount of the tags that are added to the filename, it is limited by 100
    2. tagsOrder – tags order in file name – [see defaults below]
      the ordered list of tag-types according to which the tags are added to the filename, default is ['character', 'copyright', 'artist', 'species', 'model', 'idol', 'photo_set', 'circle', 'medium', 'metadata', 'general', 'faults']
    3. ignoredTags – ignored tag names – []
      comma separated list of tag names that are skiped when making the filename
    4. tagsDelim – tags delimeter – ['']
      the delimeter of tag names in the filename, it is the character string limited by length 4
    5. addImgBrdName – add imageboard name to file name – [true]
    6. prefixedName – prefixed names of imageboards – [false]
      when true, the long/prefixed name is used, otherwise – short name, e.i. chan.sankakucomplex.com has the prefixed/long name – 'chan.sankaku', and the short name - 'sankaku';
    7. imgIdAtNameEnd – image ID and imageboard name at file name end – [true]
      if true, then add the image ID, and the imageboard name to the filename end, otherwise – to the begin. The image ID is always added to the filename, and the imageboard name is always placed before the image ID
  • Viewer options:
    1. viewOriginal – view original images – [false]
      if true, then the original image is loaded when viewing, otherwise – the image sample
    2. viewJPEG – view jpeg image (yande.re option) – [false]
      if there is jpeg version of the original png image, and both (this one, and viewOriginal) options are true, then load the jpeg one
    3. viewFirst – load 1st image on viewer open – [true]
      the image is going to be viewed must be initialized, otherwise nothing happens
    4. holdCtrl – hold Ctrl key to left/right navigate when viewing – [false]
    5. fixedTags – fix tag list – [true]
    6. fixedThumbs – fix thumb list – [false]
    7. showProgress – show progress/status bar – [true]
      show or hide status/progress bar on the viewer's thumbnails

Progress / status bar

There are 4 states5 of the image's status/progress bar:

  1. the empty image has the red colored status bar
  2. the ready image has the yellow colored status bar
  3. the image, that is in progress of downloading has the blue colored progress bar
  4. the downloaded image has the green status bar

5 if the option animateProgress is enabled, the busy image has the animated red status bar

P.S. sorry for my bad English