IRL Dashboard — Quick Install ============================= A single-screen control panel for IRL streaming that runs ON your router (OpenWRT / GL.iNet), with SRTLA modem bonding. Bond every SIM and Wi-Fi uplink into one stream, control your encoder, watch bitrate and signal, and drop weather / GPS / clock overlays onto the broadcast — all on one page you pull up on your phone mid-stream. No laptop, no cloud service, works on cellular. Built for the new GL.iNet Mudi 7 (GL-E5800), a quad-core ARM router with the horsepower to bond several 5G modems and run the dashboard at once. The dashboard itself runs on any OpenWRT router; the bonding sender is a native binary built for the Mudi 7. -------------------------------------------------- 1) INSTALL — one command -------------------------------------------------- SSH into your router (or use the LuCI terminal) and paste: wget -qO- https://streamhelpers.com/irl-dashboard/install.sh | sh That installs PHP, downloads the dashboard, adds a location block to your router's existing nginx server, and — on the Mudi 7 — installs the SRTLA bonding sender. It runs on the port your router already uses for its admin UI, so there is no second port to bind. The installer backs up your nginx config first and puts it straight back if anything goes wrong. Rather read the script first? Reasonable: wget -O /tmp/install.sh https://streamhelpers.com/irl-dashboard/install.sh less /tmp/install.sh sh /tmp/install.sh You need: a router running OpenWRT (a Mudi 7 for bonding), about 8MB free on /overlay, and the router online so opkg can fetch PHP. -------------------------------------------------- 2) CONFIGURE - in your browser, not a text editor -------------------------------------------------- Open: http://YOUR-ROUTER-IP/streaming/ The first visit lands on the Settings screen. Fill in what you use and press Save. That is the whole setup. It works fine from a phone. You can get back to it any time from the gear icon in the tab bar, or at /settings.php directly. EVERY SETTING IS OPTIONAL. Leave one blank and the dashboard hides that tab instead of showing something broken. Set your Router IP first, press Save, then add the rest as you go. What each setting turns on: Router IP Router tab + Network / Modem tab SRTLA receiver host+port Modem bonding target (Bonding tab) Director Mini IP Magewell Director Mini tab (scenes, GFX, streams) Restreamer API + login Restreamer bitrate readout Restreamer web UI URL Embedded Restreamer tab Chat page URL Chat tab WeatherAPI key + location Weather readout + overlay (free key: weatherapi.com) GPS sending GPS tab, live map/track, GPS + speed overlays YouTube API key + channel YouTube live lookup X username + bearer X engagement readout DJI camera DJI tab (pair over BLE, send to Director Mini) Quick links Your buttons on the Links tab Confirm-first buttons Buttons that ask "are you sure?" first Each field on the Settings screen carries a note on where to get that credential. Settings are stored as plain JSON in /etc/irl-dashboard/settings.json - outside the web root, so they can never be served over HTTP. TIP: point the Chat page URL at a Unified Chat instance and the Chat tab shows YouTube, Twitch, Kick, Discord, Rumble, Trovo, DLive and Facebook merged into one feed. https://streamhelpers.com/unified-chat/ -------------------------------------------------- 3) MODEM BONDING (SRTLA) -------------------------------------------------- The Bonding tab turns every modem, tethered phone and Wi-Fi uplink into ONE resilient stream. It is automatic: plug an uplink in and it joins the bond; lose service and it drops out. When one link stutters the others carry it. Flow: Director Mini (SRT) -> router (srtla_send, bonds all uplinks) -> internet -> srtla_rec -> Restreamer -> YouTube / Twitch / Kick The bonded stream is reassembled on a machine with a public address - the RECEIVER. It ships as a Docker package you run on any always-on box (home server / NAS / VPS): https://streamhelpers.com/irl-dashboard/receiver/ Then, in the Bonding tab, set Receiver host / Receiver port to that box, add the Director Mini as an SRT Caller to the router, and press Start bonding. The tab shows every uplink, live throughput, and a timestamped connection log. -------------------------------------------------- 4) STREAM OVERLAYS -------------------------------------------------- The GPS, Weather and Clock tabs each build a transparent overlay URL with a live preview and a Copy button. Add it on the Director Mini under Produce -> GFX -> Add (paste the URL). It renders full-frame, so you size, position and fade it with the DM's own controls. Border, background and map-layer options (satellite, road names) are in the builder. -------------------------------------------------- 5) UPDATING -------------------------------------------------- Re-run the same install command. It replaces the app files and the bonding binaries and NEVER overwrites your settings. -------------------------------------------------- SECURITY (read this) -------------------------------------------------- - SET A USERNAME AND PASSWORD under Access on the Settings screen. Without one there is no login at all: anyone who can reach the dashboard can read your API keys, reboot your modem and restart your bond. The Settings screen warns you while no login is set. - The password is stored hashed, never in plain text. The settings form carries a CSRF token so another site cannot silently POST changes. - Even with a login set, keep this on your LAN or a VPN. Do NOT port-forward it. - settings.json holds your API keys in plain text on the router. It is kept in /etc/irl-dashboard/ (outside the web root) at mode 600, owned by the web user. - The overlay pages are deliberately left unauthenticated so the encoder can load them as browser sources. - Where present, the installer grants the web user passwordless sudo for SPECIFIC binaries only (gl_modem, ubus, dmesg, srtla-bond.sh, and the read-only "uci -q show wireless"), in /etc/sudoers.d/irl-dashboard. Delete that file to revoke it. -------------------------------------------------- Provided free and AS-IS: no warranty, no support. https://streamhelpers.com/legal.html