Project · Tool

Xenticorp Media Importer

Plug a USB stick into X4 and its movies and shows land in the Jellyfin library, verified, with nothing to click.

Updated Linux Headless Python udev systemd Jellyfin

The problem

Getting compressed and encoded rips from another machine onto the server meant copying files over by hand and sorting each one into the right movie or show folder. Now it’s plug in, wait, unplug.

How it works

  1. Plug in the USBudev spots the drive and starts the import service. No screen, no clicks.
  2. Sort and matchMovies go to Movies. Show folders are matched to the shows already in the library, ignoring case, punctuation and the year, so they land in the right place.
  3. Copy, verify, clean upEvery file is copied, checked with SHA-256, and only then deleted from the USB.

Where files go

Put a Compressed Media folder at the root of the USB stick.

On the USBCompressed Media/Movie.mkv Compressed Media/The Big Bang Theory/Season 1/…
In the librarymovies/Movie.mkv shows/The Big Bang Theory (2007)/Season 1/…

Built not to lose anything

Nothing is deleted from the USB until its copy is verified. The library drive itself is never touched, and the importer won’t run at all if the library isn’t mounted. Episode files dropped loose at the root of the folder are skipped and left on the stick, and the run is flagged so it’s obvious something needs sorting.

Install

On the media server. Set your library path first; the README covers it.

git clone https://github.com/Xenticorp1/xenticorp-media-importer.git media-import cd media-import sudo ./install.sh