English | 中文 | 日本語 | 正體中文 | Tiếng Việt
Gopeed(全称 Go Speed),直译过来中文名叫做够快下载器
(不是狗屁下载器!),是一款由Golang
+Flutter
开发的高速下载器,支持(HTTP、BitTorrent、Magnet)协议下载,并且支持全平台使用。除了基本的下载功能外,Gopeed 还是一款高度可定制化的下载器,支持通过对接APIs或者安装和开发扩展来实现更多的功能。
Windows | MacOS | Linux | Android | iOS | Docker | Qnap | Web | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
EXE |
Portable |
DMG |
Flathub |
SNAP |
DEB |
AppImage |
APK |
IPA |
- | QPKG |
Windows |
MacOS |
Linux |
||||||
amd64 | amd64 | - | amd64 | amd64 | amd64 | amd64 | - | - | - | amd64 | arm64 | amd64 | amd64 | 386 | amd64 | amd64 | amd64 | amd64 | 386 |
前往 | 前往 | 前往 | 前往 | 前往 | 前往 | 前往 | 前往 | 前往 | 前往 | 前往 | 前往 | 前往 | 前往 | 前往 | 前往 | 前往 | 前往 | 前往 | 前往 |
更多关于安装的内容请参考安装文档
使用go install
安装:
go install github.com/GopeedLab/gopeed/cmd/gopeed@latest
Gopeed 还提供了浏览器扩展用于接管浏览器下载,支持 Chrome、Edge、Firefox 等浏览器,具体请参考:https://github.com/GopeedLab/browser-extension
如果觉得项目对你有帮助,请考虑赞助以支持这个项目的发展,非常感谢!
本项目分为前端和后端两个部分,前端使用flutter
,后端使用Golang
,两边通过http
协议进行通讯,在 unix 系统下,使用的是unix socket
,在 windows 系统下,使用的是tcp
协议。
前端代码位于
ui/flutter
目录下。
- Golang 1.23+
- Flutter 3.24+
git clone [email protected]:GopeedLab/gopeed.git
请参考贡献指南
首先需要按照flutter desktop 官网文档进行环境配置,然后需要准备好cgo
环境,具体可以自行搜索。
构建命令:
- windows
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
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
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
同样的也是需要准备好cgo
环境,接着安装gomobile
:
go install golang.org/x/mobile/cmd/gomobile@latest
go get golang.org/x/mobile/bind
gomobile init
构建命令:
- android
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
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
构建命令:
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
基于 GPLv3 协议开源。