This is a web interface to manage your torrents on Real-Debrid, AllDebrid, Premiumize, TorBox or DebridLink. It supports the following features:
You will need a Premium service at Real-Debrid, AllDebrid, Premiumize, Torbox or DebridLink!
Click here to sign up for Real-Debrid.
Click here to sign up for AllDebrid.
Click here to sign up for Premiumize.
Click here to sign up for TorBox.
Click here to sign up for DebridLink.
(referal links so I can get a few free premium days)
Please see our separate Docker setup Read Me.
Instead of running in Docker you can install it as a service in Windows or Linux.
appsettings.json file and replace the LogLevel Path to a path on your host.appsettings.json replace the Database Path to a path on your host.D:\\RdtClient\\db\\rdtclient.dbRdtClient.Web.exe to start the client.service-install.bat to install the client as a service. This will install RdtClient.Web.exe as a service which make the client start in the backgorund when the computer starts. (You probably want to do this if you are going to use this with Sonarr etc...)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.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb
sudo apt-get update && sudo apt-get install -y dotnet-sdk-10.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.service
paste 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
If you use Proxmox for your homelab, you can run rdt-client in a linux container (LXC), check it here: https://tteck.github.io/Proxmox/
Settings on the top and enter your Real-Debrid API key (found here: https://real-debrid.com/apitoken.Download path setting 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.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 the Download path.Currently there 4 available download clients:
This downloader can be used to download files in parallel and with multiple chunks.
It has the following options:
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:
http://192.168.10.2:6800/jsonrpc.If Aria2c is selected, none of the above Bezzad options are used, you have to configure Aria2c manually.
Symlink downloader requires a rclone mount to be mounted into your filesystem. Be sure to keep the exact path to mounted files in other apps exactly the same as used by rdt-client. Otherwise the symlinks wont resolve the file its trying to point to.
If the mount path folder cant be found the client wont start downloading anything.
Required configuration:
Suggested configuration:
The Synology Download Station downloader hands each file to your NAS's Download Station, which downloads it and writes it to disk. The bytes never pass through rdt-client, so its memory stays flat regardless of file size.
Prerequisites on the Synology:
Failed to get default download destination of user [<account>]).It has the following options:
http://127.0.0.1:5000. From inside a Docker container 127.0.0.1 is the container itself — use the NAS's LAN IP (e.g. http://192.168.1.50:5000) and the DSM web port (HTTP 5000 by default).Media/Downloads/Torrents) — not an absolute path like /volume1/Media/Downloads/Torrents. This must resolve to the exact same physical folder as the general Download path — see Path mapping below. If left empty, the default Download Station destination is used.Path mapping (important). Download Station runs on the NAS; rdt-client runs in its container. They see the same folder through different mounts, so:
The Synology Download Path (above) and rdt-client's general Download path must resolve to the exact same physical folder on the NAS.
rdtclient.db and restart the service.rdtclient.log. When you run into issues please change the loglevel in your docker script to Debug.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 RealDebrid.
Settings.Download Client tab and click the plus to add.qBittorrent in the list.Host field.Port field.sonarr for Sonarr or radarr for Radarr.Test and then Save if all is well.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.
RdtClient also emulates part of the SABnzbd API so Sonarr and Radarr can add NZB downloads. This requires a provider that supports Usenet/NZB downloads, currently TorBox or Premiumize.
Settings.Download Client tab and click the plus to add.SABnzbd in the list.Host field.6500 in the Port field.Use SSL only if you access RdtClient through HTTPS.URL Base empty unless RdtClient is configured with a BasePath, for example /rdt.API Key empty and enter your RdtClient username and password. If your client only supports an API key, enter {username}:{password} in API Key.API Key, for example rdtclient, and leave username/password empty.sonarr for Sonarr or radarr for Radarr.Test and then Save if all is well.When importing completed NZB downloads, Sonarr/Radarr must be able to access the path reported by RdtClient. In Docker setups this may require a Remote Path Mapping from the RdtClient download path to the path mounted inside Sonarr/Radarr.
By default the application runs in the root of your hosted address (i.e. https://rdt.myserver.com/), but if you want to run it as a relative folder (i.e. https://myserver.com/rdt) you will have to change the BasePath setting in the appsettings.json file. You can set the BASE_PATH environment variable for docker enviroments.
The repository includes a dev container under .devcontainer/ for the split development workflow used by this project.
It installs .NET 10 and Node 22, forwards ports 4200 and 6500, and persists /data/db and /data/downloads in named volumes so the local SQLite database, logs, and downloads survive container rebuilds.
Open the repository in the dev container.
In one terminal run dotnet watch run --project server/RdtClient.Web.
In another terminal run cd client && npm start.
Open http://localhost:4200. The Angular dev server proxies /Api and /hub to the backend running on 6500.
Open the client folder project in VS Code and run npm install.
To debug run ng serve, to build run ng build -c production.
Open the Visual Studio 2025 project RdtClient.sln and Publish the RdtClient.Web to the given PublishFolder target.
When debugging, make sure to run RdtClient.Web.dll and not IISExpress.
The result is found in Publish.
docker build --tag rdtclient .docker run --publish 6500:6500 --detach --name rdtclientdev rdtclient:latestdocker stop rdtclientdocker rm rdtclientdocker-build.batRDT Client read and write permission tests fail if the CIFS connection is not setup properly, despite permissions working inspection. 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 has to be specified in your CIFS connection - man page.
Example: Options=_netdev,credentials=/etc/samba/credentials/600file,rw,uid=SUBUID,gid=SBUGID,nobrl,file_mode=0770,dir_mode=0770,noperm
444 followers · starred Oct 2023
241 followers · starred Dec 2025
292 followers · starred Sep 2026
88 followers · starred Nov 2023
This is a web interface to manage your torrents on Real-Debrid, AllDebrid, Premiumize, TorBox or DebridLink. It supports the following features:
You will need a Premium service at Real-Debrid, AllDebrid, Premiumize, Torbox or DebridLink!
Click here to sign up for Real-Debrid.
Click here to sign up for AllDebrid.
Click here to sign up for Premiumize.
Click here to sign up for TorBox.
Click here to sign up for DebridLink.
(referal links so I can get a few free premium days)
Please see our separate Docker setup Read Me.
Instead of running in Docker you can install it as a service in Windows or Linux.
appsettings.json file and replace the LogLevel Path to a path on your host.appsettings.json replace the Database Path to a path on your host.D:\\RdtClient\\db\\rdtclient.dbRdtClient.Web.exe to start the client.service-install.bat to install the client as a service. This will install RdtClient.Web.exe as a service which make the client start in the backgorund when the computer starts. (You probably want to do this if you are going to use this with Sonarr etc...)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.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb
sudo apt-get update && sudo apt-get install -y dotnet-sdk-10.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.service
paste 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
If you use Proxmox for your homelab, you can run rdt-client in a linux container (LXC), check it here: https://tteck.github.io/Proxmox/
Settings on the top and enter your Real-Debrid API key (found here: https://real-debrid.com/apitoken.Download path setting 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.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 the Download path.Currently there 4 available download clients:
This downloader can be used to download files in parallel and with multiple chunks.
It has the following options:
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:
http://192.168.10.2:6800/jsonrpc.If Aria2c is selected, none of the above Bezzad options are used, you have to configure Aria2c manually.
Symlink downloader requires a rclone mount to be mounted into your filesystem. Be sure to keep the exact path to mounted files in other apps exactly the same as used by rdt-client. Otherwise the symlinks wont resolve the file its trying to point to.
If the mount path folder cant be found the client wont start downloading anything.
Required configuration:
Suggested configuration:
The Synology Download Station downloader hands each file to your NAS's Download Station, which downloads it and writes it to disk. The bytes never pass through rdt-client, so its memory stays flat regardless of file size.
Prerequisites on the Synology:
Failed to get default download destination of user [<account>]).It has the following options:
http://127.0.0.1:5000. From inside a Docker container 127.0.0.1 is the container itself — use the NAS's LAN IP (e.g. http://192.168.1.50:5000) and the DSM web port (HTTP 5000 by default).Media/Downloads/Torrents) — not an absolute path like /volume1/Media/Downloads/Torrents. This must resolve to the exact same physical folder as the general Download path — see Path mapping below. If left empty, the default Download Station destination is used.Path mapping (important). Download Station runs on the NAS; rdt-client runs in its container. They see the same folder through different mounts, so:
The Synology Download Path (above) and rdt-client's general Download path must resolve to the exact same physical folder on the NAS.
rdtclient.db and restart the service.rdtclient.log. When you run into issues please change the loglevel in your docker script to Debug.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 RealDebrid.
Settings.Download Client tab and click the plus to add.qBittorrent in the list.Host field.Port field.sonarr for Sonarr or radarr for Radarr.Test and then Save if all is well.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.
RdtClient also emulates part of the SABnzbd API so Sonarr and Radarr can add NZB downloads. This requires a provider that supports Usenet/NZB downloads, currently TorBox or Premiumize.
Settings.Download Client tab and click the plus to add.SABnzbd in the list.Host field.6500 in the Port field.Use SSL only if you access RdtClient through HTTPS.URL Base empty unless RdtClient is configured with a BasePath, for example /rdt.API Key empty and enter your RdtClient username and password. If your client only supports an API key, enter {username}:{password} in API Key.API Key, for example rdtclient, and leave username/password empty.sonarr for Sonarr or radarr for Radarr.Test and then Save if all is well.When importing completed NZB downloads, Sonarr/Radarr must be able to access the path reported by RdtClient. In Docker setups this may require a Remote Path Mapping from the RdtClient download path to the path mounted inside Sonarr/Radarr.
By default the application runs in the root of your hosted address (i.e. https://rdt.myserver.com/), but if you want to run it as a relative folder (i.e. https://myserver.com/rdt) you will have to change the BasePath setting in the appsettings.json file. You can set the BASE_PATH environment variable for docker enviroments.
The repository includes a dev container under .devcontainer/ for the split development workflow used by this project.
It installs .NET 10 and Node 22, forwards ports 4200 and 6500, and persists /data/db and /data/downloads in named volumes so the local SQLite database, logs, and downloads survive container rebuilds.
Open the repository in the dev container.
In one terminal run dotnet watch run --project server/RdtClient.Web.
In another terminal run cd client && npm start.
Open http://localhost:4200. The Angular dev server proxies /Api and /hub to the backend running on 6500.
Open the client folder project in VS Code and run npm install.
To debug run ng serve, to build run ng build -c production.
Open the Visual Studio 2025 project RdtClient.sln and Publish the RdtClient.Web to the given PublishFolder target.
When debugging, make sure to run RdtClient.Web.dll and not IISExpress.
The result is found in Publish.
docker build --tag rdtclient .docker run --publish 6500:6500 --detach --name rdtclientdev rdtclient:latestdocker stop rdtclientdocker rm rdtclientdocker-build.batRDT Client read and write permission tests fail if the CIFS connection is not setup properly, despite permissions working inspection. 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 has to be specified in your CIFS connection - man page.
Example: Options=_netdev,credentials=/etc/samba/credentials/600file,rw,uid=SUBUID,gid=SBUGID,nobrl,file_mode=0770,dir_mode=0770,noperm
444 followers · starred Oct 2023
241 followers · starred Dec 2025
292 followers · starred Sep 2026
88 followers · starred Nov 2023