
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 для WASM-сборки radare2
Разработка
Для локального запуска:
git clone https://github.com/radareorg/r2web.git
cd r2web
bun install
bun dev
вам потребуется запустить очень маленький прокси-сервер API, чтобы обойти политику CORS браузера. Для этого выполните:
bun run api/wasm.cjs # or node api/wasm.cjs if you don't have bun installed
который запустит локальный прокси-сервер на http://localhost:3000/wasm, который будет использоваться для загрузки wasm-файла из релизов GitHub.
Или вы можете запустить и сервер для разработки, и прокси-сервер одновременно с помощью:
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)
В: Почему я не могу сохранять файлы?
О: Возможность сохранения поддерживается, начиная с версии r2 6.0.3. В более ранних версиях было ограничение со стороны r2-wasm, которое с тех пор было устранено.
В: Почему не загружается графическое представление?
О: Для корректной работы графического представления требуется версия r2 6.0.9 или выше.
В: Какие браузеры поддерживаются?
О: Хотя мы стремимся к широкой совместимости, в настоящее время есть известные проблемы с Firefox. Для наиболее стабильной работы мы рекомендуем использовать браузеры на основе Chromium (такие как Chrome, Edge или Brave).
В: Как обрабатывается бинарный файл radare2?
О: Бинарный файл автоматически загружается при первой загрузке и кэшируется локально для последующего использования. Если вы не хотите его хранить, при запуске во время выбора версии доступна опция отключения кэширования.
Вклад в проект
Вклад приветствуется! Пожалуйста, открывайте issue или отправляйте pull request. Чтобы проект оставался верным своим основным целям, пожалуйста, придерживайтесь следующих рекомендаций:
- Избегайте UI-шаблонов: Этот проект построен на философии самодостаточности. Пожалуйста, избегайте добавления внешних UI-библиотек (например, Tailwind CSS, shadcn/ui) или громоздких шаблонов.
- Минимизируйте зависимости: Мы стремимся поддерживать лёгкость кодовой базы. По возможности старайтесь реализовывать логику и стили с помощью нативных инструментов, а не добавлять новые пакеты.
Лицензия
Этот проект лицензирован по лицензии MIT. Подробнее см. в файле LICENSE.
- Лицензию radare2 можно найти здесь.
Похожие проекты
- r2wasm — официальный демонстрационный проект r2wasm
- radare2 online — онлайн-версия radare2 [в настоящее время не работает]





