Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CyberTube

CyberTube is a desktop client for searching and watching YouTube videos without embedding the YouTube website.

The app uses yt-dlp's Python API for search/metadata/direct media resolution, Qt Multimedia for native playback, SQLite for local history/favorites/settings, and NumPy for a small UI signal visualization.

Screenshots

Search results

Example search results

App settings

Example settings

Features

  • Search YouTube through yt-dlp
  • Native QMediaPlayer / QVideoWidget playback
  • No QtWebEngine and no embedded YouTube HTML page
  • Portable local SQLite data stored in CyberTube/data/ (settings, caches, histories, favorites, and block lists)
  • Five cyberpunk theme skins
  • Non-blocking yt-dlp work with QThreadPool
  • YouTube CDN thumbnails derived directly from video IDs (maxresdefault.jpg with quality fallbacks)
  • Optional remote thumbnail loading
  • Local privacy/status panel

Theme skins

  1. Neon Pink
  2. Neon Blue
  3. Green Matrix
  4. Amber Hacker
  5. Purple Neo

Run

python -m pip install -U PyQt6 numpy yt-dlp
python main.py

On Windows you can also double-click run_windows.bat after installing dependencies.

Privacy boundaries

CyberTube does not load the normal YouTube webpage, browser-side scripts, cookies, overlays, or the standard web player. It therefore avoids that entire browser-page tracking/ad surface.

It does not make network requests anonymous. YouTube/CDN endpoints (or a future proxy backend) may still observe requests and the client IP. Creator-baked sponsorships are part of the uploaded media and are not automatically removed.

Playback caveat

Qt's native media player is a lightweight first backend. YouTube frequently exposes highest-quality video and audio as separate DASH streams, while this MVP deliberately chooses a single A/V stream for direct Qt playback.

Quality selection and downloads

CyberTube has a Settings > Default video quality option (Auto, 360p, 480p, 720p, 1080p, 1440p, or 2160p/4K). The player also has a per-video quality selector. Native Qt playback requires one combined audio/video stream, so YouTube may force playback to the nearest lower progressive quality. Downloads use the selected quality and can use separate video/audio streams; install FFmpeg for yt-dlp to merge those high-resolution streams. The DOWNLOAD button prompts for a destination folder and displays progress.

Persistent search history

CyberTube stores completed search terms and their result rows in the local SQLite database. Opening Home, Watch History, Favorites, Settings, or Search History does not repeat a search. Search History lets you reopen previously saved result sets without network traffic. Pressing SEARCH is treated as an explicit refresh: if that normalized term already exists, its saved result set is replaced with the newly returned results. Watch History and Search History can be cleared independently from Settings.

Load More search pagination

Searches initially load 20 results. The LOAD MORE button fetches the next 20 and appends unique videos to the persistent SQLite search cache. Reopening the saved search uses the expanded cached result set without repeating those searches.

Download preferences

CyberTube lets you choose a preferred download container in Settings. MP4 is the default, with WebM and MKV also available. The selected video quality and preferred container are used for downloads when compatible streams are available.

Browse categories

CyberTube includes a dedicated Browse view below Home so discovery does not depend on typing a search every time. The first release includes Trending, Music, Gaming, Movies & Animation, News, Sports, Comedy, Entertainment, Science & Technology, Education, How-to & Style, Travel, Autos & Vehicles, and Pets & Animals.

Category feeds load 20 videos initially and use the same LOAD MORE behavior as search. Each category/region combination has its own persistent SQLite cache. Reopening a category uses the saved feed without making another discovery request. REFRESH explicitly replaces the cached first page with newer results, while LOAD MORE appends additional unique videos. Existing video/channel blocks are applied before cached category results are displayed.

The Browse region is selectable in Settings. Changing regions does not destroy the previous region's cached category results.

  • One-click Block Video / Block Channel controls on video result cards.

Portable app data

CyberTube stores its persistent data in the data folder beside the application (CyberTube/data/cybertube.db). This keeps the application self-contained.

About

Ad free youtube video watching and downloads

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages