WP Manifestindependent plugin directory
manifest / media / stremio-manager

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

0stars
0forks

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.zip

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.

Features

  • Real-time Download Monitor — Poll EngineFS /stats.json at 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

Installation

  1. Download or clone this repository.
  2. Copy the stremio-manager folder into wp-content/plugins/.
  3. Activate Stremio Manager from the WordPress Plugins page.
  4. 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 .desktop handler.

IINA (macOS) works out of the box — no setup needed.

Nextcloud Push

  1. Install and configure WP Nextcloud Bridge.
  2. Enable Push to NC in Stremio Manager settings.
  3. A ☁️ → NC button appears next to each file in the download monitor.
  4. 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

  1. 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.

  2. Stats Enrichment — The root /stats.json endpoint often lacks torrent names and file lists. The plugin automatically fetches per-torrent /{hash}/stats.json to fill in missing metadata.

  3. VLC Protocol — Since browsers can't open http:// URLs directly in VLC, the plugin uses a custom vlc-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.

  4. 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