The-animus-project/Orc-Torrent
GitHub: The-animus-project/Orc-Torrent
一款基于 Rust 共享引擎、支持桌面与 Android 双平台的注重隐私的 BitTorrent 客户端。
Stars: 31 | Forks: 2
# ORC Torrent

**代码仓库:** [github.com/The-animus-project/Orc-Torrent](https://github.com/The-animus-project/Orc-Torrent)
**官方网站:** [Orclabs.io](https://orclabs.io)
ORC Torrent 是一款注重隐私的去中心化 BitTorrent 客户端。共享的 Rust 引擎为 Electron 桌面应用和原生 Android shell 提供动力,并由 React 提供自适应的桌面和手机界面。
**ORC Torrent 兼容 Android 10+、Windows、macOS 和 Linux。**
**最新发布版本:[v2.5.1](https://github.com/The-animus-project/Orc-Torrent/releases/tag/v2.5.1)** — 修复了旧版搜索配置导致 daemon 启动失败的紧急补丁;包含 v2.5.0 ORC Engine 技术栈。
**Android 版现已推出。** 运行 Android 10+ 的手机和平板电脑可以通过已签名的 `arm64-v8a` APK 安装 ORC。请查阅 [Android 安装指南](Install-Instructions/Android.md) 了解下载、验证、侧载以及首次运行设置的相关步骤。
-win-x64.zip` | `ORC-TORRENT-Setup-.exe` |
| **macOS** (arm64 / x64) | `ORC-TORRENT--mac-.zip` | `.dmg`, `.pkg` |
| **Linux** (x64) | `ORC-TORRENT--linux-x86_64.AppImage` | `.deb` |
| **Android** (arm64, Android 10+) | `ORC-TORRENT--android-arm64-v8a.apk` | 侧载已签名的 APK |
**便携版** 构建无需安装程序即可运行 —— 解压或赋予执行权限后,即可启动应用。**安装程序** 会注册快捷方式、菜单项,并(在 Windows/macOS 上)关联 magnet / `.torrent` 文件。
### 使用 PGP 验证发布构建
已签名的发布构建会附带分离的 ASCII 装甲 PGP 签名。从同一个 [GitHub release](https://github.com/The-animus-project/Orc-Torrent/releases) 下载构建版本及其对应的 `.asc` 文件,然后从本仓库下载 [`ORC-Torrent-Release-Key.asc`](ORC-Torrent-Release-Key.asc)。
导入发布密钥并确认其指纹:
```
gpg --import ORC-Torrent-Release-Key.asc
gpg --fingerprint 6D0D5CE9E0DA5A92
```
指纹必须为:
```
094F 3796 D3B6 99DB 5E69 A278 6D0D 5CE9 E0DA 5A92
```
在打开或解压之前验证下载的构建。例如:
```
gpg --verify ORC-TORRENT-2.5.1-linux-x86_64.AppImage.asc ORC-TORRENT-2.5.1-linux-x86_64.AppImage
```
你也可以验证已签名的校验和清单,然后检查其中所有已下载的构建:
```
gpg --verify SHA256SUMS.asc SHA256SUMS
shasum -a 256 -c SHA256SUMS
```
有效的结果会报告由上述密钥生成的正确签名。正确的签名证明文件自签名以来未被更改;在信任该密钥之前,请从可信来源独立确认其指纹。PGP 签名独立于 Windows Authenticode 和 Apple Developer ID 签名,因此操作系统可能仍会显示未经认证的开发者警告。
## 安装
从 [最新发布版本](https://github.com/The-animus-project/Orc-Torrent/releases/latest) 下载适用于你操作系统的资产。将下文中的 `` 替换为发布标签(例如 `2.5.1`)。
### Windows
| 方式 | 步骤 |
|--------|--------|
| **便携版** | 下载 `ORC-TORRENT--win-x64.zip` → 解压至任意文件夹 → 运行 **`ORC TORRENT.exe`**。无需管理员权限;可安全保存在 USB 驱动器上。 |
| **安装程序** | 下载 `ORC-TORRENT-Setup-.exe` → 运行向导 → 从开始菜单或桌面快捷方式启动 **ORC TORRENT**。 |
首次启动时,由于构建未签名,Windows SmartScreen 可能会发出警告 —— 请选择 **更多信息** → **仍要运行**。便携版和安装程序版本均支持应用内更新(设置 → 更新)。
### macOS (Apple Silicon 或 Intel)
| 方式 | 步骤 |
|--------|--------|
| **便携版** | 在 Apple Silicon 上下载 `ORC-TORRENT--mac-arm64.zip` 或在 Intel 上下载 `ORC-TORRENT--mac-x64.zip` → 解压 → 打开 **`ORC TORRENT.app`**。 |
| **DMG** | 打开 `.dmg` → 将 **ORC TORRENT** 拖入 **应用程序**。 |
| **PKG** | 运行 `.pkg` 安装程序 → 按照提示操作。 |
macOS 可能会在首次打开时阻止该应用(未认证开发者)。请使用 **右键点击 → 打开**,或在 **系统设置 → 隐私与安全性** 中允许。Apple Silicon 选择 **arm64**,Intel Mac 选择 **x64**。
### Linux (x64)
| 方式 | 步骤 |
|--------|--------|
| **便携版** | 下载 `ORC-TORRENT--linux-x86_64.AppImage` → `chmod +x ORC-TORRENT-*-linux-x86_64.AppImage` → 运行即可。无需 root 权限或包管理器。 |
| **.deb** | `sudo dpkg -i ORC-TORRENT--linux-amd64.deb` → 从应用菜单启动。 |
在某些发行版上,AppImage 需要 [FUSE](https://github.com/AppImage/AppImageKit/wiki/FUSE)(在 Ubuntu/Debian 上为 `libfuse2`)。
### Android 10+
从 GitHub Releases 下载 `ORC-TORRENT--android-arm64-v8a.apk`,验证已签名的校验和清单,并允许你的浏览器或文件管理器安装该 APK。首次启动时,使用 Android 的系统文件夹选择器创建或选择一个专用的 ORC 子文件夹。该应用不会请求广泛的存储访问权限,且在卸载后,已完成的文件仍会保留在该共享文件夹中。
默认情况下,传输使用不计量的 Wi-Fi。蜂窝数据和自动 VPN 断开传输暂停功能均需在设置和隐私中明确选择开启。
如需获取完整的下载验证、侧载、引导、更新和故障排除步骤,请阅读 **[在 Android 上安装 ORC Torrent](Install-Instructions/Android.md)**。
### 安装后
1. 启动 **ORC TORRENT**。桌面端会自动启动其本地 daemon;Android 端会在设备上启动相同的 Rust 引擎。
2. 在桌面端通过拖拽或文件选择器添加 torrent,在移动端通过“添加”表单和 Android 的“打开方式/分享”流程添加。两个平台均接受 magnet 链接和 `.torrent` 文件。
3. 桌面端可以使用 **设置 → 更新**。Android 端的更新则通过从 GitHub Releases 下载下一个已签名的 APK 并覆盖安装现有应用来完成。
如果要从源码编译而不是使用发布版本,请参阅 [从源码构建](#building-from-source) 和 [安装说明](Install-Instructions/)。
## 目录
- [下载](#downloads)
- [使用 PGP 验证发布构建](#verify-a-release-build-with-pgp)
- [安装](#installation)
- [截图](#screenshots)
- [功能](#features)
- [与众不同之处](#what-makes-it-different)
- [速度对比](#speed-comparison)
- [路线图](#roadmap)
- [架构](#architecture)
- [环境要求](#requirements)
- [从源码构建](#building-from-source) — 有关特定操作系统的指南,请参见 [安装说明](Install-Instructions/)
- [配置](#configuration)
- [使用方法](#usage)
- [开发](#development)
- [更新日志](#changelog)
- [作者](#author)
- [许可证](#license)
## 截图
ORC Torrent 桌面客户端截图:
| | |
|:---:|:---:|
| **加载动画** | **主界面** |
|  |  |
| **客户端视图** | **客户端视图** |
|  |  |
## 功能
| 领域 | 描述 |
|------|-------------|
| **Torrent 管理** | 通过 magnet 链接或 `.torrent` 文件添加;列出、启动、停止、移除、重新校验和宣告 torrent。 |
| **文件控制** | 单文件优先级和内容视图;从现有下载恢复。 |
| **Peers 和 trackers** | 检查已连接的 peers 和 tracker 状态。 |
| **Torrent 搜索** | 用于用户配置的 RSS/Atom/JSON 源和 **Torznab** 提供商(兼容 Jackett / Prowlarr)的搜索页面。ORC 本身不自带搜索提供商,在你手动添加 torrent 之前,搜索结果仅供展示。 |
| **监视文件夹** | 自动导入放入配置文件夹中的 `.torrent` 文件(防抖动、防重复)。 |
| **做种控制** | 全局分享率和做种时间限制;当达到目标时,已完成的 torrent 会自动停止。 |
| **带宽调度** | 常规和限速配置文件,支持免打扰时段计划。 |
| **隐私仪表板** | 整合的 VPN/熔断开关风险卡片,支持一键开启 VPN 安全模式。 |
| **网络页面** | 适配器列表、默认路由、DNS、VPN 信号和熔断开关强制执行状态。 |
| **GitHub 自动更新** | 检查更新、后台下载,并在设置 → 更新中重启安装。 |
| **VPN 传输暂停** | VPN 接口检测(例如 tun/wg);可选在 VPN 断开连接时关闭 ORC 传输/发现 socket。这并非操作系统级的防火墙。 |
| **ORC Engine** | 桌面/Android 共享的传输门面 (`orc-engine`),具备功能 API、传统/现代 swarm 模式以及真实反映运行时状态的隐私状态。 |
| **Peer 流量混淆** | 通过 `orc-mse` 在 TCP 上启用可选的 MSE/PE (RC4) — 支持 `off`、`prefer` 或 `require`。仅用于混淆;不提供匿名性。 |
| **自适应调度 (测试版)** | 可选的 `orc-scheduler`,具备单 peer 的 RTT/吞吐量 pipeline、停滞块恢复和有界的 endgame。传统模式仍为默认。 |
| **BEP 6 快速扩展** | `suggest piece`, `have all`/`none`, `reject request` 以及 `allowed fast`。 |
| **网络姿态** | 策略、绑定接口和威胁预设。 |
| **安全性** | 在受保护的路由上要求管理员 token 和精确的 Origin,路径限制,以及失败即拒绝的配置。 |
| **桌面集成** | magnet 和 `.torrent` 文件关联;**自定义通知声音**(内置多种下载完成和熔断开关声音;可在设置中选择或使用你自己的声音)。 |
## 与众不同之处
除了标准的 BitTorrent 行为外,我们还添加了:
| 功能 | 描述 |
|---------|-------------|
| **感知 VPN 的传输暂停** | 检测 VPN 接口,并可在 VPN 断开时关闭 ORC socket 并暂停传输。它不会阻止其他应用程序。 |
| **GeoIP 集成** | Peer 和 tracker 数据可以通过国家信息 进行丰富,以增强可见性和策略管理。 |
| **网络姿态和策略** | 用于控制允许网络的中心策略、绑定接口控制以及威胁预设,使行为符合你的设置。 |
| **ORC Engine 边界** | 应用程序代码仅与 `orc-engine` 通信。私有且衍生自 rqbit 的后端、MSE 和调度程序可以不断演进,而无需更改 torrent UUID、REST 路由或现有的 `state/rqbit` 持久化目录。 |
| **强化的 daemon API** | 精确的 Origin 白名单,每个受保护的路由(包括回环)都必需管理员 token,经过净化的错误信息,以及桌面端 token 与渲染进程的隔离。 |
| **Daemon 与桌面端分离** | Rust daemon 运行 BitTorrent 会话和 REST API;Electron 应用管理 daemon 并代理经过身份验证的调用。这种分离保持了引擎的稳定性,并允许我们独立更新各个部分。 |
| **Socket 级别的绑定接口** | 设置绑定接口后,引擎会将 TCP、uTP、DHT、tracker 和 LSD socket 绑定到该地址;严格模式拒绝使用通配符回退。 |
| **策略持久化** | 熔断开关、网络姿态、做种、带宽和监视文件夹设置会通过 `config.json` 在 daemon 重启后继续生效。 |
| **自定义通知声音** | 内置多种下载完成和熔断开关事件的声音;可在设置中选择或提供你自己的文件。可在桌面应用中针对每个事件启用/禁用。 |
## 速度对比
我们使用相同的官方 Ubuntu torrent,在同一台 Apple Silicon Mac 上将 ORC Torrent 与 qBittorrent、Transmission 和 Deluge 进行了对比。该受控测试套件使用了精确的 512 MiB 目标,每个客户端进行三次运行,随机执行顺序,全新的客户端状态,无限制的速率,并匹配 128 个 peer 的限制。
| 客户端 | 受控结果 | 达到 512 MiB 的中位数时间 | 中位数目标平均速度 | ORC 吞吐量优势 |
|---|---:|---:|---:|---:|
| **ORC Torrent 2.3.3** | **3/3 已完成** | **14.943 s** | **35.929 MB/s** | — |
| qBittorrent 5.2.3 | 3/3 已完成 | 41.685 s | 12.879 MB/s | **2.790×** |
| Transmission 4.1.3 | 3/3 已完成 | 268.130 s | 2.002 MB/s | **17.944×** |
| Deluge 2.2.0 | 0/3 在截止时间前完成 | 每次 >600 s | 0.0205 MB/s 部分窗口中位数 | **>40.154× 下限** |
ORC 达到 512 MiB 所需的时间比 **qBittorrent 少 64.15%**,比 **Transmission 少 94.43%**。它是在观察到 46 个 peer 行的中位数峰值下实现这一点的,而 qBittorrent 为 127 个,这表明在本次测试窗口中,有效 peer 的使用和请求调度比单纯的原始连接数更为重要。
这些 2026 年 8 月 2 日的结果仅描述了本次基准测试窗口的情况,并不保证适用于每个 torrent 或网络。Deluge 运行在 ARM64 Linux container 中,因为它当前原生的 macOS 设置不兼容。有关每次运行、早期的完整负载比较、方法论、环境、机器可读数据和局限性,请参阅 [完整的多客户端基准测试](docs/benchmarks/torrent-client-comparison-2026-08-02.md)。
## 路线图
我们在此保留一份路线图,并随着进展进行更新。随着项目的发展,未来可能会添加更详细的、动态更新的路线图。
| 阶段 | 描述 |
|-------|-------------|
| **ORC Engine**(当前) | 掌控 `orc-engine` 背后的传输技术栈:在跨平台测试通过时推广现代 swarm 的 `auto` 模式,强化 MSE/PE 和 BEP 6,使自适应调度更加成熟,并保持真实的功能/隐私状态。参见 [ORC Engine](docs/ORC_ENGINE.md) 和 [自适应调度器](docs/ORC_ADAPTIVE_SCHEDULER.md)。 |
| **跨平台优化**(进行中) | 签名的 Android/桌面端发布版本、CI 矩阵、务实的文档,以及 v2.4.0 / v2.5.0 功能推进后的可靠性提升。 |
| **日常主力**(已发布,持续完善) | 监视文件夹、隐私仪表板、VPN 安全模式、做种/带宽自动化以及自动更新 —— 已在 **2.3.0** 中发布;持续的 UX 优化和强化。 |
| **生态系统**(未来) | 集成和社区驱动的改进;仅提供通用搜索提供商接口(不包含盗版索引器)。 |
文档:[安装](docs/INSTALL.md) · [开发](docs/DEVELOPMENT.md) · [ORC Engine](docs/ORC_ENGINE.md) · [自适应调度器](docs/ORC_ADAPTIVE_SCHEDULER.md) · [代码库概览](docs/CODEBASE_OVERVIEW.md) · [隐私/VPN](docs/PRIVACY_VPN.md) · [已知限制](docs/KNOWN_LIMITATIONS.md) · [配置](docs/CONFIGURATION.md) · [测试清单](docs/TESTING_CHECKLIST.md)
## 架构
ORC Torrent 分为共享的 Rust 传输栈、daemon API 以及桌面/Android 前端:
| 组件 | 位置 | 作用 |
|-----------|----------|------|
| **桌面应用** | `ui/desktop/` | Electron 主进程管理 daemon 生命周期并代理经过身份验证的 API 操作;React 渲染器永远不会接收 daemon token 或决定其权限。 |
| **Android 应用** | `ui/android/` | 通过 JNI 在设备上运行 Rust 的 Capacitor shell;与桌面端采用相同的引擎契约。 |
| **Daemon** | `crates/orc-daemon/` | 在 `127.0.0.1:8733` 上提供经过身份验证的 Axum REST API,具有精确的 Origin 白名单和默认拒绝的 middleware。 |
| **核心** | `crates/orc-core/` | 共享状态(torrent、策略、熔断开关)、GeoIP、VPN 检测以及通过 ORC Engine 契约表达的逻辑。 |
| **ORC Engine** | `crates/orc-engine/` | 公开的异步传输门面,用于处理生命周期、存储、持久化、网络策略、功能、隐私状态、peers、暂停和重新配置。应用 crate 不得直接依赖 `librqbit`。 |
| **MSE / 调度器** | `crates/orc-mse/`, `crates/orc-scheduler/` | 由 ORC 拥有的独立 peer 流量混淆和自适应请求调度。 |
| **私有后端** | `crates/librqbit-v9-patched/`, `crates/rqbit-v9/` | 衍生自 rqbit [v9.0.0-beta.2](https://github.com/ikatson/rqbit/releases/tag/v9.0.0-beta.2) 的实现 (Apache-2.0),保留在引擎门面之后。归属说明:[`crates/orc-engine/NOTICE.md`](crates/orc-engine/NOTICE.md)。 |
**开发 ORC Engine。** 将 `orc-engine` 视为唯一的公开传输 API。相对于静默回退,更倾向于增量的功能和运行时真实的反映状态。在网络和调度的升级测试通过之前,传统模式将保持为安全的默认设置。本地检查:
```
cd crates
cargo test -p orc-engine -p orc-mse -p orc-scheduler -p orc-core
cargo run -p orc-scheduler --bin scheduler-bench --release
```
详情:[docs/ORC_ENGINE.md](docs/ORC_ENGINE.md) · [docs/ORC_ADAPTIVE_SCHEDULER.md](docs/ORC_ADAPTIVE_SCHEDULER.md) · [docs/CODEBASE_OVERVIEW.md](docs/CODEBASE_OVERVIEW.md)。
## 环境要求
- **Rust** (stable) — 用于构建 daemon
- **Node.js** 20+ 和 **npm** — 用于构建和运行桌面端 UI
- **平台**:ORC Torrent 运行于 **Android 10+**、**Windows**、**macOS** 和 **Linux**。有关各操作系统的逐步编译指南,请参见 [安装说明](Install-Instructions/)。
## 从源码构建
有关详细的、特定于操作系统的步骤(先决条件、构建顺序、打包),请参阅 **[安装说明](Install-Instructions/)**(Windows、macOS、Linux)。
### Windows:在仓库根目录下使用单条命令
安装 Rust 和 Node 后,在 **仓库根目录** 下运行:
- **`build.cmd`** — 编译 daemon + UI(不生成安装程序)。
- **`build.cmd -Dist`** — 执行相同操作,随后运行 electron-builder(生成 NSIS 安装程序 + 便携版 zip)。
在 **PowerShell** 中,你可以使用带可选参数 **`-Dist`** 的 **`.\build.ps1`**。在 **命令提示符** 中,请使用 **`build.cmd`**,以免 `build.ps1` 在记事本中打开。参见 [Install-Instructions/Windows.md](Install-Instructions/Windows.md)。
### 所有平台:在 `ui/desktop` 中使用 `npm`
快速概览:
### 1. 构建 daemon(可选)
`npm run build`(第 3 步)已经会编译 daemon 并将其复制到 `ui/desktop/assets/bin/` 中。如果要从 **仓库根目录** 手动构建 Rust 二进制文件:
```
cd crates
cargo build --release -p orc-daemon
```
二进制文件位于 `crates/target/release/orc-daemon`(在 Windows 上为 `orc-daemon.exe`)。
### 2. 为桌面应用安装 daemon(可选)
仅当你跳过了集成构建并手动构建了 daemon 时:
- **Windows**: `copy crates\target\release\orc-daemon.exe ui\desktop\assets\bin\`
- **Linux / macOS**: `cp crates/target/release/orc-daemon ui/desktop/assets/bin/`
### 3. 构建并打包桌面应用
```
cd ui/desktop
npm install
npm run clean # optional: remove old compile + release artifacts
npm run build
npm run dist
```
- `npm run build` — 以发布模式构建 `orc-daemon`,将其复制到 `assets/bin/`,然后为主进程和预加载脚本运行 Vite 渲染器和 TypeScript 编译。输出位于 `ui/desktop/dist/` 下(主进程、预加载、渲染器);在你进行打包之前,这不是最终的安装程序。
- `npm run dist` — 运行 `build`,然后进行完整的 Electron 打包。安装程序和便携版压缩包会写入 `ui/desktop/release/`(例如 Windows NSIS + zip;Linux AppImage + `.deb`;macOS `.dmg` + `.zip` + `.pkg`)。
**通过 Docker 构建 Linux 版本**(在 macOS 或 Windows 主机上):在仓库根目录下运行 `./scripts/build-linux-docker.sh`。
**Android 构建:** 安装 Java 21、Android SDK 36、NDK `28.2.13676358`、Rust targets `aarch64-linux-android` 和 `x86_64-linux-android`,以及 `cargo-ndk`。然后在 `ui/desktop` 和 `ui/android` 中运行 `npm ci`,接着在 `ui/android` 中运行 `npm run sync:web`,并在 `ui/android/android` 中运行 `./gradlew assembleDebug`。
**发布版本:** 推送一个 `v*` 标签(例如 `v2.5.0`)或手动运行 [构建发布版本](.github/workflows/build-release.yml) 工作流。CI 会发布已签名的 Windows、macOS 和 Linux 软件包(校验和签名使用 `RELEASE_GPG_PRIVATE_KEY` 和 `RELEASE_GPG_PASSPHRASE`)。生产环境的 Android APK **在本地签名**,所使用的 keystore 绝不会进入仓库或 CI,然后会被上传到同一个 GitHub release 中 —— 参见 [docs/ANDROID.md](docs/ANDROID.md)。机密信息绝不会提交到代码库。
要在不打包的情况下以开发模式运行:
```
cd ui/desktop
npm run dev
```
## 配置
### Daemon
| 项目 | 环境变量 | 描述 |
|------|----------------------|-------------|
| 绑定地址 | `DAEMON_BIND` | 默认:`127.0.0.1:8733`。拒绝明文非回环绑定。 |
| 管理 token | `DAEMON_ADMIN_TOKEN` | 必需,包括回环连接在内;至少 32 个字符。桌面端在每次 daemon 启动时都会轮换一个 48 字符的 token。 |
| 允许的 Origin | `DAEMON_ALLOWED_ORIGIN` | 精确匹配的受保护路由 Origin。桌面端使用 `orc://desktop`;拒绝不透明、缺失和通配符的 Origin。 |
| 下载目录 | `ORC_DOWNLOAD_DIR` | 默认:在 Windows、macOS 和 Linux 上为 **Downloads/ORC Torrent**。 |
除 `GET /health` 和 `GET /version` 外,每个路由都需要提供精确配置的 Origin 和 `x-admin-token`,包括读取操作和回环请求。浏览器预检被限制为精确的 Origin。在实现独立的 TLS/范围限定 token 监听器之前,远程 HTTP 监听处于禁用状态。
**手动检查:** 一个带有 `Origin: orc://desktop` 但无 token 的受保护请求会返回 `401`;不相关的 Web Origin 会返回 `403` 或无法通过 CORS 预检。
### 搜索
- ORC Torrent 本身不附带搜索提供商。在使用搜索之前,请在搜索设置中添加并启用你自己的提供商。
- 提供商可以使用开放式内容 JSON 格式、标准 RSS/Atom torrent 订阅源或兼容 Torznab 的 endpoint。
- **Torznab** 提供商(JackettProwlarr 或兼容程序)可以通过安全存储的 API 密钥和可选的本地/私有 endpoint 授权进行添加。参见 [docs/SEARCH_PROVIDERS.md](docs/SEARCH_PROVIDERS.md)。
- 在用户手动点击 **添加** 之前,搜索结果仅供展示;客户端绝不会根据搜索结果自动下载。
- UI 提醒:*仅下载你有合法权利下载的 torrent。*
**配置文件**(例如监听端口):
- **Windows**: `%APPDATA%\OrcTorrent\config.json`
- **macOS**: `~/Library/Application Support/OrcTorrent/config.json`
- **Linux**: `~/.config/OrcTorrent/config.json`
### 桌面端
桌面 UI 通过 daemon API 读写设置(包括通知和安全);适用上述的 daemon 配置。
### Windows 发行版代码签名(可选)
`ui/desktop/package.json` 中的打包配置将 `forceCodeSigning` 和 `signAndEditExecutable` 设置为关闭状态,以便在没有证书的情况下也能在本地运行 `npm run dist`。要在 CI 中生成签名的安装程序,请配置标准的代码签名 PFX:添加仓库机密 `CSC_LINK`(PFX 的文件路径或 URL)和 `CSC_KEY_PASSWORD`,在使用带有证书的托管 runner 时,将 `.github/workflows/build-release.yml` 中的 `CSC_IDENTITY_AUTO_DISCOVERY` 设置为 `true`,并将 `package.json` 中的 Windows `forceCodeSigning` / `signAndEditExecutable` 字段设置为 `true`,以用于应强制要求签名的发布构建版本。
## 使用方法
1. 从 [GitHub Releases](https://github.com/The-animus-project/Orc-Torrent/releases) [安装](#installation) 应用(便携版压缩包或安装程序)。
2. 通过拖拽、文件选择器或关联的 magnet 链接添加 torrent。
3. 使用 torrent 列表和检查器查看概览、文件、peers、trackers 和传输情况。
4. 在设置中配置 VPN、熔断开关、网络姿态、监视文件夹、做种和带宽。
5. 启用 **设置 → 更新** 以自动从 GitHub 接收新版本。
## 开发
我们欢迎各种贡献。代码库的组织方式使得 daemon、ORC Engine 以及桌面/Android shell 能够被独立开发。
- **ORC Engine**:推荐在 `crates/orc-engine/`(或在需要时配合 `orc-mse` / `orc-scheduler`)进行修改。不要在 `orc-core`、`orc-daemon` 或 Android 中添加直接的 `librqbit` 依赖。参见 [docs/ORC_ENGINE.md](docs/ORC_ENGINE.md)。
- **Rust**:在 `crates/` 目录下,运行 `cargo build --release -p orc-daemon`;运行针对引擎的测试可使用 `cargo test -p orc-engine -p orc-mse -p orc-scheduler -p orc-core`。
- **桌面端**:在 `ui/desktop/` 目录下,运行 `npm run dev` 进行开发;运行 `npm run build` 后再运行 `npm run dist` 生成完整的软件包。
- **Android**:开发者构建和架构记录在 [docs/ANDROID.md](docs/ANDROID.md) 中;用户安装指南位于 [Install-Instructions/Android.md](Install-Instructions/Android.md)。
- **CI**:[.github/workflows/build-release.yml](.github/workflows/build-release.yml) 中的工作流会在 `workflow_dispatch` 或 `v*` 标签上运行,编译 Android(未签名)并测试 API 29/33/34/36,构建 macOS、Linux 和 Windows 软件包,对桌面发布资产进行 PGP 签名,并将其发布在 GitHub Releases 上。已签名的 Android APK 在本地生成,并单独附加到该发布版本中。
如果你不确定从何开始,请查看 [路线图](#roadmap) 和 open issues —— ORC Engine 的工作是当前的重点。
## 更新日志
我们保留了记录重要变更的更新日志。**最近 5 次更新:**
| 版本 | 亮点 |
|---------|-------------|
| **2.5.1** | 紧急修复:在旧版搜索提供商配置上启动 daemon 时不再会失败即拒绝。 |
| **2.5.0** | ORC Engine 边界,强化的 localhost API,可选的 MSE/PE,BEP 6 快速扩展,以及自适应请求调度 beta 版。 |
| **2.4.0** | 首个 Android 10+ 构建版本:签名 APK,设备端 Rust 引擎,移动端 UI,SAF 存储,后台传输,Wi-Fi 优先策略,持久化恢复,以及感知 VPN 的熔断开关。 |
| **2.3.4** | Torznab 提供商,受保护的 API 密钥存储,搜索去重和 UI 优化,Intel macOS 软件包,以及为每个可分发版本提供 PGP 签名。 |
| **2.3.3** | v2.3.2 之后的补丁版本号更新(即安全更新版本之后的下一个有效 semver)。 |
| **2.3.2** | Dependabot 安全补丁(npm + Rust openssl/webpki/serde_with/rand),Animus 启动/闪屏优化,受 daemon 控制的启动流程。 |
完整历史记录:**[CHANGELOG.md](CHANGELOG.md)**。
## 作者
- **[Vurzumm](https://github.com/Animus-exe)** — [GitHub](https://github.com/Animus-exe) · [X @Itsvurzum](https://x.com/Itsvurzum)
```
/\_/\ (
( ^.^ ) _)
\"/ (
( | | )
(__d b__)
```
## 许可证
本项目基于 **GNU Affero General Public License v3.0 (AGPL-3.0)** 授权。
版权所有 (C) 2026 ORC Torrent 和 The ANIMUS PROJECT。
有关完整文本,请参阅 [LICENSE](LICENSE) 文件,或访问 。

Windows installer · macOS DMG (Apple Silicon and Intel) · Linux AppImage · Android APK — portable zips & other formats
**ORC Torrent 正在积极开发中。** 目前的工作重心是 **ORC Engine** —— 桌面端和 Android 端共享的传输边界 —— 包括现代 swarm 网络、可选的 MSE/PE、BEP 6 以及自适应请求调度。我们会随时更新路线图和文档。 ## 下载 预构建的安装程序和便携版压缩包已发布在 **[GitHub Releases](https://github.com/The-animus-project/Orc-Torrent/releases)** 上。CI 构建会在每个 `v*` 标签上运行。 | 平台 | 便携版 (免安装) | 安装程序 | |----------|----------------------|-----------| | **Windows** (x64) | `ORC-TORRENT-标签:BitTorrent, Electron, React, Rust, Syscalls, 下载工具, 可视化界面, 安卓, 网络流量审计, 通知系统