RDT-Client is a web interface to manage your torrents across Real-Debrid, AllDebrid, Premiumize, TorBox, and Debrid-Link.
- Add new torrents via magnet links or files.
- Download all files from a supported Debrid provider automatically.
- Auto-unpack files after download.
- Fake qBittorrent API to integrate easily with Sonarr, Radarr, CouchPotato, etc.
- Run as a background service on Windows or Linux.
- Built with Angular 15 and .NET 9.
Note: You must have a premium account with Real-Debrid, AllDebrid, Premiumize, TorBox, or Debrid-Link!
We strongly recommend using Docker for the easiest deployment.
See the full Docker Setup Guide.
- Install the ASP.NET Core Runtime 9.0.0
- Download the latest GitHub release archive and extract it.
- Edit
appsettings.json
:- Update
LogLevel
Path
to a local directory. - Update
Database
Path
to a local directory. - Tip: Windows paths must use escaped slashes, e.g.,
D:\\RdtClient\\db\\rdtclient.db
- Update
- Start the service:
- To run manually:
RdtClient.Web.exe
- To install as a Windows Service:
service-install.bat
- To run manually:
-
Use the Official .NET Installation Guide to Install .NET SDK 9.0
Example for Ubuntu 20.04:
wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb rm packages-microsoft-prod.deb sudo apt-get update sudo apt-get install -y dotnet-sdk-9.0```
-
Download the latest GitHub release archive:
wget <zip_url>
-
Extract to the path of your choice (~/rtdc in this example):
unzip RealDebridClient.zip -d ~/rdtc cd ~/rdtc
-
Configure
appsettings.json
- Update the Database Path to a valid local directory.
- Ensure the directory exists
- Tip: You can remove the /data/db/ part if you want to simplify the path.
-
Test rdt client runs ok:
dotnet RdtClient.Web.dll
-
Navigate to
http://<youripaddress>:6500
and check it all works -
Create a service (systemd in this example):
sudo nano /etc/systemd/system/rdtc.service
-
Paste and edit the following to include your directory path:
[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
-
Save the file.
-
Enable and start the service:
sudo systemctl daemon-reload sudo systemctl enable rdtc sudo systemctl start rdtc
If you are using Proxmox, you can easily run RDT-Client inside a Linux container (LXC).
Check out the Proxmox guide by tteck
-
Open your browser and go to:
http://127.0.0.1:6500 (or replace with your server's IP/hostname). -
Enter your login credentials.
Note: The first credentials you enter will be saved for future logins.
-
Click on
Settings
at the top, and enter your provider's API key:- Real-Debrid: Get your API Key
- AllDebrid: Get your API Key
- Premiumize: Get your API Key
- TorBox: Get your API Key
- Debrid-Link: Get your API Key
-
Set your Download Path:
- If using Docker, this must match the path you mapped in your Docker container (default:
/data/downloads
). - On Windows, set this to a path on your host system.
- If using Docker, this must match the path you mapped in your Docker container (default:
-
Set your Mapped Path:
- This is the local host destination path corresponding to your Docker volume mapping.
- On Windows, this is usually the same as your Download Path.
-
Save your settings.
Currently, there are five available download clients:
This experimental Internal Downloader can download files using multiple sections in parallel.
Options:
- Download Speed (in MB/s):
Maximum speed per download across all parallel downloads and chunks. - Parallel Connections per Download:
Number of sections downloaded in parallel for each file. - Connection Timeout:
Timeout in milliseconds for a chunk download.Each chunk will retry up to 5 times before failing completely.
This Bezzad Downloader downloads files in parallel with multiple chunks.
Options:
- Download Speed (in MB/s):
Maximum speed per download across all parallel downloads and chunks. - Parallel Connections per Download:
Number of parallel downloads per file.Recommended maximum: 8.
- Parallel Chunks per Download:
Number of chunks each download is split into.Recommended maximum: 8.
- Connection Timeout:
Timeout in milliseconds before a download chunk times out.Each chunk will retry up to 5 times before failing completely.
This method uses an external Aria2c download client.
You must install Aria2c manually on your host; it is not included in the Docker image.
Options:
- URL:
Full URL to your Aria2c service. Must end with/jsonrpc
.
Example:http://192.168.10.2:6800/jsonrpc
- Secret:
An optional secret token to connect to Aria2c.
If Aria2c is selected, none of the
Internal Downloader
settings are used. You must configure Aria2c manually.
The Symlink downloader requires an rclone mount point integrated into your filesystem.
Make sure the exact path to the mounted files matches across all applications, including rdt-client, otherwise, symlinks will not resolve correctly. If the mount path cannot be found, downloads will not start.
Required Configuration:
- Post Download Action:
DO NOT SELECT REMOVE FROM PROVIDER. - Rclone Mount Path:
Example:/PATH_TO_YOUR_RCLONE_MOUNT/torrents/
Suggested Configuration:
- Automatic Retry Downloads:
Set retries to greater than 3.
The Synology Download Station downloader uses an external Download Station server.
You must install Synology Download Station manually on your host; it is not included in the Docker image
Options:
- URL:
Full URL to your Synology Download Station.
Example:http://127.0.0.1:5000
- Username:
Username used to authenticate with the Synology Download Station. - Password:
Password used to authenticate with the Synology Download Station. - Download Path:
The root path where files will be saved on the Synology host.If left empty, the default path configured in Download Station will be used.
RdtClient emulates the qBittorrent web protocol and allows applications to use those APIs. This way, you can use Sonarr and Radarr to download directly from debrid providers.
- Login to Sonarr or Radarr and click
Settings
. - Go to the
Download Client
tab and click the plus to add a new client. - Select
qBittorrent
from the list. - In the
Host
field, enter the IP or hostname of RDT-Client. - In the
Port
field, enter6500
. - Enter your Username/Password that you set up earlier in the appropriate fields.
- Set the category to
sonarr
for Sonarr orradarr
for Radarr. - Leave the other settings as they are.
- Click
Test
, and if all is well, hitSave
. - Sonarr will now treat RDT-Client as a regular torrent client.
- When downloading, the category setting from Sonarr/Radarr will be appended to your download path. For example, if your Remote Path is set to
C:\Downloads
and your Sonarr Download Client's category is set tosonarr
, files will be downloaded toC:\Downloads\sonarr
. - Progress and ETA: The progress and ETA shown in Sonarr's Activity tab will not be accurate, but once the download finishes, the torrent will be marked as completed and can be processed.
-
Forgot your logins?
Simply delete therdtclient.db
file and restart the service. -
Log file for issues:
A log file is written to your persistent path asrdtclient.log
.
If you run into issues, change the log level in your Docker script toDebug
for more detailed logs.
By default, the application runs in the root of your hosted address (e.g., https://rdt.myserver.com/
).
However, if you want to run it as a relative folder (e.g., https://myserver.com/rdt
), you will need to change the BasePath
setting in the appsettings.json
file.
For Docker environments, you can set the BASE_PATH
environment variable.
- NodeJS
- NPM
- Angular CLI
- .NET 9
- 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 -c production
. - Open the Visual Studio 2019 project
RdtClient.sln
andPublish
theRdtClient.Web
to the givenPublishFolder
target. - When debugging, make sure to run
RdtClient.Web.dll
and notIISExpress
. - The result is found in
Publish
.
-
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 the container, run:
docker stop rdtclient
-
To remove the container, run:
docker rm rdtclient
-
Alternatively, use
docker-build.bat
for convenience.
RDT Client's read and write permission tests might fail if the CIFS connection is not set up properly, despite permissions appearing correct. In the Web GUI, it will report "Access Denied", and in the log file, you will see exceptions like this (dotnet issue):
System.IO.IOException: Permission denied
The nobrl option must be specified in your CIFS connection. Refer to the man page for details.
Example:
Options=_netdev,credentials=/etc/samba/credentials/600file,rw,uid=SUBUID,gid=SBUGID,nobrl,file_mode=0770,dir_mode=0770,noperm