onebox でメディアのダウンロードを無効にする

こんにちは、オーディオのダウンロードを無効にするオプションがあることに気づきました。

onebox/lib/onebox/engine/audio_onebox.rb at main · discourse/onebox · GitHub

<audio controls="#{@options[:disable_media_download_controls] ? 'controlslist="nodownload"' : ""}">

と、

discourse/lib/oneboxer.rb at 03998e0a299b7ae89678e2854e3abf84bd6ef132 · discourse/discourse · GitHub

disable_media_download_controls: SiteSetting.disable_onebox_media_download_controls,

そこで、以下のように記述しようとしました。

./launcher enter app
rails c
SiteSetting.disable_onebox_media_download_controls=true

また、こちらでも

vi containers/app.yml
paramsの下:
disable_media_download_controls: true
disable_onebox_media_download_controls: true
envの下:
DISCOURSE_DISABLE_ONEBOX_MEDIA_DOWNLOAD_CONTROLS: true

しかし、onebox の「ダウンロード」オプションからオーディオをダウンロードできてしまいます。どなたか助けていただけますか?よろしくお願いします。

「いいね!」 1

ダウンロードが無効になっている場合、オーディオをどのように聞けばよいかわかりません。

ダウンロードオプションは、最後にある3つのドットをクリックすると表示されます。この投稿の画像を参照してください。

私が望むのは、明示的なダウンロードオプションを非表示/無効にすることですが、人々がオーディオを聴くためにこれを使用できるようにすることです。

まだ理解できません。Discourse はストリーミングできないため、オーディオファイルは聞くためにダウンロードする必要があります。それとも私が完全に間違っていますか?

それとも、ユーザーがデバイスにどこに保存すべきか尋ねられないために、ダウンロードしていることを知らない場合にダウンロードを許可しますか?

それでも、録音でオーディオを保存することもできます :wink:

すみません。何も助けになりませんが、なぜ、何を、どこで、そしてすべてを理解したいです :rofl:

私の非常に弱い点は、そのような無効化の試みが成功することはめったにない、または必要ないということです。しかし、それが可能であれば結構です。

「いいね!」 1

明示的なダウンロードオプションを許可すると、オーディオ/ビデオコンテンツが他の場所で保存/使用/商業化される可能性があり、そのような知的財産が適切に認可されていない場合があります。したがって、明示的なダウンロードオプションを無効にするオプションをデフォルトにするのが賢明でしょう。

設定/コードレベルでこれを達成する方法を教えていただけますか。よろしくお願いします。

使ったことはありませんが、このトピックのどれかが役に立ちますか?

「いいね!」 1

ウェブサイト(Discourseを使用)自体に関しては、将来的なIP関連の問題を回避することが重要です。著者がTCや何らかのテーマを使用していたとしても、IPの侵害はウェブサイトに潜在的な損害などを与える可能性があります。ウェブサイトがそれとは関係ないように見えても、単に交換のチャネルとして機能しているだけで、弁護士が別の考えを持つ可能性があります。

したがって、明示的なダウンロードオプションを無効にすることは非常に役立つでしょう。YouTubeのようなほとんどの大規模なウェブサイトには、そのようなオプションが表示されないからです。これを実現するためのコード/設定について、どなたか手伝っていただけますでしょうか。

「いいね!」 1

その後、ローカルオーディオを含む投稿を再ベイクまたは編集する必要があります。試しましたか?

「いいね!」 1

投稿を再ベイクまたは編集するにはどうすればよいですか?

投稿の「」ボタンをクリックし、次に「:wrench:」ボタンをクリックしてから、「HTMLの再構築」をクリックします。

「HTMLの再構築」は完了しましたが、「ダウンロード」オプションがまだあります。

これをテストしましょう:

![614107_11861866-lq|audio](upload://jq0kR3R4YPrn1kM48EL33oVgjT8.mp3)

https://d11a6trkgmumsb.cloudfront.net/original/3X/8/8/8819dba2a51ca9f987e93d64dfe823161141d0f6.mp3

2つ目は機能します(ダウンロードオプションなし)、ただし1つ目はまだあります。

なるほど、サイト設定はoneboxにのみ影響するため、技術的にはoneboxではない最初のタイプではなく、2番目のタイプのオーディオにのみ影響するのですね。

最初のケースを機能させるために、他に何をする必要がありますか?

「いいね!」 1

コードを詳しく見たい場合は、こちらから取得できます。

そのコンテキストでサイト設定を何らかの方法で受信し、処理する必要があります。

「いいね!」 2

ハードコードのクイックフィックスとして、以下を試しました。

./launcher enter app
vi app/assets/javascripts/pretty-text/addon/engines/discourse-markdown-it.js

そして、以下に controlsList="nodownload" を追加しました。
controlsList="nodownload"controls に追加しました。
controlscontrolsList="nodownload" を追加しました。

controlscontrolsList="nodownload" を追加しました。
controlscontrolsList="nodownload" を追加しました。
controlscontrolsList="nodownload" を追加しました。
controlscontrolsList="nodownload" を追加しました。
controlscontrolsList="nodownload" を追加しました。
controlscontrolsList="nodownload" を追加しました。
controlscontrolsList="nodownload" を追加しました。
controlscontrolsList="nodownload" を追加しました。
controlscontrolsList="nodownload" を追加しました。
controlscontrolsList="nodownload" を追加しました。
controlscontrolsList="nodownload" を追加しました。
controlscontrolsList="nodownload" を追加しました。
controlscontrolsList="nodownload" を追加しました。
controlscontrolsList="nodownload" を追加しました。
controlscontrolsList="nodownload" を追加しました。
controlscontrolsList="nodownload" を追加しました。
controlscontrolsList="nodownload" を追加しました。
controlscontrolsList="nodownload" を追加しました。
controlscontrolsList="nodownload" を追加しました。
controlscontrolsList="nodownload" を追加しました。
controlscontrolsList="nodownload" を追加しました。
controlscontrolsList="nodownload" を追加しました。
controlscontrolsList="nodownload" を追加しました。
controlscontrolsList="nodownload" を追加しました。
controlscontrolsList="nodownload" を追加しました。
controlscontrolsList="nodownload" を追加しました。
controlscontrolsList="nodownload" を追加しました。
controlscontrolsList="nodownload" を追加しました。
controlscontrolsList="nodownload" を追加しました。
controlscontrolsList="nodownload" を追加しました。
controlscontrolsList="nodownload" を追加しました。
controlscontrolsList="nodownload" を追加しました。
controlscontrolsList="nodownload" を追加しました。
controlscontrolsList="nodownload" を追加しました。
controlscontrolsList="nodownload" を追加しました。
controlscontrolsList="nodownload" を追加しました。
controlscontrolsList="nodownload" を追加しました。
controlscontrolsList="nodownload" を追加しました。
controlscontrolsList="nodownload" を追加しました。
controlscontrolsList="nodownload" を追加しました。
controlscontrolsList="nodownload" を追加しました。
controlscontrolsList="nodownload" を追加しました。
controlscontrolsList="nodownload" を追加しました。
controlscontrolsList="nodownload" を追加しました。
controlscontrolsList="nodownload" を追加しました。
controlscontrolsList="nodownload" を追加しました。
controlscontrolsList="nodownload" を追加しました。
controlscontrolsList="nodownload" を追加しました。
controlscontrolsList="nodownload" を追加しました。
controlscontrolsList="nodownload" を追加しました。
controlscontrolsList="nodownload" を追加しました。
controlscontrolsList="nodownload" を追加しました。
controlscontrolsList="nodownload" を追加しました。

それは、私たちの非常に複雑なアセットパイプラインによってJSがコンパイルされるため、機能しません。

迅速かつハッキーなソリューションが必要な場合は、decoratedCookedコールバックをリッスンし、audio要素を変更するテーマコンポーネントが最善の策です。これは、Discourseテーマ開発者ガイドで学習できます。

「いいね!」 1