Go to file
Ryan Whytsell a0326882f5
Initial commit
2025-10-18 12:28:40 -04:00
backend Initial commit 2025-10-18 12:28:40 -04:00
frontend Initial commit 2025-10-18 12:28:40 -04:00
.gitignore Initial commit 2025-10-18 12:28:40 -04:00
CLAUDE.md Initial commit 2025-10-18 12:28:40 -04:00
PROJECT_CONTEXT.md Initial commit 2025-10-18 12:28:40 -04:00
README.md Initial commit 2025-10-18 12:28:40 -04:00
package-lock.json Initial commit 2025-10-18 12:28:40 -04:00
package.json Initial commit 2025-10-18 12:28:40 -04:00

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

  1. 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
  1. Install backend dependencies:
cd backend
npm install
  1. Install frontend dependencies:
cd frontend
npm install

Running

  1. Start the backend:
cd backend
npm run dev
  1. Start the frontend:
cd frontend
npm run dev
  1. 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.