This is a Golang implementation go Torrent QbitTorrent with a Real Debrid Proxy Support.
The proxy is useful in filtering out un-cached Real Debrid torrents
version: '3.7'
services:
blackhole:
image: cy01/blackhole:latest # or cy01/blackhole:beta
container_name: blackhole
ports:
- "8282:8282" # qBittorrent
- "8181:8181" # Proxy
user: "1000:1000"
volumes:
- ./logs:/app/logs
- ~/plex/media:/media
- ~/plex/media/symlinks/:/media/symlinks/
- ~/plex/configs/blackhole/config.json:/app/config.json # Config file, see below
environment:
- PUID=1000
- PGID=1000
- UMASK=002
- QBIT_PORT=8282 # qBittorrent Port. This is optional. You can set this in the config file
- PORT=8181 # Proxy Port. This is optional. You can set this in the config file
restart: unless-stopped
depends_on:
- rclone # If you are using rclone with docker
Download the binary from the releases page and run it with the config file.
./blackhole --config /path/to/config.json
{
"debrid": {
"name": "realdebrid",
"host": "https://api.real-debrid.com/rest/1.0",
"api_key": "realdebrid_api_key",
"folder": "data/realdebrid/torrents/",
"rate_limit": "250/minute"
},
"proxy": {
"enabled": true,
"port": "8181",
"debug": false,
"username": "username",
"password": "password",
"cached_only": true
},
"max_cache_size": 1000,
"qbittorrent": {
"port": "8282",
"download_folder": "/media/symlinks/",
"categories": ["sonarr", "radarr"],
"refresh_interval": 5
}
}
max_cache_size
key is used to set the maximum number of infohashes that can be stored in the availability cache. This is used to prevent round trip to the debrid provider when using the proxy/Qbittorrent1000
enabled
key is used to enable the proxyport
key is the port the proxy will listen ondebug
key is used to enable debug logsusername
and password
keys are used for basic authenticationcached_only
means only cached torrents will be returnedport
key is the port the qBittorrent will listen ondownload_folder
is the folder where the torrents will be downloaded. e.g /media/symlinks/
categories
key is used to filter out torrents based on the category. e.g sonarr
, radarr
refresh_interval
key is used to set the interval in minutes to refresh the Arrs Monitored Downloads(it's in seconds). The default value is 5
secondsThe proxy is useful in filtering out un-cached Real Debrid torrents.
The proxy is a simple HTTP proxy that requires basic authentication. The proxy can be enabled by setting the proxy.enabled
to true
in the config file.
The proxy listens on the port 8181
by default. The username and password can be set in the config file.
Setting Up Proxy in Arr
localhost
# or the IP of the server8181
# or the port set in the config fileusername
# or the username set in the config filepassword
# or the password set in the config fileNo
The qBittorrent is a mock qBittorrent API that supports the Arrs(Sonarr, Radarr, etc).
Setting Up Qbittorrent in Arr
localhost
# or the IP of the server8282
# or the port set in the config file/ docker-compose envhttp://sonarr:8989
# Your arr host with http/httpssonarr_token
# Your arr tokensonarr
, radarr
No
No
|Yes
(If you want to download the torrents locally instead of symlink)[ ] A proper name!!!!
[ ] Debrid
[ ] Proxy
[ ] Add more Proxy features
[ ] Qbittorrent
[ ] Add tests