Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

StreamGrabber 🚀

A high-performance, lightweight userscript designed for seamless media extraction. Detect and download HLS streams (.m3u8), video blobs, and direct video files with a minimal, premium UI.


📥 Installation

Important

Recommended Userscript Manager: Violentmonkey

While StreamGrabber works on most managers, Violentmonkey provides the best compatibility and performance for modern userscripts.

  1. Install a manager: Violentmonkey (Recommended)
  2. Add Script: Click here to install.
  3. Confirm: Accept the installation in your browser extension.

✨ Key Features

  • Strategy-Based Network Layer: Decoupled fetching logic into dedicated strategies (Blob, Native, GM) for maximum compatibility and reduced complexity.
  • Standardized Abort Handling: Fully transitioned to AbortController and AbortSignal for industry-standard network request management.
  • Unified Terminal UI: A single, clean floating action button (FAB) that manages all detected media across nested iframes.
  • Adaptive Quality: Automatically picks up master playlists and offers resolution selection (e.g., 1080p, 720p).
  • Resilient Downloads: Built-in pause/resume functionality with automatic retry mechanisms for unstable connections.
  • Privacy First: Minimal permissions, no external tracking, and works entirely within your browser context.

� Screenshots

Progress Card Download Modal

Media Detection


�🛠 Usage

  1. Browse: Open any page with video content.
  2. Detect: The floating download button will appear once media is identified.
  3. Choose: Click the button to view resolutions or download directly (use Alt+Click for instant download if only one source is found).
  4. Monitor: Track progress in real-time with the compact progress cards.

⚙️ Advanced Controls

Access these via your userscript manager menu:

  • Show Download Panel: Force the UI to appear.
  • Clear Cache: Reset detected media for the current session.
  • Toggle Filtering: Exclude small segments or ads (< 1MB).

📜 Changelog

v2.2.0

  • Inline Quality Selection: Master Playlists now display quality chips (e.g., 1080p, 720p) directly in the list, enabling one-click downloads without opening a sub-menu.
  • Cross-Frame Variant Support: Fixed and enhanced logic for downloading specific qualities from streams embedded in IFrames.
  • UI Refinement: Improved accessibility with larger click targets for quality chips and removed redundant URL text for a cleaner look.

v2.1.1

  • Strategy Pattern Implementation: Refactored getBin to use the Strategy Pattern, improving code readability and maintainability.
  • AbortSignal Standardization: Eliminated custom AbortablePromise in favor of standard AbortSignal support across the stack.
  • Vite 7 Upgrade: Migrated build system to the latest Vite 7 for faster build times and improved source mapping.
  • Import Fixes: Resolved implicit directory resolution issues for better developer experience.

v2.1.0

  • Modular Download Engine: Refactored the core download logic to eliminate "God Functions", ensuring better stability and maintainability.
  • Enhanced Resilience: Added smart 403 fallback mechanisms for strict HLS segments and verified robust pause/resume functionality.
  • UI Polish: Updated FAB aesthetics with a modern squircle design and improved progress bar visualization.
  • Namespace Update: Migrated to streamgrabber-lite namespace.

v2.0.0

  • Shadow DOM Isolation: Re-engineered the entire UI layer to use Shadow DOM. This encapsulates styles and DOM nodes, preventing "hydration failed" errors on sites built with React, Next.js, and other modern frameworks.
  • Hydration-Safe Architecture: The UI host is now detached from the main document body's tree, ensuring 100% isolation from host-side script interference.
  • Premium Gold Theme: Implemented a new, sleek design system with gold accents, enhanced typography, and micro-animations.
  • Dynamic Progress Engine: Improved download scheduler with verified percentage tracking and gold-gradient filling.

v1.3.0

  • HLS Enhancements: Improved playlist enrichment and resolution detection.
  • UI Refinement: Cleaner animations and better responsive layout for mobile.
  • Performance: Optimized memory usage during large concurrent downloads.

v1.2.5

  • Unified UI: Global aggregation of media from all sub-frames.
  • Compatibility: Enhanced support for fMP4 and diverse HLS encryption schemes.

🤝 Credits

Special thanks to Blaze FTL for contributions to the codebase and logic improvements.


📄 License

MIT © quantavil