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; для работы в терминале есть CLI, который ставится через go install.
Новая версия 2.0 уже готова для повседневного использования?Gopeed 2.0.0 пока находится в открытой бете, и некоторые функции могут быть неполными или нестабильными; пользователей стабильной версии на бета-канал автоматически не переводят.
Интерфейс — это оболочка на Electron?Нет: он отрисовывается нативно через Flutter, благодаря чему, как отмечается в README, программа занимает меньше места и работает отзывчиво. Также есть светлая и тёмная темы и восемь акцентных цветов.
Там есть мелочи вроде прокси и архивов?Да: пользовательские заголовки и User-Agent, прокси и зеркала GitHub, уведомления и автоматическое распаковывание архивов встроены.
Как оно устроено внутри?Фронтенд на Flutter общается с бэкендом на Go по HTTP: на Unix-подобных системах через Unix-сокеты, на Windows — через TCP. Для сборки из исходников нужны Go 1.25+, Flutter 3.41+ и набор компиляторов C для cgo.
На скольких языках он переведён?Более чем на 20, включая английский, китайский (упрощённый и традиционный), японский и корейский.
Creator
GopeedLab
Size
14.6 MB
Stars
27K
Age
7y
Commits · 90 Days