Decypharr

repository·main·Indexed 18 days ago

https://github.com/sirrobot01/decypharr

A Go-based Media Gateway that bridges *Arr applications (such as Sonarr and Radarr) with Debrid and Usenet services. It mocks download client APIs like qBittorrent and Sabnzbd to enable seamless media access. Supported Debrid providers include Real Debrid, Torbox, Debrid Link, All Debrid, and Premiumize. Key features include hybrid Debrid/Usenet support, automated queue cleanup, file repair, and flexible download actions such as symlinking or .strm file creation.

Tokens
29.8K
Snippets
113
Records
150
Agent score
70%

What's inside decypharr

  1. What is Decypharr?

    main
    Decypharr is a media gateway that bridges media automation tools (like Sonarr and Radarr) with Debrid services and Usenet providers. Instead of downloading files to local storage, Decypharr enables streaming directly from the cloud by mounting remote files as if they were local. It acts as a drop-in replacement for traditional download clients like qBittorrent or Sabnzbd.
  2. Overview of Decypharr key features

    main

    Decypharr provides a high-performance automation layer for media management with the following capabilities:

    • Hybrid Support: Handles both Debrid and Usenet workflows.
    • File Repair: Automatically checks for and fixes missing files.
    • High Performance: Uses a custom DFS (Depth-First Search) implementation to ensure fast startup times.
    • Arr Integration: Native support for Sonarr and Radarr.
    • Queue Cleanup: Uses rules-driven logic to manage stuck or failed items in the Arr queue, allowing for automated actions like importing, blacklisting, or re-searching.
  3. Core features of Decypharr

    main

    Decypharr provides several key capabilities for media management:

    • Debrid Integration: Supports Real Debrid, All Debrid, Debrid Link, and Torbox. It allows adding multiple providers with automatic load balancing.
    • Direct Usenet Streaming: Connects directly to NNTP servers to process NZBs and stream content on-demand without needing Sabnzbd or NZBGet.
    • Flexible Mounting Options: Supports DFS (custom VFS), embedded Rclone, external Rclone, or WebDAV.
    • Arr Compatibility: Functions as a drop-in replacement for qBittorrent (for torrents) and Sabnzbd (for Usenet) within Sonarr, Radarr, Lidarr, etc.
    • Auto-Repair Worker: A background process that monitors your library to automatically fix broken links, expired downloads, and missing files.
    • Web Interface: A built-in UI to manage torrents, configure settings, browse files, and monitor library health.
  4. Choose a VFS Cache Mode

    main

    The vfs_cache_mode setting determines how Rclone handles file caching.

    • off: No caching. Use this if you have very low disk space.
    • minimal: Small metadata cache. Suitable for light usage.
    • writes: Caches writes only. Recommended for most use cases, especially for streaming combined with occasional writes.
    • full: Full read/write cache. Provides the best performance but uses more disk space.
    {
      "rclone": {
        "vfs_cache_mode": "writes"
      }
    }
  5. Configure Health Checker and Auto-Repair

    main

    The Health Checker monitors your library for broken links. You can enable auto_repair to automate the process of deleting broken records and triggering new searches.

    Repair Strategies:

    • per_entry: The probe stops at the first broken file in an entry. Faster for large, broken libraries.
    • per_file: Probes every file. Use this for a complete list of broken files per entry.

    Recheck Interval: Defines how long an entry's last successful check stays "fresh." Healthy entries within this window are skipped during the next sweep to save resources.

  6. Configure Filesystem Mounting

    main

    Mount configuration determines how files are exposed on the filesystem. You can choose from several type options:

    • dfs: Custom VFS optimized for streaming.
    • rclone: Embedded Rclone with full VFS features.
    • external_rclone: Connect to an existing Rclone RC instance.
    • none: No filesystem mounting.
    {
      "mount": {
        "type": "dfs",
        "mount_path": "/mnt/decypharr"
      }
    }
  7. Understand the Starlight project structure

    main

    A Starlight project follows a specific directory structure for content and assets:

    • src/content/docs/: The primary location for documentation. Starlight automatically exposes .md or .mdx files in this directory as routes based on their filenames.
    • src/assets/: Place images here to embed them in your Markdown using relative links.
    • public/: Use this directory for static assets that do not need processing, such as favicons.
    • astro.config.mjs: The main configuration file for the Astro project.
    .
    ├── public/
    ├── src/
    │   ├── assets/
    │   ├── content/
    │   │   └── docs/
    │   └── content.config.ts
    ├── astro.config.mjs
    ├── package.json
    └── tsconfig.json
  8. Use both Torrents and Usenet in the same Arr application

    main

    You can use both Debrid (Torrents) and Usenet simultaneously in a single Sonarr or Radarr instance by adding both clients:

    1. Add a Decypharr (Torrents) client using the qBittorrent settings.
    2. Add a Decypharr (Usenet) client using the Sabnzbd settings.

    To prioritize one source over the other, set different Priority values in the client settings. The *Arr application will attempt to use the higher-priority client first.

    N/A
  9. How Decypharr works

    main

    Decypharr operates through a four-step workflow to enable cloud-based media streaming:

    1. Request Submission: Media automation tools (Sonarr/Radarr) send torrents or NZB files to Decypharr, mimicking the behavior of qBittorrent or Sabnzbd.
    2. Processing: Decypharr forwards torrents to a configured Debrid provider or processes NZBs via a direct NNTP connection.
    3. Cloud/Remote Storage: Debrid services download torrents to their servers, while Usenet content is streamed on-demand from NNTP servers.
    4. Local Mounting: Decypharr makes the remote files appear on your local filesystem using DFS (custom VFS), embedded Rclone, external Rclone, or WebDAV.
  10. What are Virtual Folders in Decypharr?

    main

    Virtual folders are non-destructive views that allow you to organize your mounted media into custom categories without moving or copying files. They act as filtered views of your existing mount. For example, a 4K virtual folder can show only items containing 2160p in their name, while the original files remain accessible in their source folders like __all__, torrents, or nzbs.

    Key Characteristics:

    • Non-destructive: Deleting a virtual folder only removes the view, not the actual media.
    • Overlapping views: The same item can appear in multiple virtual folders simultaneously.
    • Case-sensitivity: Filter text is case-sensitive (e.g., 2160p is different from 2160P).
    • Empty folders: A folder with no filters shows all items; a folder with filters that match nothing will appear empty.