An open source browser extension for adding/managing download tasks to your Synology DiskStation.
Synology Download Manager allows you to add and manage your download tasks on your Synology DiskStation right from your browser. Synology Download Manager is implemented with a focus on stability and clarity in the UI.
- Right-click and download many types of media (
<video>
and<audio>
tags) and files (e.g..torrent
files). - Clear all completed tasks with one click.
- Choose destination folder for new download tasks.
- View, filter and sort all the current download tasks in the extension popup.
- Add/pause/resume/remove download tasks in the extension popup.
- System notifications for completed download tasks.
- Open some types of links (e.g.
magnet:
) in the extension rather than a desktop application.
- Firefox (view listing)
- Chrome (view listing)
Synology Download Manager needs your login credentials to communicate with your NAS. It doesn't collect, store or transmit any other information. Read more.
Please note that development is not actively supported on Windows. Some of the below commands may fail and require manually invoking an analogous Windows command instead.
Dependencies are managed with Yarn. Install it if you don't already have it.
These instructions describe how to build and automatically re-build the assets for the extension for quick iteration during active development. For building, optimizing and packaging the extension for distribution, see the next section.
Please note that while the build tasks will auto-recompile, the browser may not pick up changes automatically. In particular, changes to code running in the extension's background generally requires you to explicitly refresh the extension (for which there is usually a button in the debugging interface). Changes to language support may require you to remove the development extension entirely and re-add it.
-
Install dependencies.
yarn
-
Start a build to watch files and auto-recompile code on change.
yarn watch
-
In your browser, navigate to the extension debugging page and open
manifest.json
.Firefox:
about:debugging
> This Firefox > Load Temporary Add-on...Chrome:
about:extensions
> Enable "Developer mode" > Load unpacked
-
Install dependencies.
yarn
-
Build and optimize all assets.
yarn build
-
Zip all assets into a file suitable for distribution.
yarn zip
-
(Optional) Zip all source code into a file suitable for distribution.
yarn zip-sources
I need help localizing Synology Download Manager! Read in detail about how to localize WebExtensions, or skip to the sections below for short summaries.
In order to add the new language, base your translation file off the English messages file.
- Copy
_locales/en/messages.json
into a new file at_locales/<your language code>/messages.json
. - Edit the
message
field in each item with your translation. - In
src/common/moment.ts
, add a new import line likeimport "moment/locale/<your language code>";
. - Load (or reload) the extension to test it out. You may need to remove the extension entirely and then re-add it for changes to be reflected.
- Open a pull request!
There are automated checks to ensure that you're only defining translated strings that the extension actually uses.
If you're adding more strings for an incomplete translation, you can use ./scripts/diff-messages <your language code>
to get a list of all the entries you need to add to the messages.json
in a format that is easily copy-pasted:
$ ./scripts/diff-messages ru
"Badge_shows": {
"message": "Badge shows",
"description": "Prefix text for badge-display-type dropdown."
},