Skip to content

A WebExtension to download image with comprehensible filename from Booru page in one click.

License

Notifications You must be signed in to change notification settings

kuanyui/BooruShinshi

Repository files navigation

Booru Shinshi

ボール紳士:ボール (Booru) サイト間をエレガントに渡り歩く。

This WebExtension improve your experience of browsing Booru (ボール, “board” in Japanese) sites by providing the following features:

  1. One-click to download image with formalized, unified, and comprehensible filename from a Booru site.
  2. Auto classfication: auto decide which folder to save, by customized tag rules.
  3. One-click to search current keyword across different Booru sites.
  4. A customized tags blocklist which applys across all booru sites.
  5. (Optional) All image post to images will be opened with new tab (this is very usable if you are using a touchscreen device. e.g. Microsoft Surface).
  6. Extra large navigation buttons specially designed for touchscreen.

This is a 100% safe & clean FLOSS. More info about permission, issue, development is on Github

I develop and release ALL my open-source software projects for free, and are ALL licensed under WTFPL, GPL, MIT, or MPL. however, my “free time” is not free actually. If my works are usable to you or make you happy, please consider to donate to reduce my business hours to make more free and open-source projects for you and this world: Thanks for your contribution!

Currently supported sites:

  • chan.sankakucomplex.com (Considering to deprecate. Too many AI generated garbages.)
  • yande.re
  • konachan.com
  • konachan.net
  • danbooru.donmai.us
  • betabooru.donmai.us
  • gelbooru.com
  • safebooru.org
  • tbib.org
  • booru.allthefallen.moe
  • rule34.xxx
  • rule34.paheal.net
  • rule34.us

For more information please see GitHub.

Install

Screenshot

https://addons.mozilla.org/user-media/previews/full/268/268825.png https://addons.mozilla.org/user-media/previews/full/268/268821.png https://addons.mozilla.org/user-media/previews/full/268/268750.png https://addons.mozilla.org/user-media/previews/full/268/268751.png https://addons.mozilla.org/user-media/previews/full/268/268771.png

Supported Browser

  • Firefox for Desktop >= 61
  • Firefox for Android >= 61

Requirements for Development

  • Node <= 14 (Consider to use nvm)
    • web-ext (consider to install globally via npm i -g web-ext)
  • GNU Make
  • Python 3 (Optional. For HTTP server only)

Development

Prepare

npm i

Run for development (Watch)

make dev
web-ext run --verbose --firefox-profile ~/.mozilla/firefox/PROFILE_DIR_NAME

If webpack watch exit immediately without any error, please try https://github.com/guard/listen/wiki/Increasing-the-amount-of-inotify-watchers

Run Firefox for developing WebExtension

web-ext run --verbose --firefox-profile ~/.mozilla/firefox/XXXXXXX.NAME

Deploy (Build .xpi file & run a HTTP server for download)

make xpi-server

Zip this repository for uploading to addons.mozilla.org

make zip-repo

Permission

For paranoid users such as me, these are all used permissions with its usages:

  • downloads:
    • Download image files.
  • tabs:
    • Detect if currently is in supported site, to decide to show/hide pageAction. (It’s impossible to achive this via only manifest.json on Firefox for Android)
  • storage:
  • unlimitedStorage:
  • konachan.net, …
    • Insert script & CSS to grab tags, grab image’s link, insert HTML & CSS to show dowbload buttons.

TODOs

  • Settings:
    • [ ] Show download button permantally / via pageAction?
    • [X] Customizable filename formatter: site | id | artist | copyright | character | general
    • [ ] keyboard shortcuts
    • [ ] (Android) Always open post with new tab?
    • [ ] (Android) Tap on post link to popup: open, open with tab, download original, download small
  • [X] (Android) Use {} to replace [], which is easier to rename.
  • [ ] Stop observer after url grabbed
  • [X] Show floating buttons after user switch to that tab. Show download buttons only when available.
  • [X] z-index of download buttons
  • [X] Preview download path in tooltip.
    • [ ] An option to disable this tooltip?
  • [ ] Option to adjust font size of buttons
  • [X] Colorize category types in buttons.

License

MPL 2.0