๐ฅ VodArchivist - Your Personal Twitch VOD Archiver ๐
Do you love Twitch content but hate seeing VODs vanish into the void? Fear not! VodArchivist is here to automate, archive, and manage your favorite Twitch VODs with ease. Whether you want to download VODs on-demand, set up automatic monitoring, or just build your own Twitch VOD library, VodArchivist has got you covered!
โญ Features
โ Download Twitch VODs - Just paste a VOD URL, choose a quality (e.g., 720p), and start downloading! โ Monitor & Auto-Download - Set up a watchdog for your favorite streamers and let VodArchivist grab new VODs automatically. โ Real-Time Progress - Track active downloads with live progress, speed, and estimated time remaining. โ Beautiful Dashboard - A clean, Twitch-inspired UI with a sleek purple gradient. โ Pause, Resume & Stop Downloads - Youโre in full control. Pause an ongoing download, resume it later, or stop everything if your SSD starts crying. โ Download History & File Size Tracking - See what you've archived, when, and how big those files are. โ Modify or Delete Watchdogs - Change intervals, tweak quality settings, or remove a streamer from your auto-download list with just a click. โ NFO generation and fully compatible with Plex/Jellyfin scrapers
๐ธ Screenshot
๐ Installation
- Clone the repository
git clone https://github.com/iris1801/VodArchivist.git
cd VodArchivist
- Install dependencies
If you're using a virtual environment, activate it first:
python3 -m venv venv
source venv/bin/activate # On Windows, use venv\Scripts\activate
Then install the required packages:
pip install -r requirements.txt
- Run the app
uvicorn backend.main:app --host 0.0.0.0 --port 8000 --reload
Now, open your browser and go to: ๐ http://127.0.0.1:8000/dashboard/
Enjoy your personal Twitch VOD archive! ๐
๐ง Running as a Service (Linux)
Want VodArchivist to run 24/7 on your server? Set it up as a systemd service!
sudo nano /etc/systemd/system/vodarchivist.service
Paste this inside:
[Unit]
Description=VodArchivist Service
After=network.target
[Service]
User=your_user
Group=your_user
WorkingDirectory=/path/to/VodArchivist
ExecStart=/usr/bin/env uvicorn backend.main:app --host 0.0.0.0 --port 8000
Restart=always
[Install]
WantedBy=multi-user.target
Then enable and start the service:
sudo systemctl daemon-reload
sudo systemctl enable vodarchivist
sudo systemctl start vodarchivist
Boom! ๐ Now it runs on startup!
๐ API Endpoints
Want to integrate VodArchivist with something else? Here's a quick look at the available API endpoints:
POST /download_vod/ โ Queue a new VOD for download
GET /download_status/ โ Check active download progress
GET /downloads/ โ Get the history of completed downloads
POST /watchdog/ โ Add a new channel to the auto-download list
PUT /watchdog/ โ Update an existing watchdog
DELETE /watchdog/{channel_name} โ Remove a channel from the watchdog list
GET /channel/{channel_name} โ List available VODs for a streamer
๐ฎ Contributing
Got an idea to improve VodArchivist? Found a bug? Open an issue or submit a pull request! Let's make this the best Twitch VOD tool together! ๐
๐ License
VodArchivist is open-source and available under the MIT License. Feel free to fork, modify, and share!
๐ค Credits
Huge thanks to:
yt-dlp for making VOD downloads possible.
FastAPI for powering our backend.
Vue.js for keeping the frontend snappy.
Twitch streamers for giving us endless content to archive! ๐ฅ
๐ Enjoy your VOD collection, and never miss a moment again! ๐ฌ
