Transmission web interface

Сборка и настройка Transmission в Debian или все что вы хотели знать о Transmission но боялись спросить

Transmission — один из самых популярных torrent клинтов в мире Unix-подобных операционных систем и, к примеру, является выбором по умолчанию в таких дистрибутивах как Ubuntu, Fedora и openSUSE. В своей работе Transmission потребляет заметно меньше системных ресурсов нежели другие torrent клиенты благодаря чему может и используется во многих встраиваемых ОС даже таких устройств как домашние WiFi роутеры/точки доступа или сетевых медиаплеерах. Кроме того, Transmission обладает встроенным web-интерфейсом и не требует для его работы ни Apache, ни Lighttpd, ни какого другого http сервера. Именно о установке и настройке новейшей версии этого замечательного torrent клиента я и хочу рассказать в этом посте.

Сборка Transmission из исходников

К сожалению, в стандартных репозиториях находится устаревшая версия. Именно поэтому будет произведена собрка пакета новейшей версии Transmission и его установка.

Примечание: За совет по способу установки благодарим BaBL.

Итак, прежде всего нам необходимо загрузить архив с исходниками torrent клиента Transmission. Ссылку на загрузку можно найти на официальной странице.

Примечание: все нижеприведенные инструкции показаны на примере ОС Debian, однако они могут быть воспроизведены с незначительными изменениями и на других дистрибутивах.

$ wget http://mirrors.m0k.org/transmission/files/transmission-1.92.tar.bz2

Примечание: на момент написания поста (2010-03-16) последней версией Transmission была 1.92.

После загрузки архива с исходниками его следует распаковать:
$ tar xvjf transmission-1.92.tar.bz2
в результате чего, все содержимое архива будет распаковано в папку «transmission-1.92». Перейдем в нее:
$ cd transmission-1.92
Для успешной компиляции нужно установить недостающие утилиты и библиотеки:
# aptitude install build-essential automake autoconf libtool pkg-config libcurl4-openssl-dev intltool libxml2-dev libglib2.0-dev checkinstall
Далее следует задать опции сборки:
$ ./configure -q —disable-gtk —disable-nls
где «—disable-gtk» — отключает сборку GTK клиента, а
«—disable-nls» — опция, предназначенная предназначенная специально для серверов и встраиваемых систем, удаляет зависимости от gettext и intltool.
Теперь можно запустить компиляцию:
$ make -s
А сразу после успешной компиляции приступим к созданию .deb пакета. Для этого нам понадобятся root привилегияии:
# checkinstall -D —install=no
Здесь и далее команды требующие для своего запуска root привилегии помечены префиксом «#».
На запрос о вводе краткого описания пакета вводим что-то в стиле «Transmission — cross-platform BitTorrent client» и дважды нажимаем Enter, как признак окончания текста.
Далее появляется меню с информацией о собираемом пакете. Убеждаемся что заданы версия пакета и релиз и запускам сборку нажатием Enter.
Теперь установим созданный пакет:
# dpkg -i transmission_1.92*.deb
Все, на этом этапе установка завершена. Далее нас ждет настройка.

Примечание: более детально про сборку Transmission из исходиков можно прочитать вот .

Настройка Transmission


Первым делом делом во время настройки Transmission следует создать нового пользователя в системе. При этом, в целях безопасности, создаваемый пользователь должен быть без пароля за что и отвечает следующая опция «—disabled-password»:
# adduser —disabled-password transmission
После создания пользователя переключаемся в его консоль:
# su transmission
Здесь и далее, для явной идентификации команд, которые нужно запуска от имени вновь созданного пользователя я буду использовать префикс «transmission@host:~$».
Далее следует запустить transmission-daemon и тут же его остановить для того, чтобы он создал файлы с настройками по-умолчанию. Запускаем:
transmission@host:~$ transmission-daemon -f
где опция «-f» указывает на то, чтобы программа не демонизировалась.
Теперь, чтобы остановить transmission-daemon, на клавиатуре следует нажать CRTL-C. После этого все настройки по-умолчанию будут записаны в домашней папке пользователя transmission по следующему пути:
/home/transmission/.config/
Выполним конфигурацию Transmission. Для этого вашим любимым редактором нужно изменить файл settings.json. Этот файл содержит все настройки в формате JSON.
transmission@host:~$ nano /home/transmission/.config/transmission-daemon/settings.json
В данном файле находится множество настроек (полный список которых можно посмотреть вот ), однако я обычно изменяю лишь эти:

  • «peer-port»: 51413 — порт входящих соединений. Если вы за NAT’ом то позаботьтесь о пробросе этого порта;
  • «download-dir»: «\/arc» — папка в которой будут находиться загрузки. Обращаю внимание на то, что такие символы как «/» нужно экранировать. Кроме того, убедитесь что пользователь transmission, с правами которого работает torrent клиент, имеет право на запись по этому пути;
  • «incomplete-dir»: «\/arc\/Incomplete» — папка в которой будут находиться еще не законченные загрузки. После завершения они будут перемещены по пути, указанному в опции «download-dir». Так же убедитесь что пользователь transmission имеет право на запись по этому пути;
  • «incomplete-dir-enabled»: true — включение предыдущей опции;
  • «rpc-enabled»: true — включение удаленного управления. Сюда же относится и управление через web-интерфейс;
  • «rpc-whitelist-enabled»: true — включение так называемого «белого списка» IP-адресов, с которых возможно удаленное управление Transmission. Сюда же относится и удаленное управление через web-интерфейс;
  • «rpc-whitelist»: «127.0.0.1,192.168.*.*» — «белый список». Можно задавать не только локальные, но и реальные внешние IP адреса;
  • «rpc-authentication-required»: true — требовать аутентификацию для удаленного управления;
  • «rpc-username»: «логин» — логин для удаленного управления;
  • «rpc-password»: «пароль» — пароль;
  • «rpc-port»: 9091 — порт для доступа к удаленному управлению.

На будущее, хочу обратить ваше внимание на то, что простое изменение файла настроек settings.json во время работы Transmission не влияет на его работу а по выходу из него, они будут перезаписаны теми настройками, которые были на момент запуска. Чтобы работающий Transmission загрузил новые настройки во время своей работы ему следует отправить сигнал SIGHUP:

# killall -HUP transmission-daemon
Теперь, по окончанию настроек, лучше выйти из консоли пользователя transmission. Больше она нам не понадобится.
transmission@host:~$ exit

Настройка автозагрузки демона transmission-daemon

Для того, чтобы transmission-daemon автоматически стартовал при старте машины нужно выполнить несколько несложных действий. Вначале, нужно взять стартовый скрипт вот по этому адресу http://trac.transmissionbt.com/wiki/Scripts/initd и сохранить его в файле /etc/init.d/transmission-daemon.
Делаем файл исполняемым:
# chmod +x /etc/init.d/transmission-daemon
Задаем владельцем файла системного пользователя root:
# chown root:root /etc/init.d/transmission-daemon
Включаем «автозагрузку»:
# update-rc.d transmission-daemon defaults
Все, теперь демон можно запустить выполнив вот такую команду:
# /etc/init.d/transmission-daemon start
Теперь, во время каждой загрузки машины, будет автоматически запускаться и наш torrent клиент.

Удаленное управление

Существует несколько вариантов удаленного управления. Один из них это встроенный web-интерфейс. Чтобы его открыть нужно направить браузер по адресу http://<ваш IP адрес>:9091/ (порт задается в файле настроек settings.json параметром «rpc-port»). И вот как он выглядит:

(кликни для увеличения)
Другим вариантом удаленного управления является кросс-платформенная (Windows, Linux и Mac OS X) open source программа Transmission Remote GUI. Это довольно функциональная программа с µTorrent-подобным интерфейсом имеет куда больше возможностей чем встроенный web-интерфейс. Среди ее функциональности хочется отметить фильтрацию торрентов по статусу и трекеру, определение страны и host-имени пиров, ассоциацию с .torrent файлами, выбор папки для загрузки, задание приоритетов и многое другое.

(Главное окно со списком пиров)
Еще скриншоты Transmission Remote GUI.
Так же хочу отметить подобный проект — transmission-remote-dotnet. К сожалению, данная разработка предназначена для Windows мира (разработана на .NET), однако она обладает большим числом опций и возможностей нежели предыдущий вариант, и как по мне, выглядит она приятнее и слаженнее.

(Скриншот transmission-remote-dotnet с настройками)
Еще скриншоты transmission-remote-dotnet.
Ну и напоследок, не могу не упомянуть такой плагин для FireFox как Autotrans. Плагин добавляет в контекстное меню на ссылки к .torrent файлам пункт «Torrent It!» при клике по которому запускается закачка выбранного файла на вашем Transmission демоне.

(Контекстное меню плагина Autotrans)
Но и это далеко не все что можно делать с Transmission. Посмотреть остальные возможности можно по вот этому адресу.

К вопросу об автоматизации загрузок

А еще хочу напомнишь про автоматизацию загрузок ваших любимых сериалов с RSS лент различных трекеров:

  • Об этом я уже писал несколько ранее вот (на примере LostFilm’a) и вот (на примере Кинозала). Оба решения реализованы в виде shell команд и основаны на grep, wget, curl;
  • Кроме того, еще один способ автоматизации с помощью FlexGet описывал Alukar вот ;
  • И еще один вариант обработки RSS лент с помощью Yahoo Pipes рассмотрен хаброчеловеком AmoN вот в этом посте.

Работа с торрент-клиентом Transmission (для версий NDMS v2.05 — v2.07)

NOTE: В данной статье показана настройка версий ОС NDMS 2.05 — 2.07. Настройка актуальной версии ПО представлена в статье «Torrent-клиент», «Интерфейс Torrent-клиента Transmission».

При подключении USB-накопителя (жесткого диска) к интернет-центру Keenetic можно задействовать встроенный BitTorrent-клиент Transmission для организации автономной системы загрузки файлов из сетей BitTorrent и позволяющий находиться в файлообменной сети 24 часа в сутки. Вы можете возложить на интернет-центр обязанность качать торренты и раздавать их круглосуточно, не нагружая этой задачей свои компьютеры или, тем более, планшеты и смартфоны. Управлять заданиями можно как в домашней сети, так и через Интернет (например, через мобильное приложение My.Keenetic).

Важно! Не используйте USB-флешки для работы BitTorrent-клиента Transmission, так как частая перезапись информации может повредить их. Рекомендуется использовать внешний жесткий диск.

Transmission очень простой в использовании торрент-клиент, обладающий следующими основными возможностями:

  • Закачка и раздача файлов в BitTorrent-сетях;
  • Сортировка и фильтрация торрентов;
  • Быстрая приостановка загрузки торрента с сохранением всех пиров и возобновление загрузки;
  • Встроенный планировщик;
  • Поддержка протоколов DHT, PEX, LPD, μTP;
  • Наличие черного списка;
  • Получение подробных сведений об активном торренте;
  • Возможность шифрования активности торрента в целях конфиденциальности;
  • Режим ограничения скорости закачки и раздачи.

Дополнительную информацию по некоторым специфическим терминам и о назначении протоколов, которые используются в сетях BitTorrent, вы сможете найти в данной статье.

Внимание! Встроенный торрент-клиент Transmission имеет ограничения по скорости закачки и раздачи. Это сделано для обеспечения максимально стабильной работы всех заявленных функций, в зависимости от производительности (процессор и оперативная память) каждого устройства.
По состоянию на версии NDMS v2.05 — v2.07 установлены следующие ограничения:

  • Zyxel Keenetic Ultra II: 9.2 Мбайт/сек*
  • Zyxel Keenetic Giga III: 7.1 Мбайт/сек
  • Zyxel Keenetic II, Giga II, Ultra, DSL, VOX: 5.1 Мбайт/сек
  • Zyxel Keenetic Viva, Extra: 4 Мбайта/сек
  • Zyxel Keenetic III, Extra II, Omni, Omni II: 3 Мбайта/сек
  • Zyxel Keenetic и Zyxel Keenetic Giga 1-го поколения: 1 Mбайт/сек (суммарно 2 Mбайта/cек в обе стороны)

* — для достижения максимального результата рекомендуется отключить протокол μTP.

Информация по работе с торрент-клиентом Transmission в интернет-центре с версией NDMS v2.08 и выше.

Указанные числа были выбраны исходя из производительности устройства так, чтобы работа в файлообменных сетях не мешала основным задачам интернет-центра. Операционная система интернет-центра не может отдать встроенному торрент-клиенту больше ресурсов, отбирая память, процессорное время у компонентов, отвечающих за стабильность интернет-подключения. Торрент-клиент это не просто приложение, закачивающее и раздающее файлы, а система, создающая множественные подключения (что требует ресурсов), работающая с USB-интерфейсом (требует еще ресурсов), корректным образом работающая сразу с множеством файлов в файловой системе (требующая еще больше ресурсов), осуществляющая запись фрагментов файлов на диск и т.д. Очевидно, что без ограничения скорости торрент-клиента речи о комфортной работе в Интернете и стабильности устройства быть не может.

Также надо отметить, что работа с большим числом задач (закачек) практически не имеет смысла: из-за общего ограничения на ширину канала каждой из них достается совсем немного (при использовании большого числа задач увеличится загрузка процессора, а скорость доступа закономерно будет снижаться). Гораздо более эффективна работа с небольшим числом заданий, например от трех до пяти.

Подробную общую информацию о сетевом протоколе BitTorrent вы сможете найти на сайте: http://ru.wikipedia.org/wiki/BitTorrent.
Как правило, на крупных трекерах представлены правила, инструкции, FAQ (вопросы-ответы; как закачать файлы, как раздавать файлы), с которыми рекомендуем ознакомиться перед работой с торрентами.

Важно! Для работы встроенного торрент-клиента необходимо в роутере предварительно установить компонент BitTorrent-клиент Transmission.

Теперь перейдем непосредственно к описанию встроенного торрент-клиента Transmission, используемого в интернет-центре Keenetic.

В этой статье рассмотрим интерфейс встроенного BitTorrent-клиента Transmission в интернет-центре с версией операционной системы NDMS v2.05 — v2.07.
В последних версиях NDMS (начиная с v2.08) изменился веб-интерфейс встроенного BitTorrent-клиента Transmission. Инструкция по использованию обновленной версии Transmission представлена в статье: «Работа с торрент-клиентом Transmission в интернет-центре с версией NDMS v2.08 и выше»

Сначала в интернет-центре Keenetic нужно настроить доступ к управлению BitTorrent-клиентом Transmission по статье: «Доступ к управлению BitTorrent-клиентом Transmission интернет-центра»
После успешного подключения к встроенному BitTorrent-клиенту Transmission вы увидите его собственный интерфейс.

Найдите на трекере (это специализированный сервер) нужный для вас торрент (это может быть фильм, электронная книга, музыкальный альбом, программа и др.).

Скачайте торрент-файл (*.torrent — файл метаданных, который содержит URL-трекер, информацию о файлах, их контрольные суммы, хеш и др.).

Сохраните файл *.torrent на диске компьютера.

Теперь в интерфейсе Transmission добавьте скачанный ранее торрент-файл, нажав на кнопку Открыть торрент .

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

Затем нажмите кнопку ОK добавления нового торрента.
Торрент-клиент начинает поиск пиров и сидов, которые в данный момент качают и раздают вместе с вами данный торрент. После этого начнется закачка выбранных файлов.
Термины «пиры» и «сиды» относятся к загрузкам BitTorrent.
Пир (англ. peer — соучастник) — клиент, участвующий в раздаче.
Сид (англ. seeder — сеятель) — пир, имеющий все сегменты распространяемого файла, то есть либо начальный распространитель файла, либо уже скачавший весь файл и оставшийся на раздаче.
Раздача (англ. seeding) — процесс распространения файла по протоколу BitTorrent.

Во время закачки торрента вы можете:

  • Приостановить закачку выбранных торрентов, нажав на значок
  • Запустить выбранные торренты (возобновить закачку), нажав на значок
  • Запустить все торренты или Приостановить все торренты, нажав на соответствующий значок
  • Удалить выбранные торренты, нажав на значок

При нажатии на кнопку Инспектор (находится в правом верхнем углу экрана) вы можете получить дополнительную детальную информацию по закачке текущего торрента.
После нажатия на кнопку Инспектор справа появится информация по торренту.

Нажав на значок Информация , вы увидите экран об активности текущего торрента (о его существовании, о состоянии загрузки, о продолжительности закачки и пр.) и другую детальную информацию (размер, происхождение, ссылка на URL и т.п.).

Нажав на значок Пиры , вы увидите информацию по клиентам, участвующим в раздаче. Здесь вы увидите скорость загрузки, статус, IP-адрес клиента, версию торрент-клиента.

Нажав на значок Трекеры , вы увидите информацию о том, с каких трекеров происходит закачка торрента (в нашем примере закачка происходит с трекера rutracker.org).

Нажав на значок Файлы , вы увидите список и статус загрузки закачиваемых файлов для данного торрента.

Для получения и настройки доступа к файлам, скачанным через встроенный BitTorrent-клиент Transmission на USB-накопитель, обратититесь к инструкции: «Подключение USB-накопителя к интернет-центру»

Внимание! Ниже представлена информация для опытных пользователей, которая позволит выполнить дополнительные настройки торрент-клиента Transmission.
Пользователям, не имеющим опыта и знаний по работе BitTorrent-сетей, мы не рекомендуем менять параметры торрент-клиента.
По умолчанию в торрент-клиенте Transmission установлены оптимальные настройки.

В нижнем левом углу экрана вы можете видеть значки дополнительных настроек торрент-клиента .

Нажав на значок Параметры , вы сможете выполнить сортировку загрузок по различным параметрам (по имени, активности, состоянию, очереди и т.п.)

и установить ограничение скорости закачки/раздачи (о существовании ограничения скорости и его объяснение см. в начале данной статьи).

Нажав на значок Настройки … , вы увидите окно, содержащее вкладки Торренты, Скорость, Пиры и Сеть.
На вкладке Торренты находятся дополнительные настройки по загрузке и раздаче торрентов (например, запускать закачку при добавлении нового торрента, добавлять «.part» в имена еще не полностью загруженных файлов).
Можно настроить автоматическую остановку раздачи торрента при определенном рейтинге или простое, когда никто из пользователей не производит его загрузку в течении определенного времени.

На вкладке Скорость находятся дополнительные настройки по постоянному и временному ограничению скорости раздачи и загрузки, а также временное ограничение скорости по расписанию.

На вкладке Пиры находятся дополнительные настройки:

  • установка максимального общего числа пиров и числа пиров на торрент;
  • возможность использования режима шифрования активности торрента в целях конфиденциальности;
  • использование протоколов PEX, DHT, LPD;
  • включение черного списка.

PEX (Peer exchange) — расширение BitTorrent-протокола для обмена списками участников.
DHT (Distributed Hash Table — «распределенная хеш-таблица») — это протокол, позволяющий BitTorrent-клиентам находить друг друга без использования трекера, что позволяет снизить нагрузку на трекер, осуществлять поддержку участников в периоды недоступности трекера. DHT позволяет осуществлять раздачу вообще без трекера. Внимание! При использовании DHT интернет-центр будет задействовать больше собственных ресурсов, что может сказаться на снижении его производительности.
И PEX и DHT фактически выполняют основную функцию BitTorrent-трекера – помогают участникам файлообмена узнать друг о друге.
Протокол LPD (Local Peer Discovery) является расширением для системы обмена файлами BitTorrent. Он был разработан для получения возможности обнаружения локальных BitTorrent-пиров и, следовательно, сокращения трафика, проходящего через канал интернет-провайдера, и максимального использования пропускной способности локальной вычислительной сети (LAN).

На вкладке Сеть находятся дополнительные настройки параметров порта, используемого торрент-клиентом (можно установить вручную номер порта или каждый раз использовать случайный порт), и возможность включения/отключения протокола μTP.

В поле Входящий порт указан номер порта, через который будет происходить доступ пользователей BitTorrent-сети для загрузки раздаваемых вами файлов, т.е. для обеспечения вашей раздачи. Номер, указанный в поле Входящий порт должен совпадать с номером порта, указанным в веб-конфигураторе интернет-центра в меню Приложения > Клиент BitTorrent в поле Порт входящих соединений.
Ниже указан статус порта Открыт или Закрыт.
Когда вы видите статус Открыт, это означает, что со стороны провайдера данный порт открыт и через него другие пользователи смогут подключаться к вам для закачки.
Если вы видите статус Закрыт, это означает, что указанный порт закрыт со стороны провайдера. В этой ситуации для вас загрузка файлов (закачка) будет возможна, а раздача для других пользователей будет ограничена (скажется на количестве потенциальных партнеров для файлообмена). Дополнительную информацию вы можете найти здесь: http://ru.wikibooks.org/wiki/Bittorrent/Порт
Можно указать в настройках Каждый раз выбирать случайный порт. В этом случае торрент-клиент будет автоматически определять номер порта случайным образом. Мы рекомендуем использовать постоянный номер порта для работы торрент-клиента.
Можно указать в настройках Использовать автоматическую проброску порта. В этом случае интернет-центр будет автоматически выполнять проброс порта, используемого в торрент-клиенте, в настройках NAT. Эту опцию имеет смысл включать при использовании случайного порта, чтобы каждый раз не осуществлять ручную настройку проброса порта.
Протокол обмена μTP (Micro Transport Protocol) предназначен для более быстрого скачивания, так как работает по протоколу UDP, в котором обмен данными происходит быстрее, чем через протокол TCP. Внимание! При использовании протокола μTP интернет-центр будет задействовать больше собственных ресурсов, что может сказаться на снижении его производительности.

Чтобы Включить временное ограничение скорости нажмите на значок с изображением черепахи . Данный режим может быть полезен, если вам нужна высокая скорость Интернета и при этом вы не хотите полностью останавливать процесс загрузки торрента. Скорость ограничения настраивается в пункте Настройки…. на вкладке Скорость в разделе Альтернативное ограничение скорости.

Если в окне торрент-клиента Transmission много активных задач, можно использовать Компактный вид отображения закачек; для этого нажмите на значок


Примечание

Для управления встроенным BitTorrent-клиентом можно установить на компьютере программу Transmission Remote, которая более полно использует возможности торрент-клиента. Это свободная программа, которая распространяется по copyleft-лицензии GNU GPL. Вы можете загрузить ее на веб-узле Google Code. Версию Transmission Remote для Windows вы найдете на странице: http://code.google.com/p/transmission-remote-dotnet/
Внимание! Для подключения к Transmission из Интернета используйте IP-адрес, выданный провайдером, или постоянное доменное имя, зарегистрированное в службе No-IP (инструкция по созданию учетной записи для службы NO-IP – «Настройка и использование сервиса динамического DNS от No-IP») и указанное в меню интернет-центра Интернет > DyDNS.
Про использование программы Transmission Remote для управления встроенным BitTorrent-клиентом интернет-центра Keenetic читайте в статье: «Использование программы Transmission Remote для управления встроенным BitTorrent-клиентом интернет-центра Keenetic»