A Chrome extension that allows League of Legends esports fans to watch their favorite co-streamer on lolesports.com while earning official rewards and drops.
- Configure Preferred Co-Streamer: Set your favorite Twitch streamer through an easy-to-use popup interface
- Automatic Iframe Override: Replaces Twitch video and chat embeds on lolesports.com with your configured co-streamer's content without losing native styling
- Auto-Redirect (Optional): Automatically redirect from your co-streamer's Twitch channel to lolesports.com to maximize rewards
- Session Reminders: Gentle “Visit lolesports” reminder with a one-click “Don’t show again” toggle, plus a master switch to pause the entire extension
- Bilingual UI (EN/ES): Popup and notifications auto-localize to English or Spanish based on the browser language
- Beautiful and clean UI: Clean interface with purple branding, success/error feedback, and contextual helper text
- Clone this repository
- Open Chrome and navigate to
chrome://extensions - Enable "Developer mode" (toggle in top-right corner)
- Click "Load unpacked"
- Select the
/extensiondirectory from this repository - The extension icon should appear in your Chrome toolbar
- Click the extension icon in your Chrome toolbar
- Enter your preferred Twitch streamer's username (or paste their Twitch URL)
- Optionally enable "Auto-redirect to lolesports" toggle
- Click "Save Settings"
- Visit lolesports.com/live during an active match
- The Twitch video and chat will automatically show your configured co-streamer
- You'll see a notification with a "Revert to Official Stream" button if you want to switch back
When enabled:
- Visiting your co-streamer's Twitch channel automatically redirects you to lolesports.com
- This ensures you earn rewards and drops while watching your favorite streamer
When disabled:
- A reminder notification appears once per session
- Includes a "Don't show again" option for permanent dismissal
- Manifest V3: Latest Chrome extension standard
- ES2020+ JavaScript: Modern, modular code
- No External Dependencies: Pure vanilla JavaScript
- Chrome Storage Sync: Cross-device preference synchronization
extension/
├── manifest.json # Extension configuration
├── popup/
│ ├── popup.html # Configuration UI
│ ├── popup.css # Twitch-inspired styling
│ └── popup.js # Popup logic
├── content/
│ ├── lolesports.js # Iframe override script
│ └── twitch.js # Auto-redirect script
├── lib/
│ ├── storage.js # Storage abstraction
│ ├── validator.js # Username validation
│ ├── notification.js # Notification UI library
│ └── i18n.js # Lightweight localization helper
└── icons/
└── ... # Extension icons
This extension only requests minimal permissions:
- storage: Save your preferred streamer username and settings
- tabs: Enable auto-redirect functionality
- host_permissions:
twitch.tv/*: Detect when you're viewing your co-streamer's channellolesports.com/*: Replace Twitch iframes with your co-streamer's content
- No Data Collection: This extension does not collect, transmit, or store any personal data beyond your local browser
- No External Servers: All functionality runs locally in your browser
- Open Source: Review the code yourself in this repository
See tests/manual/test-procedures.md for the complete test suite (27 test scenarios).
See specs/001-costream-override/ for detailed feature specifications, design guidelines, and technical documentation.
- Chrome 88+ (Manifest V3 support)
- Chromium-based browsers (Edge, Brave, etc.) with Manifest V3 support
MIT License - See LICENSE file for details
This is an unofficial fan project and is not affiliated with, endorsed by, or connected to Riot Games, Twitch, or lolesports.com.
Contributions are welcome! Please read the constitution for development principles and guidelines.
For issues, questions, or feature requests, please open an issue on GitHub.