Skip to content

Explore Stream-style extension support for streaming sites in StrIve #14

Description

@CoffeePatch

Overview

StrIve aims to offer an advanced streaming dashboard using React & Firebase. This issue proposes investigating support for Stream-style extensions (modeled after the popular Android app extension architecture), enabling third-party site integrations via modular plugins/extensions.

References

  • Review extension formats (JSON manifest, Kotlin/Java logic, content scrapers) and possible adaptation to JavaScript/TypeScript for StrIve.

Possibilities for Implementation in StrIve

  1. Extension Loader: Create an extension/plugin loader in StrIve that loads external site modules/extensions (in JS/TS), inspired by Stream.
  2. Extension API: Define an extension API for StrIve that allows developers to add support for new streaming sites (scraping, API, playlist integration, etc.).
  3. Extension Repository UI: Add a UI for browsing, installing, and managing extensions (like Stream’s repo browser).
  4. Security Model: Sandbox extensions and review permissions to keep users safe.
  5. Example Extension Mapping: Prototype mapping a Stream-style extension (e.g., for a public streaming site) to StrIve’s extension format and player logic.

Tasks

  • Research Stream extension architecture and repo formats
  • Draft StrIve extension manifest and lifecycle spec
  • Prototype loading and running a JS/TS site extension in StrIve
  • Implement extension browser UI
  • Evaluate security and sandboxing for third-party extensions
  • Map at least one Stream-style extension to StrIve’s model and document findings

This issue will guide development of modular extension support in StrIve, enabling compatibility with more streaming sources.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions