Об этом проекте
Wasmer — это среда выполнения на основе WebAssembly и инструмент командной строки для запуска приложений внутри быстрых, безопасных и лёгких песочниц. Песочницы могут работать локально, в облаке или в браузере, а доступ к файлам, сети и окружению контролируется пользователем.
Ключевые характеристики, описанные в README:
- Безопасность по умолчанию: доступ к файлам, сети и окружению явно контролируется.
- Лёгкость: быстрый запуск и небольшой объём памяти.
- Готовность к работе: такие пакеты, как Python, JavaScript, Bash, PHP, PostgreSQL, SQLite и FFmpeg, доступны в реестре Wasmer.
- Встраиваемость: песочницы можно добавлять в приложения через Wasmer SDK.
Начало работы с CLI:
Установка на macOS или Linux с помощью `curl https://get.wasmer.io -sSfL | sh`; в Windows используется PowerShell, также поддерживается Homebrew. Первый запуск выглядит так: `wasmer run python/python -- -c "print('Hello from Wasmer')"`. Пакеты загружаются и кэшируются для последующих запусков. Разделитель `--` отличает параметры Wasmer от аргументов программы; `--volume` предоставляет доступ к локальному каталогу, а `--net` включает сетевое взаимодействие с хостом. Браузерная пробная версия доступна на wasmer.sh без установки.
Wasmer SDK позволяет разработчикам создавать песочницы, выбирать инструменты и запускать код внутри собственных приложений. Он доступен для JavaScript/TypeScript (Node.js 20+), Python (macOS и Linux, Intel и ARM64), Rust (зависимость из исходников, публикация на crates.io в настоящее время отключена) и Swift (Swift 6+, macOS 12+, iOS 27+). Выполнение в браузере использует тот же JavaScript API с заголовками cross-origin isolation. В настоящее время SDK находится в стадии alpha.
Возможности SDK включают запуск команд и захват вывода, управление процессами с потоковой передачей вывода, чтение и запись файлов песочницы, объединение языков и пакетов в одной песочнице, а также запуск сервисов с явным сетевым доступом. Примеры пакетов включают Python, Edge.js, Bash, PHP, PGlite, SQLite и FFmpeg.
Этот репозиторий содержит среду выполнения Wasmer и CLI; SDK для песочниц находятся в отдельном репозитории. Более низкоуровневое встраивание возможно через Rust и C API. Проект распространяется под лицензией MIT, принимает вклад сообщества и предоставляет документацию по сборке из исходников, тестированию, сообщению о безопасности и отслеживанию проблем. Каналы сообщества включают Discord, X, LinkedIn и блог, а также переводы README на несколько языков, сделанные сообществом.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.