minor fixes
[automated-distro-installer] / wrt-setup
index 7d3416bcd1d308d32d2b03e4ba307f4b553c853d..55de7695298620884466057fd067ee7bfe0d7a1a 100755 (executable)
--- a/wrt-setup
+++ b/wrt-setup
 set -eE -o pipefail
 trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR
 
 set -eE -o pipefail
 trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR
 
-x="$(readlink -f "$BASH_SOURCE")"; cd ${x%/*}
+[[ $EUID == 0 ]] || exec sudo -E "${BASH_SOURCE[0]}" "$@"
+
+this_file="$(readlink -f -- "${BASH_SOURCE[0]}")"
+readonly this_file this_dir="${this_file%/*}"
+cd "$this_dir"
 
 usage() {
 
 usage() {
-  cat <<EOF
-usage: ${0##*/} [-h|--help] [HOST/IP] [wrt-setup-local_ARGS]
+  cat <<'EOF'
+usage: wrt-setup [-h|--help] [HOST/IP] [wrt-setup-local_ARGS]
 setup my router in general: dhcp, dns, etc.
 
 Default HOST is 10.0.0.1 or 10.2.0.1 if they are the gateway, otherwise
 setup my router in general: dhcp, dns, etc.
 
 Default HOST is 10.0.0.1 or 10.2.0.1 if they are the gateway, otherwise
@@ -34,16 +38,16 @@ bash, we can use ${@@Q} to properly pass an empty var.
 
 
 Note, if we dont have internet yet, then just download the bash package,
 
 
 Note, if we dont have internet yet, then just download the bash package,
-scp it over manually and install it, eg:
+rsync it over manually and install it, eg:
 
 cat /etc/opkg/distfeeds.conf
 wget https://librecmc.org/librecmc/downloads/snapshots/v1.5.1-core/packages/mips_24kc/packages/bash_5.0-3_mips_24kc.ipk
 
 cat /etc/opkg/distfeeds.conf
 wget https://librecmc.org/librecmc/downloads/snapshots/v1.5.1-core/packages/mips_24kc/packages/bash_5.0-3_mips_24kc.ipk
-scp bash_5.0-3_mips_24kc.ipk wrt:
+rsync bash_5.0-3_mips_24kc.ipk wrt:
 ssh wrt
 opkg install /root/bash_5.0-3_mips_24kc.ipk
 EOF
   wrt-setup-local -h
 ssh wrt
 opkg install /root/bash_5.0-3_mips_24kc.ipk
 EOF
   wrt-setup-local -h
-  exit $1
+  exit 0
 }
 
 
 }
 
 
@@ -66,14 +70,16 @@ if [[ ! $h ]]; then
   esac
 fi
 
   esac
 fi
 
-echo "$0: host=$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-init /a/bin/fai/wrt-setup-local /a/bin/cedit/cedit $h:/usr/bin
+echo "$0: h=$h"
+# todo: ecdsa key not working with dropbear
+cat ~/.ssh/{h,hrsa,home}.pub | ssh $h dd of=/etc/dropbear/authorized_keys
+rsync /a/work/libremanage/libremanage /a/bin/fai/wrt-init /a/bin/fai/wrt-setup-local /a/bin/fai/dnsmasq-end-lease /a/bin/cedit/cedit $h:/usr/bin
 # relay is built for openwrt 18.06.2, r7676-cddd7b4c77
 # 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 \
-     /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 "$@"
+#/a/opt/openwrt/source/bin/packages/mips_24kc/mypackages/relay_1.0-1_mips_24kc.ipk \
+
+rsync /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}  /p/c/{ptr,dnsmasq,cmc-firewall}-data /b/bash-bear-trap/bash-bear $h:
+rsync ../openwrtkeyring/usign/* $h:/etc/opkg/keys
+
+ssh $h wrt-init ${HOME_DOMAIN:-b8.nz} "$@"