This repository contains the Amaze File Utilities Android application, an open-source file management utility suite with built-in media players. The app provides comprehensive file browsing, storage analysis (duplicate, large, hidden, junk files), image/video/audio playback, image editing, document viewing (PDF, EPUB, DOCX), and peer-to-peer file transfer via Wi-Fi Direct. It also includes a cloud streaming server for Chromecast support. The architecture follows the standard Android MVVM pattern with Jetpack components (ViewModel, LiveData, Room, Navigation), and uses a foreground service for audio playback. The codebase is primarily Kotlin with some legacy Java, and is built with two product flavors: one for the Play Store (with billing and ML Kit) and one for F-Droid (without those features). The app demonstrates solid engineering with reusable abstractions like `AbstractMediaFilesAdapter`, `CloudStreamer`, and `FixedSizePriorityQueue`, though the central `FilesViewModel` is overly large (2000+ lines) and some deprecated Android APIs remain in use. The project is actively maintained with recent commits and zero Dependabot alerts.
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.
Firemote is a Home Assistant custom dashboard card that emulates physical remote controls for a wide range of media devices including Amazon Fire TV, Apple TV, Chromecast, NVIDIA Shield, Roku, Xiaomi, and more. The card provides realistic visual remotes with extensive customization: over 330 app launcher shortcuts, button overrides via Home Assistant scripts or actions, multiple remote styles, and support for device-specific compatibility modes. It integrates with Home Assistant's Android Debug Bridge, Android TV Remote, Apple TV, and Roku integrations. The repository contains the compiled JavaScript card and supporting data files for device definitions and translations, but the source is distributed as a single minified bundle. It is actively maintained with a large community and frequent updates.
Streama is a self-hosted media streaming server implemented as a Grails 3 (Groovy) monolith with an AngularJS 1.x single-page application frontend. In production, it allows users to upload or mount video files (movies, TV shows, generic videos), fetch metadata from TheMovieDB, stream videos via HTTP range requests (or optional transcoding via FFmpeg), manage subtitles (manual or from OpenSubtitles), track viewing progress, and manage multi-profile accounts with role-based access. The system relies on MySQL (or H2 for dev), Java 8, and external APIs (TheMovieDB, OpenSubtitles). The architecture is a traditional Grails web application with RESTful controllers, Groovy services for business logic, and a rich client-side AngularJS interface that includes a custom video player directive, admin panels, and dashboard views. The codebase shows signs of a long-lived project with a large number of vendored frontend dependencies (Bower-managed), some now outdated (AngularJS 1.x, jQuery UI, Bootstrap 3). While the application is functional and well-documented, the technology stack is aging, and the frontend particularly would benefit from modernization.