Автоматическое управление скоростью µTorrent, высвобождение канала для браузера [решение]

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

Наконец-то тотальный контроль скорости uTorrent!


Хочу поделиться с вами замечательным скриптом для автоматической регулировки скорости uTorrent-a! Он высвобождает канал для браузера (или любого другого приложения) в зависимости от активности пользователя, т.е. при обнаружении одного из указанных процессов или окон, скрипт ограничивает скорость uTorrent-а в соответствии с заданными настройками. Когда браузер уходит в фон или сворачивается, скорость восстанавливается.

Скрипт очень гибкий в настройке. Имеет несколько режимов работы, несколько режимов мониторинга. Есть функция частичного восстановления скорости во время "простоя" и полного восстановления скорости во время "отсутствия". Можно ограничивать скорость при активности другого компа (может пригодиться, когда интернет канал делится между несколькими компами). У вас также есть возможность уследить за всеми необходимыми окнами, процессами или хостами, прописав их через знак "|". Таким образом скрипт может ограничивать скорость, только когда это действительно необходимо.

Скрипт писался для того, чтобы приложения, активно использующие интернет (браузер, онлайн-игры, ICQ, Skype и др.), не тормозили во время работы uTorrent-a. Вы этот скрипт запускаете, и он висит у вас в процессах и ждёт пока ваше приложение станет активным. Как только это происходит, скрипт ставит uTorrent-у ограничение на общую скорость скачки. Если вы не трогаете мышь в течении заданного промежутка времени, то скорость восстанавливается. Шевелите - снова падает для разгрузки канала. Когда вы закрываете приложение (или оно уходит в фон), всё встаёт на круги своя. Скрипт умеет мониторить даже при выключенном uTorrent (просто ждёт пока он включится). Отключить скрипт можно повторным запуском.


Три режима работы:

1. Ограничение общей скорости скачки/отдачи (max_dl_rate, max_ul_rate)
2. Включение/выключение заранее настроенного расписания (sched_enable)
3. Включение/выключение IP фильтра (ipfilter.enable)

?

Режим работы задаётся в опции mode определённой цифрой. Пример смотрите в блоке "настраиваемые функции" в самом низу.
В зависимости от цифры скрипт будет вести себя следующим образом:
0 - включать/выключать настроенные в скрипте лимиты на общую скорость скачки/отдачи
1 - включать/выключать встроенное в uTorrent расписание (его нужно предварительно настроить)
2 - включать/выключать заранее установленный в uTorrent ip-фильтр (сетевой экран)
 Ограничение скорости uTorrent (включение/выключение лимитов, расписания или ip-фильтра) происходит при срабатывании одного из событий мониторинга (смотрите ниже).


Три вида мониторинга:

• По названию отслеживаемого процесса (MonitorProcess)
• По части названия отслеживаемого окна (MonitorWindow)
• По части названия или полному IP отслеживаемого хоста (MonitorHost)

?

Соответственно есть три опции, в которых вы указываете на что скрипту реагировать (названия опций указаны в скобках выше). Для каждой опции можно указать несколько значений через знак "|". Примеры того, как указывать значения, смотрите в блоке "настраиваемые функции" в самом низу.
Если хотите реакции на окно - прописываете название в окна в MonitorWindow, на процесс - название процесса в MonitorProcess, реакция на хост - в MonitorHost. И наоборот: если не хотите реакции на процесс и хост, а только на окно - оставляете опции MonitorProcess и MonitorHost пустыми, а в MonitorWindow указываете название своего окна (или его часть).
Если произойдёт одно из событий мониторинга: обнаружен один из указанных процессов, активировано окно или в сети найден указанный комп, то скорость uTorrent-а на текущем компе ограничивается в соответствии с режимом работы (mode).


Дополнительные функции:

• Частичное восстановление скорости во время простоя (IdleTime)
• Полное восстановление скорости во время отсутствия (AwayTime)

?

Соответственно есть две опции, в которых вы обозначаете время простоя/отсутствия в секундах (названия опций указаны в скобках выше). Для каждой опции можно указать собственную скорость скачки/отдачи. Собственные лимиты работают только в режиме Mode = 0 (включение/выключение лимитов). В режимах Mode = 1 и Mode = 2 включение/выключение происходит только во время отсутствия. Реакция идёт на движение мыши. При активности хоста реакции не происходит. Примеры того, как указывать значения, смотрите в блоке "настраиваемые функции" в самом низу.
Я ввёл понятия "простоя" и "отсутствия", чтобы пользователи понимали, для чего создана каждая опция. Фактически они ни чем друг от друга не отличаются (кроме названия). В каждой опции задаётся задержка и значения скорости для неё. Если мышь не двигается заданное кол-во времени, устанавляваются указанные скорости. "Простой" означает, что пользователь просто смотрит в комп и не использует его (меньшая задержка); "отсутствие" говорит о том, что пользователь покинул комп вообще (большая задержка).
 Ограничение скорости uTorrent в соответствии с указанными к каждой опции лимитами (значения этих лимитов, конечно, больше значений общих лимитов) происходит при отсутствии движения мыши заданное кол-во времени.

При обнаружении движения скорость сбрасывается к значениям общих лимитов.


Вот, значит, как его установить:

1. Качаете прикреплённый архив
2. Распаковываете его в нужную вам папку
3. Заходите в настройки uTorrent -> Web UI и ставите галочки "Enable Web UI" и "Alternative Listening port".
Пропишите пароль: 1234 (по умолчанию user=admin, pass=1234, port=8080 - эти значения можно изменить в файле utspeed.ini).
4. Жмёте правой кнопкой на самом скрипте UT Limiter [off].vbs, выбираете "изменить", прописываете названия процессов и/или окон, можете изменить значения других настроек (обратите внимание на Mode) и сохраняете файл.
5. Запускаете этот файл (статус в квадратных скобках поменяется на [on], что будет означать, что скрипт работает)
6. Чтобы отключить скрипт, вы можете запустить его ещё раз (переименовать или удалить).
7. В автозагрузку можете добавить ярлык на Autorun UT Limiter.vbs (не забудьте в нём прописать путь к скрипту)

Код открытый, так что можете проверить или изменить под свои нужды. Файлы проверены на вирусы.

По поводу значений скорости: "0" означает отсутствие лимита, т.е. неограниченную (максимальную) скорость. Минимальная же скорость, которую можно поставить в uTorrent, равна "1".


F.A.Q.

>>> При первом запуске скрипта выскакивает окно c ошибкой ("Не удалось зарегистрировать библиотеку...")

Это значит регистрация библиотеки AutoItX3.dll прошла неудачно. Можно зарегистрировать AutoItX3.dll вручную: cкопировать его в папку WINDOWS\system32 и запустить команду "regsvr32.exe AutoItX3.dll" (подробнее в google).
А можно скачать с официального сайта AutoIt (ищите в поисковике) инсталяционный пакет "AutoIt Full Installation" и установить его. Для регистрация библиотеки вам скорее всего понадобятся права администратора.

>>> Ошибка: не удается найти класс программируемых объектов с именем "AutoItX3.Control"

Регистрация библиотеки AutoItX3.dll прошла неудачно. В последнем случае смотрите предыдущий ответ на вопрос (регистрация dll).

>>> Выскакивают два окна: "1-Couldn't Get Token" и "2-Couldn't Establish A Connection"

Эти сообщения означают то, что utspeed не может подконнектиться к uTorrent. Как это настраивается описывается в шаге №3 (можете подредактировать utspeed.ini). Ещё эти ошибки могут случайно вылезти при закрытии uTorrent (ни на что не влияет).

>>> Ничего не помогает. Сделал всё по инструкции. Всё испробовал - всё равно выскакивают два окна подряд.

Проверьте работает ли web-интерфейс. Для этого зайдите по адресу http://localhost:8080/gui/, где 8080 - это порт, указанный в настройках. Введите логин и пароль (по умолчанию логин: "admin", пароль: "1234"). Если web-интерфейс не работает, то проблема в нём (и наоборот соответственно). Скачайте также последнюю стабильную версию uTorrent.



Пожалуйста, отписывайтесь о результатах!
 


Настраиваемые функции (версия 1.8):


MonitorProcess = "nfs.exe" ' - название отслеживаемого процесса (можно указать несколько через "|")
MonitorWindow = "Opera|Mozilla Firefox" ' - часть названия отслеживаемого окна (можно указать несколько через "|")
MonitorHost = "192.168.0.2|comp5.dyndns.org" ' - часть названия или полный IP отслеживаемого хоста (можно указать несколько через "|")
Mode = 0 ' - режим работы скрипта: 0 - лимиты, 1 - расписание, 2 - ipfilter [0/1/2]
• DownloadDefault = 0 ' - нормальная скорость скачки [кб/c]
• UploadDefault = 0 ' - нормальная скорость отдачи [кб/c]
• DownloadLimit = 1 ' - ограничение скорости скачки при обнаруж. процесса [кб/c]
• UploadLimit = 15 ' - ограничение скорости отдачи при обнаруж. процесса [кб/c]
• IdleTime = 15 ' - время простоя до частичного восстановл. скорости [сек.]
• IdleDownSpeed = 80 ' - скорость скачки во время простоя [кб/c]
• IdleUpSpeed = 50 ' - скорость отдачи во время простоя [кб/c]
• AwayTime = 45 ' - время отсутствия до полного восстановл. скорости [сек.]
• AwayDownSpeed = 0 ' - скорость скачки во время отсутствия [кб/c]
• AwayUpSpeed = 0 ' - скорость отдачи во время отсутствия [кб/c]

Дополнительные:
• InstallPath = "C:\Program Files\uTorrent\utspeed\" ' - путь к папке, где лежит "utspeed.exe" (оставьте пустым, если лежит в этой же папке)
• uTorrentProcess = "utorrent.exe" ' - название процесса программы uTorrent
• uTSpeedProcess = "utspeed.exe" ' - название процесса программы uTSpeed (идёт в комплекте)
• AutoItXName = "AutoItX3.dll" ' - название AutoItX библиотеки (идёт в комплекте)
• FileNameOn = "UT Limiter [on].vbs" ' - имя файла при включенном скрипте
• FileNameOff = "UT Limiter [off].vbs" ' - имя файла при выключенном скрипте
• LoopDelay = 1000 ' - замедление скорости детектирования процессов, окон и хостов (чем выше, тем меньше нагрузка на процессор, но медленне реакция) [мс]
• MouseDelay = 500 ' - замедление скорости детектирования движения мыши (чем выше, тем меньше нагрузка на процессор, но медленне реакция) [мс]
• pingTimeout = 1500 ' - максимальное время ожидания ответа от хоста [мс]
• TitleMatchMode = 2 ' - режим совпадения названия окна: 1 - только с начала, 2 - в любом месте, 3 - полностью [1/2/3]

Скачать: narod.ru [версия 1.8 от 11 июня 2011]