{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"DecyphArr","text":"

DecyphArr is an implementation of QbitTorrent with Multiple Debrid service support, written in Go.

"},{"location":"#what-is-decypharr","title":"What is DecyphArr?","text":"

DecyphArr combines the power of QBittorrent with popular Debrid services to enhance your media management. It provides a familiar interface for Sonarr, Radarr, and other *Arr applications while leveraging the capabilities of Debrid providers.

"},{"location":"#key-features","title":"Key Features","text":""},{"location":"#supported-debrid-providers","title":"Supported Debrid Providers","text":""},{"location":"#getting-started","title":"Getting Started","text":"

Check out our Installation Guide to get started with DecyphArr.

"},{"location":"changelog/","title":"Changelog","text":""},{"location":"changelog/#050","title":"0.5.0","text":""},{"location":"changelog/#042","title":"0.4.2","text":""},{"location":"changelog/#041","title":"0.4.1","text":""},{"location":"changelog/#040","title":"0.4.0","text":""},{"location":"changelog/#033","title":"0.3.3","text":""},{"location":"changelog/#032","title":"0.3.2","text":""},{"location":"changelog/#031","title":"0.3.1","text":""},{"location":"changelog/#030","title":"0.3.0","text":""},{"location":"changelog/#027","title":"0.2.7","text":""},{"location":"changelog/#026","title":"0.2.6","text":""},{"location":"changelog/#025","title":"0.2.5","text":""},{"location":"changelog/#024","title":"0.2.4","text":""},{"location":"changelog/#023","title":"0.2.3","text":""},{"location":"changelog/#022","title":"0.2.2","text":""},{"location":"changelog/#021","title":"0.2.1","text":""},{"location":"changelog/#020","title":"0.2.0","text":""},{"location":"changelog/#020-beta","title":"0.2.0-beta","text":""},{"location":"changelog/#014","title":"0.1.4","text":""},{"location":"changelog/#013","title":"0.1.3","text":""},{"location":"changelog/#012","title":"0.1.2","text":""},{"location":"changelog/#011","title":"0.1.1","text":""},{"location":"changelog/#010","title":"0.1.0","text":""},{"location":"installation/","title":"Installation","text":"

There are multiple ways to install and run DecyphArr. Choose the method that works best for your setup.

"},{"location":"installation/#docker-installation-recommended","title":"Docker Installation (Recommended)","text":"

Docker is the easiest way to get started with DecyphArr.

"},{"location":"installation/#available-docker-registries","title":"Available Docker Registries","text":"

You can use either Docker Hub or GitHub Container Registry to pull the image:

"},{"location":"installation/#docker-tags","title":"Docker Tags","text":""},{"location":"installation/#docker-compose-setup","title":"Docker Compose Setup","text":"

Create a docker-compose.yml file with the following content:

version: '3.7'\nservices:\n  decypharr:\n    image: cy01/blackhole:latest # or cy01/blackhole:beta\n    container_name: decypharr\n    ports:\n      - \"8282:8282\" # qBittorrent\n      - \"8181:8181\" # Proxy\n    user: \"1000:1000\"\n    volumes:\n      - /mnt/:/mnt\n      - ./configs/:/app # config.json must be in this directory\n    environment:\n      - PUID=1000\n      - PGID=1000\n      - UMASK=002\n      - QBIT_PORT=8282 # qBittorrent Port (optional)\n      - PORT=8181 # Proxy Port (optional)\n    restart: unless-stopped\n    depends_on:\n      - rclone # If you are using rclone with docker\n

Run the Docker Compose setup:

docker-compose up -d\n

"},{"location":"installation/#binary-installation","title":"Binary Installation","text":"

If you prefer not to use Docker, you can download and run the binary directly.

Download the binary from the releases page Create a configuration file (see Configuration) Run the binary:

chmod +x decypharr\n./decypharr --config /path/to/config\n

The config directory should contain your config.json file.

"},{"location":"usage/","title":"Usage Guide","text":"

This guide will help you get started with DecyphArr after installation.

"},{"location":"usage/#basic-setup","title":"Basic Setup","text":"
  1. Create your config.json file (see Configuration for details)
  2. Start the DecyphArr service using Docker or binary
  3. Access the UI at http://localhost:8282 (or your configured host/port)
  4. Connect your Arr applications (Sonarr, Radarr, etc.)
"},{"location":"usage/#connecting-to-sonarrradarr","title":"Connecting to Sonarr/Radarr","text":"

To connect DecyphArr to your Sonarr or Radarr instance:

  1. In Sonarr/Radarr, go to Settings \u2192 Download Client \u2192 Add Client \u2192 qBittorrent
  2. Configure the following settings:
  3. Host: localhost (or the IP of your DecyphArr server)
  4. Port: 8282 (or your configured qBittorrent port)
  5. Username: http://sonarr:8989 (your Arr host with http/https)
  6. Password: sonarr_token (your Arr API token)
  7. Category: e.g., sonarr, radarr (match what you configured in DecyphArr)
  8. Use SSL: No
  9. Sequential Download: No or Yes (if you want to download torrents locally instead of symlink)
  10. Click Test to verify the connection
  11. Click Save to add the download client

"},{"location":"usage/#using-the-ui","title":"Using the UI","text":"

The DecyphArr UI provides a familiar qBittorrent-like interface with additional features for Debrid services:

Access the UI at http://localhost:8282 or your configured host/port.

"},{"location":"configuration/","title":"Configuration Overview","text":"

DecyphArr uses a JSON configuration file to manage its settings. This file should be named config.json and placed in your configured directory.

"},{"location":"configuration/#basic-configuration","title":"Basic Configuration","text":"

Here's a minimal configuration to get started:

{\n  \"debrids\": [\n    {\n      \"name\": \"realdebrid\",\n      \"host\": \"https://api.real-debrid.com/rest/1.0\",\n      \"api_key\": \"realdebrid_key\",\n      \"folder\": \"/mnt/remote/realdebrid/__all__/\"\n    }\n  ],\n  \"qbittorrent\": {\n    \"port\": \"8282\",\n    \"download_folder\": \"/mnt/symlinks/\",\n    \"categories\": [\"sonarr\", \"radarr\"]\n  },\n  \"repair\": {\n    \"enabled\": false,\n    \"interval\": \"12h\",\n    \"run_on_start\": false\n  },\n  \"use_auth\": false,\n  \"log_level\": \"info\"\n}\n
"},{"location":"configuration/#configuration-sections","title":"Configuration Sections","text":"

DecyphArr's configuration is divided into several sections:

Full Configuration Example For a complete configuration file with all available options, see our full configuration example.

"},{"location":"configuration/arrs/","title":"Arr Applications Configuration","text":"

DecyphArr can integrate directly with Sonarr, Radarr, and other Arr applications. This section explains how to configure the Arr integration in your config.json file.

"},{"location":"configuration/arrs/#basic-configuration","title":"Basic Configuration","text":"

The Arr applications are configured under the arrs key:

\"arrs\": [\n  {\n    \"name\": \"sonarr\",\n    \"host\": \"http://sonarr:8989\",\n    \"token\": \"your-sonarr-api-key\",\n    \"cleanup\": true\n  },\n  {\n    \"name\": \"radarr\",\n    \"host\": \"http://radarr:7878\",\n    \"token\": \"your-radarr-api-key\",\n    \"cleanup\": true\n  }\n]\n
"},{"location":"configuration/arrs/#note","title":"!!! note","text":"

This configuration is optional if you've already set up the qBittorrent client in your Arr applications with the correct host and token information. It's particularly useful for the Repair Worker functionality.

"},{"location":"configuration/arrs/#configuration-options","title":"Configuration Options","text":"

Each Arr application supports the following options:

"},{"location":"configuration/arrs/#finding-your-api-key","title":"Finding Your API Key","text":""},{"location":"configuration/arrs/#sonarrradarrlidarr","title":"Sonarr/Radarr/Lidarr","text":"
  1. Go to Sonarr > Settings > General
  2. Look for \"API Key\" in the \"General\" section
  3. Copy the API key
"},{"location":"configuration/arrs/#multiple-arr-applications","title":"Multiple Arr Applications","text":"

You can configure multiple Arr applications by adding more entries to the arrs array:

\"arrs\": [\n  {\n    \"name\": \"sonarr\",\n    \"host\": \"http://sonarr:8989\",\n    \"token\": \"your-sonarr-api-key\",\n    \"cleanup\": true\n  },\n  {\n    \"name\": \"sonarr-anime\",\n    \"host\": \"http://sonarr-anime:8989\",\n    \"token\": \"your-sonarr-anime-api-key\",\n    \"cleanup\": true\n    },\n  {\n    \"name\": \"radarr\",\n    \"host\": \"http://radarr:7878\",\n    \"token\": \"your-radarr-api-key\",\n    \"cleanup\": false\n  },\n  {\n    \"name\": \"lidarr\",\n    \"host\": \"http://lidarr:8686\",\n    \"token\": \"your-lidarr-api-key\",\n    \"cleanup\": false\n  }\n]\n
"},{"location":"configuration/debrid/","title":"Debrid Providers Configuration","text":"

DecyphArr supports multiple Debrid providers. This section explains how to configure each provider in your config.json file.

"},{"location":"configuration/debrid/#basic-configuration","title":"Basic Configuration","text":"

Each Debrid provider is configured in the debrids array:

\"debrids\": [\n  {\n    \"name\": \"realdebrid\",\n    \"host\": \"https://api.real-debrid.com/rest/1.0\",\n    \"api_key\": \"your-api-key\",\n    \"folder\": \"/mnt/remote/realdebrid/__all__/\"\n  },\n  {\n    \"name\": \"alldebrid\",\n    \"host\": \"https://api.alldebrid.com/v4\",\n    \"api_key\": \"your-api-key\",\n    \"folder\": \"/mnt/remote/alldebrid/downloads/\"\n  }\n]\n
"},{"location":"configuration/debrid/#provider-options","title":"Provider Options","text":"

Each Debrid provider accepts the following configuration options:

"},{"location":"configuration/debrid/#basic-options","title":"Basic Options","text":""},{"location":"configuration/debrid/#advanced-options","title":"Advanced Options","text":""},{"location":"configuration/debrid/#using-multiple-api-keys","title":"Using Multiple API Keys","text":"

For services that support it, you can provide multiple download API keys for better load balancing:

{\n  \"name\": \"realdebrid\",\n  \"host\": \"https://api.real-debrid.com/rest/1.0\",\n  \"api_key\": \"key1\",\n  \"download_api_keys\": [\"key1\", \"key2\", \"key3\"],\n  \"folder\": \"/mnt/remote/realdebrid/__all__/\"\n}\n
"},{"location":"configuration/debrid/#example-configuration","title":"Example Configuration","text":""},{"location":"configuration/debrid/#real-debrid","title":"Real Debrid","text":"
{\n  \"name\": \"realdebrid\",\n  \"host\": \"https://api.real-debrid.com/rest/1.0\",\n  \"api_key\": \"your-api-key\",\n  \"folder\": \"/mnt/remote/realdebrid/__all__/\",\n  \"rate_limit\": null,\n  \"download_uncached\": false,\n  \"check_cached\": true,\n  \"use_webdav\": true\n}\n
"},{"location":"configuration/debrid/#all-debrid","title":"All Debrid","text":"
{\n  \"name\": \"alldebrid\",\n  \"host\": \"https://api.alldebrid.com/v4\",\n  \"api_key\": \"your-api-key\",\n  \"folder\": \"/mnt/remote/alldebrid/torrents/\",\n  \"rate_limit\": null,\n  \"download_uncached\": false,\n  \"check_cached\": true,\n  \"use_webdav\": true\n}\n
"},{"location":"configuration/debrid/#debrid-link","title":"Debrid Link","text":"
{\n  \"name\": \"debridlink\",\n  \"host\": \"https://debrid-link.com/api/v2\",\n  \"api_key\": \"your-api-key\",\n  \"folder\": \"/mnt/remote/debridlink/torrents/\",\n  \"rate_limit\": null,\n  \"download_uncached\": false,\n  \"check_cached\": true,\n  \"use_webdav\": true\n}\n
"},{"location":"configuration/debrid/#torbox","title":"Torbox","text":"
{\n  \"name\": \"torbox\",\n  \"host\": \"https://api.torbox.com/v1\",\n  \"api_key\": \"your-api-key\",\n  \"folder\": \"/mnt/remote/torbox/torrents/\",\n  \"rate_limit\": null,\n  \"download_uncached\": false,\n  \"check_cached\": true,\n  \"use_webdav\": true\n}\n
"},{"location":"configuration/general/","title":"General Configuration","text":"

This section covers the basic configuration options for DecyphArr that apply to the entire application.

"},{"location":"configuration/general/#basic-settings","title":"Basic Settings","text":"

Here are the fundamental configuration options:

{\n  \"use_auth\": false,\n  \"log_level\": \"info\",\n  \"discord_webhook_url\": \"\",\n  \"min_file_size\": 0,\n  \"max_file_size\": 0,\n  \"allowed_file_types\": [\".mp4\", \".mkv\", \".avi\", ...]\n}\n
"},{"location":"configuration/general/#configuration-options","title":"Configuration Options","text":""},{"location":"configuration/general/#log-level","title":"Log Level","text":"

The log_level setting determines how verbose the application logs will be:

"},{"location":"configuration/general/#authentication","title":"Authentication","text":"

The use_auth option enables basic authentication for the UI:

\"use_auth\": true\n

When enabled, you'll need to provide a username and password to access the DecyphArr interface.

"},{"location":"configuration/general/#file-size-limits","title":"File Size Limits","text":"

You can set minimum and maximum file size limits for torrents:

\"min_file_size\": 0,  // Minimum file size in bytes (0 = no minimum)\n\"max_file_size\": 0   // Maximum file size in bytes (0 = no maximum)\n

"},{"location":"configuration/general/#allowed-file-types","title":"Allowed File Types","text":"

You can restrict the types of files that DecyphArr will process by specifying allowed file extensions. This is useful for filtering out unwanted file types.

\"allowed_file_types\": [\n  \".mp4\", \".mkv\", \".avi\", \".mov\",\n  \".m4v\", \".mpg\", \".mpeg\", \".wmv\",\n  \".m4a\", \".mp3\", \".flac\", \".wav\"\n]\n

If not specified, all movie, TV show, and music file types are allowed by default.

"},{"location":"configuration/general/#discord-notifications","title":"Discord Notifications","text":"

To receive notifications on Discord, add your webhook URL:

\"discord_webhook_url\": \"https://discord.com/api/webhooks/...\"\n
This will send notifications for various events, such as successful downloads or errors.

"},{"location":"configuration/qbittorrent/","title":"qBittorrent Configuration","text":"

DecyphArr emulates a qBittorrent instance to integrate with Arr applications. This section explains how to configure the qBittorrent settings in your config.json file.

"},{"location":"configuration/qbittorrent/#basic-configuration","title":"Basic Configuration","text":"

The qBittorrent functionality is configured under the qbittorrent key:

\"qbittorrent\": {\n  \"port\": \"8282\",\n  \"download_folder\": \"/mnt/symlinks/\",\n  \"categories\": [\"sonarr\", \"radarr\", \"lidarr\"],\n  \"refresh_interval\": 5\n}\n
"},{"location":"configuration/qbittorrent/#configuration-options","title":"Configuration Options","text":""},{"location":"configuration/qbittorrent/#essential-settings","title":"Essential Settings","text":""},{"location":"configuration/qbittorrent/#advanced-settings","title":"Advanced Settings","text":""},{"location":"configuration/qbittorrent/#categories","title":"Categories","text":"

Categories help organize your downloads and match them to specific Arr applications. Typically, you'll want to configure categories that match your Sonarr, Radarr, or other Arr applications:

\"categories\": [\"sonarr\", \"radarr\", \"lidarr\", \"readarr\"]\n

When setting up your Arr applications to connect to DecyphArr, you'll specify these same category names.

"},{"location":"configuration/qbittorrent/#download-folder","title":"Download Folder","text":"

The download_folder setting specifies where DecyphArr will place downloaded files or create symlinks:

\"download_folder\": \"/mnt/symlinks/\"\n

This folder should be:

"},{"location":"configuration/qbittorrent/#port-configuration","title":"Port Configuration","text":"

The port setting determines which port the qBittorrent API will listen on:

\"port\": \"8282\"\n

Ensure this port:

"},{"location":"configuration/qbittorrent/#refresh-interval","title":"Refresh Interval","text":"

The refresh_interval setting controls how often DecyphArr checks for updates from your Arr applications:

\"refresh_interval\": 5\n

This value is in seconds. Lower values provide more responsive updates but may increase CPU usage.

"},{"location":"features/","title":"Features Overview","text":"

DecyphArr extends the functionality of qBittorrent by integrating with Debrid services, providing several powerful features that enhance your media management experience.

"},{"location":"features/#core-features","title":"Core Features","text":""},{"location":"features/#mock-qbittorrent-api","title":"Mock qBittorrent API","text":"

DecyphArr implements a complete qBittorrent-compatible API that can be used with Sonarr, Radarr, Lidarr, and other Arr applications. This allows you to:

"},{"location":"features/#comprehensive-ui","title":"Comprehensive UI","text":"

The DecyphArr user interface provides:

"},{"location":"features/#advanced-features","title":"Advanced Features","text":"

DecyphArr includes several advanced features that extend its capabilities:

"},{"location":"features/#supported-debrid-providers","title":"Supported Debrid Providers","text":"

DecyphArr supports multiple Debrid providers:

Each provider can be configured separately, allowing you to use one or multiple services simultaneously.

"},{"location":"features/repair-worker/","title":"Repair Worker","text":"

The Repair Worker is a powerful feature that helps maintain the health of your media library by scanning for and fixing issues with files.

"},{"location":"features/repair-worker/#what-it-does","title":"What It Does","text":"

The Repair Worker performs the following tasks:

"},{"location":"features/repair-worker/#configuration","title":"Configuration","text":"

To enable and configure the Repair Worker, add the following to your config.json:

\"repair\": {\n  \"enabled\": true,\n  \"interval\": \"12h\",\n  \"run_on_start\": false,\n  \"use_webdav\": false,\n  \"zurg_url\": \"http://localhost:9999\",\n  \"auto_process\": true\n}\n
"},{"location":"features/repair-worker/#configuration-options","title":"Configuration Options","text":""},{"location":"features/repair-worker/#performance-tips","title":"Performance Tips","text":""},{"location":"features/webdav/","title":"WebDAV Server","text":"

DecyphArr includes a built-in WebDAV server that provides direct access to your Debrid files, making them easily accessible to media players and other applications.

"},{"location":"features/webdav/#overview","title":"Overview","text":"

While most Debrid providers have their own WebDAV servers, DecyphArr's implementation offers faster access and additional features. The WebDAV server listens on port 8080 by default.

"},{"location":"features/webdav/#accessing-the-webdav-server","title":"Accessing the WebDAV Server","text":""},{"location":"features/webdav/#configuration","title":"Configuration","text":"

You can configure WebDAV settings either globally or per-Debrid provider in your config.json:

\"webdav\": {\n  \"torrents_refresh_interval\": \"15s\",\n  \"download_links_refresh_interval\": \"40m\",\n  \"workers\": 200,\n  \"folder_naming\": \"original_no_ext\",\n  \"auto_expire_links_after\": \"3d\",\n  \"rc_url\": \"http://localhost:5572\",\n  \"rc_user\": \"username\",\n  \"rc_pass\": \"password\"\n}\n
"},{"location":"features/webdav/#configuration-options","title":"Configuration Options","text":""},{"location":"features/webdav/#using-with-media-players","title":"Using with Media Players","text":"

The WebDAV server works well with media players like:

"},{"location":"features/webdav/#mounting-with-rclone","title":"Mounting with Rclone","text":"

You can mount the WebDAV server locally using Rclone. Example configuration:

[decypharr]\ntype = webdav\nurl = http://localhost:8080/webdav/realdebrid\nvendor = other\n
For a complete Rclone configuration example, see our sample rclone.conf.

"}]}