/YT-Feeder

Rofi-Based YouTube RSS Reader

Primary LanguageShellGNU Affero General Public License v3.0AGPL-3.0

Gallery

Introduction

YT-Feeder is a Rofi-Based RSS Reader made specifically for YouTube video platform. It’s written purely in bash and allows user to watch or download new videos.

Usage

While in the project folder:

chmod +x YT-Feeder

Then to actually run the script:

rofi -show YT-Feeder -modi "YT-Feeder:/Absolute/Path/To/YT-Feeder"

I highly suggest binding the above command to your keyboard shortcut of choice. After launch you can select your favorite channel from the list, then select video and then you have a choice to:

  • watch(best) -> watch it in the best quality
  • watch(worst) -> watch it in the worst quality
  • play in the background -> play audio from video in the background
  • open in a web browser -> opens YouTube link in a default web browser
  • download -> download video
  • download audio -> download audio from video
  • command -> use your custom command on video’s link

There’s also an option to refresh the RSS feeds at the top of the list and there might be an option to stop currently playing audio in the background(only after selecting “play in the background”).

Worth noting

The default directory for downloaded videos is ~/Videos/ and the default directory for downloaded audio is ~/Music/.

Configuration

Change ~/.config/yt-feeder/config file to configure this script. If it doesn’t exist, create it. The general syntax for this file is:

// Some comment
rss link or channel's ID
rss link or channel's ID
rss link or channel's ID
DOWNLOAD|~/Videos/folder_for_yt_videos
COMMAND|my_custom_command
DOWNLOAD_AUDIO|~/Music/folder_for_yt_audio

Comments must be placed on separate lines, every line starting with “//” will be ignored by the script

  • DOWNLOAD specifies the custom directory where you wish to download your videos.
  • COMMAND specifies your custom command to use on youtube links.
  • DOWNLOAD_AUDIO specifies the custom directory where you wish to download your audio.

Requirements

Currently only requirements are:

  • mpv
  • youtube-dl
  • ffmpeg
  • rofi
  • wget

TODO

  • Add option to open link in the browser
  • Add information about the number of new videos
  • Auto-detect Channel’s name from RSS Feed
  • Clean bash code
  • Add option to change the default directory of downloaded videos
  • Add option to play video in the background
  • Add an ability to just use channel’s ID in the config file
  • Add option to use a custom script on selected video