1

Тема: OFF: Удаленный запуск AHK-скриптов со смартфона

Здравствуйте! Подскажите, пожалуйста, каким образом проще всего реализовать удаленный запуск сценариев на компьютере?

Иногда появляется необходимость проверить, правильно ли работает рабочая программа, для чего вынужден подключаться к удаленному рабочему столу посредством приложения TeamViewer, что не очень удобно. На основе имеющихся примеров AHK-скриптов, я реализовал такую проверку с отправлением отчета на почту, но как обращаться к ней (запускать данный сценарий) удаленно - не понимаю. Пробовал разобраться с SSH, но ничего не вышло.

2

Re: OFF: Удаленный запуск AHK-скриптов со смартфона

Ставим веб-сервер, выделенный IP-адрес или используем сервис  динамическим DNS. Пишем простейший скрипт мониторинга, периодически сохраняющий в текстовый файл доступный извне результаты мониторинга.

3

Re: OFF: Удаленный запуск AHK-скриптов со смартфона

А я как то управлял удаленными терминалами, посылая на почтовые ящики, закрепленные за ними, код скрипта. Скрипт на терминале периодически проверял почту и когда получал такое письмо, то извлекал из него текст и выполнял его. После выполнения отсылал мне лог. Работало (да и, наверное, сейчас тоже) как часы.

4

Re: OFF: Удаленный запуск AHK-скриптов со смартфона

mozers, что необходимо для реализации такой оработки входящих писем? Нужны ли всякого рода сервера и опреации с IP-адресами? Или достаточно универсального приложения для обработки таких писем? Если так, то где взять такое приложение?

5

Re: OFF: Удаленный запуск AHK-скриптов со смартфона

Да ничего не нужно окромя почтовых ящиков и этого скриптика.

6 (изменено: becauseim, 2017-03-31 19:50:52)

Re: OFF: Удаленный запуск AHK-скриптов со смартфона

mozers, можно зеркало? Сюда, например. У меня ссылка не работает.

7

Re: OFF: Удаленный запуск AHK-скриптов со смартфона

Вот.

8

Re: OFF: Удаленный запуск AHK-скриптов со смартфона

mozers, спасибо! Не нашел в архиве сопутствующей информации. Можно краткое руководство по настройке скрипта?
Напомню, что мне необходим запуск прикрепленных AHK-скриптов из сообщений от конкретного адреса, т.е. от самого себя.

9

Re: OFF: Удаленный запуск AHK-скриптов со смартфона

becauseim
1. Регистрируем ящик вида terminal068@ya.ru, где 068 - номер удаленного терминала.
2. Исправляем в скрипте параметры: psw(пароль на ящик) и sender(адрес получателя отчетов о выполнении).
3. Создаем файлик c:\terminal\client\config\terminal.ini с одной строчкой TerminalId=068, где 068 - номер удаленного терминала.
4. Запускаем скрипт командой cscript mailcmd_004.js
5. Посылаем на адрес terminal068@ya.ru письмо с вложением MyAHKscript.exe и текстом:

4370998
attach\MyAHKscript.exe
echo Скрипт завешен с кодом %errorlevel%

где 1я строка - секретный код (без него все письма попадают в спам),
2я строка - запуск твоего скрипта (по умолчанию все вложения распаковываются в подпапку attach)
3я строка - произвольная команда OS
6. После выполнения скрипт пришлёт вывод всех выполненных команд на адрес sender.

Для тестирования удаленный терминал не обязателен. Работоспособность можно испытать на любой машине имеющей доступ в инет. Все действия и ошибки, выполняемые скриптом, выводятся в консольное окно.
Если возникнут какие то мелкие вопросы, то пиши в приват - решим.

Если кого то еще заинтересует поделка, то готов допилить её до приличного вида (с того времени когда это писалось прошло очень много времени - массу нового познал - идеи появились - но зачем творить невостребованные вещи?).

10

Re: OFF: Удаленный запуск AHK-скриптов со смартфона

mozers, спасибо!
Номер терминала брать из головы или это значение определяется специальным образом?
Вложеный AHK-скрипт обязательно должен быть интерпретирован в exe?

11 (изменено: mozers, 2017-04-03 15:42:03)

Re: OFF: Удаленный запуск AHK-скриптов со смартфона

1. Из головы.
2. Необязательно если AutoHotkeyU32.exe там установлен. Скрипт выполняет ЛЮБЫЕ команды ОС.

12

Re: OFF: Удаленный запуск AHK-скриптов со смартфона

mozers, вышло такое сообщение:
http://puu.sh/v8gsC/66f6711c68.png
Прим этом, при запуске mailcmd_004.js выходит сообщение:
http://puu.sh/v8kPB/833ea34d13.png
хотя в файл c:\terminal\client\config\terminal.ini я ввел TerminalId=10000.

13

Re: OFF: Удаленный запуск AHK-скриптов со смартфона

А не проще ли синхронизировать папку и в нее посылать скрипты?

14

Re: OFF: Удаленный запуск AHK-скриптов со смартфона

Malcev, в общем, да. Я представляю себе это следующим образом:

  • На смартфоне и ПК синхронизирована директория с несколькими скриптами в отдельности, а также условным мастерскриптом, который работает в фоне и обновляет себя с заданым интервалом времени. В него прописывается вложение соседних сркиптов и перечисляются закомментированные строки для запуска каждого из них.

  • Для запуска определенного скрипта со смартфона, необходимо раскомментировать строку для запуска нужного сценария и сохранить изменения.

  • После получения необходимого отчета о выполнении сценария на ПК, вновь закомментировать строку. А для повторного запуска, вновь раскомментировать.

Здесь мне бы хотелось как-то упростить последний пункт, например, чтобы после единоразвого выполнения, команда сама себя исключала из сценария (закомментировала). Или же я вовсе неверно представляю последовательность действий.



;MasterScript.ahk

#SingleInstance Force
SetTimer, reload, 1000

#Include script1.ahk
#Include script2.ahk
#Include script3.ahk

;Run script1.ahk
;Run script2.ahk
;Run script3.ahk

reload:
Reload
return

15

Re: OFF: Удаленный запуск AHK-скриптов со смартфона

Можно сделать следящий скрипт, который будет следить за синхронизированной директорией.
И при появлении скрипта, либо текстового документа с ссылкой на скрипт запускать его, после чего удалять его из директории и ждать следующего.

16

Re: OFF: Удаленный запуск AHK-скриптов со смартфона

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

17

Re: OFF: Удаленный запуск AHK-скриптов со смартфона

Я не совсем понимаю, ваш алгоритм получейний-отправлений уведомлений.
Но можно создать текстовый файл в вотчфолдере с записями:

; скрипт1
; скрипт2
; скрипт3

Захотели что-то запустить - точку с запятой убрали.
Следящий скрипт смотрит за этим файлом - если дата модификации изменилась - проверяет, какой скрипт раскоментирован и запускает его.
После чего снова его комментирует.

18

Re: OFF: Удаленный запуск AHK-скриптов со смартфона

Malcev, понял. Но такое я не смогу реализовать самостоятельно. Функцию WatchFolder() скачал, но пока не разобрался, как привести ее в действие. И нельзя для считывания такого текстового файла ограничится командой FileRead? А дату модификации, как понимаю, можно узнать с помощью команды FileGetTime, но узнать, была ли дата изменена - не знаю, кроме как постоянного считывать в переменную эту дату и сравнивать через заданный промежуток времени с предыдущим значением с помощью неравенства (!=). Если это не единственный способ, приведите пример, пожалуйста.

19

Re: OFF: Удаленный запуск AHK-скриптов со смартфона

Можете смело через FileGetTime сделать.
Читать можете через FileRead (потом просто регуляркой пройтись) либо через Loop, Read и построчно проверять.

20

Re: OFF: Удаленный запуск AHK-скриптов со смартфона

Правильной дорогой идете, товарищи!
Во времена когда писался мой скрипт облачные хранилища были экзотикой. Да и модемная связь оставляла желать лучшего. Сейчас все действительно проще...