No description
Find a file
2026-01-11 22:04:16 +07:00
.github/workflows Add Forgejo registry deployment 2026-01-10 14:44:49 +07:00
app Release v2.0: Optimized Performance and Docker Support 2026-01-10 14:35:08 +07:00
doc feat: enforce horizontal videos, personalize categories, remove shorts 2026-01-02 12:35:33 +07:00
static Fix subscribe button and library tab navigation 2026-01-11 21:51:42 +07:00
templates Fix subscribe button and library tab navigation 2026-01-11 21:51:42 +07:00
.dockerignore Fix subscribe button and library tab navigation 2026-01-11 21:51:42 +07:00
.env.example Release v2.0: Optimized Performance and Docker Support 2026-01-10 14:35:08 +07:00
.gitignore Initial commit: KV-Tube v2.0 complete 2025-12-17 07:51:54 +07:00
API_DOCUMENTATION.md Release v2.0: Optimized Performance and Docker Support 2026-01-10 14:35:08 +07:00
config.py Release v2.0: Optimized Performance and Docker Support 2026-01-10 14:35:08 +07:00
CONSOLE_ERROR_FIXES.md Release v2.0: Optimized Performance and Docker Support 2026-01-10 14:35:08 +07:00
debug_transcript.py Release v2.0: Optimized Performance and Docker Support 2026-01-10 14:35:08 +07:00
deploy-docker.bat feat: enforce horizontal videos, personalize categories, remove shorts 2026-01-02 12:35:33 +07:00
deploy-docker.ps1 feat: enforce horizontal videos, personalize categories, remove shorts 2026-01-02 12:35:33 +07:00
deploy_v2.ps1 Fix subscribe button and library tab navigation 2026-01-11 21:51:42 +07:00
docker-compose.yml docs: update docker tag to latest 2026-01-11 22:04:16 +07:00
Dockerfile Fix Gunicorn import by renaming app.py to wsgi.py 2026-01-10 14:43:48 +07:00
DOWNLOAD_FIXES.md Release v2.0: Optimized Performance and Docker Support 2026-01-10 14:35:08 +07:00
generate_icons.py Initial commit: KV-Tube v2.0 complete 2025-12-17 07:51:54 +07:00
NDH6SA~M Release v2.0: Optimized Performance and Docker Support 2026-01-10 14:35:08 +07:00
proxy_check.m3u8 Initial commit: KV-Tube v2.0 complete 2025-12-17 07:51:54 +07:00
README.md docs: update docker tag to latest 2026-01-11 22:04:16 +07:00
requirements.txt Release v2.0: Optimized Performance and Docker Support 2026-01-10 14:35:08 +07:00
response.json Initial commit: KV-Tube v2.0 complete 2025-12-17 07:51:54 +07:00
response_error.json Initial commit: KV-Tube v2.0 complete 2025-12-17 07:51:54 +07:00
server.log Release v2.0: Optimized Performance and Docker Support 2026-01-10 14:35:08 +07:00
TEST_REPORT.md Release v2.0: Optimized Performance and Docker Support 2026-01-10 14:35:08 +07:00
update_and_restart.sh Add update_and_restart.sh script 2026-01-10 14:53:52 +07:00
USER_GUIDE.md Release v2.0: Optimized Performance and Docker Support 2026-01-10 14:35:08 +07:00
wsgi.py Fix subscribe button and library tab navigation 2026-01-11 21:51:42 +07:00

KV-Tube

A Distraction-Free, Privacy-Focused YouTube Client

Note

Designed for a premium, cinematic viewing experience.

KV-Tube removes the clutter and noise of modern YouTube, focusing purely on the content you love. It strictly enforces a horizontal-first video policy, aggressively filtering out Shorts and vertical "TikTok-style" content to keep your feed clean and high-quality.

🚀 Key Features (v2.0)

  • 🚫 Ads-Free & Privacy-First: Watch without interruptions. No Google account required. All watch history is stored locally on your device (or self-hosted DB).
  • 📺 Horizontal-First Experience: Say goodbye to "Shorts". The feed only displays horizontal, cinematic content.
  • 🔍 Specialized Feeds:
    • Tech & AI: Clean feed for gadget reviews and deep dives.
    • Trending: See what's popular across major categories (Music, Gaming, News).
    • Suggested for You: Personalized recommendations based on your local watch history.
  • 🧠 Local AI Integration:
    • Auto-Captions: Automatically enables English subtitles.
    • AI Summary: (Optional) Generate quick text summaries of videos locally.
  • High Performance: Optimized for speed with smart caching and rate-limit handling.
  • 📱 PWA Ready: Install on your phone or tablet with a responsive, app-like interface.

🛠️ Deployment

You can run KV-Tube easily using Docker (recommended for NAS/Servers) or directly with Python.

Ideal for Synology NAS, Unraid, or casual servers.

  1. Create a folder kv-tube and add the docker-compose.yml file.
  2. Run the container:
    docker-compose up -d
    
  3. Access the app at: http://localhost:5011

docker-compose.yml:

version: '3.8'

services:
  kv-tube:
    image: vndangkhoa/kv-tube:latest
    container_name: kv-tube
    restart: unless-stopped
    ports:
      - "5011:5000"
    volumes:
      - ./data:/app/data
    environment:
      - PYTHONUNBUFFERED=1
      - FLASK_ENV=production

Option B: Local Development (Python)

For developers or running locally on a PC.

  1. Clone & Install:

    git clone https://github.com/vndangkhoa/kv-tube.git
    cd kv-tube
    python -m venv .venv
    # Windows
    .venv\Scripts\activate
    # Linux/Mac
    source .venv/bin/activate
    
    pip install -r requirements.txt
    
  2. Run:

    python wsgi.py
    
  3. Access the app at: http://localhost:5002


⚙️ Configuration

KV-Tube is designed to be "Zero-Config", but you can customize it via Environment Variables (in .env or Docker).

Variable Default Description
FLASK_ENV production Set to development for debug mode.
KVTUBE_DATA_DIR ./data Location for the SQLite database.
KVTUBE_VIDEO_DIR ./videos (Optional) Location for downloaded videos.
SECRET_KEY (Auto) Session security key. Set manually for persistence.

🔌 API Endpoints

KV-Tube exposes a RESTful API for its frontend.

Endpoint Method Description
/api/search GET Search for videos.
/api/stream_info GET Get raw stream URLs (HLS/MP4).
/api/suggested GET Get recommendations based on history.
/api/download GET Get direct download link for a video.
/api/history GET Retrieve local watch history.

📜 License

Proprietary / Personal Use. Created by Khoa N.D