Содержание
rTorrent — консольный BitTorrent клиент для Linux/Unix систем, написанный на C++ на основе библиотеки libTorrent. Использует библиотеку ncurses для вывода. Отличается высокой скоростью и нетребовательностью к системным ресурсам, поддерживает Magnet-ссылки.
Распространяется на условиях лицензии GNU GPL.
Установка
Для установки программы следует выполнить:
sudo apt-get install rtorrent
Настройка
Настройка клиента
Тонкая настройка программы осуществляется при помощи конфигурационного файла .rtorrent.rc
, размещаемого в домашнем каталоге пользователя1).
Примеры секций конфигурационного файла
Основные настройки
bind = a.b.c.d # bind прослушивает сокет и исходящие подключения к этому сетевому интерфейсу. # (Это IP, на котором LibTorrent / rtorrent работает. Внешний IP Если вы находитесь за NAT.) ip = a.b.c.d, ip = hostname # Устанавливает адрес для ответов к трекеру (требуется пояснение) port_range = a-b # Диапазон портов по которым будет идти подключение port_random = yes | no # Открывает случайный порт из заданного диапазона check_hash = yes | no # Проверять hash файла по окончании закачки directory = directory # Директория куда будут скачиваться Ваши файлы session = directory # Эта директория, в которую будут размещаться открытые закачки. Можете оставить это поле пустым, # чтобы все файлы размещались в directory. http_proxy = url # HTTP прокси. Если нет нужды - оставьте поле пустым. encoding_list = кодировка # Добавить предпочитаемую кодировку для имен файлов. Если при распознавании ни одна кодировка # не подойдет, будет использована кодировка по-умолчанию. encryption = option,... # Настройки шифрования. По умолчанию, шифрование отключено, что эквивалентно параметру none. # Также возможны варианты: * allow_incoming (принимать зашифрованные входящие соединения), * try_outgoing (шифрование исходящих соединений), * require (запретить незашифрованные обращения), * require_RC4 (также запретить передачу текста после первичного зашифрованного установления связи), * enable_retry (если первоначальное исходящее установление связи окажется неудачным, повторить с # шифрованием, если оно было отключено, и без, если шифрование использовалось), * prefer_plaintext (использовать текст если пир предлагает выбор между открытым текстом и # шифрованием RC4, иначе будет использоваться RC4). peer_exchange = yes | no # Включает/выключает расширения торрентов не помеченных как приватные. По умолчанию выключено. schedule = id,start,interval,command # Вызывает команду через некоторый заданный период времени, начиная с какого то момента. # Интервал равный нулю равен выполнению команды единожды. # При выполнении команды Вы можете использовать временной формат вида: # день:час:минута:секунда, для примера: выполнять задачу каждый день в # 18:00 используйте 18:00:00,24:00:00 schedule_remove = id # Удаляет id задачи из расписания start_tied = # Стартует торренты, с похожими именами, которые были заново добавлены. stop_untied =, close_untied =, remove_untied = # Останавливает, закрывает или удаляет торренты с именами похожими на удалённые. # Очистка ассоциаций идет с ключом U close_low_diskspace = space # Закрывает все торренты, при достижении критического остатка на жестком диске, # следует использовать вместе с schedule load = file, load_verbose = file, load_start = file, load_start_verbose = file # Загружать и стартовать торренты, если это возможно, или использовать регулярные выражения типа “*” stop_on_ratio = min_ratio, stop_on_ratio = min_ratio,min_upload, stop_on_ratio = min_ratio,min_upload,max_ratio # Останавливает торренты, когда они достигают минимального рейтинга отдачи min_ratio, # отданной в процентах. min_upload указывает на минимальное количество информации в байтах. # Рекомендуется использовать совместно с schedule. on_insert = id,command, on_erase = id,command, on_open = id,command, on_close = id,command, on_start = id,command, on_stop = id,command, on_hash_queued = id,command, on_hash_removed = id,command, on_hash_done = id,command, on_finished = id,command # Вызывает команду, когда статус закачки изменяется.
Настройка загрузки
upload_rate = KB, download_rate = KB # Определяет скорость раздачи, скачивания. min_peers = value, max_peers = value # Указывает минимальное и максимальное количество пиров в загружаемой закачке (торренте)
Если к клиенту подключено меньше пиров, чем указано в min_peers, он попытается получить больше у имеющихся трекеров. Через 30 секунд, клиент повторит попытку, если было получено меньше 10 новых пиров или меньше 3 запросов было выполнено. Дальше он попытается обратиться к следующей группе трекеров в списке, а не к другим трекерам в этой же группе. Такое поведение позволит получить достаточно пиров, сведя к минимуму количество запросов к трекеру, хотя это займет несколько больше времени, чем у других, более агрессивных клиентов.
min_peers_seed = value, max_peers_seed = value # Устанавливает значение минимального и максимального количества пиров в раздаваемом (сидируемом) торренте, # по умолчанию -1, то есть неограничено max_uploads = value # Устанавливает количество раздач с торрента max_uploads_div = value, max_downloads_div = value # Устанавливает количество отдач для одного человека. Отключается, если поставить 0 max_uploads_global = value, max_downloads_global = value # Количество слотов отдачи и загрузки.
Параметры работы с трекерами
enable_trackers = yes # Установите значение 'no', чтобы отключить все запросы к трекеру. # Бывает полезно в использовании с расписанием. tracker_dump = filename # Записывает все запросы к трекеру в файл use_udp_trackers = yes # Использовать UDP протокол, лучше отключить (параметр 'no'), если вы находитесь за firewall’ом.
Настройка работы с файлами
max_file_size = size # Устанавливает максимальный размер файла, отключается параметром -1 split_file_size = size # Разделяет файлы, больше чем size на несколько файлов, отключается параметром -1 split_suffix = string # Устанавливает суффикс для таких файлов, по умолчанию: .part on_finished = move_complete,"execute=mv,-u,$d.get_base_path=,/var/hdd/torrents/complete/ ;d.set_directory=/var/hdd/torrents/" # Перемещает загруженный файл в другую папку после окончания закачки # Удобно для мультимедийных центров, чтобы не пытаться воспроизвести недокачаный файл.
Дополнительные параметры
umask = 002 # Установить значение umask для этого процесса, оно будет присвоено всем файлам созданных программой. # Выбранная маска будет соответствовать правам доступа -rw-rw-r-- для файлов handshake_log = yes # Включить журналированние соединений. Это создает большое количество сообщений, # но позволяет обнаружить ошибки соединений. execute_log = /home/my_name/rtorrent.log # Сохраняет лог в файл. # В новых версиях команда запысывается так: log.execute = /home/my_name/rtorrent.log
Пример готового .rtorrent.rc
#минимальное число пиров на торрент min_peers = 1 #максимальное число пиров на торрент max_peers = 1000 #максимальная скорость загрузки download_rate = 0 #максимальная скорость отдачи. 0 - не ограничена upload_rate = 0 #каталог для сохранения закачек или откуда будут сидироваться торренты. directory = /home/user/download/ #каталог куда будет сохраняться состояние торрентов. #Здесь, в этом примере, они сохраняются в папку session session = /home/user/session/ #rtorrent каждые 5 секунд проверяет этот каталог на новые *.torrent файлы #и если они есть то ставит их на закачку schedule = watch_directory,5,5,load_start=/home/user/torrent_auto_load/*.torrent #проверяет каталоги 2 и 3 на новые *.torrent файлы и сохраняет закачки в соответствующие папки schedule = watch_directory_2,5,5,"load_start=/home/user/torrent_auto_load_2/*.torrent, d.set_directory=/home/user/download2" schedule = watch_directory_3,5,5,"load_start=/home/user/torrent_auto_load_3/*.torrent, d.set_directory=/home/user/download3" #номер порта (или нескольких портов) который открывает клиент для обмена данными port_range = 40890-40890 #случайный выбор порта для обмена данными. В данном случае он отключён port_random = no #проверять хэш торрента после закачки check_hash = yes #сохранять сессию session_save = yes #принимать зашифрованные входящие соединения, устанавливать незашифрованные исходящие соединения, #если возвращает ошибку, повторять с шифрованием, предпочитать открытый текст после установления #зашифрованного соединения encryption = allow_incoming,enable_retry,prefer_plaintext #использовать udp use_udp_trackers = yes # Разрешает работу DHT для безтрекерных торрентов или для случаев, когда все ретрекеры лежат # (не работают). # Может принимать значения "disable" (для полного отключения DHT), "off" (не стартует с DHT), # "auto" (Включает DHT при возможности), или "on" (принудительно включает DHT). # Значение DHT по умолчанию "off". Для правильной работы DHT каталог сеансов "session" должен # быть определен. # dht = auto # # UDP порт, используемый DHT. # dht_port = 6881 # Принудительно устанавливает кодировку UTF-8 для xmlrpc. # Рекомендуется для устранения проблем при использовании в # наименованиях торрентов символов кириллицы. Актуально для # GUI, работающих через xmlrpc. encoding_list = UTF-8
Автозапуск
Для запуска понадобится программа screen. Для ее установки следует выполнить:
sudo apt-get install screen
Затем необходимо создать файл /etc/systemd/system/rtorrent.service
sudo nano /etc/systemd/system/rtorrent.service
следующего содержания
[Unit] Description=rTorrent After=network.target [Service] Type=forking KillMode=none User=ПОЛЬЗОВАТЕЛЬ ExecStart=/usr/bin/screen -dmfa -S rtorrent /usr/bin/rtorrent ExecStop=/usr/bin/bash -c "test `pidof rtorrent` && killall -w -s 2 /usr/bin/rtorrent" WorkingDirectory=%h Restart=on-failure [Install] WantedBy=multi-user.target
Где в строке User=ПОЛЬЗОВАТЕЛЬ
необходимо указать от имени какого пользователя должен запускаться rtorren
Для добавления юнита в автозагрузку необходимо выполнить
sudo systemctl enable rtorrent
Для ручного управления используются команды
sudo systemctl start rtorrent
sudo systemctl stop rtorrent
Внешний вид

Использование
Знак ^
означает клавишу Ctrl.
Enter — добавить новый torrent файл. Для упрощения ввода имени файла, можно пользоваться клавишей Tab. ^T — обновить трекер ^Q — отключает программу, повторное нажатие закрывает программу не посылая трэкеру стоп сигнал ^N|<стрелка вниз> — выбор следующего торрента/адреса ^P|<стрелка вверх> — выбор предыдущего торрента/адреса ^F|<стрелка вправо> — просмотр состояния загрузки/аплоуда торрента ^B|<стрелка влево> — возвращает на предыдущий экран A|S|D — увеличить скорость загрузки на 1/5/50 кб Z|X|C — уменьшить скорость загрузки на 1/5/50 кб a|s|d — увеличить скорость отдачи на 1/5/50 кб z|x|c — уменьшить скорость отдачи на 1/5/50 кб 1—9 — переключение между различными группами (по состоянию загрузки) ^S — начать закачку ^D — остановить закачку (повторное нажатие удаляет торрент-файл. Данные остаются) ^K — закрыть торрент и его файлы ^E — пересоздать все файлы торрента ^R — перечитать хэш торрента ^O — изменить директорию на загрузку (торрент должен быть закрыт) +|- — увеличить уменьшить приоритет загрузки торрента <backspace> — добавить URL или путь к торренту L — просмотреть лог (чтобы выйти нужно нажать пробел) ^X — вызвать команду или поменять настройку
Основное меню
Ссылки
- Официальный сайт (англ.)