feat(pi): add a Wi-Fi hotspot mode for routerless direct streaming

scripts/pi-hotspot.sh turns the receiver into a WPA2 access point via
NetworkManager (ipv4 shared mode gives the Pi built-in DHCP/NAT at
10.42.0.1), so a sender connects directly with no router in between —
which also sidesteps LAN quirks like unreachable 6to4 addresses, since
the direct link is plain private IPv4. The passphrase is generated on
first use and stored root-only in /etc/screencast-hotspot.conf;
on|off|status subcommands manage it, and off restores normal client
Wi-Fi. The hotspot owns wlan0 while active (documented). No receiver
changes were needed: it already announces on every interface.

nmcli property syntax validated against NetworkManager 1.58 with a
disposable never-activated profile; actual AP bring-up can only be
validated on the Pi.
This commit is contained in:
2026-09-07 14:13:48 +02:00
parent 013c2519dc
commit 41f71fd217
4 changed files with 153 additions and 0 deletions
+2
View File
@@ -207,4 +207,6 @@ Notes for small boards (e.g. Pi Zero 2 W):
- On a desktop session instead, edit the installed service file and
uncomment the Environment lines for XDG_RUNTIME_DIR/WAYLAND_DISPLAY.
- avahi-daemon must stay enabled; it is what senders discover.
- For a routerless direct link: scripts/pi-hotspot.sh on turns the Pi
into a Wi-Fi access point (see docs/RUNBOOK.md).
EOF