OpenWRT — устанавливаем Transmission

Вчера мы установили Samba-сервер на наш маршрутизатор с OpenWRT для хранения файлов на сетевом диске.

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

Необходимые пакеты для установки Transmission в OpenWRT

Как и в случае с файловым сервером Samba — будем добавлять сразу в прошивку.
По традиции обновляем исходные коды

svn update
./scripts/feeds update -a
./scripts/feeds install -a

и запускаем меню конфигурации прошивки

make menuconfig

Сначала нам необходимо выбрать сам Transmission:

Network  --->
   BitTorrent  --->
      <*> transmission-daemon  --->

А так же способ управления раздачами. Наиболее простой вариант — веб интерфейс:

Network  --->
   BitTorrent  --->
      <*> transmission-web

Еще более продвинутый способ — через удаленное приложение для управления Transmission. Есть множество приложений под различные платформы — Windows, Linux, MacOSX, Android и так далее.
Советую. Удобнее чем через web-интерфейс точно.

Network  --->
   BitTorrent  --->
      <*> transmission-remote

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

Network  --->
   BitTorrent  --->
      <*> transmission-daemon  --->
         <*> transmission-cli

Ну и если Вы используете Web-интерфейс LuCI, то будет не лишним установить пакет, для настройки через веб-интерфейс нашего устройства:

LuCI  --->
   3. Applications  --->
      <*> luci-app-transmission

Итак, пакеты выбраны, запускаем компиляцию, опять таки не забыв указать количество потоков для сборки.
Напомню, что на своём двухядерном процессоре я собираю в три потока:

make clean
make -j3

Настройка Transmission

Собрали, прошили. Теперь разберемся, как настраивать через Web-интерфейс LuCI.

В веб-интерфейсе нашего устройства появился пункт Сервисы/Transmission
Это и есть страница для настроек нашего клиента. Раздачами здесь управлять у Вас не получится, но настройки весьма важные.
Пройдемся по порядку.
Если какая то функция здесь пропущена — видимо на момент написания статьи я её у себя не созерцал.
Если найдете более полное описание на русском языке — расцелуйте автора той статьи. Ибо я не встречал.

  1. Общие настройки

    1. Включено — в OpenWRT Transmission работает как демон (для пользователей Windows более привычным будет название Служба) — разумеется нам необходимо включить этот демон
    2. Папка файла конфигурации — место, где будут хранится настройки и информация о раздачах. Лучше перенести куда нибудь, например в /mnt/transmission
    3. Запустить демон от пользователя — от чьего имени мы будем открывать и создавать файлы. Лучше выбрать того же пользователя, что и для каталога Samba выбрали — nobody
    4. Размер кэша (МБ) — если вы не любитель качать торренты и занимаетесь этим крайне редко, а других особых задач ваш маршрутизатор не выполняет, то есть смысл оставить по умолчанию. Но если вы жаждите качать сразу параллельно несколько раздач, то лучше уменьшить кэш до 1Мб, чтобы оперативную память поэкономить, её итак мало в устройстве.
  2. Настройки скорости

    1. Альтернативная скорость включена — в Web-интерфейсе Transmission, а так же в программах для управления удалено этой службой, есть кнопка с рисунком черепашки. По задумке разработчиков — альтернативную скорость включает пользователь, когда надо срочно освободить канал. В принципе можете не включать.
      • Альтернативная скорость загрузки — максимальная скорость загрузки, когда включен режим альтернативной скорости
      • Альтернативная скорость отдачи — максимальная скорость раздачи, когда включен режим альтернативной скорости
    2. Лимит скорости загрузки включен — в отличии от альтернативной скорости — данное ограничение на загрузку будет работать всегда, пока альтернативная скорость не включена
      • Лимит скорости загрузки — ограничение скорости загрузки
    3. Лимит скорости отдачи включен — в отличии от альтернативной скорости — данное ограничение на отдачу будет работать всегда, пока альтернативная скорость не включена
      • Лимит скорости отдачи — ограничение скорости отдачи
    4. Кол-во слотов отдачи на торрент — максимальное количество потоков отдачи на торрент. Не надо фанатизма, 2-5 потоков будет достаточно, чтобы не загружать процессор.
  3. Списки блокировок

    1. Список блокировок включен — если вы располагаете онлайн списком «черных» ip-адресов, с которыми не стоит связываться для обмена файлами по p2p-каналам, то воспользуйтесь данным пунктом
      • URL списка блокировок — адрес, откуда transmission будет обновлять blacklist пиров.
  4. Файлы и пути

    1. Папка для загрузок — каталог, куда скидывать скаченные файлы. Пусть будет для примера /mnt/torrents
    2. Папка для не полностью загруженных файлов включена — если хотите хранить файлы, которые в процессе скачивание отдельно, дабы избежать путаницы — включите данный пункт.
      • Папка для не полностью загруженных файлов — каталог, где будут храниться файлы, которые находятся в процессе скачивания. Пусть будет для примера /mnt/incomplete
    3. Предраспределение — резервирование места на диске, чтобы случайно не оказалось, что пока скачивали, место на диске закончилось.
      • Выключено — ничего не резервируем, выбирайте, если места на диске достаточно и никто не планирует туда скинуть несколько сотен гигабайт. Это позволит быстрее приступать к раздачам, ибо резервирование время занимает.
      • Быстрый — резервируем место и всё
      • Полный — создаем на месте будущего файла пустой файл и забиваем его нулями — жудко долго, особенно если размеры скачиваемых раздач измеряются гигабайтами
    4. Предвыборка включена — опция, которую до конца не понял, но отвечает за физическое расположение файлов на диске. Грубо говоря — располагает так, чтобы минимальная фрагментация была. В случае со стационарным компьютером это позволит увеличить скорость открытия этих файлов. В случае с маршрутизатором и слабым железом — словим жесткие тормаза на этапе скачивания
    5. Переименовывать незавершённые файлы — добавляет временный суфикс к файлам, которые еще не скачались.
    6. Автоматически запускать добавленные торренты — если не включено, то трансмиссион будет еще ждать команду по запуску скачки нового торрента.
    7. Удалить торрент-файлы — не хранить старые torrent-файлы
    8. Включить папку поиска — если включить, то все torrent-файлы, которые окажутся в этой папке автоматически добавяться в список торрентов, в большинстве случаев не нужно, просто знайте, что возможно
      • Папка поиска — где искать торрент-файлы, для автоматического добавления
  5. Прочее

    1. DHT включен — включает протокол для поиска сидов в обход треккеру. Вещь полезная, но грузит процессор нашего маршрутизатора. Рекомендую отключить, дабы не напрягать устройство.
    2. Шифрование — использовать ли шифрование трафика
      • Выключено — не использовать шифрование. Для нас лучший вариант, так как опять таки загружает лишний раз процессор.
      • Предпочтительно — если противоположная сторона может шифровать, то трафик шифруем, если не может, то передаем как есть.
      • Принудительно — всегда шифруем, а кто из пиров/сидов отказывается шифровать — с теми не обмениваемся трафиком
    3. Lazy bitfield включен — увы, не разобрался
    4. LPD включено — поиск локальных пиров. Если есть подключение к локальной сети провайдера, то принесет пользу, если локальной сети нет, то стоит отключить, дабы опять таки не напрягать процессор
    5. Уровень сообщений — что размещать в логе
      • Отсутствует — если всё хорошо работает, то зачем нам логи? Вы их читаете?
      • Ошибка — включаем, если что-то идет не так
      • Информация — для любителей прочитать в логе каждый чих программы, когда добавлен торрент, когда подключились пиры
      • Отладка — информация для параноиков, программа будет писать в лог абсолютно всё
    6. PEX включен — обмен пирами. Полезная вещь, выключать не стоит
    7. Запуск скрипта после загрузки торрента включён если вам нужно выполнение какой то команды после окончания загрузки торрент-раздачи, то этот пункт для Вас
      • Скрипт завершения загрузки — команда, выполняемая после завершения скачивания раздачи.
        Пример скрипта для отправки e-mail, можно посмотреть здесь
    8. uTP включен — протокол, призванный увеличить скорость скачивания, однако многократно увеличивает количество передаваемых пакетов, отчего у роутера рвет башню, особенно при подключении типа PPTP/L2TP. Советую оставить включенным, если у вас обычное DHCP-подключение, в остальных случаях отключаем.
  6. Настройки пира

    1. Привязанный адрес IPv4 — указываете, только если точно знаете зачем оно Вам. Иначе оставляйте 0.0.0.0.
      Например у вас несколько соединений к интернету а-ля MultiWAN и вы хотите качать только через одно из этих соединений. Только убедитесь, что в данном соединении у Вас статический IP
    2. Привязанный адрес IPv6 — аналогично предыдущему пункту, но только для IPv6 адресов. По умолчанию ::
    3. Алгоритм перегрузки пиров — опять таки не разобрался. Советуют в зарубежных интернетах указывать lp. Я же посоветую оставить поле пустым.
    4. Глобальный лимит пиров — максимально количество подключений. Много не надо, ограничьтесь 50-100 подключениями.
    5. Ограничение пиров на торрент — сколько максимум пиров подключается к одному нашему торренту — опять таки без фанатизма. 10-20 хватит. У нас процессор слабый
    6. Значение ToS сокета пира — тип обслуживания пакетов. Это тема для отдельной статьи, причем весьма заумной. Оставьте по умолчанию default
  7. Настройки порта пира

    1. Порт пира — если у Вас прямое («белое») подключение к интернету, то указывайте порт, какой хотите, лучше оставьте по умолчанию.
    2. Случайный порт пира при запуске-если вы не любитель постоянства или же Вы находитесь за NAT-ом, а провайдер разрешает пробрасывать порты из определенного диапазона при помощи UPnP, то эта настройка для Вас.
      • Наибольший случайный порт пира — верхняя граница для выбора случайного порта.
      • Наименьший случайный порт пира — нижняя граница для выбора случайного порта.
    3. Перенаправление портов включено — если Вы за NAT-ом, то Transmission попробует попросить оборудование провайдера пробросить нужный ему порт до Вас при помощи UPnP. Редко, но срабатывает. Если у Вас прямое подключение, то смысла нет. Итак всё проброшено.
  8. Настройки RPC

    RPC в контексте статьи про Transmission — интерфейсы удаленного управления демоном. Это и Web-интерфейс, и протокол для приложений.

    1. RPC включен — разрешаем удаленное управление.
    2. Порт RPC — на каком порту работают интерфейсы управления демоном.
      9091 — стандарт де-факто.
    3. RPC-адрес — по какому адресу принимать подключения.
      По умолчанию 0.0.0.0, то есть на всех.
    4. URL RPC — адрес Web-интерфейса.
      По умолчанию /transmission/ — его и оставьте.
    5. «Белый» список RPC включен — если выключить, то будет разрешать управление демоном с любых IP-адресов.
      • «Белый» список RPC — адреса, с которых разрешено управление.
        Например, 192.168.1.* — Все адреса из диапазона 192.168.1.1-192.168.1.255, то есть из Вашей локальной сети.
    6. Аутентификация RPC — требовать Имя пользователя и пароль для доступа к управлению демоном.
      • Имя пользователя RPC — имя пользователя, для доступа к управлению демоном.
      • Пароль RPC — соответственно пароль.
  9. Планирование

    1. Коэффициент отдачи включен — останавливает раздачу по достижении соотношения отдано/скачено коэффициента отдачи.
      • Коэффициент отдачи — соотношения отданного к скаченному.
        Например, если Вы скачали раздачу размером 1Гб, то при коэффициенте 1,5000 как только раздадите 1,5Гб Transmission остановит раздачу этого торрента.
  10. Обслуживание

    1. Очередь загрузок включена — ограничивает количество одновременно скачиваемых раздач. Имеет смысл оставить включенным.
      • Размер очереди загрузок — количество одновременно скачиваемых раздач. Чем слабже Ваше устройство — тем меньше число. Я одновременно качаю не более двух раздач.
    2. Приостановка очереди включена — бездарно переведенный пункт в настройках. На самом деле этот пункт устанавливает, через сколько минут бездействия скачиваемой раздачи Transmission поставит её на паузу, а начнет скачивать другую.
      • Приостановка очереди (мин.) — указывает те самые минуты, через которые останавливаем бездействующий торрент.
    3. Очередь сидов включена — включает возможность указать сколько одновременно торрентов мы можем раздавать.
      • Размер очереди сидирования — Указываем, сколько одновременно торрентов мы готовы раздавать. Большое количество так же не указывайте 2 торрента так же будет нормой.
    4. Производить scrape-запросы у приостановленных торрентов — опрашивать треккеры на наличие сидов/пиров, даже если раздача приостановлена. Так как DHT мы отключили, то этот пункт поможет не терять из вида пиры, а то потом можем не найти вновь, особенно если треккер упадет.

Вместо заключения

Ну вот и всё, web-интерфейс Transmission теперь доступен по адресу

http://адрес маршрутизатора:9091/transmission/web

а в приложениях для управления демоном указывайте адрес маршрутизатора и порт в соответствующих графах.

Я устал печатать, я пошел отдыхать :-D

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

Подпишись в один клик:

Комментариев: 9

  1. Здравствуйте.
    Имею OpenWRT на MR3420v2 с LTE от мегафона. Стоит самба и трансмишен на 1Тб винте вместе с осью. Всё работает, не без глюков, но всё же. Заметил, что Transmission не качает (не находит сидов ваще) некоторые торенты, хотя uTorrent на компе с ними справляется. Есть виртуальная машина с Ubuntu 14.04×64, на которой собирал прошивки. С горем пополам, но топыт кое-какой есть.
    Решил установить свежую версию клиента из https://build.transmissionbt.com/job/trunk-linux/. Однако ж не так просто из исходников собрать ipk-шку. Компилируются готовые бинарники, а установочного пакета нет. Может есть способ установить демона в роутер без пакета? Или еще какие-то танцы с бубном мне помогут?
    В связи с моими мытарствами вопрос:
    Может ли многоуважаемый тезисно набросать сценарий моих действий чтобы установить свежайший Transmission в OpenWrt Barrier Breaker 14.07 / LuCI Trunk (0.12+svn-r10530).
    Спасибо за внимание.

  2. здравствуйте, я не первый раз собираю прошивки для OpenWrt — но у меня проблемма с TP-Link TL-WDR4900 v1.3 . Transmission сгибается полностью при скачке,remote не работает,web не работает, Free Ram — 1-2 Mb.
    Есть SWAP раздел,роутер видит но не использует никогда.
    игрался с Swapinnes — не помогло всё по нулям.Уже не знаю что делать.

  3. VSZ %VSZ %CPU COMMAND
    23356 18% 12% /usr/bin/transmission-daemon -g /etc

    1 file качает только,начинает качать и умирает веб интерфейс плюс RPC, пока не отключаю полностю,нету доступа к веб интерфейсу. использую: hd-idle,minidlna,samba,transmission вот и всё,но очень странно почему не использует swap partition.

    • а пересобрать с оптимизацией под процессор пробовали? железку не юзал, но в предыдущих опытах — выпиливание Debug и изменение оптимизации с -Os на -O2 давало прирост производительности. Однако это не панацея от тормозов. Надо бы еще настройки Transmission посмотреть. И какую файловую систему используете под хранилище?

  4. Говорят торенты на рутаке качать с скорастю неболее 1-2мб/с
    иначе захлебавается от нагрузки .
    и качать по однаму файлу!!! а не сразу несколько раздачь .
    старый мой WR841ND V7.2 качал стабильно с скорастью 1.4мб/с ,
    выше ему пплохо становилось …
    и свап тут непоможет , дело в железе , не коре и7 всеже ))

    а еще в время скачки по Wеб интерфеису лучше нелазить ,
    ему и так ттяжело а вы еще веб интерфеисом его нагружаете )))

Оставьте свой комментарий

Войти с помощью: