Инструменты17 августа 2026 г., 17:45 МСК🤖 Auto

Rach: Rust-скрипт для автоматизации с W3C WebDriver

Появился Rach — легкий скриптовый язык на Rust для автоматизации задач, работы с файлами и браузерами через реальный W3C WebDriver.

Баннер новости 5929

Что такое Rach и почему это важно

Rach — это компактный скриптовый язык, разработанный для упрощения автоматизации рутинных задач. В отличие от тяжелых фреймворков, Rach компилируется в единственный статически связанный бинарный файл на Rust, не требуя установки среды выполнения (runtime). Единственные внешние зависимости — это curl, tar и unzip, необходимые для автоматической установки веб-драйверов.

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

Ключевые возможности и метрики

Язык поддерживает кроссплатформенную работу (Linux, macOS, Windows) и архитектуру x86_64/aarch64. Установка занимает одну строку в терминале, а скрипты выполняются мгновенно благодаря нативной компиляции.

Функция Реализация в Rach Пример синтаксиса
Работа с файлами Чтение, запись, удаление, проверка существования create_file("/tmp/x", "hi")
Системные команды Выполнение shell-команд с перехватом вывода run_command("ls -la")
Установка пакетов Автоопределение менеджера (brew, apt, winget) install_package("htop")
Браузерная автоматизация W3C WebDriver (Chrome, Firefox, Edge, Safari) open in browser("url")
Генерация кода DSL для bash и других языков bash = generate ...

Браузерная автоматизация через W3C WebDriver

Rach выделяется среди простых скриптовых языков полноценной поддержкой браузеров. Интерпретатор автоматически управляет драйверами:

  • Если драйвер (chromedriver, geckodriver) уже есть в PATH, он используется.
  • Если нет — драйвер скачивается в кэш (~/.cache/rach/drivers/) автоматически.
  • Поддерживаются все основные действия: навигация, скроллинг, нажатие клавиш, скриншоты.

Это позволяет создавать тестовые сценарии или парсеры без подключения тяжелых библиотек вроде Selenium WebDriver в виде отдельного сервиса.

Синтаксис и структура

Скрипты Rach могут быть «голыми» (последовательность команд) или «обернутыми» (с явным объявлением main и функций). Язык поддерживает:

  • Переменные: set x = 5 или просто x = 5.
  • Условия: Проверка ОС (if linux, if not windows). Полноценные логические условия пока не поддерживаются.
  • Циклы: Итерация по спискам, диапазонам чисел и строкам (сплит по запятой).
  • Модули: import system, import web служат скорее для документирования намерений, так как стандартная библиотека встроена в бинарник.

Установка и запуск

Для установки не требуется компилятор Rust. Достаточно выполнить одну команду:

curl -fsSL https://raw.githubusercontent.com/sirmir25/Rach/main/installers/install.sh | bash

После установки скрипт запускается командой rach script.rach. Проект распространяется под свободной лицензией, исходный код доступен на GitHub.

Источник: Github ↗