|
@@ -60,10 +60,27 @@ SMTP_PROXY_PORT=465
|
60
|
60
|
SMTP_PROXY_USERNAME=''
|
61
|
61
|
SMTP_PROXY_PASSWORD=''
|
62
|
62
|
|
|
63
|
+WIFI_INTERFACE=wlan0
|
|
64
|
+WIFI_SSID=
|
|
65
|
+WIFI_TYPE='wpa2-psk'
|
|
66
|
+WIFI_PASSPHRASE=
|
|
67
|
+
|
63
|
68
|
USB_DRIVE=sdb
|
64
|
69
|
# get default USB from config file
|
65
|
70
|
CONFIGURATION_FILE=/root/${PROJECT_NAME}.cfg
|
66
|
71
|
if [ -f $CONFIGURATION_FILE ]; then
|
|
72
|
+ if grep -q "WIFI_INTERFACE=" $CONFIGURATION_FILE; then
|
|
73
|
+ WIFI_INTERFACE=$(cat $CONFIGURATION_FILE | grep "WIFI_INTERFACE=" | awk -F '=' '{print $2}')
|
|
74
|
+ fi
|
|
75
|
+ if grep -q "WIFI_TYPE=" $CONFIGURATION_FILE; then
|
|
76
|
+ WIFI_TYPE=$(cat $CONFIGURATION_FILE | grep "WIFI_TYPE=" | awk -F '=' '{print $2}')
|
|
77
|
+ fi
|
|
78
|
+ if grep -q "WIFI_SSID=" $CONFIGURATION_FILE; then
|
|
79
|
+ WIFI_SSID=$(cat $CONFIGURATION_FILE | grep "WIFI_SSID=" | awk -F '=' '{print $2}')
|
|
80
|
+ fi
|
|
81
|
+ if grep -q "WIFI_PASSPHRASE=" $CONFIGURATION_FILE; then
|
|
82
|
+ WIFI_PASSPHRASE=$(cat $CONFIGURATION_FILE | grep "WIFI_PASSPHRASE=" | awk -F '=' '{print $2}')
|
|
83
|
+ fi
|
67
|
84
|
if grep -q "USB_DRIVE=" $CONFIGURATION_FILE; then
|
68
|
85
|
USB_DRIVE=$(cat $CONFIGURATION_FILE | grep "USB_DRIVE=" | awk -F '=' '{print $2}')
|
69
|
86
|
if [[ $USB_DRIVE == *"dev"* ]]; then
|
|
@@ -1654,6 +1671,90 @@ Enter a static local IP address for this system.\n\nIt will typically be 192.168
|
1654
|
1671
|
fi
|
1655
|
1672
|
}
|
1656
|
1673
|
|
|
1674
|
+function wifi_settings {
|
|
1675
|
+ PREV_WIFI_INTERFACE=$WIFI_INTERFACE
|
|
1676
|
+ PREV_WIFI_SSID=$WIFI_SSID
|
|
1677
|
+ PREV_WIFI_TYPE=$WIFI_TYPE
|
|
1678
|
+ PREV_WIFI_PASSPHRASE=$WIFI_PASSPHRASE
|
|
1679
|
+
|
|
1680
|
+ data=$(tempfile 2>/dev/null)
|
|
1681
|
+ trap "rm -f $data" 0 1 2 5 15
|
|
1682
|
+ dialog --backtitle $"Freedombone Control Panel" \
|
|
1683
|
+ --title $"Wifi Settings" \
|
|
1684
|
+ --form $"\nIf you wish to use wifi rather than wired ethernet then enter the details below, otherwise just select Ok:" 15 55 5 \
|
|
1685
|
+ $"Interface:" 1 1 "$WIFI_INTERFACE" 1 16 16 15 \
|
|
1686
|
+ $"SSID:" 2 1 "$WIFI_SSID" 2 16 30 30 \
|
|
1687
|
+ $"Type:" 3 1 "$WIFI_TYPE" 3 16 16 15 \
|
|
1688
|
+ $"Passphrase:" 4 1 "$WIFI_PASSPHRASE" 4 16 30 30 \
|
|
1689
|
+ 2> $data
|
|
1690
|
+ sel=$?
|
|
1691
|
+ case $sel in
|
|
1692
|
+ 1) return;;
|
|
1693
|
+ 255) return;;
|
|
1694
|
+ esac
|
|
1695
|
+ NEW_WIFI_INTERFACE=$(cat $data | sed -n 1p)
|
|
1696
|
+ NEW_WIFI_SSID=$(cat $data | sed -n 2p)
|
|
1697
|
+ NEW_WIFI_TYPE=$(cat $data | sed -n 3p)
|
|
1698
|
+ NEW_WIFI_PASSPHRASE=$(cat $data | sed -n 4p)
|
|
1699
|
+
|
|
1700
|
+ if [[ $NEW_WIFI_TYPE != 'none' && $NEW_WIFI_TYPE != 'wpa2-psk' ]]; then
|
|
1701
|
+ return
|
|
1702
|
+ fi
|
|
1703
|
+
|
|
1704
|
+ if [[ $NEW_WIFI_TYPE != 'none' ]]; then
|
|
1705
|
+ if [ ! $NEW_WIFI_PASSPHRASE ]; then
|
|
1706
|
+ return
|
|
1707
|
+ fi
|
|
1708
|
+ if [ ${#NEW_WIFI_PASSPHRASE} -lt 2 ]; then
|
|
1709
|
+ return
|
|
1710
|
+ fi
|
|
1711
|
+ ${PROJECT_NAME}-wifi -i $NEW_WIFI_INTERFACE -s $NEW_WIFI_SSID -t $NEW_WIFI_TYPE -p $NEW_WIFI_PASSPHRASE
|
|
1712
|
+ else
|
|
1713
|
+ ${PROJECT_NAME}-wifi -i $NEW_WIFI_INTERFACE -s $NEW_WIFI_SSID -t $NEW_WIFI_TYPE
|
|
1714
|
+ fi
|
|
1715
|
+
|
|
1716
|
+ if [[ $PREV_WIFI_INTERFACE != $NEW_WIFI_INTERFACE || $PREV_WIFI_SSID != $NEW_WIFI_SSID || $PREV_WIFI_TYPE != $NEW_WIFI_TYPE || $PREV_WIFI_PASSPHRASE != $NEW_WIFI_PASSPHRASE ]]; then
|
|
1717
|
+ dialog --title $"Wifi Settings" \
|
|
1718
|
+ --backtitle $"Freedombone Control Panel" \
|
|
1719
|
+ --defaultno \
|
|
1720
|
+ --yesno $"\nWifi settings changed. Restart networking (you will be disconnected)?" 10 60
|
|
1721
|
+ sel=$?
|
|
1722
|
+ case $sel in
|
|
1723
|
+ 1) return;;
|
|
1724
|
+ 255) return;;
|
|
1725
|
+ esac
|
|
1726
|
+
|
|
1727
|
+ WIFI_INTERFACE=$NEW_WIFI_INTERFACE
|
|
1728
|
+ WIFI_SSID=$NEW_WIFI_SSID
|
|
1729
|
+ WIFI_TYPE=$NEW_WIFI_TYPE
|
|
1730
|
+ WIFI_PASSPHRASE=$NEW_WIFI_PASSPHRASE
|
|
1731
|
+
|
|
1732
|
+ # update the configuration
|
|
1733
|
+ if ! grep -q "WIFI_INTERFACE=" $CONFIGURATION_FILE; then
|
|
1734
|
+ echo "WIFI_INTERFACE=$WIFI_INTERFACE" >> $CONFIGURATION_FILE
|
|
1735
|
+ else
|
|
1736
|
+ sed -i "s|WIFI_INTERFACE=.*|WIFI_INTERFACE=$WIFI_INTERFACE|g" $CONFIGURATION_FILE
|
|
1737
|
+ fi
|
|
1738
|
+ if ! grep -q "WIFI_TYPE=" $CONFIGURATION_FILE; then
|
|
1739
|
+ echo "WIFI_TYPE=$WIFI_TYPE" >> $CONFIGURATION_FILE
|
|
1740
|
+ else
|
|
1741
|
+ sed -i "s|WIFI_TYPE=.*|WIFI_TYPE=$WIFI_TYPE|g" $CONFIGURATION_FILE
|
|
1742
|
+ fi
|
|
1743
|
+ if ! grep -q "WIFI_SSID=" $CONFIGURATION_FILE; then
|
|
1744
|
+ echo "WIFI_SSID=$WIFI_SSID" >> $CONFIGURATION_FILE
|
|
1745
|
+ else
|
|
1746
|
+ sed -i "s|WIFI_SSID=.*|WIFI_SSID=$WIFI_SSID|g" $CONFIGURATION_FILE
|
|
1747
|
+ fi
|
|
1748
|
+ if ! grep -q "WIFI_PASSPHRASE=" $CONFIGURATION_FILE; then
|
|
1749
|
+ echo "WIFI_PASSPHRASE=$WIFI_PASSPHRASE" >> $CONFIGURATION_FILE
|
|
1750
|
+ else
|
|
1751
|
+ sed -i "s|WIFI_PASSPHRASE=.*|WIFI_PASSPHRASE=$WIFI_PASSPHRASE|g" $CONFIGURATION_FILE
|
|
1752
|
+ fi
|
|
1753
|
+
|
|
1754
|
+ systemctl restart networking
|
|
1755
|
+ fi
|
|
1756
|
+}
|
|
1757
|
+
|
1657
|
1758
|
function menu_backup_restore {
|
1658
|
1759
|
while true
|
1659
|
1760
|
do
|
|
@@ -1836,7 +1937,7 @@ function menu_top_level {
|
1836
|
1937
|
trap "rm -f $data" 0 1 2 5 15
|
1837
|
1938
|
dialog --backtitle $"Freedombone Control Panel" \
|
1838
|
1939
|
--title $"Control Panel" \
|
1839
|
|
- --radiolist $"Choose an operation:" 28 70 21 \
|
|
1940
|
+ --radiolist $"Choose an operation:" 29 70 22 \
|
1840
|
1941
|
1 $"About this system" off \
|
1841
|
1942
|
2 $"Backup and Restore" off \
|
1842
|
1943
|
3 $"Reset Tripwire" off \
|
|
@@ -1854,10 +1955,11 @@ function menu_top_level {
|
1854
|
1955
|
15 $"Change the name of this system" off \
|
1855
|
1956
|
16 $"Set the TLS date/time source" off \
|
1856
|
1957
|
17 $"Set a static local IP address" off \
|
1857
|
|
- 18 $"Check for updates" off \
|
1858
|
|
- 19 $"Power off the system" off \
|
1859
|
|
- 20 $"Restart the system" off \
|
1860
|
|
- 21 $"Exit" on 2> $data
|
|
1958
|
+ 18 $"Wifi Settings" off \
|
|
1959
|
+ 19 $"Check for updates" off \
|
|
1960
|
+ 20 $"Power off the system" off \
|
|
1961
|
+ 21 $"Restart the system" off \
|
|
1962
|
+ 22 $"Exit" on 2> $data
|
1861
|
1963
|
sel=$?
|
1862
|
1964
|
case $sel in
|
1863
|
1965
|
1) exit 1;;
|
|
@@ -1881,10 +1983,11 @@ function menu_top_level {
|
1881
|
1983
|
15) change_system_name;;
|
1882
|
1984
|
16) set_tls_time_source;;
|
1883
|
1985
|
17) set_static_IP;;
|
1884
|
|
- 18) check_for_updates;;
|
1885
|
|
- 19) shut_down_system;;
|
1886
|
|
- 20) restart_system;;
|
1887
|
|
- 21) break;;
|
|
1986
|
+ 18) wifi_settings;;
|
|
1987
|
+ 19) check_for_updates;;
|
|
1988
|
+ 20) shut_down_system;;
|
|
1989
|
+ 21) restart_system;;
|
|
1990
|
+ 22) break;;
|
1888
|
1991
|
esac
|
1889
|
1992
|
done
|
1890
|
1993
|
}
|