A Stremio addon that provides streaming catalogs from various popular streaming services including Netflix, Disney+, HBO Max, Prime Video, Apple TV+, and many more. This addon allows users to browse and discover content from multiple streaming platforms directly within Stremio.
- Multiple Streaming Services: Support for 20+ streaming platforms
- Country-based Filtering: Filter providers by country/region
- Web Interface: Modern Vue.js web interface for configuration
- Real-time Catalogs: Live streaming catalogs from various services
- Easy Installation: Simple addon installation process
- Netflix & Netflix Kids
- Disney+
- HBO Max
- Prime Video
- Apple TV+
- Paramount+
- Peacock Premium
- Hulu
- Curiosity Stream
- MagellanTV
- Crunchyroll
- Hayu
- Clarovideo
- Globoplay
- And many more...
- Node.js (v16 or higher)
- npm or yarn
-
Clone the repository
git clone https://github.com/rleroi/Stremio-Streaming-Catalogs-Addon.git cd Stremio-Streaming-Catalogs-Addon -
Install backend dependencies
npm install
-
Install frontend dependencies
cd vue npm install cd ..
-
Start the backend server
npm run dev
This will start the backend server with nodemon for auto-reloading on changes.
-
In a new terminal, start the frontend development server
cd vue npm run devThis will start the Vue development server (typically on http://localhost:5173).
-
Build the frontend for production
cd vue npm run build cd ..
This creates the
vue/distfolder that the backend serves.
-
Build the frontend
cd vue npm run build cd ..
-
Start the production server
npm start
The addon includes a caching system to improve performance and reduce API calls:
- Cache Location:
./cache/catalog-cache.json - Cache Duration: 6 hours (configurable)
- Environment Variables:
USE_CACHE=true/false- Enable/disable caching (default: true)FORCE_REFRESH=true/false- Force refresh and ignore cache (default: false)
Development Commands:
- Clear cache:
curl http://localhost:7700/clear-cache(development only) - Force refresh:
FORCE_REFRESH=true npm run dev
Benefits:
-
Faster startup times during development
-
Reduced API rate limiting
-
Consistent data for testing
-
Backend API: http://localhost:7700
-
Frontend (dev): http://localhost:5173 (when running
npm run devin vue folder) -
Production: http://localhost:7700 (serves the built frontend)
The project uses environment variables for configuration. You'll need to set up the following:
Create a .env file in the root directory for backend configuration:
# Optional: Mixpanel analytics key for tracking
MIXPANEL_KEY=your_mixpanel_key_here
# Optional: Port for the server (default: 7700)
PORT=7700
# Optional: Refresh interval for catalogs in milliseconds (default: 21600000 = 6 hours)
REFRESH_INTERVAL=21600000
# Optional: Set to 'production' for production mode
NODE_ENV=developmentThe project includes pre-configured environment files in the vue directory:
vue/.env.development- Development configuration (points to localhost:7700)vue/.env- Production configuration
Note: The VITE_APP_URL is used by the frontend to generate the correct addon installation URL. The included files are already configured for both development and production environments.
If the backend server crashes during startup (especially during loadNewCatalog()), this is likely due to:
- Network connectivity issues - The addon fetches catalogs from external APIs
- Rate limiting - Some APIs may have rate limits
- API changes - External APIs may have changed their endpoints
Solutions:
- Check your internet connection
- Wait a few minutes and try again (rate limiting)
- The server will automatically restart with nodemon when you make changes
- For development, you can comment out some of the catalog loading calls in
index.jsto reduce API calls
- The project includes pre-configured environment files
- If you need to modify the configuration, edit the existing
.envfiles - Restart the servers after changing environment variables
npm start- Start production servernpm run dev- Start development server with auto-reload
npm run dev- Start development server with hot reloadnpm run build- Build for productionnpm run preview- Preview production build
Stremio-Streaming-Catalogs-Addon/
├── index.js # Main Express server
├── addon.js # Stremio addon logic
├── package.json # Backend dependencies
├── vue/ # Frontend Vue.js application
│ ├── src/
│ │ ├── App.vue # Main Vue component
│ │ ├── components/ # Vue components
│ │ └── main.js # Vue app entry point
│ ├── public/ # Static assets
│ ├── dist/ # Built frontend (generated)
│ └── package.json # Frontend dependencies
└── README.md
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the ISC License.
- Discord: Join our Discord server
- Ko-fi: Support the project
