The download manager power users actually want.
Multi-chunk HTTP. Native Usenet with PAR2 repair. HLS, DASH, YouTube. A sandboxed TypeScript plugin system. All in a single Rust binary — with a Web UI, CLI, and Tauri desktop app.
- 8 parallel chunks
- · NZB + PAR2
- · TS plugin sandbox
- · Click'n'Load 9666
Every protocol that matters.
Built-in backends for the protocols that power modern downloads. No more stitching together tools for Usenet, streaming, or tricky hoster flows.
Everything you expect — done properly.
Feature-complete out of the box, with the performance and sandboxing you'd write yourself.
Multi-chunk HTTP
Up to 8 parallel chunks per file, adaptive sizing, connection pooling, resume on drop.
Usenet with PAR2
Native NNTP/NNTPS, multi-server with priorities, yEnc decode, PAR2 verify/repair.
HLS & DASH
m3u8 and MPD parsing, variant/track pick, segment download with retries.
YouTube built-in
InnerTube API client, N-parameter via QuickJS, format-quality selection.
TypeScript plugins
Sandboxed QuickJS VM, SWC transpilation, 30 s / 64 MB / 20 req / 1 MB limits.
DLC import & export
Read and write AES-128 DLC containers — compatible with the JDownloader ecosystem.
Click'n'Load on 9666
Drop-in Browser-Extension support — same port, same protocol, zero config.
NZBGet JSON-RPC
Wire Sonarr, Radarr, SABnzbd-era tools into amigo without changing a single line.
RSS · Webhooks · i18n
Watch RSS feeds, fire outbound webhooks, shipping with EN + DE out of the box.
Plugins in TypeScript. Sandboxed.
Write hoster and extractor plugins in plain TypeScript. SWC transpiles them, a QuickJS VM runs them — no Node, no network shims, no file-system access. Hot-reload while you hack.
/// <reference path="../types/amigo.d.ts" />
module.exports = {
id: "my-hoster",
name: "My Hoster",
version: "1.0.0",
urlPattern: "https?://my-hoster\\.com/.+",
resolve(url) {
const page = amigo.httpGet(url);
const link = amigo.htmlQueryAttr(page.body, "a.download-btn", "href");
return {
name: amigo.htmlExtractTitle(page.body) ?? "Download",
downloads: [{
url: amigo.urlResolve(url, link),
filename: null,
filesize: null,
chunks_supported: true,
max_chunks: null,
headers: null,
cookies: null,
wait_seconds: null,
mirrors: [],
}],
};
},
} satisfies AmigoPlugin; One command. Any platform.
Ship it as a Docker container, a single binary, or a native desktop app. Pick whichever fits your setup — the server, plugins and Web UI come bundled.
- Docker: recommended — single compose file, persistent volumes, built-in update checks.
- Shell: install script auto-detects OS + arch, drops a
systemdunit when available. - Cargo: build from source for bleeding-edge features.
- Desktop: native Tauri builds for macOS, Windows, Linux.
curl -O https://raw.githubusercontent.com/amigo-labs/amigo-downloader/main/docker/docker-compose.yml docker compose up -d