Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
webvm — Клиентская виртуальная машина Linux, работающая в браузере через WebAssembly, с сетью Tailscale, кастомными образами на основе Dockerfile и поддержкой CTF-заданий для обучения и разработки в области безопасности. | Kitploit
Инструменты/GitHubGitHub/leaningtech/webvm
Виртуализация для безопасностиСетевая безопасностьCTFБезопасность облачных средDevSecOpsОбучение и Образование
GitHubleaningtech/webvm

webvm

Клиентская виртуальная машина Linux, работающая в браузере через WebAssembly, с сетью Tailscale, кастомными образами на основе Dockerfile и поддержкой CTF-заданий для обучения и разработки в области безопасности.

Репозиторий
17.2k3.3k249 дней назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Сайт

WebVM

Discord server Issues

Этот репозиторий содержит исходный код для https://webvm.io — виртуальной машины Linux, работающей в вашем браузере.

Попробуйте новое графическое окружение Alpine / Xorg / i3: https://webvm.io/alpine.html

Что такое WebVM?

WebVM — это бессерверная виртуальная среда, работающая полностью на стороне клиента в HTML5/WebAssembly. Она совместима с Linux ABI и запускает немодифицированную дистрибутив Debian, включая множество нативных инструментов разработки.

WebVM работает на движке виртуализации CheerpX, который предоставляет:

  • JIT-компилятор x86 в WebAssembly
  • Виртуальная файловая система на основе блоков
  • Эмулятор системных вызовов Linux
  • Безопасное изолированное выполнение на стороне клиента

Содержание

  • Сеть
  • Разработка и настройка
    • Развертывание на GitHub Pages
    • Локальный запуск и настройка образа
  • Интеграция с Claude AI
  • Сообщество и поддержка
  • Узнать больше
  • Лицензия

[!NOTE] Посетите https://webvm.io, чтобы начать работу прямо в браузере. Никакой настройки не требуется.

Инструкции по локальной настройке, сборке собственных образов и форку/развертыванию см. в разделе Разработка и настройка.

Сеть

WebVM поддерживает интеграцию с Tailscale. Таким образом, ваша браузерная ВМ может получать доступ к вашей частной сети, а при наличии выходного узла — и к публичному интернету.

[!NOTE] Некоторые низкоуровневые сетевые операции (особенно ICMP, используемый ping) в настоящее время недоступны в этом окружении. Для проверки подключения используйте curl или wget.

Локальная сеть

  1. Откройте панель "Сеть" на боковой панели.
  2. Нажмите "Подключиться к Tailscale".
  3. Выполните вход (при необходимости создайте бесплатную учетную запись на tailscale.com).
  4. Нажмите "Подключиться" при появлении запроса.

Теперь WebVM имеет доступ ко всем машинам в вашей сети Tailscale!

Советы по использованию интернета

[!TIP] При медленном соединении может быть небольшая задержка перед инициализацией. Состояние подключения отображается в виде цветной точки на кнопке: оранжевый — локальная сеть, зеленый — глобальный интернет. Текст кнопки показывает ваш IP-адрес Tailscale после подключения.

Чтобы получить доступ к публичному интернету из WebVM, настройте Выходной узел на другом устройстве в вашей сети Tailscale:

  1. Следуйте краткому руководству по настройке выходного узла Tailscale (раздел "Назначить устройство выходным узлом").
  2. WebVM автоматически использует выходной узел после его назначения.

Использование ключа аутентификации

В качестве альтернативы интерактивному входу можно добавить свой ключ аутентификации Tailscale во фрагмент URL:

https://webvm.io/#authKey=<ваш-эфимерный-ключ>

Это эквивалентно опции Tailscale --login-server.

[!TIP] Если вам также нужен собственный сервер управления, добавьте controlUrl в тот же фрагмент URL и разделите значения символом &, например: #authKey=...&controlUrl=....

Самостоятельное размещение Tailscale с Headscale

Мы также поддерживаем headscale — самостоятельную реализацию сервера управления Tailscale с открытым исходным кодом. По умолчанию Headscale не добавляет заголовки CORS, поэтому перед ним потребуется прокси. См. документацию Headscale по настройке обратного прокси для примера.

После настройки добавьте следующую строку в блок location / вашего конфигурационного файла nginx.

if ($http_origin = "https://yourdomain.com") {
    add_header 'Access-Control-Allow-Origin' "$http_origin";
    add_header 'Access-Control-Allow-Credentials' 'true' always;
}

Затем откройте WebVM с помощью:

https://yourdomain.com/#controlUrl=<ваш-url-headscale>

Разработка и настройка

[!NOTE] Пользователи по умолчанию имеют права root. Однако sudo не установлен, но его легко добавить в Dockerfile при необходимости.

Развертывание на GitHub Pages

Это простой рабочий процесс, подходящий для начинающих. Инструкции по локальному хостингу и настройке см. ниже в разделе Локальный запуск и настройка образа.

Форкните репозиторий WebVM, чтобы развернуть свою собственную версию на GitHub Pages:

deploy_instructions_gif
  1. Форкните репозиторий
  2. Включите GitHub Pages в форкнутом репозитории: Настройки → Pages → выберите "GitHub Actions" в качестве источника.
  3. Запустите рабочий процесс Deploy из вкладки Actions.
  4. После завершения откройте URL, указанный в задании deploy_to_github_pages.

Тот же рабочий процесс Deploy также собирает пользовательские образы дисков .ext2 из Dockerfile. Вы можете указать его на dockerfiles/debian_mini или другой Dockerfile, а затем либо опубликовать результат как ресурс релиза GitHub, либо развернуть сборку Pages из своего форка.

[!NOTE] dockerfiles/debian_large слишком большой образ для GitHub Pages.

Локальный запуск и настройка образа

1. Клонируйте репозиторий

git clone https://github.com/leaningtech/webvm.git
cd webvm

2. Поместите свой образ в custom-disk-images/

В этом репозитории есть постоянная директория custom-disk-images/ для локальных файлов .ext2.

Чтобы использовать официальный минимальный образ Debian, скачайте его из релизов:

debian_mini_20230519_5022088024.ext2

Вы также можете скопировать образ, собранный самостоятельно.

3. Укажите WebVM на локальный образ

Отредактируйте config_public_terminal.js:

export const diskImageUrl =
  "/custom-disk-images/debian_mini_20230519_5022088024.ext2";
export const diskImageType = "bytes";

4. Установите зависимости и соберите

npm install
npm run build

5. Запустите Nginx и откройте WebVM

nginx -p . -c nginx.conf

Затем откройте http://127.0.0.1:8081 и наслаждайтесь локальным WebVM!

Полное окружение Alpine Desktop см. в leaningtech/alpine-image.

Более подробную информацию см. в документации CheerpX Custom Images.

[!TIP] Для REPL Python3 рабочий процесс Deploy учитывает CMD, указанный в Dockerfile.

Чтобы создать REPL, просто измените CMD [ "/bin/bash" ] на CMD [ "/usr/bin/python3" ] и разверните.

Интеграция с Claude AI

Для доступа к Claude AI вам понадобится API-ключ. Выполните следующие шаги, чтобы начать:

1. Создайте учетную запись

  • Посетите Anthropic Console и зарегистрируйтесь, указав свой адрес электронной почты. Вы получите ссылку для входа в Anthropic Console.

2. Получите API-ключ

Скачать инструмент