PUQ Jellyfin Family provisioning module

PUQ Jellyfin Family provisioning module

Developed By PUQ Software

Compatible with WHMCS v9.0

Jellyfin Family WHMCS module

The Jellyfin Family WHMCS module turns your WHMCS into an automated platform for selling Jellyfin media-server accounts with a family / sub-account system. Each WHMCS service is mapped to a main Jellyfin user whose access is fully driven by the product configuration: which libraries the user can see, what playback and transcoding is allowed, Live TV access, SyncPlay, streaming bitrate limit, maximum active sessions and failed-login lockout.

On top of the main account, the Family edition lets the client create a configurable number of media accounts — additional named Jellyfin sub-users (username-name), each with its own password, enabled state and restricted set of libraries. Clients add, edit and delete their media accounts, and drop their devices, directly from the client area — all over AJAX.

Account provisioning is automatic — on Create the module generates the username and password, creates the Jellyfin user and applies the configured policy. Suspend / Unsuspend / Change package / Terminate keep the main user and every media account in sync with the WHMCS service lifecycle. Clients manage everything from the WHMCS client area.

What's new in v3.0

Version 3.0 is a complete rewrite that brings the module up to the modern PUQ standard:

  • Media accounts, reimagined — the family sub-account system is now fully AJAX: add, edit and delete media accounts in a modal, pick their libraries with checkboxes, toggle each one on/off and drop its devices — all without leaving the page.
  • Redesigned client area — a beautiful, fully AJAX card-based interface: a gradient status hero, account credentials with copy/show, live usage bars (sessions, failed logins), library chips, an active-devices table and a media-accounts card. No page reloads — every action reports back with a toast.
  • Dynamic library picker — libraries are now loaded live from your Jellyfin server as checkboxes with Select all and Reload, instead of typing names by hand.
  • Jellyfin 10.11.10+ ready — switched to the modern Authorization: MediaBrowser scheme and the current API routes, so the module keeps working on Jellyfin 10.12 / 10.13 where the legacy authorization is removed.
  • One-click self-service — clients can drop all devices and unblock their account straight from the client area.
  • ⚙️ Streamlined configuration — all product settings live in a single, injected settings panel; upgrading from v2.x needs no reconfiguration.
  • Hardened & diagnosable — PHP 7.4 / 8.1 / 8.2+ clean, null-safe, with full error logging to the WHMCS Module Log for easy troubleshooting.
  • 25 languages — the full interface is translated.

Main features

  • Automatic provisioning — Jellyfin user created on service activation with generated credentials
  • Media accounts (Family) — let clients create a configurable number of sub-users, each with its own password, enabled state and library subset; managed from the client area over AJAX
  • Full lifecycle sync — suspend, unsuspend, change package, terminate and change password (cascaded to every media account)
  • Library access control — grant all libraries or a selected set per product
  • Playback & transcoding policy — media playback, audio/video transcoding, remux without re-encoding, force remote-source transcoding
  • Feature access — Live TV access and recording management
  • Session & security limits — streaming bitrate limit, maximum active sessions, failed-login lockout
  • SyncPlay & downloads — SyncPlay access level and media-download control
  • Flexible credentials — configurable password generation and standard or macro-based custom username templates
  • AJAX client area — modern card-based UI showing status, credentials, allowed libraries, active devices and sessions
  • Self-service actions — clients can drop all devices and unblock their account
  • Admin service tab — user status, libraries, package info and active devices on the WHMCS service page
  • Multi-language — 25 languages
  • License verification — built-in online/offline license system with admin homepage alerts

System requirements & compatibility

The module supports PHP 7.4, 8.1 and 8.2+, shipped as a separate ionCube build per PHP version. Download the build that matches the PHP version your WHMCS runs on.

WHMCS version PHP version Module build WHMCS 8.x 7.4 php74 WHMCS 8.x 8.1 php81 WHMCS 8.x 8.2 php82 WHMCS 9.x 8.2 php82

Match the build to the server's PHP version, not to the WHMCS version. PHP 8.2 and any newer PHP → always use php82. Requires ionCube Loader v13+.

A reachable Jellyfin server, version 10.11.10 or newer, with an administrator account and API key is required. The module uses the modern Authorization: MediaBrowser scheme and the current user/password API routes, so it stays compatible with Jellyfin 10.12/10.13 where the legacy authorization headers are removed.

Module Documentation

English documentation: https://puqcloud.com/link.php?id=98

 

There are no reviews yet!

Be the first to review PUQ Jellyfin Family provisioning module.

Version Compatibility


Compatible with WHMCS v9.0

Full Version Compatibility


  • All versions of WHMCS v9.0
  • All versions of WHMCS v8.13
  • All versions of WHMCS v8.12
  • All versions of WHMCS v8.11
  • Selected versions of WHMCS v8.10
        8.10.0
  • Selected versions of WHMCS v8.9
        8.9.0
  • Selected versions of WHMCS v8.8
        8.8.0
  • All versions of WHMCS v8.7
  • All versions of WHMCS v8.6
  • All versions of WHMCS v8.5
  • All versions of WHMCS v8.4
  • All versions of WHMCS v8.3
  • All versions of WHMCS v8.2
  • All versions of WHMCS v8.1
  • All versions of WHMCS v8.0

Support for this product

The best place to start if you need help with a specific product is to contact the developer. All WHMCS Marketplace developers have both a website and support URL listed.

Developed By PUQ Software

Changelog

v3.0 Released July 1st, 2026

Latest Version


Full rewrite onto the PUQ module skeleton (shared with the other PUQ WHMCS modules).

Added

  • AJAX, card-based client area with a gradient status hero, a two-column account/usage layout, usage progress bars (sessions, failed logins), library chips, an active-devices table and a media-accounts card — plus toast notifications and confirm dialogs.
  • AJAX media accounts (Family). Clients add, edit and delete media accounts in a modal, pick their libraries with checkboxes, toggle each on/off and drop its devices — all without a page reload. The old ?action_m= sub-pages are replaced. The number of media accounts is set per product (Media Accounts Configuration → Count of media accounts).
  • Suspend / Unsuspend / Change package / Terminate now cascade to every media account (disable, re-enable to the stored state, re-apply policy, or delete).
  • Admin service tab shows a Media Accounts table (enabled state, username, enabled libraries).
  • Self-service Drop all devices and Unblock actions in the client area (no page reload).
  • Dynamic library picker in the product configuration form: the library list is loaded live from the assigned Jellyfin server as checkboxes, with a Select all toggle and a Reload button (with a manual text-box fallback when the server is unreachable). The separate Use all libraries switch is kept.
  • Product configuration form injected on the WHMCS product page via AdminAreaFooterOutput.
  • Admin homepage license alert listing products with invalid or missing licenses.
  • Automatic schema setup — the module self-creates its puq_license and puqJellyfinFamily_media_account tables on load (no SQL to run).
  • Diagnostic logging throughout. Every lifecycle action, hook and AJAX call records its result and any exception to the WHMCS Module Log; all Jellyfin API calls log their request/response on error (and every write call on success), with the HTTP status code and the real Jellyfin message. Passwords are redacted in the log.

Changed

  • Jellyfin 10.11.10+ compatibility. Switched to the modern Authorization: MediaBrowser header (with Version) as the primary scheme and dropped the deprecated X-Emby-Token / X-MediaBrowser-Token headers that Jellyfin removes in 10.12/10.13. The password endpoint now uses the current route Users/Password?userId= instead of the deprecated Users/{id}/Password.
  • CreateAccount now reads the new user's Id directly from the Users/New response instead of re-listing all users and matching by name (faster and robust against special characters).
  • API error handling now inspects the HTTP status code and extracts the real Jellyfin error message (ProblemDetails / validation errors) instead of occasionally treating a 4xx as success.
  • All product settings are now stored as a single JSON document in configoption24. Existing v2 installs are read transparently from the legacy configoption2configoption8 slots (including Media Accounts Configuration in configoption2), so no reconfiguration is required after upgrading.
  • License verification moved to a block-based hash with online/offline caching.
  • Jellyfin admin API token is cached per instance instead of re-authenticating on every call.
  • PHP 7.4 / 8.1 / 8.2+ compatible source; hardened with null-safe reads, try/catch around all external calls, and htmlspecialchars on every API-sourced string.

Fixed

  • Web-interface URL no longer mishandled the plain-HTTP/port-80 case (operator-precedence bug in the default-port check).
  • Empty text fields (e.g. an intentionally blank username suffix) are now preserved instead of reverting to their default on save.

Removed

  • Legacy lib/functions.php, lib/puqJellyfinFamilyLicense.php, lib/puqJellyfinFamilyPackageOption.php and the old templates/include/header.tpl (folded into the new skeleton).

 

Previous Versions


v2.1 Released October 14th, 2025

View/hide detailed changelog

  1. Adding availability to create a rule about custom username
  2. Adding availability to create a rule about custom password
  3. Supported php8.2+ version
  4. Support for custom admin path

You should save the 'Module Setting' in your products for the module to function correctly.

 

v2.0 Released September 24th, 2024

View/hide detailed changelog

Module is coded ionCube v13

Supported php version:

  • php 7.4 WHMCS 8.11.0 -
  • php 8.1 WHMCS 8.11.0 +
  • php 8.2 WHMCS 8.11.0 +

 

v1.3.2 Released August 13th, 2024

View/hide detailed changelog

  1. Fixed bug with password, when "Show password" is "no"
  2. Fixed a bug with sub-accounts. Now, if the number of media accounts equals 0, when "Change package" is clicked, the sub-accounts are removed.

 

v1.3.1 Released August 1st, 2024

View/hide detailed changelog

  1. Fixed a bug with adding sub-accounts when the allowed count of media sub-accounts is 0

 

v1.3 Released July 31st, 2024

View/hide detailed changelog

  1. Fixed bug with header template
  2. Fixed bug with updating sub-account password in database

 

v1.2 Released July 12th, 2024

View/hide detailed changelog

  1. Client area more adapted for mobile version
  2. Buttons for copying login and password have been added to the client area
  3. Fixed bug with edit sub-account

 

v1.1 Released May 15th, 2024

View/hide detailed changelog

  1. Fixed a bug where purchasing a new service would alter the parameters of all accounts on the server.
  2. Translate some phrases
  3. Some changes in client area

 

v1.0 Released May 3rd, 2024

View/hide detailed changelog

First version

 

See also

Hetzner Servers Manager

Integrate manager for Hetzner Dedicated

Commercial
Liquid Web VPS & Cloud Dedicated Reseller Program

Resell VPS & Cloud Dedicated Products from Liquid Web

Free
SolusVM WHMCS module

Automate the sale of VPS servers & give your clients the ability to completely manage their VPS server inside of WHMCS, using the industry leading SolusVM control panel.

Free
Acronis Cyber Protect Cloud

AI-Powered Integration of Data Protection and Cybersecurity.

Free
VPN reseller module

Resell VPN accounts with whitelabel Windows, Mac, IOS and Android software

Free