3

まず第一に、これから説明するシステムの実装を開始していません。可能かどうかわからないものの実装にコミットしたくなかったからです。

だから、私が達成しようとしているのは、youtube-dlを使用して特定のWebサイト(YouTubeやsoundcloudなど)からオーディオをダウンロードし、ffmpegを使用して後処理し、APIを介してクラウドサービスにアップロードするクロムアプリを構築することです. 私がクロムアプリを介してそれをしたい理由は、クライアント側ですべての作業を行うことができ(サーバーは必要ありません)、コンテンツスクリプトを使用してJavaScriptをページに挿入できるためです。このアプリは非常に使いやすいです (「曲をダウンロード」などのボタンを作成できます)。

NaCl 技術概要とアプリケーション構造の一部を説明するドキュメントを既に読みましたが、C/C++ モジュールを介してこれらの呼び出しを行うことができるかどうか、またはセキュリティのために拒否されるかどうかについてはまだわかりません。理由。

要約すると、ユーザーが自分のシステムに必要な依存関係 (youtube-dl、python、ffmpeg など) を持っていることを考慮すると、NaCl を使用して chrome-app 経由で前述のようなサードパーティ API を呼び出すことは可能ですか? ?

よろしくお願いします。

4

1 に答える 1

3

通常、Chrome アプリはサンドボックス化されています。

拡張機能ほどではありませんが、アプリ API を介してより多くのシステム リソースにアクセスできます。

それでも、あなたが言及しているのは、ブラウザからライブラリ/ユーティリティを実行することであり、通常は許可されていません。

(P)NaCl は、この点で厳密にサンドボックス化されています。この古い質問を参照してください。これはまだ適用されます。ライブラリにリンクするだけでなく、アプリとともに NaCl にコンパイルされるサードパーティ コードのみを使用できます。NaCl へのライブラリ ポートがいくつかありますが、自動ではありません。

通常、数年前までは、NPAPI のようなメカニズムを使用して、ブラウザーからアクセスしてライブラリーを使用していました。これは非推奨であり、今後は機能しません。その代わりに、Chrome はNative Messagingと呼ばれる外部プログラムへの (stdio を介した) パイプのような接続を提供します。これを使用してシステム レベルのライブラリとツールで操作を実行できますが、欠点は、ネイティブ ホストをアプリにバンドルできないことです。別のインストーラーが必要になります。

于 2015-01-08T15:32:55.107 に答える