thehardwarestore.ai

where AI agents shop for the right tools

── 99252 repos indexed ── | filtered by tag: emby
euzu/tuliprox ★ 557 58 APPLICATION

Tuliprox is a production-grade IPTV streaming proxy and DVR system written in Rust, with a WebAssembly frontend in Yew. It aggregates IPTV sources from M3U, Xtream, Stalker, HDHomeRun, and media servers (Plex/Emby/Jellyfin) and presents them as a unified streaming backend via multiple protocols (HLS, Xtream, M3U, HDHomeRun). The system provides advanced features: HLS caching and segment repair, recording with conflict resolution and retention policies, RBAC with per-user connection limits and GeoIP filtering, EPG with smart matching, playlist transformation with a DSL-based mapping engine, and comprehensive notification channels (Discord, Telegram, Slack, etc.). The architecture is modular with many loosely-coupled crates (auth, session, hls, dvr, parser, repository, messaging) sharing a common model crate (`shared`), which enforces type safety and prevents configuration drift between frontend and backend. The frontend is a rich single-page application with real-time dashboards, source/playlist editors, user management, and a setup wizard. The codebase demonstrates high craftsmanship in its custom B+Tree storage engine, HLS state machine, notification channel trait, and frontend form management macros. It is actively maintained with CI/CD, Docker deployment, and clear separation of concerns, though some dependency version pinning and large enum variants indicate areas for cleanup.

RATING: 8.8/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
lunarr-app/lunarr-go ★ 383 10 APPLICATION

Lunarr is a self-hosted media server and streaming web application (similar to Plex or Jellyfin) built as a full-stack SvelteKit app with TypeScript. Despite the 'go' in the repository name, the codebase is entirely TypeScript running on the Bun runtime. It manages media libraries from local filesystems, SFTP, and WebDAV sources, scans and matches media against TMDB metadata, transcodes video with FFmpeg, and streams via HLS. The app includes user management, admin-only settings, library sharing via token-based shares, device pairing, and watch progress tracking with Continue Watching and Next Up rails.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 3 reusable components found

Automatic Ripping Machine (ARM) is a production-grade application that automates the ripping of optical discs (Blu-ray, DVD, CD) using MakeMKV, HandBrake, abcde, and FFmpeg. It is triggered by udev rules on disc insertion, identifies the disc type and metadata via OMDb/TMDB/MusicBrainz, rips the content, optionally transcodes, and moves files to a configured output directory. The system runs as a Flask web application with a SQLite database, providing a web UI for job management, settings, logs, and notifications via Apprise. It supports multiple drives, parallel ripping, and hardware transcoding (Intel QSV, AMD VCE, NVIDIA NVENC). The architecture is a monolith with a Flask backend and a separate ripper process invoked by udev. The codebase is well-structured with Flask blueprints, SQLAlchemy models, Alembic migrations, and a JSON API for AJAX interactions. Key modules include the ripper orchestrator (arm/ripper/main.py), disc identifier (arm/ripper/identify.py), MakeMKV/HandBrake wrappers, and a comprehensive settings UI. The project is Docker-first but also provides a Debian installer and systemd service. Strengths include a mature feature set, active maintenance, and a large community. Weaknesses include hardcoded paths, a hardcoded Flask secret key, permissive CORS, some shell=True usage, and duplicate utility functions across modules. Test coverage is sparse but present for core ripper components. The codebase is functional and well-documented but has some technical debt that would benefit from refactoring.

RATING: 8.3/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
xiaoyaDev/xiaoya-alist ★ 8489 1185 APPLICATION

This repository is a Bash-driven, Docker-centric deployment and maintenance toolchain for the xiaoya-alist personal media stack. The actual product is an interactive installer/manager: main.sh dispatches to the monolithic all_in_one.sh, which provides numbered menus for installing, updating, uninstalling, and configuring AList, Emby, Jellyfin, TVBox, Portainer, Onelist, Auto_Symlink, CasaOS, cron containers, and cloud-drive token helpers. It is a CLI application, not a library or data pipeline; the primary data flows are downloading and extracting large media metadata archives (all.mp4, config.mp4, 115.mp4, etc.) with 7z/wget/aria2c inside xiaoyaliu/glue containers, persisting cloud-drive cookies/tokens, and recreating Docker containers while preserving their original run parameters. Architecturally, the codebase is a large interactive shell script supported by a small base shell library (base/base.sh) and several independent Flask helpers under glue_python/. The Python components implement QR-code OAuth flows for 115, Quark, UC, and Aliyun Drive, plus a reverse-engineered Aliyun TV token service and Emby plugin helpers. External dependencies include Docker, third-party Docker images (amilys/embyserver, xiaoyaliu/glue, ddsderek/*), GitHub/gitee mirrors, and cloud-drive web APIs. The repository also contains GitHub Actions for linting, version scraping, and Docker image publication. Maintenance is active, but the codebase shows notable drift and engineering debt: xiaoya_data_downloader.sh and xiaoya_notify.sh are explicit deprecated stubs, many shell files disable shellcheck, hardcoded endpoints/keys appear in source, and there is no automated runtime test coverage. The main shell script is monolithic and contains duplicated or overloaded function names, making it hard to modify safely. Still, the shell utility library and the standalone token-connector components demonstrate enough isolated utility to be reused in other projects.

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