dio
A powerful HTTP networking package, supports Interceptors, Aborting and canceling a request, Custom adapters, Transformers, etc.
A fast, modern download manager for HTTP, BitTorrent, Magnet, and ed2k. Cross-platform, built with Golang and Flutter.
A powerful HTTP networking package, supports Interceptors, Aborting and canceling a request, Custom adapters, Transformers, etc.
Open screens/snackbars/dialogs without context, manage states and inject dependencies easily with GetX.
Default icons asset for Cupertino widgets based on Apple styled icons
Recommended lints for Flutter apps, packages, and plugins to encourage good coding practices.
An SVG rendering and widget library for Flutter, which allows painting and displaying Scalable Vector Graphics 1.1 files.
Flutter plugin for getting commonly used locations on host platform file systems, such as the temp and app data directories.
Flutter plugin for launching a URL. Supports web, phone, SMS, and email schemes.
Lightweight and blazing fast key-value database written in pure Dart. Strongly encrypted using AES-256.
A Flutter plugin that allows you to add an inline webview, to use an headless webview, and to open an in-app browser window.
v21.0.0A cross platform plugin for displaying and scheduling local notifications for Flutter applications with the ability to customise for each platform.
Permission plugin for Flutter. This plugin provides a cross-platform (iOS, Android) API to request and check permissions.
A package which simplifies the task of updating your Flutter app's launcher icon.
English project snapshot. Visit GitHub for the latest content.
Test Status Codecov Release Download Donate WeChat Discord
GopeedLab%2Fgopeed | Trendshift
English | 中文 | 日本語 | 正體中文 | Tiếng Việt
Gopeed (short for Go Speed) is a fast, modern, free, and open-source download manager built with Go and Flutter. It supports HTTP, HTTPS, BitTorrent, magnet links, and ed2k on desktop, mobile, and the web.
Beyond core download management, Gopeed offers browser integration, JavaScript extensions, a REST API, a CLI, and a self-hosted web UI for customization and automation.
Visit ✈ Official Website
Application screenshot
Connect Gopeed to an AI agent and manage downloads with natural language. For example, you can say:
Download the latest Gopeed client for Windows.
| Tool | Description |
|---|---|
resolve_task |
Resolve a download URL or URI and return its resource metadata and files before creating a task. |
create_task |
Create and start a task from a resolved resource ID or a direct download request. |
list_tasks |
List tasks, optionally filtering them by ID or status. |
get_task |
Get the request, resource, options, and current progress for one task. |
get_task_status |
Get lightweight runtime status and per-file progress for one task. |
get_task_stats |
Get protocol-specific statistics, including HTTP connections or BitTorrent peers and seeding data. |
pause_task |
Pause a task. |
continue_task |
Continue a paused or failed task. |
delete_task |
Delete a task, optionally deleting its downloaded files. |
Gopeed 2.0.0 is currently in public beta, introducing a redesigned interface, a native communication architecture that connects desktop and mobile clients directly to the Go core through FFI, a more consistent cross-platform experience, improved task management, more flexible API support, and MCP-based AI agent integration. Some features may still be incomplete or unstable, so please try it and report any issues you encounter.
Once the features and stability meet our release standards, we will publish the official Gopeed 2.0.0 release. Beta users will be able to upgrade directly to the final release, while existing stable users will not be automatically moved onto the beta channel.
Install the CLI with go install:
go install github.com/GopeedLab/gopeed/cmd/gopeed@latest
Use the Gopeed browser extension to send downloads from Chrome, Edge, Firefox, and other compatible browsers directly to Gopeed: GopeedLab/browser-extension
Follow Gopeed's official WeChat account for updates and news.
https://raw.githubusercontent.com/GopeedLab/gopeed/HEAD/_docs/img/weixin.pngIf Gopeed is useful to you, please consider supporting its development. Thank you!
Gopeed consists of a Flutter front end and a Go back end. They communicate over HTTP, using Unix sockets on Unix-like systems and TCP on Windows.
The front-end source is located in the
ui/flutterdirectory.
git clone git@github.com:GopeedLab/gopeed.git
See CONTRIBUTING.md.
Set up Flutter desktop development using the official Flutter desktop guide, and make sure a working C toolchain is available for cgo. Then run the commands for your platform.
Commands:
go build -tags nosqlite -ldflags="-w -s" -buildmode=c-shared -o ui/flutter/windows/libgopeed.dll github.com/GopeedLab/gopeed/bind/desktop
cd ui/flutter
flutter build windows
go build -tags nosqlite -ldflags="-w -s" -buildmode=c-shared -o ui/flutter/macos/Frameworks/libgopeed.dylib github.com/GopeedLab/gopeed/bind/desktop
cd ui/flutter
flutter build macos
go build -tags nosqlite -ldflags="-w -s" -buildmode=c-shared -o ui/flutter/linux/bundle/lib/libgopeed.so github.com/GopeedLab/gopeed/bind/desktop
cd ui/flutter
flutter build linux
Mobile builds also require a working cgo toolchain. Install and initialize gomobile:
go install golang.org/x/mobile/cmd/gomobile@latest
go get golang.org/x/mobile/bind
gomobile init
Commands:
gomobile bind -tags nosqlite -ldflags="-w -s -checklinkname=0" -o ui/flutter/android/app/libs/libgopeed.aar -target=android -androidapi 21 -javapkg="com.gopeed" github.com/GopeedLab/gopeed/bind/mobile
cd ui/flutter
flutter build apk
gomobile bind -tags nosqlite -ldflags="-w -s" -o ui/flutter/ios/Frameworks/Libgopeed.xcframework -target=ios github.com/GopeedLab/gopeed/bind/mobile
cd ui/flutter
flutter build ios --no-codesign
Build the web app and server:
cd ui/flutter
flutter build web
cd ../../
rm -rf cmd/web/dist
cp -r ui/flutter/build/web cmd/web/dist
go build -tags nosqlite,web -ldflags="-s -w" -o bin/ github.com/GopeedLab/gopeed/cmd/web