Skip to content

Latest commit

 

History

History
261 lines (205 loc) · 8.6 KB

README_zh-CN.md

File metadata and controls

261 lines (205 loc) · 8.6 KB

Test Status Codecov Release Download Donate Discord

GopeedLab%2Fgopeed | Trendshift

ko-fi

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

🚀 介绍

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

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

⬇️ 下载

🪟 Windows EXE amd64 📥
Portable amd64 📥
🍎 MacOS DMG universal 📥
🐧 Linux Flathub amd64 📥
SNAP amd64 📥
DEB amd64 📥
AppImage amd64 📥
🤖 Android APK universal 📥
📱 iOS IPA universal 📥
🐳 Docker - universal 📥
💾 Qnap QPKG amd64 📥
arm64 📥
🌐 Web Windows amd64 📥
arm64 📥
386 📥
MacOS amd64 📥
arm64 📥
Linux amd64 📥
arm64 📥
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目录下。

🌍 环境要求

  1. Golang 1.23+
  2. 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

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 协议开源。