explaingit

qooode/nzbdavex

28C#Audience · ops devopsComplexity · 3/5ActiveSetup · moderate

TLDR

Self-hosted WebDAV server that mounts NZB Usenet content as a virtual drive, streaming bytes on demand instead of downloading whole files.

Mindmap

mindmap
  root((NzbDavEx))
    Inputs
      NZB files
      Usenet credentials
      Indexer config
      User profiles
    Outputs
      WebDAV mount
      SABnzbd API
      Health reports
      Usage stats
    Use Cases
      Stream media without full download
      Drop in replacement for SABnzbd
      Mount Usenet as a drive
      Automated re fetch jobs
    Tech Stack
      CSharp
      Docker
      WebDAV
      Rclone

Things people build with this

USE CASE 1

Mount Usenet NZB content as a network drive and stream media without waiting for downloads

USE CASE 2

Replace SABnzbd as the download target for Sonarr or Radarr via the compatible HTTP API

USE CASE 3

Run a watchdog that verifies and re-fetches broken Usenet posts automatically

USE CASE 4

Configure multiple Usenet providers with failover and per-provider usage tracking

Tech stack

C#DockerWebDAVRclone.NET

Getting it running

Difficulty · moderate Time to first run · 1h+

No published Docker image, so you must git clone then docker build before running, and configure Usenet provider credentials and indexers.

In plain English

NzbDavEx is a self-hosted server that presents NZB files as if they were folders and files on a normal disk. An NZB is a small index file used by Usenet clients that points at posts on Usenet servers, the way a torrent file points at peers. Normally a downloader has to pull every part down to local storage before you can read anything. NzbDavEx skips that step: it exposes the content over WebDAV, the same protocol macOS Finder and many file managers can mount as a network drive, and only fetches the bytes you actually read. The server supports random-access reads, including seeking inside RAR and 7z archives, and inside password-protected archives. That means a media player or another program can open a file directly from the mount and jump to any point without waiting for a full download. The project also ships an HTTP API that is compatible with SABnzbd, a popular Usenet downloader, so any automation tool that already speaks SABnzbd can use NzbDavEx as a drop-in target. NzbDavEx is an extended fork of an earlier project called nzbdav. The added features include a Watchdog module that runs unattended verification and re-fetch jobs based on user rules, support for several Usenet providers with failover and per-provider usage tracking, an indexer manager configurable from the UI, a profile system for per-profile quality and handling policies, and an updated settings interface. There are also health checks that detect when content has gone missing upstream and trigger replacements. There is no published Docker image. Installation is a git clone, then docker build, then docker run, exposing port 3000. To keep settings between runs you mount a host folder at /config, and there are PUID and PGID environment variables for file ownership. A more detailed setup guide covers Docker Compose, mounting through Rclone, and tuning. The README ends with a disclaimer that the software hosts no content itself and that the user is responsible for following the law and provider terms of service.

Copy-paste prompts

Prompt 1
Write a docker-compose.yml that builds NzbDavEx from a cloned repo, exposes port 3000, mounts /config, and sets PUID and PGID
Prompt 2
Configure Sonarr to use NzbDavEx as a SABnzbd-compatible download client and point it at the WebDAV mount path
Prompt 3
Set up Rclone to mount the NzbDavEx WebDAV endpoint as a local folder on a Linux server
Prompt 4
Write a NzbDavEx Watchdog rule that re-fetches any media file failing a health check from the secondary Usenet provider
Prompt 5
Compare NzbDavEx with the original nzbdav project and explain which extra features I would lose by switching back
Open on GitHub → Explain another repo

Generated 2026-05-22 · Model: sonnet-4-6 · Verify against the repo before relying on details.