Сделал браузер, который выполняет AutoIt-скрипты прямо со страниц.
Всем привет. Хочу показать свой проект — The Void Browser. Это не очередной Chromium и не попытка подвинуть Chrome. Идея простая: веб-страница может содержать код на AutoIt и запускать его по клику пользователя.
Как это работает
Открываешь HTML-файл — локальный или любой сайт в интернете — браузер сканирует разметку. Находит блок <script type=«text/autoit»> или элемент с атрибутом data-autoit — показывает плашку «найден AutoIt-скрипт». Читаешь код, жмёшь кнопку, скрипт выполняется.
Триггером может быть что угодно — button, a, div. Код пишется инлайн в атрибуте или ссылкой на блок по id. Хочешь — вообще видимым текстом через autoit:.
То есть любая HTML-страница превращается в графическую оболочку для системного скрипта. Калькулятор чаевых, генератор паролей, вывод сведений о ПК, мини-викторина на MsgBox — всё это пишется за пять минут и работает офлайн.
Про безопасность
Я сразу понимал, что даю браузеру доступ к системе, поэтому встроил несколько уровней защиты:
Сканер кода перед запуском — ловит Execute, DllCall, RegWrite, RunAs, работу с сетью, @ComSpec и ещё десятки опасных конструкций. Если скрипт всё-таки содержит что-то зубастое (удаление файлов, реестр, внешние процессы), запуск возможен только после ввода пароля, который ты задал при установке. Защита не от тебя, а от случайного HTML-файла из интернета.
Ещё: element.click() из JavaScript игнорируется — только настоящие клики, автозапуск через XSS не сработает. У ссылки с data-autoit отменяется стандартное поведение — замаскировать выполнение под навигацию нельзя. Плюс пустая временная рабочая папка, лимит 120 секунд на скрипт, один скрипт за раз.
Под паролем можно делать что угодно, но каждое такое действие — осознанное решение владельца, а не сюрприз от чужой страницы.
Кому это нужно
Тем, кто пишет на AutoIt и хочет упаковать скрипт в красивый веб-интерфейс без изучения C#/WinForms. Тем, кто делает локальные или внутрисетевые инструменты для коллег: «нажми кнопку — получи справку / пароль / расчёт». Экспериментаторам, которым интересно, как далеко можно раздвинуть границы «браузера».
The Void — это про маленькие полезные утилиты с человеческим интерфейсом, а не про замену PowerShell.
Что дальше
Проект нишевый и закрытый по исходникам — я сознательно не выкладываю код, потому что уже сталкивался с копированием без указания авторства. Понимаю, что для инструмента с системным доступом это минус, и в будущем, возможно, открою хотя бы часть для аудита.
Если хотите попробовать — Найдёте баг или придумаете, чего не хватает — пишите, читаю всё.
Скачать можно в профиле.
P.S: Ждите версию под андроид