|
33 | 33 | </p> |
34 | 34 | </p> |
35 | 35 |
|
36 | | -## Table of Contents |
37 | | -- [Table of Contents](#table-of-contents) |
38 | | -- [What is StreamGo?](#what-is-streamgo) |
39 | | - - [How It Works](#how-it-works) |
40 | | - - [Features](#features) |
41 | | -- [Exclusive Features](#exclusive-features) |
42 | | -- [Downloads](#downloads) |
43 | | -- [Build From Source](#build-from-source) |
44 | | -- [Themes and Plugins](#themes-and-plugins) |
45 | | - - [Installing Themes](#installing-themes) |
46 | | - - [Installing Plugins](#installing-plugins) |
47 | | -- [What Is the Difference Between Plugins and Addons?](#what-is-the-difference-between-plugins-and-addons) |
48 | | -- [Creating Your Own Plugin](#creating-your-own-plugin) |
49 | | -- [Creating Your Own Theme](#creating-your-own-theme) |
50 | | -- [Known Issues](#known-issues) |
51 | | -- [Important Notice](#important-notice) |
52 | | - |
53 | | -## What is StreamGo? |
54 | | - |
55 | | -StreamGo is an Electron-based [Stremio](https://www.stremio.com/) desktop client with support for plugins and themes. It enhances the default Stremio experience by adding more customization options and integrations. |
56 | | - |
57 | | -### How It Works |
58 | | -- It runs the Stremio streaming server automatically in the background. |
59 | | -- It loads [the web version of Stremio](https://web.stremio.com) within an Electron environment. |
60 | | - |
61 | | -### Features |
62 | | -- **Themes** - Customize the look and feel of Stremio with different themes to match your style. |
63 | | -- **Plugins** - Extend Stremio's functionality with JavaScript plugins for more features. |
64 | | -- **Built-in Toggleable Discord Rich Presence** - Show what you're watching on Discord with an easy-to-toggle Rich Presence feature. |
65 | | - |
66 | | -## Exclusive Features |
67 | | - |
68 | | -StreamGo includes several exclusive features that enhance your Stremio experience beyond the standard version: |
69 | | - |
70 | | -### Optimized Speed & Performance |
71 | | -StreamGo addresses a major performance issue found in other Stremio clients by implementing extensive optimizations that make the UI feel truly native and smooth: |
72 | | - |
73 | | -- **GPU-Accelerated Rendering** - Platform-specific rendering backends (Metal for macOS, D3D11 for Windows, OpenGL for Linux) ensure optimal performance on your system with full GPU acceleration enabled. |
74 | | -- **144Hz+ High Refresh Rate Support** - Optimized for smooth scrolling and transitions on high refresh rate displays (144Hz, 240Hz, and beyond) with unlocked frame rates and disabled VSync for consistent, responsive performance. |
75 | | -- **Intelligent Scroll Optimizations** - Dynamic scroll state detection that automatically disables heavy effects (transitions, shadows, blur) during scrolling for buttery-smooth 200fps+ performance, then re-enables them when idle. |
76 | | -- **Hardware Video Decoding** - Full HEVC/H.265 hardware decoding support for efficient video playback with reduced CPU usage and better battery life on supported hardware. |
77 | | -- **Native-Like Smoothness** - GPU-accelerated compositing, zero-copy rendering, and optimized rasterization pipelines ensure the UI feels as responsive and fluid as a native desktop application, addressing the laggy and janky scrolling issues common in other Stremio clients. |
78 | | -- **Smart Resource Management** - Consolidated observers, RAF-batched handlers, and early DOM loading minimize overhead and ensure fast startup times and responsive interactions. |
79 | | - |
80 | | -### Core Systems |
81 | | -- **Automatic Update System** - StreamGo automatically checks for updates and can download and install the latest version directly from within the app, ensuring you always have the newest features and bug fixes. |
82 | | -- **Automatic Stremio Service Download & Installation** - The app automatically detects if Stremio Service is missing and offers to download and install it for you, with support for Windows, macOS, and Linux (including Debian, RPM, and Flatpak distributions). |
83 | | - |
84 | | -### Built-in Plugins by Bo0ii |
85 | | -- **Playback Preview** - Netflix-style trailer preview system that automatically plays trailers when you hover over movie or TV show posters, giving you a quick preview before selecting content. |
86 | | -- **Card Hover Info** - Enhanced movie and show cards that display IMDb ratings and release dates when you hover over them, providing instant information at a glance. |
87 | | -- **Enhancements Tweaks** - A comprehensive plugin that adds interface tweaks, player enhancements, and subtitle customization options all in one package. |
88 | | -- **Enhanced External Player** - Seamlessly run movies and shows in external players like VLC or MPC-HC with automatic detection and smooth integration, giving you more control over your viewing experience. |
89 | | - |
90 | | -### Other Exclusive Features |
91 | | -- **Built-in Discord Rich Presence** - Toggleable Discord Rich Presence integration that displays what you're watching on Discord, allowing friends to see your current activity (can be enabled/disabled in settings). |
92 | | -- **Extensive Bug Fixes & Optimizations** - Continuous improvements addressing playback issues, cross-platform compatibility, audio track selection, subtitle menu functionality, and many other issues that plague other Stremio clients. Regular updates ensure a stable, polished experience. |
93 | | - |
94 | | -## Downloads |
95 | | -You can download the latest version from [the releases tab](https://github.com/Bo0ii/StreamGo/releases). |
96 | | - |
97 | | -## Build From Source |
98 | | -1. Clone the repository: `git clone https://github.com/Bo0ii/StreamGo.git` |
99 | | -2. Navigate to the project directory: `cd StreamGo` |
100 | | -3. Install dependencies: `npm install` |
101 | | -4. Build the project with electron-builder: |
102 | | - - For Windows: `npm run build:win` |
103 | | - - For Linux (x64): `npm run build:linux:x64` |
104 | | - - For Linux (arm64): `npm run build:linux:arm64` |
105 | | - - For macOS (x86): `npm run build:mac:x64` |
106 | | - - For macOS (arm64): `npm run build:mac:arm64` |
107 | | - |
108 | | -## Themes and Plugins |
| 36 | +## 🚀 What is StreamGo? |
| 37 | + |
| 38 | +Enhanced Stremio desktop client with **plugins**, **themes**, and **exclusive features** that make it feel native and smooth. |
| 39 | + |
| 40 | +Runs the Stremio streaming server automatically and loads [web.stremio.com](https://web.stremio.com) in an optimized Electron environment. |
| 41 | + |
| 42 | +--- |
| 43 | + |
| 44 | +## ⚡ Exclusive Features |
| 45 | + |
| 46 | +### 🎯 Performance & Speed |
| 47 | +**Solves the laggy UI problem** found in other Stremio clients: |
| 48 | + |
| 49 | +- **GPU-Accelerated** - Metal/D3D11/OpenGL rendering |
| 50 | +- **144Hz+ Support** - Smooth scrolling on high refresh displays |
| 51 | +- **Smart Scroll Optimization** - Auto-disables heavy effects during scroll for 200fps+ performance |
| 52 | +- **Hardware Video Decoding** - HEVC/H.265 support for efficient playback |
| 53 | +- **Native-Like Smoothness** - Zero lag, zero jank, just buttery smooth |
| 54 | + |
| 55 | +### 🔧 Core Systems |
| 56 | +- **Auto Updates** - Checks and installs updates automatically |
| 57 | +- **Auto Service Setup** - Detects and installs Stremio Service if missing (Windows/macOS/Linux) |
| 58 | + |
| 59 | +### 🎨 Built-in Plugins |
| 60 | +- **Playback Preview** - Netflix-style trailer preview on hover |
| 61 | +- **Card Hover Info** - IMDb ratings & release dates on hover |
| 62 | +- **Enhancements Tweaks** - Interface tweaks, player enhancements, subtitle customization |
| 63 | +- **Enhanced External Player** - Auto-detect VLC/MPC-HC for external playback |
| 64 | + |
| 65 | +### ✨ Other Features |
| 66 | +- **Discord Rich Presence** - Show what you're watching (toggleable) |
| 67 | +- **Continuous Bug Fixes** - Regular updates fixing playback, compatibility, and other issues |
| 68 | + |
| 69 | +--- |
| 70 | + |
| 71 | +## 📥 Downloads |
| 72 | + |
| 73 | +Get the latest release: **[Download Here](https://github.com/Bo0ii/StreamGo/releases)** |
| 74 | + |
| 75 | +--- |
| 76 | + |
| 77 | +## 🔨 Build From Source |
| 78 | + |
| 79 | +```bash |
| 80 | +git clone https://github.com/Bo0ii/StreamGo.git |
| 81 | +cd StreamGo |
| 82 | +npm install |
| 83 | +npm run build:win # Windows |
| 84 | +npm run build:linux:x64 # Linux x64 |
| 85 | +npm run build:linux:arm64 # Linux ARM64 |
| 86 | +npm run build:mac:x64 # macOS x64 |
| 87 | +npm run build:mac:arm64 # macOS ARM64 |
| 88 | +``` |
| 89 | + |
| 90 | +--- |
| 91 | + |
| 92 | +## 🎨 Themes & Plugins |
109 | 93 |
|
110 | 94 | ### Installing Themes |
111 | | -1. Go to the settings and scroll down. |
112 | | -2. Click on the "OPEN THEMES FOLDER" button. |
113 | | -3. Move your theme into the opened folder. |
114 | | -4. Restart StreamGo. |
115 | | -5. You should see your theme in the settings with an option to apply it. |
| 95 | +1. Settings → **OPEN THEMES FOLDER** |
| 96 | +2. Drop your `.theme.css` file |
| 97 | +3. Restart → Apply theme in settings |
116 | 98 |
|
117 | 99 | ### Installing Plugins |
118 | | -1. Go to the settings and scroll down. |
119 | | -2. Click on the "OPEN PLUGINS FOLDER" button. |
120 | | -3. Move your plugin into the opened folder. |
121 | | -4. Restart StreamGo or reload using <kbd>Ctrl</kbd> + <kbd>R</kbd> |
122 | | -5. You should see your plugin in the settings with an option to enable it. |
| 100 | +1. Settings → **OPEN PLUGINS FOLDER** |
| 101 | +2. Drop your `.plugin.js` file |
| 102 | +3. Restart or <kbd>Ctrl</kbd>+<kbd>R</kbd> → Enable in settings |
123 | 103 |
|
124 | | -## What Is the Difference Between Plugins and Addons? |
125 | | -- **Addons** are available on the normal version of Stremio. They add catalogs and streams for Stremio. |
126 | | -- **Plugins** add more functionality to Stremio, like new features. |
| 104 | +**Difference:** Addons = catalogs/streams | Plugins = new features |
127 | 105 |
|
128 | | -## Creating Your Own Plugin |
129 | | -Plugins are simply JavaScript files running on the client side. Create a JavaScript file with a `.plugin.js` extension and write your code as you would normally for the client side. |
| 106 | +--- |
130 | 107 |
|
131 | | -You are required to provide metadata for the plugin. Here is an example: |
| 108 | +## 👨💻 Creating Plugins & Themes |
132 | 109 |
|
| 110 | +### Plugin Template |
133 | 111 | ```js |
134 | 112 | /** |
135 | | - * @name YourPluginNameHere |
136 | | - * @description What does your plugin do? |
137 | | - * @updateUrl your plugin's raw file URL for update checking. (Set this to 'none' if you don't want to provide one) |
138 | | - * @version VersionHere (e.g., 1.0.0) |
139 | | - * @author AuthorName |
| 113 | + * @name YourPluginName |
| 114 | + * @description What it does |
| 115 | + * @updateUrl https://raw.githubusercontent.com/.../your-plugin.plugin.js |
| 116 | + * @version 1.0.0 |
| 117 | + * @author YourName |
140 | 118 | */ |
141 | 119 | ``` |
142 | 120 |
|
143 | | -**To submit your plugin:** Submit it to the [Community Registry](https://github.com/REVENGE977/stremio-enhanced-registry) by following the instructions there. Your plugin will appear in the "Browse Plugins/Themes" section once approved. |
| 121 | +### Theme Template |
| 122 | +Create a `.theme.css` file with CSS modifications. Use devtools (<kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>I</kbd>) to find class names. |
| 123 | + |
| 124 | +**Submit to:** [Community Registry](https://github.com/REVENGE977/stremio-enhanced-registry) |
144 | 125 |
|
145 | | -## Creating Your Own Theme |
146 | | -Create a file with a name ending in `.theme.css` and write your CSS modifications there. You can use the devtools (<kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>I</kbd>) to find an element's class name, etc. |
| 126 | +--- |
147 | 127 |
|
148 | | -*You are also required to provide metadata in your theme, in the same way as plugins.* |
| 128 | +## ⚠️ Known Issues |
149 | 129 |
|
150 | | -**To submit your theme:** Submit it to the [Community Registry](https://github.com/REVENGE977/stremio-enhanced-registry) by following the instructions there. Your theme will appear in the "Browse Plugins/Themes" section once approved. |
| 130 | +- Some streams with embedded subs may not show subtitles (Stremio Web limitation) |
| 131 | +- macOS requires bypassing Gatekeeper (app not signed) |
151 | 132 |
|
152 | | -**Note:** Only `.plugin.js` and `.theme.css` files will be accepted. |
| 133 | +--- |
153 | 134 |
|
154 | | -## Known Issues |
155 | | -- Subtitles are not available for **some** streams that have embedded subs. This seems to be an issue with either [Stremio Web](https://web.stremio.com/) or Stremio Service, as it also occurs in the browser. Subtitles do work fine for **most** streams though. |
156 | | -- On macOS, you'll need to bypass Gatekeeper to run the app. This is because the app is not signed. |
| 135 | +## 📝 Notice |
157 | 136 |
|
158 | | -## Important Notice |
159 | | -**This project is not affiliated in any way with Stremio.** |
| 137 | +**This project is NOT affiliated with Stremio.** |
160 | 138 |
|
161 | | -This project is licensed under the MIT License. |
| 139 | +Licensed under MIT License. |
162 | 140 |
|
163 | 141 | <p align="center">Developed by <a href="https://github.com/Bo0ii">Bo0ii</a> | Forked from <a href="https://github.com/REVENGE977">REVENGE977</a> | Licensed under MIT</p> |
164 | 142 | <p align="center">Community Registry by <a href="https://github.com/REVENGE977">REVENGE977</a></p> |
0 commit comments