|
|
||
|---|---|---|
| backend | ||
| frontend | ||
| .gitignore | ||
| CLAUDE.md | ||
| Caddyfile | ||
| DEPLOYMENT.md | ||
| PROJECT_CONTEXT.md | ||
| README.md | ||
| package-lock.json | ||
| package.json | ||
| start-production.sh | ||
| stop-production.sh | ||
| vidrip.service | ||
README.md
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
- Install yt-dlp:
# On Linux/Mac
pip install yt-dlp
# or
brew install yt-dlp
# On Windows
# Download from https://github.com/yt-dlp/yt-dlp/releases
- Install backend dependencies:
cd backend
npm install
- Install frontend dependencies:
cd frontend
npm install
Running
- Start the backend:
cd backend
npm run dev
- Start the frontend:
cd frontend
npm run dev
Configuration
Default settings:
- Download interval: 3 hours
- Time variance: ±30 minutes
- Storage location:
backend/downloads/
These can be configured in the UI settings page.