Hysen Labs
Open-source project
cdlongbow/mdcx-diy avatar
cdlongbow

mdcx-diy

mdcx-diy,源自Hazard804大佬改良的mdcx项目,并借鉴ZiPenOk兄的优化改进,表示衷心感谢!!!

92 stars7 forksPythonGPL-3.0
DEEP OPEN-SOURCE ANALYSIS

MDCx-diy: a metadata scraper for personal media libraries

A desktop tool that fetches video metadata from 48 sites and writes standard NFO files for Emby, Jellyfin, and Kodi.

What MDCx-diy does

MDCx-diy is a desktop application that turns a folder of messy video files into a tidy media library. It automatically scrapes metadata such as titles, actor names, cover art, and summaries from forty eight different websites, then writes standard .nfo files that Emby, Jellyfin, and Kodi can read directly. The README describes the one line goal as turning a pile of disorganized videos into a library that a media server recognizes. The project is a derivative of the earlier mdcx work by Hazard804, which itself grew from sqzw-x's mdcx, and it folds in optimizations contributed by ZiPenOk. It runs on Windows, macOS, and Linux and requires Python 3.13 or newer. The license is GPL-3.0, and the author restricts use to learning and technical exchange, warns against breaking local laws, and forbids commercial use. The README thanks the upstream developers by name and points readers to the original repositories, which makes the lineage of the code clear for anyone auditing where the scraping logic came from. The badge in the README advertises support for forty eight sites across coded, uncoded, FC2, domestic, and Western categories, so a collector with a mixed library can cover most of it from one tool. The badge in the README advertises support for forty eight sites across coded, uncoded, FC2, domestic, and Western categories, so a collector with a mixed library can cover most of it from one tool without switching applications.

Scraping and translation features

The scraping engine covers a wide range of sources, including coded, uncoded, FC2, domestic, and Western categories, with some sites reachable without Cloudflare friction. A smart identifier detects the video code type, such as coded, uncoded, FC2, domestic, or Western, so the right lookup path is chosen. The NFO output carries more than thirty metadata fields and matches the common Emby, Jellyfin, and Kodi schema. Translation is flexible, with six engines available: Google, Bing, Baidu, DeepL, DeepLX, and an LLM based option, so titles and summaries can be localized. Image handling includes face cropping, watermarking, and fetching high definition covers, with official source fallbacks. An actor database built on Excel is enriched from TMDB, Wikidata, and Gfriends, and the tool can sync actor info and avatars into Emby and Jellyfin. Asynchronous concurrency lets several files scrape at once without freezing the interface, which matters when a library holds thousands of items that each need a network lookup. The documentation navigation table points to separate files for features, configuration, and a developer guide, so a user can read just the part they need. The documentation navigation table points to separate files for features, configuration, and a developer guide, so a user can read only the part they need and skip the rest until later.

Setup and community

Getting the tool running is documented for several audiences. End users download a release archive for their platform and run it, with a five minute quick start guide for the first scrape and separate install and feature documents in the docs folder. Developers clone the repository, run uv sync --dev, and launch with uv run python main.py, and a self check command runs before pushing changes. The Cloudflare protection that blocks many scrapers is addressed with external services such as TRAWL and FlareSolverr, a Selenium plus Edge headless fallback for JavLibrary, and direct channels for missav_api, r18dev, and javdb_api. The repository links to a Telegram group for discussion and credits the upstream developers by name. Because the sources are adult content sites, the documentation is blunt about the legal and ethical boundaries: the software is for study, the user owns the consequences, and commercial use is not permitted under the GPL-3.0 terms as stated by the author. The project therefore positions itself as a learning tool with hard limits. The README also notes the code is partly reused from prior mdcx projects, with attribution left in the module directories where the code is unchanged. The README notes that code reused from prior mdcx projects keeps attribution in the module directories where it is unchanged, which keeps the licensing honest across the mixed lineage of the scraper.

Editorial conclusion

MDCx-diy is licensed under GPL-3.0, scrapes metadata from 48 sites, and requires Python 3.13 or newer to run.

DEEP OPEN-SOURCE ANALYSIS

Official sources

Community notes

Community notes