this post was submitted on 18 Jun 2023
1 points (100.0% liked)

Всякие терминальные CLI/TUI штуки

0 readers
2 users here now

Тут можно публиковать всякие полезные и не очень тулзы для терминяльчика ^_^

Конечно же, они должны быть с открытым исходным кодом и использовать по возможности свободные компоненты! Можно свои скрипты в том числе.

К качеству требований никаких, главное чтобы оно работало :)

Просьба: не публиковать штуки выполняющие действия вредящие системе (например рекурсивное удаление корня), хотя бы пометьте их как NSFW.

founded 2 years ago
MODERATORS
 

предисловиеЧто-ж, вот и первый пост в этой коммунне, начну пожалуй со своего поделия, которое было когда-то в начале написано на скриптовом языке-клею bash со смесью jj (парсер JSON), mpv (рекомендуемый плеер), fzy (менюшка-селектор), curl (ну вы знаете что это). Был в общем, простой тупой плеер для фанки, чтобы искать треки по названиям, исполнителям и так далее. Но, мне этого было мало...
В общем, спустя время я это откинул в ящик и решил переписать на python3, по причинам связанных с тем, что я начал чуть-чуть усложнять этот проект, я хотел завезти например funkwhale радио прямо из консоли, реализовать некоторые костыли, которые доступны только в питоне и в целом, питон стоит того, хотя бы ради встроенного нормального JSON парсера.

В первую очередь "проект" скорее персональный, поэтому не удивляйтесь странностям в интерфейсе (хоть я лично декларирую его как простой) или тем более в коде (TW: профессиональные питон-программист_ки не рекомендую смотреть). А ещё этот проект конфликтует с названием другого проекта, непосредственно от funlwhale devs. И вообще, имейте ввиду, что тут полно багов, недочётиков и так далее, используйте на ваш страх и нервы, если вы любите самопал и хтонический ужас :3

Что умеет на данный момент, по сути всё тоже что башовый скрипт, который ушёл в историю, но теперь больше:
-Можно слушать радио по тегам, пользователям и их библиотекам, радио генерируется самой фанкой по сути, что интересно, если вы не авторизованы, то радио не работает, но это легко обойти, я в коде беру печеньки у инстанса при подключении :)
-Искать исполнителей, альбомы, треки, есть возможность ограничить результаты по одной библиотеке
-Слушать треки из recently listenings и favorites (они между прочим общедоступны частенько, опционально можно ещё включить репортинг своей активности в recently listening)
-Подгружает инстансы с сервера статистики и сбора инстансов от разработчиков FunkWhale и их можно менять как перчатки
-Собственно войти на свой инстанс (потребуется браузер)
-Послушать музыку из готовых плейлистов фанки и треки с каналов (подкасты например, но это костыль)
-Есть возможность включить persistent cache, чтобы сохранять треки во время прослушивания, cache дампится напрямую из mpv, он может быть сломан.

Остальной функционал и в целом основной тоже, работает не всегда хорошо и может не сооветствовать ожиданиям, отчасти из-за конкретного инстанса фанки, отчасти из-за моих кривых лап :)

Собственно, что потребуется для запуска этой шайтан машины:
Система: рекомендуется GNU/Linux или её эмулятор, работа на изолированных окружениях тотально не гарантированна
Эмулятор терминала: любой, который понимает возвратную каретку, чтобы переписать текст в конкретной строчке, TTY тоже сойдёт
Установить в систему: git python3 pip3 fzf mpv

git clone https://git.phreedom.club/localhost_frssoft/funkwhale-cli
cd funkwhale-cli
pip install -r requirements.txt

Запуск (очень рекомендую сделать сначала cd в папку с ним):
./funkwhale_cli

Конфигурирование: настройки хранятся в сгенерированном конфиге config.json, там довольно очевидные названия, но если что спросите, настройки могут не применяться без перезапуска.

Обновление: просто в каталоге с ним выполните git pull

Проверена работоспособность в: termux и void

Спасибо за прочтение :3

no comments (yet)
sorted by: hot top controversial new old
there doesn't seem to be anything here