Architecture1.x
infinidysk sits between download clients / search and Usenet providers, exposing a virtual filesystem and SAB-compatible API. Each caller enters through its own door; the highlighted steps run inside infinidysk.
Arr instances
- Sonarr, RadarrCall addfile or addurl
- SAB APIThe SABnzbd-compatible /api endpoint
- QueueReads the NZB and checks its articles exist
- WebDAV storeLists the release under /content
Media servers
- Plex, Jellyfin, rcloneRead files with HTTP range requests
- WebDAV storeServes /content, /.ids and /view
- Usenet providersSend the articles behind each range over NNTP
Stremio
- Stremio, AIOStreamsAsk for streams for a title
- Addon routesResolve and queue the NZB under /adapters/addon/
- WebDAV storePlayback redirects to /view
Admin UI
- Your browserOpens the web UI on port 3000
- Admin UIFrontend that proxies to the backend
- SAB API, WebDAVQueue, history, settings and the file browser
Two common flows
Section titled “Two common flows”Automation (Arr + media server)
Section titled “Automation (Arr + media server)”- Radarr or Sonarr sends an NZB to infinidysk as a SABnzbd download client.
- infinidysk mounts the release on WebDAV without downloading the full file.
- It creates an import entry:
- Symlinks: entries under
/completed-symlinks; rclone turns them into filesystem links into/.ids. - STRM: small
.strmfiles with authenticated streaming URLs.
- Symlinks: entries under
- The Arr app imports into the library; the media server reads through the link or URL → infinidysk → Usenet.
On-demand (Stremio)
Section titled “On-demand (Stremio)”There are two Stremio paths:
Direct Search Profile preset since 1.3.0
- infinidysk searches the profile’s Newznab indexers and returns playable stream objects.
- AIOStreams or Stremio lists those streams. The dedicated infinidysk preset can report the
final order back to
/adapters/addon/{profile-token}/failover_order. - Playback hits
/adapters/addon/{profile-token}/play/{play-token}.mkv, which resolves and queues the NZB, then redirects to/view.
AIOStreams-managed search
- AIOStreams finds a release via its own Newznab addons.
- The NZB is mounted through infinidysk’s service/API.
- Playback URL (often proxied by AIOStreams) streams from WebDAV.
Processes and ports
Section titled “Processes and ports”| Process | What it does |
|---|---|
| Frontend | Admin UI, auth, proxy for WebDAV, /api, and /ws. Default :3000. |
| Backend | WebDAV, queue, SAB API. Default :8080 (internal). |
The main database is SQLite under CONFIG_PATH by default; set DATABASE_PROVIDER=postgres
to use PostgreSQL instead.
Backend services such as rclone should connect to WebDAV on port 8080. The frontend
WebDAV proxy is a fallback for clients that cannot reach the backend and adds streaming
overhead.
Persistent state lives under /config (database, settings, blobs, backups).
Related
Section titled “Related”Import strategies · Setup guide · Environment variables · Code boundaries