Gleicht eine Plex-Filmbibliothek gegen eine vorgegebene Liste ab (MDBList, IMDb-CSV, Trakt-JSON oder Freitext) und markiert jeden Eintrag als vorhanden, fehlt oder unsicher. Zusaetzlich gibt es eine Ansicht "nur in Plex" fuer alles, was in der Bibliothek liegt, aber nicht auf der Liste steht.
Zwei Varianten, gleiche Logik:
| Datei | Plattform | Oberflaeche |
|---|---|---|
PlexMatchGUI.ps1 |
Windows 10/11, Windows PowerShell 5.1 | native WPF-Fenster |
plexmatch.py |
Windows / Linux / Unraid, Python 3.8+ | lokaler Webserver, Browser-GUI |
Keine externen Module, keine Pakete, keine Cloud. Alles laeuft lokal gegen die Plex-API.
PlexMatchGUI.ps1undStart-PlexMatch.cmdin denselben Ordner legen.- Einmalig die Datei entsperren, falls sie aus dem Browser kam:
Unblock-File .\PlexMatchGUI.ps1Start-PlexMatch.cmddoppelklicken.- Server-URL und Token eintragen, Bibliotheken laden, Liste angeben, Abgleich starten.
Der Starter ruft gezielt System32\WindowsPowerShell\v1.0\powershell.exe mit -STA auf.
Unter PowerShell 7 laeuft das Skript nicht, dort fehlt der STA-Modus fuer WPF.
python3 plexmatch.py --port 8099Danach http://<host>:8099 im Browser. Optionen:
--hostBind-Adresse, Standard0.0.0.0--portPort, Standard8099--openoeffnet den Browser automatisch
Auf Unraid laeuft das Skript mit dem Plugin "Python 3 for Unraid" direkt im Terminal oder als User-Script.
- In Plex Web einen beliebigen Film oeffnen.
- Im Drei-Punkte-Menue Get Info, dann View XML.
- In der Adresszeile des neuen Tabs steht
X-Plex-Token=...am Ende.
MDBList — Listen-URL einfuegen, der /json/-Endpunkt wird automatisch angehaengt:
https://mdblist.com/lists/benutzer/listenname
Bei privaten Listen die API-Route mit eigenem Key verwenden:
https://api.mdblist.com/lists/benutzer/listenname/items?apikey=DEINKEY
IMDb-CSV — Export aus einer IMDb-Liste oder den Ratings, Spalten Const, Title,
Year. Ueber Datei oeffnen einlesen.
Freitext — eine Zeile pro Film, alle drei Formen funktionieren gemischt:
tt0111161
Der Pate (1972)
Dune;2021
HTML — laedt eine Quelle statt JSON eine Webseite aus, zieht plexmatch als Notnagel
alle imdb.com/title/tt...-IDs heraus und dedupliziert sie.
- IMDb-ID aus den Plex-GUIDs. Gelesen werden das aktuelle
Guid-Array und das altecom.plexapp.agents.imdb://-Format. Das ist sprachunabhaengig und trifft "The Godfather" auf einen als "Der Pate" gescannten Film. - Titel + Jahr als Fallback. Der Titel wird normalisiert: Akzente und Umlaute
aufgeloest, fuehrende Artikel entfernt, Satzzeichen und
&/+vereinheitlicht, "Part"/"Teil" gestrichen. - Optional Jahr +/-1 tolerieren, fuer Filme mit abweichendem Erscheinungsjahr.
Statuslogik:
| Status | Bedeutung |
|---|---|
vorhanden |
IMDb-Treffer, oder Titel+Jahr, oder eindeutiger Titel ohne Jahresangabe |
unsicher |
Titel mehrdeutig, mehrere Kandidaten in der Bibliothek |
fehlt |
kein Treffer |
nur Plex |
in der Bibliothek, nicht auf der Liste |
Die Statuszeile meldet, wie viele Plex-Filme keine IMDb-ID haben. Diese laufen ausschliesslich ueber Titel+Jahr und sind die haeufigste Fehlerquelle. Wenn die Zahl hoch ist, hilft ein "Refresh Metadata" auf der Bibliothek.
Jede Ansicht laesst sich einzeln exportieren:
- CSV mit allen Spalten, Semikolon-getrennt, Excel-tauglich
- IMDb-IDs als reine Textliste, direkt als Radarr-Import verwendbar
- Titel mit Jahr in Klammern
| Variante | Pfad |
|---|---|
| Windows-GUI | %APPDATA%\PlexMatch\settings.json |
| Web-GUI | ~/.plexmatch.json, ueberschreibbar mit PLEXMATCH_CONFIG |
Der Token wird nur gespeichert, wenn das Haekchen gesetzt ist. Die Windows-GUI legt ihn
per DPAPI ab, entschluesselbar nur mit demselben Windows-Benutzerkonto. Die Web-GUI
speichert im Klartext mit chmod 600.
MIT, siehe LICENSE.