Quick Connect for Jellyfin — guide

Installation

You need Jellyfin Server 12.2 or newer and a MediaLab Works account with a license that covers the plugin (an active subscription, a lifetime license within its update window, the Jellyfin bundle or the free 30-day trial).

From your plugin repository (recommended). Jellyfin then installs and updates the plugin by itself.

  1. In your MediaLab Works account open Licenses → Jellyfin plugin repository and click Create address. Copy it: it is private (it contains a token), so do not share it; you can regenerate or revoke it at any time.
  2. In Jellyfin open Dashboard → Plugins → Repositories, click +, give it a name (for example MediaLab Works), paste the address and save.
  3. In Dashboard → Plugins → Catalog find Quick Connect by MediaLab, click Install, then restart Jellyfin.

The repository lists only the plugins your licenses cover, and only the versions they allow. Its download links are signed and expire after a few hours, so Jellyfin always reads a fresh list.

From the public catalog. https://medialab.works/jellyfin/manifest.json lists every released MediaLab Works plugin with its public build; medialab Server adds it by itself. You can add it the same way to install a plugin before you have a key: the plugin then asks for the license, or starts the trial, on its License page. With a lifetime license whose update window has ended, keep to your private repository, which offers only the versions your license allows.

Manually, from a zip file.

  1. In Account → Licenses download jf-quickconnect_x.y.z.zip (the SHA-256 of the file is shown next to the button).
  2. Extract it into a new folder Quick Connect by MediaLab_x.y.z.0 inside the Jellyfin plugins folder:
    • Linux (package): /var/lib/jellyfin/plugins/
    • Docker (official image): /config/plugins/ in the config volume
    • Windows: %ProgramData%\Jellyfin\Server\plugins\
  3. Restart Jellyfin.

License activation

  1. Open the plugin page in Dashboard → Plugins → Quick Connect by MediaLab and click License.
  2. Paste your license key and click Activate with key. The plugin contacts the license server, binds the key to this Jellyfin server and shows the license as Active.
  3. No key yet? On the same page enter your e-mail and start the 30-day free trial (card needed, nothing to pay today) or buy a license; the plugin activates itself when the payment is done.

The license is checked once a day and at every Jellyfin start. Without internet the plugin keeps working for 7 days after the last successful check. Without a valid license the plugin stops its work and only its License page keeps working (trial, key, renewal); nothing is deleted, and everything resumes as soon as the license is valid again. Move license (release this server) on the same page frees the key for another server.

Updates and rollback

  • From the repository: Jellyfin shows new versions in Dashboard → Plugins and can update the plugin automatically; restart Jellyfin to load the new version.
  • From the plugin's License page: with a valid license, Install update installs the newest version your license allows and Roll back to x.y.z goes back to the previous version (for example if something stopped working after an update). Restart Jellyfin after either. Both packages are checked against the checksum published by the license server.
  • A lifetime license receives the versions released during its update window; after it, the plugin keeps working on the last version it may use.
  • After Roll back to x.y.z, Jellyfin's automatic update for that plugin is turned off until the next Install update on the License page, so the scheduled task Update Plugins (at start-up and daily) does not bring the newer version back.
  • Lifetime license and automatic updates. The public Jellyfin catalog (https://medialab.works/jellyfin/manifest.json) always offers the newest version. When the update window of a lifetime license has ended, versions released after it are not licensed: if Jellyfin's automatic plugin updates install one, the plugin stops with "version not licensed" until you go back with Roll back to x.y.z on its License page or buy an update pass. To avoid it, don't let Jellyfin update this plugin automatically: add your private plugin repository, which offers only the versions your license allows, instead of the public catalog, or remove the triggers of the scheduled task Update Plugins in Dashboard → Scheduled Tasks (this stops automatic updates for every plugin).

Source code

The GPL-3.0 source code of each version is in Account → Licenses (Source code), next to the download, as a .tar.gz archive made from the exact commit of that version.

Configuration

Open Quick Connect in the Jellyfin dashboard menu.

  1. Quick Connect in Jellyfin: the plugin works on top of Jellyfin's own Quick Connect. If the panel says it is off, click Turn on Quick Connect (or turn it on in Dashboard → General); while it is off, Jellyfin apps cannot ask for codes.
  2. Settings:
    • The phone and screen pages are active.
    • Approval from the phone with username + password too, for phones where Jellyfin is not signed in. Turn it off to allow only approvals from a phone that already has a Jellyfin session.
    • Administrator accounts cannot approve through the phone page: off by default.
  3. How to use shows the two addresses on your server: the phone page (/Connect/Page) and the screen page for TV browsers (/Connect/Screen). Share the phone page address with your users, or put its QR code next to the TV.

The plugin does not add a one-time code to type in place of the password, on purpose: users who relied on it would be locked out if the plugin were removed. Passwords stay exactly as Jellyfin manages them.

Daily use

  • In a Jellyfin app on the TV (Android TV, Fire TV, webOS, Tizen, Roku and the others): choose Quick Connect on the sign-in screen. The app shows a 6-digit code.
  • In a TV browser: open the screen page. It shows the code and a QR code that leads to the phone page.
  • On the phone: scan the QR code or open the phone page, type the code if it is not filled in already, then approve with one tap as the Jellyfin user already signed in on the phone, or with a username and password. The TV signs in by itself.
  • No account yet? With Registration by MediaLab installed, the phone page shows a link to create one.
  • The panel lists the recent approvals (when, user and how it was approved).

Troubleshooting

  • "Quick Connect is not available on this server": turn on Quick Connect in Jellyfin (the panel has a button for it) and check that the plugin's license is active.
  • "The code is not valid or has expired": check the digits on the TV; Jellyfin's codes expire after a while. Ask the app for a new one.
  • "Too many attempts": wait 10 minutes; the block applies to the address that made the wrong attempts.
  • "The account is disabled" or administrator accounts refused: the account is disabled in Jellyfin, or administrators are not allowed to approve in the plugin's settings.

The build is public; using the plugin requires a license or the free 30-day trial.