У меня дома стоит мини-сервер сделанный из старого ноутбука. Одно из основных предназначений – торренты. В качестве клиента используется rTorrent + rutorrent. В такой связке меня всё устраивало кроме одного: невозможность использовать rutorrent со смартфона. Причин на это две:

Немного помучившись, почитав официальный форум, я понял что разработчики поддержку мобильных устройств добавлять пока не собираются и я решил исправить ситуацию самостоятельно.
Одно из преимуществ rutorrent – расширяемость при помощи плагинов. Собственно мной и был написан плагин полностью меняющий интерфейс под мобильные устройства. Вот что получилось:

Если вас заинтересовал данный плагин то вот ссылка на архив с последней версией. Текущая разрабатываемая версия доступна на github-е.
Как видно на скриншотах интерфейс был полностью переделан для удобства использования на маленьких дисплеях. Старый естественно никуда не исчезает. Плагин сам определяет по «User Agent»-у когда надо включатся, или вы можете сами включать-выключать мобильный интерфейс, изменяя URL. Подробности в разделе «использование».
Для создания интерфейса был использован Twitter Bootstrap. Для автоопределения использован скрипт с сайта http://detectmobilebrowser.com/.
Мобильная версия не полностью реализует функционал стандартной версии. Вот список доступных функций:
Всё как обычно для плагинов rutorrent: просто скопировать папку с плагином в папку rutorrent\plugins\.
Если вы хотите удалять торренты вместе с данными, то так же необходимо установить плагин erasedata, который можно скачать с официальной страницы rutorrent.
Так же вам понадобится плагин _getdir, если вы хотите выбирать папку для скачивания при помощи браузера файлов
Все настройки хранятся в файле init.js. Всего на данный момент всего два параметра для изменения:
1. plugin.enableAutodetect – автоопределение браузера (мобильный или нет). Если отключить то мобильный интерфейс можно будет включить только изменяя URL
2. plugin.eraseWithDataDefault – «удалить вместе с данными», значение по умолчанию. Возможно три значения:
3. plugin.navBarToBottom — положение панели управления. Если true (по умолчанию) — то внизу
4. plugin.getDirEnabled — если true (по умолчанию) то включена поддержка плагина _getdir
Если в настройках rutorrent отключено подтверждение удаление торрента, то мобильная версия будет вести себя так же. Решение об удалении данных принимается в зависимости от параметра plugin.eraseWithDataDefault.
Если включено автоопределение браузера то плагин начинает работать автоматически при загрузке страницы. Так же можно принудительно запустить мобильную версию путём добавления строчки " ?mobile=1" в конце адреса.
UPD:
Выкатил новое обновление. Теперь плагин уже не бета, а имеет версию 0.9. Все нововведения уже могли попробовать те, кто использует версию с github-а и вовремя обновляется. Список изменений:
Вообще плагин создавался в первую очередь для себя, так что были добавлены те функции, которые необходимы мне, однако я готов доработать плагин таким образом, что бы он приносил пользу не только мне. В комментариях жду предложения, сообщения об ошибках и просто отзывы, а то в теме на официальном форуме обсуждение как-то не идёт.
- Сильная зависимость от правой кнопки мыши. Лечится при помощи плагина ipad, но как можно сделать вывод из названия плагина этот вариант подходит только для планшетов из-за второй причины.
- Неприспособленность интерфейса к маленьким дисплеям. Пример можно увидеть на скриншоте ниже (скриншот сделан на HTC Incredible S. Разрешение: 800x480, размер экрана: 4")

Немного помучившись, почитав официальный форум, я понял что разработчики поддержку мобильных устройств добавлять пока не собираются и я решил исправить ситуацию самостоятельно.
Одно из преимуществ rutorrent – расширяемость при помощи плагинов. Собственно мной и был написан плагин полностью меняющий интерфейс под мобильные устройства. Вот что получилось:



Если вас заинтересовал данный плагин то вот ссылка на архив с последней версией. Текущая разрабатываемая версия доступна на github-е.
Как видно на скриншотах интерфейс был полностью переделан для удобства использования на маленьких дисплеях. Старый естественно никуда не исчезает. Плагин сам определяет по «User Agent»-у когда надо включатся, или вы можете сами включать-выключать мобильный интерфейс, изменяя URL. Подробности в разделе «использование».
Для создания интерфейса был использован Twitter Bootstrap. Для автоопределения использован скрипт с сайта http://detectmobilebrowser.com/.
Возможности
Мобильная версия не полностью реализует функционал стандартной версии. Вот список доступных функций:
- Просмотр текущих торрентов (с фильтрацией на скачивающиеся и законченные, а так же по матекам), их состояния и детальной информации о них
- Просмотр и редактирование меток
- Изменение глобальных ограничений скорости на скачивание и отдачу
- Список трекеров торрента и браузер файлов
- Добавление новых торрентов как файлом, так и по magnet ссылкам (в том числе выбор папки для скачивания за счёт плагина _getdir
- Удаление торрентов (в том числе вместе с данными)
Установка
Всё как обычно для плагинов rutorrent: просто скопировать папку с плагином в папку rutorrent\plugins\.
Если вы хотите удалять торренты вместе с данными, то так же необходимо установить плагин erasedata, который можно скачать с официальной страницы rutorrent.
Так же вам понадобится плагин _getdir, если вы хотите выбирать папку для скачивания при помощи браузера файлов
Настройка
Все настройки хранятся в файле init.js. Всего на данный момент всего два параметра для изменения:
1. plugin.enableAutodetect – автоопределение браузера (мобильный или нет). Если отключить то мобильный интерфейс можно будет включить только изменяя URL
2. plugin.eraseWithDataDefault – «удалить вместе с данными», значение по умолчанию. Возможно три значения:
- undefined – в первый раз данные не удалять. В последующих сохраняется предыдущее значение до первой перезагрузки страницы
- false (по умолчанию) – по умолчанию всегда не удалять
- true – по умолчанию всегда удалять
3. plugin.navBarToBottom — положение панели управления. Если true (по умолчанию) — то внизу
4. plugin.getDirEnabled — если true (по умолчанию) то включена поддержка плагина _getdir
Если в настройках rutorrent отключено подтверждение удаление торрента, то мобильная версия будет вести себя так же. Решение об удалении данных принимается в зависимости от параметра plugin.eraseWithDataDefault.
Использование
Если включено автоопределение браузера то плагин начинает работать автоматически при загрузке страницы. Так же можно принудительно запустить мобильную версию путём добавления строчки " ?mobile=1" в конце адреса.
UPD:
Выкатил новое обновление. Теперь плагин уже не бета, а имеет версию 0.9. Все нововведения уже могли попробовать те, кто использует версию с github-а и вовремя обновляется. Список изменений:
- Панель управления теперь можно размещать снизу, или сверху в зависимости от настроек
- Добавлена поддержка автоопределения на планшетах
- Возможно фильтровать торренты не только по их статусу (скачивается или скачался) но и по меткам
- После добавления нового торрента теперь пишется его статус (загрузился ли он или какая ошибка возникла
- Добавлена поддержка плагина _getdir — теперь можно выбирать папку куда скачивать торрент с помощью небольшого файлового браузера
Послесловие
Вообще плагин создавался в первую очередь для себя, так что были добавлены те функции, которые необходимы мне, однако я готов доработать плагин таким образом, что бы он приносил пользу не только мне. В комментариях жду предложения, сообщения об ошибках и просто отзывы, а то в теме на официальном форуме обсуждение как-то не идёт.