プラグインのインストールと管理
マニフェスト URL から、サードパーティのディスプレイとエフェクトを Astrofox に追加します。
プラグインは、ディスプレイとエフェクトで Astrofox を拡張します。プラグインは astrofox.plugin.json マニフェストの URL からインストールし、追加メニューに組み込みの項目と並んで表示されます。
プラグインをインストールする#
プラグインの作者から、astrofox.plugin.json への直接の HTTPS URL を入手します。ローカル開発用の URL では、localhost 上で HTTP を使用できます。
アクションレールで Manage plugins を選択し、URL からプラグインを追加する操作を選びます。
名前、作者、ソース、ランタイム、要求しているホストライブラリ、権限を確認します。ネットワークアクセスを要求するプラグインは、ワーカーから外部への接続を行うことができます。
インストールを確定します。プラグインは、マニフェストの種類に応じて、Display または Effect の追加メニューで利用できるようになります。
セキュリティモデル#
Astrofox は、インストールしたプラグインのファイルをローカルにキャッシュし、SHA-384 の整合性ハッシュで固定(ピン留め)します。ソース URL に再度アクセスするのは、明示的にプラグインをアップデートしたときだけです。localhost からの開発用インストールは開発用プラグインとして扱われ、作業中に再読み込みできるよう整合性の固定はスキップされます。
JavaScript プラグインは、Content Security Policy が適用された専用の Web Worker 内で実行されます。DOM にはアクセスできず、任意のリモートコードをインポートすることもできません。また、マニフェストで network 権限を要求しない限り、ネットワークを使用できません。
整合性の固定は、インストール済みのバージョンが知らないうちに変更されることを防ぎますが、未知のコードを信頼できるものにするわけではありません。プラグインをインストールする前に、ソースと要求されている権限を確認してください。
アップデート、再読み込み、削除#
- Update は、マニフェストとファイルを再取得し、新しいバージョンを確認用に表示します。
- Reload は、ローカルファイルの変更後に開発用プラグインを再読み込みします。
- Remove は、Astrofox からプラグインの登録を解除します。そのプラグインに依存する既存のプロジェクト要素は、再度インストールするまでレンダリングされません。
プロジェクトで不足しているプラグイン#
プロジェクトには、各プラグインの名前空間付き ID、ソース URL、バージョンが保存されます。プロジェクトが見つからないプラグインを参照している場合、Astrofox は必要なものを一覧表示し、インストールを提案します。インストール後にプロジェクトを開き直すと、要素が通常どおり作成されます。
独自のプラグインを作りたい場合は、プラグインの作成から始めましょう。
