1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter-feeds.git synced 2025-03-09 15:40:03 +00:00

Fix omr-bypass with vlan

This commit is contained in:
Ycarus (Yannick Chabanois) 2021-01-28 20:41:36 +01:00
parent b0e38240cc
commit df1f5a7915

View file

@ -50,7 +50,8 @@ _bypass_domains() {
_bypass_domain() {
local domain=$1
local intf=$2
intf=$(echo $intf | sed -e 's/\./_/')
[ -z "$intf" ] && intf="all"
if [ -n "$domain" ]; then
domain=$(echo $domain | sed 's:^\.::')
@ -68,7 +69,7 @@ _bypass_domain() {
fi
fi
if [ "$(uci -q get dhcp.@dnsmasq[0].ipset | grep /$domain/)" = "" ]; then
uci -q add_list dhcp.@dnsmasq[0].ipset="/$domain/omr_dst_bypass_$intf,omr6_dst_bypass_$intf"
uci -q add_list dhcp.@dnsmasq[0].ipset="/$domain/omr_dst_bypass_$intfuci,omr6_dst_bypass_$intf"
else
dnsmasqipset=$(uci -q get dhcp.@dnsmasq[0].ipset | sed 's/ /\n/g')
for dnsipset in $dnsmasqipset; do
@ -90,8 +91,8 @@ _bypass_mac() {
config_get intf $1 interface
config_get enabled $1 enabled
[ "$enabled" = "0" ] && return
intfuci=$(echo $intf | sed 's/\./_/')
local intfid="$(uci -q get omr-bypass.$intfuci.id)"
intf=$(echo $intf | sed -e 's/\./_/')
local intfid="$(uci -q get omr-bypass.$intf.id)"
[ -z "$intf" ] && intf="all"
[ -z "$mac" ] && return
@ -132,8 +133,8 @@ _bypass_lan_ip() {
config_get intf $1 interface
config_get enabled $1 enabled
[ "$enabled" = "0" ] && return
intfuci=$(echo $intf | sed 's/\./_/')
local intfid="$(uci -q get omr-bypass.$intfuci.id)"
intf=$(echo $intf | sed -e 's/\./_/')
local intfid="$(uci -q get omr-bypass.$intf.id)"
[ -z "$intf" ] && intf="all"
[ -z "$ip" ] && return
@ -190,8 +191,8 @@ _bypass_dest_port() {
config_get intf $1 interface
config_get enabled $1 enabled
[ "$enabled" = "0" ] && return
intfuci=$(echo $intf | sed 's/\./_/')
local intfid="$(uci -q get omr-bypass.$intfuci.id)"
intf=$(echo $intf | sed -e 's/\./_/')
local intfid="$(uci -q get omr-bypass.$intf.id)"
[ -z "$intf" ] && intf="all"
[ -z "$dport" ] && return
@ -246,8 +247,8 @@ _bypass_src_port() {
config_get intf $1 interface
config_get enabled $1 enabled
[ "$enabled" = "0" ] && return
intfuci=$(echo $intf | sed 's/\./_/')
local intfid="$(uci -q get omr-bypass.$intfuci.id)"
intf=$(echo $intf | sed -e 's/\./_/')
local intfid="$(uci -q get omr-bypass.$intf.id)"
[ -z "$intf" ] && intf="all"
[ -z "$sport" ] && return
@ -300,8 +301,8 @@ _bypass_proto() {
config_get intf $1 interface
config_get enabled $1 enabled
[ "$enabled" = "0" ] && return
intfuci=$(echo $intf | sed 's/\./_/')
local intfid="$(uci -q get omr-bypass.$intfuci.id)"
intf=$(echo $intf | sed -e 's/\./_/')
local intfid="$(uci -q get omr-bypass.$intf.id)"
[ -z "$intf" ] && intf="all"
[ -z "$proto" ] && return
@ -459,6 +460,7 @@ _intf_rule() {
#[ "$mode" = "off" ] && return
[ -z "$count" ] && return
[ -z "$intf" ] && return
intf=$(echo $intf | sed -e 's/\./_/')
[ "$(echo $1 | grep _dev)" != "" ] && return
[ -z "$RELOAD" ] || [ "$(ipset --list | grep omr_dst_bypass_$intf)" = "" ] && {
unset RELOAD
@ -498,9 +500,8 @@ _intf_rule() {
config_foreach _intf_rule_ss_rules ss_rules
_intf_rule_v2ray_rules
intfuci=$(echo $intf | sed 's/\./_/')
uci -q set omr-bypass.$intfuci=interface
uci -q set omr-bypass.$intfuci.id=$count
uci -q set omr-bypass.$intf=interface
uci -q set omr-bypass.$intf.id=$count
}
_bypass_ip_set() {