taybenlor/runno

Sandboxed runtime for programming languages and WASI binaries. Works in the browser, on your server, or via MCP.

何を解決するか

Runno は、ユーザーが複雑なローカルツールチェーンやサーバーをインストールする必要なく、ブラウザまたは Node.js 環境内で Python、Ruby、C++ などの複数のプログラミング言語のコードを直接実行できるようにします。小さなコード例を実行するための安全で隔離された環境を提供し、プログラミング教育において特に有用です。

動作方法

Runno は WebAssembly (WASM) と WebAssembly System Interface (WASI) を活用して、仮想化された UNIX に似たサンドボックスを構築します。標準的なオペレーティングシステムインターフェースをエミュレートし、メモリ内のバイト配列に基づく仮想ファイルシステムを提供することで、コードがホストの実際のファイルシステムやネットワークにアクセスできないようにします。これにより、WASM にコンパイルされたバイナリを安全に実行しつつ、厳密な隔離によってセキュリティを確保できます。

対象ユーザー

  • 教育者および技術ライター:ドキュメントやチュートリアルに実行可能なコード例を埋め込み、インタラクティブな体験を提供したい人。
  • 開発者:JavaScript ランタイム内で信頼できないコードを安全に実行したい人。
  • AIツール開発者:Model Context Protocol (MCP) を使用し、AIエージェントに @runno/mcp サーバー経由でコード実行能力を提供したい人。

特徴

  • 多言語対応:Python、Ruby、QuickJS、SQLite、Clang (C)、Clang++ (C++)、PHP-CGI をサポート。
  • ブラウザネイティブ:バックエンドサーバー不要で、Web Components を使ってウェブページに簡単に統合可能。
  • セキュアなサンドボックス:ネットワークアクセスなしの仮想マシンと仮想ファイルシステムで実行を隔離。
  • MCP統合:AIエージェント向けのコード実行機能を可能にする MCP サーバー実装を含む。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト