×
HeadHunter and Superjob rezume updater on Ruby on Rails (21 авг 2017)

Практикуемся в написании кода под rails.

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

Больше
6 года 1 мес. назад - 6 года 1 мес. назад #1 от serge
serge создал эту тему: Автоматическое управление скоростью µTorrent
Скрипт для автоматического управления скоростью µTorrent, высвобождение канала для браузера.

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

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

Скрипт писался для того, чтобы Opera (или любое другое приложение) не тормозила во время работы uTorrent-a. Вы этот скрипт запускаете, и он висит у вас в процессах и ждёт пока откроется Opera. Как только это происходит, скрипт ставит uTorrent-у ограничение на общую скорость скачки. Если вы не трогаете мышь в течении заданного промежутка времени, то скорость восстанавливается. Шевелите — снова падает для разгрузки канала. Когда вы Operу закрываете, всё встаёт на круги своя. Скрипт умеет мониторить даже при выключенном 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. Качаете архив по ссылке (последняя версия 1.7.4, скачать - narod.ru/disk/15075776001/UT%20Speed%20Script%201.7.4.zip.html)
2. Распаковываете его в нужную вам папку
3. Запускаете register.bat (если выдаст ошибку — читайте F.A.Q)
4. Заходите в настройки uTorrent -> Web UI и ставите галочки "Enable Web UI" и "Alternative Listening port"
Пропишите пароль: 1234 (по умолчанию user=admin, pass=1234, port=8080 — эти значения можно изменить в файле utspeed.ini).
5. Жмёте правой кнопкой на самом скрипте UT Limiter [off].vbs, выбираете "изменить", прописываете путь к текущей папке (куда распакован архив), название процесса, можете изменить значения переменных (обратите внимание на Mode) и сохраняете файл.
6. Теперь можете копировать/переносить "UT Limiter [off].vbs" куда угодно, если появится необходимость.
7. Запускаете этот файл (статус в квадратных скобках поменяется на [on], что будет означать, что скрипт работает)
8. Чтобы отключить скрипт вы можете запустить его ещё раз (переименовать или удалить).
9. В автозагрузку можете добавить ярлык на Autorun UT Limiter.vbs (не забудьте в нём прописать путь к скрипту)

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

F.A.Q

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

Ошибка: не удается найти класс программируемых объектов с именем "AutoItX3.Control"
Либо вы пропустили шаг №3 (запустить register.bat), либо регистрация библиотеки AutoItX3.dll прошла неудачно. В последнем случае смотрите предыдущий ответ на вопрос (регистрация dll).

Выскакивают два окна:
1-Couldn't Get Token
2-Couldn't Establish A Connection
Эти сообщения означают, что utspeed не может подконнектиться к uTorrent. Как это настраивается описывается в шаге №4 (можете подредактировать utspeed.ini). Ещё эти ошибки могут случайно вылезти при закрытии uTorrent (ни на что не влияет).

Настраиваемые функции (версия 1.7):
  • InstallPath = "C:\Program Files\uTorrent\utspeed\" — путь к установочной папке [Str]
  • MonitorProcess = "opera.exe" — название отслеживаемого процесса (можно указать несколько через "|")
  • MonitorWindow = "Opera|Mozilla Firefox" — часть названия отслеживаемого окна (можно несколько окон через "|")
  • MonitorHost = "" — часть названия или полный IP отслеживаемого хоста (можно указать несколько через "|")
  • Mode = 0 — режимы: 0 — лимиты, 1 — расписание, 2 — ipfilter [0/1/2]
  • FileNameOn = "UT Limiter [on].vbs" — имя файла при включенном скрипте [Str]
  • FileNameOff = "UT Limiter [off].vbs" — имя файла при выключенном скрипте [Str]
  • DownloadDefault = 0 — нормальная скорость скачки [кб/c]
  • UploadDefault = 0 — нормальная скорость отдачи [кб/c]
  • DownloadLimit = 1 — ограничение скорости скачки при обнаружении процесса [Кб/c]
  • UploadLimit = 15 — ограничение скорости отдачи при обнаружении процесса [Кб/c]
  • IdleTime = 15 — время простоя до частичного восстановления скорости [сек.]
  • IdleDownSpeed = 45 — скорость скачки во время простоя [Кб/c]
  • IdleUpSpeed = 50 — скорость отдачи во время простоя [Кб/c]
  • AwayTime = 60 — время отсутствия до полного восстановления скорости [сек.]
  • AwayDownSpeed = 0 — скорость скачки во время отсутствия [Кб/c]
  • AwayUpSpeed = 0 — скорость отдач и во время отсутствия [Кб/c]

А я смогу! - А поглядим! - А я упрямый!
Последнее редактирование: 6 года 1 мес. назад от serge.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.