Pull to refresh

Автоматическое управление скоростью µTorrent в зависимости от активности пользователя

Reading time 3 min
Views 90K
В этой статье я бы хотел:
1) Поделиться с вами своей находкой: программой позволяющей изменять скорость популярного торрент-клиента utorrent через параметры командной строки.
2) Показать живой пример использования данной программы (c применением планировщика nncron).

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

Однако, порыскав по просторам интернета я смог таки найти программу, сей недочет функций восполняющую: utspeed (v1.0.1.1).
На сайте разработчика выложена версия, которая может управлять скоростью используя интерфейс встроенного в utorrent вебсервера. Т.е. мы запускаем данную программу с необходимыми параметрами – а она, сиюминутно по петле локалхоста передает эти параметры веб-интерфейсу, на что, опять таки сиюминутно и реагирует наш utorrent.

А вот собственно и пример, как можно автоматизировать переключение скорости во время простоя компьютера с использованием замечательного планировщика nncron (изначально я написал инструкцию по решению заявленной задачи для встроенного в ХР планировщика, но не обнаружив возможности возвращать параметры по приходу пользователя остановился на nncron).

0. во время всех манипуляций utorrent должен быть запущен.
1. Скачиваем архив с программой v 1.0.1.1;
2. Распаковываем в любую удобную папку — я бросил все это дело в папку с utorrent (вы можете положить содержимое архива куда вам удобнее — функционал не пострадает);
3. В настройках самого utorrent включаем web-интерфейс (ставим галку, жмем ок)
По желанию исправляем дефолтные данные. Но это делать не обязательно, т.к. в соответствии с ними доступ разрешен только с localhost, соответственно удаленные злоумышленники не смогут рулить нашими торрентами. Если дефолтные данные в utorrent исправили — необходимо в текстовом редакторе изменить соответствующие поля в файле настроек — utspeed.ini

image

4. Создаем задачу в nncron:

#
( TorrentMonitoring
Action:
\ Если user не работает 16.6 минут...
IDLE: 1000
IF
\ И флаг-индикатор того что скорость была повышена не создан
FILE-EXIST: "c:\tc\Utils\uTorrent\SpeedUp.flag"
IF
ELSE
\ Создание флага, что скорость была повышена
FILE-CREATE: "c:\tc\Utils\uTorrent\SpeedUp.flag"
StartIn: "c:\tc\Utils\uTorrent\"
SWHide NormalPriority
\ Непосредственно установка нужной скорости скачивания-отдачи
START-APP: c:\tc\Utils\uTorrent\utspeed.exe /max_dl_rate 1000 /max_ul_rate 1000
THEN
THEN
\ Если user возобновил работу, снизить скорость
IDLE: 10
IF
ELSE
\ И флаг-индикатор того что скорость была повышена - создан
FILE-EXIST: "c:\tc\Utils\uTorrent\SpeedUp.flag"
IF
\ Удаление флага индикатора - т.е. знак что скорость понижаем
FILE-DELETE: "c:\tc\Utils\uTorrent\SpeedUp.flag"
StartIn: "c:\tc\Utils\uTorrent\"
SWHide NormalPriority
\ Непосредственно установка нужной скорости скачивания-отдачи
START-APP: c:\tc\Utils\uTorrent\utspeed.exe /max_dl_rate 50 /max_ul_rate 50
THEN
THEN
)#

* примечание — путь c:\tc\Utils\uTorrent\ — замените на путь, куда вы распаковали содержимое архива.
** примечание 2 — тег code съел все пробелы. Форматированный текст скрипта вы можете скачать отсюда.

Вот собственно и все, через 17 минут после того как мы на компьютере никакой активности не проявляем — utorrent включает скорость загрузки/отдачи в 1000 кбайт/сек. В течение минуты, после того как появилась активность — скорость ограничивается до 50 кбайт/сек.

Послесловие:
Программа позволяет изменять другие параметры utorrent. Более подробно с этим вы можете ознакомиться прочитав readme.txt.
Также, в дистрибутиве программы utspeed лежит уже написанный скрипт (файл utspeed.au3) для программы autoit! Его функционал схож со скриптом написанным мной для nncron.
Впрочем, можно обойтись и встроенным Windows планировщиком.

P.S. Для пользователей Vista необходимо использовать nncron версии 1.93b3
Tags:
Hubs:
+39
Comments 59
Comments Comments 59

Articles