# ytsub: TUI-альтернатива FreeTube

Я довго сидів на FreeTube, в якому по суті мені потрібно лише бачити останні підписки.
* На Youtube, навіть на премі, підписки підміняються проплаченими трендами і цікаві канали тупо тонуть серед попси

Рандомні інстанси Invidious на FreeTube останнім часом майже не працюють, виходять постійні обнови але воно все до лампи. Недавно, ще мав такий досвід:
=> freetube-yggdrasil-proxy-via-yggstack.gmi Спроба проксування FreeTube через Yggdrasil

Власне, вирішив тікати. Пошуки альтернативи почав з мови, якою пишу сам (Rust) і зможу легко адаптувати софт під себе у разі чого. Перше, що випало - ytsub:
=> https://github.com/sarowish/ytsub

Ну короче, ось вам швидкий старт:

## Встановлення

``` bash
cargo install ytsub
```
або
``` bash
git clone https://github.com/sarowish/ytsub.git
cd ytsub
cargo install --path .
```
=> install-latest-rust-version-on-linux.gmi Встановлення останньої версії Rust в Linux

## Конфігурація

Створюємо файл:

``` bash
touch $HOME/.config/ytsub/config.toml
```

Туди кладемо приклад:
=> https://github.com/sarowish/ytsub#configtoml

Я змінив тільки два верхні рядки:

``` config.toml
database = "/home/user/.local/share/ytsub/videos.db"
instances = "/home/user/.config/ytsub/instances"
```
* `user` - ваше значення

І один нижче:

``` config.toml
video_player_for_stream_formats = "vlc"
```
* бо в мене саме плеєр VLC

Файл не закриваємо, нижче вказані хоткеї - по ним орієнтуємося перший час.

## Користування

Запуск на стандартному конфігі (без `-c`) відбувається однойменною командою:

``` bash
ytsub
```

Тепер натискаємо "i" та вказуємо URL будь-якого каналу. "Enter" підвантажить має завантажитись список відео, в якому переміщаємося стрілками клавіатури.

Оновлення окремого каналу відбувається кнопкою "r"; оновлення всіх каналів - "R" (також я додав PR#11, що реалізує опцію `refresh_on_launch`). Переміщення по табам (відео/стріми/шортс) - "H" і "L".

UPD. Трішки покористувавшись, відкрив для себе й кнопки "1" і "2" - для зміни режиму перегляду списків, а також створив PR#8 з можливістю встановлення `mode` за дефолтом.

Канали можна також імпортувати пачкою, вказавши формат:

``` bash
ytsub import -f newpipe '/path/to/newpipe-subscriptions-2026-03-20.json'
```
* `newpipe` я обрав не випадково - це чомусь єдиний формат, який в мене імпортується з FreeTube

### Відтворення

Якщо плеєр в конфігурації обрано правильно і він встановлений в системі, після натискання "p" обране відео має в ньому відкритись.