Настройка торрент-клиента transmission-daemon в Debian

Торрентом я начал интересоваться несколько месяцев назад, как только у меня появился безлимитный интернет. Как ни печально это для других протоколов, но торрент показал себя как самое надёжное средство для скачивания объёмных данных, например, DVD-образов любимого мною Debian'а.

Захотелось мне выделить под торрент-клиент отдельную Linux-машинку под Debian, благо есть старый системный блок на котором это можно сделать.

Начал я с обзора торрент-клиентов под Linux:

Torrent клиенты в Linux

Я со своей идеей оказался не одинок, многим другим людям пришла в голову та же мысль. Вариантов программ без GUI оказалось немного - rtorrent c ncurses-интерфейсом, мультипротокольный p2p-демон mldonkey, transmission-daemon и btpd.

rtorrent можно запустить в screen-сессии, а можно, в добавок к этому, ещё и прикрутить к нему web-интерфейс:

В общем-то не самый плохой вариант, но мне запуск ncurses-программы в сессии screen не кажется кошерным.

В процессе дальнейших копаний материалов на эту тему решил, что mldonkey также мне не подходит, поскольку он, судя по отзывам, часто падает.

Есть ещё некий btpd, копать в направлении которого мне не захотелось, поскольку я уже подобрал подходящий вариант, о котором ниже. Если кому-то будет интересно узнать что-либо о btpd, прошу рассказать о результатах копания мне :)

Наконец был найден подходящий вариант, основанный на transmission-daemon и AJAX веб-интерфейсе Clutch:

Clutch

Вот, кстати, краткое описание консольного клиента, демона и утилиты управления демоном torrent:

Торрент-клиент Transmission

Этот вариант и был выбран в качестве наиболее перспективного, для дальнейшего изучения были скачаны руководства по установке связки transmission и Clutch:

В Debian Etch поставить transmission без GTK оказалось непросто, т.к. пакета без GTK-интерфейса в репозитарии не было. Я написал инструкцию по сборке пакета без GTK-клиента, но теперь она не нужна, т.к. в Lenny пакет transmission был разделён на три части:

  1. transmission-common - содержит различные README, информацию о лицензии и т.п.,
  2. transmission-cli - содержит демон, утилиту для правления демоном, прокси и простой консольный клиент, который может работать отдельно от демона,
  3. transmission-gtk - графическая утилита для управления демоном, использующая GTK.

Установим пакет transmission-cli:

# aptitude install transmission-cli

Однако, как и в Etch, в Lenny нет скрипта для запуска и остановки демона и нет конфигурационного файла для его настройки. Я написал, как мне кажется, довольно гибко настраиваемый скрипт для запуска transmission-daemon. Скачать его можно здесь: transmission.sh

Помещаем скрипт в каталог /etc/init.d/.

Для настройки опций запуска демона используется специальный конфигурационный файл, шаблон которого можно взять здесь: transmission.conf

По-умолчанию я выставил те настройки, которые, как мне показалось, будут подходящими большинству пользователей.

Для себя же я поменял настройки так:

TORRENT_DIR=/home/torrents/
PORT_MAPPING=disable
USER=www-data
GROUP=www-data

Запускаем демон вручную:

# /etc/init.d/transmission.sh start

Осталось добавить этот скрипт в автозагрузку и автовыгрузку.

# update-rc.d transmission.sh defaults

Всё, на этом первая статья завершена. В следующей статье расскажу, как я настраивал веб-интерфейс Clutch к transmission-daemon.

Последнее обновление 26 февраля 2009 года.

Дополнение от 8 октября 2009 года:

Transmission всех версий выше 1.22 имеет новый способ управления. Теперь для управления демоном используется не сокет-файл, а HTTP-сервер, работающий по умолчанию на TCP-порту 9091. Сервер поддерживает digest-авторизацию, управление осуществляется с помощью какой-то разновидности протокола RPC. Также на этом HTTP-сервере имеется встроенный Web-клиент для управления Transission, старый знакомый Clutch, который доступен при подключении браузером к серверу. Никаких особых настроек не требуется, в squeeze демон снабжён init-сценарием для запуска.

Написать автору