X-Git-Url: https://iankelling.org/git/?p=automated-distro-installer;a=blobdiff_plain;f=wrt-setup;h=01c270515ab868c416fd4647e0a6e6c157ed15f0;hp=e6e5f284509e5999e58cabe217ef497cf6f595f1;hb=9fefba0a7ad0f7d9cac32b81f960ae8828de2a66;hpb=3f20eea52b8d7f665b2c3b483921f15a0e48d7ee diff --git a/wrt-setup b/wrt-setup index e6e5f28..01c2705 100755 --- a/wrt-setup +++ b/wrt-setup @@ -19,6 +19,8 @@ set -eE -o pipefail trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR +[[ $EUID == 0 ]] || exec sudo -E "${BASH_SOURCE[0]}" "$@" + x="$(readlink -f "$BASH_SOURCE")"; cd ${x%/*} usage() { @@ -26,7 +28,8 @@ usage() { usage: ${0##*/} [-h|--help] [HOST/IP] [wrt-setup-local_ARGS] setup my router in general: dhcp, dns, etc. -Default HOST is root@10.0.0.1 +Default HOST is 10.0.0.1 or 10.2.0.1 if they are the gateway, otherwise +it must be specified. Note, use -m "''" to send an empty mac arg. When we get a new enough bash, we can use ${@@Q} to properly pass an empty var. @@ -45,7 +48,6 @@ EOF exit $1 } -h=root@10.0.0.1 case $1 in -h|--help) usage ;; @@ -53,27 +55,29 @@ case $1 in ?*) h="$1"; shift ;; esac -echo "$0: host=$h" +if [[ ! $h ]]; then + read -r _ _ gateway _ < <(ip -4 route get 8.8.8.8) + case $gateway in + 10.0.0.1|10.2.0.1) + h=root@$gateway + ;; + *) + echo "$0: error: gateway = $gateway and no HOST/IP specified" + exit 1 + ;; + esac +fi + +echo "$0: h=$h" cat ~/.ssh/home.pub | ssh $h dd of=/etc/dropbear/authorized_keys 2>/dev/null -scp /a/work/libremanage/libremanage /a/bin/fai/wrt-setup-local /a/bin/cedit/cedit $h:/usr/bin +scp /a/work/libremanage/libremanage /a/bin/fai/wrt-init /a/bin/fai/wrt-setup-local /a/bin/cedit/cedit $h:/usr/bin # relay is built for openwrt 18.06.2, r7676-cddd7b4c77 -sudo scp /q/root/shadow/router /p/c/machine_specific/wrt/etc/dropbear/dropbear_rsa_host_key \ - /a/opt/openwrt/source/bin/packages/mips_24kc/mypackages/relay_1.0-1_mips_24kc.ipk $h: -scp ../openwrtkeyring/usign/* $h:/etc/opkg/keys -ssh $h </etc/opkg/customfeeds.conf <<'EOF' -src/gz openwrt_packages http://downloads.openwrt.org/releases/19.07.2/packages/mips_24kc/packages -EOF +#/a/opt/openwrt/source/bin/packages/mips_24kc/mypackages/relay_1.0-1_mips_24kc.ipk \ -if ! opkg list-installed|grep bash; then - opkg update - opkg install bash -fi -export HOME_DOMAIN=$HOME_DOMAIN -export WIRELESSMAC=$WIRELESSMAC -wrt-setup-local $@ -EOFOUTER +scp /q/root/shadow/router /p/c/machine_specific/wrt/etc/dropbear/dropbear_rsa_host_key \ + /p/router-secrets /p/c/machine_specific/wrt/etc/wg.{key,psk} $h: +scp ../openwrtkeyring/usign/* $h:/etc/opkg/keys + +ssh $h wrt-init ${HOME_DOMAIN:-b8.nz} "$@"