Initial public khodo snapshot
ci / checks (push) Successful in 38m58s

This commit is contained in:
khodowany
2026-09-04 19:30:11 -05:00
commit 4f9a269f85
99 changed files with 59585 additions and 0 deletions
+44
View File
@@ -0,0 +1,44 @@
#!/usr/bin/env bash
set -euo pipefail
config=${PRODUCT_VAMP_CONFIG:-/etc/product-vamp/vamp.json}
ssid=${PRODUCT_VAMP_AP_SSID:-Vamp Control}
passphrase=${PRODUCT_VAMP_AP_PASSPHRASE:-vamp-control}
interface=${PRODUCT_VAMP_AP_INTERFACE:-wlan0}
cidr=${PRODUCT_VAMP_ZERO_CIDR:-192.168.42.1/24}
connection=${PRODUCT_VAMP_AP_CONNECTION:-product-vamp-control}
configure_connection() {
nmcli connection modify "$connection" \
connection.interface-name "$interface" \
802-11-wireless.mode ap \
802-11-wireless.band bg \
802-11-wireless.channel 6 \
802-11-wireless.ssid "$ssid" \
802-11-wireless-security.key-mgmt wpa-psk \
802-11-wireless-security.proto rsn \
802-11-wireless-security.pairwise ccmp \
802-11-wireless-security.group ccmp \
802-11-wireless-security.pmf 1 \
802-11-wireless-security.psk "$passphrase" \
ipv4.method shared \
ipv4.addresses "$cidr" \
ipv6.method ignore \
connection.autoconnect yes
}
if [ -r "$config" ]; then
ssid=$(python3 -c 'import json,sys; data=json.load(open(sys.argv[1])); print(data.get("control",{}).get("ap_ssid","Vamp Control"))' "$config")
passphrase=$(python3 -c 'import json,sys; data=json.load(open(sys.argv[1])); print(data.get("control",{}).get("ap_passphrase","vamp-control"))' "$config")
interface=$(python3 -c 'import json,sys; data=json.load(open(sys.argv[1])); print(data.get("control",{}).get("ap_interface","wlan0"))' "$config")
cidr=$(python3 -c 'import json,sys; data=json.load(open(sys.argv[1])); print(data.get("control",{}).get("zero_cidr","192.168.42.1/24"))' "$config")
fi
if nmcli -t -f NAME connection show | grep -Fxq "$connection"; then
configure_connection
else
nmcli connection add type wifi ifname "$interface" con-name "$connection" autoconnect yes ssid "$ssid"
configure_connection
fi
nmcli connection up "$connection"