Библиотека сайта rus-linux.net
Загрузка торрентов из веб-интерфейса LuCI OpenWRT
Оригинал: OpenWrt torrent download box with LuCI web interface
Автор: Arnab Satapathi
Дата публикации: 24 июля 2016 г.
Перевод: А.Панин
Дата перевода: 25 мая 2017 г.
Что вы думаете по поводу использования вашего маршрутизатора, работающего под управлением OpenWRT, для загрузки торрентов? Лично мне кажется, что использование для этой цели маршрутизатора вместо смартфона или ноутбука является отличной идеей.
Существует множество торрент-клиентов, совместимых с OpenWRT:
-
ctorrent
- очень легковесный и быстрый торрент-клиент. -
rtorrent
- многофункциональный и высокопроизводительный торрент-клиент с поддержкой веб-интерфейса. -
Transmission
- высокопроизводительный торрент-клиент с поддержкой интерфейса командной строки, веб-интерфейса и интерфейса удаленного вызова процедур.
В данной статье мы будем рассматривать методику использования торрент-клиента rtorrent
и плагина веб-интерфейса LuCI luci-app-rtorrent
для организации простого механизма загрузки торрентов из веб-интерфейса маршрутизатора. Торрент-клиент rtorrent полностью совместим с OpenWRT, может настраиваться с помощью файла конфигурации, но его текстовый интерфейс на основе библиотеки ncurses является не самым удобным.
На мой взгляд, наиболее функциональным и удобным торрент-клиентом для OpenWRT является Transmission, об установке и настройке которого мы поговорим в следующей статье.
Торрент-клиент ctorrent отлично подходит для загрузки файлов небольшого объема, он поддерживает ограниченное количество параметров конфигурации, в которых просто невозможно запутаться, и является поистине легковесным.
Установка пакетов rtorrent и luci-app-rtorrent
Ваш маршрутизатор должен быть оснащен портом USB, ведь вам в любом случае нужно будет где-то хранить загруженные файлы, кроме того, в его корневой файловой системе должно быть доступно около 1 МБ свободного пространства для установки всех необходимых пакетов, поэтому в первую очередь вам придется очистить пространство в корневой файловой системе маршрутизатора или перенести его корневую файловую систему на внешний USB-накопитель.
1. Для начала войдите в систему маршрутизатора по протоколу SSH и убедитесь в том, что маршрутизатор соединен с Интерент.
ssh root@192.168.1.1 ping -c 4 google.com
2. Теперь обновите список содержимого репозитория пакетов программного обеспечения OpenWRT.
opkg update
После этого ничто не будет мешать установке необходимых пакетов с именами rtorrent
, wget
и screen
.
opkg install rtorrent-rpc wget screen
3. Загрузите новейшую версию файла пакета с плагином LuCI под названием luci-app-rtorrent
со
4. Теперь установите плагин luci-app-rtorrent
с помощью утилиты opkg
.
opkg install /tmp/luci-app-rtorrent_0.1.3_all.ipk
opkg автоматически разрешит все зависимости, то есть, загрузит все необходимые пакеты из репозитория и установит их.
Плагин luci-app-rtorrent разработан с использованием языка программирования Lua, поэтому является платформонезависимым, то есть работает на всех устройствах, совместимых с OpenWRT; официальная страница проекта доступна по
Настройка rtorrent
Давайте немного модифицируем файл конфигурации rtorrent, который обычно располагается в домашней директории текущего пользователя; для пользователя root
это директория /root
.
Интересующий нас файл конфигурации носит имя .rtorrent.rc
и может редактироваться с помощью текстового редактора vi или nano; я использую следующую конфигурацию торрент-клиента:
encoding_list = UTF-8 system.umask.set = 022 port_range = 23877-23877 port_random = no check_hash = no trackers.enable = 1 dht = auto dht_port = 6881 scgi_port = 127.0.0.1:5000 encryption = allow_incoming, try_outgoing, enable_retry directory = /mnt/sda2/downloads/ session = /mnt/sda2/rtorrent/session/ schedule = rss_downloader,300,300,"execute=/usr/lib/lua/rss_downloader.lua"
В моем случае загруженные файлы сохраняются в директории /mnt/sda2/downloads
, а загружаемые - в директории /mnt/sda2/rtorrent/session
, вам же следует в обязательном порядке адаптировать значения соответствующих переменных к своей системе.
Активация механизма запуска rtorrent в процессе загрузки системы
Для запуска rtorrent в фоновом режиме в процессе каждой загрузки системы следует создать сценарий автоматического запуска с именем /etc/init.d/rtorrent
, после чего вставить в него следующий код с помощью текстового редактора vi или nano:
#!/bin/sh /etc/rc.common START=99 STOP=99 start () { screen -dmS rtorrent rtorrent } stop () { killall -9 rtorrent }
Теперь остается лишь активировать и запустить службу rtorrent.
chmod +x /etc/init.d/rtorrent /etc/init.d/rtorrent enable /etc/init.d/rtorrent start
Тестирование торрент-клиента
Откройте ваш любимый веб-браузер и введите в адресную строку IP-адрес маршрутизатора, обычно это 192.168.1.1
, после чего войдите в веб-интерфейс маршрутизатора, введя пароль пользователя root. Вы должны заметить новый раздел Torrent
на панели меню.
Загрузите torrent-файл или вставьте magnet-ссылку для загрузки торрента. На этом шаге вы также можете изменить директорию для загрузки файла.
Оптимизация скорости загрузки торрентов
Ввиду того, что загрузка торретнов связана с интенсивным использованием оперативной памяти, разумным решением является создание дополнительного пространства подкачки и оптимизация значений нескольких параметров ядра.
Для создания дополнительного пространства подкачки следует создать файл подкачки размером вдвое больше объема оперативной памяти; в моем маршрутизаторе установлено 32 МБ оперативной памяти, поэтому я создал файл размером в 64 МБ.
dd if=/dev/zero of=/swap_file bs=1M count=64
Далее нужно преобразовать созданный файл в файл подкачки.
mkswap /swap_file
И подключить его.
swapon /swap_file
В данном случае подразумевается, что вы используете корневую файловую систему на внешнем накопителе, в которой достаточно свободного пространства для создания файла подкачки. Файлы подкачки работают не хуже отдельных разделов подкачки.
Далее нужно добавить несколько описаний параметров ядра с новыми значениями, позволяющими оптимизировать скорость загрузки торрентов, в файл конфигурации /etc/sysctl.conf
и выполнить команду sysctl -p
:
vm.swappiness=95 vm.vfs_cache_pressure=200 vm.min_free_kbytes=4096 vm.overcommit_memory=2 vm.overcommit_ratio=60
И это все, что нужно для организации процесса загрузки торрентов на круглосуточно работающем, энергоэкономичном и дешевом маршрутизаторе. На первый взгляд статья может показаться не достаточно подробной для начинающих пользователей, но вы сможете без труда повторить все описанные действия в том случае, если хоть немого знакомы с интерфейсом командной строки системы.
Если вы хотите дать совет или задать вопрос, вы можете оставить комментарий, на который я с удовольствием отвечу. Также не забудьте поделиться ссылкой на статью с друзьями!