このプロジェクトについて

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を使用します。SDKは現在アルファ版です。 SDKの機能には、コマンドの実行と出力のキャプチャ、ストリーミング出力によるプロセス管理、サンドボックスファイルの読み書き、1つのサンドボックス内での言語とパッケージの組み合わせ、明示的なネットワークアクセスを伴うサービスの実行が含まれます。パッケージの例には、Python、Edge.js、Bash、PHP、PGlite、SQLite、FFmpegがあります。 このリポジトリにはWasmerランタイムとCLIが含まれており、サンドボックスSDKは別のリポジトリにあります。RustおよびC APIを通じた低レベルの組み込みも可能です。プロジェクトはMITライセンスで、コントリビューションを受け付け、ソースからのビルド、テスト、セキュリティ報告、問題追跡に関するドキュメントを提供しています。コミュニティチャネルにはDiscord、X、LinkedIn、ブログがあり、READMEのコミュニティ翻訳がいくつかの言語で提供されています。