Files
appstore/apps/mdcz
okxlin 8c72cb7526 fix(mdcz): confine lifecycle paths
Reject unsafe application data paths, avoid changing ownership of external media libraries, and confine SQLite migrations to the app data tree. Keep the lifecycle scripts aligned across packaged versions.
2026-11-12 15:25:59 +08:00
..
2026-11-12 15:25:59 +08:00
2026-11-12 15:25:59 +08:00
2026-11-12 15:25:59 +08:00
…
…
2026-11-12 15:25:59 +08:00

MDCz

产品介绍

MDCz 是一个高效、现代的影片元数据刮削与管理工具。它提供自托管 WebUI,可识别影片编号、抓取元数据与图片、生成 NFO 文件,并整理本地媒体文件,适合与 Emby、Jellyfin 等媒体库配合使用。

主要功能

  • 从多个数据源刮削影片、演员、封面和缩略图等元数据。
  • 生成 NFO 文件并按规则重命名、移动和归类影片。
  • 批量扫描媒体目录,并通过 WebUI 查看任务进度和日志。
  • 提供资料库、设置、维护工具和自动化接口。
  • 使用 SQLite 保存配置、认证状态和任务数据。

访问说明

  • Web 端口:安装表单中的 PANEL_APP_PORT_HTTP,默认 3838。
  • 首次访问会进入初始化向导。
  • 管理员密码由安装表单生成,并自动填入首次设置页面;请妥善保存,升级时不要随意更换。
  • 初始化向导中的媒体目录必须填写容器路径 /media,不能填写宿主机路径。

数据持久化

  • APP_DATA_DIR 挂载到 /data,保存 SQLite 数据库、配置文件和认证状态。
  • APP_DATA_DIR 必须是当前应用目录内的相对路径;不支持绝对路径、路径穿越或符号链接。
  • MEDIA_DIR 挂载到 /media,供 MDCz 扫描和整理影片文件。
  • 默认媒体目录位于 ./data/media,也可以改为已存在的绝对路径。初始化脚本不会修改该绝对路径的属主或权限。
  • 升级前应备份 APP_DATA_DIR;执行批量整理前还应备份媒体文件或先使用预览功能。

权限与文件操作风险

官方镜像以 UID/GID 1000:1000 的非 root 用户运行。初始化脚本只调整应用数据目录和相对媒体目录本身,不递归修改目录内现有文件;如果 MEDIA_DIR 指向已有媒体库,需要确保 UID 1000 对其中的文件和子目录具有读写权限。

MDCz 的核心功能会创建目录与 NFO/图片文件,并可能按照设置移动、重命名或清理媒体文件。请先在少量文件上验证整理规则,不要直接对唯一副本执行批量操作。

安全风险提示

当前上游镜像的 Debian 基础组件扫描到尚未修复的 CVE(包括 CVE-2026-13221、CVE-2026-42496、CVE-2026-8376 和 CVE-2023-45853,涉及 perl-base 与 zlib1g)。本次版本更新已完成 1Panel 安装、升级、访问、重启、卸载和清理验证,维护者已按维护流程接受该基础组件风险;这不代表漏洞已修复,请在部署前评估暴露面并持续关注上游镜像更新。

网络与内容说明

  • 不同元数据源可能存在地区访问限制,部分站点需要合适的代理或出口地区。
  • 元数据源和影片内容可能受到服务条款、版权或当地法律限制,请仅处理有权持有和管理的内容。
  • 对公网开放时,建议通过 1Panel 网站反向代理启用 HTTPS。

版本说明

  • 0.11.0:固定的官方 WebUI 自托管版本。
  • latest:跟随官方最新发布镜像,升级前应阅读上游发布说明并备份数据。

项目采用 GPL-3.0 许可证。

Introduction

MDCz is a self-hosted video metadata scraper and library management tool. It provides a browser WebUI for scraping metadata, generating NFO files, and organizing media for systems such as Emby and Jellyfin.

Features

  • Scrape metadata and artwork from multiple providers.
  • Generate NFO files and organize local media with configurable naming rules.
  • Persist configuration, authentication state, and tasks in SQLite under /data.
  • Mount the writable media library at /media; verify rules on a small sample before batch operations.

Data paths

APP_DATA_DIR must be a relative path inside the current app directory. Absolute paths, traversal, and symlink paths are rejected. MEDIA_DIR may point to an existing absolute media directory; initialization does not change its ownership or permissions. Ensure UID 1000 can read and write the selected media directory.

Security warning

The current upstream image contains Debian base components with unresolved CVE findings, including CVE-2026-13221, CVE-2026-42496, CVE-2026-8376, and CVE-2023-45853 in perl-base and zlib1g. The upgraded image passed 1Panel install, upgrade, access, restart, uninstall, and cleanup checks; this base-component risk is accepted through the maintainer review process, not fixed by the application update. Assess exposure before deployment and monitor upstream image updates.