https://github.com/GopeedLab/gopeed
A modern download manager that supports all platforms. Built with Golang and Flutter.
https://github.com/GopeedLab/gopeed
android bittorrent cross-platform debian downloader flutter golang http https ios macos magnet torrent ubuntu windows
Last synced: 23 days ago
JSON representation
A modern download manager that supports all platforms. Built with Golang and Flutter.
- Host: GitHub
- URL: https://github.com/GopeedLab/gopeed
- Owner: GopeedLab
- License: gpl-3.0
- Created: 2019-04-21T07:23:32.000Z (almost 6 years ago)
- Default Branch: main
- Last Pushed: 2024-10-19T08:55:23.000Z (6 months ago)
- Last Synced: 2024-10-29T09:06:02.731Z (6 months ago)
- Topics: android, bittorrent, cross-platform, debian, downloader, flutter, golang, http, https, ios, macos, magnet, torrent, ubuntu, windows
- Language: Dart
- Homepage: https://gopeed.com
- Size: 3.85 MB
- Stars: 16,607
- Watchers: 161
- Forks: 1,173
- Open Issues: 140
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
- awesome - GopeedLab/gopeed - A modern download manager that supports all platforms. Built with Golang and Flutter. (Dart)
- awesome-ops - GopeedLab/gopeed - 3.0|18675|2019-04-21|2025-04-01 | 一款由Golang+Flutter开发的高速下载器,支持(HTTP、BitTorrent、Magnet)协议下载,并且支持全平台使用。除了基本的下载功能外,Gopeed 还是一款高度可定制化的下载器,支持通过对接APIs或者安装和开发扩展来实现更多的功能 | (Download-Tools)
- awesome-ccamel - GopeedLab/gopeed - A modern download manager that supports all platforms. Built with Golang and Flutter. (Dart)
- StarryDivineSky - GopeedLab/gopeed
- definitive-opensource - GoPeed
- my-awesome - GopeedLab/gopeed - platform,debian,downloader,flutter,golang,http,https,ios,macos,magnet,torrent,ubuntu,windows pushed_at:2025-04 star:18.8k fork:1.3k A modern download manager that supports all platforms. Built with Golang and Flutter. (Dart)
README
# [](https://gopeed.com)
[](https://github.com/GopeedLab/gopeed/actions?query=workflow%3Atest)
[](https://codecov.io/gh/GopeedLab/gopeed)
[](https://github.com/GopeedLab/gopeed/releases)
[](https://github.com/GopeedLab/gopeed/releases)
[](https://docs.gopeed.com/donate.html)
[](https://discord.gg/ZUJqJrwCGB)[](https://ko-fi.com/R6R6IJGN6)
[English](/README.md) | [中文](/README_zh-CN.md) | [日本語](/README_ja-JP.md) | [正體中文](/README_zh-TW.md) | [Tiếng Việt](/README_vi-VN.md)
## 🚀 Introduction
Gopeed (full name Go Speed), a high-speed downloader developed by `Golang` + `Flutter`, supports (HTTP, BitTorrent, Magnet) protocol, and supports all platforms. In addition to basic download functions, Gopeed is also a highly customizable downloader that supports implementing more features through integration with [APIs](https://docs.gopeed.com/dev-api.html) or installation and development of [extensions](https://docs.gopeed.com/dev-extension.html).
Visit ✈ [Official Website](https://gopeed.com) | 📖 [Official Docs](https://docs.gopeed.com)
## ⬇️ Download
🪟 Windows
EXE
amd64
📥
Portable
amd64
📥
🍎 MacOS
DMG
universal
📥
🐧 Linux
Flathub
amd64
📥
SNAP
amd64
📥
DEB
amd64
📥
arm64
📥
AppImage
amd64
📥
arm64
📥
🤖 Android
APK
universal
📥
armeabi-v7a
📥
arm64-v8a
📥
x86_64
📥
📱 iOS
IPA
universal
📥
🐳 Docker
-
universal
📥
💾 Qnap
QPKG
amd64
📥
arm64
📥
🌐 Web
Windows
amd64
📥
arm64
📥
386
📥
MacOS
amd64
📥
arm64
📥
Linux
amd64
📥
arm64
📥
386
📥
More about installation, please refer to [Installation](https://docs.gopeed.com/install.html)
### 🛠️ Command tool
use `go install`:
```bash
go install github.com/GopeedLab/gopeed/cmd/gopeed@latest
```## 🔌 Browser Extension
Gopeed also provides a browser extension to take over browser downloads, supporting browsers such as Chrome, Edge, Firefox, etc., please refer to: [https://github.com/GopeedLab/browser-extension](https://github.com/GopeedLab/browser-extension)
## 💝 Donate
If you like this project, please consider [donating](https://docs.gopeed.com/donate.html) to support the development of this project, thank you!
## 🖼️ Showcase

## 👨💻 Development
This project is divided into two parts, the front end uses `flutter`, the back end uses `Golang`, and the two sides communicate through the `http` protocol. On the unix system, `unix socket` is used, and on the windows system, `tcp` protocol is used.
> The front code is located in the `ui/flutter` directory.
### 🌍 Environment
1. Golang 1.23+
2. Flutter 3.24+### 📋 Clone
```bash
git clone git@github.com:GopeedLab/gopeed.git
```### 🤝 Contributing
Please refer to [CONTRIBUTING.md](/CONTRIBUTING.md)
### 🏗️ Build
#### Desktop
First, you need to configure the environment according to the official [Flutter desktop website documention](https://docs.flutter.dev/development/platform-integration/desktop), then you will need to ensure the cgo environment is set up accordingly. For detailed instructions on setting up the cgo environment, please refer to relevant resources available online.
command:
- windows
```bash
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
```- macos
```bash
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
```- linux
```bash
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
Same as before, you also need to prepare the `cgo` environment, and then install `gomobile`:
```bash
go install golang.org/x/mobile/cmd/gomobile@latest
go get golang.org/x/mobile/bind
gomobile init
```command:
- android
```bash
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
```- ios
```bash
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
command:
```bash
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
[](https://www.jetbrains.com/?from=gopeed)
## 📄 License
[GPLv3](LICENSE)