2015-01-07 2 views
3

Прежде всего, я не начал реализацию системы, которую я собираюсь описать, поскольку я не хотел совершать что-то, что я не знал, если это было возможно.Могу ли я звонить на API, такие как youtube-dl и ffmpeg, из хром-приложения?

Итак, я пытаюсь создать хром-приложение для загрузки аудио с определенных сайтов (например, youtube и soundcloud) с помощью youtube-dl, после этого обработайте его с помощью ffmpeg, а затем загрузите в облако обслуживание через некоторые api. Причина, по которой я хочу сделать это с помощью хром-приложения, - это то, что я мог выполнять всю работу на стороне клиента (нет необходимости в серверах), и у меня была бы возможность вставлять javascript на страницы с использованием сценариев контента, что сделало бы приложение довольно простое в использовании (я мог бы создавать такие кнопки, как «скачать песню» и тому подобное).

Хотя я уже прочитал документацию, объясняющую технический обзор NaCl и некоторые из структуры приложения, я до сих пор не уверен, смогу ли я совершать эти вызовы через некоторый модуль C/C++, или если бы я получил отказано по соображениям безопасности.

Подводя итог: учитывая, что у пользователя есть необходимые зависимости в его системе (youtube-dl, python, ffmpeg и т. Д.), Можно ли звонить в сторонние API, такие как описанные ранее через хром -app с использованием NaCl?

Благодарим вас заблаговременно,

+0

Относительно «не хотел совершать что-то, что я не знал, если бы это было возможно»: я часто сталкиваюсь с этой проблемой, поэтому я разрабатываю быстрый прототип, единственная цель которого - проверить сомнительный подход. Это намного безопаснее, чем любой ответ на SO, когда речь идет об избежании расточительных расходов на развитие обреченного дизайна. –

ответ

3

Приложения Chrome обычно изолированы песочницей.

Меньше, чем расширения - они могут получить гораздо больше ресурсов системы через API приложений.

Но все же вы упомянули , выполнив библиотеки/утилиты из браузера, и обычно это запрещено.

(P) NaCl плотно изолирован в этом отношении. См. this old question, он по-прежнему применяется: вы можете использовать только сторонний код, который компилируется в NaCl вместе с вашим приложением, а не только ссылку на библиотеку. В NaCl есть некоторые порты библиотеки, но они не автоматические.

Как правило, несколько лет назад вы использовали бы такой механизм, как NPAPI, чтобы протянуть руку и использовать библиотеку из браузера. Он устарел и больше не будет работать. На своем месте Chrome предлагает трубчатое (через stdio) соединение с внешней программой под названием Native Messaging. Вы можете использовать его для выполнения операций с библиотеками и инструментами на системном уровне, но недостатком является то, что вы не можете связать собственный хост с вашим приложением, вам понадобится отдельный установщик.

+0

Благодарим вас за информацию Xan. Я представил себе, что я столкнулся с проблемой, связанной с безопасностью, с этим дизайном. Что касается идеи использования Native Messaging, то причиной, по которой я хотел создать приложение с помощью NaCl, было, надеюсь, собрать все это вместе, но, как кажется, я бы сделал так, как хотелось, я просто вернусь к своему первому дизайну (используя веб-службу для получения информации от расширения хром). – ErickR

 Смежные вопросы

  • Нет связанных вопросов^_^