Skip to main content
Glama

unfetch

A modern download manager for humans and AI

GitHub Release Downloads Stars

Website · Download · Sponsor · 中文


unfetch is the download engine that finishes what your browser starts. Fast multi-mirror HTTP, real BT/magnet support, 1000+ video sites via yt-dlp, RSS subscriptions, completion hooks, and a token-secured remote Web UI — all driven by GUI, CLI, or AI through MCP. ~8 MB installer. MIT-style license. Zero telemetry.

Features

  • Multi-mirror HTTP — up to 32 threads × multiple mirror URLs, automatic fallback, resume, SHA256/MD5 verification.

  • BT / Magnet — 35 public trackers, IPv6 + WebTorrent, file picker before download, peer/seeder stats, auto uTP fallback when your ISP throttles.

  • 1000+ video sites — YouTube, Bilibili, TikTok, X, and the rest via bundled yt-dlp.

  • AI-native (MCP)add_task, list_tasks, wait_for_task, progress notifications — from any MCP host (Claude Desktop, Cursor, Codex, …). No vendor lock-in.

  • Remote Web UI — token-secured Web UI on 0.0.0.0 — manage downloads from your phone or remote box. QR-shareable.

  • RSS auto-fetch — subscribe with regex filters, new items queued automatically, GUID deduped.

  • Completion hooks — webhook POST or shell exec on done — pipe into Home Assistant / n8n / anything.

  • Task templates & dependency chains — per-site Cookie/UA presets, wait-for-other-task, scheduled start times, per-hour bandwidth schedule.

  • 6 themes — Cream Light (default for new users), Deep Indigo, Light Paper, Forest Night, Cyberpunk, Mono Gray — switch live without restart.

  • Privacy first — no ads, no telemetry, no login, no infohash uploads.

Install

Platform

Download

macOS (Apple Silicon + Intel, Notarized)

unfetch_*_universal.dmg

Windows 10/11 (NSIS installer)

unfetch_*_x64-setup.exe

Linux x64 (AppImage / deb / rpm)

Releases page

Or grab the latest from https://unfetch.org/#download.

Three frontends, one daemon

unfetch ships as a Go daemon + a Tauri shell. Three frontends share one daemon, all backed by the same REST API on localhost:19543:

  • GUI — Tauri window (the default app icon launches this)

  • CLIunfetch add <url>, unfetch list, unfetch pause <id>, …

  • MCPunfetch --mcp (stdio JSON-RPC, drop into Claude Desktop config)

  • Browser extension — see extension/ for Chrome/Edge sniffer

┌──────────────────────────────────────────────────────────┐
│ Tauri 2 app (Rust + React + 6 themes)                    │
│   ├─ Main window / mini floating window                  │
│   ├─ Tray, clipboard sniffer, deep-link handler          │
│   └─ Forwards arguments / events to the daemon           │
└─────────────────────────────┬────────────────────────────┘
                              │ localhost:19543 (REST + SSE)
                              ▼
┌──────────────────────────────────────────────────────────┐
│ Go daemon (anacrolix/torrent + http downloader + yt-dlp) │
│   ├─ SQLite store of all tasks (resumes across restarts) │
│   ├─ Speed scheduler, retry queue, hash verifier         │
│   ├─ Remote Web UI on 0.0.0.0 (token-gated)              │
│   └─ Same API consumed by GUI / CLI / MCP / extension    │
└──────────────────────────────────────────────────────────┘

Use with AI (MCP)

Drop this into your Claude Desktop / Cursor config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{
  "mcpServers": {
    "unfetch": {
      "command": "/Applications/unfetch.app/Contents/MacOS/unfetch",
      "args": ["--mcp"]
    }
  }
}

Then your AI can add_task, list_tasks, wait_for_task, etc. See docs/mcp.md for the full tool schema, or visit https://unfetch.org/mcp.

Build from source

Prerequisites: pnpm, Rust toolchain, Go 1.23+, Node 20+.

# 1. Frontend
pnpm install
pnpm build

# 2. Go daemon (per-platform — Tauri externalBin requires platform-suffixed names)
cd core
GOOS=darwin GOARCH=arm64 go build -ldflags="-s -w" \
  -o ../src-tauri/binaries/unfetch-daemon-aarch64-apple-darwin .
# (repeat for x86_64, linux, windows targets)

# 3. Tauri release build
cd ..
pnpm tauri build              # native target only
pnpm tauri build --target universal-apple-darwin   # macOS universal

For macOS release builds with notarization, see scripts/build-mac.sh.

Release workflow

./scripts/release.sh 0.3.0      # bump → commit → tag → push (triggers CI for Win/Linux)
./scripts/build-mac.sh 0.3.0    # local universal build + Apple notarize + upload dmg

CI in .github/workflows/release.yml only builds Windows + Linux — macOS is notarized locally because Apple Developer credentials should not live in CI.

Support development

unfetch is built and maintained by one developer. If it saves you time, sponsorship helps keep it alive:

License

MIT-style license. See LICENSE (forthcoming — currently de-facto MIT).

Contributions to upstream are encouraged — unfetch's maintainer is also an active contributor to anacrolix/torrent.

-
license - not tested
-
quality - not tested
-
maintenance - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/guangtoutong/unfetch'

If you have feedback or need assistance with the MCP directory API, please join our Discord server