Merge remote-tracking branch 'origin/beta'

README.md Update
version.json upgraded.
This commit is contained in:
Johnnybegood90
2026-03-17 03:24:38 +01:00
2 changed files with 18 additions and 11 deletions
+17 -10
View File
@@ -18,9 +18,9 @@
A public demo instance is available here: A public demo instance is available here:
👉 https://guide.demo.johnnybegood.fr/ - Guide: [guide.demo.johnnybegood.fr](https://guide.demo.johnnybegood.fr/)
Health page: https://guide.demo.johnnybegood.fr/health.php - Health: [guide.demo.johnnybegood.fr/health.php](https://guide.demo.johnnybegood.fr/health.php)
Setup page (read only on demo): https://guide.demo.johnnybegood.fr/setup.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. 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 - 🕶️ **Past programs** automatically dimmed
- 📋 **Hover tooltip** — title, synopsis, season/episode, schedule, duration - 📋 **Hover tooltip** — title, synopsis, season/episode, schedule, duration
- 🎬 **Program popup** — click any program for full details + IMDb search link - 🎬 **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 - 🔗 **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 - ▶️ **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 - 🔀 **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 - 🎨 **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 - 📡 **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) - 👤 **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) - 🔍 **Search** — filter the grid by channel name or program title/synopsis (debounced)
-**Favorites** — pin channels to the top of the grid, persisted in localStorage -**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/`) - 🌍 **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 - ⚙️ **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, and metadata coverage - 🩺 **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 - 🖨️ **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 - 🧪 **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 - 🔔 **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 | | **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.** 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: Admin tools are available here once unlocked with the same key:
@@ -275,7 +278,8 @@ nano /var/www/gridtv/config.json
"m3u_url": "" "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 - shows the current PHP version and whether `php-curl` / `php-xml` are loaded
- tests each configured XMLTV source - tests each configured XMLTV source
- tests each configured M3U playlist when present - tests each configured M3U playlist when present
- shows response times, final URL after redirects, content type, and basic metadata counts - shows response times, final URL after redirects, content type, and payload size
- highlights XMLTV coverage for things like `category`, `sub-title`, `rating`, and `date` - 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`: 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 │ ├── grid.css # Grid, channels, programs, ruler, tooltip, loading
│ ├── mobile.css # Mobile list view │ ├── mobile.css # Mobile list view
│ ├── player.css # HLS PiP player │ ├── player.css # HLS PiP player
│ ├── modals.css # Personal EPG modal │ ├── modals.css # Program reminder modal + Personal EPG modal
│ ├── search.css # Search bar + highlight │ ├── search.css # Search bar + highlight
│ ├── program.css # Program info modal + midnight marker │ ├── program.css # Program info modal + midnight marker
│ ├── favorites.css# Favorite button + separator │ ├── favorites.css# Favorite button + separator
@@ -437,7 +443,8 @@ gridtv/
├── m3u.js # M3U parser ├── m3u.js # M3U parser
├── player.js # HLS PiP player ├── player.js # HLS PiP player
├── themes.js # Theme switcher ├── 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 ├── program.js # Program info modal + IMDb link
├── favorites.js # Favorites (localStorage) ├── favorites.js # Favorites (localStorage)
├── updater.js # GitHub update checker ├── updater.js # GitHub update checker
+1 -1
View File
@@ -1,3 +1,3 @@
{ {
"version": "1.6.0" "version": "1.7.0"
} }