- Сборка и настройка Transmission в Debian или все что вы хотели знать о Transmission но боялись спросить
- Сборка Transmission из исходников
- Настройка Transmission
- Настройка автозагрузки демона transmission-daemon
- Удаленное управление
- К вопросу об автоматизации загрузок
- Настройка Transmission daemon: settings.json. Описание всех настроек.
Сборка и настройка Transmission в Debian или все что вы хотели знать о Transmission но боялись спросить
Сборка Transmission из исходников
К сожалению, в стандартных репозиториях находится устаревшая версия. Именно поэтому будет произведена собрка пакета новейшей версии Transmission и его установка.
Примечание: За совет по способу установки благодарим BaBL.
Итак, прежде всего нам необходимо загрузить архив с исходниками torrent клиента Transmission. Ссылку на загрузку можно найти на официальной странице.
Примечание: все нижеприведенные инструкции показаны на примере ОС Debian, однако они могут быть воспроизведены с незначительными изменениями и на других дистрибутивах.
Примечание: на момент написания поста (2010-03-16) последней версией Transmission была 1.92.
После загрузки архива с исходниками его следует распаковать:
$ tar xvjf transmission-1.92.tar.bz2
в результате чего, все содержимое архива будет распаковано в папку «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.
Теперь можно запустить компиляцию:
А сразу после успешной компиляции приступим к созданию .deb пакета. Для этого нам понадобятся root привилегияии:
# checkinstall -D —install=no
Здесь и далее команды требующие для своего запуска root привилегии помечены префиксом «#».
На запрос о вводе краткого описания пакета вводим что-то в стиле «Transmission — cross-platform BitTorrent client» и дважды нажимаем Enter, как признак окончания текста.
Далее появляется меню с информацией о собираемом пакете. Убеждаемся что заданы версия пакета и релиз и запускам сборку нажатием Enter.
Теперь установим созданный пакет:
# dpkg -i transmission_1.92*.deb
Все, на этом этапе установка завершена. Далее нас ждет настройка.
Примечание: более детально про сборку Transmission из исходиков можно прочитать вот тут.
Настройка Transmission
Первым делом делом во время настройки Transmission следует создать нового пользователя в системе. При этом, в целях безопасности, создаваемый пользователь должен быть без пароля за что и отвечает следующая :
# adduser —disabled-password transmission
После создания пользователя переключаемся в его консоль:
Здесь и далее, для явной идентификации команд, которые нужно запуска от имени вновь созданного пользователя я буду использовать .
Далее следует запустить transmission-daemon и тут же его остановить для того, чтобы он создал файлы с настройками по-умолчанию. Запускаем:
где опция » -f » указывает на то, чтобы программа не демонизировалась.
Теперь, чтобы остановить transmission-daemon , на клавиатуре следует нажать CRTL-C. После этого все настройки по-умолчанию будут записаны в домашней папке пользователя transmission по следующему пути:
Выполним конфигурацию Transmission. Для этого вашим любимым редактором нужно изменить файл settings.json. Этот файл содержит все настройки в формате 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»: «пароль» — пароль;
На будущее, хочу обратить ваше внимание на то, что простое изменение файла настроек settings.json во время работы Transmission не влияет на его работу а по выходу из него, они будут перезаписаны теми настройками, которые были на момент запуска. Чтобы работающий Transmission загрузил новые настройки во время своей работы ему следует отправить сигнал SIGHUP :
# killall -HUP transmission-daemon
Теперь, по окончанию настроек, лучше выйти из консоли пользователя transmission . Больше она нам не понадобится.
Настройка автозагрузки демона transmission-daemon
Для того, чтобы transmission-daemon автоматически стартовал при старте машины нужно выполнить несколько несложных действий. Вначале, нужно взять стартовый скрипт вот по этому адресу и сохранить его в файле /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
Все, теперь демон можно запустить выполнив вот такую команду:
Теперь, во время каждой загрузки машины, будет автоматически запускаться и наш torrent клиент.
Удаленное управление
Существует несколько вариантов удаленного управления. Один из них это встроенный web-интерфейс. Чтобы его открыть нужно направить браузер по адресу http:// :9091/ (порт задается в файле настроек settings.json параметром » rpc-port «). И вот как он выглядит:
Другим вариантом удаленного управления является кросс-платформенная (Windows, Linux и Mac OS X) open source программа Transmission Remote GUI. Это довольно функциональная программа с µTorrent-подобным интерфейсом имеет куда больше возможностей чем встроенный web-интерфейс. Среди ее функциональности хочется отметить фильтрацию торрентов по статусу и трекеру, определение страны и host-имени пиров, ассоциацию с .torrent файлами, выбор папки для загрузки, задание приоритетов и многое другое.
(Главное окно со списком пиров)
Так же хочу отметить подобный проект — transmission-remote-dotnet. К сожалению, данная разработка предназначена для Windows мира (разработана на .NET), однако она обладает большим числом опций и возможностей нежели предыдущий вариант, и как по мне, выглядит она приятнее и слаженнее.
(Скриншот transmission-remote-dotnet с настройками)
Ну и напоследок, не могу не упомянуть такой плагин для FireFox как Autotrans. Плагин добавляет в контекстное меню на ссылки к .torrent файлам пункт «Torrent It!» при клике по которому запускается закачка выбранного файла на вашем Transmission демоне.
(Контекстное меню плагина Autotrans)
Но и это далеко не все что можно делать с Transmission. Посмотреть остальные возможности можно по вот этому адресу.
К вопросу об автоматизации загрузок
А еще хочу напомнишь про автоматизацию загрузок ваших любимых сериалов с RSS лент различных трекеров:
- Об этом я уже писал несколько ранее вот тут (на примере LostFilm’a) и вот тут (на примере Кинозала). Оба решения реализованы в виде shell команд и основаны на grep , wget , curl ;
Кроме того, еще один способ автоматизации с помощью FlexGet описывал Alukar вот тут;
UPD. Как подсказывает librarian в комментарии есть еще один, более правильный, способ сборки Transmission. Добавил отдельным пунктом.
UPD2. Добавил описание transmission-remote-dotnet.
UPD3. Обновил пункт установки. Благодарим за помощь BaBL.
Источник
Настройка Transmission daemon: settings.json. Описание всех настроек.
Не всегда возможно установить все конфигурации из графического интерфейса, особенно на Daemon или в веб-интерфейсе. Это руководство попытается дать обзор настроек Transmission.
Перед внесением изменений клиент и демон должен быть закрыт и остановлен, в противном случае параметры будут возвращены в предыдущее состояние.
Поэтому всегда перед изменении настроек в файле необходимо остановить службу transmission-daemon :
В таблице представлены расположения файлов с различными настройками Transmission:
| Настройки | Где находятся |
|---|---|
| GTK+/Qt настройки клиента | $HOME/.config/transmission |
| Настройки демона | $HOME/.config/transmission-daemon |
| CLI настройки | $HOME/.config/transmission-cli |
| Папка загрузки по умолчанию | $HOME/Downloads |
Примерный путь расположения конфигурационного файла settings.json :
В данном файле находится множество настроек:
| «alt-speed-down»: 50, | скорость альтернативной загрузки KB/s Нажатие «Черепаха» в gui активирует настройки альтернативной загрузки |
| «alt-speed-enabled»: false, | включена ли альтернативная загрузка да/нет (true/false) |
| «alt-speed-time-begin»: 540, | время начала альтернативной загрузки с 540 минуты с 9:00 |
| «alt-speed-time-day»: 127, | по каким дням включать альтернативные настройки: 127-по всем |
| Воскресенье: 1 (binary: 0000001) | |
| Понедельник: 2 (binary: 0000010) | |
| Вторник: 4 (binary: 0000100) | |
| Среда: 8 (binary: 0001000) | |
| Четверг: 16 (binary: 0010000) | |
| Пятница: 32 (binary: 0100000) | |
| Суббота: 64 (binary: 1000000) | |
| Например: | |
| Рабочие дни: 62 (binary: 0111110) | |
| Выходные: 65 (binary: 1000001) | |
| Все дни: 127 (binary: 1111111) | |
| «alt-speed-time-enabled»: true, | включено ли время альтернативной загрузки да/нет (true/false) |
| «alt-speed-time-end»: 1020 , | время окончания альтернативной загрузки до 1020 минуты до 17:00 |
| «alt-speed-up»: 50, | скорость альтернативной отдачи KB/s |
| «bind—address—ipv4″: «0.0.0.0», | прослушивается на всех адресах IPv4 и IPv6, доступных в вашей системе |
| «bind—address—ipv6″: «::», | прослушивается на всех адресах IPv4 и IPv6, доступных в вашей системе |
| «blocklist-enabled»: false, | Использовать списки блокировки URL |
| «blocklist-url»: «http://www.example.com/blocklist», | списки блокированных URL |
| «cache-size-mb»: 4, | Размер (по умолчанию = 4), в мегабайтах, для распределения кэша памяти. Кэш используется для совместного использования пакетного ввода-вывода, поэтому увеличение размера кеша может быть использовано для уменьшения количества чтения и записи на диске. |
| «dht-enabled»: true, | Включить распределенную таблицу хэшей(DHT) |
| «download-dir»: «/home/Ваш_пользователь/Multimedia», | директория для скачанных файлов |
| «download-limit»: 100, | ограничение пропускной способности, KB/s |
| «download-limit-enabled»: false, | включение ограничения пропускной способности (по умолчанию = false) |
| «download-queue-enabled»: true, | Очередь. Когда true, transmission будет загружать только download-queue-size незавершенные торренты. |
| «download-queue-size»: 5, | Размер очереди. Количество загружаемых активных торрентов . |
| «encryption»: 1, | (0 = Предпочитают незашифрованные соединения, 1 = Предпочитают зашифрованные соединения, 2 = Требовать шифрованные соединения, по умолчанию = 1) Предпочтение шифрования . Шифрование может помочь обойти некоторую фильтрацию ISP, но ценой немного более высокой загрузки ЦП. |
| «idle-seeding-limit»: 30, | Остановить раздачу после простоя в течение N минут. |
| «idle-seeding-limit-enabled»: false, | Останавливать при простое. По умолчанию = false |
| «incomplete-dir»: «/home/Ваш_пользователь/Multimedia/.incomplete», | путь, где будут распологаться не довершившие закачку торренты. Точка впереди директории говорит что она должна быть скрыта |
| «incomplete—dir—enabled«: false, | хранить ли скачивающиеся файлы в отдельной папке (true/false) |
| «lpd-enabled»: false, | Включить обнаружения локальных BitTorrent-пиров, и, следовательно, сокращения трафика, проходящего через канал Интернет-провайдера и максимального использования пропускной способности |
| «message-level»: 2, | количество информации, выдаваемой в /var/log/syslog, значение можно менять 0 = None, 1 = Error, 2 = Info, 3 = Debug |
| «peer-congestion-algorithm»: «», | Алгоритм управления TCP описано на http://www.pps.jussieu.fr/ |
jch/software/bittorrent/tcp-congestion-control.html
По окончании всех настроек запускаем службу
Источник