|
|
||
|---|---|---|
| .github | ||
| .well-known | ||
| assets | ||
| src | ||
| tests | ||
| .dockerignore | ||
| .gitignore | ||
| .nvmrc | ||
| CODE_OF_CONDUCT.md | ||
| CONTRIBUTING.md | ||
| Dockerfile | ||
| eslint.config.mjs | ||
| http_server.js | ||
| LICENSE.md | ||
| manifest.json | ||
| package.json | ||
| pnpm-lock.yaml | ||
| pnpm-workspace.yaml | ||
| README.md | ||
| tsconfig.json | ||
| webpack.config.js | ||
Stremio Web
Freedom to Stream — the official web UI of Stremio, a modern media center that's a one-stop solution for your video entertainment.
🌐 Open the Web App · Website · Report a bug
✨ Features
- 🧩 Addon-powered — discover movies, series and channels from catalogs provided by addons
- 🔄 Sync everywhere — your library and Continue Watching follow your Stremio account across devices
- 📺 Casting — play on the big screen via Chromecast
- 💬 Subtitles — addon-provided or local, with customizable styling
- ⌨️ Keyboard-first player — full playback control without touching the mouse
- 🌍 50+ languages — community-translated via stremio-translations
- 📱 Installable — runs as a standalone PWA
📸 Screenshots
| Discover | Meta Details |
|---|---|
🛠 How it works
The UI (this repo) is a React app, but the brains live in stremio-core — Stremio's Rust engine compiled to WebAssembly and running in a Web Worker. The UI renders state, the core computes it. Playback goes through stremio-video, which picks the right player implementation for the environment.
flowchart LR
UI["React UI<br>(this repo)"] <--> Core["stremio-core<br>Rust → WASM, Web Worker"]
Core <--> API["Stremio API"]
Core <--> Addons["Addons"]
UI --> Video["stremio-video"]
🚀 Getting started
You'll need Node.js 22+ and pnpm 11+.
pnpm install
pnpm start
The dev server runs at http://localhost:8080.
| Command | Description |
|---|---|
pnpm start |
Development server with hot reload |
pnpm run start-prod |
Development server in production mode |
pnpm run build |
Production build |
pnpm test |
Run tests |
pnpm run lint |
Lint the source |
pnpm run scan-translations |
Check for missing translation keys |
🐳 Docker
docker build -t stremio-web .
docker run -p 8080:8080 stremio-web
🤝 Contributing
Bug reports and pull requests are welcome — good first issue is a great place to start. Want Stremio in your language? Contribute to stremio-translations. Please read the Code of Conduct first.
🧩 Ecosystem
| Repository | What it is |
|---|---|
| stremio-core | Rust engine: state, addon protocol, library, sync |
| stremio-video | Video player abstraction used by this UI |
| stremio-translations | Community translations |
| stremio-addon-sdk | Build your own addon in Node.js |
💬 Community
Website · Blog · Reddit · X · Help center
📄 License
Copyright © 2017-2026 Smart Code OOD. Released under the GPL-2.0 license — see LICENSE.