Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@dvcol/synology-extension

dvcol270MIT3.18.0TypeScript support: included

A basic synology download station client chrome extension

extension, webex, web-extension, synology

readme

Welcome to Synology Download 👋

Documentation Maintenance License: MIT donate

Synology Download is a React base Chrome extension to manage Synology Download Station tasks directly from the browser.

The popup support the following functionalities

  • Tabbed download tasks display and filtering
  • Task pause, play, seed, delete, destination edit
  • Task creation through rich form (destination, url, ftp, zip password)
  • Http, Https, 2FA login over local network
  • Context menu creation (with custom destination)
  • Quick action menu creation (with custom destination)

The content script supports the following functionalities:

  • One click download on magnet links
  • Quick menu dropdown if more than one exist
  • Rich task creation modal on quick action or context menu
  • In-page notification for task creation

The service worker supports the following functionalities:

  • Periodic task polling
  • Custom badge number and text display for filtered tasks (by tabs, status, destination)
  • Browser notifications on task completion/error (conditional on polling behavior and extensions permissions)

Limitation

Quick-connect login is not currently supported due to the lack of official API documentation.

Currently, only magnet urls are supported for the quick action menu.

Note that translation on previous version of Chrome (100 and below) might have only partial support in banner notifications.

Due to MV3 current limitation, the service-worker is maintained awake through periodic messaging on active tab, if no tab is active in the past 5 minutes, service worker and associated functionalities might suspend until wake events.

Prerequisites

  • npm >=7.10.0
  • node >=16.0.0

Install

npm install

Usage

To start the dev server (hot reload popup and service worker, but not content script)

npm run start

To build for production

npm run build

See package.json for other useful scripts.

Run tests

npm run test:unit

Author

🤝 Contributing

Contributions, issues and feature requests are welcome!
Feel free to check issues page.

Show your support

Give a ⭐️ if this project helped you!

donate

Download

📝 License

This project is MIT licensed.


This README was generated with ❤️ by readme-md-generator

changelog

Changelog

All notable changes to this project will be documented in this file. See standard-version for commit guidelines.

3.18.0 (2025-03-17)

Features

  • panel: adds action button toggle in settings (89624e2)
  • panel: adds basic panel support (458491d)
  • panel: open tasks in side panels (af9a74f)

Bug Fixes

  • panel: adjust css for panel view (c03226a)

3.17.0 (2025-02-06)

Features

  • login: support SID or cookie sessions (d650911)

3.16.4 (2024-11-04)

Bug Fixes

  • eMule: encode eMule uri links (2381680)

3.16.3 (2024-11-04)

Bug Fixes

  • eMule: skip new URL check for eMule links #232 (ecd06b5)
  • web: make search bar absolute instead of fixed (2bec81a)

3.16.1 (2024-08-12)

Features

  • explorer: select folder on create (05c8fe1)

Bug Fixes

  • explorer: adjust css for un-flatten view and loading leaf (424c474)
  • explorer: fix crumb select to navigate up the tree instead of -1 (59216d4)

3.15.0 (2024-08-09)

Features

  • connection: support custom url schemes (19b5b2a)

3.14.1 (2024-08-08)

Bug Fixes

  • explorer: fix min width on folder select (1ac385c)

3.14.0 (2024-08-05)

Features

  • search: adds filter mode select and support multi step filters (21b5dde)

3.13.0 (2024-08-05)

Features

  • search: adds search button to navbar (2a98c39)

Bug Fixes

  • search: keep filter active on panel action & fix meta+f search (5085791)

3.12.0 (2024-08-05)

Features

  • popup: adds open in popup settings (b7b7da3)
  • popup: open task and scrap panel from context/menu (5cd4138)

3.11.3 (2024-07-31)

Bug Fixes

  • search: widen ignore list (3004ebb)

3.11.2 (2024-07-31)

Features

  • panel: implement main panel filter (965d79b)
  • search: refactor search input and clean up css (b6c5371)

Bug Fixes

  • ci: uses release commit hash for publish (77bf093)
  • explorer: correctly size explorer and overflow (443dde5)
  • explorer: ignore modifier keys and support pasting in search filter (9f932c8)
  • explorer: improve filter performances (b760f34)
  • search: widen listener scope for content panel search (2c96f60)

3.11.0 (2024-06-08)

Features

  • explorer: support lazy loading nested paths (7774cae)

3.10.10 (2024-04-15)

Bug Fixes

  • scroll: remove native scrollbar altogether (ebdc46a)

3.10.9 (2024-04-08)

Bug Fixes

  • scroll: adjust max width to prevent scrollbars (a5c24bf)
  • scroll: restore max size, adds overflow hidden instead (39cb337)

3.10.7 (2024-04-08)

Bug Fixes

  • popup: restrict max size for non mac OS popups (230a6f8)

3.10.6 (2024-03-26)

Bug Fixes

  • ui: resize popup after initialisation to prevent undersized window (b7b7df9)

3.10.5 (2024-03-25)

Bug Fixes

  • ui: auto-resize based on window inner width/height (b615400)

3.10.4 (2023-12-07)

Bug Fixes

  • pages: defaults body to dark mode (f1f23a2)

3.10.3 (2023-12-06)

Bug Fixes

  • ci: fix cache and add emoji (f88770f)
  • favicon: fix transparency (be8808d)
  • pages: fix default body background in index.html (d4d77e7)

3.10.2 (2023-12-06)

Features

  • icon: change icon and add logged-out icon (eb0aaa0)

3.10.1 (2023-12-05)

Bug Fixes

  • content: adjust buttons sizing (09961b5)
  • content: prevent card header ellipsis to hide buttons (bea23f7)

3.10.0 (2023-08-19)

Features

  • content: parse magnet link with waiting status (a89687d)
  • context: adds arbitrary text url creation (9bfd41b)

Bug Fixes

3.9.1 (2023-08-07)

Bug Fixes

3.9.0 (2023-08-07)

Features

  • explorer: add search bar in file explorer (cc4d6a9)

Bug Fixes

  • wc: adds destroy hook to static services (dd07027)
  • wc: reset destroy subject for re-init (af8364c)

3.8.6 (2023-07-23)

Bug Fixes

  • wc: exported types and public path (39d85d1)

3.8.5 (2023-05-06)

Bug Fixes

  • menus: add disable scroll-lock to lessen interfering with the page (02e399c)
  • quick-menu: fix anchor payload type signature (fdcdd86)

3.8.3 (2023-05-01)

Bug Fixes

  • wc: adds event dispatch when component are donnected/disconnected (8fb3ffb)

3.8.2 (2023-05-01)

Bug Fixes

  • mock: fix download completed mock (1c04258)
  • mocks: adds login support to standalone wc (a77ac6d)

3.8.1 (2023-04-23)

Features

  • mock: adds download support (b8e2cc3)

Bug Fixes

  • card: fix responsive tasks (0a3c5c7)
  • task: remove hover background on tasks (2184701)

3.7.1 (2023-04-22)

Bug Fixes

  • mock: move publish after delete (acd564b)

3.7.0 (2023-04-22)

Features

  • mock: store mocks in local storage (64c1f1d)

3.6.5 (2023-04-21)

Bug Fixes

  • build: fix exported files (3b61174)
  • container: fix container handling and switch to context (cce0416)

3.6.3 (2023-04-21)

Bug Fixes

3.6.2 (2023-04-20)

Bug Fixes

  • mocks: add listener support for mocks (9f96593)

3.6.1 (2023-04-20)

Bug Fixes

  • mock: fix destination uri (289d436)

3.6.0 (2023-04-20)

Features

  • mock: add mock support for files (39907b9)

Bug Fixes

  • scroll: contain scroll events on pull-to-refresh (991efbc)

3.5.3 (2023-04-19)

Features

  • mocks: add create task (8f635aa)
  • mocks: add resume and pause mocks (4ffbb82)

Bug Fixes

  • pull: fix scale down pull to refresh (0ddfc3c)
  • wc: fix notification service (41d3255)

3.5.2 (2023-04-19)

Bug Fixes

  • mock: fix task delete mock (602f33f)

3.5.1 (2023-04-19)

Features

  • scroll: add support for pull to refresh (3a8c2d1)
  • scroll: adds pull/scroll to refresh to content (170fbe9)

Bug Fixes

3.3.0 (2023-04-18)

Features

  • wc: add demo mode for task progress (3ede0d1)
  • wc: add support to task mocking (60a0bb5)
  • wc: adds badge mock value (4220a4f)

Bug Fixes

  • settings: adds support for hash anchors in shadow dom (1d2c929)
  • wc: fix exported types (2ddf8fc)

3.1.1 (2023-04-16)

Features

  • accordion: adds animations to accordion (7dac8e5)
  • content: add basic enter/exit animations (a216b1b)
  • mocks: add task generator (ab4b2d6)
  • wc: adds component registration and task adding (062b554)

Bug Fixes

  • accordion: adds collapse to remove animation (8a21b37)
  • content: disable animation when first paint (d3d32bb)
  • content: fix hover button on first element when expanded (8584662)
  • menu: disable scroll lock on menu open (e645875)
  • options: fix sizing of option container (9685b7d)

3.0.23 (2023-04-09)

Bug Fixes

  • build: fix build log level (5a18794)
  • tabs: filter download only tabs if download disabled (d169abe)
  • tabs: split default from template tabs (535e30e)

3.0.22 (2023-04-07)

Bug Fixes

  • build: switch to esm (7e2fd1d)
  • patch: fix chrome patch in other browser (without globals) (c577797)

3.0.20 (2023-04-07)

Bug Fixes

  • build: fix package exports (7c458d4)

3.0.19 (2023-04-07)

Bug Fixes

  • build: disable chunking for web prod build (c1dfa89)

3.0.18 (2023-04-07)

Bug Fixes

  • build: clean up hot-reload bundle (6304177)
  • build: fix mui imports (e02c558)
  • build: improve chunking in analyze mode (381bb6c)
  • build: lazy load settings routes (0ffe4b3)
  • build: move to lazy loaded routes (8f92a3b)
  • ci: simplify ci workflow (26ebf84)
  • mock: mock get manifest (9ff0e3f)

3.0.15 (2023-04-05)

Bug Fixes

  • ui: fix spacing to be relative to parent instead of viewport (9324be7)
  • web-component: adds background color to dev index.html (0d188c1)

3.0.13 (2023-04-05)

Bug Fixes

  • api: adds api fetch on polling event to get supported apis (278f01d)
  • history: adds destination history on task edit (fd349ff)
  • http: fix GET and DELTE headers (bd68b79)
  • logger: create base logger without store integration (b89b6a0)
  • task: fix task edit form not reseting between tasks (e311e34)
  • task: move downloadApi2 behind api check (ae780bf)
  • web-component: expose logger in wc (671650a)
  • web-component: expose store in web components (3cd5425)
  • web-component: fix dialog container target (8856ff0)
  • web-component: fix extensibility in fetch intercept (f8f8c8d)
  • web-component: move console.debug to base logger (001bfdb)

3.0.9 (2023-04-02)

Bug Fixes

  • web-component: add intellij web types (f9ae6f1)
  • web-component: adds web components typing (b2bce12)

3.0.8 (2023-04-02)

Bug Fixes

  • css: fix webkit override to camel case (9399c77)
  • theme: fix auto detect dark/light theme (3c7d268)
  • web-component: adds missing chrome patch (ff56ec6)
  • web-component: adds support for basename routing (57eb954)
  • web-component: rework chrome patching (e39d197)

3.0.6 (2023-04-01)

Bug Fixes

  • web-component: fix missing i18n (8f7ce72)

3.0.5 (2023-04-01)

Bug Fixes

  • web-component: fix theme switching (c5ef65f)

3.0.4 (2023-04-01)

Bug Fixes

  • routing: switch to hash router for wc compatibility (42159ad)
  • web-component: adds background to root container (bb83b64)
  • web-component: fix container for input selects (7f20229)
  • web-component: fix i18n typing (d53991a)

3.0.2 (2023-04-01)

Bug Fixes

  • web-component: fix export and i18n (169ec20)

3.0.1 (2023-04-01)

Bug Fixes

  • web-component: fix export define and add bundle analyzer (9fb3a91)

3.0.0 (2023-04-01)

⚠ BREAKING CHANGES

  • publish: adds npm publishing

Features

  • publish: adds npm publishing (991d12a)
  • web-component: initial commit adding web-component support (4d4080c)

Bug Fixes

  • mui: fix mui error for disabled button wrapped in tooltips (4917440)
  • navbar: fix typing issues on navbar buttons (e33d936)
  • web-component: fix i18n mocks (5d85ab5)
  • web-component: fix popper and popover targets (56467ec)

2.5.2 (2023-03-30)

Bug Fixes

  • navbar: move delete error to clear button instead of remove (a524678)

2.5.1 (2023-03-29)

Bug Fixes

  • http: fix error handling for exhaust streams (c325c6f)
  • tasks: fix loading indicator for task files (4df86da)
  • ui: fix debounce threshold for loading bar (62bf19c)

2.5.0 (2023-03-28)

Features

  • settings: add task form settings (2e394c8)
  • task: persist task form state in modal (9e93474)

Bug Fixes

  • task: fix error notification when url parsing fails (cfcabea)

2.4.2 (2023-03-27)

Bug Fixes

  • recent: add highlight on recent select (ed5edb8)

2.4.1 (2023-03-27)

Bug Fixes

  • task: fix recent scroll container in task (1ffcfdd)

2.4.0 (2023-03-27)

Features

  • explorer: add recent destination to folder explorer (34a7950)

Bug Fixes

  • scrapping: fix missing i18n and name parsing (f3fc75e)
  • task: fix edit for non bt taks (116c20b)

2.3.0 (2023-03-26)

Features

  • scraping: adds support for link scrapping (7eab8a3)

2.2.1 (2023-03-18)

Bug Fixes

  • polling: add retry to keep polling task after error (dbe590f)

2.2.0 (2023-03-13)

Features

  • settings: add chrome sync/local option (107e328)
  • sync: adds confirmation prompt when switching mode (fe5db48)

Bug Fixes

  • tasks: fix task restore (86c24d8)

2.0.3 (2023-03-12)

Bug Fixes

  • modals: fix loading indicators in modals (c06085e)
  • performance: exhaust map polling request to prevent overtaxing (a358554)
  • performance: move to lazy load file list to improve performance (44a11bd)
  • task: fix task splicing (f1610ac)

2.0.2 (2023-03-12)

Features

  • api: adds list, download and create task api (5ada04f)
  • api: move to formData (2a5e21d)
  • form: adds support for files to FormInput (35e150b)
  • task: add support for adding task from file (8610b59)
  • task: add support for choosing files when adding torrent file (0f1a608)
  • task: move to downloadstation2 and support for multiple urls (5b33056)

Bug Fixes

  • api: fix typing and rework body (85ddea0)
  • download: fix download erase on one click payload (d9f0116)
  • installed: fix installed new version detection (5704939)
  • performance: modify index and add equality in selector (6360966)
  • task: fix clear state when aborting file select (af8a0af)

2.0.1 (2023-03-11)

Bug Fixes

  • login: add auto-login to content tab (41f7e99)
  • login: fix auto-login within popup (1d4f737)

2.0.0 (2023-03-10)

⚠ BREAKING CHANGES

  • tasks: add support for task edits and clean up error handling

Features

  • task: add task edit info request (03d5fb5)
  • tasks: add support for multiple links in task add (b6710c7)
  • tasks: add support for task edits and clean up error handling (00e9b1b)
  • tasks: adds support for task stopping (incomplete downloads) (ffd627e)

Bug Fixes

  • context: fix context menu restore (40a4ed5)
  • logger: init proxy logger for package override (fbdaaed)
  • login: fix auto-login and add error messages (6df3e37)
  • menu: fix pause all and remove all buttons (b848939)
  • notification: fix i18n create task fail error notification (6d10b64)
  • tasks: adds confirmation modal and allow deletion while stopping (3e8f340)
  • ui: remove capitalisation in config (e07027d)

1.24.1 (2023-03-09)

Bug Fixes

  • login: fix wrong session name in login (7d53959)

1.24.0 (2023-03-08)

Features

  • download: adds support for download history (27b2977)

Bug Fixes

  • download: fix active tab detection and retry download in intercepts (7320624)

1.23.3 (2023-03-08)

Features

  • logger: split logging levels by scope (6af91dc)

Bug Fixes

  • https: attempts auto-login on fetch failed (96be68f)
  • https: update base http api and code cleanup (7bcfc14)
  • loading: fix loading count reset (f38ca22)

1.23.2 (2023-03-08)

Bug Fixes

  • logger: change default logging level (84dbf7f)
  • login: fix auto-login on update (4580c8d)
  • login: fix credential login error feedback (7016535)
  • notifications: fix relative size (rem to em) in notification snacks (c8819f9)

1.23.1 (2023-03-08)

Features

  • advanced: add logging download and sync/local storage clear (b686b9f)
  • components: adds json explorer component (581e9c5)
  • logger: create logger service (0b05e96)
  • logger: wrap console usage in logger service (7729266)
  • settings: adds advanced settings panels (9ab1034)
  • settings: hide settings details when functionality is disabled (fd4d18e)
  • settings: move download to dedicated tab (a85b915)
  • settings: split download and download intercept settings (5a9fc26)

Bug Fixes

  • auto-login: adds auto-lopin at content injection (18587e1)
  • build: disable console drop (edeae8b)
  • logger: fix trace level in logger (daa479b)
  • logging: fix logging settings panel (c4eae6d)

1.22.0 (2023-03-07)

Features

  • login: adds loading/login indicator in popup (8f6c8cd)

Bug Fixes

  • auto-login: fixes auto login on modal popup (3bffe06)
  • credentials: auto switch default port when protocol change (6b5f319)
  • doc: adds more information on enabling https (ac52660)
  • forms: add missing error message in form validation (4ef0b54)
  • login: adds loading indicator for auto-login (444b3f6)

1.21.4 (2023-03-07)

Bug Fixes

  • connection: fix auto-login for 2FA without device token (3e2b46b)
  • connection: fix https, 2FA and auto-login for DSM 7+ (2d42259)
  • popup: fix incorrect button label for seed/retry in task error (d883d29)
  • synology: fix url sanitising for non-standard comma usage in urls (b42a1e4)

1.21.1 (2023-03-06)

Bug Fixes

  • connection: fix auto-login (2ba8bef)
  • content: switch to em for relative sizing of injected components (cd884d1)
  • update: fix update handler for first install (77a81d2)

1.21.0 (2023-03-05)

Features

  • content-script: re-inject content-script on extension update (3438de2)
  • content: broadcast content modal/menu open/close (32d4e88)
  • history: sync history to local storage (5dd948e)
  • menus: adds support to recent custom destinations (ad8fb9f)
  • navbar: adds scope specific modifier keys (shift/alt) (44bb35d)

Bug Fixes

  • content: fix button offset (1cc3265)
  • downloads: update warning and change interception switch in handler (2e8a6a9)
  • notifications: fix list notification on macos (34cec8d)
  • popup: fix hover ui glitch in cards (16cfb19)
  • tasks: fix pause all tasks (e076263)

1.18.2 (2023-03-03)

Bug Fixes

  • download: fix enable/disable listener to prevent interferences (c8c1514)
  • menu: fix disabled refresh button (612505c)

1.18.1 (2023-03-03)

Features

  • about: add link to release in about page (7ff9975)
  • common: add sortable list based on @dnd-kit (0a2d08e)
  • common: expand sortable list customized props (6d21012)
  • download: disable synology buttons when logout (2a6fe49)
  • notification: add support for persistent snack notifications (fe0449f)
  • polling: support download only or synology only polling (33658fb)
  • settings: adds drag and drop support to settings tabs (4f4b863)

Bug Fixes

  • content: fix backward compatibility for menus (04f3d8a)
  • intercept: fix error handling in failed interceptions (48c9346)

1.17.0 (2023-03-02)

Features

  • settings: adds restore & confirm in most settings (a56c101)

Bug Fixes

  • downloads: fix download intercept erase/resume (cd2f315)

1.16.1 (2023-03-02)

Bug Fixes

  • build: fixes download service sync key erasure when compressed (da54947)
  • content: force max zIndex (4551700)

1.16.0 (2023-03-01)

Features

  • download: add support for content script download interception (a6ab1b6)
  • navbar: shift clicking the refresh button clear in memory tasks (6d1986f)
  • notifications: add download notification support (1e0ca5a)
  • popup: add download task support to popup (f21189d)
  • readme: adds webstore link to readme (85be3f9)
  • settings: add downloads interceptions settings (d3af04b)
  • settings: add Downloads settings to popup (9a5fdf4)
  • settings: move to rem and add scaling option (8b71912)

1.14.6 (2022-09-24)

Bug Fixes

  • credentials: fix minimum port number (fe5791a)
  • i18n: add warning for unprivileged ports (1bfe3a2)
  • service: reset loading bar on init (fd3f51e)

1.14.5 (2022-04-23)

Features

  • navbar: add color to navbar icon and add login button (0ccdf9f)

Bug Fixes

  • build: fix lint config and build scripts (2260fd7)
  • login: fix logout not working for newer versions of dsm (e73907f)

1.14.2 (2022-04-16)

Bug Fixes

  • github: : updates sponsor links

1.14.0 (2022-04-14)

Features

  • popup: adds optional navbar shortcut buttons. #102 (6ccc39c)

Bug Fixes

  • build: fixes typing following chrome types version bump (59df047)
  • lint: fixes cyclic import issues (4862669)
  • tests: fix tests (because of esm module breaking jest) (31105c3)

1.13.4 (2022-03-25)

Bug Fixes

  • connection: fixes info fetching in credentials for for DSM7+ (82fb8cb)

1.13.3 (2022-03-25)

Features

  • ci: adds husky and commitlint to enforce conventional commits (bfa1110)

Bug Fixes

  • auth: adds auto-login toggle in connection settings (7e1f1b1)

1.13.2 (2022-03-20)

Features

  • explorer: Add folder renaming & creation (6e9cf29)

Bug Fixes

  • build: Exits with code 1 when build failure (6684210)
  • content: Display error message in-page while not logged (ab9c471)
  • popup: Add progress sorting to tabs (e6af186)
  • popup: Allow resuming error tasks (b8c80bb)
  • service: Pause all task instead of only active ones (50cc77a)

1.12.1 (2022-03-14)

Features

  • ci: Add codeQl setup files (#54) (d7a04dd)
  • ci: Update workflow names & add dependabot automerge (28b39df)
  • popup: Add background progress on task cards (6a2bc24)

Bug Fixes

  • ci: Add release candidate tag to ci version bumping (5aa9c48)
  • ci: Fix release script to ignore rc tags (fd2452d)
  • ci: Prevent concurrent running workflows (80384a2)
  • popup: Fix task detail layout on hover (3144218)
  • storage: Switch logged state from sync to local (1602e07)

1.9.2 (2022-03-07)

Bug Fixes

  • ci: Fix release pipeline to publish to chrome store (0d62d1e)
  • i18n: Fix quick-connect translation wording (892e20c)

1.9.0 (2022-03-07)

Features

  • connection: Added alpha support for QuickConnect (b3b55f4)
  • popup: Add custom settings for loading bar indicator (#48) (0bc4341)

Bug Fixes

  • service: Fix missing ready check in credentials (37e8322)
  • store: Fixes missing nullchecking before destructuring (#49) (f04c666)

1.7.2 (2022-02-25)

Features

  • ci: Add Publish to release pipeline (04621ce)
  • popup: Add about page to extension, linking to helpful information (#33) (04cd20a)
  • webstore: Add privacy policy details and change extension name. (b613b11)

Bug Fixes

  • ci: Move to maintained github action for publishing (b5298ab)
  • ci: Split changelog for release and fix publish files (6950474)
  • service: Migrate from custom observable to rxjs fromFetch API (a4321f8)
  • Task: Fix form state successful submit not displaying (0ecccfe)
  • Task: Fix notification not showing in TaskDialog (1bb4ce3)

1.4.0 (2022-02-24)

Features

  • ci: Add changelog to release pipeline (9f0bc1c)
  • ci: Add ci workflows to reposotory for versionning and test reporting (#18) (58132c9)
  • ci: Add release pipeline (f22e375)
  • ci: Upload zipped folder to githug release (898ae67)

Bug Fixes

  • ci: Update manifest.json on version bump (#30) (a8a8fc1)
  • ci: Use standard-version for version bumping in CI (083e29c)