本文档提供设置 Hydra 启动器开发环境、从源代码构建应用程序以及为项目做贡献的说明。有关总体架构的信息,请参阅核心架构。
在开发 Hydra 启动器之前,您需要安装一些依赖项
Hydra 需要 Node.js 和 Yarn 来管理其 JavaScript 依赖项
BitTorrent 客户端组件需要 Python 3.9
在 Windows 上,libtorrent 需要 OpenSSL 1.1
复制示例环境变量文件并进行自定义
所需的环境变量包括
| 可变 | 描述 |
|---|---|
| MAIN_VITE_API_URL | 后端 API URL |
| MAIN_VITE_AUTH_URL | 身份验证服务 URL |
| RENDERER_VITE_REAL_DEBRID_REFERRAL_ID | Real-Debrid 服务推荐 ID |
| RENDERER_VITE_TORBOX_REFERRAL_CODE | TorBox 服务推荐码 |
| STEAMGRIDDB_API_KEY | SteamGridDB 的 API 密钥(用于获取游戏图标) |
来源:.env.example1-5 src/main/vite-env.d.ts1-14 src/renderer/src/vite-env.d.ts1-14 README.md145-150
来源:src/main/main.ts1-70 src/main/index.ts1-157 src/renderer/src/main.tsx1-92 src/main/services/window-manager.ts1-450
要启动开发服务器,请运行
此命令将
来源:package.json16-31 README.md151-157
首先,构建基于 Python 的 BitTorrent 客户端
这会使用 cx_Freeze 为 Python RPC 服务器创建可执行二进制文件。
根据您的目标平台,使用以下命令之一
来源:package.json16-31 README.md159-183
来源:.github/workflows/build.yml1-100 .github/workflows/release.yml1-109 .github/workflows/lint.yml1-36 package.json16-31
项目使用 electron-vite 进行构建和打包。配置在 electron.vite.config.ts 中定义
来源:electron.vite.config.ts1-63
package.json 文件定义了几个有用的开发脚本
| 脚本 | 描述 |
|---|---|
format | 使用 Prettier 格式化代码 |
lint | 运行 ESLint 检查问题 |
typecheck | 运行 TypeScript 类型检查 |
dev | 启动开发服务器 |
build | 构建应用程序 |
build:win | 构建 Windows 版本 |
build:linux | 构建 Linux 版本 |
build:mac | 构建 macOS 版本 |
Hydra 启动器使用 GitHub Actions 进行 CI/CD 管道
来源:README.md85-103 .github/workflows/build.yml1-100 .github/workflows/release.yml1-109 .github/workflows/lint.yml1-36
项目有几个 GitHub Actions 工作流
Lint 工作流:在拉取请求上运行以检查代码质量
构建工作流:在拉取请求上运行以确保构建成功
发布工作流:在推送到主分支时运行
来源:.github/workflows/build.yml1-100 .github/workflows/release.yml1-109 .github/workflows/lint.yml1-36 scripts/upload-build.cjs1-67
有几种方式可以为 Hydra 启动器做贡献
翻译:帮助将应用程序翻译成新语言或改进现有翻译。
代码:通过修复错误或添加新功能来为代码库做贡献。
文档:改进文档,包括此 Wiki。
要贡献代码更改
yarn lint, yarn typecheck)欲了解更多信息,请加入Telegram 频道。
Python RPC 服务器启动失败:
构建错误:
yarn typecheck 以识别类型错误yarn 安装开发服务器未工作: