StreamFirefly is a local-first web media sniffer and downloader: a browser extension discovers HLS/DASH resources while a Rust native host handles concurrent downloads and FFmpeg merging.
- v1.0.9
- Published at
- 5d ago
- 354
- Stars
- 7,036
- Download
- Synced at
- 1d ago
Latest release
v1.0.9Oct 23, 2026, 02:44 PMREADME
Project Overview
Video and audio on web pages often hide inside network requests, Blobs, or script-generated manifests that ordinary downloaders cannot touch. StreamFirefly, made by PARALCOR, splits the job in two: a browser extension discovers videos, audio, images, and HLS/DASH manifests in the page, while a Rust-written Windows native host handles downloading, queueing, resumable transfers, and FFmpeg merging, with tasks and settings kept only on your machine. It does not bypass DRM, and the general and Chrome-store editions share the same source, with the store edition skipping YouTube per policy.
The extension finds it, the local host downloads it, and nothing leaves your computer.
| Item | Value |
|---|---|
| Platform | Chrome/Edge 116+, Firefox 140+ extension + Windows native host |
| Stack | Vue 3 extension UI + Rust native host + FFmpeg |
| Version | 1.0.9 |
| Data location | %LOCALAPPDATA%/StreamFirefly/downloads |
| License | MIT |
Key Features
- Deep detection: finds media from network requests, response types, media elements, JSON/text, and inline scripts, parses HLS manifests built via POST or Blob, and backfills manifests loaded before opening the panel
- Concurrent downloads: 1–16 way Range concurrency for plain files with segmented resume, falling back to a single connection when unsupported
- HLS parsing: pick quality, external audio, multiple subtitles, and time or segment ranges, with AES-128 support, no-transcode merging, M4A output for audio-only, and preview before download
- Live recording: manually start, pause, and stop HLS live captures, LL-HLS Parts unsupported
- DASH VOD (experimental): one video and one audio track, output as MP4 or MKV
- Task queue: up to 2 concurrent tasks, resumable tasks continue automatically after host restarts
- Floating panel: a draggable, resizable 480×640 in-page panel expanding into a workspace, themed to system light/dark
- Optional extras: detection rules, URL extraction, output templates, sending to Aria2 and other tools, deep search, and cache capture
Install
- Install the extension per the install guide (the Chrome store edition is under review, use the general build first)
- On the settings page click Copy install command, paste into Win+R, and the native host downloads matching the extension version with SHA-256 verification into your user directory, no admin needed
- Or manually grab the Windows full package from Releases
- Building from source needs Node.js 24 and Rust 1.98 (MSVC toolchain)
Usage Flow
- Open a page with video or audio and click the StreamFirefly toolbar icon
- Filter the Resources page by name, type, size, and duration, opening items for covers, previews, and full URLs
- Click Download to save, entering the parse page for HLS/DASH quality, audio, subtitles, and ranges
- Pause, resume, retry, or delete tasks on the Downloads page
System Requirements
| Item | Requirement |
|---|---|
| Browser | Chrome/Edge 116+ or Firefox 140+ |
| Native host | Windows, with FFmpeg for HLS/DASH merging |
| Coverage | Full support for plain files and HLS VOD, experimental DASH and Blob, no DRM or SAMPLE-AES bypass |
Notes
- Copyright boundary: download only content you own or are licensed to use
- Deep search tip: enable it when manifests are script-generated, remembered per site
- Sniffing timing: default is panel-open only, play the video once if the list is empty, or switch to always sniffing
- Naming rules: web titles by default with per-site subfolders, switchable to original names in settings