Express.js
The local API layer powers the browser interface, download queue, settings, library views, dependency checks, file browsing, and media actions.
- Local app API routes
- Queue and settings endpoints
- Library and file browsing
- Dependency/version checks
Server-Sent Events
The downloads page streams queue state as work happens, so progress, failures, and completed jobs update without a manual refresh.
- Realtime queue state
- Progress updates
- Download status changes
- Processing visibility
yt-dlp
Fetches video metadata, format lists, playlists, thumbnails, titles, and source URLs. FireFetch uses it to understand what a pasted link can become before queuing the download.
- Video and playlist analysis
- Quality and format selection
- Music search fallback
- Cookie-backed restricted content support
FFmpeg
Handles the media finishing work after downloads complete, including merging audio/video streams and preparing files in useful containers.
- Audio/video merging
- Post-processing
- Container conversion support
- Music and video output workflows
aria2c
Accelerates direct downloads with segmented transfers and connection controls. It also supports torrent-oriented workflows where appropriate.
- Multi-connection downloading
- Segment sizing
- Retry behavior
- Progress parsing for the queue
Peerflix
Supports torrent media handling inside the app’s local workflow, giving FireFetch another path for media sources beyond standard HTTP downloads.
- Torrent stream handling
- Local queue integration
- Download status tracking