Turn your debrid account into a normal Jellyfin library: movies, shows, seasons and episodes, named and matched the way LeLibrary names them.
Status: released (0.1.10). The loop is verified end to end on a real library (36,000+ files, movies and episodes, Range playback through Jellyfin), and the metadata — overviews, genres, ratings, episode titles, artwork — is served by LeLibrary rather than Jellyfin's own TMDb and TVDB plugins.
-
Add the plugin repository. Jellyfin -> Dashboard -> Plugins -> Repositories -> add this URL:
https://lelibrary.github.io/LeLibrary-Jellyfin/manifest.json -
Install the plugin. Plugins -> Catalog -> LeLibrary -> Install, then restart Jellyfin. Jellyfin updates it from the same repository from then on.
-
Copy your LeLibrary URL. On your LeLibrary Setup page open the Jellyfin card: it has the repository URL and your personal setup link. Copy the setup link.
-
Fill in the plugin settings. Dashboard -> Plugins -> LeLibrary:
Field Value Debrid provider TorBox (Real-Debrid, AllDebrid and Premiumize follow) Debrid API key your own key LeLibrary URL the link from the Setup card Server URL the address players use, e.g. http://192.168.1.20:8096Sync every 6 hours (default) Press Test key, then Run sync now. The sync creates a LeLibrary Movies and a LeLibrary Shows library itself and fills them - there is no folder to pick and no library to add. Tens of thousands of titles appear in one pass, in about two minutes.
No release yet? If the catalog shows nothing, the repository has no tagged build.
scripts/local-repo.shbuilds the same zip andmanifest.jsonlocally; add that folder as a repository instead.
The plugin does not download or re-host anything, and LeLibrary never sees your debrid key or a byte of your playback:
- You paste your setup's LeLibrary URL and your own debrid API key into the plugin settings.
- The plugin asks LeLibrary which titles belong in the library and what they are called, then lists your debrid account itself.
- It creates the items inside Jellyfin - no files, no library scan. Each item's play address is the plugin's own resolver, so playback always gets a fresh link.
- When you press play, Jellyfin asks the plugin for a media source, the plugin mints a fresh debrid link, and Jellyfin streams it. Links expire; a new one is minted every time.
Your files stay on your debrid account. Playback runs through your own Jellyfin server, so its upload bandwidth is the ceiling.
- Jellyfin 12. Not 10.11 and not 10.10.
- The indexed LeLibrary library (a Postgres-backed LeLibrary instance).
- A debrid account. TorBox is supported first; Real-Debrid, AllDebrid and Premiumize follow.
Inside the official Jellyfin container, the address Jellyfin reports for itself
is the container's own interface, which a player cannot reach. Fill Server
URL in the plugin settings with the address players use, for example
http://192.168.1.20:8096. On a native install it can stay empty.
The library folder also has to be a path Jellyfin can see: the default
/config/lelibrary lives in the container's config volume, which is fine, but
it is not on a media share.
Jellyfin stores plugin settings as plain XML. Anyone who can read the config directory can read your debrid API key. That is true of every debrid plugin, and this one does not pretend otherwise: protect the host or the disk (file permissions, a dedicated machine, full-disk encryption).
The same applies to your LeLibrary URL: it contains your setup secret, it is
written into the .nfo files as art URLs, and anyone who can read it can read
your library.
Needs the .NET 10 SDK:
dotnet build -c Release
dotnet testLeLibrary for Jellyfin is licensed under the
GNU General Public License v3.0 (GPL-3.0-only). That is the licence
Jellyfin itself uses, and the one a plugin that links against
Jellyfin.Controller is distributed under.
In short: you can install it, read it and change it. If you distribute a modified build, you must publish your changes under the same licence, and there is no warranty.