Saves {image, video, audio, links, selection, page} in directories relative to the default download directory.

Latest Version

Version
3.7.1
Update
February 13, 2023
Size
143KiB
Developer
Category
Users
60,000+
Rating
4.33333 ★
Manifest Version
2
Web Store Status
Languages Support
English
Nederlands
Svenska
See more
Permissions

ActiveTab
Tabs
ContextMenus
Downloads
Notifications
Storage
WebRequest
WebRequestBlocking
See more

Save In… Extension

Adds a context menu to save media {image, video, audio, link, selection, page} in user-defined folders or directories relative to the default download location.

Save into dynamically named directories.

Flexible rules-based download renaming and routing.

Option to save as shortcuts {.url, .desktop, .html redirect}.

The WebExtension API only allows saving into directories relative to the default download directory. Symlinks can be used to get around this limitation:

Windows: mklink /D C:\\path\\to\\symlink D:\\path\\to\\actual
macOS/Unix: ln -s /path/to/actual /path/to/symlink

Make sure the actual directories exist, or downloads will silently fail.

permission is used to get around CORS on HTTP HEAD requests (to check for Content-Disposition headers)
tabs permission is used to get the active page's title.

Configure before use.
Read more

Source Manifest.json

{"update_url": "https://clients2.google.com/service/update2/crx", "manifest_version": 2, "name": "__MSG_extensionName__", "description": "__MSG_extensionDescription__", "version": "3.7.1", "default_locale": "en", "applications": { "gecko": { "id": {72d92df5-2aa0-4b06-b807-aa21767545cd} } }, "developer": { "name": "Ng Guoyou", "url": "https://github.com/gyng/save-in" }, "homepage_url": "https://github.com/gyng/save-in", "background": { "scripts": [ "src/vendor/browser-polyfill.js", "src/vendor/content-disposition.js", "src/chrome-detector.js", "src/constants.js", "src/history.js", "src/notification.js", "src/path.js", "src/download.js", "src/router.js", "src/shortcut.js", "src/messaging.js", "src/headers.js", "src/variable.js", "src/menu.js", "src/option.js", "src/index.js" ] }, "content_scripts": [ { "matches": [""], "js": ["src/content/content.js"] } ], "permissions": [ "", "activeTab", "tabs", "contextMenus", "downloads", "notifications", "storage", "webRequest", "webRequestBlocking" ], "options_ui": { "browser_style": true, "chrome_style": true, "page": "src/options/options.html" }, "icons": { "48": "icons/ic_archive_black_48px.png", "96": "icons/ic_archive_black_96px.png", "128": "icons/ic_archive_black_128px.png" }}
Read more