gopeed README

The project's README from github.com/GopeedLab/gopeed. As one markdown file: README.md.

Test Status Codecov Release Download Donate WeChat Discord

GopeedLab%2Fgopeed | Trendshift

English | 中文 | 日本語 | 正體中文 | Tiếng Việt

🚀 Introduction

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

✨ Features

🤖 AI Integration

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.

⬇️ Download

🧪 Gopeed 2.0.0 Beta

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.

Stable release

🛠️ Command-line tool

Install the CLI with go install:

go install github.com/GopeedLab/gopeed/cmd/gopeed@latest

🔌 Browser Extension

Use the Gopeed browser extension to send downloads from Chrome, Edge, Firefox, and other compatible browsers directly to Gopeed: GopeedLab/browser-extension

📱 WeChat Official Account

Follow Gopeed's official WeChat account for updates and news.

💝 Donate

If Gopeed is useful to you, please consider supporting its development. Thank you!

👨‍💻 Development

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/flutter directory.

🌍 Environment

  1. Go 1.25+
  2. Flutter 3.41+

📋 Clone

git clone [email protected]:GopeedLab/gopeed.git

🤝 Contributing

See CONTRIBUTING.md.

🏗️ Build

Desktop

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

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

Web

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

❤️ Credits

👥 Contributors

🏢 JetBrains

goland

📄 License

GPLv3

gopeed (GopeedLab/gopeed)

ubuntu
Searching Database…

27K ·GitHub
What is this?Gopeed (short for Go Speed) is a free, open-source download manager built with Go and Flutter. It handles HTTP, HTTPS, BitTorrent, magnet links, and ed2k across desktop, mobile, and the web.
Is it a desktop program, a phone app, or a server I run myself?All three: native apps for Windows, macOS, Linux, Android, and iOS, plus a web UI you can deploy with Docker or QNAP.
How do I get it?Grab a prebuilt installer from the official website or GitHub Releases for your platform; for terminal use there is a CLI you install with go install.
Is the new 2.0 version ready for daily use?Gopeed 2.0.0 is still a public beta and some features may be incomplete or unstable; stable users are not automatically moved to the beta channel.
Is the interface an Electron wrapper?No: it is rendered natively with Flutter, which the README credits for a smaller footprint and responsive performance. You also get light/dark themes and eight accent colors.
Does it cover the small stuff like proxies and archives?Yes: custom headers and User-Agent, proxies and GitHub mirrors, notifications, and automatic archive extraction are built in.
How is it built under the hood?A Flutter front end talks to a Go back end over HTTP, using Unix sockets on Unix-like systems and TCP on Windows. Building from source needs Go 1.25+, Flutter 3.41+, and a C toolchain for cgo.
How many languages is it translated into?More than 20, including English, Simplified and Traditional Chinese, Japanese, and Korean.
Creator
GopeedLab
Size
14.6 MB
Stars
27K
Age
7y
Commits · 90 Days