mirror of
https://gitlab.com/hacklab01/pivilion.git
synced 2026-08-07 00:18:23 +00:00
Add canonical boot configuration synchronization
This commit is contained in:
parent
254a9b9cf3
commit
eda151065c
14 changed files with 424 additions and 50 deletions
|
|
@ -16,12 +16,14 @@ select choice in "Enable" "Disable"; do
|
|||
case "$choice" in
|
||||
Enable)
|
||||
backup_gallery
|
||||
/usr/local/lib/pivilion/config-sync.sh set PIVILION_GENERATOR_ENABLED yes
|
||||
a2ensite 000-upload.conf >/dev/null
|
||||
systemctl reload apache2
|
||||
install -d -m 2775 -o www-data -g www-data "$PIVILION_WEBROOT/gen/upload"
|
||||
echo "Generator enabled at http://<device-address>:81/"
|
||||
break ;;
|
||||
Disable)
|
||||
/usr/local/lib/pivilion/config-sync.sh set PIVILION_GENERATOR_ENABLED no
|
||||
a2dissite 000-upload.conf >/dev/null || true
|
||||
systemctl reload apache2
|
||||
echo "Generator disabled."
|
||||
|
|
|
|||
|
|
@ -3,5 +3,5 @@ set -euo pipefail
|
|||
source /usr/local/lib/pivilion/common.sh
|
||||
[ "$(id -u)" -eq 0 ] || exec sudo "$0" "$@"
|
||||
pivilion_load_config
|
||||
pivilion_set_mode hotspot
|
||||
/usr/local/lib/pivilion/config-sync.sh set PIVILION_MODE hotspot
|
||||
echo "Pivilion will start in open hotspot mode after the next reboot."
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ set -euo pipefail
|
|||
source /usr/local/lib/pivilion/common.sh
|
||||
[ "$(id -u)" -eq 0 ] || exec sudo "$0" "$@"
|
||||
pivilion_load_config
|
||||
pivilion_set_mode onion
|
||||
/usr/local/lib/pivilion/config-sync.sh set PIVILION_MODE onion
|
||||
echo "Pivilion will start in onion mode after the next reboot."
|
||||
if [ -s "$PIVILION_DIR/torname" ]; then
|
||||
printf 'Your onion domain is %s\n' "$(tr -d '\r\n' < "$PIVILION_DIR/torname")"
|
||||
|
|
|
|||
|
|
@ -3,9 +3,6 @@ set -euo pipefail
|
|||
source /usr/local/lib/pivilion/common.sh
|
||||
[ "$(id -u)" -eq 0 ] || exec sudo "$0" "$@"
|
||||
pivilion_load_config
|
||||
IFACE=$(pivilion_wifi_interface)
|
||||
[ -n "$IFACE" ] || { echo "No Wi-Fi interface found." >&2; exit 1; }
|
||||
|
||||
read -r -p "Wi-Fi SSID: " ssid
|
||||
read -r -s -p "Wi-Fi password: " password
|
||||
printf '\n'
|
||||
|
|
@ -14,22 +11,6 @@ printf '\n'
|
|||
echo "WPA password must contain 8-63 characters." >&2; exit 1;
|
||||
}
|
||||
|
||||
if pivilion_uses_networkmanager; then
|
||||
nmcli connection delete pivilion-onion >/dev/null 2>&1 || true
|
||||
nmcli connection add type wifi ifname "$IFACE" con-name pivilion-onion ssid "$ssid" >/dev/null
|
||||
nmcli connection modify pivilion-onion 802-11-wireless.mode infrastructure \
|
||||
802-11-wireless-security.key-mgmt wpa-psk 802-11-wireless-security.psk "$password" \
|
||||
ipv4.method auto ipv6.method auto connection.autoconnect yes
|
||||
else
|
||||
tmp=$(mktemp)
|
||||
trap 'rm -f "$tmp"' EXIT
|
||||
wpa_passphrase "$ssid" "$password" | sed '/^[[:space:]]*#psk=/d' > "$tmp"
|
||||
install -d -m 0755 /etc/wpa_supplicant
|
||||
install -m 0600 "$tmp" /etc/wpa_supplicant/pivilion.conf
|
||||
touch /etc/wpa_supplicant/wpa_supplicant.conf
|
||||
grep -Fqx 'include=/etc/wpa_supplicant/pivilion.conf' /etc/wpa_supplicant/wpa_supplicant.conf || \
|
||||
printf '\ninclude=/etc/wpa_supplicant/pivilion.conf\n' >> /etc/wpa_supplicant/wpa_supplicant.conf
|
||||
chmod 0600 /etc/wpa_supplicant/wpa_supplicant.conf
|
||||
fi
|
||||
/usr/local/lib/pivilion/config-sync.sh set-wifi "$ssid" "$password"
|
||||
unset password
|
||||
echo "Wi-Fi credentials saved. Run onion and reboot when ready."
|
||||
echo "Wi-Fi credentials saved as a derived PSK in the boot configuration. Run onion and reboot when ready."
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue