From d5bdf2f3c5add4767af364845120cc59f926208a Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Thu, 18 Aug 2022 18:44:45 +0200 Subject: [PATCH] Fix ndpi support --- .../resources/view/services/omr-bypass.js | 3 +++ luci-app-omr-bypass/root/etc/init.d/omr-bypass | 13 ++++++------- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js b/luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js index 361d203db..3119d93f0 100644 --- a/luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js +++ b/luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js @@ -223,6 +223,9 @@ return L.view.extend({ o.noinactive = true; o.nocreate = true; + o = s.option(form.Flag, 'ndpi', _('Enable ndpi')); + o.default = o.enabled; + o = s.option(form.Value, 'note', _('Note')); o.rmempty = true; diff --git a/luci-app-omr-bypass/root/etc/init.d/omr-bypass b/luci-app-omr-bypass/root/etc/init.d/omr-bypass index 6b278ab43..69207c71b 100755 --- a/luci-app-omr-bypass/root/etc/init.d/omr-bypass +++ b/luci-app-omr-bypass/root/etc/init.d/omr-bypass @@ -341,6 +341,7 @@ _bypass_proto() { config_get proto $1 proto config_get intf $1 interface config_get enabled $1 enabled + config_get ndpi $1 ndpi [ "$enabled" = "0" ] && return intf=$(echo $intf | sed -e 's/\./_/') [ -n "$intf" ] && [ -z "$(ipset --list | grep omr_dst_bypass_$intf)" ] && return @@ -348,7 +349,7 @@ _bypass_proto() { [ -z "$intf" ] && intf="all" [ -z "$proto" ] && return - if [ "$(uci -q get openmptcprouter.settings.ndpi)" != "0" ]; then + if [ "$(uci -q get openmptcprouter.settings.ndpi)" != "0" ] && [ "$ndpi" != "0" ]; then if [ "$intf" = "all" ]; then iptables-restore -w --wait=60 --noflush <<-EOF *mangle @@ -802,9 +803,8 @@ start_service() { iptables-restore -w --wait=60 --noflush <<-EOF *mangle :omr-bypass-dpi - - -A PREROUTING -m addrtype ! --dst-type LOCAL -j omr-bypass-dpi - -A OUTPUT -m addrtype ! --dst-type LOCAL -j omr-bypass-dpi - -A POSTROUTING -m addrtype --dst-type LOCAL -j omr-bypass-dpi + -A INPUT -m addrtype ! --dst-type LOCAL -j omr-bypass-dpi + -A FORWARD -m addrtype ! --dst-type LOCAL -j omr-bypass-dpi COMMIT EOF if [ "$disableipv6" = "0" ]; then @@ -812,9 +812,8 @@ start_service() { ip6tables-restore -w --wait=60 --noflush <<-EOF *mangle :omr-bypass6-dpi - - -A PREROUTING -m addrtype ! --dst-type LOCAL -j omr-bypass6-dpi - -A OUTPUT -m addrtype ! --dst-type LOCAL -j omr-bypass6-dpi - -A POSTROUTING -m addrtype --dst-type LOCAL -j omr-bypass6-dpi + -A INPUT -m addrtype ! --dst-type LOCAL -j omr-bypass6-dpi + -A FORWARD -m addrtype ! --dst-type LOCAL -j omr-bypass6-dpi COMMIT EOF fi