rtorrent 是什么

这是一个 PT 下载工具,和大家熟知的 utorrent、vuze、transmission 属于同类的产品。其优点 / 特点是:

  • 被广大国内外 PT 网站所接受,包括馒头、ttg、ipt 等
  • 自身仅支持 CLI,即命令行界面,对一些没有图形操作界面的系统比较友好
  • 有配套的远程控制指令,也有配套的 GUI,支持直观的用户操作
  • 支持程序控制,可以实现一定程度的自动化

不过另一方面 rtorrent 也有自己的弊端,安装较为复杂,目前稳定的 0.9.6 版本不支持后台运行等等……因此考虑使用 rtorrent 之前,请确认这个软件是否适合你。

安装

你可以点击 这里 访问 rtorrent 的 GitHub 项目。在安装介绍页面,对 rtorrent 的安装有一些介绍。

可以通过包管理工具进行安装

apt install rtorrent # Ubuntu & Debian
dnf install rtorrent # Fedora
pacman -S rtorrent # Arch
brew install rtorrent # macOS

你也可以通过 GitHub 下载源码,自行编译

./configure; make; make install

或者通过 docker 进行部署,这里就不做具体介绍了

服务配置

rtorrent 会默认读取位于 ~/.rtorrent.rc 里的配置信息,运行中获取的相关数据会保存在 ~/rtorrent 文件夹下。
rtorrent 提供了配置文件的模板,可以通过以下命令快速获取该模板,并完成基本配置的生成

curl -Ls "https://raw.githubusercontent.com/wiki/rakshasa/rtorrent/CONFIG-Template.md" \| sed -ne "/^######/,/^### END/p" \| sed -re "s:/home/USERNAME:$HOME:" >~/.rtorrent.rc
mkdir -p ~/rtorrent/

有一些常用的配置选项值得关注

# 请修改 ~/.rtorrent.rc 文件中的相关选项# 如果希望开启 xmlrpc 远程控制,或者使用 GUI,请开启这个选项
network.scgi.open_port = 0.0.0.0:4000 # 地址设置为自己想要的地址和端口# 取消下载完成后的强制哈希检查
pieces.hash.on_completion.set = no# 设置下载后文件的读写权限,umask 相关知识请自行了解
system.umask.set = 0027# 设置下载后的单个、最大文件
system.file.max_size.set = 500G

大多数配置例如分享比例设置、上传下载速度限制等等在示例配置文件中均有明确的说明,对其他配置感兴趣的同学也可以自行深入了解一下。

服务的使用

在命令行敲入 rtorrent 即可进入其命令行界面进行使用,但是这个用户操作界面不是很友好,所以我自己都没有仔细研究其操作手册,感兴趣的同学可以自行了解一下 命令行操作手册

在 0.9.7 版本之前,rtorrent 只能够运行在前台,所以为了不影响其他服务的使用,还请使用 tmux 之类的多窗口工具,关于 tmux 的使用,这里不做详细介绍。

tmux
# 进入 tmux 窗口
rtorrent # 在 tmux 窗口执行 rtorrent

在确保 rtorrent 运行的前提下,你可以使用一个 GUI 来使用服务,例如 rutorrent。
我自己使用的 GUI 是 flood,所以这里主要介绍 flood 的配置。

flood 用户界面的安装、配置与使用

开始前请确认:

  • 脑上安装了 node,需要版本 8 以上
  • rTorrent 已经运行,并且开启了 xmlrpc
# 全局安装 node-gyp
# 如果遇到问题,可以访问 https://www.npmjs.com/package/node-gyp#installation
npm install -g node-gyp
# 请先进入某个合适的路径
# 获取 flood
git clone https://github.com/Flood-UI/flood.git
cd flood
cp config.template.js config.js
# 这里请打开 config.js 把一些你认为需要的配置进行修改
# 进行安装
npm install
npm run build
# 运行
npm start

之后你可以通过 http://localhost:3000 访问 flood,这里会让你创建一个用户 / 密码,请牢记,并且设置 flood 连接的地址、端口为 rtorrent 配置文件中设置的 network.scgi.open_port

当然你也可以配置一个服务器进行转发,例如我使用的 nginx 配置文件如下

server {# the port your site will be served onlisten      7678 ssl; # 使用你自己的端口,如果不使用# listen 7678;server_name nginx-flood;# 如果不使用 https,这一部分都可以忽略ssl_certificate /etc/nginx/cert/certificate.crt;ssl_certificate_key /etc/nginx/cert/private.key;ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_prefer_server_ciphers on;ssl_ciphers AES128-SHA:AES256-SHA:RC4-SHA:DES-CBC3-SHA:RC4-MD5;charset     utf-8;
location / {proxy_pass http://127.0.0.1:3000; # 这里改为你自己的 flood 服务地址}
}

同样 flood 运行在前台,所以你可以需要另一个 tmux 进程来把 flood 包起来

开机自启动

我这里以 Ubuntu 为例进行说明,我的 配置文件如下

```shell
# /etc/systemd/system/rtorrent.service
[Unit]
Description=rTorrent System Daemon
After=network.target[Service]
Type=forking
User=用户名
Group=用户分组名ExecStart=/usr/bin/tmux -L rt new-session -s rt -n rt -d "/usr/bin/rtorrent -n -o import=/home/deluge/.rtorrent.rc"
ExecStop=/usr/bin/tmux kill-session -t rt[Install]
WantedBy=multi-user.target

同理你也可以为 flood 设置开机自启动,只要修改 ExecStart 这一行的指令即可。

通过接口调用对 rtorrent 控制

rtorrent 提供了 xmlrpc 的服务能力,支持你通过接口调用的方式对 rtorrent 进行控制。
当你在 rtorrent 配置文件中设置了 network.scgi.open_port 后,你还需要设置一个服务器转发,因为这是一个 scgi 接口,不能通过 http 直接访问,我的 nginx 配置文件如下:

server {listen 127.0.0.1:8008; # 记得改为你自己想要的 xmlrpc 指令调用接口server_name ngnix-rtorrent;location /RPC2 {scgi_pass   127.0.0.1:4000; # 记得改为你自己 network.scgi.open_port 的地址include     scgi_params;}
}

你可以直接通过 xmlrpc-c 提供的命令行工具来进行 xmlrpc 的使用。

# Ubuntu 上安装 xmlrpc-c
sudo apt install libxmlrpc-c++8-dev# 使用 xmlrpc 控制 rtorrent
## 查看可用的指令
xmlrpc localhost:8008 system.listMethods

或者你可以通过 python 来进行控制

>>> import xmlrpc.client as xc
>>>
>>> sp = xc.ServerProxy('http://localhost:8008')
>>> sp.system.listMethods()

调试完成后,如果你希望对 rtorrent 提供的 xmlrpc 的指令有更多了解,可以参阅 这个文档。
我们以下载一个种子文件为例进行说明。

import xmlrpc.client as xcsp = xc.ServerProxy('http://localhost:8000')
sp.load_start('http://种子文件地址 d.directory.set="下载后的地址" d.custom.set=starttime,时间戳')
# load_start 是获取种子文件后立即开始下载
# d.directory.set 是 rtorrent 提供的另一个参数,设置种子下载后的地址
# d.custom.set=starttime,时间戳 设置种子文件的添加时间

rtorrent 的安装、使用相关推荐

  1. 在Ubuntu下rtorrent编译安装笔记

    为什么80%的码农都做不了架构师?>>>    rtorrent是一个Bittorrent软件,基于终端的BT客户端,高性能.低资源,另外有不少人给rtorrent开发了Web GU ...

  2. android rtorrent 编译,在Ubuntu下rtorrent编译安装笔记

    rtorrent是一个Bittorrent软件,基于终端的BT客户端,高性能.低资源,另外有不少人给rtorrent开发了Web GUI来更好的让用户控制管理rtorrent,总而言之在Linux平台 ...

  3. rTorrent + ruTorrent 安装和配置

    原文地址:http://wangyan.org/blog/rtorrent-and-rutorrent-tutorial.html rTorrent 是一款非常简洁优秀的BT客户端,它完全基于文本并可 ...

  4. ubuntu 15.10 如何下载bt种子文件 rtorrent的安装使用方法

    apt-get install aptitude aptitude install rtorrent apt-get install screen cd ~/ && mkdir uni ...

  5. rtorrent一键安装脚本rtinst指定版本号

    https://github.com/arakasi72/rtinst sudo bash -c "$(wget –no-check-certificate -qO - https://ra ...

  6. rtorrent - 强大的命令行BT客户端

    rtorrent - 强大的命令行BT客户端 NOTE - 文中展示的所有示例和指令都已经在Ubuntu 13.04中测试过. 一.           安装 [root@GY-10000 data] ...

  7. rtorrent命令行使用

    如果你不使用torrent命令行客户端是担心它太复杂,那么,请重新考虑下.我相信一旦使用过了基于命令行的BT客户端,你就会离不开它:你可以非常轻松地在你的终端窗口启动和监控进度.在这篇文章中,我们将会 ...

  8. rtorrent 安装

    rTorrent 是可以linux文本模式下的BT下载软件,适合用在没有XWINDOW的环境使用 适合在远程终端下操作 支持 UTF-8,文件不会有乱码 0.8.0 版后支持 DHT 如果嫌编译安装麻 ...

  9. centos6.3安装rtorrent

    centos6.3安装rtorrent需要自己编译安装 1.下载编译时需要的软件 yum install gcc gcc-c++ m4 make automake libtool pkgconfig ...

最新文章

  1. NTP 时间同步流量使用过大 问题解决
  2. 怎么学python-初学者如何学习Python?掌握这17个实用小技巧快速入门!
  3. 零基础python从入门到精通 pdf-PYTHON从入门到精通 PDF 下载
  4. 【jQuery】选择器
  5. VC++开发一个简易图片浏览器 - 含目录浏览功能
  6. 两种重要的图——Snapshot diagram UML diagram
  7. C#和Java的代码转换工具(开源)CSharpJavaMerger Framework
  8. html中加入超链接方式的汇总
  9. 和可被 K 整除的子数组
  10. 机器学习_决策树_ID3算法_C4.5算法_CART算法及各个算法Python实现
  11. access 图片存储的格式_Ceph对象存储RGW架构及安装实战
  12. 采用python语言实现猜数游戏_用python实现猜数游戏
  13. 2.6 Word2Vec
  14. 量子位首款周边卫衣上线,给你AI的力量
  15. http下载大文件测试
  16. python RGB与LCH互转 算法
  17. 看完比尔盖茨30年的56条思考,我才理解他为什么能17年斩获世界首富!
  18. Python3 计算空气质量指数AQI
  19. 全国计算机等级考试Python二级知识点_1
  20. 国内如何下载并使用LINE(免费提供apk安装包)

热门文章

  1. 电商营销如何玩转粉丝运营?教你3种技巧
  2. 详述Servlet获取form表单数据
  3. 2022-2027年(新版)中国基因检测行业发展状况及投资前景预测报告
  4. VUE Mac 项目拷贝后webpack-dev-server:Permission denied 权限问题
  5. 从零开发短视频电商 UUID的5个版本和缩短长度
  6. VS2019无法登陆解决办法
  7. Unity优化篇 - 图片资源优化
  8. 仿网易新闻APP(三)——标题栏之24小时要闻
  9. 求1+2+3+...+n的和
  10. A股回测“孕线”策略 — Python 量化投资实战教程(8)