MoonTV is a cross-platform video aggregation player built with Next.js, Tailwind CSS, and TypeScript.
The tool addresses the fragmentation of video content across multiple sources by providing a unified interface for searching and playing films and television shows. It aggregates results from multiple sources in a single search, displays detailed information including episode lists, cast, and synopses, and streams content using HLS.js and ArtPlayer. The application supports bookmarks and watch history synchronized across devices through Kvrocks, Redis, or Upstash storage, includes a progressive web app mode for offline access and desktop installation, and features responsive layouts that adapt between desktop sidebars and mobile bottom navigation. An experimental ad-skipping feature automatically removes video slice advertisements.
Developers should be aware that the deployed application ships as an empty shell without built-in video or live streaming sources, requiring manual configuration of playback sources. The tool suits users seeking a self-hosted, centralized video player across multiple devices. Docker deployment is the only supported installation method. The project is distributed under a non-commercial license that prohibits commercial use and requires derivative projects to retain attribution and use the same license.
Development activity shows consistent maintenance with regular updates to dependencies and codebase improvements. The project maintains code quality standards through ESLint, Prettier, and Jest testing. The maintainers actively manage the project's scope and explicitly restrict promotion on certain platforms and through specific channels, indicating deliberate governance of the project's visibility and distribution.