]> ##&name; ###2026.06.19 - Fix stream termination: was sending the numeric sessionKey where Plex expects the session UUID (Session.id); now passes the correct sessionId to /status/sessions/terminate - Replace PHP 8 str_starts_with with strpos for broader Unraid compatibility - Escape OS_VERSION/PLUGIN_VERSION and theme values written into JavaScript ###2026.05.18 - Detail panel now shows the subtitle stream (track name, language, and whether Plex is burning it into the video — which forces a video transcode) - New "Open in Plex" button in the detail panel deep-links to the title on app.plex.tv, so you can jump from a session to the library entry - Header now carries a small bandwidth sparkline alongside the total Mbps - New **Sort Streams By** setting (start time / user / bandwidth) on the Plex Streams Settings page — applies to the dashboard widget and the Streams sidebar page - New **Notify on New Stream** setting that fires an Unraid notification whenever a new Plex session starts — delivered through whichever channels you've configured under Settings → Notification Settings (browser toast, email, agents). Off by default. - Unreachable Plex servers now surface in the widget header instead of silently dropping out, e.g. "1 server unreachable: Living Room" - Polling pauses while the dashboard tab is hidden and fires immediately when you come back, so the widget stops hitting Plex for nothing - Fix: image proxy was serving stale 304s — a poster you replaced in Plex would stay cached in the browser forever. Validators are now forwarded to Plex and 304 only when Plex confirms the asset is unchanged - Fix: multi-file movies (split parts) rendered with no progress / decision chips because the Part list wasn't normalised on the video path - Fix: divide-by-zero PHP warning on live / zero-duration video sessions - Fix: widget could crash on Cond evaluation when the cfg file was missing (fresh install, before first save) - Fix: Plex servers reached on default ports (no explicit :port in the URL) produced a malformed @host string in the detail panel - Fix: empty progress bar width on audio tracks with no duration - Settings: server list no longer shows permanent scrollbars - PLUGIN_VERSION is now read straight from the .plg so the OAuth header always matches the installed release ###2026.05.16 - Installer now shows as "Plex Streams" in the Plugins page (was "plexstreams") - Settings page title is now "Plex Streams Settings" - Modernized the full Streams sidebar page to use the same design language as the dashboard widget (decision badges, location chip, session uptime, click-to-expand details, terminate button) - Dropped legacy Unraid pre-6.12 code paths (the old Dashboard.page, Settings.page fallbacks, and the Legacy.php translation shim) - Removed two helpers that weren't called from anywhere (getServerCheckboxes, generateServerList) - SSRF fix in movieDetails.php: host is now validated against your configured Plex servers, same guard as the image proxy and terminate endpoint - Folded movieDetails.php's duplicate getUrl/v_d into includes/common.php; movieDetails.php now uses htmlspecialchars on all server-supplied fields - Simplified getUrl to a single curl-based code path (drop the file_get_contents fallback); shared cURL options between single and multi-curl calls - Page visibility (DISPLAY_NAV, DISPLAY_WIDGET) is now Cond="" driven — removed the .page.off rename dance left over from older Unraid ###2025.07.18 (loukaniko fork) - Redesigned the dashboard widget: poster thumbnails, inline progress, decision badge (TRANSCODING HW/CPU, DIRECT PLAY, DIRECT STREAM), resolution + bandwidth chips, LAN/WAN chip with country flag and city - Header shows total bandwidth alongside the stream count - Per-row session uptime ("started 18m ago"); absolute time in tooltip - Click any stream for full session details (player, device, codec, container, full geoip) - Optional Terminate button to kick a session — off by default; turn on under Settings → Plex Streams → Allow Stream Termination - Caches the Plex device list (5min) and geoip results (24h) so the widget doesn't hammer plex.tv on every poll - Settings: refresh interval, poster toggle, allow termination toggle - Removed the Tools menu entry (redundant with the sidebar and widget) - Fix: video length was being nulled by a typo (`$lengthMinuites`) - Fix: LAN/WAN/geoip labels missing on audio-only streams - Fix: PHP warnings on the settings page when fields weren't set - Fix: SSRF in the image proxy — host is now validated against your configured Plex servers - Repointed installer to this fork; added MIT LICENSE; GitHub Actions builds the .txz on push ###2023.11.27 - Correcting bug for settings page ###2023.06.29 - Correcting display issue of end time for a stream ###2023.06.28a - Correcting reversed logic ###2023.06.28 - Making end time respect time display settings - Fix for deprecated warning ###2023.05.23 - Adding a fix to surpress issues during plugin install ###2023.05.18 - Add more fixes for PHP notices - Fix for display of Live TV streams ###2023.04.18a - Even more minor fixes ###2023.04.18 - More minor bug fixes ###2023.04.07 - Minor bug fix to get rid of php warnings ###2023.04.06a - Add estimated end time to dashboard widget for unraid 6.12rc2+ ###2023.03.31a - Bug fix for desktop widget when displaying stream count per server ###2023.03.31 - Defect fix for legacy versions ###2023.03.29a - Minor adjustment ###2023.03.29 - Fix a bunch of issues for UnRaid versions less than 6.12rc2 ###2023.03.28b - Fixing bug with unRaid less than 6.12 ###2023.03.28a - Correcting a typo for legacy support ###2023.03.28 - Added Support for displaying which server the video/audio is streaming from - More fixes for PHP warnings ###2023.03.26 - Various fixes for PHP warnings ###2023.03.22 - Minor adjustments for PHP warnings/deprecations ###2023.03.21 - Add compatability for Unraid 6.12 - Fix bug with livestreams - Update nav/dashboard module to use conditions for whether to display instead of renaming files ###2022.08.31 - Fix permissions issues ###2022.08.29 - Fix issue for audio files where title attribute contained html ###2021.08.26 - Fix file permissions issues ###2021.08.09a - just some adjustments to naming ###2021.08.09 - Fixes for sorting of dashboard widget - Fix for collapsing/expanding of dashboard widget ###2021.03.22 - Fixing Removal of custom servers ###2021.03.17 - Fix collapse bug for dashboard widget ###2021.02.11a - Added custom servers to Legacy Settings page ###2021.02.11 - Added ability to setup custom servers, that may not be getting returned from plex ###2021.02.09a - Fix issue with images not showing ###2021.02.09 - Correcting some display issues where audio streams from plexamp were not showing - Adding details about transcoding sessions ###2020.07.23 - Correcting legacy display issue for dashboard widget ###2020.07.20 - Correct display issue on settings page ###2020.07.09 - Correcting display issue for the dashboard widget ###2020.06.30b - Correct display issue for details page when there is no Director. ###2020.06.30a - Fix display issue for Legacy support ###2020.06.27 - Add Multi language support ###2020.06.26b - Both the dashboard and the streams page now fully update with new/removed streams without having to reload ###2020.06.22 - Updated streams page to update streams via ajax, still need to have it add streams as they come online ###2020.06.20c - Add streaming user to dashboard widget ###2020.06.20b - Updating movie details page to use correct HOST ###2020.06.20a - Fix javascript issues, and dashboard widget issue ###2020.06.20 - Fix JavaScript Issue when retrieving plex token ###2020.06.19 - Added the ability to view multiple servers at a time ###2020.06.12a - Add Geo IP lookup ###2020.06.12 - Make server list load via ajax so that it doesnt slow down the initial rendering the pages ###2020.06.10a - Correcting display issue with live streams from Tuner Devices ###2020.06.10 - Updated way to use SSL when connecting to plex server. This should fix outstanding problems. ###2020.06.09c - All multi-curl support and foundation for including DVR recording sessions - Added option to force https communication with Plex Servers - doesnt work locally, but maybe would work for others ###2020.06.09b - Correct streams page image output and error for ajax call for Live TV streams ###2020.06.09a - Make sure settings are set before trying to display streams in the widget ###2020.06.09 - Correct issue when plex server has disabled remote connections ###2020.06.07a - Make dashboard widget use ajax so that it doesnt slow down the loading of the dashboard ###2020.06.07 - Maintain settings for dashboard widget and nav item ###2020.06.03 - Fix diplay issue where more than 3 streams was not wrapping ###2020.05.28b - Make sure server selection drop down appears when default server has no streams ###2020.05.28a - Added the ability for the streams page to show different servers - Default server is what is used for dashboard widget ###2020.05.28 - Correcting details sent to Plex.tv during OAuth Process ###2020.05.27a - Fix issue for movie details where not being pulled ###2020.05.27 - Integrate with Plex OAuth - Allow for remote plex server connection - Correct issue for remote plex server wasnt displaying artwork ###2020.05.20b - Ability to turn dashboard widget on/off - Ability to turn top level nav on/off ###2020.05.20a - Correcting missing streamcount from dashboard widget ###2020.05.20 - Add audio streams to both streams page and dashboard widget - Remove debug output from saving settings - Correct details screen for TV Shows ###2020.05.19a - Correcting display issue for stream transcodes ###2020.05.19 - Correct display issue on dashboard widget for long titles ###2020.05.18b - Display state icon on dashboard widget - Correct label for password on settings screen - Make setting icon link directly to Plex Stream Settings ###2020.05.18a - Added basic dashboard widget functionality ###2020.05.18 - Correct issue for direct play status wasnt showing for audtio/video ###2020.05.16 - Added the ability to click on the Stream title to get content details - Fixed bug that was displaying progress time incorrectly ###2020.05.15a - Fixing bug for stream type wasnt being displayed ###2020.05.15 - More tweaks to UI ###2020.05.14e - Remove unused function ###2020.05.14d - Some CSS tweaks and add icon for when tasks menu is on the left ###2020.05.14c - Initial Beta Release &gitURL;/archive/&plgNAME;.txz &md5; # Clear server-list and geo cache after upgrade so changes take effect immediately. rm -rf /tmp/plexstreams_cache 2>/dev/null # Page visibility is now controlled by Cond="" on the .page files # themselves, so no .page.off renaming is needed. echo "" echo "-----------------------------------------------------------" echo " Plex Streams has been installed." echo " Version: &version;" echo " Fork: https://github.com/loukaniko85/unraid-plexstreams" echo "-----------------------------------------------------------" echo "" # uninstall plugin removepkg &plgPATH;/*.txz rm -rf &emhttp; rm -rf &plgPATH;/*.txz \ &plgPATH;/*.md5 rm -rf /tmp/plexstreams_cache echo "" echo "-----------------------------------------------------------" echo " Plex Streams has been uninstalled." echo " Please reboot your server to complete uninstall this plugin." echo " Version: &version;" echo "-----------------------------------------------------------" echo "" exit 0