# Введение

FIRERPA — это **универсальная платформа управления устройствами** для Android. Сервер работает непосредственно на устройстве, **без дополнительных зависимостей среды выполнения**; **адаптирован под несколько поколений Android**, **работает как с Root, так и без него**. ПК-клиент управляет устройствами через библиотеку Python, объединяя возможности автоматизации UI, удалённого администрирования, перехвата трафика, обратной разработки с помощью Hook, сетевого прокси, распределённой сетевой организации, AI Agent / **MCP** в единый сервис и API. По сравнению с использованием разрозненных самописных скриптов и различных инструментов, таких как Appium, mitmproxy, frida-server, adb, uiautomator2, преимущество FIRERPA заключается в **едином источнике возможностей, унифицированной конфигурации, сквозной интеграции процессов и пригодности для длительной работы на нескольких устройствах и инженерного управления**.

```{hint}
В этом разделе описывается позиционирование платформы FIRERPA и её ключевые возможности. Для установки и начала работы продолжите чтение раздела [Быстрый старт](./quick-start.md).
```

## Удалённый рабочий стол и потоковая трансляция экрана в реальном времени

FIRERPA предоставляет удалённый рабочий стол на основе браузера, позволяя просматривать и управлять экраном устройства в реальном времени без установки специализированного клиента на ПК; поддерживается доступ как в локальной сети, так и через интернет. Канал трансляции экрана поддерживает кодирование **MJPEG** и **H.264**, а также программный и аппаратный бэкенды. В зависимости от вычислительных возможностей устройства и состояния сети можно регулировать частоту кадров (до 60 кадров/с), масштабирование разрешения, битрейт и качество изображения, что значительно снижает использование полосы пропускания и повышает плавность в условиях слабой сети. Дополнительно поддерживается передача **WebRTC** с возможностью настройки STUN/TURN-серверов, что улучшает прохождение NAT и сквозную задержку; это подходит для сценариев удалённой отладки через публичный интернет и между регионами.

Удалённый рабочий стол поддерживает **одновременное подключение нескольких пользователей**, что удобно для совместного устранения неполадок, демонстраций и обучения. Поддерживается **двунаправленный обмен буфером обмена** и **передача аудио в реальном времени** (Android 10+). В том же веб-интерфейсе интегрированы терминал, загрузка файлов перетаскиванием, просмотр и скачивание каталогов и другие возможности администрирования; для повседневных операций достаточно одного порта. Встроен **визуальный инспектор макета**: подсветка элементов, навигация клавишей Tab, отображение координат и RGB, экспорт дерева XML-макета. Это позволяет непосредственно в удалённом рабочем столе проверять селекторы и логику автоматизации, значительно сокращая цикл «посмотрел на экран → написал скрипт».

<p align="center">
<img src="https://raw.githubusercontent.com/wiki/firerpa/lamda/images/demo.gif" alt="Пример удалённого рабочего стола" width="100%">
</p>

Удалённый рабочий стол и RPC-интерфейс поддерживают **сквозное шифрование TLS** и контроль доступа по сертификатам сервиса; можно задать пароль для входа в WebUI, чтобы снизить риски при публикации в интернет. Возможности удалённого рабочего стола могут быть встроены в собственное веб-приложение через WebSocket (видео в реальном времени, сенсорное управление, терминал, кнопки и т. д.), а интеграция между разными источниками настраивается через параметр `allow_origin`, что удобно для превращения возможностей управления реальными устройствами в продукт.

## Автоматизация UI

FIRERPA предоставляет полноценную систему автоматизации на основе селекторов, поддерживающую распространённые способы сопоставления, такие как text, resourceId, description, scrollable, а также **цепочки child / sibling** для работы с повторяющимися элементами, сложной иерархией или элементами без явных признаков. На уровне элементов поддерживаются снятие скриншотов, ожидание появления/исчезновения, получение координат углов/центра, проверка exists и другие тонкие операции; реализованы ввод Unicode, прокрутка жестом step, быстрая прокрутка fling, прокрутка до конца и другие взаимодействия. Возможно сосуществование с **другими службами специальных возможностей** на Android 8.0+, расширен поиск узлов WebView, что повышает успешность автоматизации гибридных приложений.

**Монитор интерфейса (Watcher)** позволяет в реальном времени отслеживать изменения UI и автоматически выполнять клики, нажатия клавиш или подсчёт при выполнении заданных условий. Это удобно для автоматического пропуска всплывающих окон с соглашениями, уведомлений об обновлениях, рекламных страниц и других мешающих процессов. Поддерживается комбинирование нескольких условий Selector и независимый запуск/остановка событий; можно подсчитывать количество появлений мимолётных экранов.

**Виртуальный экран (Virtual Display)** — одна из отличительных возможностей FIRERPA: на устройстве можно создать независимый фоновый дисплей, запускать в нём приложения и скрипты автоматизации, **не мешая работе основного экрана**. Например, виртуальный экран в фоне автоматически обрабатывает сообщения, а на основном экране по-прежнему можно смотреть видео или работать вручную. API виртуального экрана практически идентичен API основного устройства: существующие скрипты `d.xxx` можно плавно переключить на `vd.xxx`; Watcher также можно ограничить действием только в виртуальном экране. WebUI поддерживает **отображение и переключение нескольких экранов**: в удалённом рабочем столе можно выбирать, каким дисплеем управлять или какой просматривать. Это подходит для фонового удержания процессов, параллельных задач и смешанного сценария «ручная работа на переднем плане + автоматическая в фоне».

Для сценариев без стандартного дерева View (игры, самодельные интерфейсы) FIRERPA предлагает возможности **OCR** и **сопоставления изображений**. OCR поддерживает paddleocr, easyocr и пользовательские HTTP-бэкенды; в кластерных сценариях вычислительные ресурсы для распознавания можно централизовать на сервере, чтобы не загружать модель на каждом ПК. Поддерживается ускорение GPU и различные режимы сопоставления текста. Сопоставление изображений выполняется **на стороне устройства** (шаблонное сопоставление или SIFT), не потребляя ресурсы ПК; SIFT более устойчив к повороту, масштабированию и изменению освещения. Кроме того, доступна возможность **мультитач**: запись траекторий, воспроизведение, конструирование в коде и бинарная сериализация, что позволяет выражать сложные жесты и значения силы нажатия.

С точки зрения архитектуры FIRERPA использует клиент-серверную модель, что по сравнению с решениями типа AutoJS, где скрипты выполняются на самом устройстве, лучше подходит для **централизованного управления, контроля версий и кластерного администрирования**; легче, чем Appium; стабильнее, чем uiautomator2 в сценариях с несколькими устройствами. FIRERPA позиционируется как **функциональное надмножество** распространённых решений автоматизации Android: автоматизация, перехват трафика, Hook и администрирование могут быть связаны в одной платформе с помощью кода, без необходимости переключаться между несколькими инструментами.

## Перехват трафика и MITM

FIRERPA предоставляет возможность **MITM-перехвата в один клик**: автоматическая установка системного корневого сертификата, настройка прокси, обработка различий между версиями Android и автоматическое восстановление сетевого состояния устройства при выходе — без ручной установки сертификатов и переключения прокси. Поддерживается глобальный перехват, перехват по имени пакета, изменение пакетов в реальном времени, общий веб-интерфейс mitmweb, а также перехват **международного трафика** через заданный канал с помощью вышестоящего HTTP-прокси. Встроена обработка **понижения QUIC** для уменьшения влияния QUIC на перехват. Даже если ПК и устройство могут общаться только через один порт FIRERPA (например, ADB connect, frp-переадресация), перехват всё равно возможен, что подходит для сложных сетевых топологий.

Помимо готовых скриптов, все возможности MITM доступны через API: установка/удаление системных корневых сертификатов совместима с форматами mitmproxy, Fiddler, Charles и другими; процесс перехвата можно встроить в конвейер автоматизации и выполнять в одной задаче с UI-операциями и Frida Hook. Предоставляется `startmitm.exe` для Windows, не требующий Python, что снижает порог входа.

## Сеть, прокси и организация сетей

FIRERPA на стороне устройства предоставляет полные прокси-возможности: поддержка **HTTP / HTTPS / SOCKS5 / Shadowsocks** (несколько алгоритмов шифрования), проксирование на уровне приложений (включая несколько пользователей), проксирование DNS, проксирование UDP, обход локальной сети, сосуществование с OpenVPN, а также **автоматическое подключение** к заданному прокси при запуске сервиса. Прокси поддерживает **IPv6 и UDP**, что адаптирует к более сложным сетевым условиям.

**HTTP-мостовой прокси устройства (tunnel2)** предоставляет возможности обратного прокси: если направить HTTP-прокси ПК или браузера на телефон, трафик будет выходить через сетевой интерфейс телефона, внешний IP совпадёт с IP телефона; можно выбрать Wi-Fi или 4G (rmnet) в качестве исходящего интерфейса. Это удобно для совместной отладки, международного бизнеса, пула IP-адресов нескольких устройств и т. п.

Встроен **клиент OpenVPN**, поддерживающий аутентификацию по сертификатам, имени пользователя и паролю, а также смешанную. Может сосуществовать с системным прокси. Прилагаются **Docker-образ OpenVPN** и скрипт генерации конфигурации, автоматически создающий код подключения на стороне устройства и конфигурацию автозапуска, что снижает вероятность ошибок при ручном написании конфигурации OpenVPN. Встроен **клиент frp**: с помощью конфигурации `fwd.*` можно переадресовывать сервисы устройства на публичный сервер; поддерживается шифрование и TLS.

Реализовано **обнаружение сервисов mDNS**: после включения сервисы, такие как удалённый рабочий стол, доступны по доменному имени `{device_id}.local`; можно прикреплять TXT-метаданные (модель, ABI, идентификатор устройства и т. д.), что удобно для массового обнаружения и управления устройствами в локальной сети.

## Frida и обратная разработка

FIRERPA **включает последнюю версию Frida**, не требуя отдельного развёртывания frida-server. В терминале удалённого рабочего стола можно напрямую использовать команды frida без громоздких параметров `-U`, `-H` и т. п. Встроены открытые патчи скрытия Frida и собственные возможности скрытия, которые постоянно обновляются для противодействия детектированию. Подключение использует токенную аутентификацию и безопасно выполняется через порт FIRERPA. Предоставляются патчи objection и инструменты-обёртки для java-bridge Frida 17.x, снижающие затраты на миграцию при официальных изменениях.

Поддерживается **персистентность скриптов Frida**: после краха или выхода приложения скрипт может автоматически внедряться заново; поддерживается автономная персистентность в YAML, мониторинг каталогов и горячее обновление. RPC Frida можно **отобразить на методы Python**, а также вызывать удалённо через **HTTP + JSON-RPC 2.0**; выполнение возможно в потоке JVM, главном потоке UI или в чистом JS-контексте. Данные, испускаемые через `emit` в скрипте, могут отправляться в **HTTP / Redis / RabbitMQ(MQTT)** с прикреплением метаданных устройства и приложения; поддерживаются сжатие zlib, повторные попытки HTTP и TLS для MQTT.

## ADB, SSH и встроенный терминал

FIRERPA предоставляет **встроенный ADB-сервис, независимый от системного ADB**, позволяя подключаться по беспроводной сети с высокими привилегиями **без включения режима разработчика**, что помогает избегать детектирования «параметров разработчика». Модуль Magisk может предустанавливать `adb_keys` для авторизации по умолчанию. Встроен **сервис SSH** и служебные скрипты `ssh.sh` / `scp.sh` для удалённого выполнения команд и передачи файлов.

**Встроенный терминал** предустанавливает часто используемые инструменты анализа: strace, ltrace, tcpdump, scapy, fsmon, frida-tools, MemDumper и другие, а также интегрирует экосистему Python: Crypto, cv2, unicorn, capstone, keystone, redis, grpc и т. д. sqlite3 поддерживает **wxsqlite / sqlcipher / sqlcrypto**, что открывает путь к чтению зашифрованных баз данных WeChat, WeCom, приложений Alibaba и других. Встроенный терминал унифицирован с удалённым рабочим столом, SSH и ADB, позволяя выполнять анализ и самоконтроль непосредственно на устройстве, уменьшая переключение между ПК и устройством.

## Распределённое управление и управление несколькими устройствами

**Платформа Pigeon + hub-bridge (信鸽)** от FIRERPA предоставляет централизованное решение для подключения нескольких устройств. Поддерживается единое управление локальными и удалёнными устройствами и доступ **P2P**, что подходит для сценариев «устройство дома, человек вдали» и совместной работы нескольких машин. hub v3 использует **SAPI** для унифицированных запросов и может одновременно подключаться к локальным и удалённым устройствам. Помимо Hub, поддерживаются два варианта самостоятельного развёртывания: **frp-переадресация** и **организация сети OpenVPN**; документация и Docker-комплекты прилагаются.

Начиная с версии 9.0 поддерживается **сквозное соединение P2P Bridge** и **встроенная распределённая система задач**; с версии 7.50 предоставляется услуга сетевой подписки, позволяющая обойтись без самостоятельного развёртывания frp/OpenVPN. В целом платформа рассчитана на **массовое количество устройств, длительную работу в режиме онлайн, работу без присмотра**: облачные фермы телефонов, фермы реальных устройств, кластеры эмуляторов.

## AI / MCP / Agent

FIRERPA **включает сервер MCP** (путь API `/mcp/`), работающий по протоколу **streamable-http**. Поддерживаются вызовы инструментов (tool call), чтение ресурсов (resource read), подсказки (prompts), уведомления о прогрессе и журналирование. Возможно подключение к MCP-клиентам, таким как **Claude, Cursor**. Предоставляются официальные модули расширения MCP; пользовательские плагины можно размещать в `~/modules/extension`.

Встроена команда **`agent`**, которая подключается к любому API, совместимому с OpenAI, + tool call и управляет устройством **на естественном языке**; поддерживается **режим визуального анализа Vision**. Предоставляется **семантический исполнитель задач OpenAI**. Можно комбинировать с **crontab** для выполнения запланированных AI-задач, встраивая возможности больших языковых моделей в конвейер автоматизации на реальных устройствах.

<p align="center">
<img src="https://raw.githubusercontent.com/wiki/firerpa/lamda/images/mcp.gif" alt="Пример MCP" width="100%">
</p>

## Системное управление и расширения

FIRERPA предоставляет **более 160 API на Python**, охватывающих операции с приложениями, файловый ввод-вывод, выполнение команд, состояние устройства, WiFi, прокси, OpenVPN, перезагрузку и выключение, журналы сервисов и многое другое. `setprop` позволяет записывать **`ro.*`** системные свойства, доступные только для чтения; API настроек позволяет читать и изменять яркость, режим разработчика и другие системные параметры; **SELinux** поддерживает создание доменов, переключение в permissive и детализированные правила allow/disallow. Поддерживаются все API для клонированных приложений (multi-user), тихое предоставление/отзыв разрешений, запуск неэкспортированных Activity, отключение приложений для экономии ресурсов.

Предоставляются возможности **бинарного патчинга** (шестнадцатеричные шаблоны с подстановочными знаками, пути glob, режим dryrun), а также сбор **метрик времени выполнения**: диск, батарея, CPU, память, сетевой ввод-вывод. Поддерживается воспроизведение WAV-аудио и API внутреннего хранилища. На устройстве интегрирован **tflite-runtime** с возможностью использования аппаратных вычислений, поддерживается инференс на стороне устройства.

**Виртуальное окружение Debian** позволяет запускать полноценный Debian с apt прямо на устройстве: компилировать BPF, разворачивать OpenSSH, устанавливать произвольные Python-зависимости, преодолевая ограничение встроенного терминала, где нельзя использовать pip/apt.

## Развёртывание, безопасность и управление

FIRERPA поддерживает несколько способов установки: **развёртывание в один клик через приложение** (Root или Shizuku), **автозапуск через модуль Magisk**, ручную распаковку и **встраивание в прошивку (ROM)**. Платформа рассчитана на круглосуточную работу **7×24**. В приложении можно **автоматически генерировать сертификаты сервиса**; Magisk-архив может предустанавливать конфигурацию properties, сертификат lamda.pem и adb_keys. Все параметры поведения централизованно управляются через **конфигурацию сервиса в формате ini**: порт, параметры WebUI, сертификаты, OpenVPN, gproxy, frp, tunnel2, cron, sshd, adb, mdns и т. д. WebUI поддерживает визуальное редактирование, режим Raw-текста и горячую перезагрузку сервиса (Reload Service), а также загрузку конфигурации с удалённого файлового сервера.

Поддерживается запуск под двумя учётными записями: root и shell. Обеспечивается совместимость с архитектурами arm64, armeabi-v7a, x86, x86_64; работает на реальных устройствах, эмуляторах LDPlayer/NOX, Redroid, WSA, AVD, облачных телефонах и других средах. Пути деинсталляции стандартизированы, в системе не остаётся мусорных файлов. **Эксклюзивная блокировка API** предотвращает конфликты нескольких клиентов за одно устройство. Политика конфиденциальности явно указывает, что не собираются личные данные, такие как контакты, SMS, геолокация; поддерживается **офлайн-авторизация**.

## Долгосрочное развитие

FIRERPA непрерывно развивается **более 6 лет**, покрывая исправления совместимости с Android 14–16. Постоянно совершенствуются многопользовательский удалённый рабочий стол, стандартизированное API касаний, протокол MCP, версии и скрытность Frida, прокси IPv6/UDP, P2P Bridge, распределённые задачи и другие аспекты.

Ключевое преимущество FIRERPA не в какой-то отдельной функции, а в интеграции на одном Android-устройстве, в одном сервисе и в одном Python-клиенте таких возможностей, как **удалённый рабочий стол (WebRTC/H.264/многопользовательский), автоматизация UI (включая виртуальный экран, Watcher, OCR, сопоставление изображений, мультитач), перехват трафика в один клик, встроенная Frida, полнофункциональный прокси и организация сетей VPN/frp/P2P, ADB/SSH/встроенный терминал, AI MCP/Agent, системное управление, виртуальный Debian, постоянное хранилище KV, шифрование скриптов**. Благодаря этому тестирование безопасности, анализ соответствия, восстановление протоколов, массовое управление и автоматизированные бизнес-процессы могут выполняться **в едином конвейере**, а не собираться из множества инструментов.