Skip to content

Latest commit

Β 

History

70 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

MeeTube

A private YouTube web client extracted from FreeTube.

Features

  • Video search and browsing
  • Video playback with shaka-player (DASH support)
  • Channel browsing
  • Playlists management
  • Favorites system
  • Course tracking
  • Music mode
  • Subscriptions
  • Watch history
  • User authentication

Quick Start

Development

# Install dependencies
npm install
cd client && npm install && cd ..

# Start development servers
npm run dev

# Or start separately:
npm run dev:server  # API server on :3001
npm run dev:client  # Vue client on :5173

Production

# Build client
npm run build

# Start production server
npm start

Docker

# Build and run
docker-compose up -d

# View logs
docker-compose logs -f

# Stop
docker-compose down

Configuration

Copy .env.example to .env and configure:

PORT=3001
SESSION_SECRET=your-secret-key
YOUTUBE_COOKIE=  # Optional: For personalized content

Architecture

meetube/
β”œβ”€β”€ client/           # Vue.js SPA
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”œβ”€β”€ views/
β”‚   β”‚   β”œβ”€β”€ store/
β”‚   β”‚   └── router/
β”‚   └── vite.config.js
β”œβ”€β”€ server/           # Express.js API
β”‚   β”œβ”€β”€ routes/
β”‚   β”‚   β”œβ”€β”€ api.js    # YouTube API
β”‚   β”‚   β”œβ”€β”€ proxy.js  # Media proxy
β”‚   β”‚   └── auth.js   # Authentication
β”‚   └── services/
β”‚       β”œβ”€β”€ youtube.js
β”‚       └── database.js
└── docker-compose.yml

API Endpoints

YouTube API

  • GET /api/v1/search?q=... - Search videos
  • GET /api/v1/videos/:id - Get video info
  • GET /api/v1/channels/:id - Get channel info
  • GET /api/v1/trending - Trending videos

Proxy

  • /vi/:videoId/:filename - Video thumbnails
  • /ggpht/* - Channel avatars
  • /videoplayback?url=... - Video stream proxy

Auth

  • POST /auth/register - Create account
  • POST /auth/login - Login
  • POST /auth/logout - Logout
  • GET /auth/me - Current user

Credits

License

AGPL-3.0-or-later

About

πŸ“Ί MeeTube - A modern YouTube client extracted from FreeTube with enhanced features

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages