From 2ee7b55c3811815cdec75025cefa94918cf99ba7 Mon Sep 17 00:00:00 2001 From: Ian Kelling Date: Tue, 12 Mar 2019 16:50:59 -0400 Subject: [PATCH] wrt setup fixes and improvements --- wrt-setup | 24 ++++++++-- wrt-setup-local | 122 +++++++++++++++++++++++++----------------------- 2 files changed, 84 insertions(+), 62 deletions(-) diff --git a/wrt-setup b/wrt-setup index 746b16f..3e71ef5 100755 --- a/wrt-setup +++ b/wrt-setup @@ -23,28 +23,44 @@ x="$(readlink -f "$BASH_SOURCE")"; cd ${x%/*} usage() { cat < 1 )); then + usage 1 +fi + +if [[ $# == 1 ]]; then + read h <<<"$@" fi cat ~/.ssh/home.pub | ssh $h dd of=/etc/dropbear/authorized_keys 2>/dev/null scp /a/bin/fai/wrt-setup-local /a/bin/cedit/cedit $h:/usr/bin +# build for openwrt 18.06.2, r7676-cddd7b4c77 +scp /a/opt/openwrt/source/bin/packages/mips_24kc/mypackages/relay_1.0-1_mips_24kc.ipk $h: ssh $h <&2' ERR +dev2=false +if [[ $1 == -2 ]]; then + dev2=true +fi + pmirror() { # background: upgrading all packages is not recommended because it # doesn't go into the firmware. build new firmware if you want @@ -46,6 +51,10 @@ v() { ### ssid="check out gnu.org" lan=10.0.0.0 +if $dev2; then + ssid="test1" + lan=10.1.0.0 +fi mask=255.255.0.0 l=${lan%.0} @@ -68,14 +77,9 @@ done EOFOUTER chmod +x /usr/bin/archlike-pxe-mount -cat >.profile <<'EOF' -# changing login shell emits spam on ssh single commands & scp - # sed -i 's#/bin/ash$#/bin/bash#' /etc/passwd -# https://github.com/openwrt/packages/issues/6137 -[ "$BASH_VERSION" != "" ] || exec /bin/bash -i -EOF +sed -i '/^root:/s,/bin/ash$,/bin/bash,' /etc/passwd v pi kmod-usb-storage block-mount kmod-fs-ext4 nfs-kernel-server \ - tcpdump openvpn-openssl adblock + tcpdump openvpn-openssl adblock libusb-compat /root/relay_1.0-1_mips_24kc.ipk @@ -99,17 +103,20 @@ mkdir -p /run/parabolaiso/bootmnt ## ian: usb broke on old router. if that happens, can just comment this to disable problems echo | cedit /etc/config/fstab ||: -cedit /etc/config/fstab <<'EOF' || { v block umount; v block mount; } +cedit /etc/config/fstab </dev/null) ]]; then - v uci delete wireless.default_radio$x.disabled + uset wireless.default_radio$x.ssid "$ssid" + uset wireless.default_radio$x.key $key + uset wireless.default_radio$x.encryption psk2 + if [[ $(uci get wireless.radio$x.disabled 2>/dev/null) ]]; then + v uci delete wireless.radio$x.disabled wireless_restart=true fi done if $wireless_restart; then - uci commit wireless v wifi fi @@ -240,6 +259,12 @@ config rule option target ACCEPT option dest_port 2222 +config rule + option src wan + option target ACCEPT + option dest_port 2220 + + config redirect option src wan option src_dport 443 @@ -296,7 +321,6 @@ EOF dnsmasq_restart=false -mail_host=$(grep -F mail.iankelling.org /etc/hosts | awk '{print $1}') v cedit /etc/hosts </dev/null) ]]; then dnsmasq_restart=true fi -if [[ $(uci get dhcp.@dnsmasq[0].domain) != b8.nz ]]; then - v uci set dhcp.@dnsmasq[0].domain=b8.nz - uci commit dhcp - dnsmasq_restart=true -fi -if [[ $(uci get dhcp.@dnsmasq[0].local) != /b8.nz/ ]]; then - v uci set dhcp.@dnsmasq[0].local=/b8.nz/ - uci commit dhcp - dnsmasq_restart=true -fi - -if [[ $(uci get system.@system[0].hostname) != wrt ]]; then - v uci set system.@system[0].hostname=wrt - uci commit system -fi - +uset dhcp.@dnsmasq[0].domain b8.nz +uset dhcp.@dnsmasq[0].local /b8.nz/ +uset system.@system[0].hostname wrt if [[ $(uci get adblock.global.adb_enabled) != 1 ]]; then v uci set adblock.global.adb_enabled=1 @@ -443,20 +455,14 @@ if $firewall_restart; then v /etc/init.d/firewall restart fi +uset network.lan.ipaddr $l.1 +uset network.lan.netmask $mask -reboot=false -if [[ $(uci get network.lan.ipaddr) != $l.1 ]]; then - v uci set network.lan.ipaddr=$l.1 - uci commit network - reboot=true +if $network_restart; then + reboot fi -if [[ $(uci get network.lan.netmask) != $mask ]]; then - v uci set network.lan.netmask=$mask - uci commit network - reboot=true +if $dropbear_restart; then + v /etc/init.d/dropbear restart fi -if $reboot; then - reboot -fi exit 0 -- 2.30.2