Project Icon

checkrr

智能检测和替换损坏媒体文件的开源工具

Checkrr是一款开源的媒体文件完整性检查工具。它通过ffprobe、魔数检查和MIME类型验证等多种方法自动扫描媒体库,识别损坏文件。Checkrr可与Sonarr、Radarr等服务集成,实现问题文件的自动替换。支持多路径扫描和Docker部署,适用于大型媒体库的维护。其独特的哈希记录功能显著提高了重复扫描的效率。

Checkrr

Scan your library files for corrupt media and replace the files via sonarr and radarr

Why does this exist

I've been running a media library for the past ~ 8 years migrating my library between both servers (I've had 3 so far) and filesystems (ext4 on LVM was a mistake). I've lost whole disks worth of data in the past and my library has had various problems ever since that I have never bothered to fully track down until now.

Checkrr runs various checks (ffprobe, magic number, mimetype, and file hash on subsequent runs to drastically improve speed) on the path you specify as checkpath in the config.

  • If the file passes inspection, the hash is recorded in a bbolt flatfile DB so future runs are insanely fast on large libraries.
  • If the file fails all checks checkrr will check sonarr and/or radarr for the file removing it and requesting a new version via the correct system (assuming they are enabled... you could just run checkrr in a no-op state by setting sonarr.process: false and radarr.process: false in the config and then egrep the output like so checkrr check | egrep "Hash Mismatch|not a recognized file type" for environments that do not run either of these.)

Screenshots

Idle screenshot Running screenshot

Installation and running checkrr

cli

  • Install prerequisite packages via your package manager or by downloading the installer (for windows): ffmpeg
  • Make sure ffprobe is in your $PATH var. If you installed from a Linux/macOS package manager, it is. If you are on windows, you'll need to make sure you can run ffprobe from a basic command prompt/powershell.
  • Grab a release from the releases page.
  • Copy the example config from the repo: wget https://raw.githubusercontent.com/aetaric/checkrr/main/checkrr.yaml.example -O checkrr.yaml
  • Edit the config in your favorite editor. Make sure you remove any sections you aren't using. (If you aren't using influxdb 1 and/or 2 for example, you should remove the entire stats block from your config.)If you aren't sure what the minimal config file can look like, check https://raw.githubusercontent.com/aetaric/checkrr/main/checkrr.yaml.minimal.
  • To run checkrr as a daemon, use checkrr -c /path/to/checkrr.yaml. If you'd like checkrr to run once and then exit (useful for running in your own cron daemon) checkrr -c /path/to/checkrr.yaml --run-once.

docker

YOU MUST CREATE THE CONFIG AND DB FILES BEFORE STARTING. checkrr will complain if these are directories. Docker doesn't know you want to mount a file unless it already exists.

  • creating empty db file: touch checkrr.db
  • creating a config file from the example: wget https://raw.githubusercontent.com/aetaric/checkrr/main/checkrr.yaml.example -O checkrr.yaml make sure you edit the example config from the defaults. Remove any unused sections. While editing the example you might want to add path mappings if the path to your media differs from arr services and checkrr.

Running Checkrr

cli as a daemon: checkrr -c /etc/checkrr.yaml

cli as a one-off: checkrr -c /etc/checkrr.yaml -o

docker: docker run -v /path/to/checkrr.yaml:/etc/checkrr.yaml -v /path/to/media:/media -v /path/to/checkrr.db:/checkrr.db aetaric/checkrr:latest

compose:

---
version: "3"

services:
  checkrr:
    container_name: checkrr
    image: aetaric/checkrr:latest
    volumes:
      - /path/to/checkrr/config/checkrr.yaml:/etc/checkrr.yaml
      - /path/to/checkrr/config/checkrr.db:/checkrr.db
      - /path/to/media/to/scan:/media
    ports:
      - 8585:8585
    restart: on-failure

unRAID using mrslaw's community applications repo

Please note the Additional Requirements on the details screen prior to pressing install. mrslaw has all the commands you need to run there.

Upgrading to 3.1 or newer

checkrr > 3.1 has changed the way arr services are handled. Please review the example config and bring your config into compliance prior to running checkrr. With the 3.1 release checkrr supports having multiple of each arr service. So you could have 3 sonarr instances connected. Each arr config under arr: has a service key to tell checkrr what service type it is. This can be set to sonarr, radarr, or lidarr. Please note that if you are running on docker, you will likely want to setup path mappings for each service. checkrr will attempt to translate the paths that the arr services see when working with their APIs.

Building

Should you want to build checkrr from source, you can do so with the following: cd webserver && yarn build && cd .. && go build Please note, if you build checkrr yourself, you will be told to download the official release if you open an issue for a bug.

Contributions

Something something fork and PR if you have something to add to checkrr. I'm happy to review PRs as they come in.

FAQ

How do I add multiple paths for checkrr to check?

You can specify multiple folders to check via the config file

checkrr:
  checkpath:
    - /media/TV_Shows
    - /media/Movies
项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

白日梦AI

白日梦AI提供专注于AI视频生成的多样化功能,包括文生视频、动态画面和形象生成等,帮助用户快速上手,创造专业级内容。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

讯飞绘镜

讯飞绘镜是一个支持从创意到完整视频创作的智能平台,用户可以快速生成视频素材并创作独特的音乐视频和故事。平台提供多样化的主题和精选作品,帮助用户探索创意灵感。

Project Cover

讯飞文书

讯飞文书依托讯飞星火大模型,为文书写作者提供从素材筹备到稿件撰写及审稿的全程支持。通过录音智记和以稿写稿等功能,满足事务性工作的高频需求,帮助撰稿人节省精力,提高效率,优化工作与生活。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号