Об этом проекте

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 на несколько языков, сделанные сообществом.