菜单

开发环境设置

相关源文件

本文档提供设置 Hydra 启动器开发环境、从源代码构建应用程序以及为项目做贡献的说明。有关总体架构的信息,请参阅核心架构

先决条件

在开发 Hydra 启动器之前,您需要安装一些依赖项

Node.js 和 Yarn

Hydra 需要 Node.js 和 Yarn 来管理其 JavaScript 依赖项

  1. nodejs.org安装 Node.js(推荐版本 20.18.0)
  2. 使用以下命令安装 Yarn

Python 3.9

BitTorrent 客户端组件需要 Python 3.9

  1. python.org下载并安装 Python 3.9
  2. 确保 Python 已添加到您的系统 PATH 中

OpenSSL 1.1 (仅限 Windows)

在 Windows 上,libtorrent 需要 OpenSSL 1.1

  1. 下载并安装OpenSSL 1.1

来源:README.md112-131

环境设置

1. 克隆仓库

2. 安装 Node 依赖项

3. 安装 Python 依赖项

4. 配置环境变量

复制示例环境变量文件并进行自定义

所需的环境变量包括

可变描述
MAIN_VITE_API_URL后端 API URL
MAIN_VITE_AUTH_URL身份验证服务 URL
RENDERER_VITE_REAL_DEBRID_REFERRAL_IDReal-Debrid 服务推荐 ID
RENDERER_VITE_TORBOX_REFERRAL_CODETorBox 服务推荐码
STEAMGRIDDB_API_KEYSteamGridDB 的 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

运行开发服务器

要启动开发服务器,请运行

此命令将

  1. 启动 Electron 进程
  2. 编译并提供渲染进程
  3. 启动用于 Torrent 功能的 Python RPC 服务器

来源:package.json16-31 README.md151-157

从源代码构建

构建 BitTorrent 客户端

首先,构建基于 Python 的 BitTorrent 客户端

这会使用 cx_Freeze 为 Python RPC 服务器创建可执行二进制文件。

构建应用程序

根据您的目标平台,使用以下命令之一

Windows

Linux

macOS

来源: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 进行构建和打包。配置在 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 版本

来源:package.json16-31

持续集成

Hydra 启动器使用 GitHub Actions 进行 CI/CD 管道

开发工作流

来源:README.md85-103 .github/workflows/build.yml1-100 .github/workflows/release.yml1-109 .github/workflows/lint.yml1-36

CI 管道组件

项目有几个 GitHub Actions 工作流

  1. Lint 工作流:在拉取请求上运行以检查代码质量

    • 运行 ESLint
    • 使用 commitlint 验证提交消息
    • 运行 TypeScript 类型检查
    • 使用 Prettier 检查格式
  2. 构建工作流:在拉取请求上运行以确保构建成功

    • 在 Windows 和 Ubuntu 上构建
    • 创建用于测试的构建产物
  3. 发布工作流:在推送到主分支时运行

    • 在 Windows 和 Ubuntu 上构建
    • 创建包含已构建二进制文件的 GitHub 发布
    • 将构建产物上传到 S3 进行分发

来源:.github/workflows/build.yml1-100 .github/workflows/release.yml1-109 .github/workflows/lint.yml1-36 scripts/upload-build.cjs1-67

贡献

有几种方式可以为 Hydra 启动器做贡献

  1. 翻译:帮助将应用程序翻译成新语言或改进现有翻译。

  2. 代码:通过修复错误或添加新功能来为代码库做贡献。

  3. 文档:改进文档,包括此 Wiki。

要贡献代码更改

  1. Fork 存储库
  2. 在本地克隆你的 fork
  3. 为你的更改创建分支
  4. 进行您的更改
  5. 确保测试通过 (yarn lint, yarn typecheck)
  6. 提交拉取请求

欲了解更多信息,请加入Telegram 频道

来源:README.md85-103

故障排除

常见问题

  1. Python RPC 服务器启动失败:

    • 确保 Python 3.9 已安装并已添加到您的 PATH 环境变量中
    • 检查所有 Python 依赖项是否已安装
    • 在 Windows 上,验证 OpenSSL 1.1 是否已安装
  2. 构建错误:

    • 运行 yarn typecheck 以识别类型错误
    • 确保所有依赖项都已通过 yarn 安装
  3. 开发服务器未工作:

    • 检查端口冲突
    • 验证环境变量是否已正确设置