Synology Download Manager
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 (
<audio>tags) and files (e.g.
- 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.
Building the Extension
Install Yarn if you don't already have it.
- Install dependencies.
- Build all assets.
- (Optional) Build into a
.zipfile at the repo root suitable for distibuting as an addon. This step is not necessary for doing local development, for which you can just point the browser at the repo root or
manifest.json. It shells out to
zip, which it assumes is accessible on your
For the Paranoid: Verifying Your Installation
If you, like me, are paranoid that open-source extensions may not show you the same code that they actually publish to the browser add-on stores, you can follow these steps.
These steps may be used for any other extension as well, accounting for any differences in the add-on layout or build process.
Ensure that you've checked out the appropriate version of the repo to compare to your version downloaded from the add-on store. You can get a list of names with
git tag. Note that these verification instructions do not exist in all versions of the README, so be sure to keep this copy of the README around.
Follow the instructions outlined in the above Development section to build a distributable version of the addon.
Find the copy of this extension installed from the add-on store.
In Firefox, visit
about:support> Application Basics > Profile Folder to open your profile folder. There, you can find this extension at
Unzip the extension file into a folder (it may not have a
.zipextension, but it is a zip file).
If you'd like to, you can scan the other files as well and verify that there is no executable code inside them. Most of them are CSS styles or JSON configuration.
Now that you have the extension built from the original source as well as the source from a copy downloaded from the add-on store, you can compare them and verify they are character-for-character equal.
I suggest using a simple
diff -r <path-to-source>/dist/js <path-to-downloaded-addon>/dist/jswhich will either output nothing or note that the from-source version has extra
.mapfiles (these are called "source maps" and are for development purposes, which is why they aren't in the version installed from the add-on store).
The last step is to verify that you trust the source of this extension and its dependencies. You can of course read the source here and note that it doesn't do anything other than what it advertises. Furthermore, the dependencies are also all open-source, and they are all either written by me (
synology-typescript-api, also open source) or extremely popular, de-facto standard libraries that are thoroughly vetted (e.g. Lodash, React).