yt-watcher
allows users to monitor a list of YouTube channels and
automatically download their most recent videos. This tool simplifies the
process of keeping track of your favorite content creators without compromising
on privacy or needing to suffer through ads.
This can be configured to use either the YouTube, or
Invidious
api.
config.yaml
can be found in XDG_HOME
. For linux this is typically
~/.config/yt-watcher
. A default configuration is generated on first run.
output
value will be initially generated as $HOME/yt-watcher
.
query:
interval: 1min
age: 24hr
use_invidious: false
invidious_host: https://vid.puffyan.us/
loop: true
verbose: true
output: /home/<user>/yt-watcher
yt-dlp:
config:
enable: false
path: /home/<user>/.config/yt-dlp/config
channels:
- UCaYhcUwRBNscFNUKTjgPFiA
- UCrW38UKhlPoApXiuKNghuig
To configure how videos are downloaded refer to the
configuration options
provided by yt-dlp
.
The best way to run this application is to use
nix
. Nix
will include all the
dependencies needed to run the application.
# Run from remote repository.
nix run "github:siph/yt-watcher"
# With custom configuration file location
nix run "github:siph/yt-watcher" -- ./config.yaml
This method is not ideal as nushell
evolves quickly and scripts can become
out-of-date very easily. Managing dependencies is also cumbersome which is why
the Nix
method is recommended.
Dependencies:
- yt-dlp: 2023.12.30
- nushell: 0.88.1
Optional Dependencies:
- ffmpeg
- rtmpdump
- atomicparsley
nu \
--no-config-file \
--commands 'use ./yt-watcher ; yt-watcher'