2 # Copyright (C) 2016 Ian Kelling
4 # This program is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU General Public License
6 # as published by the Free Software Foundation; either version 2
7 # of the License, or (at your option) any later version.
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU General Public License for more details.
14 # You should have received a copy of the GNU General Public License
15 # along with this program; if not, write to the Free Software
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
20 trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR
22 [[ $EUID == 0 ]] ||
exec sudo
-E "${BASH_SOURCE[0]}" "$@"
24 this_file
="$(readlink -f -- "${BASH_SOURCE[0]}")"
25 readonly this_file this_dir
="${this_file%/*}"
30 usage: wrt-setup [-h|--help] [HOST/IP] [wrt-setup-local_ARGS]
31 setup my router in general: dhcp, dns, etc.
33 Default HOST is 10.0.0.1 or 10.2.0.1 if they are the gateway, otherwise
36 Note, use -m "''" to send an empty mac arg. When we get a new enough
37 bash, we can use ${@@Q} to properly pass an empty var.
40 Note, if we dont have internet yet, then just download the bash package,
41 rsync it over manually and install it, eg:
43 cat /etc/opkg/distfeeds.conf
44 wget https://librecmc.org/librecmc/downloads/snapshots/v1.5.1-core/packages/mips_24kc/packages/bash_5.0-3_mips_24kc.ipk
45 rsync bash_5.0-3_mips_24kc.ipk wrt:
47 opkg install /root/bash_5.0-3_mips_24kc.ipk
61 read -r _ _ gateway _
< <(ip
-4 route get
8.8.8.8)
67 echo "$0: error: gateway = $gateway and no HOST/IP specified"
74 # todo: ecdsa key not working with dropbear
75 cat ~
/.ssh
/{h
,hrsa
,home
}.pub |
ssh $h dd of
=/etc
/dropbear
/authorized_keys
76 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
77 # relay is built for openwrt 18.06.2, r7676-cddd7b4c77
79 #/a/opt/openwrt/source/bin/packages/mips_24kc/mypackages/relay_1.0-1_mips_24kc.ipk \
81 rsync
/q
/root
/shadow
/router
/p
/c
/machine_specific
/wrt
/etc
/dropbear
/dropbear_rsa_host_key \
82 /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:
83 rsync ..
/openwrtkeyring
/usign
/* $h:/etc
/opkg
/keys
85 ssh $h wrt-init
${HOME_DOMAIN:-b8.nz} "$@"