Decypharr
repository·main·Indexed 18 days ago
https://github.com/sirrobot01/decypharrA 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.
What's inside decypharr
- 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.
Overview of Decypharr key features
mainDecypharr 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.
Core features of Decypharr
mainDecypharr 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.
Choose a VFS Cache Mode
mainThe
vfs_cache_modesetting 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" } }Configure Health Checker and Auto-Repair
mainThe Health Checker monitors your library for broken links. You can enable
auto_repairto 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.
Configure Filesystem Mounting
mainMount configuration determines how files are exposed on the filesystem. You can choose from several
typeoptions: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" } }Understand the Starlight project structure
mainA Starlight project follows a specific directory structure for content and assets:
src/content/docs/: The primary location for documentation. Starlight automatically exposes.mdor.mdxfiles 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.jsonUnderstand the WebDAV file structure
mainThe WebDAV server organizes files into specific categories. Each category contains torrent or NZB folders containing the actual files:
/webdav/__all__/: All torrents/webdav/__bad__/: Failed or problematic torrents/webdav/torrents/: Standard torrents/webdav/nzbs/: NZB files/webdav/{custom}/: Any custom categories you have defined
How Decypharr maps NZB processing statuses to Sabnzbd
mainWhen Arr queries the status of a download, Decypharr translates its internal processing states into Sabnzbd-compatible statuses:
Decypharr Sabnzbd Meaning Processing Downloading NZB being processed Streaming Downloading File accessible Completed Completed Download finished Failed Failed Error occurred Use both Torrents and Usenet in the same Arr application
mainYou can use both Debrid (Torrents) and Usenet simultaneously in a single Sonarr or Radarr instance by adding both clients:
- Add a Decypharr (Torrents) client using the qBittorrent settings.
- 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/AHow Decypharr works
mainDecypharr operates through a four-step workflow to enable cloud-based media streaming:
- Request Submission: Media automation tools (Sonarr/Radarr) send torrents or NZB files to Decypharr, mimicking the behavior of qBittorrent or Sabnzbd.
- Processing: Decypharr forwards torrents to a configured Debrid provider or processes NZBs via a direct NNTP connection.
- Cloud/Remote Storage: Debrid services download torrents to their servers, while Usenet content is streamed on-demand from NNTP servers.
- Local Mounting: Decypharr makes the remote files appear on your local filesystem using DFS (custom VFS), embedded Rclone, external Rclone, or WebDAV.
What are Virtual Folders in Decypharr?
mainVirtual 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
4Kvirtual folder can show only items containing2160pin their name, while the original files remain accessible in their source folders like__all__,torrents, ornzbs.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.,
2160pis different from2160P). - Empty folders: A folder with no filters shows all items; a folder with filters that match nothing will appear empty.