A lightweight, self-hosted Stremio addon with 2 configurable sources, built-in HLS proxy, multi-language support (40 languages), and automatic subtitle injection.
All sources are disabled by default. Enable only the ones you need from the configuration page.
| Feature | Description |
|---|---|
| 3 Sources | VixSrc (movies & series), AnimeUnity (anime via Kitsu) |
| Per-source configuration | Enable/disable each source independently from the landing page |
| 40 Languages | Select preferred audio and subtitle language per source |
| HLS Proxy | All streams are proxied through the addon — bypasses geo/IP restrictions |
| Synthetic FHD | Proxy rewrites manifests to serve only the best available quality (1080p) |
| Subtitle Injection | CinemaCity: up to 90 VTT subtitle tracks injected as HLS subtitle streams with proper BCP-47 language codes |
| Audio Selection | Preferred language → English fallback → first available |
| Subtitle Selection | Preferred language → none (no fallback) |
| Localized Titles | Stream titles show the localized TMDB title in your language |
| ID Agnostic | Works with TMDB (786892), IMDB (tt30144839), and Kitsu (kitsu:12:1) IDs |
- VixSrc:
VixSrc 🤌—🎬 Localized Title - AnimeUnity:
AU 🤌—VIX 1080 🤌
First: Fork this repo and update the Dockerfile with your GitHub username.
A persistent server is the most reliable option — it keeps the in-memory proxy cache alive and avoids cloud IP blocks.
git clone https://github.com/YOUR_USER/SelfStream.git
cd SelfStream
npm install
npm run build
PORT=7020 node dist/addon.jsThe addon will be available at http://your-ip:7020/manifest.json.
- Create an account on Koyeb.com.
- Click "Create Service" → select GitHub.
- Connect your forked repository.
- Configuration:
- Builder:
Docker - Dockerfile Path:
Dockerfile.hf - Port:
7000
- Builder:
- Click Deploy.
- Create a new Space on Hugging Face.
- Choose Docker as SDK, Blank template.
- Upload the Dockerfile (fork the project first and rename
Dockerfile.hfwith your GitHub username). - Copy the embed link.
- The Space runs on port
7860.
Note: AnimeUnity/VixCloud may not work on HuggingFace due to cloud IP blocking.
The project includes vercel.json and api/index.ts for serverless deployment.
- Go to Vercel.com and import your GitHub repo.
- Vercel auto-detects the configuration.
- Click Deploy.
- Access at
https://your-app.vercel.app/manifest.json.
Limitations: Vercel free plan has a 10s function timeout. Multi-step scraping (AnimeUnity) may exceed this. The in-memory proxy header cache resets between invocations (a fallback is in place, but VPS is more reliable).
npm install
npm run build
npm start
# Or with ts-node:
npm run devThe addon runs on http://localhost:7000 by default.
- Proxy architecture: Stream URLs point to
/proxy/hls/manifest.m3u8which rewrites all segment/audio/subtitle URIs to also go through the proxy, ensuring playback works from any network. - AnimeMapping: Kitsu IDs are converted to AnimeUnity paths via the AnimeMapping API, then resolved through VixCloud.
- Header cache fallback: On serverless platforms where the in-memory cache is empty, the proxy infers the correct headers from the URL pattern (VixSrc, VixCloud, or generic).