WebVM: повноцінний Linux прямо у вкладці браузера — що там під капотом і коли це реально корисно
CheerpX від Leaning Technologies емулює x86 у WebAssembly: Debian з gcc, vim і python3 працює у вкладці без сервера. Розбираємо, як це працює, що вміє, чим обмежене і коли це доречно замість Docker.

WebVM — це серверless-віртуальне середовище, що працює повністю на стороні клієнта в HTML5/WebAssembly: справжній Debian із нативними бінарниками (gcc, vim, python3, git) запускається у вкладці браузера, без жодного серверного компонента. Технологія від Leaning Technologies не нова — перший публічний демо вийшов у 2023-му — але телеграм-канали періодично її перевідкривають, і щоразу для цього є причина: це один із найвражаючих прикладів того, на що здатен браузер сьогодні.
Що це насправді: емуляція, а не віртуалізація
Під капотом — движок CheerpX, той самий, що раніше використовувався в enterprise-рішенні CheerpX for Flash для запуску легасі-контенту. Це не VM у класичному сенсі: x86-код транслюється у WebAssembly на льоту. Складові:
- x86-to-WebAssembly JIT-компілятор: інтерпретатор прогріває рідко виконуваний код і збирає структуру гарячих шляхів, а JIT компілює їх у Wasm-модулі на льоту
- Емулятор Linux syscalls — міст між немодифікованими x86-бінарниками і веб-середовищем
- Блокова файлова система на базі Ext2: дисковий образ — статичний ресурс на CDN, який тягнеться через HTTP Range-запити — тобто завантажується тільки те, що реально читається з диска
- Зберігання змін — IndexedDB: усі зміни у файловій системі персистентні, але тільки локально в браузері. Leaning Technologies дані користувача не бачить і не зберігає
Технічно це складна система: CheerpX коректно обробляє self-modifying code, багатопотоковість, багатопроцесність і межпроцесну взаємодію. Користувач отримує root-привілеї за замовчуванням (sudo не встановлено, але це легко додається у власному образі).
Головне розуміння: це емуляція CPU через JIT у Wasm, а не апаратна віртуалізація. Уся робота відбувається на CPU твоєї машини, браузер виступає рантаймом. Тому продуктивність нижча за нативний Wasm, і важкі збірки там ідуть повільно.
Мережа через Tailscale
Мережевий стек — TCP/IP через lwIP, скомпільований у Wasm через Cheerp-компілятор Leaning Technologies, а справжній звʼязок із зовнішнім світом робиться через інтеграцію з Tailscale: з сайдбара зʼєднуєшся, і WebVM отримує доступ до твоєї Tailscale-мережі, а через exit node — і до публічного інтернету. Підтримується і selfhosted-варіант — headscale з nginx-проксі для CORS. Класична пастка: ICMP (ping) не працює — для перевірок звʼязку використовуй curl чи wget.
Що там можна робити прямо зараз
Демо на webvm.io дозволяє компілювати C через gcc (clang теж є), запускати python3, редагувати код у vim, дивитися на згенеровані x86-бінарники через objdump. Крім базового Debian-терміналу є окремий варіант з Alpine + Xorg + i3 — графічне середовище теж працює у вкладці. Є інтеграція з Claude AI (свой API-ключ, зберігається локально в браузері) — можна прямо в інтерфейсі просити розвʼязувати CTF-челенджі у файловій системі віртуалки.
Цікава фішка для розробників: Mini.WebVM — це перебірка, де ти сам збираєш свій диск-образ із Dockerfile (build-процес CheerpX перетворює Dockerfile на ext2-образ) і деплоїш на GitHub Pages. Можна замінити CMD на /usr/bin/python3 і отримати власний Python-REPL прямо в браузері.
Ліцензійний нюанс
Сам репозиторій WebVM — Apache 2.0, але публічний деплой CheerpX безкоштовний лише для індивідуального використання: будь-яке використання організаціями, включно з некомерційним, академічним і державним сектором, потребує ліцензії. Тож якщо хочеш будувати продукт на CheerpX — звʼязуйся з Leaning Technologies.
Де це реально доречно
- Освітні платформи й туторіали: інтерактивна Linux-пісочниця без інсталяції й прав адміна — ідеально для навчальних матеріалів
- Демо й документація продукту: показати CLI-тул на власному сайті, не розгортаючи жодної інфраструктури
- CTF-плейграунди й quick-lab середовища: роздати учасникам ідентичне середовище лінком
- Легасі-застосунки: CheerpX уже використовується в продакшені для запуску Flash-контенту у браузері
- Міні-REPL: python3, node, bash — як інтерактивні приклади в доках
Де не доречно: як заміна Docker/VM для реальної розробки. Емуляція повільніша за нативний Wasm, складні збірки тривають довше, і в тебе все одно є Docker, що піднімає справжнє середовище за секунди. WebVM не для роботи — він для демонстрацій, навчання і експериментів.
Ціна технології
Serverless-архітектура — найсильніша сторона проєкту: усі користувачі тягнуть той самий образ з CDN, а зміни зберігаються лише локально. Leaning Technologies прямо каже, що ця модель дозволила б тримати мільйони одночасних користувачів при мінімальних витратах. Системні вимоги скромні: будь-який сучасний браузер з підтримкою SharedArrayBuffer і достатньо памʼяті — працює і на десктопі, і на мобільному.
- 1WebVM: server-less x86 virtual machines in the browser — Leaning Technologies, лютий 2023
- 2leaningtech/webvm — Virtual Machine for the Web (README) — GitHub, вересень 2026
- 3WebVM — Linux virtualization in WebAssembly — webvm.io, вересень 2026
Щотижневий дайджест — у вашій пошті
Один лист на тиждень: головне зі світу AI українською. Без спаму, відписка одним кліком.



