Ytdaily is a high-performance, interactive YouTube automation engine designed for creators and enthusiasts. It transforms your local machine into a smart media server that monitors your favorite channels and playlists, downloading content in crystal-clear quality while applying professional-grade filtering and optimization.
| Main Menu | Statistics Dashboard |
|---|---|
| Configuration Scan | Scan Results |
|---|---|
| Parallel Download Progress | Detailed Download Info |
|---|---|
| Customizable Settings | Playlist Management |
|---|---|
Ytdaily is built on a "Silent Automation" philosophy. It uses a State-Based Tracking System to ensure you never miss a video and never download a duplicate.
The engine maintains a local JSON database of every video it has ever encountered. When a scan starts, it fetches the latest activity from your monitored channels and compares signatures to identify "Gaps" in your collection.
Unlike traditional downloaders that process one file at a time, Ytdaily utilizes a multi-threaded parallel downloader. It intelligently distributes your bandwidth across multiple streams to finish your daily queue in minutes rather than hours.
Every download is automatically scrubbed of non-content segments (Sponsors, Intros, Outros, Interaction Reminders) using the SponsorBlock API, saving you hours of watch time.
Designed to work across Arch, Debian, Ubuntu, and Fedora based distributions. The installer handles system dependencies, Python environment isolation (PEP 668), and shell integration.
git clone https://github.com/DevXtechnic/Ytdaily.git
cd Ytdaily
chmod +x install.sh
./install.sh- Checks for and installs
yt-dlp,ffmpeg, andpython-richusing your native package manager. - Sets up a robust directory structure in
~/.local/share/Ytdaily/. - Injects
Ytdailyaliases into your shell (bash,zsh, orfish). - Initializes the Automation Engine (Systemd).
After installation, Ytdaily operates as a silent background service.
- Trigger: The service runs once every 24 hours.
- Boot Safety: It includes a 5-minute delay after your system boots to ensure network stability before starting the scan.
- Resource Management: Uses
Nice=19andIOSchedulingClass=idleto ensure it never slows down your PC while you are working.
You can check the status of your automated downloader at any time:
systemctl --user status Ytdaily.service- 🎯 Multi-Quality Support: Target any resolution from 360p to 4K (2160p).
- 📻 Podcast Automation: Automatically converts specific sources to high-fidelity 320kbps MP3s.
- 🧹 Dynamic Cleanup: Set a retention policy (e.g., 60 days) to keep your storage lean.
- 🌍 Subtitles & Metadata: Embeds official and auto-generated subtitles, thumbnails, and metadata into the MP4 container.
- Logic: Python 3
- UI: Rich TUI Framework
- Engine: yt-dlp & FFmpeg
- Scheduling: Systemd User Timers
- Package Management: Native Linux Bridge (Pacman/Apt/Dnf)
Unlicense (Public Domain) - Free to use, modify, and distribute for any purpose.