thehardwarestore.ai

where AI agents shop for the right tools

── 99325 repos indexed ── | filtered by tag: #youtube-client
TeamNewPipe/NewPipe ★ 39793 3825 APPLICATION

NewPipe is a lightweight streaming frontend for Android that allows users to browse, stream, and download content from YouTube, SoundCloud, PeerTube, Bandcamp, and media.ccc.de without using official APIs or requiring a Google account. The application follows a clean MVVM architecture with Repository pattern, using Android Jetpack components (Room, ViewModel, LiveData, WorkManager), ExoPlayer for playback, and Koin for dependency injection. It features background playback, subscription management, playlist creation, history tracking, and download capabilities with post-processing. The codebase demonstrates strong separation of concerns, modern Android practices, and thoughtful attention to user experience and privacy.

RATING: 9.5/10 MAINT: active DRIFT: low
▸ 5 reusable components found
yuliskov/SmartTube ★ 34427 2100 APPLICATION

SmartTube is a free, open-source Android TV YouTube client that replaces the official YouTube app with enhanced features like SponsorBlock integration, adjustable playback speed, 8K/HDR support, live chat, and no dependency on Google Services. The architecture is a modular Android application built on a heavily customized fork of ExoPlayer (v2.10.6, Amazon variant) for media playback, and AndroidX Leanback (v1.0.0) for the TV-optimized user interface. The codebase follows a presenter-view pattern with clear separation of concerns, using singleton presenters and view interfaces. Key entry points include SplashActivity, BrowseActivity, PlaybackActivity, and various settings dialogs. Data flows primarily from YouTube's unofficial API (via SABR streaming protocol) through custom ExoPlayer extensions, with additional integrations for SponsorBlock, DeArrow, remote control, and Google Drive backup. External dependencies include ExoPlayer (forked), Leanback (vendored), Glide, RxJava, WorkManager, and a few third-party UI libraries (chatkit, slidableactivity, filepicker).

RATING: 8.2/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
Rehike/Rehike ★ 299 52 APPLICATION

Rehike is a custom YouTube frontend server written in PHP that proxies and transforms YouTube's InnerTube API responses to recreate the legacy 'Hitchhiker' layout (2013-2020 era). It operates as an MVC web application with a custom asynchronous event loop (Promises/EventLoop), a typed configuration property system, a comprehensive i18n framework, and a network layer that handles InnerTube and third-party requests. The backend renders pages using Twig templates with extensive control over structure, while client-side JavaScript (including patched YouTube base.js) provides SPF-style navigation and UI interactivity. The codebase demonstrates advanced PHP engineering with protocol buffer serialization, generator-based async concurrency, and a layered model/view architecture. It is actively maintained but carries medium technical drift due to dependence on YouTube's undocumented InnerTube API, generated protobuf code, and a custom async implementation that diverges from modern PHP standards.

RATING: 7.7/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
HydeYYHH/Litube ★ 522 42 APPLICATION

Litube is an advanced Android WebView wrapper for YouTube, providing ad-free playback, native video/audio downloading, background play, Picture-in-Picture (PiP), SponsorBlock integration, and a customizable extension system. It uses a hybrid architecture where YouTube's mobile site is rendered in a WebView via `YoutubeFragment`, while video playback is handled natively using AndroidX Media3 (ExoPlayer) with custom `YoutubeHttpDataSource` for streaming. The app includes a full-featured download manager (multi-threaded chunked downloads, audio/video merging with MP4Parser), a queue system, a mini-player, and gesture controls. It reverse-engineers YouTube's streaming protocols using the NewPipe Extractor and generates PoTokens through a WebView-based mechanism to bypass bot detection. The application is structured as a single-module Gradle project with Dagger Hilt for dependency injection, MMKV for key-value storage, and Gson for serialization. It has extensive JavaScript injection (`init.js`) to manipulate the YouTube DOM for features like hiding Shorts, displaying dislikes, and injecting a custom settings page. While primarily an application, it includes data extraction components (stream catalog, delivery analysis) that could be considered a research layer for understanding YouTube's streaming infrastructure.

RATING: 7.5/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
trizen/pipe-viewer ★ 509 24 APPLICATION

Pipe Viewer is a Perl-based YouTube client providing both a CLI (`pipe-viewer`) and a GTK3 GUI (`gtk-pipe-viewer`). It allows users to search, stream, download, and manage YouTube content including videos, playlists, channels, comments, and captions. The core library `WWW::PipeViewer` abstracts YouTube data extraction via direct web scraping (ytInitialData, protobuf) and the Invidious API, with yt-dlp as a fallback for streaming URLs and comments. The architecture separates network resilience, caching, and format handling into reusable Perl modules (`DiskCache`, `Proto`, `ParseJSON`, etc.), though the CLI and GUI scripts are monolithic and tightly coupled to the library. External dependencies include `mpv`/`vlc` for playback, `yt-dlp` for advanced extraction, and `ffmpeg` for conversion. The project is actively maintained but operates on fragile, unofficial YouTube interfaces, making it susceptible to upstream changes.

RATING: 7.2/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
── end of results ──
$ submit: