From f895376029703a57c0e43a3765bd1616e12b6e29 Mon Sep 17 00:00:00 2001 From: Ycarus Date: Sun, 27 Jan 2019 07:57:24 +0100 Subject: [PATCH] Apply config again only for very old config or needed settings --- .../etc/uci-defaults/1930-omr-shadowsocks | 97 +++++++------- .../files/etc/uci-defaults/1940-omr-dns | 31 ++--- .../files/etc/uci-defaults/1960-omr-qos | 85 ++++++------ .../files/etc/uci-defaults/1970-omr-vnstat | 43 ++++--- .../files/etc/uci-defaults/2030-omr-wifi | 14 +- .../files/etc/uci-defaults/2040-omr-sqm | 121 +++++++++--------- 6 files changed, 199 insertions(+), 192 deletions(-) diff --git a/openmptcprouter/files/etc/uci-defaults/1930-omr-shadowsocks b/openmptcprouter/files/etc/uci-defaults/1930-omr-shadowsocks index 8f44270df..3cfc95b55 100755 --- a/openmptcprouter/files/etc/uci-defaults/1930-omr-shadowsocks +++ b/openmptcprouter/files/etc/uci-defaults/1930-omr-shadowsocks @@ -1,58 +1,59 @@ #!/bin/sh -NBCPU=$(grep -c '^processor' /proc/cpuinfo | tr -d "\n") -if [ "$NBCPU" -gt 2 ]; then - if [ "$(uci -q get shadowsocks-libev.hi3)" = "" ]; then - for c in $(seq 3 $NBCPU); do - uci -q batch <<-EOF >/dev/null - set shadowsocks-libev.hi$c=ss_redir - set shadowsocks-libev.hi$c.server=sss0 - set shadowsocks-libev.hi$c.local_address="0.0.0.0" - set shadowsocks-libev.hi$c.local_port=1100 - set shadowsocks-libev.hi$c.mode=tcp_and_udp +if [ "$(uci -q get openmptcprouter.latest_versions)" = "" ]; then + NBCPU=$(grep -c '^processor' /proc/cpuinfo | tr -d "\n") + if [ "$NBCPU" -gt 2 ]; then + if [ "$(uci -q get shadowsocks-libev.hi3)" = "" ]; then + for c in $(seq 3 $NBCPU); do + uci -q batch <<-EOF >/dev/null + set shadowsocks-libev.hi$c=ss_redir + set shadowsocks-libev.hi$c.server=sss0 + set shadowsocks-libev.hi$c.local_address="0.0.0.0" + set shadowsocks-libev.hi$c.local_port=1100 + set shadowsocks-libev.hi$c.mode=tcp_and_udp + set shadowsocks-libev.hi$c.timeout=600 + set shadowsocks-libev.hi$c.fast_open=1 + set shadowsocks-libev.hi$c.reuse_port=1 + set shadowsocks-libev.hi$c.syslog=1 + set shadowsocks-libev.hi$c.mptcp=1 + set shadowsocks-libev.hi$c.no_delay=1 + set shadowsocks-libev.hi$c.verbose=0 + commit shadowsocks-libev + EOF + done + fi + fi + + if [ "$(uci -q get shadowsocks-libev.hi.timeout)" != "600" ]; then + uci -q batch <<-EOF > /dev/null + set shadowsocks-libev.hi.timeout=600 + commit shadowsocks-libev + EOF + for c in $(seq 2 $NBCPU); do + uci -q batch <<-EOF > /dev/null set shadowsocks-libev.hi$c.timeout=600 - set shadowsocks-libev.hi$c.fast_open=1 - set shadowsocks-libev.hi$c.reuse_port=1 - set shadowsocks-libev.hi$c.syslog=1 - set shadowsocks-libev.hi$c.mptcp=1 - set shadowsocks-libev.hi$c.no_delay=1 - set shadowsocks-libev.hi$c.verbose=0 + commit shadowsocks-libev + EOF + done + fi + if [ "$(uci -q get shadowsocks-libev.sss0.method)" != "chacha20" ]; then + uci -q batch <<-EOF > /dev/null + set shadowsocks-libev.sss0.method=chacha20 + commit shadowsocks-libev + EOF + fi + if [ "$(uci -q get shadowsocks-libev.hi.mode)" != "tcp" ]; then + uci -q batch <<-EOF > /dev/null + set shadowsocks-libev.hi.mode=tcp_and_udp + commit shadowsocks-libev + EOF + for c in $(seq 2 $NBCPU); do + uci -q batch <<-EOF > /dev/null + set shadowsocks-libev.hi$c.mode=tcp_and_udp commit shadowsocks-libev EOF done fi fi - -if [ "$(uci -q get shadowsocks-libev.hi.timeout)" != "600" ]; then - uci -q batch <<-EOF > /dev/null - set shadowsocks-libev.hi.timeout=600 - commit shadowsocks-libev - EOF - for c in $(seq 2 $NBCPU); do - uci -q batch <<-EOF > /dev/null - set shadowsocks-libev.hi$c.timeout=600 - commit shadowsocks-libev - EOF - done -fi -if [ "$(uci -q get shadowsocks-libev.sss0.method)" != "chacha20" ]; then - uci -q batch <<-EOF > /dev/null - set shadowsocks-libev.sss0.method=chacha20 - commit shadowsocks-libev - EOF -fi -if [ "$(uci -q get shadowsocks-libev.hi.mode)" != "tcp" ]; then - uci -q batch <<-EOF > /dev/null - set shadowsocks-libev.hi.mode=tcp_and_udp - commit shadowsocks-libev - EOF - for c in $(seq 2 $NBCPU); do - uci -q batch <<-EOF > /dev/null - set shadowsocks-libev.hi$c.mode=tcp_and_udp - commit shadowsocks-libev - EOF - done - -fi rm -f /tmp/luci-indexcache exit 0 diff --git a/openmptcprouter/files/etc/uci-defaults/1940-omr-dns b/openmptcprouter/files/etc/uci-defaults/1940-omr-dns index 1f3cdef9f..7825839de 100755 --- a/openmptcprouter/files/etc/uci-defaults/1940-omr-dns +++ b/openmptcprouter/files/etc/uci-defaults/1940-omr-dns @@ -1,19 +1,20 @@ #!/bin/sh - -if [ "$(uci -q get unbound.@unbound[0].listen_port | grep 5353)" = "" ]; then - uci -q batch <<-EOF >/dev/null - set unbound.@unbound[-1].listen_port=5353 - set unbound.@unbound[-1].protocol="ip4_only" - set unbound.@unbound[-1].enabled=1 - set unbound.@unbound[-1].recursion="aggressive" - commit unbound - EOF -fi -if [ "$(uci -q show dhcp | grep 127.0.0.1#5353)" = "" ]; then - uci -q batch <<-EOF >/dev/null - add_list dhcp.@dnsmasq[-1].server="127.0.0.1#5353" - commit dhcp - EOF +if [ "$(uci -q openmptcprouter.latest_versions)" = "" ]; then + if [ "$(uci -q get unbound.@unbound[0].listen_port | grep 5353)" = "" ]; then + uci -q batch <<-EOF >/dev/null + set unbound.@unbound[-1].listen_port=5353 + set unbound.@unbound[-1].protocol="ip4_only" + set unbound.@unbound[-1].enabled=1 + set unbound.@unbound[-1].recursion="aggressive" + commit unbound + EOF + fi + if [ "$(uci -q show dhcp | grep 127.0.0.1#5353)" = "" ]; then + uci -q batch <<-EOF >/dev/null + add_list dhcp.@dnsmasq[-1].server="127.0.0.1#5353" + commit dhcp + EOF + fi fi uci -q batch <<-EOF >/dev/null set dhcp.@dnsmasq[-1].noresolv=1 diff --git a/openmptcprouter/files/etc/uci-defaults/1960-omr-qos b/openmptcprouter/files/etc/uci-defaults/1960-omr-qos index d86b5e107..888b6f106 100755 --- a/openmptcprouter/files/etc/uci-defaults/1960-omr-qos +++ b/openmptcprouter/files/etc/uci-defaults/1960-omr-qos @@ -1,49 +1,50 @@ #!/bin/sh - -if [ "$(uci -q get qos.wan1)" = "" ]; then - uci -q batch <<-EOF >/dev/null - delete qos.wan - set qos.wan1=interface - set qos.wan1.classgroup="Default" - set qos.wan1.enabled="0" - set qos.wan1.upload="4000" - set qos.wan1.download="100000" - set qos.wan2=interface - set qos.wan2.classgroup="Default" - set qos.wan2.enabled="0" - set qos.wan2.upload="4000" - set qos.wan2.download="100000" - delete qos.@classify[-1] - add qos classify - set qos.@classify[-1].target='Express' - set qos.@classify[-1].ports='5600' - set qos.@classify[-1].comments='SIP' - add qos classify - set qos.@classify[-1].target='Express' - set qos.@classify[-1].portrange='27000-27050' - set qos.@classify[-1].proto='udp' - set qos.@classify[-1].comments='Steam' - commit qos - EOF - if [ "$(uci -q get network.wan3)" != "" ]; then +if [ "$(uci -q openmptcprouter.latest_versions)" ]; then + if [ "$(uci -q get qos.wan1)" = "" ]; then uci -q batch <<-EOF >/dev/null - set qos.wan3=interface - set qos.wan3.classgroup="Default" - set qos.wan3.enabled="0" - set qos.wan3.upload="4000" - set qos.wan3.download="100000" - commit qos - EOF - fi - if [ "$(uci -q get network.wan4)" != "" ]; then - uci -q batch <<-EOF >/dev/null - set qos.wan4=interface - set qos.wan4.classgroup="Default" - set qos.wan4.enabled="0" - set qos.wan4.upload="4000" - set qos.wan4.download="100000" + delete qos.wan + set qos.wan1=interface + set qos.wan1.classgroup="Default" + set qos.wan1.enabled="0" + set qos.wan1.upload="4000" + set qos.wan1.download="100000" + set qos.wan2=interface + set qos.wan2.classgroup="Default" + set qos.wan2.enabled="0" + set qos.wan2.upload="4000" + set qos.wan2.download="100000" + delete qos.@classify[-1] + add qos classify + set qos.@classify[-1].target='Express' + set qos.@classify[-1].ports='5600' + set qos.@classify[-1].comments='SIP' + add qos classify + set qos.@classify[-1].target='Express' + set qos.@classify[-1].portrange='27000-27050' + set qos.@classify[-1].proto='udp' + set qos.@classify[-1].comments='Steam' commit qos EOF + if [ "$(uci -q get network.wan3)" != "" ]; then + uci -q batch <<-EOF >/dev/null + set qos.wan3=interface + set qos.wan3.classgroup="Default" + set qos.wan3.enabled="0" + set qos.wan3.upload="4000" + set qos.wan3.download="100000" + commit qos + EOF + fi + if [ "$(uci -q get network.wan4)" != "" ]; then + uci -q batch <<-EOF >/dev/null + set qos.wan4=interface + set qos.wan4.classgroup="Default" + set qos.wan4.enabled="0" + set qos.wan4.upload="4000" + set qos.wan4.download="100000" + commit qos + EOF + fi fi fi rm -f /tmp/luci-indexcache diff --git a/openmptcprouter/files/etc/uci-defaults/1970-omr-vnstat b/openmptcprouter/files/etc/uci-defaults/1970-omr-vnstat index cbfcbb134..79377cb57 100755 --- a/openmptcprouter/files/etc/uci-defaults/1970-omr-vnstat +++ b/openmptcprouter/files/etc/uci-defaults/1970-omr-vnstat @@ -1,31 +1,32 @@ #!/bin/sh - -wanintf="$(uci -q get network.wan1.ifname)" -if [ "$(uci -q get vnstat.@vnstat[-1].interface | grep $wanintf)" = "" ]; then - uci -q batch <<-EOF >/dev/null - delete vnstat.@vnstat[-1] - add vnstat vnstat - set vnstat.@vnstat[-1].interface=$wanintf - EOF - wanintf="$(uci -q get network.wan2.ifname)" - uci -q batch <<-EOF >/dev/null - add_list vnstat.@vnstat[-1].interface=$wanintf - EOF - if [ "$(uci -q get network.wan3)" != "" ]; then - wanintf="$(uci -q get network.wan3.ifname)" +if [ "$(uci -q get openmptcprouter.latest_versions)" = "" ]; then + wanintf="$(uci -q get network.wan1.ifname)" + if [ "$(uci -q get vnstat.@vnstat[-1].interface | grep $wanintf)" = "" ]; then + uci -q batch <<-EOF >/dev/null + delete vnstat.@vnstat[-1] + add vnstat vnstat + set vnstat.@vnstat[-1].interface=$wanintf + EOF + wanintf="$(uci -q get network.wan2.ifname)" uci -q batch <<-EOF >/dev/null add_list vnstat.@vnstat[-1].interface=$wanintf EOF - fi - if [ "$(uci -q get network.wan4)" != "" ]; then - wanintf="$(uci -q get network.wan4.ifname)" + if [ "$(uci -q get network.wan3)" != "" ]; then + wanintf="$(uci -q get network.wan3.ifname)" + uci -q batch <<-EOF >/dev/null + add_list vnstat.@vnstat[-1].interface=$wanintf + EOF + fi + if [ "$(uci -q get network.wan4)" != "" ]; then + wanintf="$(uci -q get network.wan4.ifname)" + uci -q batch <<-EOF >/dev/null + add_list vnstat.@vnstat[-1].interface=$wanintf + EOF + fi uci -q batch <<-EOF >/dev/null - add_list vnstat.@vnstat[-1].interface=$wanintf + commit vnstat EOF fi - uci -q batch <<-EOF >/dev/null - commit vnstat - EOF fi rm -f /tmp/luci-indexcache echo '0 */2 * * * /etc/init.d/vnstat_backup backup' > /etc/crontabs/root diff --git a/openmptcprouter/files/etc/uci-defaults/2030-omr-wifi b/openmptcprouter/files/etc/uci-defaults/2030-omr-wifi index e79db4dc5..c33dd9720 100755 --- a/openmptcprouter/files/etc/uci-defaults/2030-omr-wifi +++ b/openmptcprouter/files/etc/uci-defaults/2030-omr-wifi @@ -1,10 +1,12 @@ #!/bin/sh -uci -q show wireless.default_radio0 && { - uci -q batch <<-EOF >/dev/null - delete wireless.default_radio0 - commit wireless - EOF -} +if [ "$(uci -q openmptcprouter.latest_versions)" = "" ]; then + uci -q show wireless.default_radio0 && { + uci -q batch <<-EOF >/dev/null + delete wireless.default_radio0 + commit wireless + EOF + } +fi exit 0 \ No newline at end of file diff --git a/openmptcprouter/files/etc/uci-defaults/2040-omr-sqm b/openmptcprouter/files/etc/uci-defaults/2040-omr-sqm index 46bb632f9..233258e78 100755 --- a/openmptcprouter/files/etc/uci-defaults/2040-omr-sqm +++ b/openmptcprouter/files/etc/uci-defaults/2040-omr-sqm @@ -1,67 +1,68 @@ #!/bin/sh - -if [ "$(uci -q get sqm.wan1)" = "" ]; then - wan1="$(uci -q get network.wan1.ifname)" - wan2="$(uci -q get network.wan2.ifname)" - uci -q batch <<-EOF >/dev/null - delete sqm.eth1 - set sqm.wan1=queue - set sqm.wan1.qdisc="fq_codel" - set sqm.wan1.script="simple.qos" - set sqm.wan1.qdisc_advanced='0' - set sqm.wan1.linklayer='none' - set sqm.wan1.enabled='0' - set sqm.wan1.interface=$wan1 - set sqm.wan1.download='0' - set sqm.wan1.upload='0' - set sqm.wan1.debug_logging='0' - set sqm.wan1.verbosity='5' - set sqm.wan2=queue - set sqm.wan2.qdisc="fq_codel" - set sqm.wan2.script="simple.qos" - set sqm.wan2.qdisc_advanced='0' - set sqm.wan2.linklayer='none' - set sqm.wan2.enabled='0' - set sqm.wan2.interface=$wan2 - set sqm.wan2.download='0' - set sqm.wan2.upload='0' - set sqm.wan2.debug_logging='0' - set sqm.wan2.verbosity='5' - commit sqm - EOF - if [ "$(uci -q get network.wan3)" != "" ]; then - wan3="$(uci -q get network.wan3.ifname)" +if [ "$(uci -q openmptcprouter.latest_versions)" = "" ]; then + if [ "$(uci -q get sqm.wan1)" = "" ]; then + wan1="$(uci -q get network.wan1.ifname)" + wan2="$(uci -q get network.wan2.ifname)" uci -q batch <<-EOF >/dev/null - set sqm.wan3=queue - set sqm.wan3.qdisc="fq_codel" - set sqm.wan3.script="simple.qos" - set sqm.wan3.qdisc_advanced='0' - set sqm.wan3.linklayer='none' - set sqm.wan3.enabled='0' - set sqm.wan3.interface=$wan3 - set sqm.wan3.download='0' - set sqm.wan3.upload='0' - set sqm.wan3.debug_logging='0' - set sqm.wan3.verbosity='5' - commit sqm - EOF - fi - if [ "$(uci -q get network.wan4)" != "" ]; then - wan4="$(uci -q get network.wan4.ifname)" - uci -q batch <<-EOF >/dev/null - set sqm.wan4=queue - set sqm.wan4.qdisc="fq_codel" - set sqm.wan4.script="simple.qos" - set sqm.wan4.qdisc_advanced='0' - set sqm.wan4.linklayer='none' - set sqm.wan4.enabled='0' - set sqm.wan4.interface=$wan4 - set sqm.wan4.download='0' - set sqm.wan4.upload='0' - set sqm.wan4.debug_logging='0' - set sqm.wan4.verbosity='5' + delete sqm.eth1 + set sqm.wan1=queue + set sqm.wan1.qdisc="fq_codel" + set sqm.wan1.script="simple.qos" + set sqm.wan1.qdisc_advanced='0' + set sqm.wan1.linklayer='none' + set sqm.wan1.enabled='0' + set sqm.wan1.interface=$wan1 + set sqm.wan1.download='0' + set sqm.wan1.upload='0' + set sqm.wan1.debug_logging='0' + set sqm.wan1.verbosity='5' + set sqm.wan2=queue + set sqm.wan2.qdisc="fq_codel" + set sqm.wan2.script="simple.qos" + set sqm.wan2.qdisc_advanced='0' + set sqm.wan2.linklayer='none' + set sqm.wan2.enabled='0' + set sqm.wan2.interface=$wan2 + set sqm.wan2.download='0' + set sqm.wan2.upload='0' + set sqm.wan2.debug_logging='0' + set sqm.wan2.verbosity='5' commit sqm EOF + if [ "$(uci -q get network.wan3)" != "" ]; then + wan3="$(uci -q get network.wan3.ifname)" + uci -q batch <<-EOF >/dev/null + set sqm.wan3=queue + set sqm.wan3.qdisc="fq_codel" + set sqm.wan3.script="simple.qos" + set sqm.wan3.qdisc_advanced='0' + set sqm.wan3.linklayer='none' + set sqm.wan3.enabled='0' + set sqm.wan3.interface=$wan3 + set sqm.wan3.download='0' + set sqm.wan3.upload='0' + set sqm.wan3.debug_logging='0' + set sqm.wan3.verbosity='5' + commit sqm + EOF + fi + if [ "$(uci -q get network.wan4)" != "" ]; then + wan4="$(uci -q get network.wan4.ifname)" + uci -q batch <<-EOF >/dev/null + set sqm.wan4=queue + set sqm.wan4.qdisc="fq_codel" + set sqm.wan4.script="simple.qos" + set sqm.wan4.qdisc_advanced='0' + set sqm.wan4.linklayer='none' + set sqm.wan4.enabled='0' + set sqm.wan4.interface=$wan4 + set sqm.wan4.download='0' + set sqm.wan4.upload='0' + set sqm.wan4.debug_logging='0' + set sqm.wan4.verbosity='5' + commit sqm + EOF + fi fi fi rm -f /tmp/luci-indexcache