Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: 5 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 (over 5 years ago)
- Default Branch: main
- Last Pushed: 2024-10-19T08:55:23.000Z (17 days ago)
- Last Synced: 2024-10-29T09:06:02.731Z (7 days 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-ccamel - GopeedLab/gopeed - A modern download manager that supports all platforms. Built with Golang and Flutter. (Dart)
- awesome - GopeedLab/gopeed - A modern download manager that supports all platforms. Built with Golang and Flutter. (Dart)
- awesome-ops - GopeedLab/gopeed - 3.0|16138|2019-04-21|2024-10-03 | 一款由Golang+Flutter开发的高速下载器,支持(HTTP、BitTorrent、Magnet)协议下载,并且支持全平台使用。除了基本的下载功能外,Gopeed 还是一款高度可定制化的下载器,支持通过对接APIs或者安装和开发扩展来实现更多的功能 | (Download-Tools)
- StarryDivineSky - GopeedLab/gopeed
README
# [![](_docs/img/banner.png)](https://gopeed.com)
[![Test Status](https://github.com/GopeedLab/gopeed/workflows/test/badge.svg)](https://github.com/GopeedLab/gopeed/actions?query=workflow%3Atest)
[![Codecov](https://codecov.io/gh/GopeedLab/gopeed/branch/main/graph/badge.svg)](https://codecov.io/gh/GopeedLab/gopeed)
[![Release](https://img.shields.io/github/release/GopeedLab/gopeed.svg)](https://github.com/GopeedLab/gopeed/releases)
[![Download](https://img.shields.io/github/downloads/GopeedLab/gopeed/total.svg)](https://github.com/GopeedLab/gopeed/releases)
[![Donate](https://img.shields.io/badge/%24-donate-ff69b4.svg)](https://docs.gopeed.com/donate.html)
[![Discord](https://img.shields.io/discord/1037992631881449472?label=Discord&logo=discord&style=social)](https://discord.gg/ZUJqJrwCGB)[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](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
Platform
Package Type
Download Link
Windows
EXE Installer
Link
Portable ZIP
Link
MacOS
DMG Installer
Link
Linux
Flathub
Link
SNAP
Link
DEB
Link
AppImage
Link
Android
APK
Link
iOS
IPA
Link
Web
Link
Docker
Link
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
![](_docs/img/ui-demo.png)
## 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.22+
2. Flutter 3.24+### Clone
```bash
git clone [email protected]: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" -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
[![goland](_docs/img/goland.svg)](https://www.jetbrains.com/?from=gopeed)
## License
[GPLv3](LICENSE)