Firefox Addons | Chrome Web Store (MV2) | Releases (MV2)
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).
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.
<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.
- Install dev dependencies
yarn install yarn dto start a dev Firefox instance using web-ext- Develop
yarn prettierand/oryarn prettier:writeyarn lintand/oryarn lint:fixyarn testand/oryarn test:watch
- Run
yarn buildto create a deployment ZIP archive in theweb-ext-artifactsdirectory.
- Obtain your API keys from the Mozilla Developer Center.
- Set the following environment variables:
WEB_EXT_API_KEY(JWT issuer)WEB_EXT_API_SECRET
- Run
yarn build:firefox:submitto sign and automatically upload the package to AMO (Firefox Add-ons). Alternatively, you can upload it manually via the Firefox Add-ons Dashboard. - The
yarn build:firefox:submitcommand also generates a local.xpifile for manual distribution. - Note: When uploading, include the library release link (https://github.com/yuku-t/textcomplete/releases) in the reviewer comments.
- Navigate to the Chrome Web Store Developer Dashboard.
- Upload the built ZIP file generated in the first step.
The full source code for this extension is hosted publicly at https://github.com/gyng/save-in.
- 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.
Pull requests, bug reports, and issue submissions are always welcome.
Special thanks to our localization contributors:
