Files
gopeed/README_zh-TW.md
T
2023-11-10 09:11:50 +08:00

4.6 KiB
Raw Blame History

Test Status Codecov Release Download Donate Discord

ko-fi

English | 中文 | 日本語 | 正體中文

簡介

Gopeed(全稱 Go Speed),是一款使用Golang+Flutter編寫的高速下載軟體,支援(HTTP、BitTorrent、Magnet)協定,同時支援所有的平台。

前往 ✈ 主頁 | 📖 文檔

安裝

已支援的平台

  • Windows
  • MacOS
  • Linux
  • Android
  • iOS
  • Web
  • Docker

下載

註:MacOS 版運行時若提示損壞,請在終端中執行 xattr -d com.apple.quarantine /Applications/Gopeed.app

使用CLI安裝

使用go install安裝:

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

Docker

直接執行

docker run -d -p 9999:9999 -v /path/to/download:/root/Downloads liwei2633/gopeed

使用 Docker Compose

docker-compose up -d

訪問服務

當 docker 容器運作時,可以通過 http://localhost:9999 訪問 web 頁面。

贊助

如果你認為該項目對你有所幫助,請考慮贊助以支持該項目的持續發展,謝謝!

軟體介面

開發

該項目分為前端與後端,前端使用flutter編寫,後端使用Golang編寫,兩邊通過http協定進行通訊,在 unix 系統下,則使用unix socket,在 windows 系統下,則使用tcp協定。

前端代碼位於ui/flutter目錄內。

開發環境

  1. Golang 1.19+
  2. Flutter 3.10+

克隆項目

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

網頁端

組建指令:

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
go run cmd/web/main.go

感謝

貢獻者

JetBrains

goland

軟體許可

該軟體遵循 GPLv3 。