
r2web — Updated!
いつでもどこでもradare2にアクセス可能。
r2web: どこでもいつでもradare2にアクセス。
概要
r2webを使えば、ローカルインストールやプラットフォームの手間なくradare2を実行できます。ブラウザで直接ファイルを解析できます。すべてクライアントサイドで動作し、radare2 WASIとWasmerを利用し、xterm.jsのフロントエンドでインタラクティブなコマンド実行を実現します。
👉 ライブで試す
スクリーンショットを表示するにはクリック
![]() | ![]() | ![]() |
| ダッシュボード | ショートカット | 文字列ビュー |
![]() | ![]() | ![]() |
| アドレスに移動 | 検索 | グラフビュー |
機能
- ブラウザベース: ローカルインストール不要
- クロスプラットフォーム: 最新のブラウザを搭載したあらゆるデバイスで動作(古いブラウザはWASI/WASMをサポートしていないため)
- ターミナルインターフェース: おなじみのターミナルでr2とやりとり。
- キーボードショートカット: おなじみのGUIショートカット(検索には
Ctrl+Gなど)を使って素早くナビゲート。 - 検索: コマンドの大きな出力内を検索可能。
- カスタムr2バージョン: 任意のr2バージョンを使用可能。
- クイックボタン:
pd、px、izなどの一般的なコマンド用ボタン。
内部構造
r2webは以下を使用しています:
- React+TypeScript+Vite
- xterm.js ターミナルインターフェース用
- Wasmer WASM実行用
- r2wasm radare2のWASMビルド用
開発
ローカルで実行するには:
git clone https://github.com/radareorg/r2web.git
cd r2web
bun install
bun dev
ブラウザのCORSポリシーを回避するために、非常に小さなプロキシAPIサーバーを実行する必要があります。そのためには次のコマンドを実行します:
bun run api/wasm.cjs # or node api/wasm.cjs if you don't have bun installed
これにより、http://localhost:3000/wasmでローカルプロキシサーバーが実行され、GitHubリリースからwasmファイルをフェッチするために使用されます。
または、次のコマンドで開発サーバーとプロキシサーバーを同時に実行することもできます:
bun cc
本番用にビルドするには:
bun run build
デフォルトでは、ビルドはアプリがルートパス(/)から提供されることを想定しています。サブディレクトリ(例:example.com/online)にデプロイする場合は、VITE_BASE_URL環境変数を設定してください:
VITE_BASE_URL=/online bun run build
[!NOTE] プロキシサーバーは、複数の(古い)バージョンのradare2をサポートするためにのみ必要です。最新バージョンのみを気にする場合は、プロキシサーバーをスキップできます。
またはセットアップをスキップしてライブで試す。
[!TIP]
bunがインストールされていない場合は、npmやyarnなど、インストール済みのパッケージマネージャーを使用できます。上記のコマンドで
bunをnpmまたはyarn(または他のパッケージマネージャー)に置き換えてください。ビルド済みファイルをファイルシステムから直接開く(
file://プロトコルを使用する)場合、CORSエラーが発生する可能性があります。適切なHTTPサーバー(GitHub Pages、Netlify、Vercelなど)を使用した静的ホスティングをお勧めします。またはローカルサーバーを起動してください。
FAQ
Q: ファイルを保存できないのはなぜですか?
A: 保存機能はr2バージョン6.0.3以降でサポートされています。それ以前のバージョンではr2-wasm側に制限がありましたが、現在は解決されています。
Q: グラフビューが読み込まれないのはなぜですか?
A: グラフビューが正しく機能するには、r2バージョン6.0.9以上が必要です。
Q: サポートされているブラウザは?
A: 幅広い互換性を目指していますが、現在Firefoxには既知の問題があります。最も安定したエクスペリエンスを得るには、Chromiumベースのブラウザ(Chrome、Edge、Braveなど)の使用をお勧めします。
Q: radare2バイナリはどのように処理されますか?
A: バイナリは最初のロード時に自動的にダウンロードされ、将来の使用のためにローカルにキャッシュされます。保存したくない場合は、起動時のバージョン選択中にキャッシュを無効にするオプションがあります。
貢献
貢献は歓迎します! 問題を報告するか、プルリクエストを送信してください。プロジェクトをコア目標に沿ったものに保つため、以下のガイドラインに留意してください:
- UIボイラープレートを避ける: このプロジェクトは自己統合の哲学に基づいています。外部UIライブラリ(例:Tailwind CSS、shadcn/ui)や重いボイラープレートの追加は避けてください。
- 依存関係を最小限に: コードベースを軽量に保つことを目指しています。可能な限り、新しいパッケージを追加するのではなく、ネイティブツールを使用してロジックとスタイリングを実装するようにしてください。
ライセンス
このプロジェクトはMITライセンスの下でライセンスされています。詳細はLICENSEファイルを参照してください。
- radare2のライセンスはこちらにあります。
類似プロジェクト
- r2wasm - 公式r2wasmショーケースプロジェクト
- radare2 online - radare2のオンラインバージョン [現在使用不可]





