«Invidious» — это веб-фронтенд (грубо говоря, веб-клиент) для сайта YouTube. Код проекта написан на языке программирования Crystal, использует СУБД PostgreSQL и распространяется под свободной лицензией AGPLv3+.
Немного о становлении проекта
На данный момент, Invidious развивается уже более года (для сравнения: языку Crystal более четырех лет), но только в июле прошлого года, его автор, Омар Рот (Omar Roth) анонсировал свой проект на на Reddit, чем практически сразу привлек к нему некоторое внимание, поскольку вскоре после этого, наиболее популярный аналог — веб-сервис HookTube — прекратил свою "нормальную" работу, в связи с поступившими со стороны Google юридическими требованиями (а ведь всего за неделю до этого события, на хабре появилось первое упоминание этого сервиса!). Основным "предназначением" HookTube было проксирование пользовательских запросов к серверам Google (YouTube), что хоть и улучшало приватность пользователей, а также позволяло им смотреть и скачивать любые видео (в т.ч. имеющие географические ограничения, например), по понятным причинам, не особо нравилось Google. А так как HookTube полностью полагался в своей работе на официальный YouTube API (в отличии того же Invidious), то Google не составило труда запретить HookTube использовать его таким "наглым" образом. После чего, разумеется, накатилась волна возмущений со стороны пользователей сервиса (да, особенно, на Reddit). И хотя HookTube и поныне продолжает свою работу, он, по словам самого автора, стал теперь не более, чем легковесной версией YouTube, бесполезной для 90% своих былых пользователей. В итоге, популярность сервиса стала падать, а многие обеспокоенные такими переменами пользователи обратили внимание на появившийся как раз вовремя Invidious, о котором далее и пойдет речь.
Основные особенности
Автор проекта придерживается ежемесячного цикла выпуска релизов, которые не являются приуроченными к чему-либо ещё, кроме времени выхода (11 числа каждого месяца), и направлены на обеспечение администраторов своих собственных "инстансов" Invidious более-менее актуальными и стабильными "срезами" исходного кода, а в остальном, имеют скорее формальное значение. Поэтому перейдем к наиболее интересным характеристикам и возможностям Invidious, имеющимся на сегодня, на момент выпуска 14-го релиза проекта.
- Отсутствует реклама;
- Self-hosted (т.е. может быть установлен на своём сервере);
- Легковесный дизайн и наличие темной темы оформления;
- Возможность подписки на YouTube-каналы;
- Для использования не требуется иметь Google-аккаунт;
- Не использует официальный YouTube API (подобно таким проектам как youtube-dl и NewPipe);
- Для работы не требуется включение несвободного JavaScript, а большинство функций не требуют включения JS вовсе;
- Возможность сохранения и редактирования истории просмотра;
- Режим экономии интернет-трафика и аудио-режим (подходит в т.ч. и для фонового воспроизведения на мобильных устройствах);
- Поддержка RSS (для YouTube-каналов и пользовательских лент-подписок);
- Интерфейс полностью локализован на русский, итальянский, французский, немецкий и арабский языки (WIP);
- Возможность встройки видео с Invidious на страницы других сайтов. Как непосредственно, так и с YouTube (при помощи специального userjs-скрипта);
- Поддержка чтения комментариев к видео, написанных на YouTube и/или Reddit;
- Позволяет задать настройки воспроизведения по-умолчанию (скорость, качество, субтитры и т.д.);
- Возможность импорта/экспорта подписок (в т.ч. в формате NewPipe), истории просмотра и настроек;
- Обход блокировок, в случае, если видео недоступно для страны пользователя;
- Доступна расширенная статистическая информация о видео: точный рейтинг, процент вовлеченности, Wilson score.
Также стоит отметить, что Invidious предоставляет свой собственный API для разработчиков. На данный момент, Invidious API использует приложение FreeTube, музыкальный плеер MusicPiped и веб-сайт CloudTube. Поддержка Invidious была добавлена в youtube-dl версии 2019.02.18.
В скором времени ожидается поддержка полностью отключенных (15 января) компанией Google аннотаций к видео на YouTube. Это стало возможным благодаря тому, что силами сообщества был предварительно создан архив аннотаций для около 1.4 млрд. видео.
TL;DR. Дайте уже попробовать!
Функционирует несколько "инстансов" Invidious, включая официальный Invidio.us (заблокирован на территории РФ; имеет зеркало в сети Tor), финансовая поддержка которого обеспечивается пожертвованиями пользователей. Доступны пользовательские инстансы:
Желающие быстро установить Invidious на сервер с Ubuntu, Debian или CentOS, могут сделать это при помощи скрипта Invidious-Updater.
Комментарии (24)
shaukote
27.02.2019 18:45+2Насколько я понимаю, с точки зрения EULA YouTube это абсолютно нелегально?
xdimquax Автор
27.02.2019 19:22HookTube и ProTube (был такой клиент для iOS) использовали Google API, нарушая ToS, и имели единую точку отказа (закрытый код). Invidious и подобные проекты парсят исходный код веб-сайтов (YouTube, Soundcloud) на предмет получения нужной информации, т.е. это по-сути веб-браузеры (в широком смысле), вряд ли им есть что предъявить (иначе, давно пора).
И чтобы прекратить работу веб-сервиса (или другой программы) с открытым кодом необходимо засудить всех его пользователей. Что сделать проблематично, и прецендетов подобных пока не было, насколько я знаю.
Sirion
27.02.2019 19:43Для работы не требуется включение несвободного JavaScript, а большинство функций не требуют включения JS вовсе;
Это очень мило. Сервис, лишающий ютуб прибыли, считает важным не нарушать заветы пресвятого Столлмана. Есть в этом что-то от воровских «понятий».
З.Ы. Не сторонник монополии гугла и анального копирайта. Просто сочетание показалось смешным.MIKEk8
28.02.2019 14:23+1«Мы не бандиты, мы благородные пираты!»
Сам я не против пиратства, и за свободное ПО, но факт остаётся фактом, выглядит это странно и не справедливо по отношению к ютубу.
Хотите пиратеть, так пиратьте (т.е. копируйте с ютуба и распростроняйте через свои каналы), а использовать сервера ютуба и ему за это не платить, это больше на воровство похоже.xdimquax Автор
28.02.2019 14:44копируйте с ютуба и распростроняйте через свои каналы
А при скачивании видео с ютуба, его сервера не используются и нагрузка на них не создается? Не будь этого проекта, люди бы качали другими способами, только и всего.
использовать сервера ютуба и ему за это не платить, это больше на воровство похоже
Этак можно и использование Adblock-а к воровству приравнять. Да и кто сказал, что пользователи, уважающие свою приватность, желают (стали бы) поддерживать Google?MIKEk8
28.02.2019 15:19А при скачивании видео с ютуба, его сервера не используются и нагрузка на них не создается?
Явна нагрузка на них будет в N раз меньше? Чем если каждый из N пользователей этого приложения будет грузить с ютуба. Но тут укладывается в рамки пиратства: т.к. Я качаю для себя (в случае с софтом, я покупаю для себя), а потом раздаю бесплатно.
Приведу пример как я это себе представляю. Есть салон проката видео касет.
Ютуб — это курьер который вам привозит эти касеты за %от их стоимости.
Они стоя — просмотр рекламы.
Пиратство — Это вы взяли касету и посмотрели рекламу, но её пока не вернули, а дали другу.
Adblock — это вы заказал касету, посмотрели её, но не оплатили, видеопрокат в таком случае спокойно может что-то предпринять для невозможности просмотра до оплаты.
А Invidious — это возможность заказать касету, посмотреть её и не оплатить, в полностью автоматическом режиме, и без возможности видеопрокату что либо вам сделать без того чтобы что-то сломать у других.xdimquax Автор
28.02.2019 15:39Явна нагрузка на них будет в N раз меньше?
Да, если кто-то создаст зеркало ютуба, но его нет, и вряд ли какому-нибудь СПО-проекту это будет по силам когда-нибудь (даже при желании). Invidio.us так вообще едва на месячный хостинг хватает. Тем более, что DASH-форматы (1080p и выше) в Invidious проксируются через сервер, что создает дополнительную нагрузку.
До появления Invidious, мне приходилось использовать костыли вида "youtube-dl+mpv+tor+rss-клиент", теперь эта необходимость отпала.
NeonXP
28.02.2019 15:21Этак можно и использование Adblock-а к воровству приравнять.
А разве нет? Сайт предоставляет контент взамен на просмотр рекламы (альтернативная форма оплаты контента). Пользователь контент берет, а рекламу не смотрит (не платит == ворует). С другой стороны абсолютное свинство было бы, если пользователь платит реальными деньгами и ему показывают еще и рекламу, но такого я не припомню.
P.S. очень пригорает от отзывов во всяких аппсторах и гуглоплеях вида «А сделайте чтобы было бесплатно» или «А уберите рекламу». Не нравится? Не используешь.johnfound
28.02.2019 17:47Не сайт, а посетители сайта предоставляют контент.
NeonXP
01.03.2019 17:00+1В общем случае — нет. Какой контент предоставляет средний посетитель?
В случае ютуба — ютуб предоставляет площадку для распространения контента. Площадка эта тоже далеко не три копейки стоит. Оплачивается рекламой. Более того, конкретно ютуб доходом с рекламы делится с непосредственно производителем контента.
Так что да, любители адблоков как раз таки воруют прибыль как у площадки, так и у автора контента.
lakroft
28.02.2019 08:35Не использует официальный YouTube API (подобно таким проектам как youtube-dl и NewPipe);
В описании NewPipe на github говорится, что он не использует YouTube API, а парсит сайт.
jazzl0ver
28.02.2019 13:40> Обход блокировок, в случае, если видео недоступно для страны пользователя;
Возможно, это другой вид блокировки, но вот такая ссылка не открывается:
invidio.us/playlist?list=PL_V3fvFdQjW_CviJeXA78KQNkKLTzq_KL
«This video contains content from Kedoo Entertainment, who has blocked it on copyright grounds. „
jazzl0ver
28.02.2019 14:52Похоже, основная часть урля (v=...) куда-то пропала, сорри. Еще раз:
invidious.snopyta.org/watch?v=C2cum9M5CMw&list=PL_V3fvFdQjW_CviJeXA78KQNkKLTzq_KLxdimquax Автор
28.02.2019 17:06Автор ответил, что когда это возможно (пока он не и сам не понял, когда именно), такие блоки Invidious обходит. Видимо, не тот случай.
nlykl
28.02.2019 16:08Ещё есть Tonvid.com и кроссплатформенный плеер SMTube, который позволяет смотреть Youtube на старых слабых компьютерах.
masiama
28.02.2019 16:27Попробовал залогиниться через Google аккаунт на invidio.us (просит логин, пароль и код), потом пришло мыло об critical security alert от гугла
xdimquax Автор
28.02.2019 16:31Не слышал раньше о таком, но на всякий случай, лучше на при помощи Google-аккаунта не логиниться (если это не фейк). Можно создать аккаунт Invidious, а затем его удалить (что позволит его потом опять зарегистрировать на сервере).
xdimquax Автор
28.02.2019 17:18До меня дошло. Видимо, подключение было через VPN, Tor или другой прокси, вот Google и запаниковал.
amarao
Как быстро youtube сломает совместимость с этим плеером?
shaukote
В целом, мне кажется, что поддерживать небольшие изменения в YouTube не слишком сложно (вопрос желания автора), а глобально переделать архитектуру YouTube Google себе вряд ли может позволить.
Не исключаю, что проще будет решить проблему юридическими методами, чем инженерными. Или просто плюнуть, если процент пользователей там будет слишком мизерный.