// the find
GopeedLab/gopeed
A fast, modern download manager for HTTP, BitTorrent, Magnet, and ed2k. Cross-platform, built with Golang and Flutter.
Gopeed is a cross-platform download manager supporting HTTP, BitTorrent, Magnet, and ED2K, built with a Go backend and Flutter frontend. The architecture is clean: Go handles all protocol fetching as a shared library (compiled to .dll/.dylib/.so), Flutter is purely UI. It targets developers who want a scriptable, API-driven downloader rather than a black box.
The extension system is the real differentiator — extensions run in a sandboxed JS engine with polyfills for fetch/XHR/crypto, so you can write protocol handlers or site-specific scrapers without touching Go. The Go core is well-structured with a clear internal/pkg split and each protocol (HTTP, BT, ED2K) isolated behind a common fetcher interface. Active maintenance with 25k stars and commits as recent as July 2026. The REST API makes it trivially automatable — you can integrate it into scripts without touching the UI at all.
The build process is genuinely painful: you need Go, Flutter, cgo, and gomobile all configured correctly before you can compile anything, and the README skips the cgo setup entirely. The JavaScript extension engine is a custom Goja-based runtime with hand-rolled polyfills — any extension that relies on modern web APIs will hit missing pieces. No extension sandboxing beyond what Goja enforces, so a malicious extension has access to the full host filesystem via the file injection module. iOS support exists but requires sideloading or enterprise cert since it won't be on the App Store.