Skip to content

rudolphos/save-in

 
 

Repository files navigation

save-in

image

Firefox Addons | Chrome Web Store (MV2) | Releases (MV2)

Screenshot

A web extension to save media (image, video, audio, link, selection, page) via context menu into user-defined directories relative to the default download location. Supports dynamic naming, rules-based routing/renaming, and shortcut creation (.url, .desktop, .html).

Path Configuration (Symlinks)

WebExtension APIs limit saves to the default download folder. Bypass this using symlinks:

  • Linux/Mac: ln -s /path/to/actual /default_download_dir/symlink
  • Windows: mklink /d \default_download_dir\symlink \path\to\actual
  • Note: Make sure the actual directories exist, or downloads will silently fail.

Permissions

  • <all_urls>: Bypasses CORS for HTTP HEAD requests (checking Content-Disposition).
  • tabs: Accesses active page titles.
  • webRequest: Injects Referer headers (disabled by default).

Configure before use.

Development

  1. Install dev dependencies yarn install
  2. yarn d to start a dev Firefox instance using web-ext
  3. Develop
  4. yarn prettier and/or yarn prettier:write
  5. yarn lint and/or yarn lint:fix
  6. yarn test and/or yarn test:watch

Deployment

ZIP File

  1. Run yarn build to create a deployment ZIP archive in the web-ext-artifacts directory.

Firefox

  1. Obtain your API keys from the Mozilla Developer Center.
  2. Set the following environment variables:
    • WEB_EXT_API_KEY (JWT issuer)
    • WEB_EXT_API_SECRET
  3. Run yarn build:firefox:submit to sign and automatically upload the package to AMO (Firefox Add-ons). Alternatively, you can upload it manually via the Firefox Add-ons Dashboard.
  4. The yarn build:firefox:submit command also generates a local .xpi file for manual distribution.
  5. Note: When uploading, include the library release link (https://github.com/yuku-t/textcomplete/releases) in the reviewer comments.

Chrome

  1. Navigate to the Chrome Web Store Developer Dashboard.
  2. Upload the built ZIP file generated in the first step.

Notes for Reviewers

Source Code

The full source code for this extension is hosted publicly at https://github.com/gyng/save-in.

Third-Party Dependencies

Textcomplete

  • Archive Download: The library archive can be downloaded directly from GitHub Releases.
  • Source Origin: The vendored, minified source code is extracted from the archive pathway package/dist/textcomplete.min.js.
  • Integration: The minified source is included within this add-on's repository at src/options/vendor/textcomplete/textcomplete.min.js. The original archive link was retrieved from the main Textcomplete Releases Page.
  • Build Commands:
    • yarn install — Installs required dependencies for the library.
    • yarn build:dist — Generates the final distribution build for the library.

Contributors

Pull requests, bug reports, and issue submissions are always welcome.

Localizations

Special thanks to our localization contributors:

About

A WebExtension for saving media, links, or selections into user-defined directories. Updated with MV3 support.

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors

Languages

  • JavaScript 71.5%
  • HTML 21.0%
  • CSS 7.5%