Skip to content

Latest commit

 

History

History
211 lines (158 loc) · 6.68 KB

README_zh-CN.md

File metadata and controls

211 lines (158 loc) · 6.68 KB

Test Status Codecov Release Download Donate Discord

ko-fi

English | 中文 | 日本語 | 正體中文 | Tiếng Việt

介绍

Gopeed(全称 Go Speed),直译过来中文名叫做够快下载器(不是狗屁下载器!),是一款由Golang+Flutter开发的高速下载器,支持(HTTP、BitTorrent、Magnet)协议下载,并且支持全平台使用。除了基本的下载功能外,Gopeed 还是一款高度可定制化的下载器,支持通过对接APIs或者安装和开发扩展来实现更多的功能。

访问 ✈ 官方网站 | 📖 官方文档

下载

运行平台 安装包类型 下载链接
Windows EXE Installer 前往
Portable ZIP 前往
MacOS DMG Installer 前往
Linux Flathub 前往
SNAP 前往
DEB 前往
AppImage 前往
Android APK 前往
iOS IPA 前往
Web 前往
Docker 前往

更多关于安装的内容请参考安装文档

命令行工具

使用go install安装:

go install github.com/GopeedLab/gopeed/cmd/gopeed@latest

赞助

如果觉得项目对你有帮助,请考虑赞助以支持这个项目的发展,非常感谢!

界面展示

开发

本项目分为前端和后端两个部分,前端使用flutter,后端使用Golang,两边通过http协议进行通讯,在 unix 系统下,使用的是unix socket,在 windows 系统下,使用的是tcp协议。

前端代码位于ui/flutter目录下。

环境要求

  1. Golang 1.21+
  2. Flutter 3.16+

克隆项目

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" -o ui/flutter/android/app/libs/libgopeed.aar -target=android -androidapi 19 -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

Web 端

构建命令:

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

感谢

贡献者

JetBrains

goland

开源许可

基于 GPLv3 协议开源。