Skip to content
/ yt-x Public
forked from Benexl/yt-x

Browse youtube from your terminal

License

Notifications You must be signed in to change notification settings

Scapy47/yt-x

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

81 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

YT-X

GitHub Issues or Pull Requests GitHub License GitHub file size in bytes GitHub Release GitHub commit activity

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

Installation

Linux/BSD Arch Linux MacOS Android

# 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

Dependencies

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

Usage

# launch the ui
yt-x

# edit your config
yt-x -e

Define Custom Playlists

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>"
  }
]

Contribution

Pr's are highly welcomed.

TODO

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

Receiving Support

You can find me here incase you need any help setting it up or just want to hang with the community.

About

Browse youtube from your terminal

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 98.0%
  • Nix 2.0%