====== Утилиты ====== В разделе рассмотрены различные утилиты для создания локальных коллекций и оформления торрент-раздач. ===== Веб ===== ==== wget ==== Локальное зеркало веб-сайта: wget -e robots=off --relative --recursive --timestamping --page-requisites --convert-links --adjust-extension --no-remove-listing "url" ===== GIT ===== Собрать только измененные файлы в архив ''.zip'' - удобно для дополнений к раздачам при выпуске обновлений: zip modified-files.zip $(git ls-files --modified) ===== YouTube ===== ==== yt-dlp ==== [[https://github.com/yt-dlp/yt-dlp|yt-dlp]] - это форк известной CLI утилиты [[https://github.com/ytdl-org/youtube-dl|youtube-dl]], позволяющий загружать плейлисты и отдельные ролики с YouTube. API YouTube постоянно обновляется, и прежде чем приступить к загрузке контента, важно установить последнюю версию из исходников или загрузить готовую сборку в разделе [[https://github.com/yt-dlp/yt-dlp/releases|релизов]]. Создадим целевую директорию для загружаемого плейлиста: mkdir NAME cd NAME Загрузка осуществляется одной командой, по-умолчанию используется формат оригинала, на момент написания материала - [[https://ru.wikipedia.org/wiki/WebM|webm]] yt-dlp CHANNEL_URL|PLAYLIST_URL|VIDEO_URL По-умолчанию, будет загружена версия в максимально возможном качестве. Если нужно уменьшить размер файлов в релизе, например до 1080p, нужно указать дополнительный флаг: yt-dlp CHANNEL_URL|PLAYLIST_URL|VIDEO_URL -S res:1080 Чтобы загрузить весь канал и автоматически разложить видео по директориям с названием плей-листа, можно использовать флаг //output// и [[https://github.com/yt-dlp/yt-dlp#output-template-examples|макросы]], например: yt-dlp CHANNEL_URL/playlists -o '%(uploader)s/%(playlist)s/%(title)s.%(ext)s' Если нужно сохранить только аудио-дорожку, указываем флаг //extract-audio// или сокращенно - //x//\\ По-умолчанию, будет использован оригинальный аудио-кодек или opus, если нужно осуществить пост-конвертацию, например в mp3 или vorbis (ogg), добавляется флаг //audio-format//\\ Качество аудио указывается параметром //audio-quality// в значении от 0-10 (5 по-молчанию)\\ yt-dlp CHANNEL_URL|PLAYLIST_URL|VIDEO_URL --extract-audio --audio-format vorbis Узнать все доступные опции, можно командой yt-dlp --help В случае, если загрузка была прервана, при повторном запуске будет произведена проверка целостности файлов и загрузка продолжится с последнего успешно загруженного файла в плейлисте. === yt-dlp-web-ui === Локально-ориентированная графическая оболочка для загрузки в браузере: [[https://github.com/marcopeocchi/yt-dlp-web-ui]] ==== FreeTube ==== [[https://github.com/FreeTubeApp/FreeTube|FreeTube]] - это альтернативный клиент, с открытым исходным кодом, для приватного просмотра и загрузки видео с YouTube. Характерной особенностью проекта является возможность создания локальных коллекций и подписок, без передачи данных третьим лицам.\\ В качестве шлюза, используется случайная инстанция [[https://api.invidious.io/|Invidious]]. Интерфейс содержит инструменты для удобной загрузки субтитров, видео и аудео дорожек. На момент написания материала, к недостаткам можно отнести отсутствие возможности загружать видео в более высоком качестве, чем 720p/25fps\\ Поэтому проект больше подойдет для локального просмотра видео YouTube без наличия аккаунта, рекламы а также без географических ограничений. ~~DISCUSSION~~