Enhance your Twitch experience with a suite of powerful, customizable tweaks and utilities.
TwitchTweaks is a browser extension for Chrome/Edge (Manifest V3) that enhances your Twitch experience with media previews, file uploads, osu! map details, and more — all configurable through a sleek settings page.
Note: This project is under active development. Features are modular and user-controlled.
- Drag & Drop or Paste files directly onto the Twitch page.
- Litterbox — uploads almost any file type, no API key needed, files stored for 24 hours.
- Eblo.id — uploads photos, MP4, MP3, ZIP with no expiration. Requires an API key (encrypted with AES-256-GCM).
- Image/Video links in chat are automatically replaced with embedded previews.
- Works in chat (inline) or panel (hover popup) mode.
- Panels are draggable, resizable, and pinnable.
- Links to text files (
.txt,.js,.json,.md,.log, etc.) show the content inline or in a panel. - Includes "Copy" and "Open" buttons.
- Hover over any osu! beatmap link to see:
- Cover art with title/artist/mapper overlay
- Difficulty, star rating (color-coded), PP, and stats (AR, CS, OD, HP, BPM)
- Download button
- Supports 3 APIs:
api.nerinyan.moe,api.rai.moe,osu.direct - Available in chat or panel mode
- Shows photos, videos, audio, and album navigation from Eblo.id posts.
- Displays title, description, author, and date.
- Shows an embedded player or thumbnail for YouTube links.
- Configurable: player or thumbnail-only mode.
- Automatically checks for new versions (no toggle needed).
- Download button appears when an update is available.
- Advanced chat filtering (keywords, users, patterns)
- Dark/Light theme toggle for all extension UI
Important: This is a browser extension. Install it manually from source.
- Clone the Repository:
git clone https://github.com/ikuza47/TwitchTweaks.git cd TwitchTweaks - Open Your Browser's Extension Page:
- Chrome/Edge:
chrome://extensionsoredge://extensions
- Chrome/Edge:
- Enable Developer Mode (toggle in top right).
- Load Unpacked — select the
src/folder from the cloned repo. - Enable the extension and refresh any open Twitch tabs.
Built with modularity in mind. Each feature is a separate content script.
Structure:
src/
├── manifest.json # MV3 manifest
├── background.js # Service worker (upload, proxy fetch, crypto)
├── m/
│ ├── modules.css # Shared styles for all panels/chat elements
│ ├── upload/upload.js # File upload UI
│ ├── ext/update.js # Update checker
│ ├── chat/showfiles/ # Inline chat previews (images, text)
│ └── panel/ # Hover panels (osu, eblo, youtube, images, text)
└── s/ # Settings page
├── options.html
├── options.css
└── options.js
APIs Used:
api.nerinyan.moe/api.rai.moe/osu.direct— osu! beatmap datalitterbox.catbox.moe— file uploadseblo.id— file uploads and page parsing
Technologies: Pure JavaScript, HTML, CSS. No build tools required.
Contributions are welcome! Whether it's a bug report, feature request, or pull request.
- Fork the repository.
- Create a branch for your feature or fix.
- Submit a Pull Request with a clear description.
This project is licensed under the MIT License.
- Thanks to
litterbox.catbox.moe,eblo.id,api.nerinyan.moe,api.rai.moe, andosu.directfor providing free APIs. - A huge thank you to the Twitch community for the inspiration and feedback!
Made with 💜 by ikuza47
