Скачивай видео прямо из терминала, и никакой рекламы

02 окт 2026
2,882
272
24
2 месяца
yoinks

Помню, как искал способ скачать себе лекцию с YouTube. Открыл первый сайт из выдачи, нажал большую зелёную кнопку «Download», а оттуда полезли попапы, редиректы и предложение установить какую-то «оптимизацию браузера». Классика. Такие сайты живут за счёт того, что ты кликаешь не туда, и делают всё, чтобы ты кликнул не туда.

yoinks решает эту проблему радикально. Никаких сайтов, никакой рекламы. Только терминал, ссылка и пара нажатий клавиш.

Что это такое

Это консольная утилита, которая скачивает видео отовсюду. Автор описывает её принцип тремя словами: «yoink any video. paste. yoink. done». Вставляешь ссылку, выбираешь разрешение, готово.

Под капотом работает yt-dlp, а значит список поддерживаемых площадок огромный: YouTube, X/Twitter, Instagram, Threads, TikTok и ещё больше 1800 сайтов. Отдельно радует, что никаких подозрительных баннеров и фейковых кнопок здесь просто не может быть по определению. Утилита живёт в терминале, где рекламе взяться неоткуда.

Интересно, что это ещё и хороший пример того, как далеко зашёл мир терминальных интерфейсов. Об этом ниже.

Реклама

Установка в одну строку

Проще всего поставить глобально через npm:

npm install -g yoinks

Если не хочется ничего ставить, можно запустить через npx:

npx yoinks

Нужен Node 18 или новее. Всё остальное подтянется само. При первом запуске yoinks скачает бинарник yt-dlp в ~/.yoinks/bin, причём без всякого Python. Если yt-dlp у тебя уже установлен, утилита воспользуется твоим. ffmpeg, который нужен для склейки высококачественных потоков и вытаскивания mp3, ищется в PATH, а если не найдётся, подставится встроенная сборка ffmpeg-static.

То есть на выходе получаем установку, которая не заставляет тебя читать документацию на 20 экранов перед первым запуском. Уважаю.

Как это выглядит в работе

Запуск простой: можно передать ссылку сразу или просто запустить без аргументов и вставить URL по подсказке.

$ yoinks https://youtu.be/dQw4w9WgXcQ    # сразу к выбору формата
$ yoinks                                 # спросит ссылку
$ yoinks --theme light                   # принудительно светлая тема
yoinks home screen — paste a link and hit yoink

Дальше утилита забирает весь экран терминала, всё аккуратно центрируется, а при выходе скроллбек возвращается на место. Формат выбирается стрелками вверх/вниз, но можно и через j/k, и цифрами. Enter подтверждает, esc возвращает назад, Ctrl+C выходит. Поддерживается и мышь: кнопка yoink, список форматов и подсказки в футере кликабельны, а клик по логотипу возвращает на главный экран.

Файлы складываются в ~/Downloads, а путь к готовому файлу печатается в терминал.

yoinks format picker — resolutions with estimated file sizes, plus audio-only mp3

При выборе формата видно не только разрешения, но и примерный размер файла. Мелочь, а приятно, когда решаешь, тянуть ли 4K или хватит 1080p.

Технические детали, которые тут реально интересны

Самое любопытное — на чём сделан интерфейс. Это Ink, то есть React для терминала. Да, тот самый React, только вместо DOM — вывод в консоль. Кнопки, фокус, реакция на мышь, темы оформления. Всё это в обычном текстовом терминале.

Проект написан на TypeScript, сборка через tsup в папку dist/. Для разработки есть готовые команды:

npm install
npm run build        # сборка в dist/ через tsup
npm run dev          # пересборка при изменениях
node dist/cli.js <url>
npm run typecheck

Хочешь попробовать как глобальную команду без публикации? npm link, и дальше запускай yoinks из любого места.

Отдельно про темы. По умолчанию стоит auto, который берёт foreground и background твоего терминала, поэтому светлая и тёмная схемы подхватываются автоматически, без угадывания. Переключить можно на лету через Ctrl+T или кликом по элементу темы в футере. А чтобы задать тему на один запуск, есть флаги --theme auto, --theme light и --theme dark.

Кому и зачем это нужно

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

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

Кстати, автор в разделе fair use честно предупреждает: скачивание может нарушать правила площадок. Инструмент задуман для личного архивирования, и стоит скачивать только то, что ты имеешь право сохранить. Это не юридическая отговорка ради галочки, а вполне себе рабочее правило.

Чего пока нет

README прямо перечисляет планы, и это помогает понять границы возможностей. Сейчас нет флагов --best и --mp3, которые позволяли бы пропустить выбор формата и использовать утилиту в скриптах. Нет опции -o <dir> для выбора папки вывода. Не поддерживаются плейлисты и треды с несколькими видео. В планах также автоподстановка ссылки из буфера обмена и самообновление встроенного yt-dlp. Из сделанного отмечена только публикация в npm, остальное пока в очереди.

То есть на старте это инструмент для ручного, интерактивного скачивания. Для автоматизации в скриптах пока придётся подождать или ставить yt-dlp напрямую.

Стоит ли пробовать

Две с лишним тысячи звёзд за короткий срок говорят сами за себя: людям зашло. И понятно почему. Установка в одну строку, никакой рекламы, аккуратный интерфейс и огромное число поддерживаемых сайтов за счёт yt-dlp.

Я бы советовал попробовать yoinks, если ты регулярно что-то скачиваешь и тебя раздражает сам процесс. Особенно если ты живёшь в терминале и ценишь минимализм. Не уверен, что она заменит полноценные сценарии автоматизации, но для быстрого «вставил ссылку, выбрал качество, получил файл» она подходит идеально.

Начать можно с одной команды:

npx yoinks

Ничего не устанавливается глобально, ни к чему не обязывает. Просто попробуй и посмотри, насколько приятнее это выглядит, чем очередной сайт с фейковой кнопкой скачивания.

🍪 Мы используем файлы cookie и сервис аналитики Яндекс.Метрика, чтобы сайт работал лучше. Продолжая пользоваться devtrends.ru, вы соглашаетесь с обработкой данных согласно Политике конфиденциальности.