84 lines
1.3 KiB
Markdown
84 lines
1.3 KiB
Markdown
# 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.
|