Skip to content
MayanktakerPublic

About

Powerfull download accelerator and video downloader

Resources

Code of conduct

Stars

10 stars

Watchers

1 watching

Forks

Repository files navigation

FetchFlow Download Manager Logo

FetchFlow Download Manager

High-Performance Multi-Stream Download Accelerator & Media Ingestion Engine
Native Wayland • Modern GTK3 CSD • .NET 8 AOT • System Tray • Manifest V3 Browser Integration

Latest Release Total Downloads Firefox Add-on Platform .NET 8 UI License Donate via PayPal Maintainer

🌐 Official Website • 📦 Downloads & Releases • 🦊 Firefox Add-on • 🧩 Browser Extensions • ⭐ Reviews & Feedback • ☕ Donate • 🐛 Report an Issue


⚡ Key Capabilities

Capability Engineering Detail
Parallel Stream Chunking Dynamic multi-socket segmentation (up to 32 parallel connections per file) with real-time chunk re-assembly
Native Wayland Architecture Zero XWayland dependency; native surface allocation on KDE Plasma 6, GNOME 46+, Sway, Hyprland, and COSMIC
StatusNotifierItem (SNI) Tray Full D-Bus system tray menu with real-time download speed display, remaining ETA, and background persistence
Bandwidth Throttle & Limiter Live toolbar and bottom bar speed limiter presets (50 KB/s to 5 MB/s, custom) to prevent network saturation
Audio Notification Chimes Customizable download completion chime with one-click toggle in main menu and settings
14 Curated Color Themes 7 Dark and 7 Light refined palettes with full JSON palette import and export support
Collapsible Category Badges Interactive category sidebar with live download item counter badges and collapsible sections
Integrated Media Grabber Built-in yt-dlp stream extraction engine supporting video/audio ingestion from 1,000+ streaming sites
Manifest V3 Browser Addons High-speed local loopback IPC (port 8597) with global shortcut (Alt+Shift+F) and blob capture
Multi-Language Desktop UI Fully localized interface with Hindi, Hinglish, English, Spanish, French, German, Russian, Chinese, Arabic, and flag indicators
Android / MTP Sanitizer Automatic sanitization of illegal characters (: ? * " < > | ( ) [ ] ^ %) for seamless USB file transfers

✨ What's New in 9.1.16.0 — Torrent Files & Steadier Downloads

What's new

  • .torrent files are now saved by FetchFlow: click a torrent link and FetchFlow picks it up like any other download, filing it under Documents with the rest of your documents. It saves the torrent file itself — opening it is up to your torrent client.
  • Extension pages name themselves: the connection-error, monitoring-disabled and register pages showed a bare extension address in the tab; they now say what they are.

Bug fixes

  • Failures while finishing a download (closing a connection, saving a file) are now written to the log instead of being silently dropped.
  • File names suggested by a website are cleaned more consistently before they reach your disk.
  • Two internal startup paths could rarely hand a half-initialised object to a download running in the background; both are now properly published.

✨ What's New in 9.1.15.18 — Reimagined Download List

What's new

  • Drag any column to size it your way: the downloads list header is a real column header — pull the edge between the selection tick, file name and size, and the headings move with the columns. A divider marks the grab point.
  • A list that breathes: taller GTK4-style header, more air between downloads, roomier rows — on Linux and Windows alike.
  • Cohesive, modern surfaces: buttons, menus, popovers and cards now share one look — matching borders in a row, flat GTK4-style corners, and hovers you can actually see.
  • Themes that stick: your theme and color scheme now persist across restarts, with Charcoal Blue (dark) and Classic Blue (light) as the new defaults.

Bug fixes

  • Fixed selecting multiple downloads with the tick box (ticks now accumulate, untick, and work on every row).
  • Fixed the list header bar disappearing on light themes and columns no longer being resizable.
  • Fixed selected rows turning header-coloured when FetchFlow is unfocused, and the tick box becoming invisible with them.
  • Fixed the Color Scheme dropdown opening empty, and theme/palette choices silently resetting on every launch.
  • Fixed the FetchFlow icon missing from the GNOME dock and taskbar.

✨ What's New in 9.1.15.17 — Maintenance

What's new

  • Cleaner upgrade on Windows: if an older version left a startup shortcut behind, FetchFlow now clears it on first launch so the app no longer starts twice at login.

Bug fixes

  • Fixed the download page on the website occasionally lagging one release behind.

✨ What's New in 9.1.15.16 — Autostart & System Tray Fixes

What's new

  • Real icon in the system tray: FetchFlow now shows its own orange download icon on GNOME, KDE, and Wayland panels instead of a generic three-dot placeholder. The icon installs itself, so it also appears correctly on installs made before this fix.
  • Launch at login that actually works: FetchFlow reliably starts in the background when you sign in, and automatically repoints itself to the current install location after an update or reinstall.

Bug fixes

  • Fixed the "Start FetchFlow when I sign in" option not switching launch-at-login off when unticked.
  • Fixed the system tray showing three dots instead of the FetchFlow icon.
  • Fixed launch-at-login silently failing after a reinstall while Settings still showed it as switched on.

✨ What's New in 9.1.15.15 — Modernized Windows UI & Parity

What's new (Windows & Cross-Platform)

  • Integrated CSD Header Bar: Sleek client-side decorated title bar with real-time Sun/Moon theme toggle button directly in the window caption.
  • Dynamic Category View Subtitle: Window title bar dynamically reflects your active download view (e.g. · All Unfinished, · All Finished, · Videos).
  • Elevated Card-Style Download Rows: Modern rounded cards with 6px border radius, alternating surface tints, smooth 120ms hover animations, and 1px accent active selection borders.
  • Capsule Pill Search Input: Full-capsule search bar with integrated quick search button matching modern design systems.
  • Softened Dark Scheme Contrast: Replaced pitch-black borders and surfaces with comfortable, refined #2A3F3A borders and #131C1A dark background for improved readability.
  • Windows Package Manager (Winget) Manifests: Added support for automated Windows package installation via Winget (winget install Mayanktaker.FetchFlow).
  • Complete Visual Parity: All controls, dialogs, buttons, and layouts now share an identical modern design language across both Linux and Windows.

Bug fixes

  • Fixed maximize window boundary overflow under the Windows taskbar.
  • Fixed selection highlight borders in download lists to track active color schemes smoothly.
  • Fixed window close button behavior to consistently minimize to system tray.

⚖️ Why FetchFlow? (Comparison)

Feature / Metric FetchFlow v9 Internet Download Manager (IDM) Free Download Manager (FDM) Wget / cURL
Platform Support Linux (Wayland/X11), Windows Windows Only Windows, macOS, Linux Cross-Platform (CLI)
Native Wayland CSD ✓ Full Native ✗ No (Windows Only) ✗ Partial (XWayland) ✗ CLI Only
Stream Acceleration ✓ Up to 32 Sockets ✓ Yes ✓ Yes ✗ Single-stream
Video Sniffing & yt-dlp ✓ Built-in (1000+ Sites) ✓ Proprietary ✗ Limited ✗ No
Browser Extensions ✓ Manifest V3 ✓ MV3 ✓ MV3 ✗ No
License & Cost ✓ 100% Free & FOSS (GPL-2.0) ✗ Commercial ($24.95) ✗ Proprietary Core ✓ Open Source
Resource Footprint ✓ ~35 MB RAM (AOT Binary) ~40 MB RAM ~120 MB RAM (Electron/Qt) ~10 MB RAM

📦 Installation & Packaging

FetchFlow distributes self-contained binaries for Windows 11 / 10 and Linux with zero runtime prerequisites.

Universal Installer (Recommended — CachyOS / Manjaro / Arch / Fedora / Debian / openSUSE)

curl -fsSL https://github.com/Mayanktaker/fetchflow/releases/latest/download/install-fetchflow.sh | bash
# Options: bash install-fetchflow.sh --version 9.1.16.0 --yes --check --uninstall

The script auto-detects your distro, installs system deps (gtk3, ffmpeg, xdg-desktop-portal), then installs the native package (.pkg.tar.zst on Arch-family, .rpm on Fedora, .deb on Debian/Ubuntu) with a portable /opt/fetchflow tarball fallback.

CachyOS / Manjaro / Arch / EndeavourOS / Garuda

# Via AUR helper (simplest on Arch-family):
yay -S fetchflow-bin
# or: paru -S fetchflow-bin

# Via universal installer (handles deps + fallback automatically):
curl -fsSL https://github.com/Mayanktaker/fetchflow/releases/latest/download/install-fetchflow.sh | bash

# Or manually with the prebuilt package (download first:
# direct-URL pacman needs a .sig we don't publish yet):
sudo pacman -S --needed yt-dlp
curl -fsSL https://github.com/Mayanktaker/fetchflow/releases/latest/download/fetchflow-9.1.16.0-1-x86_64.pkg.tar.zst -o /tmp/fetchflow.pkg.tar.zst
sudo pacman -U /tmp/fetchflow.pkg.tar.zst

Package signatures (.sig) ship once signing is configured — see docs/signing.md.

Windows 11 / 10 (64-bit)

  • Windows Package Manager (Winget):
    winget install Mayanktaker.FetchFlow
  • Standalone Setup Wizard: Download fetchflow-windows-x64-setup.exe from Releases for complete desktop integration, start menu shortcuts, and auto-start persistence.
  • Portable ZIP: Download fetchflow-windows-x64-portable-9.1.16.0.zip, extract to any folder, and run fetchflow.exe with zero installation required.

Fedora / RHEL / CentOS / openSUSE (RPM)

sudo dnf install https://github.com/Mayanktaker/fetchflow/releases/latest/download/fetchflow-9.1.16.0-1.fc44.x86_64.rpm

Debian / Ubuntu / Linux Mint / Pop!_OS (DEB)

sudo apt install ./fetchflow_9.1.16.0_amd64.deb

Arch Linux / Manjaro / EndeavourOS (legacy manual PKGBUILD)

# Or build via PKGBUILD:
cd app/XDM/XDM.Linux.Installer && makepkg -si

Universal Portable Tarball

tar -xzf fetchflow-linux-x64-9.1.16.0.tar.gz -C /opt/
/opt/fetchflow/fetchflow

Flatpak

flatpak-builder --user --install --force-clean build-dir com.mayanktaker.fetchflow.yml

🧩 Browser Extensions (Manifest V3)

FetchFlow includes native Manifest V3 browser extensions with zero cloud telemetry:

Browser Family Supported Browsers Package Features
Chromium Google Chrome, Brave, Microsoft Edge, Opera, Vivaldi fetchflow-chrome-extension-9.1.16.0.zip One-click takeover, context-menu download, in-page blob media capture, video bar, Alt+Shift+F shortcut
Gecko Mozilla Firefox, Floorp, LibreWolf, Waterfox Firefox Add-ons (AMO) · Direct XPI Background streaming listener, seamless takeover, media sniffing, Alt+Shift+F shortcut

Installation

  • Firefox: Install directly with 1 click from Firefox Add-ons (AMO), or download the standalone .xpi release.
  • Chrome / Chromium: Open chrome://extensions → Toggle Developer mode → Click Load unpacked → Select app/XDM/chrome-extension.

🏗️ Architecture Overview

Browser Extension (Chrome / Firefox MV3)
    │
    │ (WebSocket / HTTP Loopback IPC @ 127.0.0.1:8597)
    ▼
IpcHttpMessageProcessor.cs
    ├── VideoUrlHelper.cs  (yt-dlp media extraction & format caching)
    ├── NetworkHelper.cs   (Header parsing, referer injection, checksums)
    └── DownloadEngine.cs  (Parallel socket chunking & multi-part assembler)
            ▼
GTK3 Modern Shell (XDM.Gtk.UI)
    ├── Modern CSD HeaderBar & Responsive Paned Sidebar
    ├── StatusNotifierItem (D-Bus Tray Client for KDE/GNOME/Waybar)
    └── SQLite Storage Engine (~/.fetchflow-app-data/downloads.db)

⌨️ Keyboard Shortcuts

Shortcut Action
Ctrl + N Open New Download Dialog
Ctrl + V Open Video Downloader (Media Grabber)
Ctrl + B Open Batch Download Dialog
Ctrl + Q Exit FetchFlow Completely
Delete Delete Selected Download Entry
Shift + Delete Delete Download and Delete File from Disk
F5 Refresh Download List & Active Speeds
Ctrl + , Open Settings & Preferences
Alt + Shift + F Open Browser Extension Media & Download Panel

🔧 Building from Source

Prerequisites

  • .NET SDK 8.0 (net8.0)
  • GTK3 development libraries (gtk3, glib2, cairo, pango)
  • Packaging tools: tar, zip (optional: dpkg-deb, makepkg)

Note on rpmbuild: build_all.sh requires it, because every release ships an .rpm. It is not packaged for Arch/Manjaro and is not in the AUR, so a local full release build is not possible on Arch-family systems. Either push a v* tag and let GitHub Actions cut the release, or run build_all.sh on Fedora (dnf install rpm-build). For a local Arch-family install of just the Arch package, use ./scripts/rebuild-install.sh.

Build Everything (Binaries + Packages + Extensions)

bash build_all.sh

All compiled packages land in fetchflow-release/.

Quick Dev Loop (Arch-family: Manjaro / CachyOS / Arch)

Build and install straight from source — runs the test suite, publishes the binary, builds the Arch package, installs it with pacman, then repairs the launch-at-login entry:

./scripts/rebuild-install.sh               # build + install (asks for your sudo password)
./scripts/rebuild-install.sh --no-install  # build only, no sudo

This is a development loop only — for a full release matrix use build_all.sh.

Run Automated Tests

dotnet test app/XDM/XDM.Tests/XDM.Tests.csproj

Lint Shell Scripts

shellcheck -S warning scripts/*.sh build_all.sh xdm-updater.sh app/XDM/XDM.Linux.Installer/make-arch-pkg app/XDM/XDM.Linux.Installer/make-deb-pkg app/XDM/XDM.Linux.Installer/make-rpm-pkg

Runs automatically on every push via .github/workflows/lint.yml.


📁 System Configuration & Diagnostic Paths

File / Folder Standard Location Flatpak / Sandbox Location
Database & Metadata ~/.fetchflow-app-data/downloads.db $XDG_CONFIG_HOME/fetchflow/downloads.db
Queues Configuration ~/.fetchflow-app-data/queues.db $XDG_CONFIG_HOME/fetchflow/queues.db
Crash & Diagnostic Log ~/.fetchflow-app-data/crash.log (5 MB auto-rotated) $XDG_CONFIG_HOME/fetchflow/crash.log
Installation Directory /opt/fetchflow/ /app/bin/

🛟 Single-Instance Self-Recovery

FetchFlow allows only one running instance. If a previous instance ever becomes unresponsive (its internal message port stops answering), the next launch detects this within a couple of seconds and automatically takes over as the primary instance — the app always starts instead of silently exiting. The IPC listener is also supervised and rebinds itself if it ever stops unexpectedly, keeping browser-extension connectivity alive.


⭐ Reviews & Feedback

Your feedback powers FetchFlow's continuous refinement! If FetchFlow has accelerated your downloads or simplified media ingestion:

  • Leave a Review on Firefox Add-ons (AMO): If you use the Firefox integration, please take 30 seconds to rate us and share your feedback on the FetchFlow AMO Review Page. It helps other users discover high-performance, telemetry-free downloading.
  • Star & Share the Repository: A ⭐ on GitHub helps boost visibility across the open-source community.
  • Feature Requests & Bug Reports: Have an idea for improvement, new video platform support, or UI enhancements? Open a discussion or ticket on GitHub Issues.

☕ Support & Donate via PayPal

FetchFlow is 100% free, open-source, zero-telemetry, and ad-free software. We build and maintain high-performance native desktop clients and browser integrations entirely independently.

If FetchFlow brings value to your daily workflow, consider supporting ongoing development, hosting, and test hardware:

Donate with PayPal

PayPal Account: mayanktaker_hell@yahoo.co.in
Click here to donate via PayPal →


📜 Credits & License

About

Powerfull download accelerator and video downloader

Resources

Code of conduct

Stars

10 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages