StreamGrabber

quantavil
2025-11-05T16:22:22Z

Lightweight HLS/Video downloader. Pause/Resume. AES-128. fMP4. Mobile + Desktop.

StreamGrabber 🚀

A high-performance HLS/Video downloader that works seamlessly on both Mobile (Firefox, Cromite, Edge, etc.) and Desktop (All browsers). Minimal, premium UI for effortless media extraction.

Source Code

https://github.com/quantavil/userscript/tree/master/StreamGrabber

📥 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 (HLS & DASH) 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

�🛠 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.4.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.

📄 License

MIT © quantavil