Удобная торрентокачалка с управлением через web и android для выделенного сервера

В данной заметке я хочу рассказать, как сделать универсальную торрентокачалку с управлением через интернет как с web интерфейса так и из Android приложения.

Тут будет рассказано о настройке связки rtorrent + rutorrent + nginx + php-fpm + transdroid на Debian Wheezy. Сразу отвечу на вопрос, почему не transmission, во первых при большом количестве раздач/закачек она падает, во вторых слабо кастомизируется и не имеет плагинов для автоматизации поиска и закачки новинок ну и просто лично мне не нравится.

В случае с rtorrent версия из репозитория собрана без xmlrpc-c, так что придется пересобрать самим, официальная документация проектов содержит только вариант настройки с apache, что мне не подошло о всех трудностях и их решении будет рассказано ниже.

Постараюсь максимально комментировать все настройки и конфиги, чтоб можно было понять как система работает, а не заниматься тупым копипастом.

Надеюсь владельцам собственных NASов и выделенных серверов будет интересно.

Все команды для удобства привожу из под root, без использования sudo.

Картинок будет мало, в основном команды и пояснения, для максимально быстрого воспроизведения конфигурации.

Настройка необходимых репозиториев

В /etc/apt/sources.list добавим:

Устанавливаем ключи:

Обнобляемся:

Ставим необходимые пакеты (надеюсь ничего не забыл):

Если в системе раньше стоял rtorrent из репозитория, удаляем его:

Сборка нужных пакетов

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

Сборка и установка xmlrpc-c

Создадим директорию, где будут исходники:

Перейдем в нее:

Получим свежие сорсы:

Переходим в полученную директорию:

Собираем:

Сборка libtorrent (пункты те-же по-этому кратко)

Сборка rtorrent

Подключаем нужные либы, без этого в дальнейшем rtorrent не запустится:

Пробуем запустить rtorrent, если все OK он запустится, но поругается на отсутствие конфигурационного файла, выйти можно по Ctrl+Q.

Создадим пользователя (в моем примере это пользователь p2p), домашней директорией которого будет наша папка с торрентами, группой для него сделаем www-data:

Перейдем в него:

Создадим конфиг для rtorrent:

С таким содержимым:

Снова пробуем запустить rtorrent, если какой-либо параметр в конфиге не верный, получим ошибку с номером строки, исправляем, пробуем снова, если все нормально, создадим скрипт автозапуска, для этого вернемся в root, команда exit в терминале, вернет нас из сессии p2p в сессию root:

Переходим в скрипт автозапуска:

Изменяем строчку user="p2p" на нашего пользователя.

Пробуем запуститься:

Проверяем что все запустилось:

Должны увидеть похожие строки

С rtorrent закончили, теперь перейдем к настройке фронтендов.

Настройка nginx

Для простоты я выложу содержание своих конфигов, с комментариями где это необходимо:

Приводим к виду:

Приводим к виду:

Приводим к виду:

Приводим к виду:

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

Также желательно задать таймзону в настройках php, для этого в файлах /etc/php5/fpm/php.ini и /etc/php5/cli/php.ini зададим переменную со своей зоной, в моем случае это киевское время.

Займемся движком rutorrent

Можно выкачивать плагины по одному с сайта. Я предпочитаю скачать все сразу, а потом удалить ненужное (описание плагинов есть тут):

Чуток подправим конфиг движка:

В файле:

Меняем переменную на корень файлов с торрентами:

Сгенерируем логин и пароль для доступа к движку, можно использовать htpasswd из поставки apache, но у нас его нет, по-этому сгенерим подручными средствами:

В имени пользователя не забываем в конце оставить двоеточие.

Меняем владельца дирректории на нашего:

Перезапускаем nginx и php:

В браузере набираем ip нашего сервера, вводим сгенерированные ранее логин и пароль, и попадаем в панель управления нашей качалкой.

Удобная торрентокачалка с управлением через web и android для выделенного сервера

С web мордой закончили, тонкая настройка и описание возможностей есть на официальном сайте, повторяться не буду, перейдем к удобному управлению с android.

Скачиваем на телефон и/или планшет:

  • transdroid.org/latest
  • transdroid.org/latest-search

Устанавливаем и запускаем.

Выбираем "Добавить новый сервер":

  • Имя: Любое на выбор
  • Тип сервера: rTorrent
  • Ip адрес или имя домена: свой ip сервера или домен
  • Порт: 80
  • Использовать авторизацию: ставим галочку
  • Указываем свои имя и пароль в соответствующих полях.
  • Папка: без изменений
  • В дополнительных настройках галочки на свой вкус
  • Операционная система: Linux
  • Адрес ftp: p2p: пароль@ip_сервера/torrent/download/ (указываем доступ к ftp папке, об настройке ftp ниже.)

Так как ssl мы не использовали, остальное без изменений.

После этого можно зайти на свой сервер и увидеть текущие закачки, остальные настройки программы на свой вкус.

Удобная торрентокачалка с управлением через web и android для выделенного сервера

Ставим FTP сервер, очень кратко

В стандартном конфиге /etc/proftpd/proftpd.conf меняем:

Более тонкую настройку можно посмотреть в множестве статей на эту тему, в рамках данной статьи такого минимума достаточно:

Ставим самбу

Необходима для удобства локального доступа, также очень кратко:

Приводим конфиг /etc/samba/smb.conf к виду:

Генерируем пароль для нашего пользователя:

Включаем пользователя:

И так в результате мы получили работающий торрент сервер, с богатыми возможностями управления, доступ к скачанным файлам по smb и ftp, из дополнительных удобств могу посоветовать использовать ряд плагинов для rutorrent, позволяющих автоматизировать закачку новинок. Всем спасибо за внимание.

Ищите где купить металлопластиковые окна? Заходите на сайт citiokna.ru! Цены и качество обслуживания вас поразят!