# VidRip A respectful YouTube video drip downloader that slowly and gradually downloads videos from channels over time. ## Features - Add YouTube channels or individual videos - Configurable download intervals (default: every few hours) - Configurable variance to avoid predictable patterns - Watch downloaded videos in the browser - Track download progress and status - Lightweight SQLite database ## Tech Stack **Backend:** - Node.js + Express + TypeScript - SQLite (better-sqlite3) - yt-dlp for downloading - node-cron for scheduling **Frontend:** - React + TypeScript - Vite - Tailwind CSS - React Router ## Setup ### Prerequisites - Node.js 18+ - yt-dlp installed and available in PATH ### Installation 1. Install yt-dlp: ```bash # On Linux/Mac pip install yt-dlp # or brew install yt-dlp # On Windows # Download from https://github.com/yt-dlp/yt-dlp/releases ``` 2. Install backend dependencies: ```bash cd backend npm install ``` 3. Install frontend dependencies: ```bash cd frontend npm install ``` ### Running 1. Start the backend: ```bash cd backend npm run dev ``` 2. Start the frontend: ```bash cd frontend npm run dev ``` 3. Open http://localhost:3000 ## Configuration Default settings: - Download interval: 3 hours - Time variance: ±30 minutes - Storage location: `backend/downloads/` These can be configured in the UI settings page.