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:
parent
b0e38240cc
commit
df1f5a7915
1 changed files with 16 additions and 15 deletions
|
@ -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() {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue