Add phone hotspot uplink
Prefer a configured phone hotspot for outbound synchronization, preserve secure write-only credentials, and recover through home WiFi or the local Pi hotspot. Co-authored-by: Copilot <[email protected]>
This commit is contained in:
@@ -1,19 +1,34 @@
|
||||
#!/usr/bin/env bash
|
||||
# One-time install of the yaris-obd WiFi hotspot <-> home-WiFi auto-switch
|
||||
# One-time install of the yaris-obd phone/home/local-hotspot auto-switch
|
||||
# watcher on the Pi. Run this ON THE PI as the `yaris` user (needs sudo):
|
||||
# cd /home/yaris/app/yaris-obd && bash deploy/install_netwatch.sh
|
||||
#
|
||||
# Prerequisite: the "home-wifi" (home WiFi) and "Hotspot" (AP mode) NetworkManager
|
||||
# connection profiles must already exist (see PLAN.md Phase 6 for the nmcli
|
||||
# commands used to create them) with home-wifi having a higher
|
||||
# connection.autoconnect-priority than Hotspot.
|
||||
# Prerequisite: the "home-wifi" and "Hotspot" NetworkManager profiles must
|
||||
# already exist (see PLAN.md Phase 6). The optional "phone-hotspot" profile is
|
||||
# created through the Settings page.
|
||||
set -euo pipefail
|
||||
|
||||
REPO_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||
|
||||
sudo install -m 755 "$REPO_DIR/deploy/yaris-netwatch.sh" /usr/local/bin/yaris-netwatch.sh
|
||||
sudo systemctl stop yaris-uplink-wait.service 2>/dev/null || true
|
||||
sudo systemctl stop yaris-netwatch.timer yaris-netwatch.service 2>/dev/null || true
|
||||
sudo rm -f /usr/local/bin/yaris-netwatch.sh
|
||||
sudo install -m 755 "$REPO_DIR/deploy/yaris_uplink.py" /usr/local/bin/yaris-uplink
|
||||
sudo install -m 440 "$REPO_DIR/deploy/yaris-uplink.sudoers" /etc/sudoers.d/yaris-uplink
|
||||
sudo visudo -cf /etc/sudoers.d/yaris-uplink
|
||||
sudo install -m 644 "$REPO_DIR/deploy/yaris-hotspot-dns.conf" \
|
||||
/etc/NetworkManager/dnsmasq-shared.d/yaris-hotspot-dns.conf
|
||||
sudo install -m 755 "$REPO_DIR/deploy/90-yaris-uplink" \
|
||||
/etc/NetworkManager/dispatcher.d/90-yaris-uplink
|
||||
sudo nmcli connection modify Hotspot ipv4.method shared ipv4.addresses 10.42.0.1/24
|
||||
if nmcli connection show phone-hotspot >/dev/null 2>&1; then
|
||||
sudo nmcli connection modify phone-hotspot \
|
||||
ipv4.dhcp-send-hostname yes ipv4.dhcp-hostname yaris \
|
||||
802-11-wireless.mtu 1400
|
||||
fi
|
||||
sudo cp "$REPO_DIR/deploy/yaris-netwatch.service" /etc/systemd/system/yaris-netwatch.service
|
||||
sudo cp "$REPO_DIR/deploy/yaris-netwatch.timer" /etc/systemd/system/yaris-netwatch.timer
|
||||
sudo cp "$REPO_DIR/deploy/yaris-uplink-wait.service" /etc/systemd/system/yaris-uplink-wait.service
|
||||
sudo systemctl daemon-reload
|
||||
sudo systemctl enable --now yaris-netwatch.timer
|
||||
|
||||
|
||||
Reference in New Issue
Block a user