はじめに¶
FIRERPAはAndroid向けの統合デバイス制御プラットフォームです。サーバーはデバイス上で直接動作し、追加のランタイム依存が不要です。複数世代のAndroidシステムに対応し、Rootの有無にかかわらず利用できます。PC側はPythonクライアントライブラリで統合的に操作し、UI自動化、リモート運用、トラフィックキャプチャ、Hookリバースエンジニアリング、ネットワークプロキシ、分散ネットワーキング、AI Agent / MCPなどの機能を同一のサービスとAPIに集約します。Appium、mitmproxy、frida-server、adb、uiautomator2などの自作スクリプトや各種運用ツールを寄せ集めて使うのに比べ、FIRERPAの優位性は機能の同源、設定の統一、経路の連携、複数デバイスでの長期運用とエンジニアリング管理に適していることにあります。
ヒント
本文ではFIRERPAのプラットフォームとしての位置づけと中核機能を紹介します。インストールと利用開始についてはクイックスタートの章を続けてお読みください。
リモートデスクトップとリアルタイム画面ミラーリング¶
FIRERPAはブラウザベースのリモートデスクトップを提供し、PCに専用クライアントをインストールしなくてもデバイス画面をリアルタイムで表示・操作できます。LAN内およびネットワーク越しのアクセスに対応します。画面ミラーリング経路はMJPEGとH.264エンコードを同時にサポートし、ソフトウェア/ハードウェアの2つのバックエンドを提供します。デバイスの計算能力やネットワーク状況に応じてフレームレート(最大60fps)、解像度スケーリング、ビットレート、画質を調整でき、弱いネットワーク環境でも帯域消費を大幅に減らし、滑らかさを向上させます。さらにWebRTC転送をサポートし、STUN/TURNサーバーを設定することでNATトラバーサルとエンドツーエンド遅延を改善でき、公衆網や遠隔地からのリモートデバッグに適しています。
リモートデスクトップは複数ユーザーの同時接続に対応しており、共同でのトラブルシュート、デモ、トレーニングに便利です。双方向クリップボード共有とリアルタイム音声配信(Android 10以上)をサポートし、同じWebインターフェースにターミナル、ファイルのドラッグアンドドロップアップロード、ディレクトリ閲覧・ダウンロードなどの運用機能を統合しているため、単一ポートで日常の操作を完結できます。可視化レイアウトインスペクターを内蔵し、要素のハイライト、Tabキーによる巡回、座標とRGB表示、XMLレイアウトツリーのエクスポートが可能です。リモートデスクトップ内でセレクタと自動化ロジックを直接検証でき、「画面を見る → スクリプトを書く」のループ時間を大幅に短縮します。

リモートデスクトップとRPCインターフェースはTLSによる全経路暗号化とサービス証明書によるアクセス制御をサポートし、WebUIのログインパスワードをカスタマイズできるため、公衆網への露出リスクを低減できます。リモートデスクトップ機能はWebSocket経由で自社Webアプリケーション(リアルタイム動画、タッチ、ターミナル、キー操作など)に組み込むこともでき、allow_originでクロスオリジン統合を設定できるため、実機制御機能のプロダクト化に適しています。
UI自動化¶
FIRERPAは完全なセレクタ自動化体系を提供し、text、resourceId、description、scrollableなどの一般的なマッチング方法に加え、child / siblingによるチェーン定位をサポートしています。重複要素、複雑な階層、明確な特徴のないコントロールに対応できます。要素レベルではスクリーンショット、出現/消滅の待機、角・中心座標の取得、exists判定などの細粒度操作をサポートし、Unicode入力、stepスワイプ、flingによる高速ページめくり、最下部までのスクロールなどの操作が可能です。Android 8.0以降では他のアクセシビリティサービスと共存でき、WebViewノードの検索能力を強化してハイブリッドアプリの自動化成功率を高めます。
**UIウォッチャー(Watcher)**はUIの変化をリアルタイムで監視し、あらかじめ設定した条件を満たすと自動的にクリック、キー操作、カウントを実行します。同意ポップアップ、更新通知、広告ページなどの邪魔なフローを自動的にスキップするのに適しています。複数のSelector条件の組み合わせとイベントごとの独立した有効化/無効化をサポートし、一瞬だけ表示される画面の出現回数を集計できます。
仮想スクリーン(Virtual Display)はFIRERPAの差別化機能の1つです。デバイス上に独立したバックグラウンドディスプレイを作成し、仮想スクリーン内でアプリと自動化スクリプトを実行でき、メイン画面の通常利用に影響しません。例えば仮想スクリーンでバックグラウンド自動処理を行いながら、メイン画面では動画を視聴したり手動操作したりできます。仮想スクリーンAPIはメインデバイスAPIと高い互換性があり、既存のd.xxxスクリプトはvd.xxxへスムーズに切り替えられます。Watcherも仮想スクリーン内に限定して有効化できます。WebUIは複数画面の表示と切り替えに対応し、リモートデスクトップ上で異なるDisplayを操作・閲覧できるため、バックグラウンド常駐、並列タスク、「フォアグラウンドは人手+バックグラウンドは機械」という混合シナリオに適しています。
標準のViewツリーが存在しないシーン(ゲーム、自前描画UIなど)に対して、FIRERPAはOCRと画像マッチング機能を提供します。OCRはpaddleocr、easyocr、カスタムHTTPバックエンドに対応し、クラスタ環境では認識計算能力をサーバー側に集中させ、各PCでモデルを重複ロードするのを避けられます。GPUアクセラレーションと複数のテキストマッチングモードをサポートします。画像マッチングはデバイス側でテンプレートマッチングまたはSIFTを実行するため、PCリソースを消費しません。SIFTは回転、拡大縮小、照明変化に対してよりロバストです。さらにマルチタッチ機能を提供し、軌跡の記録、再生、コード構築、バイナリ永続化をサポートし、複雑なジェスチャーや筆圧値を表現できます。
アーキテクチャ上の位置づけでは、FIRERPAはC/Sモードを採用しており、AutoJSなどの「デバイス内でスクリプトを自己実行する」方式に比べて集中的なスケジューリング、バージョン管理、クラスタ管理に適しています。Appiumより軽量で、uiautomator2よりマルチデバイスシナリオでの安定性に優れます。FIRERPAは一般的なAndroid自動化ソリューションの機能スーパーセットと位置づけられており、自動化とパケットキャプチャ、Hook、運用を同じプラットフォーム上でコードによって連携でき、複数のツール間で切り替える必要がありません。
パケットキャプチャとMITM¶
FIRERPAはワンクリックMITMパケットキャプチャ機能を提供します。システムレベルのルート証明書の自動インストール、プロキシ設定、Androidバージョン差異の処理を行い、終了時にはデバイスのネットワーク状態を自動復元するため、手動での証明書導入やプロキシ切り替えは不要です。グローバルキャプチャ、パッケージ名単位のキャプチャ、リアルタイムパケット改変、mitmweb画面の共有をサポートし、上流HTTPプロキシ経由で国際トラフィックを指定経路でキャプチャできます。QUICダウングレード処理を内蔵し、QUICがキャプチャに与える影響を低減します。PCとデバイスが単一のFIRERPAポートでしか通信できない場合(ADB connect、frp転送など)でもキャプチャを実施でき、厳しいネットワークトポロジにも適応します。
ワンクリックスクリプトに加えて、MITM関連機能はすべてAPI化できます。システムレベルのルート証明書のインストール/アンインストールはmitmproxy、Fiddler、Charlesなどの形式に対応し、キャプチャフローを自動化パイプラインに組み込み、UI操作やFrida Hookと同じタスク内で実行できます。Windows向けにPython不要のstartmitm.exeを提供し、環境構築のハードルを下げます。
ネットワーク、プロキシ、ネットワーキング¶
FIRERPAはデバイス側で完全なプロキシ機能を提供し、HTTP / HTTPS / SOCKS5 / Shadowsocks(複数の暗号化アルゴリズム)をサポートします。アプリ単位(マルチユーザーを含む)でプロキシでき、DNSプロキシ、UDPプロキシ、LANバイパス、OpenVPNとの共存をサポートし、サービス起動時に事前設定したプロキシへ自動接続できます。プロキシ機能はIPv6とUDPに対応しており、より複雑なネットワーク環境に適応します。
**デバイスHTTPブリッジプロキシ(tunnel2)**はリバースプロキシ機能を提供します。PCやブラウザのHTTPプロキシをスマートフォンに向けると、トラフィックはスマートフォンのネットワーク出口を経由して転送され、対外IPがスマートフォンと一致します。Wi‑Fiまたは4G(rmnet)を出方向インターフェースとして選択でき、連携デバッグ、国際展開業務、複数デバイスIPプールなどのシーンに適しています。
OpenVPNクライアントを内蔵し、証明書、ユーザー名/パスワード、混合認証など複数のログインモードをサポートし、システムプロキシと共存できます。OpenVPN Dockerイメージと設定生成スクリプトを同梱し、デバイス側の接続コードと自動起動設定を自動生成するため、OpenVPN設定を手書きする際のミスを減らせます。frpクライアントも内蔵しており、fwd.*の設定だけでデバイスのサービスを公衆網サーバーへ転送でき、暗号化とTLSに対応します。
mDNSサービスディスカバリを提供し、有効化すると{device_id}.localドメイン名でリモートデスクトップなどのサービスにアクセスできます。TXTメタデータ(モデル、ABI、デバイスIDなど)を付加することもでき、LAN内でのデバイスの一括発見と管理が容易になります。
Fridaとリバースエンジニアリング¶
FIRERPAは最新版Fridaを内蔵しており、frida-serverを個別にデプロイする必要はありません。リモートデスクトップのターミナル内でFrida関連コマンドを直接使用でき、-Uや-Hなどの煩雑なパラメータは不要です。内蔵Fridaにはオープンソースの隠蔽パッチと独自開発の隠蔽機能を統合しており、検出対策を継続的に更新しています。接続はToken認証を採用し、FIRERPAポート経由で安全にアクセスします。objectionパッチとFrida 17.x java-bridgeラッパーツールを提供し、公式変更による移行コストを低減します。
Fridaスクリプトの永続化をサポートします。アプリがクラッシュまたは終了した後、自動的に再注入できます。YAMLによるオフライン永続化、ディレクトリ監視、ホットアップデートに対応します。Frida RPCはPythonメソッドとしてマッピングでき、HTTP + JSON-RPC 2.0によるリモート呼び出しにも対応し、JVMスレッド、UIメインスレッド、純粋なJSコンテキストで実行できます。スクリプト内のemitデータは**HTTP / Redis / RabbitMQ(MQTT)**へ報告でき、デバイスとアプリのメタデータが付加され、zlib圧縮、HTTPリトライ、MQTT TLSをサポートします。
ADB、SSHと内蔵ターミナル¶
FIRERPAはシステムADBから独立した内蔵ADBサービスを提供し、システムの開発者モードを有効化せずに高権限ADBへ無線接続できます。「開発者向けオプション」系の検出を回避するのに有効です。Magiskモジュールではadb_keysを事前設定してデフォルト認証を実現できます。SSHサービスとssh.sh / scp.shツールスクリプトを内蔵し、リモートシェルとファイル転送を容易にします。
内蔵ターミナルにはstrace、ltrace、tcpdump、scapy、fsmon、frida-tools、MemDumperなどの一般的な分析ツールがプリインストールされており、Crypto、cv2、unicorn、capstone、keystone、redis、grpcなどのPythonエコシステムも統合されています。sqlite3はwxsqlite / sqlcipher / sqlcryptoをサポートし、WeChat、WeCom、Alibaba系などの暗号化データベースを読み取る手段を提供します。内蔵ターミナルはリモートデスクトップ、SSH、ADBと統合されており、デバイス側で直接分析と自己制御を完結できるため、PC ↔ デバイス間の行き来を減らせます。
分散環境とマルチデバイス管理¶
FIRERPAの信鸽プラットフォーム(Pigeon + hub-bridge)は、集中型のマルチデバイス接続ソリューションを提供し、ローカルとリモートのデバイスを統合管理し、P2Pアクセスをサポートします。「デバイスは自宅、担当者は外出先」といった状況や複数マシンでの共同作業に適しています。hub v3はSAPIによる統一リクエストを採用し、ローカルとリモートのデバイスへ同時に接続できます。Hub以外にも、frp転送とOpenVPNネットワーキングという2つの自前構築ソリューションに対応しており、ドキュメントとDockerが揃っています。
9.0以降はP2P Bridgeによる端末間相互接続と内蔵分散タスクシステムをサポートします。7.50以降はネットワーキングサブスクリプションサービスを提供し、自前でfrp/OpenVPNを構築する必要がありません。全体としてクラウドフォンプール、実機ファーム、エミュレータークラスタなど、大量デバイス・長期オンライン・無人運用のシナリオ向けに設計されています。
AI / MCP / Agent¶
FIRERPAはMCPサーバーを内蔵し(APIパス/mcp/)、streamable-httpプロトコルを採用しています。tool call、resource read、prompts、進捗通知、ログをサポートし、Claude、CursorなどのMCPクライアントと連携できます。公式MCP拡張モジュールを提供し、~/modules/extensionでカスタムプラグインを利用できます。
agentコマンドを内蔵し、任意のOpenAI互換API + tool callに接続して自然言語でデバイス操作を駆動できます。Visionビジョンモードをサポートし、OpenAIセマンティックタスク実行器を提供します。crontabと組み合わせて定時AIタスクを実現し、大規模モデルの能力を実機自動化パイプラインに組み込めます。

システムレベル制御と拡張¶
FIRERPAは160以上のPython APIを提供し、アプリ操作、ファイルI/O、コマンド実行、デバイス状態、WiFi、プロキシ、OpenVPN、シャットダウン・再起動、サービスログなどをカバーします。setpropは**ro.***読み取り専用システムプロパティへの書き込みが可能です。Settings APIでは輝度や開発者モードなどのシステム設定を読み書きできます。SELinuxはドメイン作成、permissive切り替え、きめ細かいallow/disallowルールをサポートします。マルチアプリの全API、権限のサイレント付与/剥奪、非公開Activityの起動、リソース節約のためのアプリ無効化をサポートします。
バイナリパッチ機能(16進ワイルドカード、globパス、dryrun)と、ディスク、バッテリー、CPU、メモリ、ネットワークIOなどのランタイム指標収集を提供します。WAV音声の再生、内部ストレージAPIをサポートします。デバイス側にはtflite-runtimeが統合されており、ハードウェア計算の呼び出しに対応し、端末側推論をサポートします。
仮想Debian環境では、デバイス内で完全なDebianとaptを実行でき、BPFのコンパイル、OpenSSHのデプロイ、任意のPython依存関係の実行が可能です。内蔵ターミナルではpip/aptを利用できないという制限を突破します。
デプロイ、セキュリティ、ガバナンス¶
FIRERPAはアプリによるワンクリックデプロイ(RootまたはShizuku)、Magiskモジュールによる起動時自動開始、手動展開、ROM組み込みなど複数の導入方法をサポートし、7×24の常駐運用向けに設計されています。アプリ内でサービス証明書を自動生成できます。Magisk zipにはproperties設定、lamda.pem証明書、adb_keysをあらかじめ含められます。すべての動作はini形式のサービス設定で集中的に管理されます。ポート、WebUIパラメータ、証明書、OpenVPN、gproxy、frp、tunnel2、cron、sshd、adb、mdnsなどが対象です。WebUIは可視化編集、Rawテキストモード、Reload Serviceによるホットリロードをサポートし、リモートファイルサーバーからの設定読み込みにも対応します。
rootとshellの2つの権限で動作でき、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の中核的な優位性は単一機能にあるのではなく、リモートデスクトップ(WebRTC/H.264/マルチユーザー)、UI自動化(仮想スクリーン/Watcher/OCR/画像マッチング/マルチタッチを含む)、ワンクリックパケットキャプチャ、内蔵Frida、フルスタックプロキシとVPN/frp/P2Pネットワーキング、ADB/SSH/内蔵ターミナル、AI MCP/Agent、システムレベル制御、仮想Debian、永続KV、スクリプト暗号化などの能力を、同じAndroidデバイス、同じサービス、同じPythonクライアントに統合している点にあります。これにより、セキュリティテスト、コンプライアンス分析、プロトコル復元、一括管理、自動化業務を1つのパイプラインで完結でき、複数のツール間で何度もつなぎ合わせる必要がありません。