Skip to content

ikuza47/TwitchTweaks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TwitchTweaks

TwitchTweaks Logo

Enhance your Twitch experience with a suite of powerful, customizable tweaks and utilities.

GitHub Release GitHub Stars License


Overview

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.


Current Features

File Uploader

  • 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).

Media Previews

  • 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.

Text File Previews

  • Links to text files (.txt, .js, .json, .md, .log, etc.) show the content inline or in a panel.
  • Includes "Copy" and "Open" buttons.

Osu! Map Panel

  • 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

Eblo.id Previews

  • Shows photos, videos, audio, and album navigation from Eblo.id posts.
  • Displays title, description, author, and date.

YouTube Previews

  • Shows an embedded player or thumbnail for YouTube links.
  • Configurable: player or thumbnail-only mode.

Update Checker

  • Automatically checks for new versions (no toggle needed).
  • Download button appears when an update is available.

Planned Features

  • Advanced chat filtering (keywords, users, patterns)
  • Dark/Light theme toggle for all extension UI

Installation

Important: This is a browser extension. Install it manually from source.

  1. Clone the Repository:
    git clone https://github.com/ikuza47/TwitchTweaks.git
    cd TwitchTweaks
  2. Open Your Browser's Extension Page:
    • Chrome/Edge: chrome://extensions or edge://extensions
  3. Enable Developer Mode (toggle in top right).
  4. Load Unpacked — select the src/ folder from the cloned repo.
  5. Enable the extension and refresh any open Twitch tabs.

Development

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 data
  • litterbox.catbox.moe — file uploads
  • eblo.id — file uploads and page parsing

Technologies: Pure JavaScript, HTML, CSS. No build tools required.


Contributing

Contributions are welcome! Whether it's a bug report, feature request, or pull request.

  1. Fork the repository.
  2. Create a branch for your feature or fix.
  3. Submit a Pull Request with a clear description.

License

This project is licensed under the MIT License.


Acknowledgements

  • Thanks to litterbox.catbox.moe, eblo.id, api.nerinyan.moe, api.rai.moe, and osu.direct for providing free APIs.
  • A huge thank you to the Twitch community for the inspiration and feedback!

Made with 💜 by ikuza47