Skip to content
diemonic1Public

About

This program allows you to control Windows using VBS scripts via a local network or public IP (similar to webhooks), or using a telegram bot.

Resources

Stars

4 stars

Watchers

0 watching

Forks

Latest commit

 

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CatPilot CatPilot - free open source Windows remote control and automation app (VBS scripts, HTTP webhooks, Telegram bot)

Static Badge GitHub top language License: MIT GitHub Repo stars GitHub issues

Documentation on english

Документация на русском языке

Documentation on english

This program allows you to control Windows using VBS scripts via a local network or public IP (similar to webhooks), or using a telegram bot.

Installation

Window and tray

How to write scripts

Emulating keystrokes

Ready-made script examples

Integration with a telegram bot

Quick link opening

Control outside the local network (Yandex Alice, IFTTT, etc.)

URL of an additional request

Program update

Developer information: additional localizations

Developer information: how to build the program

Installation

Download the current build version on page releases

Unzip the CatPilot folder anywhere and run CatPilot.exe

Note

The program window uses Microsoft Edge WebView2 Runtime. It is built into Windows 11 and is usually already installed on Windows 10 (if the window does not open, install it from the Microsoft website)

Window and tray

CatPilot runs in the system tray. The window with scripts and settings is a separate process: it is created only when you open it and is completely closed when you close it or click "Hide to tray", so while CatPilot is in the tray, the interface does not consume any resources.

  • If "Hide to tray after start" is enabled in the settings, only the tray icon appears at startup, no window is created
  • You can open the window with "Show" in the tray menu, by clicking the tray icon, or simply by running CatPilot.exe again
  • The tray menu contains the scripts with "in tray" enabled. If there is an emoji in the script name, it is shown as the menu item icon
  • In the list of scripts, tags show what is enabled for the script: notify (notification), tray (shown in the tray menu), tg (shown in the telegram bot), keys (keys are emulated). Hover over a tag to see a hint
  • The script editor highlights VBS syntax and suggests ready-made snippets (shell, WShell.Run, WShell.SendKeys, WScript.Sleep and others). Ctrl+S saves the scripts

How to write scripts

VBS allows you to implement most useful scripts. Here is a common template for a script:

Dim WShell
Set WShell = CreateObject("WScript.Shell")

WShell.Run("")

With WShell.Run("") you can run any commands, including .bat scripts, python scripts or just cmd commands.

Tip

To prevent a python script from showing the console when running, but to run it in the background, simply rename the ScriptName.py script file to ScriptName.pyw, changing the extension

You can use the ' symbol to indicate a comment inside VBS

Comments will be highlighted in color in the editor.

You can use any UTF-8 characters as a script name, including text emoticons 😻.

The script URL can only consist of Latin characters and numbers. The names or URLs of two different scripts cannot be duplicated.

You can launch the script execution by URL.

Example

I create a script with URL="RunNotepad" and the name "📄 Run Notepad 📄":

Dim WShell
Set WShell = CreateObject("WScript.Shell")

WShell.Run("notepad.exe")

The IP address of my computer in the local network is 192.168.0.102, which means I can run the script by creating a GET request (opening it in a browser, for example) to 192.168.0.102:5000/RunNotepad After that, my notepad will open.

Important

Your router can dynamically assign IP addresses to devices, so - to avoid changing the link you run commands from every time - either disable dynamic allocation in its settings, or assign a specific IP to your device

Emulating keystrokes

You can add keys to each script that will be emulated after it is executed successfully. For example, by selecting the "f5" key, you can emulate pressing it:

f5
+
None
+
None

By specifying several keys, you can call a keyboard shortcut. For example, ctrl+shift+escape will call the task manager (keystrokes will be emulated):

ctrl
+
shift
+
escape

Tip

If you don't need a script, but only emulation of keys, you can insert only a comment inside the script, for example 'only buttons click

Ready-made script examples

Run a program with spaces in the path

Dim WShell
Set WShell = CreateObject("WScript.Shell")

WShell.Run Chr(34) & "C:\Program Files (x86)\Steam\steam.exe"

Kill some program (for example FxSound.exe)

Dim WShell
Set WShell = CreateObject("WScript.Shell")

WShell.Run "taskkill /F /IM FxSound.exe", 0

Run a python script

Dim WShell
Set WShell = CreateObject("WScript.Shell")

WShell.Run("C:\Programs\Test\Check.pyw")

Open page in browser

Dim WShell
Set WShell = CreateObject("WScript.Shell")

WShell.Run "https://www.google.com/"

Restart PC

Dim WShell
Set WShell = CreateObject("WScript.Shell")

WShell.Run "shutdown.exe -r -f -t 00"

Shutdown computer

Dim WShell
Set WShell = CreateObject("WScript.Shell")

WShell.Run "shutdown.exe /s /t 5"

Put computer to sleep

Dim WShell
Set WShell = CreateObject("WScript.Shell")

WShell.Run "rundll32.exe powrprof.dll,SetSuspendState Sleep"

Run two programs and open a website

Dim WShell
Set WShell = CreateObject("WScript.Shell")

WShell.Run Chr(34) & "C:\Program Files (x86)\Steam\steam.exe" 'open steam
WShell.Run("S:\Oculus\Support\oculus-client\OculusClient.exe") 'open oculus client

WShell.Run "https://www.google.com/"

Empty script with a comment

'comment

Next track/video

nexttrack
+
None
+
None

Previous track/video

prevtrack
+
None
+
None

Increase volume

volumeup
+
None
+
None

Decrease volume

volumedown
+
None
+
None

Pause media

playpause
+
None
+
None

Integration with a telegram bot

You can also execute commands using a telegram bot. When sending commands this way, you do not need to be on the same local network as the device. First, you need to create your own telegram bot. You can name it whatever you like, for example, 🐾 CatPilot 🐾, and upload a cat as an avatar:

After creating the bot, you will receive its token (for example 4839574812:AAFD39kkdpWt3ywyRZergyOLMaJhac60qc)

  • Paste this token into the CatPilot settings

The bot will execute commands only from those users whose telegram IDs are specified in the settings in the allowed list. You can find out your telegram ID from this bot @getmyid_bot

The ID must be written with a comma, without spaces: 45435345,12356567

You can get a list of commands in the bot using any of these messages: /start /help /commands /начать /помощь /команды

Tip

You can run commands from the TG bot by sending it a message with the name or URL of the command (without having to call the list with all the commands).

After a while, the program will delete the message with the list of commands so that you do not accidentally run some command that no longer exists (you can always click on the last message to repeat the execution, including the output of commands).

Quick link opening

If you have connected the bot, you can use the quick link opening. If you send the bot a message that contains http, https, .com or .ru, it will open the link in a standard browser.

Tip

Using quick link opening, you can, for example, click "share video" in the YouTube mobile app and send the link to it to the bot, and then it will immediately open it on the computer

Control outside the local network (Yandex Alice, IFTTT, etc.)

You can execute commands even when you are not on the same local network as the device. This may be necessary if you want to control the computer using Yandex Alice, IFTTT or another service that supports webhooks.

If you have a white IP address, you can forward ports (keep in mind that this is not safe).

An alternative would be to use services like ngrok, cloudpub, Tuna or any other similar ones that allow you to create a tunnel.

To integrate with Yandex Alice, you can use the "Domovenok Kuzya" skill.

Restarting a tunnel in case of an error

If the application you are using to create a tunnel is unstable and sometimes loses connection, you can restart it. To do this, create a script called RestartTunnel.vbs (with this exact name) inside the CatPilot application folder and write the code that restarts your tunnel into it.

In my case the code looks like this:

Dim WShell
Set WShell = CreateObject("WScript.Shell")

WShell.Run "taskkill /f /im clo.exe", 0
WShell.Run "S:\Programs\CatPilot\StartTunnel.bat", 0

Here the clo.exe process is closed, after which the .bat file is launched, restarting the tunnel with my token:

clo.exe set token 0cWE3Zmrdrmvp6B_QtSzXDTb0sRntiPDE5G_f4vtuAw
clo.exe publish http 192.168.0.137:5000
clo.exe run

In the CatPilot settings, specify the link by which CatPilot can be accessed outside the local network.

because I use cloudpub, for me this link looks like https://mydomen.cloudpub.ru/Call

you will have your own domain, but /Call should also be present - this is a standard request for the CatPilot application

Your https://example.yourservice.com/Call will be requested every minute, expecting to receive a 200 "Ok" response If no response is received, the RestartTunnel.vbs script will be launched

If the script does not exist, or if the link is not specified, this code will not work.

If the script and link are specified, the RestartTunnel.vbs script will be launched when CatPilot starts (this way you can automatically start your tunnel)

URL of an additional request

You may need to track whether CatPilot is currently running or not. To do this, you can request https://example.yourservice.com/Call yourself, or use the additional URL function. If you specify an additional request URL in the CatPilot settings, a GET request will be sent to this URL every minute. This way, you can, for example, send a GET request to the server to track whether the program is still running and working (or whether the computer is working in general, if the program is always active while it is on).

Program update

  1. Download the new version as a zip archive, unzip the CatPilot folder from it
  2. Kill the CatPilot process (via the program itself or via the task manager)
  3. Move all files from the CatPilot folder of the new version to the folder where you have CatPilot installed, confirm the replacement of all files (settings, scripts and log will not be replaced)
  4. Run CatPilot again

Important

Starting with version 2.0.0, the program libraries are in the _internal folder. When updating from version 1.x, do not copy the new version over the old one: delete everything from the CatPilot folder except Settings.json, the Tasks folder, log.txt and your own files (for example RestartTunnel.vbs), and then copy the new version there.

Developer information: additional localizations

The Localization folder stores json files with localized text. You can create a new localization file by specifying the language as the file name and filling in the translation inside (based on the English localization, for example).

After restarting the program, localization can be selected in the settings.

Important

Please note that localization keys cannot be changed.

Developer information: how to build the program

To build an exe application, use pyinstaller.exe

The code is split into several python files:

  • CatPilot.py - the entry point: starts everything below (or the window process with --gui)
  • catpilot_config.py - constants, program folder and Settings.json
  • catpilot_log.py - log.txt and logging of crashes
  • catpilot_localization.py, catpilot_notify.py - localizations and Windows notifications
  • catpilot_tasks.py - scripts: loading, saving, running, key emulation
  • catpilot_server.py - the Flask server for running scripts by URL, the additional URL and the tunnel restart
  • catpilot_bot.py - the telegram bot
  • catpilot_tray.py, catpilot_tray_icons.py - the tray icon and emoji icons of its menu items
  • catpilot_window.py - the window process and the local API for it
  • catpilot_instance.py - single instance, exit and restart
  • catpilot_gui.py - the settings window (WebView2 via pywebview). It is a separate process (CatPilot.exe --gui) that exists only while the window is open
  • catpilot_ui.py - the window interface (HTML/CSS/JS)
  • catpilot_monaco.py - the Monaco code editor packed into a python module (generated by tools/BuildMonacoBundle.py, do not edit by hand)

Required libraries: pip install flask pystray pillow pyautogui pyTelegramBotAPI requests win11toast pywebview pyinstaller

After that:

  1. Open the console as administrator in the folder where CatPilot.py is located
  2. Run the command: pyinstaller.exe --noconfirm CatPilot.spec
  3. After the build is complete, the CatPilot folder will appear in the dist folder, this is the finished build. All python libraries and the window interface are already inside it. CatPilot.spec excludes libraries the program does not use (tkinter, numpy, etc.), so build with it rather than with pyinstaller flags: otherwise the spec is overwritten
  4. Copy all the contents from the ADD folder to the CatPilot folder, which contains the build (localizations, the Tasks folder, icons and the LoadOnStartup / NotLoadOnStartup / OpenBrowserLink scripts)
  5. Now the program can be launched as usual using CatPilot.exe

Документация на русском языке

Это программа позволяет управлять Windows посредством VBS скриптов через локальную сеть или публичный IP (на подобии webhooks), или с помощью телеграмм бота.

Установка

Окно и трей

Как писать скрипты

Эмуляция нажатий клавиш

Готовые примеры скриптов

Интеграция с телеграмм ботом

Быстрое открытие ссылки

Управление вне локальной сети (Яндекс Алиса, IFTTT и т.д.)

URL дополнительного запроса

Обновление программы

Информация для разработчиков: дополнительные локализации

Информация для разработчиков: как собрать билд программы

Установка

Скачайте актуальную версию билда на странице релизов

Распакуйте папку CatPilot куда угодно и запустите CatPilot.exe

Note

Окно программы использует Microsoft Edge WebView2 Runtime. Он встроен в Windows 11 и обычно уже установлен в Windows 10 (если окно не открывается, установите его с сайта Microsoft)

Окно и трей

CatPilot работает в системном трее. Окно со скриптами и настройками — отдельный процесс: оно создаётся только когда вы его открываете и полностью закрывается, когда вы его закрываете или нажимаете «Скрыть в трей», поэтому пока CatPilot в трее, интерфейс не тратит ресурсы.

  • Если в настройках включено «Скрывать в трей после запуска», при старте появляется только иконка в трее, окно не создаётся
  • Открыть окно можно пунктом «Показать» в меню трея, кликом по иконке в трее или просто повторно запустив CatPilot.exe
  • В меню трея находятся скрипты, у которых включено «в трее». Если в имени скрипта есть смайлик, он показывается как иконка пункта меню
  • В списке скриптов теги показывают, что включено у скрипта: notify (уведомление), tray (есть в меню трея), tg (есть в телеграмм боте), keys (эмулируются клавиши). Если навести на тег, появится подсказка
  • Редактор скриптов подсвечивает синтаксис VBS и подсказывает готовые заготовки (shell, WShell.Run, WShell.SendKeys, WScript.Sleep и другие). Ctrl+S сохраняет скрипты

Как писать скрипты

VBS позволяет реализовать большинство полезных скриптов. Вот обыкновенный шаблон для скрипта:

Dim WShell
Set WShell = CreateObject("WScript.Shell")

WShell.Run("")

С помощью WShell.Run("") можно запускать любые команды, в том числе и выполнение .bat скриптов, пайтон скриптов или просто команд для cmd.

Tip

Чтобы при запуске пайтон скрипт не показывал консоль, а исполнялся в фоне, достаточно переименовать файл скрипта ScriptName.py в ScriptName.pyw, изменив расширение

Для обозначения комментария внутри VBS можно использовать символ '
Комментарии будут выделяться цветом в редакторе.

В качестве имени скрипта вы можете использовать любые символы UTF-8, в том числе и текстовые смайлики 😻.

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

Именно по URL вы можете запустить выполнение скрипта.

Пример

Я создаю скрипт с URL="RunNotepad" и именем "📄 Запустить блокнот 📄":

Dim WShell
Set WShell = CreateObject("WScript.Shell")

WShell.Run("notepad.exe")

IP адрес моего компьютера в локальной сети - 192.168.0.102, значит, запустить скрипт я могу создав GET-запрос (открыв в браузере, например) к 192.168.0.102:5000/RunNotepad
После этого у меня откроется блокнот.

Important

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

Эмуляция нажатий клавиш

К каждому скрипту вы можете добавить клавиши, которые будут эмулироваться после его успешного выполнения. Например, выбрав клавишу "f5" можно эмулировать ее нажатие:

f5
+
None
+
None

Задав несколько клавиш, можно вызвать клавишное сочетание. Например, ctrl+shift+escape вызовет диспетчер задач (будет эмулироваться зажатие клавиш):

ctrl
+
shift
+
escape

Tip

Если вам нужен не скрипт, а только эмуляция клавиш, вы можете вставить внутрь скрипта только комментарий, например 'only buttons click

Готовые примеры скриптов

Запустить программу, в пути до которой есть пробелы

Dim WShell
Set WShell = CreateObject("WScript.Shell")

WShell.Run Chr(34) & "C:\Program Files (x86)\Steam\steam.exe"

Убить какую-нибудь программу (например FxSound.exe)

Dim WShell
Set WShell = CreateObject("WScript.Shell")

WShell.Run "taskkill /F /IM FxSound.exe", 0

Запустить скрипт пайтон

Dim WShell
Set WShell = CreateObject("WScript.Shell")

WShell.Run("C:\Programs\Test\Check.pyw")

Открыть страницу в браузере

Dim WShell
Set WShell = CreateObject("WScript.Shell")

WShell.Run "https://www.google.com/"

Перезапустить ПК

Dim WShell
Set WShell = CreateObject("WScript.Shell")

WShell.Run "shutdown.exe -r -f -t 00"

Выключить компьютер

Dim WShell
Set WShell = CreateObject("WScript.Shell")

WShell.Run "shutdown.exe /s /t 5"

Усыпить компьютер

Dim WShell
Set WShell = CreateObject("WScript.Shell")

WShell.Run "rundll32.exe powrprof.dll,SetSuspendState Sleep"

Запустить две программы и открыть сайт

Dim WShell
Set WShell = CreateObject("WScript.Shell")

WShell.Run Chr(34) & "C:\Program Files (x86)\Steam\steam.exe" 'open steam
WShell.Run("S:\Oculus\Support\oculus-client\OculusClient.exe") 'open oculus client

WShell.Run "https://www.google.com/"

Пустой скрипт с комментарием

'comment

Следующий трек/видео

nexttrack
+
None
+
None

Предыдущий трек/видео

prevtrack
+
None
+
None

Увеличить громкость

volumeup
+
None
+
None

Уменьшить громкость

volumedown
+
None
+
None

Поставить медиафайл на паузу

playpause
+
None
+
None

Интеграция с телеграмм ботом

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

После создания бота вы получите его токен (например 4839574812:AAFD39kkdpWt3ywyRZergyOLMaJhac60qc)

  • Вставьте этот токен в настройки CatPilot

Бот будет выполнять команды только тех пользователей, чьи телеграмм ID указаны в настройках в списке разрешенных. Узнать ваш телеграмм ID вы можете у этого бота @getmyid_bot

ID нужно записывать через запятую, без пробелов: 45435345,12356567

В боте можно получить список команд с помощью любого из этих сообщений: /start /help /commands /начать /помощь /команды

Tip

Можно запускать команды из тг бота, присылая ему сообщение с именем или URL команды (без необходимости вызова списка со всеми командами).

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

Быстрое открытие ссылки

Если вы подключили бот, вы можете воспользоваться быстрым открытием ссылки. Если вы отправите боту сообщение, которое содержит http, https, .com или .ru, он откроет ссылку в стандартном браузере.

Tip

Используя быстрое открытие ссылки, вы можете, например, нажать в мобильном приложении YouTube "поделиться видео" и отправить ссылку на него боту, и тогда он сразу откроет его на компьютере

Управление вне локальной сети (Яндекс Алиса, IFTTT и т.д.)

Вы можете выполнять команды и не находясь в одной локальной сети с устройством. Это может понадобиться, если вы хотите управлять компьютером с помощью Яндекс Алисы, IFTTT или другого сервиса, поддерживающего webhooks.

Если у вас белый IP адрес, вы можете пробросить порты (учтите, что это не безопасно).

Альтернативой будет использование сервисов на подобии ngrok, cloudpub, Tuna или любых других аналогов, позволяющих создать туннель.

Для интеграции с Яндекс Алисой можно воспользоваться навыком "Домовенок Кузя".

Перезапуск туннеля в случае ошибки

Если приложение, с помощью которого вы создаете туннель, работает нестабильно и иногда теряет связь, вы можете его перезапускать. Для этого создайте внутри папки приложения CatPilot скрипт RestartTunnel.vbs (именно с таким названием) и запишите в него код, который перезапускает ваш туннель.

В моем случае код выглядит так:

Dim WShell
Set WShell = CreateObject("WScript.Shell")

WShell.Run "taskkill /f /im clo.exe", 0
WShell.Run "S:\Programs\CatPilot\StartTunnel.bat", 0

Здесь закрывается процесс clo.exe, после чего запускается .bat файл, заново запускающий туннель с моим токеном:

clo.exe set token 0cWE3Zmrdrmvp6B_QtSzXDTb0sRntiPDE5G_f4vtuAw
clo.exe publish http 192.168.0.137:5000
clo.exe run

В настройках CatPilot укажите ссылку, по которой к CatPilot можно обратиться вне локальной сети.

т.к. я использую cloudpub, у меня эта ссылка выглядит как https://mydomen.cloudpub.ru/Call

у вас будет свой домен, но /Call тоже должно присутствовать - это стандартный запрос для приложения CatPilot

Ваш https://example.yourservice.com/Call будет запрашиваться ежеминутно, ожидая получить ответ 200 "Ok" Если ответ не будет получен, запуститься скрипт RestartTunnel.vbs

Если скрипт не существует, или если ссылка не указана, этот код работать не будет.

Если скрипт и ссылка указаны, скрипт RestartTunnel.vbs будет запускаться при старте CatPilot (так вы можете автоматически запускать ваш туннель)

URL дополнительного запроса

Вам может понадобиться отслеживать, работает ли в данный момент CatPilot или нет. Для этого вы можете сами самостоятельно запрашивать https://example.yourservice.com/Call, либо же воспользоваться функцией дополнительного URL. Если указать в настройках CatPilot URL дополнительного запроса, каждую минуту на этот URL будет осуществляться GET запрос. Таким образом можно, например, отправлять GET запрос на сервер, чтобы отслеживать, что программа все еще запущена и работает (или же в целом работает компьютер, если программа активна всегда, пока он включен).

Обновление программы

  1. Скачайте новую версию в виде zip архива, распакуйте из него папку CatPilot
  2. Убейте процесс CatPilot (через саму программу или через диспетчер задач)
  3. Переместите все файлы из папки CatPilot новой версии в папку, где у вас установлен CatPilot, подтвердите замену всех файлов (настройки, скрипты и лог заменяться не будут)
  4. Запустите CatPilot заново

Important

Начиная с версии 2.0.0 библиотеки программы лежат в папке _internal. При обновлении с версии 1.x не копируйте новую версию поверх старой: удалите из папки CatPilot всё, кроме Settings.json, папки Tasks, log.txt и ваших собственных файлов (например RestartTunnel.vbs), и уже после этого скопируйте туда новую версию.

Информация для разработчиков: дополнительные локализации

В папке Localization хранятся json файлы с локализированным текстом. Вы можете создать новый файл локализации, указав в качестве названия файла язык, и заполнив внутри перевод (основываясь на английской локализации, например).

После перезапуска программы локализацию можно будет выбрать в настройках.

Important

Обратите внимание, что ключи локализации изменяться не могут.

Информация для разработчиков: как собрать билд программы

Для сборки exe приложения используется pyinstaller.exe

Код разделён на несколько python файлов:

  • CatPilot.py - точка входа: запускает всё перечисленное ниже (или процесс окна с --gui)
  • catpilot_config.py - константы, папка программы и Settings.json
  • catpilot_log.py - log.txt и запись падений
  • catpilot_localization.py, catpilot_notify.py - локализации и уведомления Windows
  • catpilot_tasks.py - скрипты: чтение, сохранение, запуск, эмуляция клавиш
  • catpilot_server.py - Flask сервер для запуска скриптов по URL, дополнительный URL и перезапуск туннеля
  • catpilot_bot.py - телеграмм бот
  • catpilot_tray.py, catpilot_tray_icons.py - иконка в трее и значки-эмодзи пунктов её меню
  • catpilot_window.py - процесс окна и локальный API для него
  • catpilot_instance.py - единственная копия, выход и перезапуск
  • catpilot_gui.py - окно настроек (WebView2 через pywebview). Это отдельный процесс (CatPilot.exe --gui), который существует только пока окно открыто
  • catpilot_ui.py - интерфейс окна (HTML/CSS/JS)
  • catpilot_monaco.py - редактор кода Monaco, упакованный в python модуль (генерируется tools/BuildMonacoBundle.py, вручную не редактировать)

Нужные библиотеки: pip install flask pystray pillow pyautogui pyTelegramBotAPI requests win11toast pywebview pyinstaller

После этого:

  1. Откройте консоль от имени администратора в папке, в которой лежит CatPilot.py
  2. Выполните команду: pyinstaller.exe --noconfirm CatPilot.spec
  3. После окончания сборки в папке dist появится папка CatPilot, это готовая сборка. Все python библиотеки и интерфейс окна уже внутри неё. CatPilot.spec исключает библиотеки, которые программе не нужны (tkinter, numpy и т.д.), поэтому собирайте именно через него, а не командой с флагами pyinstaller: иначе spec перезапишется
  4. Скопируйте из папки ADD все содержимое в папку CatPilot, в которой находится сборка (локализации, папка Tasks, иконки и скрипты LoadOnStartup / NotLoadOnStartup / OpenBrowserLink)
  5. Теперь программу можно как обычно запускать с помощью CatPilot.exe
SEO tags / ключевые слова

English: CatPilot, Cat Pilot, Windows remote control, remote control Windows PC, control PC remotely, control computer from phone, control PC from browser, control PC over LAN, control PC over the internet, Windows automation, Windows automation software, PC automation, computer automation, task automation Windows, automate Windows tasks, run script remotely, run script on PC via URL, run script by link, launch program remotely, remote script execution Windows, webhook for Windows, Windows webhook server, HTTP webhook PC, local HTTP server Windows, Flask local server, REST API for Windows, GET request run script, VBS script runner, VBScript launcher, run VBS script, BAT file launcher, run bat file via URL, CMD command remotely, PowerShell remote run, run Python script remotely, pyw script launcher, shutdown PC remotely, remote shutdown Windows, restart computer remotely, reboot PC remotely, sleep PC remotely, put computer to sleep remotely, lock PC remotely, turn off computer from phone, turn off PC from Telegram, Telegram bot PC control, control computer with Telegram bot, Telegram bot Windows automation, Telegram remote control PC, keyboard emulation, emulate keypress, emulate hotkeys, keyboard shortcut automation, hotkey server, macro keyboard software, media keys control, volume control remotely, next track hotkey, pause media remotely, system tray app, Windows tray automation app, portable app no installation, open source Windows app, free Windows automation tool, self-hosted automation, smart home Windows integration, Yandex Alice PC control, Alice voice assistant computer, voice control PC, IFTTT Windows, Home Assistant Windows control, Node-RED Windows, Zapier webhook PC, Tasker Windows, iOS Shortcuts PC, Stream Deck alternative, Elgato Stream Deck without hardware, Touch Portal alternative, Unified Remote alternative, EventGhost alternative, AutoHotkey alternative, Laitis alternative, remote desktop alternative, lightweight alternative to TeamViewer AnyDesk RDP, cloudpub tunnel, ngrok alternative for PC control, port forwarding remote control, uptime monitor ping, cronitor ping, Python Flask pywebview WebView2 Monaco pystray pyautogui telebot app, Windows 10 Windows 11 utility, send link from phone to PC, open link on computer from phone, open YouTube video on PC from phone, share link to PC, control PC from Android, control PC from iPhone, HTTP Shortcuts Android, MacroDroid webhook, Siri Shortcuts control PC, Google Assistant control PC via IFTTT, Domovenok Kuzya, Alice smart home skill PC, webhook trigger Windows, remote launcher, PC remote launcher, script launcher with tray menu, VBS editor with syntax highlighting, Tuna tunnel, healthchecks.io heartbeat, Uptime Kuma push monitor, PC online monitoring, diemonic1, MIT license

Русский: CatPilot, Кэт Пилот, удалённое управление компьютером, удаленное управление Windows, управление ПК с телефона, управление компьютером через браузер, управление компьютером по локальной сети, управление компьютером через интернет, автоматизация Windows, автоматизация компьютера, программа для автоматизации Windows, автоматизация задач Windows, запуск скриптов удалённо, запуск скрипта по ссылке, запуск скрипта по URL, запустить программу удалённо, удалённый запуск скриптов Windows, вебхуки для Windows, вебхук для компьютера, локальный сервер на компьютере, локальный HTTP сервер Windows, Flask сервер, API для Windows, GET запрос запуск скрипта, VBS скрипты, запуск VBS скрипта, запуск BAT файла по ссылке, выполнить CMD команду удалённо, запуск PowerShell удалённо, запуск Python скрипта удалённо, выключить компьютер удалённо, выключить компьютер с телефона, выключить ПК через телеграм, перезагрузить компьютер удалённо, перезагрузить ПК по ссылке, усыпить компьютер удалённо, заблокировать компьютер удалённо, телеграм бот для управления компьютером, управление ПК через телеграм бота, телеграм бот автоматизация Windows, эмуляция нажатия клавиш, эмуляция горячих клавиш, нажатие клавиш по сети, сочетания клавиш автоматизация, макросы для клавиатуры, управление медиаклавишами, управление громкостью удалённо, следующий трек горячая клавиша, поставить музыку на паузу удалённо, программа в трее, приложение в системном трее, портативная программа без установки, программа с открытым исходным кодом, бесплатная программа для автоматизации, self-hosted автоматизация, умный дом и Windows, Яндекс Алиса управление компьютером, голосовое управление компьютером, Алиса выключи компьютер, IFTTT Windows, Home Assistant управление Windows, Node-RED Windows, Zapier вебхук ПК, Tasker Windows, Shortcuts iOS управление ПК, аналог Stream Deck, Stream Deck без железа, аналог Touch Portal, аналог Unified Remote, аналог EventGhost, аналог AutoHotkey, аналог Laitis, аналог удалённого рабочего стола, лёгкая замена TeamViewer AnyDesk RDP, туннель cloudpub, аналог ngrok для управления ПК, проброс портов удалённое управление, мониторинг доступности, пинг cronitor, программа на Python Flask pywebview WebView2 Monaco pystray pyautogui telebot, утилита для Windows 10 и Windows 11, отправить ссылку с телефона на компьютер, открыть ссылку на ПК с телефона, открыть видео YouTube на компьютере с телефона, управление компьютером с Android, управление компьютером с iPhone, HTTP Shortcuts Android, MacroDroid вебхук, Команды Siri управление ПК, Google Ассистент управление компьютером, Домовёнок Кузя, Домовенок Кузя, навык Алисы для компьютера, умный дом Яндекс компьютер, пульт для компьютера, лаунчер скриптов, запуск скриптов из трея, редактор VBS с подсветкой синтаксиса, туннель Tuna, белый IP управление компьютером, мониторинг работы компьютера, healthchecks.io, Uptime Kuma, diemonic1, лицензия MIT

About

This program allows you to control Windows using VBS scripts via a local network or public IP (similar to webhooks), or using a telegram bot.

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages