https://github.com/abhithemodder/r2web
Access radare2 from anywhere, anytime.
https://github.com/abhithemodder/r2web
binary-analysis disassembler r2web radare2 reverse-engineering wasi wasm wasmer
Last synced: 6 months ago
JSON representation
Access radare2 from anywhere, anytime.
- Host: GitHub
- URL: https://github.com/abhithemodder/r2web
- Owner: AbhiTheModder
- Created: 2025-08-19T01:37:28.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2025-09-09T00:16:07.000Z (7 months ago)
- Last Synced: 2025-09-09T02:34:13.084Z (7 months ago)
- Topics: binary-analysis, disassembler, r2web, radare2, reverse-engineering, wasi, wasm, wasmer
- Language: TypeScript
- Homepage: https://r2.revengi.in
- Size: 95.7 KB
- Stars: 15
- Watchers: 2
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README

## r2web: __Access radare2 from anywhere, anytime.__
https://github.com/user-attachments/assets/1d60bc1a-2e91-4868-ac5f-3a861d0af537
## Overview
r2web lets you run radare2 without local installs or platform hassles. Analyze files directly in your browser. It runs entirely client-side using radare2 WASI and Wasmer, with an [xterm.js](https://xtermjs.org/) frontend for interactive command execution.
👉 [Try it live](https://r2.revengi.in)
## Features
- **Browser-based**: No local installation required
- **Cross-platform**: Works on any device with a modern browser (since older browsers don't support WASI/WASM)
- **Terminal Interface:** Interact with r2 via a familiar terminal.
- **Keyboard Shortcuts:** Navigate quickly using some known GUI shortcuts (like `Ctrl+G` for seek).
- **Search:** Ability to search in large outputs of commands.
- **Custom r2 versions:** Use any version of r2 you want.
- **Quick Buttons:** Buttons for common commands like `pd`, `px`, `iz`.
## Under the Hood
r2web uses:
* React+TypeScript+Vite
* [xterm.js](https://xtermjs.org/) for the terminal interface
* Wasmer for running WASM
* r2wasm for the WASM build of radare2
## Development
To run locally:
```shell
git clone https://github.com/AbhiTheModder/r2web.git
cd r2web
bun install
bun dev
```
you'll need to run a very small proxy api server to workaround with browser's CORS policy, to do that run:
```shell
bun run api/wasm.js # or node api/wasm.js if you don't have bun installed
```
which will run a local proxy server at `http://localhost:3000/wasm`, that will be used to fetch the wasm file from the github releases.
Or you can run both dev & proxy server at the same time using:
```shell
bun cc
```
Or skip the setup and [try it live](https://r2.revengi.in).
> [!TIP]
> If you don't have bun installed, you can use npm or yarn or any other package manager which you have installed. Just replace `bun` with `npm` or `yarn` (or any other package manager) in the above commands.
## Notes
- This is a work in progress. Expect bugs and missing features.
- The radare2 binary is downloaded on first load and cached for future use (an option to disable caching is also given).
- ~~Currently there's no way to save modified files, (seems like an issue on r2wasm side), figuring out a way to fix it.~~ (Fixed on r2 versions 6.0.3 onwards...)
## Contributing
Contributions are welcome! Please open an issue or submit a pull request.
## License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
- radare license can be found [here](https://github.com/radareorg/radare2/blob/master/COPYING.md).
## Similar Projects
- [r2wasm](https://github.com/radareorg/r2wasm) - Official r2wasm showcase project
- [radare2 online](https://radare2.online/) - Online version of radare2 [currently broken]