Skip to content

SysAdminDoc/Astra-Deck

Repository files navigation

Astra Deck

Astra Deck

Version License Manifest V3 YouTube

Premium YouTube enhancement extension for Chrome and Firefox with 150+ features — theater split, DeArrow, downloads, transcript viewer, video/channel hiding, and deep playback controls. Zero configuration required.

Download Latest Release


Installation

Chrome / Edge / Brave

Option A — CRX sideload:

  1. Download astra-deck-chrome-v*.crx from the latest release
  2. Open chrome://extensions/, enable Developer mode
  3. Drag and drop the .crx file onto the page

Option B — Unpacked:

  1. Download or clone the extension/ folder
  2. Open chrome://extensions/, enable Developer mode
  3. Click Load unpacked and select the extension/ folder

Firefox

  1. Download astra-deck-firefox-v*.xpi from the latest release
  2. Open about:addons, click the gear icon, select Install Add-on From File
  3. Select the .xpi file

Requires Firefox 128+.

Userscript (Tampermonkey / Violentmonkey)

A userscript build is also available. Install Tampermonkey or Violentmonkey, then click here to install.

Some features (SharedAudio, SponsorBlock per-category, Cobalt downloads) are only available in the userscript. The extension uses a MediaDL-only download path.


Features

Core

Feature Default
Theater Split — fullscreen video, scroll to reveal comments side-by-side On
Video Hider — hide videos/channels from feeds with X buttons, keyword filter, regex, duration filter On
Video Context Menu — right-click player for downloads, VLC/MPV streaming, transcript, screenshot On
Settings Panel — searchable, categorized, instant-apply, export/import/reset On
Return YouTube Dislike — show dislike counts via RYD API Off
DeArrow — replace clickbait titles/thumbnails via crowdsourced database Off

Interface

Feature Default
Logo Quick Links — hover dropdown with History, Watch Later, Playlists, Liked, Subs On
Hide Sidebar / Hide Shorts / Hide Related / Hide Description On
Subscriptions Grid / Homepage Grid Align / Videos Per Row On
Styled Filter Chips / Compact Layout / Thin Scrollbar On
Square Search Bar / Square Avatars On
Compact Unfixed Header / Force Dark Everywhere Off

Watch Page

Feature Default
Watch Page Restyle — glassmorphism accents, refined metadata On
Refined Comments — card layout with clean thread lines On
Expand Video Width / Disable Ambient Mode On
Hide Merch, AI Summary, Hashtags, Pinned Comments, Info Panels On
Clean Share URLs — strip tracking params On
Auto-Expand Description / Sticky Chat / Scroll to Player Off

Video Player

Feature Default
Auto Quality (Max/4K/1440p/1080p/720p/480p) / Enhanced Bitrate On
Auto-Resume Position (configurable threshold) On
Custom Progress Bar Color (color picker) Off
Remaining Time Display / Time in Tab Title Off
A-B Loop / Fine Speed Control / Persistent Speed / Per-Channel Speed Off
Codec Selector (H.264/VP9/AV1) / Force Standard FPS Off
Video Screenshot / Video Zoom (Ctrl+scroll, up to 5x) Off
Cinema Ambient Glow / Nyan Cat Progress Bar Off
Speed Indicator Overlay / Custom Speed Buttons (0.5x-3x) Off
Pop-Out Player (Document PiP) / PiP Button / Fullscreen on Double-Click Off

Content Filtering

Feature Default
Remove Shorts / Redirect Shorts to Regular Player On
Channels open on Videos Tab On
Hide Collaborations / News / Playlists / Playables / Members Only On
Hide Watched Videos (dim or hide) / Grayscale Thumbnails Off
Anti-Translate / Not Interested Button / Open in New Tab Off
Disable Infinite Scroll / Disable SPA Navigation Off

Downloads

Feature Default
Local Download Button (via MediaDL / yt-dlp) On
MP3 Download Button On
Auto-Download on Visit Off
Download Thumbnail (maxres) Off
Download Quality selector (best/2160/1440/1080/720/480) Best

Downloads use the built-in MediaDL server which bundles yt-dlp + ffmpeg. Install via the one-click installer in the settings panel — no manual setup required.

Comments

Feature Default
Comment Search — filter bar above comments Off
Comment Navigator — J/K keyboard navigation Off
Sort Comments Newest First Off
Creator Comment Highlight Off
Handle Revealer — show original channel name next to @handle Off

Live Chat

Feature Default
Premium Live Chat styling On
Configurable element hiding (header, emoji, super chats, polls, etc.) On
Chat Keyword Filter Off
Adaptive Live Layout Off

Automation & Behavior

Feature Default
Auto-Dismiss "Still Watching?" Off
Auto Theater Mode / Auto Subtitles / Auto-Like Subscribed Off
Auto-Pause on Tab Switch / Pause Other Tabs Off
Auto-Open Chapters / Auto-Open Transcript Off
Auto-Close Popups (cookie/survey/premium) Off
Prevent Autoplay / Disable Autoplay Next Off
Redirect Home to Subscriptions Off
Remember Volume / Persistent Speed Off

Power User

Feature Default
Resume Playback (500-entry cap, 15s save interval) Off
Mini Player Bar (floating progress/play/pause on scroll-past) Off
Playback Stats Overlay (codec, resolution, dropped frames, bandwidth) Off
Watch Time Tracker (90-day retention) Off
Timestamp Bookmarks (inline notes, persistent storage) Off
Transcript Viewer (sidebar with clickable timestamps) Off
Blue Light Filter (adjustable 10-80%) Off
Focused Mode (hide everything except video + comments) Off
Custom CSS Injection Off
CPU Tamer (background tab timer throttling) Off
Settings Profiles / Statistics Dashboard / Debug Mode Off
Fit Player to Window Off

Configurable Element Managers

Toggle individual elements on/off through the settings panel:

  • Action Buttons — Like, Dislike, Share, Ask/AI, Clip, Thanks, Save, Sponsor, More Actions
  • Player Controls — Next, Autoplay, Subtitles, Captions, Miniplayer, PiP, Theater, Fullscreen
  • Watch Elements — Join Button, Ask Button, Save Button, Ask AI Section, Podcast Section, Transcript Section
  • Chat Elements — Header, Menu, Popout, Reactions, Timestamps, Polls, Ticker, Leaderboard, Super Chats, Emoji, Bots

Settings Panel

Click the gear icon in the YouTube masthead or player controls, or press Ctrl+Alt+Y / Ctrl+Shift+Y.

  • Searchable sidebar with categorized feature groups
  • Toggle switches with instant apply
  • Sub-feature controls for granular element hiding
  • Textarea editors for keyword filters, quick links, custom CSS
  • Export / Import / Reset
  • Conflict detection (auto-disables conflicting features with toast notification)

The extension also has a standalone Options Page (chrome://extensions > Astra Deck > Details > Extension options) with storage stats, backup/restore, and a full settings editor modal.


Architecture

document_start
  early.css          Anti-FOUC CSS (scoped to feature body classes)

document_idle
  ytkit.js           ISOLATED world — all features, DOM manipulation, settings UI
  background.js      Service worker — fetch proxy, downloads, cookie bridge, panel toggle
  • Single ISOLATED world script — no MAIN world scripts in the extension build
  • SPA-aware — hooks yt-navigate-finish, yt-page-data-updated, popstate, and video-id attribute changes
  • Tiered feature init — critical features load synchronously, normal features in requestAnimationFrame, lazy features in requestIdleCallback
  • Crash recovery — features that crash 3 times auto-disable with console warning
  • Conflict map — 6 conflict pairs enforced at both toggle and init time
  • Trusted Types compliant — all innerHTML via TrustedHTML policy wrapper
  • Safe mode — append ?ytkit=safe to any YouTube URL, or ytkit.unsafe() in console to exit

Security

  • EXT_FETCH proxy uses domain allowlist — blocks SSRF to private networks
  • Request/response headers filtered (strips Cookie, Authorization, Set-Cookie, etc.)
  • Response body capped at 10 MB, fetch timeout capped at 60s
  • HTTP methods validated, download URLs protocol-checked (HTTP/S only)
  • Explicit CSP: script-src 'self'; object-src 'self'

Compatibility

Browser Method Status
Chrome / Edge / Brave Extension (MV3) Fully supported
Firefox 128+ Extension (MV3) Fully supported
Chrome / Firefox Tampermonkey / Violentmonkey Supported (userscript)
Safari Userscripts app Limited

Not supported: Mobile browsers, YouTube Music, YouTube Studio, embedded players.


Building

npm install
node build-extension.js                    # Build at current version
node build-extension.js --bump patch       # Bump and build
node build-extension.js --bump minor --with-userscript  # Include userscript artifact

Outputs in build/:

  • astra-deck-chrome-v*.zip + .crx (CRX3 signed with ytkit.pem)
  • astra-deck-firefox-v*.zip + .xpi
  • ytkit-v*.user.js (with --with-userscript)

Related

Project Description
YoutubeAdblock Standalone aggressive ad blocker with deeper proxy hooks
Chapterizer Offline AI chapter generation via NLP (formerly YTKit's ChapterForge)

License

MIT — Matthew Parker

About

Astra Deck — Premium YouTube enhancement extension for Chrome & Firefox. 150+ features: theater split, DeArrow, downloads, transcript viewer, video/channel hiding, and deep playback controls.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages