vlacour97 / alldebrid-watcher

Automatic downloader for alldebrid
Other
30 stars 3 forks source link
alldebrid docker downloadfolder lidarr npm radarr sonarr torrent-folder torrents watcher

Alldebrid watcher

ko-fi

Alldebrid-watcher is an open-source application that allows for automatic downloading of torrent files using AllDebrid services. The application is divided into 4 configurable services: Watcher, Debrider, Downloader, and Notifier.

Important Information
If you are using a version older than 2.0.0, please refer to the old documentation

How the app works ?

The application is divided into 5 parts:

AppKernel

Enables the operation of the application by calling different services

Watchers

Monitors torrent files or magnets to be downloaded.

Available Watchers:

Only one watcher can be used at a time

Debriders

Transforms a torrent or magnet file into a direct link

Available Debriders:

Only one debrider can be used at a time

Downloaders

Downloads a file transformed by the debrider

Available Downloaders:

Only one downloader can be used at a time

Notifiers

Notifies the user of actions taken. It is possible to select which actions you want to be informed of.

Possible notification types:

Available Notifiers:

Multiple notifiers can be used at the same time
Each notifier can inform of different actions (example: Stdout => verbose mode + Pushover => Downloads started, Downloads finished)

Usage with Node JS

Prerequisites

Installation

Clone the Github repository on your machine using the following command:

git clone https://github.com/vlacour97/alldebrid-watcher.git

Install the dependencies using npm or yarn:

npm install ts-node -g
npm install 

or

yarn install ts-node -g
yarn install 

Launch

Each service can be configured independently using environment variables

Basic usage example

Launch the application using npm or yarn:

ALLDEBRID_TOKEN=allbredid-token  TORRENT_FOLDER=path/to/torrents DOWNLOAD_FOLDER=path/to/downloads npm run start

or

ALLDEBRID_TOKEN=allbredid-token  TORRENT_FOLDER=path/to/torrents DOWNLOAD_FOLDER=path/to/downloads yarn start

Use with Docker

Prerequisites

Lancement

Each service can be configured independently using environment variables

Basic usage example

docker run -v path/tot/torrent:/torrents -v path/to/download:/downloads -e ALLDEBRID_TOKEN=allbredid-token vlacour97/alldebrid-watcher

The options used in this command are:

Configuration

Watcher

Filesystem

Environment Variable Required ? Default value Description
TORRENT_FOLDER No /torrents Path to the folder containing the torrent files

Debrider

AllDebrid

Environment Variable Required ? Default value Description
ALLDEBRID_TOKEN Yes AllDebrid API key
AUTHORIZED_EXTENSIONS No null List of authorized extensions for download separated by a comma (example: avi,mkv,..)

Downloader

Filesystem

Environment Variable Required ? Default value Description
DOWNLOAD_FOLDER No /downloads Path to the folder where the files are downloaded
MAX_PARALLELS_DOWNLOADS No 5 Number of parallel downloads

Notifier

Environment Variable Required ? Default value Available values Description
NOTIFIER_SERVICES No stdout stdout, pushover Choice of notification services separated by a comma
NOTIFIER_SERVICES_CONFIG No {} Keys: stdout, pushover
Values: 'all' or an array with the values specified in the table below
Choice of which actions should be notified on which service in JSON
Example:
{"stdout": "all", "pushover": ["download_start", "download_done"]}

Type of actions

Valeur Description
watch A torrent or magnet file was found
debrid A torrent or magnet file was debrid
download_start The download of a file has begun
download_progress Download progress (x% downloaded)
download_done The download is complete
download_error The download encounters an error

Stdout

No configuration possible

Pushover

Action download_progress was not supported by pushover notifier.

Environment Variable Required ? Default value Description
PUSHOVER_USER_TOKEN Yes Pushover User Token. Set PUSHOVER_USER_TOKEN and PUSHOVER_APP_TOKEN to use pushover app to be notified when download was finish
PUSHOVER_APP_TOKEN Yes Pushover App Token. Set PUSHOVER_USER_TOKEN and PUSHOVER_APP_TOKEN to use pushover app to be notified when download was finish

Licence

Alldebrid-watcher is licensed under the MIT

Contribution

The project is open to contributions from the community.

Whether you're a beginner or an experienced developer, feel free to submit pull requests with bug fixes, new features, and improvements to the code. Your contributions will be greatly appreciated and will help make this project even better. If you have any questions or suggestions, please don't hesitate to reach out to us.