Stremio Manager
A WordPress plugin that monitors active Stremio (EngineFS) downloads and lets you launch streams directly in VLC ,IINA, or copy the raw stream URL — all from a lightweight frontend widget or the WordPress admin panel.
by Stremio Manager · github.com/satoshiwp/stremio-manager · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/satoshiwp/stremio-manager/archive/refs/heads/main.zipA WordPress plugin that monitors active Stremio (EngineFS) downloads and lets you launch streams directly in VLC, IINA, or copy the raw stream URL — all from a lightweight frontend widget or the WordPress admin panel.
Features
- Real-time Download Monitor — Poll EngineFS
/stats.jsonat configurable intervals and display torrent status (speed, peers, progress, file list) via a[stremio_downloads]shortcode. - One-click Playback — Open any torrent file in VLC (
vlc-stream://custom protocol) or IINA (iina://) with a single click. - Copy Stream URL — Copy the raw EngineFS HTTP stream URL to the clipboard for use in any player.
- Stremio Web Link — Quick-access button to open the Stremio Web UI.
- Torrent Management — Delete/destroy torrents directly from the frontend widget.
- Nextcloud Integration (optional) — Push completed torrent files to a Nextcloud server via WP Nextcloud Bridge, streaming directly from EngineFS to Nextcloud WebDAV with zero temporary disk usage.
- Access Control — Restrict the frontend widget to logged-in users or make it public.
- Dark Mode — Fully styled for both light and dark system themes.
- Multiple Instances — Place
[stremio_downloads]on multiple pages without collisions.
Requirements
- WordPress 5.6+
- PHP 7.4+
- A running Stremio Server (Docker) with EngineFS accessible from the WordPress server
- (Optional) WP Nextcloud Bridge plugin for push-to-Nextcloud
Installation
- Download or clone this repository.
- Copy the
stremio-managerfolder intowp-content/plugins/. - Activate Stremio Manager from the WordPress Plugins page.
- Go to Stremio → Settings in the admin menu to configure the EngineFS host and port.
Configuration
Navigate to Stremio in the WordPress admin sidebar:
| Setting | Default | Description |
|---|---|---|
| Stremio Server Host | 127.0.0.1 |
IP or hostname of the EngineFS server |
| EngineFS Port | 11470 |
EngineFS HTTP port |
| Stremio Web Port | 9080 |
Stremio Web UI port |
| Poll Interval | 5 sec |
How often the frontend widget refreshes |
| Show IINA Buttons | Enabled | Toggle IINA player buttons (macOS only) |
| Access Control | Logged-in users | Who can see the frontend widget |
| Nextcloud Push | Disabled | Enable push-to-Nextcloud (requires WP Nextcloud Bridge) |
| NC Destination Folder | /Stremio |
Target folder on Nextcloud |
Usage
Shortcode
Place the shortcode on any page or post:
[stremio_downloads]
Optional attributes:
| Attribute | Default | Description |
|---|---|---|
poll |
Settings value | Override poll interval (seconds) |
show_vlc |
1 |
Show VLC buttons |
show_iina |
Settings value | Show IINA buttons |
show_copy |
1 |
Show Copy URL buttons |
Example:
[stremio_downloads poll="3" show_iina="0"]
VLC Protocol Handler
The VLC button uses a custom vlc-stream:// protocol. A one-time setup is required on client machines:
- macOS: Run the provided Terminal command in Stremio → Settings → Player Setup Guides to register a handler via a compiled AppleScript app.
- Linux: Run the provided Terminal command to create an XDG
.desktophandler.
IINA (macOS) works out of the box — no setup needed.
Nextcloud Push
- Install and configure WP Nextcloud Bridge.
- Enable Push to NC in Stremio Manager settings.
- A ☁️ → NC button appears next to each file in the download monitor.
- Files stream directly from EngineFS to Nextcloud WebDAV (no temp files on the WordPress server).
REST API Endpoints
All endpoints are under /wp-json/stremio-manager/v1/.
| Method | Endpoint | Auth | Description |
|---|---|---|---|
GET |
/settings |
Admin | Proxy EngineFS /settings |
POST |
/options |
Admin | Save plugin options |
GET |
/frontend-stats |
Frontend* | Enriched torrent stats for the widget |
DELETE |
/torrent?hash={hash} |
Frontend* | Destroy a torrent via EngineFS |
POST |
/nc-push |
Admin | Push a file to Nextcloud |
DELETE |
/nc-push?key={key} |
Admin | Cancel a stuck Nextcloud push |
GET |
/debug-stats |
Admin | Raw EngineFS /stats.json (debug) |
GET |
/debug-enriched |
Admin | Enriched stats with debug info |
*Frontend permission depends on the Access Control setting (logged-in users or public).
File Structure
stremio-manager/
├── stremio-manager.php # Main plugin file (bootstrap, shortcode, REST routes)
├── includes/
│ ├── class-stremio-api.php # EngineFS API wrapper
│ └── class-sm-nc-push.php # Nextcloud push integration
└── admin/
└── class-admin-page.php # WordPress admin settings page
How It Works
-
EngineFS Proxy — The plugin acts as a bridge between the browser and the EngineFS server. Since EngineFS typically runs on a private network, the WordPress REST API proxies requests so the browser never needs direct access.
-
Stats Enrichment — The root
/stats.jsonendpoint often lacks torrent names and file lists. The plugin automatically fetches per-torrent/{hash}/stats.jsonto fill in missing metadata. -
VLC Protocol — Since browsers can't open
http://URLs directly in VLC, the plugin uses a customvlc-stream://protocol scheme. A lightweight redirect endpoint (/sm-play/{hash}/{idx}/{filename}) converts the protocol back to a standard HTTP URL that VLC can consume. -
Nextcloud Streaming — Files are transferred from EngineFS to Nextcloud via chunked HTTP streaming through the WordPress server, avoiding any temporary file writes to disk.
License
GPL-2.0-or-later