Tomoe Haga

Mini.WebVM: WebAssemblyを介してブラウザ上で仮想化されたDockerファイルからの、自分のLinuxボックス

(サマリー) WebVMは、ブラウザ上で完全にクライアントサイドで動作するLinuxライクな仮想マシンです。CheerpX: Leaning TechnologiesによるWebAssemblyのx86実行エンジンをベースにしています。本日のアップデートにより、GitHub上のレポをフォークし、含まれるDockerfileを編集するだけで、WebVMの独自バージョンをデプロイできるようになりました。GitHub Actionsワークフローによって、自動的にGitHubページにデプロイされます。 WebVMは完全なDebianベースのLinux環境であり、ブラウザ上でクライアントサイドで動作します。WebAssemblyのJITエンジンを搭載したx86仮想化技術であるCheerpXをベースにしています。 WebVMの最初の発表は約1年前で、コミュニティから多くの注目を集めました。その後に行われたネットワーキングのサポートを導入するアップデートでも同じことが起こりました。言うまでもなく、私たちはこの好意的な反応に大喜びし、やや圧倒されています。 私たちは、コミュニティが制限なくこの技術を使用できるようにすることで、一歩前進したいと考えています。2023年5月に、私たちはMini.WebVMをリリースしました。これは、GitHubのページやその他のホスティングを経由して、数回のクリックで誰でもWebVMの自分自身のバージョンをカスタマイズしてデプロイできるようにする簡素化された統合です。 WebVMとは何か? WebVMは、ブラウザ上で完全にクライアントサイドで動作するLinuxライクな環境である。これは、以下のものを組み合わせることで可能になります: CheerpX:最先端のx86-to-WebAssembly仮想化エンジン。CheerpXは、高度な実行エンジンを介して、ブラウザ上で修正されていないx86バイナリをパフォーマンスよく安全に実行できます。このエンジンは、x86バイナリコードからWebAssemblyモジュールをリアルタイムでJITコンパイルします。ランタイム生成コードと自己修正コードは完全にサポートされています。 Ext2 ディスクイメージ: CheerpXがネイティブにサポートする堅牢なファイルシステムフォーマットです。HTTPバックエンド上で完全なLinuxセットアップへの高性能アクセスを提供します。WebVMの場合、イメージにはDebianが組み込まれ、python、nodejs、gcc、clang、curlなど、多くのパッケージがインストール済みです。ディスクチャンクはオンデマンドでダウンロードされ、帯域幅の使用とブート時間を最小限に抑えます。 インブラウザネットワーキング: Tailscaleの統合により、WebVMを自分のテールネットに接続し、仮想マシンとの双方向ネットワーキングを楽しむことができます。トラフィックはTailscale経由で暗号化され、完全にプライベートです。 Xterm.js: ブラウザ上の本格的なターミナルエミュレータです。単純なコマンドラインツールだけでなく、完全なTUIsも使用できます。 WebVMの初期リリースはコミュニティから大きな関心を集めましたが、何かが足りないことは明らかでした。私たちが受け取った最も一般的なフィードバックは次のようなものでした: 「これはクールだが、自分のプロジェクトに使うにはどうしたらいいのだろう?」 数ヶ月かかりましたが、CheerpXとWebVMを最終的に使えるようにするために、すべての摩擦点を特定し、修正したと考えています。 デプロイの悪夢から… CheerpXもWebVMも、単なる静的ファイルの集まりです。HTTPサーバー以外にバックエンドコンポーネントはありません。 それでも、いくつかの技術的な要件のために、WebVMのカスタマイズされたデプロイメントを許可することは実質的にかなり困難でした。 SharedArrayBufferとクロスオリジン分離: WebAssemblyのユニークな機能の1つは、Web WorkersとSharedArrayBufferを介した本当のマルチスレッド実行機能です。残念ながら、深刻なCPUの脆弱性のため、この機能はCross-Originの分離を保証する特別なHTTPヘッダ(COEP/COOP/CORP)のセットを介してのみ有効です。私たちは経験から、この(過剰で)複雑な設定を正しく行うのは難しく、失敗するとデバッグが厄介であることを知っています。さらに、ホスティングシナリオではよくあることですが、ユーザがサーバの設定をコントロールしない場合、これらのヘッダを設定することは事実上不可能になります。 Ext2 イメージの作成: ファイルシステムを初期化するために `dd`…

レガシーなInternet ExplorerからCheerpX for Flashへの乗り換えによるアクセシビリティの向上

インターネットの黎明期、Adobe Flashはウェブアプリケーションやコンテンツの扱いに革命をもたらしたパイオニアでした。しかし、技術の進歩に伴い、FlashとNPAPIプラグイン技術の両方が時代遅れとなり、セキュリティリスクに対して脆弱になっています。 このブログでは、レガシーなInternet ExplorerでFlashを使いながら組織全体の生産性と成果を最大化させようとする状況から、CheerpX for Flashへの移行の重要性について説明します。 Flashの終焉 Adobe Flashは、かつてインタラクティブなウェブコンテンツの代表的なテクノロジーとして賞賛されてきましたが、過去10年間で徐々に衰退してきました。HTML5が台頭し、その優れた機能とセキュリティー・モデルによって、Flashは数々の脆弱性と互換性の問題からお荷物となってしまいました。ここ数年で、主要なウェブブラウザはFlashのサポートを打ち切り(プラグイン全般のサポートも打ち切り)、事実上時代遅れとなりました。 同様に、かつて主流だったInternet Explorerも、Google Chrome、Mozilla Firefox、Microsoft Edgeなど、より先進的な代替ブラウザの前に足場を失っています。Internet Explorerは、互換性の問題、セキュリティ上の欠陥、最新のウェブ標準をサポートしていないことなどから、時代遅れとなり、今や組織にとって非推奨の選択肢となっています。 Flash用CheerpXの登場 2020年にリリースされたCheerpX for Flashは、レガシーなInternet ExplorerやFlashアプリケーションに依存する組織にソリューションを提供します。WebAssemblyのパイオニアであるLeaning Technologiesによって開発されたCheerpX for Flashは、Flashプラグインやレガシーブラウザを必要とすることなく、Flashアプリケーションを最新のWebブラウザで安全に実行できるようにする最先端の技術です。 CheerpX for Flashの利点 セキュリティ強化: Flashアプリケーションは、そのセキュリティの脆弱性が広く知られています。CheerpX for Flashに移行することで、古いバージョンのInternet…

2023年にOracle Formsを起動するための代替方法

最新:Oracle Formアプリケーションを保存するためのソリューションをご覧ください CheerpJは、最新のブラウザでOracle Formsによって生成されたものを含むJavaアプレットへのアクセスを維持する、市場で唯一のソリューションです。 Microsoftが2022年6月にInternet Explorerを正式に廃止すると発表したことは、Oracle Formsで構築されたアプリケーションに依存する組織に再び打撃を与えました。 この最新の発表は、セキュリティ上の問題により、主要なブラウザがJavaアプレットのサポートを終了する傾向と、Oracle Formsが最新のHTML5を選び、ブラウザで実行するために依存していた基本的なNPAPIテクノロジーを追跡しています。 過去数年間、Internet Explorerは、組織がOracle Forms 10g以降をオンラインで実行できる唯一のブラウザです。したがって、この発表は、Oracle Formsアプリケーションに依存している企業や組織に大きな影響を与える可能性があります。 そのことを念頭に置き、Formsを実行し続けるために、どのようなオプションがあるでしょうか? Internet Explorerモード 発表の一環として、MicrosoftはEdgeで「Internet Explorer」モードを継続することを表明しています。これにより、NPAPIプラグインを使用してブラウザでOracle Formsを実行することができますが、同時にユーザーエクスペリエンスを犠牲にします。例 Internet Explorerモードはデフォルトでは有効になっていません。このモードは、各ユーザーのEdgeブラウザ設定で手動で有効にする必要があります。 Oracle Formsを含むWebページを実行する唯一の方法は、最初に空白のページを表示するEdgeでOracle Forms URLを実行することです。ユーザーは、Edgeのメニュー、そしてその他のツールに手動で移動する必要があります。次に「Internet Explorer モードでサイトの再読み込みを許可」をクリックして、Internet Explorerモードを使用してアプリケーションを再読み込みする必要があります。この操作で、Oracle Formsアプリケーションが正常に実行されるようになります。…