Skip to content

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.

  1. Arr instances

    1. Sonarr, RadarrCall addfile or addurl
    2. SAB APIThe SABnzbd-compatible /api endpoint
    3. QueueReads the NZB and checks its articles exist
    4. WebDAV storeLists the release under /content
  2. Media servers

    1. Plex, Jellyfin, rcloneRead files with HTTP range requests
    2. WebDAV storeServes /content, /.ids and /view
    3. Usenet providersSend the articles behind each range over NNTP
  3. Stremio

    1. Stremio, AIOStreamsAsk for streams for a title
    2. Addon routesResolve and queue the NZB under /adapters/addon/
    3. WebDAV storePlayback redirects to /view
  4. Admin UI

    1. Your browserOpens the web UI on port 3000
    2. Admin UIFrontend that proxies to the backend
    3. SAB API, WebDAVQueue, history, settings and the file browser
  1. Radarr or Sonarr sends an NZB to infinidysk as a SABnzbd download client.
  2. infinidysk mounts the release on WebDAV without downloading the full file.
  3. It creates an import entry:
    • Symlinks: entries under /completed-symlinks; rclone turns them into filesystem links into /.ids.
    • STRM: small .strm files with authenticated streaming URLs.
  4. The Arr app imports into the library; the media server reads through the link or URL → infinidysk → Usenet.

There are two Stremio paths:

Direct Search Profile preset since 1.3.0

  1. infinidysk searches the profile’s Newznab indexers and returns playable stream objects.
  2. AIOStreams or Stremio lists those streams. The dedicated infinidysk preset can report the final order back to /adapters/addon/{profile-token}/failover_order.
  3. Playback hits /adapters/addon/{profile-token}/play/{play-token}.mkv, which resolves and queues the NZB, then redirects to /view.

AIOStreams-managed search

  1. AIOStreams finds a release via its own Newznab addons.
  2. The NZB is mounted through infinidysk’s service/API.
  3. Playback URL (often proxied by AIOStreams) streams from WebDAV.
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).

Import strategies · Setup guide · Environment variables · Code boundaries