Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/rivenmedia/riven-ts/llms.txt

Use this file to discover all available pages before exploring further.

The Comet plugin connects Riven to a Comet debrid scraper instance — either self-hosted or the public endpoint at comet.feels.legal. Comet queries multiple torrent indexers, filters results against your debrid provider’s cache, and returns a stream list that Riven parses into { infoHash → title } pairs. Those pairs feed directly into Riven’s torrent ranking engine, which selects the best match for StremThru to download.

What Comet does

Comet sits between Riven and the raw torrent ecosystem. When Riven raises a MediaItemScrapeRequested event, the Comet plugin:
  1. Resolves the correct Stremio-style identifier for the item (movie IMDb ID, or imdbId:season:episode for series).
  2. Calls GET /stream/{type}/{identifier}.json on your Comet instance.
  3. Parses the response, extracts infoHash and filename from each stream, and discards non-torrent entries (such as Comet’s own redirect stream).
  4. Returns a map of infoHash → title for every valid torrent found.
Comet requires every scraped item to have an IMDb ID. Items without an imdbId are skipped with an error log entry.

Enabling the plugin

Add comet to RIVEN_SETTING__enabledPlugins:
RIVEN_SETTING__enabledPlugins=comet,torrentio,stremthru,plex,seerr

Settings

url
string (URL)
default:"https://comet.feels.legal"
The base URL of the Comet instance to connect to. Point this at your self-hosted Comet deployment for full control over indexers, debrid providers, and rate limits. Defaults to the public comet.feels.legal instance.

Configuration

RIVEN_PLUGIN_SETTING__REPO_PLUGIN_COMET__url="https://your-comet-instance.example.com"

Full .env example

# Enable Comet (add alongside other plugins)
RIVEN_SETTING__enabledPlugins=comet,stremthru,plex,seerr

# Comet scraper URL — use your self-hosted instance or the public default
RIVEN_PLUGIN_SETTING__REPO_PLUGIN_COMET__url="https://comet.feels.legal"
If you run a self-hosted Comet instance with your debrid credentials pre-configured, the url is the only setting you need. The plugin will use Comet’s own debrid integration rather than requiring credentials in Riven.

Supported media types

The Comet plugin builds different identifiers depending on the type of media item being scraped:
Media typeComet endpoint pattern
Movie/stream/movie/{imdbId}.json
Show (all seasons)/stream/series/{imdbId}.json
Season/stream/series/{imdbId}:{seasonNumber}.json
Episode/stream/series/{imdbId}:{seasonNumber}:{episodeNumber}.json

Rate limiting

The Comet plugin applies an in-process rate limiter of 150 requests per 60 seconds to avoid overwhelming the scraper endpoint. This limit applies per Riven instance and is not configurable via settings — adjust it by modifying the plugin source if needed.

Self-hosting Comet

Running your own Comet instance gives you control over which indexers are queried and which debrid provider is checked for cached availability. See the Comet GitHub repository for Docker Compose setup instructions.

Comet on GitHub

Source code, Docker Compose setup, and indexer configuration docs for Comet.

Torrentio Plugin

Use Torrentio alongside Comet as a zero-configuration public scraper fallback.

Build docs developers (and LLMs) love