Files
WifiBP/ucidefaults.sh

109 lines
3.2 KiB
Bash

#!/bin/sh
root_password="Jednokolka"
ssh_key_rsa="ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILQqqspfQuf2aNIbu6riGMTU3g5ZRcKgnRUqDSHe3/VU pixx@desktop"
ssh_key_ed25519="ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC6psgHgWrYgSSLAvGlGhOd3c9cht26WUz9Y5s+bYByryPdoOzFnF6DXZm+l/5W0F7NAfJc1m8sAhcLLxscMtmhfZ+12GNcwl3pIFyPW8rrKml1P7DIX2GQUefngb4duRkTThX2/H5hfrZqoXvGLF82KdleGKQXoXOCmAsJiD+DwNTp66QANN0MAriiBvj3fxPzBvW9uzYSiLLHQj80/xK2sItp4Wa4EZ8lYbwaxR2buX/8n+3TrrmsPo1gWMRCjGJVA1R9cSgMKGzU3O1nQTg+yPw5jkRXHpsoa2Oh+mgxFhatkjUZ5p4fTWypF4L22w6B4vvTw2dFHIwBF/pbNf2pc9K6iVHxuta2Y7q7M+q/LTcPKLFZCg1cLm8T/1iG5ZZzqaHldVadfEDlhD9EE5DS8CnxyK/eZwHxNQhVde6d/PAmQ2hwij6V+ipiqDyQ1rIbXA8D88hrGyiMwIfIQAxpO7btL2V1eF7F62oP12H9iMNQ6DA4BfBG/GSuDMZeWW0Yly3eHzF75tthuYyGTlLrmHXAv15Y9OtzW4wkd6BrKE24NGMTFJG0g+LX/Tb2ff2zKp0HxDee1wkqEHtl0WmQnzIfZ5DUzoYBhW4FcEYi23CNlj6w3Pwc4qt7dXf5MYBxmOoQlfCfl5E8qJMTKxFrVy3UudsFvz7RZU/iAc0g9Q== pixx@desktop"
. /lib/functions.sh
. /usr/share/libubox/jshn.sh
delete_wireless() {
local name="$1"
uci -q del wireless."$name"
}
delete_network() {
local name="$1"
if [[ $name != "loopback" ]]; then
uci -q del network."$name"
fi
}
# log potential errors
exec >/tmp/setup.log 2>&1
#odstraneni vychozi konfigurace
config_load wireless
config_foreach delete_wireless wifi-iface
config_load network
config_foreach delete_network interface
config_foreach delete_network device
#ziskani puvodniho wan rozhrani
json_load_file /etc/board.json
json_select "network"
if json_is_a "wan" object; then
json_select "wan"
else
json_select "lan"
fi
json_get_var wan_device "device"
#ziskani nastaveni switche
json_select ..
json_select ..
if json_is_a "switch" object; then
echo "not DSA"
json_get_keys keys switch
json_select "switch"
for key in $keys; do
json_select $key
json_select "roles"
idx=1
while json_is_a $idx object
do
json_select $idx
json_get_var device "device"
if [[ $device == $wan_device ]]; then
json_get_var ports "ports"
ports=$(echo $ports | sed -r 's/\b([0-9]+)\b/\1t/g')
switchid=$key
fi
idx=$(( idx + 1 ))
json_select ..
done
done
else
echo "is DSA"
fi
wan_device=$(echo $wan_device | sed -r 's/\..*$|$/\.99/g')
#nastavení switche
if [ ! -z ${ports+x} ]; then
config_foreach delete_network switch_vlan
uci add network switch_vlan
uci set network.@switch_vlan[-1].device="${switchid}"
uci set network.@switch_vlan[-1].vlan='99'
uci set network.@switch_vlan[-1].ports="${ports}"
uci set network.@switch_vlan[-1].vid='99'
uci set network.@switch_vlan[-1].description='mgmnt'
fi
#vytvoreni sitoveho rozhrani pro management
uci set network.mgmnt=interface
uci set network.mgmnt.proto='dhcp'
uci set network.mgmnt.device=${wan_device}
#nastaveni root hesla
if [ -n "$root_password" ]; then
(echo "$root_password"; sleep 1; echo "$root_password") | passwd > /dev/null
fi
#nastaveni ssh
uci -q set dropbear.@dropbear[0].PasswordAuth='off'
uci -q set dropbear.@dropbear[0].RootPasswordAuth='off'
if [ -n "$ssh_key_rsa" ]; then
echo $ssh_key_rsa >> /etc/dropbear/authorized_keys
fi
if [ -n "$ssh_key_ed25519" ]; then
echo $ssh_key_ed25519 >> /etc/dropbear/authorized_keys
fi
uci commit network
uci commit wireless
uci commit dropbear
echo "All done!"