# Отключить загрузку медиа в onebox

**URL:** https://meta.discourse.org/t/disable-media-download-in-onebox/214777
**Category:** Support
**Created:** [13.Январь.2022 19:16:56 UTC](https://meta.discourse.org/t/disable-media-download-in-onebox/214777 "2022-01-13T19:16:56Z")
**Posts on this page:** 18
**Page:** 1

<div class="post-metadata">

### Author: ![martin9973](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/martin9973/32/246251_2.png) [@martin9973](https://meta.discourse.org/u/martin9973)
#### Post date: [13.Январь.2022 19:16:56 UTC](https://meta.discourse.org/t/disable-media-download-in-onebox/214777/1 "2022-01-13T19:16:56Z")

</div>

Здравствуйте! Я заметил, что есть возможность отключить загрузку аудио:

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

в файле [onebox/lib/onebox/engine/audio\_onebox.rb at main · discourse/onebox · GitHub](https://github.com/discourse/onebox/blob/main/lib/onebox/engine/audio_onebox.rb)

и

`disable_media_download_controls: SiteSetting.disable_onebox_media_download_controls,`

в файле [discourse/lib/oneboxer.rb at 03998e0a299b7ae89678e2854e3abf84bd6ef132 · discourse/discourse · GitHub](https://github.com/discourse/discourse/blob/03998e0a299b7ae89678e2854e3abf84bd6ef132/lib/oneboxer.rb)

Поэтому я попробовал настроить это следующим образом:

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

```

а также здесь:

```plaintext
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. Кто-нибудь может помочь? Большое спасибо.

---

<div class="post-metadata">

### Author: ![Jagster](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jagster/32/192154_2.png) [@Jagster](https://meta.discourse.org/u/Jagster)
#### Post date: [13.Январь.2022 20:27:55 UTC](https://meta.discourse.org/t/disable-media-download-in-onebox/214777/2 "2022-01-13T20:27:55Z")

</div>

Не знаю, но как тогда прослушивать аудио, если скачивание отключено?

---

<div class="post-metadata">

### Author: ![martin9973](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/martin9973/32/246251_2.png) [@martin9973](https://meta.discourse.org/u/martin9973)
#### Post date: [13.Январь.2022 20:33:55 UTC](https://meta.discourse.org/t/disable-media-download-in-onebox/214777/3 "2022-01-13T20:33:55Z")

</div>

Если нажать на три точки в конце, появится возможность загрузки: см. скриншот из этого поста:

> [@Native audio player](https://meta.discourse.org/t/native-audio-player/82550/2?u=martin9973):
>
> Should work That is ![crowd-cheering|audio](upload://1S0emZY56PQCpG8ftu9URpV3M1d.mp3)

Мне нужно скрыть или отключить явную опцию загрузки, при этом пользователи должны оставаться возможность прослушивать аудио.

---

<div class="post-metadata">

### Author: ![Jagster](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jagster/32/192154_2.png) [@Jagster](https://meta.discourse.org/u/Jagster)
#### Post date: [13.Январь.2022 20:42:48 UTC](https://meta.discourse.org/t/disable-media-download-in-onebox/214777/4 "2022-01-13T20:42:48Z")

</div>

Я всё ещё не понимаю. Discourse не поддерживает потоковую передачу, поэтому аудиофайл должен быть скачан для прослушивания. Или я полностью ошибаюсь?

Или вы допускаете скачивание, когда пользователь не знает, что происходит скачивание, потому что устройство не спрашивает, куда сохранить файл?

Тем не менее, это аудио всё равно можно сохранить через запись 😉

Извините — я не помогаю, но мне бы хотелось понять, почему, что, где и вообще всё 🤣

Моя самая слабая сторона в том, что попытки отключить такие функции редко бывают успешными или вообще нужны. Но ладно, если это возможно.

---

<div class="post-metadata">

### Author: ![martin9973](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/martin9973/32/246251_2.png) [@martin9973](https://meta.discourse.org/u/martin9973)
#### Post date: [13.Январь.2022 20:47:07 UTC](https://meta.discourse.org/t/disable-media-download-in-onebox/214777/5 "2022-01-13T20:47:07Z")

</div>

Если вы предоставляете явную опцию загрузки, то аудио- или видеоконтент может быть сохранён, использован или коммерциализирован в других местах, где права на интеллектуальную собственность могут быть не должным образом оформлены. Поэтому, вероятно, разумно установить по умолчанию отключение явной опции загрузки.

Подскажите, пожалуйста, как это реализовать на уровне настроек или кода. Спасибо.

---

<div class="post-metadata">

### Author: ![JammyDodger](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jammydodger/32/254611_2.png) [@JammyDodger](https://meta.discourse.org/u/JammyDodger)
#### Post date: [13.Январь.2022 20:53:16 UTC](https://meta.discourse.org/t/disable-media-download-in-onebox/214777/7 "2022-01-13T20:53:16Z")

</div>

Я этим не пользовался, но может что-то из этой темы вам поможет?

> [@Add copyright protection to tagged topics](https://meta.discourse.org/t/how-to-make-copyright-copy-protected-content/208970):
>
> Hello, Many of our Member have quality topics, blog articles etc… Unfortunately others steal these (and make it public other sites as their own without any source) even if the author says clearly. “I only write it to this site please don’t steal it…If you want to use this content please contact me before.” We had to do something because our authors are simply discouraged from creating new quality contents. We don’t want to make the forum closed (private) because many visitor read these contents…

---

<div class="post-metadata">

### Author: ![martin9973](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/martin9973/32/246251_2.png) [@martin9973](https://meta.discourse.org/u/martin9973)
#### Post date: [13.Январь.2022 21:36:53 UTC](https://meta.discourse.org/t/disable-media-download-in-onebox/214777/8 "2022-01-13T21:36:53Z")

</div>

Что касается самого веб-сайта (на базе Discourse), важно избежать любых будущих проблем, связанных с интеллектуальной собственностью. Даже если автор использует TC или какую-либо тему, любое нарушение прав на интеллектуальную собственность может сделать веб-сайт ответственным за возможный ущерб и т. д. Даже если веб-сайт, казалось бы, не имеет к этому никакого отношения, поскольку он служит каналом обмена, некоторые юристы могут думать иначе.

Поэтому отключение явной опции загрузки должно быть весьма полезным, так как вы не увидите такой опции на большинстве крупных сайтов, таких как YouTube. Не могли бы вы помочь с кодом или настройками для реализации этого?

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [13.Январь.2022 21:48:56 UTC](https://meta.discourse.org/t/disable-media-download-in-onebox/214777/9 "2022-01-13T21:48:56Z")

</div>

> [@martin9973](#):
>
> Итак, я попытался записать это с помощью
> 
> ```plaintext
> ./launcher enter app
> rails c
> SiteSetting.disable_onebox_media_download_controls=true
> 
> ```

После этого вам нужно будет пересобрать пост или отредактировать его с локальным аудио. Вы пробовали это сделать?

---

<div class="post-metadata">

### Author: ![martin9973](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/martin9973/32/246251_2.png) [@martin9973](https://meta.discourse.org/u/martin9973)
#### Post date: [13.Январь.2022 22:47:06 UTC](https://meta.discourse.org/t/disable-media-download-in-onebox/214777/11 "2022-01-13T22:47:06Z")

</div>

Как переопубликовать или отредактировать пост?

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [13.Январь.2022 22:48:14 UTC](https://meta.discourse.org/t/disable-media-download-in-onebox/214777/12 "2022-01-13T22:48:14Z")

</div>

Нажмите кнопку … в посте, затем на кнопку 🔧 и, наконец, на «Пересобрать HTML»

---

<div class="post-metadata">

### Author: ![martin9973](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/martin9973/32/246251_2.png) [@martin9973](https://meta.discourse.org/u/martin9973)
#### Post date: [13.Январь.2022 22:51:54 UTC](https://meta.discourse.org/t/disable-media-download-in-onebox/214777/14 "2022-01-13T22:51:54Z")

</div>

«Восстановление HTML» завершено, но опция «Скачать» всё ещё доступна.

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [13.Январь.2022 22:58:52 UTC](https://meta.discourse.org/t/disable-media-download-in-onebox/214777/15 "2022-01-13T22:58:52Z")

</div>

Давайте проверим это:

`![614107_11861866-lq|audio](upload://jq0kR3R4YPrn1kM48EL33oVgjT8.mp3)`  
[https://global.discourse-cdn.com/meta/original/3X/8/8/8819dba2a51ca9f987e93d64dfe823161141d0f6.mp3](https://global.discourse-cdn.com/meta/original/3X/8/8/8819dba2a51ca9f987e93d64dfe823161141d0f6.mp3)

` https://global.discourse-cdn.com/meta/original/3X/8/8/8819dba2a51ca9f987e93d64dfe823161141d0f6.mp3`  
[https://global.discourse-cdn.com/meta/original/3X/8/8/8819dba2a51ca9f987e93d64dfe823161141d0f6.mp3](https://global.discourse-cdn.com/meta/original/3X/8/8/8819dba2a51ca9f987e93d64dfe823161141d0f6.mp3)

---

<div class="post-metadata">

### Author: ![martin9973](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/martin9973/32/246251_2.png) [@martin9973](https://meta.discourse.org/u/martin9973)
#### Post date: [13.Январь.2022 23:03:56 UTC](https://meta.discourse.org/t/disable-media-download-in-onebox/214777/16 "2022-01-13T23:03:56Z")

</div>

Второй вариант работает (нет опции загрузки), но первый всё ещё имеет.

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [13.Январь.2022 23:04:19 UTC](https://meta.discourse.org/t/disable-media-download-in-onebox/214777/17 "2022-01-13T23:04:19Z")

</div>

А, я понял. Настройки сайта влияют только на onebox, поэтому это касается только второго типа аудио, а не первого, так как он технически не является onebox.

---

<div class="post-metadata">

### Author: ![martin9973](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/martin9973/32/246251_2.png) [@martin9973](https://meta.discourse.org/u/martin9973)
#### Post date: [13.Январь.2022 23:04:57 UTC](https://meta.discourse.org/t/disable-media-download-in-onebox/214777/18 "2022-01-13T23:04:57Z")

</div>

Что еще нужно сделать, чтобы первый случай заработал?

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [13.Январь.2022 23:06:58 UTC](https://meta.discourse.org/t/disable-media-download-in-onebox/214777/19 "2022-01-13T23:06:58Z")

</div>

Если вы хотите углубиться в код, откуда он берётся:

> <https://github.com/discourse/discourse/blob/c2afc3915b8d533858849c7973de6e1038c81245/app/assets/javascripts/pretty-text/addon/engines/discourse-markdown-it.js#L165-L173>

Вам каким-то образом нужно получить настройку сайта в этом контексте и обработать её.

---

<div class="post-metadata">

### Author: ![martin9973](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/martin9973/32/246251_2.png) [@martin9973](https://meta.discourse.org/u/martin9973)
#### Post date: [14.Январь.2022 00:12:35 UTC](https://meta.discourse.org/t/disable-media-download-in-onebox/214777/20 "2022-01-14T00:12:35Z")

</div>

Как временное решение в коде я попробовал:

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

```

и добавить

`controlsList="nodownload"`

к

`<audio preload="metadata" controls>`

а затем

`./launcher restart app`

но опция «Скачать» всё ещё доступна. Мне нужно пересобрать приложение?

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [14.Январь.2022 00:37:34 UTC](https://meta.discourse.org/t/disable-media-download-in-onebox/214777/21 "2022-01-14T00:37:34Z")

</div>

Это не сработает, так как JS компилируется нашим довольно сложным конвейером ресурсов.

Если вам нужно быстрое и не совсем элегантное решение, лучший вариант — компонент темы, который слушает наш обратный вызов `decoratedCooked` и изменяет элемент `audio`. Подробнее об этом вы можете узнать в [Руководстве разработчика по темам Discourse](https://meta.discourse.org/t/developer-s-guide-to-discourse-themes/93648)
