/synology-download

Synology Download Station browser extension built with React.

Primary LanguageTypeScriptMIT LicenseMIT

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

chrome-webstore

📝 License

This project is MIT licensed.


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