From d1e15da33f74db09ef4962b0f5ff2b818f6f8f79 Mon Sep 17 00:00:00 2001 From: Johnnybegood90 Date: Tue, 17 Mar 2026 03:23:37 +0100 Subject: [PATCH] Update README and bump version to 1.7.0 --- README.md | 27 +++++++++++++++++---------- version.json | 2 +- 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index c01edc9..a40d66d 100644 --- a/README.md +++ b/README.md @@ -18,9 +18,9 @@ A public demo instance is available here: -๐Ÿ‘‰ https://guide.demo.johnnybegood.fr/ -Health page: https://guide.demo.johnnybegood.fr/health.php -Setup page (read only on demo): https://guide.demo.johnnybegood.fr/setup.php +- Guide: [guide.demo.johnnybegood.fr](https://guide.demo.johnnybegood.fr/) +- Health: [guide.demo.johnnybegood.fr/health.php](https://guide.demo.johnnybegood.fr/health.php) +- Setup (read-only on demo): [guide.demo.johnnybegood.fr/setup.php](https://guide.demo.johnnybegood.fr/setup.php) This demo runs with sample XMLTV feeds to showcase the interface. @@ -35,17 +35,19 @@ This demo runs with sample XMLTV feeds to showcase the interface. - ๐Ÿ•ถ๏ธ **Past programs** automatically dimmed - ๐Ÿ“‹ **Hover tooltip** โ€” title, synopsis, season/episode, schedule, duration - ๐ŸŽฌ **Program popup** โ€” click any program for full details + IMDb search link +- ๐Ÿ”” **Program reminders** โ€” save a browser reminder from the program popup and get notified 15 minutes before airing - ๐Ÿ”— **One-click copy** buttons for EPG & M3U URLs in the topbar - โ–ถ๏ธ **Built-in HLS player** โ€” click any channel or live program to watch in a PiP overlay - ๐Ÿ”€ **HTTPโ†’HTTPS proxy** โ€” streams Tunarr over HTTP transparently from an HTTPS page - ๐ŸŽจ **Theme system** โ€” drop a CSS file in `themes/` and it appears in the menu automatically - ๐Ÿ“ก **Multi-EPG sources** โ€” configure multiple EPG/M3U sources, switch from the topbar - ๐Ÿ‘ค **Personal EPG** โ€” optionally let visitors use your instance with their own EPG/M3U URLs (saved in localStorage) +- ๐Ÿ—‚๏ธ **Category filter** โ€” narrow the guide to movies, sports, news, kids content, etc. - ๐Ÿ” **Search** โ€” filter the grid by channel name or program title/synopsis (debounced) - โญ **Favorites** โ€” pin channels to the top of the grid, persisted in localStorage - ๐ŸŒ **i18n** โ€” auto-detects browser language, supports EN / FR / ES (add your own in `locales/`) -- โš™๏ธ **Re-editable setup** โ€” protected by an admin key, no SSH required to update config -- ๐Ÿฉบ **Admin health page** โ€” check config, XMLTV, M3U, response times, and metadata coverage +- โš™๏ธ **Re-editable setup** โ€” protected by an admin key, no SSH required to update config, with browser-side admin key memory for convenience +- ๐Ÿฉบ **Admin health page** โ€” check config, XMLTV, M3U, response times, redirects, payload size, and metadata coverage/quality - ๐Ÿ–จ๏ธ **24h printable export** โ€” generate a polished daily schedule for PDF/print and PNG export - ๐Ÿงช **Demo mode** โ€” drop a `.demo` file at the project root to expose admin pages safely in read-only mode - ๐Ÿ”” **Update notifications** โ€” a badge appears in the topbar when a new release is available on GitHub @@ -229,6 +231,7 @@ GridTV detects the missing config and automatically redirects you to the setup p | **Personal EPG** | Toggle to allow visitors to use your instance with their own EPG/M3U | Once submitted, `config.json` is created on the server. **The setup page becomes inaccessible until you re-enter your admin key.** +On the same browser, GridTV also remembers the admin key in `localStorage` so you do not need to type it again on every visit. Admin tools are available here once unlocked with the same key: @@ -275,7 +278,8 @@ nano /var/www/gridtv/config.json "m3u_url": "" } ], - "allow_personal_epg": true + "allow_personal_epg": true, + "allow_personal_m3u": true } ``` @@ -296,8 +300,10 @@ The health page gives you a quick operational view of your instance without need - shows the current PHP version and whether `php-curl` / `php-xml` are loaded - tests each configured XMLTV source - tests each configured M3U playlist when present -- shows response times, final URL after redirects, content type, and basic metadata counts -- highlights XMLTV coverage for things like `category`, `sub-title`, `rating`, and `date` +- shows response times, final URL after redirects, content type, and payload size +- highlights XMLTV coverage for things like `category`, `sub-title`, `rating`, `date`, `desc`, logos, and stop times +- gives you a rough XMLTV quality score per source +- shows M3U stream counts, HTTP vs HTTPS split, and duplicate stream URLs By default, the page is protected by the same admin key as `setup.php`: @@ -416,7 +422,7 @@ gridtv/ โ”‚ โ”œโ”€โ”€ grid.css # Grid, channels, programs, ruler, tooltip, loading โ”‚ โ”œโ”€โ”€ mobile.css # Mobile list view โ”‚ โ”œโ”€โ”€ player.css # HLS PiP player - โ”‚ โ”œโ”€โ”€ modals.css # Personal EPG modal + โ”‚ โ”œโ”€โ”€ modals.css # Program reminder modal + Personal EPG modal โ”‚ โ”œโ”€โ”€ search.css # Search bar + highlight โ”‚ โ”œโ”€โ”€ program.css # Program info modal + midnight marker โ”‚ โ”œโ”€โ”€ favorites.css# Favorite button + separator @@ -437,7 +443,8 @@ gridtv/ โ”œโ”€โ”€ m3u.js # M3U parser โ”œโ”€โ”€ player.js # HLS PiP player โ”œโ”€โ”€ themes.js # Theme switcher - โ”œโ”€โ”€ search.js # Search + filter (debounced) + โ”œโ”€โ”€ search.js # Search + category filter + โ”œโ”€โ”€ reminders.js # Program reminders (localStorage + browser notifications) โ”œโ”€โ”€ program.js # Program info modal + IMDb link โ”œโ”€โ”€ favorites.js # Favorites (localStorage) โ”œโ”€โ”€ updater.js # GitHub update checker diff --git a/version.json b/version.json index d5d8ca8..6076f7d 100644 --- a/version.json +++ b/version.json @@ -1,3 +1,3 @@ { - "version": "1.6.0" + "version": "1.7.0" }