transmission/transmission
GitHub: transmission/transmission
一个快速、简单且免费的跨平台 BitTorrent 客户端,支持 GUI、命令行、daemon 和 Web UI 多种使用方式。
Stars: 14371 | Forks: 1350
## 关于
Transmission 是一个快速、简单且免费的 BitTorrent 客户端。它提供多种版本:
* 原生 macOS GUI 应用程序
* 适用于 Linux、BSD 等系统的 GTK+ 和 Qt GUI 应用程序
* 基于 Qt 的 Windows 兼容 GUI 应用程序
* 用于服务器和路由器的无头 daemon
* 用于远程控制上述任何版本的 web UI
访问 https://transmissionbt.com/ 了解更多信息。
## 文档
[Transmission 的文档](docs/README.md) 目前已过时,但团队最近启动了一个新项目来更新它,并正在寻找志愿者。如果你有兴趣,请随时提交 pull request!
## 命令行接口说明
Transmission 在 transmission-remote 中得到完全支持,这是首选的 CLI 客户端。
有三个独立的工具用于检查、创建和编辑 .torrent 文件:分别是 transmission-show、transmission-create 和 transmission-edit。
在开发 transmission-remote 之前,创建了独立客户端 transmission-cli。transmission-cli 仅限于一次处理单个 torrent,已被弃用,其存在主要是为了支持依赖它的旧硬件。在几乎所有情况下,都应该使用 transmission-remote。
不同的发行版可能会选择将任何或所有这些工具打包在一个或多个单独的包中。
## 构建
Transmission 提供一个 Xcode 项目文件 用于在 Xcode 中构建。
有关更详细的描述和依赖关系,请参阅文档中的[如何构建 Transmission](docs/Building-Transmission.md)
### 从命令行构建 Transmission 发行版
```
$ tar xf transmission-4.1.0.tar.xz
$ cd transmission-4.1.0
# 使用 -DCMAKE_BUILD_TYPE=RelWithDebInfo 构建带有调试信息的优化二进制文件。(推荐)
# 使用 -DCMAKE_BUILD_TYPE=Release 构建完全优化的二进制文件。
$ cmake -B build -DCMAKE_BUILD_TYPE=RelWithDebInfo
$ cd build
$ cmake --build .
$ sudo cmake --install .
```
### 从 nightly 构建版本构建 Transmission
从 https://build.transmissionbt.com/job/trunk-linux/ 下载压缩包,并按照上一节的步骤操作。
如果你不熟悉从源代码构建程序,这通常比从 Git 构建更容易。
### 从 Git 构建 Transmission(首次)
```
$ git clone --recurse-submodules https://github.com/transmission/transmission Transmission
$ cd Transmission
# 使用 -DCMAKE_BUILD_TYPE=RelWithDebInfo 构建带有调试信息的优化二进制文件。(推荐)
# 使用 -DCMAKE_BUILD_TYPE=Release 构建完全优化的二进制文件。
$ cmake -B build -DCMAKE_BUILD_TYPE=RelWithDebInfo
$ cd build
$ cmake --build .
$ sudo cmake --install .
```
### 从 Git 构建 Transmission(更新)
```
$ cd Transmission/build
$ cmake --build . -t clean
$ git submodule foreach --recursive git clean -xfd
$ git pull --rebase --prune
$ git submodule update --init --recursive
$ cmake --build .
$ sudo cmake --install .
```
### 代码风格
你需要设置你的编辑器,以利用位于此仓库根目录的 .clang-format 文件以及 web/package.json 中的 eslint/prettier 规则。
如果由于某种原因你不愿意或无法这样做,可以使用一个 shell 脚本:`./code_style.sh`
### 翻译
参见[语言翻译](docs/Translating.md)。
## 赞助商
| macOS CI builds are running on a M1 Mac Mini provided by MacStadium | |
| Free code signing on Windows provided by SignPath.io, certificate by SignPath Foundation |
标签:Bash脚本, BitTorrent客户端, BT下载, C/C++, CMake, GTK+, LangChain, P2P, Transmission, UML, WebUI, Xcode, 下载工具, 事务性I/O, 守护进程, 数据可视化, 文件共享, 磁力链接, 种籽文件, 轻量级, 远程控制