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

Ruffleは、Rustで実装されたAdobe Flash Playerのオープンソースエミュレータです。デスクトップアプリケーションとしても、WebAssemblyを介したブラウザ内でも動作し、公式Flash Playerが廃止された後もレガシーなFlashコンテンツ(SWFファイル)を再生可能にすることを目的としています。 提供内容: - ActionScript 1、2、3のサポート。プロジェクトによるとかなり完全ですが、まだ開発中です。 - ユーザーがブラウザでローカルSWFファイルを直接読み込めるWebデモ。 - デスクトップおよびWebプラットフォーム向けのナイトリービルド。 - FirefoxとChrome用のブラウザ拡張機能、Flathubパッケージ、npmパッケージ、AURパッケージ。 - wgpu-rs上に構築されたデスクトップクライアント。オプションのプロファイリング機能(Tracy)とレンダーデバッグラベルを備えています。 - SWFファイルのコレクションを一括解析し、解析成功を報告するスキャナーユーティリティ。 - SWFのPNGスクリーンショットをレンダリングするエクスポーターユーティリティ。オプションで複数フレームにわたってレンダリングし、ヘッドレスで実行できます。 READMEからのアーキテクチャのハイライト: - core: コアエミュレータと共通コード - swf: SWFおよびActionScriptパーサー - desktop: デスクトップクライアント - web: Webクライアントとブラウザ拡張機能 - render: デスクトップとWeb用のレンダリングバックエンド - video: ビデオデコードバックエンド - flv: Flash Videoデコーダー - wstr: Flash互換の文字列実装 - scannerとexporter: コマンドラインユーティリティ ソースからビルドするには、最新の安定版Rustツールチェーンと、PATHにJava(組み込みのActionScript 3クラス用)が必要です。Linuxユーザーは、ALSA、udev、fontconfig、freetype、OpenSSLヘッダーなどの一般的な開発パッケージが必要です。デスクトップビルドはcargoで実行され、特定のSWFを引数として渡すことができます。macOSユーザーは、プロジェクトのHomebrew tapからHEADビルドをインストールできます。Webおよび拡張機能のビルドは、webディレクトリの指示に従います。Androidアプリは別のruffle-androidリポジトリにあります。 ライセンスはデュアルApache-2.0 / MITであり、貢献は同じ条件で受け入れられます。プロジェクトは行動規範を公開しており、コミュニティからの貢献を歓迎しています。