Usenet
How to source and stream Usenet content with AIOStreams.
This guide covers using Usenet with AIOStreams — from sourcing content through indexers to configuring a playback method.
Step 1: Sourcing Content (Addons)
AIOStreams provides several built-in addons to find Usenet content:
| Addon | Description |
|---|---|
| Newznab | Connect indexers directly via their API URL and key |
| NZBHydra2 | Connect your NZBHydra2 instance |
| Prowlarr | Query Prowlarr for both torrent and Usenet results |
| TorBox Search | Uses TorBox's internal indexers (both torrents and Usenet) |
| Easynews Search | Search Easynews; results can stream directly or provide NZBs |
With the Newznab addon, set the Search Mode to both if you have API hits
to spare. Some indexers only return results via query search — test both modes
to see what works best.
Method 1: Stremio Native NNTP
This method currently requires Stremio v5 desktop (latest releases).
The most direct approach. Stremio handles downloading and streaming the NZB natively — no extra software required beyond a Usenet provider and indexers.
How it works: AIOStreams sends your provider config and the NZB location to the Stremio app. Stremio fetches the NZB and streams it directly from your provider.
Setup:
Fill in your NNTP server details: Host, Port, Username, Password, SSL
toggle, and Connections (recommended: leave at the default of 5).
Usenet addons will now show results with the SN tag. Playing these
triggers native Stremio streaming.
Drawbacks:
- Desktop-only (Stremio v5)
- Harder to debug since streaming happens inside the Stremio client
Method 2: TorBox Pro
The easiest "it just works on all devices" option. TorBox Pro manages Usenet providers and indexers for you — no separate subscriptions needed.
How it works: TorBox downloads NZBs to their servers and streams the content to you. Usenet downloads are generally fast and reliable compared to torrents.
Setup:
When using your own indexers with TorBox (not their internal ones), all results appear uncached even if another TorBox user has cached the same file. Internal TorBox indexer results will show as cached when previously downloaded.
Cache & Play
To improve uncached Usenet playback on TorBox, enable Cache & Play in AIOStreams:
- Without it: An uncached file returns a short video asking you to try again while it downloads in the background.
- With it: The video player buffers until the download completes, then begins playing automatically.
Cache & Play effectiveness depends on your player's timeout settings. The Stremio iOS app has a short timeout (~30 seconds) — if the download takes longer, the player will error out and you'll need to restart the stream manually.
Method 3: Self-Hosted (Advanced)
This method gives the most control and works on any device (since it produces a standard HTTP stream URL). It requires self-hosting one of the following applications:
These apps mount NZBs as a virtual filesystem and expose a WebDAV server (or equivalent) that AIOStreams wraps to produce streamable URLs.
For free self-hosting, follow the Oracle VPS guides and the Docker Compose template that includes pre-configured setups for all required software.
nzbDAV and AltMount are alpha software. You may encounter bugs or breaking changes. StremThru is also actively developed.
The nzbDAV and AltMount integrations were inspired by the UsenetStreamer addon, which was the first to serve nzbDAV streams through a Stremio addon.
Initial Application Setup
StremThru
Install and run StremThru following the
official documentation.
Set
STREMTHRU_AUTH
and
STREMTHRU_VAULT_SECRET
in your environment.
Configure your Usenet providers in the StremThru dashboard (/dash) under
Usenet → Servers.
nzbDAV
In the WebDAV tab, set a WebDAV username and password (these are separate from your admin login).
AltMount
Go to Configuration → WebDAV and set your username and password.
In SABnzbd API, turn Enable SABnzbd API ON. Do not change the
Complete directory (must stay /complete).
If running multiple services concurrently, be mindful of your Usenet provider's connection limits.
Configuring in AIOStreams
In AIOStreams, go to Services and select nzbDAV, AltMount, or StremThru.
Enter the required details.
- nzbDAV / AltMount: API Key, WebDAV User, WebDAV Password.
- StremThru: StremThru URL and Auth Token — a
user:passwordstring (optionally base64-encoded) from yourSTREMTHRU_AUTHvalue.
URL vs. Public URL
This is the most critical configuration step.
| Field | Purpose |
|---|---|
| URL | Address AIOStreams uses to talk to the API |
| Public URL | Publicly accessible address used to construct streaming URLs for your player |
The Public URL field does not apply to StremThru. Use the
STREMTHRU_BASE_URL
environment variable instead, and set URL to your local StremThru address
(e.g. http://stremthru:8080).
URL: Internal Docker/local address (e.g. http://nzbdav:3000)
Public URL — Option A (Proxy, recommended): Leave blank and provide your
AIOStreams Auth Token in the service settings. AIOStreams proxies the stream
— most reliable method.
Public URL — Option B (Direct): Enter the publicly accessible URL (e.g.
https://nzbdav.yourdomain.com). Without it your player receives an
inaccessible local address.
URL: Public URL of your instance (e.g.
https://altmount.yourdomain.com)
Public URL: Leave blank.
Mismatched HTTP/HTTPS protocols can cause playback to fail. Using the built-in proxy avoids this issue entirely.
Method 4: ElfHosted (Managed)
If you want the self-hosted setup without the complexity, ElfHosted offers a pre-configured AIOStreams + nzbDAV bundle that includes:
- A private AIOStreams instance (yours to manage)
- nzbDAV, secured behind ElfHosted SSO
- A bundled Usenet provider account
- A bundled indexer to get started (you can add more of your own later)
- 150 Mbps proxy bandwidth (boostable), enough to happily stream a 4K REMUX (also usable for proxying debrid streams)
Pre-configured, fully supported, available in 5 minutes.
This is the same software stack as the self-hosted method, just hosted and pre-wired. The AIOStreams configuration steps in earlier guides apply unchanged.
Indexer IP Considerations
Some indexers flag mismatched IPs between the search request and the NZB grab as a TOS violation.
| Method | Search IP | Grab IP |
|---|---|---|
| Stremio NNTP | AIOStreams server | Your Stremio client (home IP) |
| TorBox | AIOStreams server | TorBox servers |
| nzbDAV/AltMount/StremThru | AIOStreams server | Server running nzbDAV/AltMount/StremThru |
Solutions
AIOStreams Proxy (Newznab): Configure the Newznab addon to proxy NZB grabs through AIOStreams by providing your AIOSTREAMS_AUTH credentials in the addon settings (user:password). This makes both the query and grab come from the same AIOStreams IP.
Indexer managers:
- NZBHydra2: Proxies grabs by default (preferred behaviour), unless the redirect option is enabled.
- Prowlarr: Only redirects NZB grabs — this will cause an IP mismatch.
ElfHosted
When running an ElfHosted AIOStreams instance, your search IP and grab IP are always the same, routed through a built-in NZBHydra/SABnzbd proxy on your instance, so usage patterns are identical to traditional Usenet access.
ElfHosted also offers managed NZBHydra2 or Prowlarr instances ($1 trial) for users wanting to augment an existing setup.
The public Zyclops NewzNab Healthcheck Proxy (an ElfHosted project) is another means of ensuring your search IP matches your grab IP, and functionality to add Zyclops healthchecks is built into AIOStreams Newznab addons. Be sure to review the highlighted implications re credential / NZB sharing and your indexer's TOS.
Indexer Policies
Indexer rules vary — always check with your indexer directly. Some known policies:
- NinjaCentral: Compatible with public AIOStreams instances, as long as you are not sharing your account.
- SceneNZBs: Explicitly disallows use with Stremio. This is likely detected via the IP mismatch — self-hosting AIOStreams with the proxy feature or NZBHydra2 may resolve it.

