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)

Searching Database…

27K ·GitHub
这是什么东西?Gopeed(Go Speed 的缩写)是一款用 Go 和 Flutter 打造的免费开源下载工具,支持 HTTP、HTTPS、BitTorrent、磁力链接和 ed2k,可在电脑、手机和网页上使用。
它是电脑程序、手机应用,还是需要我自己搭建的服务?三种都是:有 Windows、macOS、Linux、Android 和 iOS 的原生应用,还有一个可以用 Docker 或 QNAP 部署的网页界面。
我怎么获取它?从官网或 GitHub Releases 下载适合你平台的现成安装包;如果想在终端里使用,有一个可以用 go install 安装的 CLI。
新的 2.0 版本能日常使用了吗?Gopeed 2.0.0 还处于公开测试阶段,部分功能可能不完整或不稳定;使用稳定版的用户不会被自动切换到测试版通道。
它的界面是不是用 Electron 套壳的?不是:界面是用 Flutter 原生渲染的,README 提到这样占用资源更少、响应更流畅。还提供浅色和深色主题,以及八种主题色。
代理、压缩包这类细节功能它都有吗?有:自定义请求头和 User-Agent、代理和 GitHub 镜像、下载完成通知、自动解压压缩包,这些都是内置功能。
它底层是怎么实现的?Flutter 前端通过 HTTP 与 Go 后端通信:在类 Unix 系统上使用 Unix 套接字,在 Windows 上使用 TCP。如果要从源码构建,需要 Go 1.25+、Flutter 3.41+,以及支持 cgo 的 C 工具链。
它翻译成了多少种语言?超过 20 种,包括英语、简体中文和繁体中文、日语和韩语。
Creator
GopeedLab
Size
14.6 MB
Stars
27K
Age
7y
Commits · 90 Days