Files
decypharr/docs/site/search/search_index.json
2025-04-13 11:29:08 +01:00

1 line
32 KiB
JSON

{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"DecyphArr","text":"<p>DecyphArr is an implementation of QbitTorrent with Multiple Debrid service support, written in Go.</p>"},{"location":"#what-is-decypharr","title":"What is DecyphArr?","text":"<p>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.</p>"},{"location":"#key-features","title":"Key Features","text":"<ul> <li>\ud83d\udd04 Mock Qbittorent API that supports Sonarr, Radarr, Lidarr and other Arr applications</li> <li>\ud83d\udda5\ufe0f Full-fledged UI for managing torrents</li> <li>\ud83d\udee1\ufe0f Proxy support for filtering uncached Debrid torrents</li> <li>\ud83d\udd0c Multiple Debrid providers support</li> <li>\ud83d\udcc1 WebDAV server support for each Debrid provider</li> <li>\ud83d\udd27 Repair Worker for missing files</li> </ul>"},{"location":"#supported-debrid-providers","title":"Supported Debrid Providers","text":"<ul> <li>Real Debrid</li> <li>Torbox</li> <li>Debrid Link</li> <li>All Debrid</li> </ul>"},{"location":"#getting-started","title":"Getting Started","text":"<p>Check out our Installation Guide to get started with DecyphArr.</p>"},{"location":"changelog/","title":"Changelog","text":""},{"location":"changelog/#050","title":"0.5.0","text":"<ul> <li>A more refined repair worker (with more control)</li> <li>UI Improvements<ul> <li>Pagination for torrents</li> <li>Dark mode</li> <li>Ordered torrents table</li> </ul> </li> <li>Fix Arr API flaky behavior</li> <li>Discord Notifications</li> <li>Minor bug fixes</li> <li>Add Tautulli support<ul> <li>playback_failed event triggers a repair</li> </ul> </li> <li>Miscellaneous improvements<ul> <li>Add an option to skip the repair worker for a specific arr</li> <li>Arr specific uncached downloading option</li> <li>Option to download uncached torrents from UI</li> </ul> </li> <li>Remove QbitTorrent Log level (Use the global log level)</li> </ul>"},{"location":"changelog/#042","title":"0.4.2","text":"<ul> <li>Hotfixes<ul> <li>Fix saving torrents error</li> <li>Fix bugs with the UI</li> </ul> </li> <li>Speed improvements</li> </ul>"},{"location":"changelog/#041","title":"0.4.1","text":"<ul> <li>Adds optional UI authentication</li> <li>Downloaded Torrents persist on restart</li> <li>Fixes<ul> <li>Fix Alldebrid struggling to find the correct file</li> </ul> </li> <li>Minor bug fixes or speed-gains</li> <li>A new cleanup worker to clean up ARR queues</li> </ul>"},{"location":"changelog/#040","title":"0.4.0","text":"<ul> <li>Add support for multiple debrid providers</li> <li>A full-fledged UI for adding torrents, repairing files, viewing config and managing torrents</li> <li>Fix issues with Alldebrid<ul> <li>Fix file transversal bug</li> <li>Fix files with no parent directory</li> </ul> </li> <li>Logging<ul> <li>Add a more robust logging system</li> <li>Add logging to a file</li> <li>Add logging to the UI</li> </ul> </li> <li>Qbittorrent<ul> <li>Add support for tags (creating, deleting, listing)</li> <li>Add support for categories (creating, deleting, listing)</li> <li>Fix issues with arr sending torrents using a different content type</li> </ul> </li> </ul>"},{"location":"changelog/#033","title":"0.3.3","text":"<ul> <li>Add AllDebrid Support</li> <li>Fix Torbox not downloading uncached torrents</li> <li>Fix Rar files being downloaded</li> </ul>"},{"location":"changelog/#032","title":"0.3.2","text":"<ul> <li>Fix DebridLink not downloading</li> <li>Fix Torbox with uncached torrents</li> <li>Add new /internal/cached endpoint to check if an hash is cached</li> <li>Implement per-debrid local cache</li> <li>Fix file check for torbox</li> <li>Other minor bug fixes</li> </ul>"},{"location":"changelog/#031","title":"0.3.1","text":"<ul> <li>Add DebridLink Support</li> <li>Refactor error handling</li> </ul>"},{"location":"changelog/#030","title":"0.3.0","text":"<ul> <li>Add UI for adding torrents</li> <li>Refraction of the code</li> <li>Fix Torbox bug</li> <li>Update CI/CD</li> <li>Update Readme</li> </ul>"},{"location":"changelog/#027","title":"0.2.7","text":"<ul> <li>Add support for multiple debrid providers</li> <li>Add Torbox support</li> <li>Add support for configurable debrid cache checks</li> <li>Add support for configurable debrid download uncached torrents</li> </ul>"},{"location":"changelog/#026","title":"0.2.6","text":"<ul> <li>Delete torrent for empty matched files</li> <li>Update Readme</li> </ul>"},{"location":"changelog/#025","title":"0.2.5","text":"<ul> <li>Fix ContentPath not being set prior</li> <li>Rewrote Readme</li> <li>Cleaned up the code</li> </ul>"},{"location":"changelog/#024","title":"0.2.4","text":"<ul> <li>Add file download support (Sequential Download)</li> <li>Fix http handler error</li> <li>Fix *arrs map failing concurrently</li> <li>Fix cache not being updated</li> </ul>"},{"location":"changelog/#023","title":"0.2.3","text":"<ul> <li>Delete uncached items from RD</li> <li>Fail if the torrent is not cached (optional)</li> <li>Fix cache not being updated</li> </ul>"},{"location":"changelog/#022","title":"0.2.2","text":"<ul> <li>Fix name mismatch in the cache</li> <li>Fix directory mapping with mounts</li> <li>Add Support for refreshing the *arrs</li> </ul>"},{"location":"changelog/#021","title":"0.2.1","text":"<ul> <li>Fix Uncached torrents not being downloaded/downloaded</li> <li>Minor bug fixed</li> <li>Fix Race condition in the cache and file system</li> </ul>"},{"location":"changelog/#020","title":"0.2.0","text":"<ul> <li>Implement 0.2.0-beta changes</li> <li>Removed Blackhole</li> <li>Added QbitTorrent API</li> <li>Cleaned up the code</li> </ul>"},{"location":"changelog/#020-beta","title":"0.2.0-beta","text":"<ul> <li>Switch to QbitTorrent API instead of Blackhole</li> <li>Rewrote the whole codebase</li> </ul>"},{"location":"changelog/#014","title":"0.1.4","text":"<ul> <li>Rewrote Report log</li> <li>Fix YTS, 1337x not grabbing infohash</li> <li>Fix Torrent symlink bug</li> </ul>"},{"location":"changelog/#013","title":"0.1.3","text":"<ul> <li>Searching for infohashes in the xml description/summary/comments</li> <li>Added local cache support</li> <li>Added max cache size</li> <li>Rewrite blackhole.go</li> <li>Bug fixes<ul> <li>Fixed indexer getting disabled</li> <li>Fixed blackhole not working</li> </ul> </li> </ul>"},{"location":"changelog/#012","title":"0.1.2","text":"<ul> <li>Bug fixes</li> <li>Code cleanup</li> <li>Get available hashes at once</li> </ul>"},{"location":"changelog/#011","title":"0.1.1","text":"<ul> <li>Added support for \"No Blackhole\" for Arrs</li> <li>Added support for \"Cached Only\" for Proxy</li> <li>Bug Fixes</li> </ul>"},{"location":"changelog/#010","title":"0.1.0","text":"<ul> <li>Initial Release</li> <li>Added Real Debrid Support</li> <li>Added Arrs Support</li> <li>Added Proxy Support</li> <li>Added Basic Authentication for Proxy</li> <li>Added Rate Limiting for Debrid Providers</li> </ul>"},{"location":"installation/","title":"Installation","text":"<p>There are multiple ways to install and run DecyphArr. Choose the method that works best for your setup.</p>"},{"location":"installation/#docker-installation-recommended","title":"Docker Installation (Recommended)","text":"<p>Docker is the easiest way to get started with DecyphArr.</p>"},{"location":"installation/#available-docker-registries","title":"Available Docker Registries","text":"<p>You can use either Docker Hub or GitHub Container Registry to pull the image:</p> <ul> <li>Docker Hub: <code>cy01/blackhole:latest</code></li> <li>GitHub Container Registry: <code>ghcr.io/sirrobot01/decypharr:latest</code></li> </ul>"},{"location":"installation/#docker-tags","title":"Docker Tags","text":"<ul> <li><code>latest</code>: The latest stable release</li> <li><code>beta</code>: The latest beta release</li> <li><code>vX.Y.Z</code>: A specific version (e.g., <code>v0.1.0</code>)</li> <li><code>nightly</code>: The latest nightly build (usually unstable)</li> <li><code>experimental</code>: The latest experimental build (highly unstable)</li> </ul>"},{"location":"installation/#docker-compose-setup","title":"Docker Compose Setup","text":"<p>Create a <code>docker-compose.yml</code> file with the following content:</p> <pre><code>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</code></pre> <p>Run the Docker Compose setup: <pre><code>docker-compose up -d\n</code></pre></p>"},{"location":"installation/#binary-installation","title":"Binary Installation","text":"<p>If you prefer not to use Docker, you can download and run the binary directly.</p> <p>Download the binary from the releases page Create a configuration file (see Configuration) Run the binary: <pre><code>chmod +x decypharr\n./decypharr --config /path/to/config\n</code></pre></p> <p>The config directory should contain your config.json file.</p>"},{"location":"usage/","title":"Usage Guide","text":"<p>This guide will help you get started with DecyphArr after installation.</p>"},{"location":"usage/#basic-setup","title":"Basic Setup","text":"<ol> <li>Create your <code>config.json</code> file (see Configuration for details)</li> <li>Start the DecyphArr service using Docker or binary</li> <li>Access the UI at <code>http://localhost:8282</code> (or your configured host/port)</li> <li>Connect your Arr applications (Sonarr, Radarr, etc.)</li> </ol>"},{"location":"usage/#connecting-to-sonarrradarr","title":"Connecting to Sonarr/Radarr","text":"<p>To connect DecyphArr to your Sonarr or Radarr instance:</p> <ol> <li>In Sonarr/Radarr, go to Settings \u2192 Download Client \u2192 Add Client \u2192 qBittorrent</li> <li>Configure the following settings:</li> <li>Host: <code>localhost</code> (or the IP of your DecyphArr server)</li> <li>Port: <code>8282</code> (or your configured qBittorrent port)</li> <li>Username: <code>http://sonarr:8989</code> (your Arr host with http/https)</li> <li>Password: <code>sonarr_token</code> (your Arr API token)</li> <li>Category: e.g., <code>sonarr</code>, <code>radarr</code> (match what you configured in DecyphArr)</li> <li>Use SSL: <code>No</code></li> <li>Sequential Download: <code>No</code> or <code>Yes</code> (if you want to download torrents locally instead of symlink)</li> <li>Click Test to verify the connection</li> <li>Click Save to add the download client</li> </ol> <p></p>"},{"location":"usage/#using-the-ui","title":"Using the UI","text":"<p>The DecyphArr UI provides a familiar qBittorrent-like interface with additional features for Debrid services:</p> <ul> <li>View and manage all your torrents</li> <li>Monitor download status</li> <li>Check cache status across different Debrid providers</li> <li>Access WebDAV functionality</li> </ul> <p>Access the UI at <code>http://localhost:8282</code> or your configured host/port.</p>"},{"location":"configuration/","title":"Configuration Overview","text":"<p>DecyphArr uses a JSON configuration file to manage its settings. This file should be named <code>config.json</code> and placed in your configured directory.</p>"},{"location":"configuration/#basic-configuration","title":"Basic Configuration","text":"<p>Here's a minimal configuration to get started:</p> <pre><code>{\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</code></pre>"},{"location":"configuration/#configuration-sections","title":"Configuration Sections","text":"<p>DecyphArr's configuration is divided into several sections:</p> <ul> <li>General Configuration - Basic settings like logging and authentication</li> <li>Debrid Providers - Configure one or more Debrid services</li> <li>qBittorrent Settings - Settings for the qBittorrent API</li> <li>Arr Integration - Configuration for Sonarr, Radarr, etc.</li> </ul> <p>Full Configuration Example For a complete configuration file with all available options, see our full configuration example.</p>"},{"location":"configuration/arrs/","title":"Arr Applications Configuration","text":"<p>DecyphArr can integrate directly with Sonarr, Radarr, and other Arr applications. This section explains how to configure the Arr integration in your <code>config.json</code> file.</p>"},{"location":"configuration/arrs/#basic-configuration","title":"Basic Configuration","text":"<p>The Arr applications are configured under the <code>arrs</code> key:</p> <pre><code>\"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</code></pre>"},{"location":"configuration/arrs/#note","title":"!!! note","text":"<p>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.</p>"},{"location":"configuration/arrs/#configuration-options","title":"Configuration Options","text":"<p>Each Arr application supports the following options:</p> <ul> <li><code>name</code>: The name of the Arr application, which should match the category in qBittorrent</li> <li><code>host</code>: The host URL of the Arr application, including protocol and port</li> <li><code>token</code>: The API token/key of the Arr application</li> <li><code>cleanup</code>: Whether to clean up the Arr queue (removes completed downloads). This is only useful for Sonarr.</li> </ul>"},{"location":"configuration/arrs/#finding-your-api-key","title":"Finding Your API Key","text":""},{"location":"configuration/arrs/#sonarrradarrlidarr","title":"Sonarr/Radarr/Lidarr","text":"<ol> <li>Go to Sonarr &gt; Settings &gt; General</li> <li>Look for \"API Key\" in the \"General\" section</li> <li>Copy the API key</li> </ol>"},{"location":"configuration/arrs/#multiple-arr-applications","title":"Multiple Arr Applications","text":"<p>You can configure multiple Arr applications by adding more entries to the arrs array:</p> <pre><code>\"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</code></pre>"},{"location":"configuration/debrid/","title":"Debrid Providers Configuration","text":"<p>DecyphArr supports multiple Debrid providers. This section explains how to configure each provider in your <code>config.json</code> file.</p>"},{"location":"configuration/debrid/#basic-configuration","title":"Basic Configuration","text":"<p>Each Debrid provider is configured in the <code>debrids</code> array:</p> <pre><code>\"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</code></pre>"},{"location":"configuration/debrid/#provider-options","title":"Provider Options","text":"<p>Each Debrid provider accepts the following configuration options:</p>"},{"location":"configuration/debrid/#basic-options","title":"Basic Options","text":"<ul> <li><code>name</code>: The name of the Debrid provider (realdebrid, alldebrid, debridlink, torbox)</li> <li><code>host</code>: The API endpoint of the Debrid provider</li> <li><code>api_key</code>: Your API key for the Debrid service (can be comma-separated for multiple keys)</li> <li><code>folder</code>: The folder where your Debrid content is mounted (via webdav, rclone, zurg, etc.)</li> </ul>"},{"location":"configuration/debrid/#advanced-options","title":"Advanced Options","text":"<ul> <li><code>download_api_keys</code>: Array of API keys used specifically for downloading torrents (defaults to the same as api_key)</li> <li><code>rate_limit</code>: Rate limit for API requests (null by default)</li> <li><code>download_uncached</code>: Whether to download uncached torrents (disabled by default)</li> <li><code>check_cached</code>: Whether to check if torrents are cached (disabled by default)</li> <li><code>use_webdav</code>: Whether to create a WebDAV server for this Debrid provider (disabled by default)</li> </ul>"},{"location":"configuration/debrid/#using-multiple-api-keys","title":"Using Multiple API Keys","text":"<p>For services that support it, you can provide multiple download API keys for better load balancing:</p> <pre><code>{\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</code></pre>"},{"location":"configuration/debrid/#example-configuration","title":"Example Configuration","text":""},{"location":"configuration/debrid/#real-debrid","title":"Real Debrid","text":"<pre><code>{\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</code></pre>"},{"location":"configuration/debrid/#all-debrid","title":"All Debrid","text":"<pre><code>{\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</code></pre>"},{"location":"configuration/debrid/#debrid-link","title":"Debrid Link","text":"<pre><code>{\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</code></pre>"},{"location":"configuration/debrid/#torbox","title":"Torbox","text":"<pre><code>{\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</code></pre>"},{"location":"configuration/general/","title":"General Configuration","text":"<p>This section covers the basic configuration options for DecyphArr that apply to the entire application.</p>"},{"location":"configuration/general/#basic-settings","title":"Basic Settings","text":"<p>Here are the fundamental configuration options:</p> <pre><code>{\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</code></pre>"},{"location":"configuration/general/#configuration-options","title":"Configuration Options","text":""},{"location":"configuration/general/#log-level","title":"Log Level","text":"<p>The <code>log_level</code> setting determines how verbose the application logs will be:</p> <ul> <li><code>debug</code>: Detailed information, useful for troubleshooting</li> <li><code>info</code>: General operational information (default)</li> <li><code>warn</code>: Warning messages</li> <li><code>error</code>: Error messages only</li> <li><code>trace</code>: Very detailed information, including all requests and responses</li> </ul>"},{"location":"configuration/general/#authentication","title":"Authentication","text":"<p>The <code>use_auth</code> option enables basic authentication for the UI:</p> <pre><code>\"use_auth\": true\n</code></pre> <p>When enabled, you'll need to provide a username and password to access the DecyphArr interface.</p>"},{"location":"configuration/general/#file-size-limits","title":"File Size Limits","text":"<p>You can set minimum and maximum file size limits for torrents: <pre><code>\"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</code></pre></p>"},{"location":"configuration/general/#allowed-file-types","title":"Allowed File Types","text":"<p>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.</p> <pre><code>\"allowed_file_types\": [\n \".mp4\", \".mkv\", \".avi\", \".mov\",\n \".m4v\", \".mpg\", \".mpeg\", \".wmv\",\n \".m4a\", \".mp3\", \".flac\", \".wav\"\n]\n</code></pre> <p>If not specified, all movie, TV show, and music file types are allowed by default.</p>"},{"location":"configuration/general/#discord-notifications","title":"Discord Notifications","text":"<p>To receive notifications on Discord, add your webhook URL: <pre><code>\"discord_webhook_url\": \"https://discord.com/api/webhooks/...\"\n</code></pre> This will send notifications for various events, such as successful downloads or errors.</p>"},{"location":"configuration/qbittorrent/","title":"qBittorrent Configuration","text":"<p>DecyphArr emulates a qBittorrent instance to integrate with Arr applications. This section explains how to configure the qBittorrent settings in your <code>config.json</code> file.</p>"},{"location":"configuration/qbittorrent/#basic-configuration","title":"Basic Configuration","text":"<p>The qBittorrent functionality is configured under the <code>qbittorrent</code> key:</p> <pre><code>\"qbittorrent\": {\n \"port\": \"8282\",\n \"download_folder\": \"/mnt/symlinks/\",\n \"categories\": [\"sonarr\", \"radarr\", \"lidarr\"],\n \"refresh_interval\": 5\n}\n</code></pre>"},{"location":"configuration/qbittorrent/#configuration-options","title":"Configuration Options","text":""},{"location":"configuration/qbittorrent/#essential-settings","title":"Essential Settings","text":"<ul> <li><code>port</code>: The port on which the qBittorrent API will listen (default: 8282)</li> <li><code>download_folder</code>: The folder where symlinks or downloaded files will be placed</li> <li><code>categories</code>: An array of categories to organize downloads (usually matches your Arr applications)</li> </ul>"},{"location":"configuration/qbittorrent/#advanced-settings","title":"Advanced Settings","text":"<ul> <li><code>refresh_interval</code>: How often (in seconds) to refresh the Arrs Monitored Downloads (default: 5)</li> </ul>"},{"location":"configuration/qbittorrent/#categories","title":"Categories","text":"<p>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:</p> <pre><code>\"categories\": [\"sonarr\", \"radarr\", \"lidarr\", \"readarr\"]\n</code></pre> <p>When setting up your Arr applications to connect to DecyphArr, you'll specify these same category names.</p>"},{"location":"configuration/qbittorrent/#download-folder","title":"Download Folder","text":"<p>The <code>download_folder</code> setting specifies where DecyphArr will place downloaded files or create symlinks:</p> <pre><code>\"download_folder\": \"/mnt/symlinks/\"\n</code></pre> <p>This folder should be:</p> <ul> <li>Accessible to DecyphArr</li> <li>Accessible to your Arr applications</li> <li>Have sufficient space if downloading files locally</li> </ul>"},{"location":"configuration/qbittorrent/#port-configuration","title":"Port Configuration","text":"<p>The <code>port</code> setting determines which port the qBittorrent API will listen on:</p> <pre><code>\"port\": \"8282\"\n</code></pre> <p>Ensure this port:</p> <ul> <li>Is not used by other applications</li> <li>Is accessible to your Arr applications</li> <li>Is properly exposed if using Docker (see the Docker Compose example in the Installation guide)</li> </ul>"},{"location":"configuration/qbittorrent/#refresh-interval","title":"Refresh Interval","text":"<p>The refresh_interval setting controls how often DecyphArr checks for updates from your Arr applications:</p> <pre><code>\"refresh_interval\": 5\n</code></pre> <p>This value is in seconds. Lower values provide more responsive updates but may increase CPU usage.</p>"},{"location":"features/","title":"Features Overview","text":"<p>DecyphArr extends the functionality of qBittorrent by integrating with Debrid services, providing several powerful features that enhance your media management experience.</p>"},{"location":"features/#core-features","title":"Core Features","text":""},{"location":"features/#mock-qbittorrent-api","title":"Mock qBittorrent API","text":"<p>DecyphArr implements a complete qBittorrent-compatible API that can be used with Sonarr, Radarr, Lidarr, and other Arr applications. This allows you to:</p> <ul> <li>Seamlessly integrate with your existing Arr setup</li> <li>Use familiar interfaces to manage your downloads</li> <li>Benefit from Debrid services without changing your workflow</li> </ul>"},{"location":"features/#comprehensive-ui","title":"Comprehensive UI","text":"<p>The DecyphArr user interface provides:</p> <ul> <li>Torrent management capabilities</li> <li>Status monitoring</li> <li>Configuration options</li> <li>Multiple Debrid provider integration</li> </ul>"},{"location":"features/#advanced-features","title":"Advanced Features","text":"<p>DecyphArr includes several advanced features that extend its capabilities:</p> <ul> <li>Repair Worker: Identifies and fixes issues with your media files</li> <li>WebDAV Server: Provides direct access to your Debrid files</li> </ul>"},{"location":"features/#supported-debrid-providers","title":"Supported Debrid Providers","text":"<p>DecyphArr supports multiple Debrid providers:</p> <ul> <li>Real Debrid</li> <li>Torbox</li> <li>Debrid Link</li> <li>All Debrid</li> </ul> <p>Each provider can be configured separately, allowing you to use one or multiple services simultaneously.</p>"},{"location":"features/repair-worker/","title":"Repair Worker","text":"<p>The Repair Worker is a powerful feature that helps maintain the health of your media library by scanning for and fixing issues with files.</p>"},{"location":"features/repair-worker/#what-it-does","title":"What It Does","text":"<p>The Repair Worker performs the following tasks:</p> <ul> <li>Searches for broken symlinks or file references</li> <li>Identifies missing files in your library</li> <li>Locates deleted or unreadable files</li> <li>Automatically repairs issues when possible</li> </ul>"},{"location":"features/repair-worker/#configuration","title":"Configuration","text":"<p>To enable and configure the Repair Worker, add the following to your <code>config.json</code>:</p> <pre><code>\"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</code></pre>"},{"location":"features/repair-worker/#configuration-options","title":"Configuration Options","text":"<ul> <li><code>enabled</code>: Set to <code>true</code> to enable the Repair Worker.</li> <li><code>interval</code>: The time interval for the Repair Worker to run (e.g., <code>12h</code>, <code>1d</code>).</li> <li><code>run_on_start</code>: If set to <code>true</code>, the Repair Worker will run immediately after DecyphArr starts.</li> <li><code>use_webdav</code>: If set to <code>true</code>, the Repair Worker will use WebDAV for file operations.</li> <li><code>zurg_url</code>: The URL for the Zurg service (if using).</li> <li><code>auto_process</code>: If set to <code>true</code>, the Repair Worker will automatically process files that it finds issues with.</li> </ul>"},{"location":"features/repair-worker/#performance-tips","title":"Performance Tips","text":"<ul> <li>For users of the WebDAV server, enable <code>use_webdav</code> for exponentially faster repair processes</li> <li>If using Zurg, set the <code>zurg_url</code> parameter to greatly improve repair speed</li> </ul>"},{"location":"features/webdav/","title":"WebDAV Server","text":"<p>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.</p>"},{"location":"features/webdav/#overview","title":"Overview","text":"<p>While most Debrid providers have their own WebDAV servers, DecyphArr's implementation offers faster access and additional features. The WebDAV server listens on port <code>8080</code> by default.</p>"},{"location":"features/webdav/#accessing-the-webdav-server","title":"Accessing the WebDAV Server","text":"<ul> <li>URL: <code>http://localhost:8282/webdav</code> or <code>http://&lt;your-server-ip&gt;:8080/webdav</code></li> </ul>"},{"location":"features/webdav/#configuration","title":"Configuration","text":"<p>You can configure WebDAV settings either globally or per-Debrid provider in your <code>config.json</code>:</p> <pre><code>\"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</code></pre>"},{"location":"features/webdav/#configuration-options","title":"Configuration Options","text":"<ul> <li><code>torrents_refresh_interval</code>: Interval for refreshing torrent data (e.g., <code>15s</code>, <code>1m</code>, <code>1h</code>).</li> <li><code>download_links_refresh_interval</code>: Interval for refreshing download links (e.g., <code>40m</code>, <code>1h</code>).</li> <li><code>workers</code>: Number of concurrent workers for processing requests.</li> <li>folder_naming: Naming convention for folders:</li> <li><code>original_no_ext</code>: Original file name without extension</li> <li><code>original</code>: Original file name with extension</li> <li><code>filename</code>: Torrent filename</li> <li><code>filename_no_ext</code>: Torrent filename without extension</li> <li><code>id</code>: Torrent ID</li> <li><code>auto_expire_links_after</code>: Time after which download links will expire (e.g., <code>3d</code>, <code>1w</code>).</li> <li><code>rc_url</code>, <code>rc_user</code>, <code>rc_pass</code>: Rclone RC configuration for VFS refreshes</li> </ul>"},{"location":"features/webdav/#using-with-media-players","title":"Using with Media Players","text":"<p>The WebDAV server works well with media players like:</p> <ul> <li>Infuse</li> <li>VidHub</li> <li>Plex (via mounting)</li> <li>Kodi</li> </ul>"},{"location":"features/webdav/#mounting-with-rclone","title":"Mounting with Rclone","text":"<p>You can mount the WebDAV server locally using Rclone. Example configuration:</p> <p><pre><code>[decypharr]\ntype = webdav\nurl = http://localhost:8080/webdav/realdebrid\nvendor = other\n</code></pre> For a complete Rclone configuration example, see our sample rclone.conf.</p>"}]}