Your media library, streamed from Usenet
New install? Pick 1.x for a stable setup, or 2.x to try the beta. Already running infinidysk? Match the image name in your compose file. Still on ghcr.io/nzbdav/nzbdav? That is 1.x under its old name; switch the image and keep everything else.
How it works
Section titled “How it works”Your Arr instances add infinidysk as a SABnzbd download client, but it never downloads the release. Work happens at two moments:
1When Sonarr or Radarr grabs a release
- Sonarr, RadarrSend the NZB over the SABnzbd API
- infinidyskReads the NZB and a few headers per file
- MountThe files appear, without a full download
- LibraryThe Arr imports a symlink or STRM file
2When you press play
- Plex, JellyfinRead a byte range over WebDAV or FUSE
- infinidyskFinds the articles that hold that range
- Usenet providersSend only those articles, several at once
- Read
- Fetched ahead
- Still on Usenet
One file, split into the articles it was posted in. After a seek, infinidysk fetches the articles at the new position and a few ahead. Everything else stays on Usenet until something reads it.
Rewritten in Rust
Section titled “Rewritten in Rust”2.x is the same product rebuilt from scratch in Rust: one native binary with the web UI built in, no .NET runtime and no garbage collector. Why Rust explains what that changes.
Both versions speak the same SABnzbd API and serve the same WebDAV paths, so Arrs and media servers see no difference.
| Feature | 1.x | 2.x |
|---|---|---|
| In both | ||
| SABnzbd API for Arrs | Yes | Yes |
| WebDAV | Yes | Yes |
| Symlink and STRM imports | Yes | Yes |
| Health checks and Arr replacement | Yes | Yes |
| Multiple providers with priority levels | Yes | Yes |
| Download speed limit | Yes | Yes |
| Disk segment cache | Yes | Yes |
| SQLite and PostgreSQL | Yes | Yes |
| Prometheus metrics | Yes | Yes |
| Backup and restore | Yes | Yes |
| Single sign-on (OIDC) | Yes | Yes |
| New or changed in 2.x | ||
| Mount | rclone sidecar | Built-in FUSE |
| Provider catalog with backbones | No | Yes |
| Only in 1.x | ||
| PAR2 repair | Yes | Not yet |
| Connection cap across all providers | Yes | Not yet |
| Stremio and addon routes | Yes | Not yet |
| Search, indexers and Prowlarr | Yes | Not yet |
| Read-only role for SSO users | Yes | No |
| Watchtower, Preflight and Warden | Yes | Not planned |
Performance
Section titled “Performance”- 12× faster startup
- 3× less CPU per GB streamed
- 2× less memory at idle
1.x is C# on .NET; 2.x is Rust. Lower is better. Bars show the range across three passes.
Startup
CPU time per GB streamed
Memory at idle
Memory per stream
Sequential throughput is on par within run-to-run variance: 103–111 MB/s on 1.x, 92–103 MB/s on 2.x. Neither version rebuffered in five plays at a 3.1 MB/s playback rate.
Measured on 27 October 2026 with 1.6.3 and 2.0.0-alpha.8 in Docker on one Apple M4 Pro host, one commercial provider with 20 connections, five posts with a median size of 10.7 GB, three passes.
Community and support
Section titled “Community and support”Chat on Discord and follow releases. After joining, use the channel and role selector to enable release notifications.
infinidysk is free and open source. If infinidysk is useful to you, you can support its development.