improvements
[automated-distro-installer] / wrt-setup
index 42c41276edaca12797746a3fbb69c6c4b1852029..8f94f715c406d73f0b20f14461a217cc36048d87 100755 (executable)
--- a/wrt-setup
+++ b/wrt-setup
 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() {
-  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
@@ -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,
-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
-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
-  exit $1
+  exit 0
 }
 
 
@@ -66,16 +70,17 @@ if [[ ! $h ]]; then
   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
 
 #/a/opt/openwrt/source/bin/packages/mips_24kc/mypackages/relay_1.0-1_mips_24kc.ipk \
 
-sudo 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
+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 /p/c/cmc-firewall-data-http /b/bash-bear-trap/bash-bear $h:
+rsync ../openwrtkeyring/usign/* $h:/etc/opkg/keys
 
-ssh $h wrt-init $HOME_DOMAIN "$@"
+ssh $h wrt-init ${HOME_DOMAIN:-b8.nz} "$@"