rdt-client
rdt-client copied to clipboard
Real-Debrid Client Proxy
Real-Debrid Torrent Client
This is a web interface to manage your torrents on Real-Debrid or AllDebrid. It supports the following features:
- Add new torrents through magnets or files
- Download all files from Real-Debrid or AllDebrid to your local machine automatically
- Unpack all files when finished downloading
- Implements a fake qBittorrent API so you can hook up other applications like Sonarr or Couchpotato.
- Built with Angular 13 and .NET 6
You will need a Premium service at Real-Debrid or AllDebrid!
Click here to sign up at Real-Debrid.
Click here to sign up AllDebrid.
(referal links so I can get a few free premium days)
Docker Setup
You can run the docker container on Windows, Linux. To get started either use Docker Run or Docker Compose.
Docker Run
docker run --pull=always
--volume /your/download/path/:/data/downloads \
--volume /your/storage/path/:/data/db \
--log-driver json-file \
--log-opt max-size=10m \
-p 6500:6500 \
--name rdtclient \
rogerfar/rdtclient:latest
Replace /your/download/path/ with your local path to download files to. For Windows i.e. C:/Downloads.
Replace /your/storage/path/ with your local path to store persistent database and log files in. For Windows i.e. C:/Docker/rdt-client.
Docker Compose
You can use the provided docker compose to run:
version: '3.3'
services:
rdtclient:
container_name: rdtclient
volumes:
- 'D:/Downloads/:/data/downloads'
- 'D:/Docker/rdt-client/:/data/db'
image: rogerfar/rdtclient
restart: always
logging:
driver: json-file
options:
max-size: 10m
ports:
- '6500:6500'
And to run:
docker-compose up -d
Replace the paths in volumes as in the above step.
Run as a Service
Instead of running in Docker you can install it as a service in Windows or Linux.
Windows Service
- Make sure you have the ASP.NET Core Runtime 6 installed: https://dotnet.microsoft.com/download/dotnet/6.0
- Get the latest zip file from the Releases page and extract it to your host.
- Open the
appsettings.jsonfile and replace theLogLevelPathto a path on your host. - In
appsettings.jsonreplace theDatabasePathto a path on your host. - When using Windows paths, make sure to escape the slashes. For example:
D:\\RdtClient\\db\\rdtclient.db
Linux Service
Instead of running in Docker you can install it as a service in Linux.
-
Install .NET: https://docs.microsoft.com/en-us/dotnet/core/install/linux
Ubuntu 20.04 example:
wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.debsudo dpkg -i packages-microsoft-prod.debrm packages-microsoft-prod.debsudo apt-get update && sudo apt-get install -y dotnet-sdk-6.0 -
Get latest archive from releases:
wget <zip_url> -
Extract to path of your choice (~/rtdc in this example):
unzip RealDebridClient.zip -d ~/rdtc && cd ~/rdtc -
In appsettings.json replace the Database Path to a path on your host. Any directories in path must already exist. Or just remove "/data/db/" for ease.
-
Test rdt client runs ok:
dotnet RdtClient.Web.dll
navigate to http://:6500, if all is good then we'll create a service -
Create a service (systemd in this example):
sudo nano /etc/systemd/system/rdtc.servicepaste in this service file content and edit path of your directory:
[Unit] Description=RdtClient Service [Service] WorkingDirectory=/home/<username>/rdtc ExecStart=/usr/bin/dotnet RdtClient.Web.dll SyslogIdentifier=RdtClient User=<username> [Install] WantedBy=multi-user.target -
enable and start the service:
sudo systemctl daemon-reload
sudo systemctl enable rdtc
sudo systemctl start rdtc
Setup
First Login
- Browse to http://127.0.0.1:6500 (or the path of your server).
- The very first credentials you enter in will be remembered for future logins.
- Click on
Settingson the top and enter your Real-Debrid API key (found here: https://real-debrid.com/apitoken. - If you are using docker then the
Download pathsetting needs to be the same as in your docker file mapping. By default this is/data/downloads. If you are using Windows, this is a path on your host. - Same goes for
Mapped path, but this is the destination path from your docker mapping. This is a path on your host. For Windows, this will most likely be the same as theDownload path. - Save your settings.
Download Clients
Currently there 2 available download clients:
Simple Downloader
This is a simple 1 connection only download manager. It uses less resources than the multi-part downloader. It downloads straight to the download path.
It has the following options:
- Maximum parallel downloads: This number indicates how many completed torrents from Real-Debrid can be downloaded at the same time. On low powered systems it is recommended to keep this number low.
Multi Part Downloader
This downloader as more options and such uses more resources (memory, CPU) to download files. Recommended more powerful systems.
It has the following options:
- Temp Download path: Set this path to where the downloader temporarily stores chunks. This path can be an internal path in Docker (i.e.
/data/temp) but make sure you have enough disk space to complete the whole download. When all chunks are completed the completed file is copied to your download folder. - Maximum parallel downloads: This number indicates how many completed torrents from Real-Debrid can be downloaded at the same time.
- Parallel connections per download: This number indicates how many threads/connections/parts/chunks it will use per download. This can increase speed, recommended is no more than 8.
- Download speed (in MB/s): This number indicates the speed in MB/s per download. If you set this to 10 and
Maximum parallel downloadsto 2, you can download with a maximum of 20MB/s.
Aria2c downloader
This will use an external Aria2c downloader client. You will need to install this client yourself on your host, it is not included in the docker image.
It has the following options:
- Url: The full URL to your Aria2c service. This must end in /jsonrpc. A standard path is
http://192.168.10.2:6800/jsonrpc. - Secret: Optional secret to connecto to your Aria2c service.
Troubleshooting
- If you forgot your logins simply delete the
rdtclient.dband restart the service. - A log file is written to your persistent path as
rdtclient.log. When you run into issues please change the loglevel in your docker script toDebug.
Connecting Sonarr/Radarr
RdtClient emulates the qBittorrent web protocol and allow applications to use those APIs. This way you can use Sonarr and Radarr to download directly from RealDebrid.
- Login to Sonarr or Radarr and click
Settings. - Go to the
Download Clienttab and click the plus to add. - Click
qBittorrentin the list. - Enter the IP or hostname of the RealDebridClient in the
Hostfield. - Enter the 6500 in the
Portfield. - Enter your Username/Password you setup above in the Username/Password field.
- Set the category to
sonarrfor Sonarr orradarrfor Radarr. - Leave the other settings as is.
- Hit
Testand thenSaveif all is well. - Sonarr will now think you have a regular Torrent client hooked up.
When downloading files it will append the category setting in the Sonarr/Radarr Download Client setting. For example if your Remote Path setting is set to C:\Downloads and your Sonarr Download Client setting category is set to sonarr files will be downloaded to C:\Downloads\sonarr.
Notice: the progress and ETA reported in Sonarr's Activity tab will not be accurate, but it will report the torrent as completed so it can be processed after it is done downloading.
Build instructions
Prerequisites
- NodeJS
- NPM
- Angular CLI
- .NET 6
- Visual Studio 2022
- (optional) Resharper
- Open the client folder project in VS Code and run
npm install. - To debug run
ng serve, to build runng build --prod. - Open the Visual Studio 2019 project
RdtClient.slnandPublishtheRdtClient.Webto the givenPublishFoldertarget. - When debugging, make sure to run
RdtClient.Web.dlland notIISExpress. - The result is found in
Publish.
Build docker container
- In the root of the project run
docker build --tag rdtclient . - To create the docker container run
docker run --publish 6500:6500 --detach --name rdtclientdev rdtclient:latest - To stop:
docker stop rdtclient - To remove:
docker rm rdtclient - Or use
docker-build.bat