Browse YouTube from your terminal.
yt-x-search.webm
Browse Channels You Have Subscribed To From The Terminal
yt-x-channels.webm
View Channels Playlists
yt-x-channels-playlists.webm
Search For Something From a Specific Channel
yt-x-channels-search.webm
Watch Whats Featured in A Specific Channel
yt-x-channels-featured.webm
I Use Neovim By The Way
yt-x-config.webm
# nixos
nix profile install github:Benexl/yt-x
# latest release
curl -sL "https://raw.githubusercontent.com/Benexl/yt-x/refs/tags/0.3.0/yt-x" -o ~/.local/bin/yt-x && chmod +x ~/.local/bin/yt-x
# Development version
curl -sL "https://raw.githubusercontent.com/Benexl/yt-x/refs/heads/master/yt-x" -o ~/.local/bin/yt-x && chmod +x ~/.local/bin/yt-x
Required:
- jq - to pass the json data
- curl - to download preview images
- yt-dlp - to provide the data
- fzf - for the main ui
- mpv - for streaming
- ffmpeg - to properly download hsl streams
optional:
- gum - for an even better ui
- chafa - image rendering
- icat - image rendering
- imgcat - image rendering
# launch the ui
yt-x
# edit your config
yt-x -e
This option lets you define custom playlists.
Its a list of playlist objects.
located: ~/.config/yt-x/custom_playlists.json
For example:
[
{
"name": "<name of the playlist, should only contain letters or numbers>",
"playlistUrl": "https://www.youtube.com/playlist?list=<playlist-id>",
"playlistWatchUrl": "https://www.youtube.com/watch?list=<playlist-id>"
}
]
Pr's are highly welcomed.
Features:
- Add like video functionality
- Add subscribe to channel functionality
- Use a JSON file to store custom playlists in order to allow more features
- Handle visit channel in browser option
- Update script option
Fix:
- Fix the channel sub menu by making it conform to the new preview logic
- Fix the channel image preview
- Fix bug where going back in the channels menu may result into weird behavior
Documentation and refactor:
- Document all functionality
- Remove all code in relation to lib-x which was used as a template for this project
- Save the image and preview scripts with the filename as the id of the video or channel.
- Write completions for fish
- Don't force sixel graphics when using chafa
- Remove unnecessary comments
You can find me here incase you need any help setting it up or just want to hang with the community.