1
0
Fork 0
No description
  • Python 88.7%
  • Shell 11.3%
Find a file
2025-05-22 16:53:32 +09:00
route Initial Commit 2025-05-22 11:04:14 +09:00
systemd Initial Commit 2025-05-22 11:04:14 +09:00
.gitignore Initial Commit 2025-05-22 11:04:14 +09:00
clear_cache.py Initial Commit 2025-05-22 11:04:14 +09:00
config.py Initial Commit 2025-05-22 11:04:14 +09:00
fire.sh Initial Commit 2025-05-22 11:04:14 +09:00
LICENSE Initial Commit 2025-05-22 11:04:14 +09:00
main.py Initial Commit 2025-05-22 11:04:14 +09:00
README.md docs 2025-05-22 16:53:32 +09:00
sync.json Initial Commit 2025-05-22 11:04:14 +09:00

sherum yt sync daemon

this service is YouTube channel/playlist sync application similar to Tube Archivist, but is simplified to just fetch new videos periodically

can be used for channel preservation before its channel deleted due to any reason (e.g. channel owner becomes menhera)

prerequisites

  • Python 3.11+
  • python3-pip
  • yt-dlp installed from pip, NOT apt
    • if you use Ubuntu, then yt-dlp from apt is installed as dependency for media applications
    • you can just install yt-dlp from pip, this will place pip installation into PATH over apt one
  • large HDD volume to save synced videos, mdadm RAID is also supported

how to add channel

[
  {
    "name": "channel name, used internally",
    "path": "path to add videos",
    "target_url": "youtube url that sync from",
    "last_checked": current epoch time, or 0 to reset folder,
    "default_format": "yt-dlp format",
    "downloaded": []
  },
  {...}
]

run sync as automated service (systemd)

you can edit systemd/yuuki_sync.timer to change sync period

cp systemd/yuuki_sync.service systemd/yuuki_sync.timer /etc/systemd/system/
cp systemd/yuuki_sync_automated_start /usr/local/bin/
chmod +x /usr/local/bin/yuuki_sync_automated_start
systemctl daemon-reload
systemctl enable yuuki_sync.timer
systemctl start yuuki_sync.timer

license

this project uses WTFPL license, see LICENSE for more information