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]>
37 lines
1.9 KiB
Bash
Executable File
37 lines
1.9 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# 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" 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 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
|
|
|
|
echo "Done. Check status with: systemctl status yaris-netwatch.timer"
|
|
echo "Logs: journalctl -t yaris-netwatch -f"
|