A browser extension that displays League of Legends rank badges in Twitch chat for connected users.
- Rank Badges in Chat - See League of Legends ranks displayed next to usernames in Twitch chat
- Multiple Chat Extensions Support - Works with 7TV, FrankerFaceZ, and standard Twitch chat
- Secure Authentication - Connect your Twitch and Riot accounts safely
- Real-time Updates - Badges appear as users chat, with caching for performance
- Cross-Region Support - Works with all League of Legends regions
EloWard is open-source for transparency and security. Since we handle sensitive account connections (Twitch + Riot Games), we want users to be able to:
- ✅ Audit our authentication code
- ✅ Verify we're not storing any information maliciously
- ✅ Contribute improvements and bug fixes
- ✅ Trust that the extension is secure
- Visit the EloWard Website for store links, setup instructions, and dashboard/settings
- Clone this repository
- Generate a manifest for your target browser:
- Chrome:
node scripts/build-manifest.js chrome - Firefox:
node scripts/build-manifest.js firefox
- Chrome:
- Load the extension:
- Chrome: open
chrome://extensions/, enable Developer mode, click "Load unpacked", selectEloWardApp - Firefox: open
about:debugging#/runtime/this-firefox, click "Load Temporary Add-on...", selectEloWardApp/manifest.json
- Chrome: open
- Connect Twitch Account - Authenticate with your Twitch account
- Connect Riot Account - Link your League of Legends account
- Select Region - Choose your LoL server region
- Start Using - Rank badges will appear in Twitch chat!
License: Apache 2.0 + Commons Clause
- ✅ Use the extension for free
- ✅ View and audit the source code
- ✅ Fork the repository for personal use
- ✅ Submit contributions and improvements
- ✅ Redistribute for non-commercial purposes
- ❌ Sell the extension or modified versions
- ❌ Use it in commercial products/services
- ❌ Host it as a paid service (SaaS)
- ❌ Sell hosting or consulting services based primarily on this software
This licensing ensures the extension remains free while protecting against commercial exploitation.
We welcome contributions! See CONTRIBUTING.md for guidelines.
Areas we'd love help with:
- Performance optimizations for large chats
- Support for additional games
- New badge designs and animations
- Accessibility improvements
- Localization for international users
Security is our top priority. See SECURITY.md for:
- What data we handle and how
- Security audit guidelines
- How to report vulnerabilities
- Key files to review for security
EloWardApp/
├── background.js # Background (service worker on Chrome, page on Firefox)
├── content.js # Chat integration and badge injection
├── popup.html/js # Extension popup UI
├── js/
│ ├── auth/riotAuth.js # Riot Games OAuth handling
│ ├── auth/twitchAuth.js # Twitch OAuth handling
│ └── core/persistentStorage.js# Local data management
├── css/ # Styling for popup and badges
└── manifest.json # Extension configuration
- No server-side storage - All data stays in your browser
- Secure OAuth via proxy - Authentication flows via secure Cloudflare Workers; client secrets aren’t exposed in the extension
- Minimal permissions - Only requests necessary Chrome extension permissions
- Local caching - Rank data cached locally for performance
- Bug Reports - Open an issue on GitHub
- Feature Requests - Start a discussion
- Security Issues - Email privately (see SECURITY.md)
- General Questions - Check existing issues first
- Chrome or Firefox
- Basic knowledge of browser extension APIs
- Clone the repository
- Build the manifest for your target (see above)
- Load the extension (Chrome or Firefox)
- Test in Twitch chat
- Test with different chat extensions (7TV, FFZ, standard)
- Verify OAuth flows work correctly
- Check badge positioning and styling
- Test region switching and rank updates
"EloWard" is a trademark. Forks must use a different name and branding.
Built with ❤️ for the League of Legends and Twitch communities.
Licensed under Apache 2.0 + Commons Clause. See LICENSE for details.
Note: This extension is not affiliated with Riot Games or Twitch. League of Legends is a trademark of Riot Games, Inc.