The ultimate Rumble enhancement suite. 126 feature modules across 13 categories β ad blocking, theater mode, video downloads with CDN deep-scan probing, multi-theme engine, playback controls, chat enhancements, chapters, SponsorBlock, clips, live DVR, transcripts, auto-hide chrome, 50+ granular hide-X toggles for every Rumble row/button/player control, and full-round-trip backup/restore. Chrome MV3 + Firefox MV2 + userscript.
- Ad Nuker β CSS + DOM removal of ads, pause overlays, premium nags, IMA SDK, LRT
- Feed Cleanup β Remove premium promos from feeds
- Hide Reposts β Hide reposted videos from feeds
- Hide Premium β Hide premium/PPV videos via CSS
:has() - Shorts Filter β Hide Shorts cards from all feeds
- SponsorBlock β Per-video local segments with auto-skip (sponsor / intro / outro / selfpromo / interaction), progress-bar markers, JSON import + export
- Theater Split β Fullscreen video with scroll-to-reveal side panel (chat/comments/download)
- Auto Theater β Auto-enter native theater mode on load
- Full-Width Player β Maximize player width; on live streams, side-by-side chat layout with responsive stacking β€ 1100 px
- Adaptive Live Layout β Expand main content whenever chat is visible on live streams
- Speed Control β Persistent playback speed (0.25xβ3x) with live stream detection
- Scroll Volume β Mouse wheel volume + middle-click mute + overlay
- Auto Max Quality β Auto-select highest resolution on load
- Autoplay Block β Prevent auto-play of next video
- Loop Control β Full video loop + A-B segment loop
- Mini Player β Floating draggable video when scrolling away
- Keyboard Nav β YouTube-style hotkeys (J/K/L, F, M, 0-9, arrows)
- Video Stats β Resolution, codec, buffer, frames overlay
- Chapters β Parse description timestamps, render tick marks on the seek bar + clickable chapter list
- Autoplay Queue β FAB-pinned queue of Rumble URLs, auto-advances when current video ends
- Dark Theme β Multi-theme engine with 4 built-in themes and player bar coloring
- Catppuccin Mocha (default) β Purple/blue accents
- YouTubify β YouTube dark-mode look with red accent and progress bar
- Midnight AMOLED β Pure black with indigo accents
- Rumble Green β Dark with Rumble's native green identity
- Site Theme Sync β Mirror Rumble's native system / dark / light setting
- Wide Layout β Full-width responsive grid on home and subscriptions
- Auto-Hide Header β Fade the header out, reveal on top-edge cursor
- Auto-Hide Nav Sidebar β Hide nav, reveal on left-edge hover (30-px trigger strip)
- Logo to Feed β Rumble logo navigates to Subscriptions feed
- Auto Expand β Auto-expand descriptions and comments
- Auto Load Comments β Scroll-triggered Show more comments clicks
- Notif Enhance β Themed notification dropdown + bell pulse
- Full Titles β Remove title truncation on video cards
- Title Font β Unbold + normalize title typography
- Video Download β Download as direct MP4 or HLS-to-MP4/TS via Web Worker transmuxing. Includes an automatic Deep Scan (RUD) that probes
hugh.cdn.rumble.cloudfor every quality variant the embed API didn't surface (1080p/720p/480p/360p/240p Γ mp4/tar Γ live/vod), with live progress bar, per-row copy-link buttons, and support for TAR live-replay archives (with inline extract with 7-Zip, drop the.m3u8into VLC hint). - Low-Bitrate MP4 (for listening) β Download the smallest video variant for background audio (saved as
.mp4β honest naming; Rumble doesn't expose a pure audio track). - Video Clips β Mark In/Out on the player and export a clip as MP4 (segment slicing + transmux)
- Live DVR β Save the last 30 s / 1 m / 5 m / 10 m of a live stream as MP4
- Batch Download β Multi-select thumbnails across feeds to bulk-download direct MP4s
- Screenshot β Capture current video frame as PNG
- Share@Time β Copy video URL at current playback timestamp
- Subtitle Sidecar β Load local SRT/VTT and overlay captions on the player
- Transcripts β Clickable, searchable transcript panel synced to the player
- Watch Progress β Save/resume position + red progress bars on thumbnails
- Watch History β Local browsable watch history with search
- Search History β Recent searches dropdown on search input
- Bookmarks β Save videos locally for later (200 max)
- Quick Save β Watch Later button on thumbnail hover
- Auto Like β One-shot auto-click of the like button on watch pages
- Comment Blocking β Per-commenter block list with inline block button on every comment (parallel to the existing chat user-block)
- Chat Enhance β @mention highlights (TreeWalker-safe β no
innerHTMLround-trip), message filter bar - Chat Scroll β Smart auto-scroll with pause on scroll-up
- Unique Chatters β Live counter of unique chatters + total messages above chat
- User Block β Per-user chat hide with inline block button on every message
- Spam Dedup β Hide recently-repeated identical messages (30-message rolling window)
- Chat Export β TXT (click) or JSON (shift-click) export including rant amounts
- Popout Chat β Open chat in a separate resizable window (uses Rumble's native popout where available)
- Timestamps β Clickable timestamps in comments and description
- Comment Nav β Navigate, expand/collapse, OP-only filter
- Comment Sort β Reorder comments: Top / New / Oldest / Controversial
- Rant Highlight β Glow rants by tier + running $ total
- Rant Persist β Keep rants visible past their expiry + per-video cache + JSON export
- Channel Blocker β Block/hide channels from all feeds
- Keyword Filter β Hide videos whose titles contain blocked keywords
- Related Filter β Search and filter related sidebar videos
- Exact Counts β Show full numbers instead of 1.2K/3.5M abbreviations
Driven by the RX_CSS_TOGGLES registry β each toggle is a proper feature module with its own setting key, hot-reload support, and options-page card:
| Group | Count | Sample toggles |
|---|---|---|
| Main Page Layout | 25 | widenSearchBar, hideUploadIcon, hideHeaderAd, hideFeaturedBanner, hideForYouRow, hideGamingRow, hideFinanceRow, hideNewsRow, hideSportsRow, hideFooter, β¦ |
| Video Page Layout | 5 | hideRelatedOnLive, hideRelatedSidebar, widenContent, hideVideoDescription, hidePausedVideoAds |
| Player Controls | 9 | hideRewindButton, hideCCButton, hideAutoplayButton, hideTheaterButton, hidePipButton, hideFullscreenButton, hidePlayerRumbleLogo, hidePlayerGradient, β¦ |
| Video Buttons | 8 | hideLikeDislikeButton, hideShareButton, hideRepostButton, hideEmbedButton, hideSaveButton, hideCommentButton, hideReportButton, hidePremiumJoinButtons |
| Comments | 2 | moveReplyButton, hideCommentReportLink |
| Chat | 1 | cleanLiveChat |
Click the extension icon β gear button to open the dedicated options page. Modelled on Astra-Deck's settings workspace:
- App bar with version + live storage status
- Workspace hero + Open Settings Editor CTA
- 5-card stats overview (Enabled features, Storage size, Channels, Keywords, Chatters)
- Full-parity Export / Import β backups now include both
rx_settingsAND per-origin localStorage (watch progress, watch/search history, bookmarks, volume memory, rant archives). Export format:exportVersion: 2; v1 imports still work. Imports are allowlisted by key so a crafted file cannot smuggle arbitrary localStorage keys onto rumble.com. - Reset All Data broadcasts
clearLocalDatato every open Rumble tab and reports the honest "Cleared N per-site keys across M tabs" count - Settings editor modal with dirty-draft workflow: search, sidebar group nav (9 groups), chips for unsaved / needs-attention, Restore Defaults / Discard / Save toolbar, per-field Reset buttons
- Per-control editors infer from value type: toggle / number / text / textarea / list / JSON / enum-dropdown (theme & siteTheme)
- Focus trap,
beforeunloadguard on unsaved draft, live re-sync viachrome.storage.onChanged
Press Ctrl+Shift+X on any Rumble page (or shift-click the popup gear) to open the original in-page settings modal with:
- 7 categorized sidebar tabs with color-coded icons
- Theme picker with live preview dots
- Playback speed slider
- Homepage category visibility toggles
- Blocked channels / keywords / chatters chip lists
- Hot-reload: most features re-init without a page reload
Click the extension icon for quick toggles, grouped by category with enabled-count badges:
- 7 collapsible category groups
- Debounced writes (120 ms) with
pagehideflush β rapid toggles coalesce into one write - Settings gear β Opens the options page (shift-click for in-page modal)
- GitHub link β Direct link to this repository
- Update checker β Checks GitHub Releases for new versions
- Grab
RumbleX-chrome.zipfrom Releases - Extract the zip
- Visit
chrome://extensionsand enable Developer mode - Click Load unpacked and select the extracted folder
Or drag RumbleX-v1.9.3.crx directly onto chrome://extensions (Developer mode on).
- Download
RumbleX-firefox.zipfrom Releases - Go to
about:debugging#/runtime/this-firefox - Click Load Temporary Add-on and select
manifest.jsoninside the extracted folder
Install RumbleX.user.js directly β note: the userscript version lags behind the extension on download features (no Web Worker / mux.js bundle).
- Vanilla JavaScript β no frameworks, no build step
- Chrome Extension Manifest V3 + Firefox Manifest V2 (parallel manifests)
chrome.storage.localfor settings persistencelocalStorage(per-origin) for watch progress, volume memory, history, rant archives- mux.js (bundled) for HLS segment transmuxing in a Web Worker
AbortController+ generation-counter guards for cancellable async work- Anti-FOUC: CSS injected at
document_start - GitHub Releases API for update checking
- Download host allowlist (
rumble.com,1a-1791.com,rumble.cloud) enforced in the background worker
- All download URLs are validated against a host allowlist before hitting
chrome.downloads. LiveChatEnhanceuses aTreeWalkeronTextnodes only β Rumble's chat markup is never re-parsed throughinnerHTML.- Download UI is built via DOM APIs; no network-influenced text (error messages, response bodies, CDN probe results) ever reaches the HTML parser.
- Backup imports are allowlisted:
setLocalDatarejects any key outside theRX_LOCAL_STORAGE_KEYSlist +rx_rants_prefix, so a crafted file cannot write arbitrary keys to rumble.com's origin.
cd extension
./build.sh # produces RumbleX-chrome.zip and RumbleX-firefox.zip in the parent dirRequires zip (Git Bash on Windows: use PowerShell Compress-Archive fallback). See CHANGELOG.md for per-version details.
MIT