From d30b6452dd09f56c8f175b48847625b302b90ae5 Mon Sep 17 00:00:00 2001 From: Ycarus Date: Fri, 26 Oct 2018 16:51:30 +0200 Subject: [PATCH] Set IPv6 status using settings and fix wizard look --- .../luasrc/controller/openmptcprouter.lua | 6 ++-- .../luasrc/view/openmptcprouter/wizard.htm | 8 ++--- .../root/etc/init.d/openmptcprouter | 29 +++++++++++++++++++ 3 files changed, 36 insertions(+), 7 deletions(-) diff --git a/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua b/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua index 1e057aa10..10b7e0bcf 100644 --- a/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua +++ b/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua @@ -141,9 +141,9 @@ function wizard_add() ucic:set("network",intf,"netmask",netmask) ucic:set("network",intf,"gateway",gateway) - local downloadspeed = luci.http.formvalue("cbid.sqm.%s.download" % intf) or "" - local uploadspeed = luci.http.formvalue("cbid.sqm.%s.upload" % intf) or "" - if downloadspeed ~= "" and uploadspeed ~= "" then + local downloadspeed = luci.http.formvalue("cbid.sqm.%s.download" % intf) or "0" + local uploadspeed = luci.http.formvalue("cbid.sqm.%s.upload" % intf) or "0" + if downloadspeed ~= "0" and uploadspeed ~= "0" then ucic:set("sqm",intf,"download",downloadspeed) ucic:set("sqm",intf,"upload",uploadspeed) ucic:set("sqm",intf,"enabled","1") diff --git a/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm b/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm index 073bc5c34..c0f113692 100644 --- a/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm +++ b/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm @@ -198,7 +198,7 @@ end
- <%:Set value between 80-95% of max download speed link. Empty to disable.%> + <%:Set value between 80-95% of max download speed link. 0 to disable.%>
@@ -207,9 +207,9 @@ end

-
-
- <%:Set value between 80-95% of max upload speed link. Empty to disable.%> +
+ <%:Set value between 80-95% of max upload speed link. 0 to disable.%> +
diff --git a/luci-app-openmptcprouter/root/etc/init.d/openmptcprouter b/luci-app-openmptcprouter/root/etc/init.d/openmptcprouter index 67272330f..5db7f8561 100755 --- a/luci-app-openmptcprouter/root/etc/init.d/openmptcprouter +++ b/luci-app-openmptcprouter/root/etc/init.d/openmptcprouter @@ -19,6 +19,31 @@ omr_intf_set() { uci -q set openmptcprouter.$1=interface } +set_ipv6_state() { + local disable_ipv6=$1 + sysctl -w net.ipv6.conf.all.disable_ipv6=$disable_ipv6 + sed -i 's:^net.ipv6.conf.all.disable_ipv6=[0-9]*:net.ipv6.conf.all.disable_ipv6=$disable_ipv6:' /etc/sysctl.d/zzz_openmptcprouter.conf + uci -q set firewall.@defaults[0].disable_ipv6=$disable_ipv6 + uci -q commit firewall + if [ "$disable_ipv6" == "1" ]; then + uci -q set dhcp.lan.ra_default="0" + fi + + if [ "$disable_ipv6" == "1" ]; then + uci -q del dhcp.lan.dhcpv6 + uci -q del dhcp.lan.ra + uci -q del dhcp.lan.ra_default + uci -q set shadowsocks-libev.hi.local_address="0.0.0.0" + else + uci -q set shadowsocks-libev.hi.local_address="::" + fi + uci -q commit dhcp + if [ "$disable_ipv6" == "1" ]; then + /etc/init.d/odhcpd stop >/dev/null 2>&1 + /etc/init.d/odhcpd disable >/dev/null 2>&1 + fi +} + start_service() { local scaling_min_freq scaling_max_freq @@ -46,6 +71,10 @@ start_service() { echo $scaling_governor > $c/scaling_governor done } + config_get disable_ipv6 settings disable_ipv6 "0" + if [ "$(sysctl net.ipv6.conf.all.disable_ipv6 | tr -d '\n')" != "$disable_ipv6" ]; then + set_ipv6_state $disable_ipv6 + fi # remove sysctl already defined in /etc/sysctl.d/ sed -i -e '/tcp_fin_timeout/d' -e '/tcp_keepalive_time/d' -e '/nf_conntrack_max/d' /etc/sysctl.conf sed -i -e '/tcp_fin_timeout/d' -e '/tcp_keepalive_time/d' -e '/nf_conntrack_max/d' /etc/sysctl.d/10-default.conf