Захотел я как-то настроить возможность давать команду домашнему компьютеру начинать загрузку торрента путем отправки торрент-файла по email на специальный адрес, а при окончании загрузки получать соответствующее уведомление по email. И сделал.
Дополнительные условия:
- Есть круглосуточно работающий компьютер с Windows 7. Будем использовать его.
- Вход в систему не автоматический, т.е. может быть и не выполнен.
- Создавать собственный программный продукт не хочется. Будем пользоваться готовыми.
Запускать приложения будем планировщиком от пользователя SYSTEM при запуске компьютера. Для преодоления отсутствия «правильного» пользователя и его директорий будем использовать portable-версии.
Возьмем:
- Для отправки писем с уведомлениями blat.exe и stunnel;
- uTorrent;
- Для получения писем с вложенным файлом Thunderbird с attachmentextractor.
Настраиваем:
1. blat.exe и stunnel
Уведомление об окончании загрузки будет отправлять с почты Gmail.
Необходимые настройки описаны здесь.
Кратко:
1.1. Скачиваем приложения, устанавливаем stunnel.
1.2. Правим stunnel.conf в папке stunnel.
# GLOBAL OPTIONS
client = yes
output = stunnel-log.txt
debug = 0
taskbar = no
# SERVICE-LEVEL OPTIONS
[SMTP Gmail]
accept = 127.0.0.1:1099
connect = smtp.gmail.com:465
1.3. В командной строке выполняем:
blat -install smtp.gmail.com youremail@gmail.com -u gmailusername -pw gmailpassword – - gmailsmtp
2. UTorrent
2.1. Устанавливаем uTorrentPortable (испытано на версии 3.1.3), настраиваем под собственные потребности, а также в Настройках:
- Папки > Указываем папку «Автозагрузка торрентов из:» В неё будем сохранять полученные по email торрент-файлы.
- Скорость > «Макс.скорость отдачи». Здесь в некоторых случаях имеет смысл поставить значение поменьше, т.к. в рамках этого решения Вы не сможете удаленно остановить раздачи, и они будут продолжаться до Вашего непосредственного вмешательства. Минимум – 1 Кб/с; а 0 – это, напротив, не ограничено.
2.2. В Планировщике заданий создаем задачу для запуска uTorrentPortable со следующими настройками:
- Использовать учётную запись пользователя: «система»;
- Выбрать «Выполнять вне зависимости от регистрации пользователя»;
- Выбрать «Выполнять с наивысшими правами». Это необходимо не для самого uTorrent-а, а для успешного запуска stunnel при отправке уведомлений (см. далее);
- Триггер: «При включении компьютера».
Тестирования запуска/завершения uTorrentPortable из-под SYSTEM показало, что при аварийном завершении в папке uTorrentPortableData остается файл PortableApps.comLauncherRuntimeData-uTorrentPortable.ini, что делает невозможным следующий запуск программы.
Поэтому в «Действия» перед запуском uTorrentPortable добавляем запуск вот такого clearini.bat:
set SETTINGSFILE="d:uTorrentPortableDataPortableApps.comLauncherRuntimeData-uTorrentPortable.ini"
if exist %SETTINGSFILE% (del %SETTINGSFILE%) else (echo ok)
3. Thunderbird
3.1. Устанавливаем Thunderbird portable
Уточнение на всякий случай: протестировано на thunderbird portable версии 12.0
Настраиваем получение почты.
Устанавливаем дополнение attachmentextractor.
В настройках attachmentextractor указываем:
- Общие > Путь для сохранения по умолчанию > папка utorrent для автозагрузки, а также, на всякий случай, переключатель «Всегда заменять существующий файл новым вложением».
- После извлечения> включаем «Пометить сообщение как прочитанное» и «Удалить сообщение». Это важно, иначе после перезапуска начнете, вероятно, загружать заново.
- Автоизвлечение > включаем «Автоматически извлекать вложение при получении письма» и «Запускать только Auto-Extract для сообщений, в которых есть вложения».
3.2. Эксперименты по запуску Thunderbird portable из-под SYSTEM выявили, что приложению всё же необходима временная папка пользователя.
Поэтому для запуска используем такой Start.bat:
@echo off
setlocal enableextensions
set TMP=%~dp0temp-folder
"%~dp0ThunderbirdPortable.exe"
Endlocal
Его сохраняем в папке с ThunderbirdPortable.exe и создаём там папку temp-folder.
3.3. В планировщике заданий создаем задачу запуска start.bat с такими настройками:
- Использовать учётную запись пользователя: «система»;
- Выбрать «Выполнять вне зависимости от регистрации пользователя»;
- Можно не выбирать «Выполнять с наивысшими правами»;
- Триггер: «При включении компьютера».
4. Создаём torrent_finish.bat
set debug=-debug -log blat.log -timestamp
"C:Program Filesstunnelstunnel.exe" -start -quiet
D:
CD D:Softblat
blat.exe -p gmailsmtp -to youremail@gmail.com -subject "%~1" -body "Loaded." -charset windows-1251 -server 127.0.0.1:1099 %debug%
"C:Program Filesstunnelstunnel.exe" -stop -quiet
В настройках uTorrent:
Дополнительно > Запуск программы > «Запустить эту программу по завершению торрента» > torrent_finish.bat "%N"
Система будет готова к работе после каждого перезапуска компьютера.
Есть много других решений, удаленного управления торрент-клиентом. Вот здесь сразу 4 способа, а здесь даже специальное ПО.
Автор: A0Z