141 lines
4.0 KiB
Markdown
141 lines
4.0 KiB
Markdown
### GoBlackHole(with Debrid Proxy Support)
|
|
|
|
This is a Golang implementation go Torrent QbitTorrent with a **Real Debrid Proxy Support**.
|
|
|
|
#### Uses
|
|
- Mock Qbittorent API that supports the Arrs(Sonarr, Radarr, etc)
|
|
- Proxy support for the Arrs
|
|
|
|
The proxy is useful in filtering out un-cached Real Debrid torrents
|
|
|
|
### Changelog
|
|
|
|
- View the [CHANGELOG.md](CHANGELOG.md) for the latest changes
|
|
|
|
|
|
#### Installation
|
|
##### Docker Compose
|
|
```yaml
|
|
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
|
|
|
|
```
|
|
|
|
##### Binary
|
|
Download the binary from the releases page and run it with the config file.
|
|
|
|
```bash
|
|
./blackhole --config /path/to/config.json
|
|
```
|
|
|
|
#### 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",
|
|
"username": "admin", // deprecated
|
|
"password": "admin", // deprecated
|
|
"download_folder": "/media/symlinks/",
|
|
"categories": ["sonarr", "radarr"],
|
|
"refresh_interval": 5 // in seconds
|
|
}
|
|
}
|
|
```
|
|
|
|
#### Config Notes
|
|
##### Debrid Config
|
|
- This config key is important as it's used for both Blackhole and Proxy
|
|
|
|
##### Proxy Config
|
|
- The `enabled` key is used to enable the proxy
|
|
- The `port` key is the port the proxy will listen on
|
|
- The `debug` key is used to enable debug logs
|
|
- The `username` and `password` keys are used for basic authentication
|
|
- The `cached_only` means only cached torrents will be returned
|
|
|
|
|
|
##### Qbittorrent Config
|
|
- The `port` key is the port the qBittorrent will listen on
|
|
- The `download_folder` is the folder where the torrents will be downloaded. e.g `/media/symlinks/`
|
|
- The `categories` key is used to filter out torrents based on the category. e.g `sonarr`, `radarr`
|
|
|
|
### Proxy
|
|
|
|
The 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
|
|
|
|
- Sonarr/Radarr
|
|
- Settings -> General -> Use Proxy
|
|
- Hostname: `localhost` # or the IP of the server
|
|
- Port: `8181` # or the port set in the config file
|
|
- Username: `username` # or the username set in the config file
|
|
- Password: `password` # or the password set in the config file
|
|
- Bypass Proxy for Local Addresses -> `No`
|
|
|
|
### Qbittorrent
|
|
|
|
The qBittorrent is a mock qBittorrent API that supports the Arrs(Sonarr, Radarr, etc).
|
|
|
|
Setting Up Qbittorrent in Arr
|
|
|
|
- Sonarr/Radarr
|
|
- Settings -> Download Client -> Add Client -> qBittorrent
|
|
- Host: `localhost` # or the IP of the server
|
|
- Port: `8282` # or the port set in the config file/ docker-compose env
|
|
- Username: `http://sonarr:8989` # Your arr host with http/https
|
|
- Password: `sonarr_token` # Your arr token
|
|
- Category: e.g `sonarr`, `radarr`
|
|
- Use SSL -> `No`
|
|
- Test
|
|
- Save
|
|
|
|
### TODO
|
|
- [ ] A proper name!!!!
|
|
- [ ] Debrid
|
|
- [ ] Add more Debrid Providers
|
|
|
|
- [ ] Proxy
|
|
- [ ] Add more Proxy features
|
|
|
|
- [ ] Qbittorrent
|
|
- [ ] Add more Qbittorrent features
|
|
- [ ] Persist torrents on restart/server crash
|
|
- [ ] Add tests |