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

Choose interface used for each domains, ips, networks or protocols that bypass OMR

This commit is contained in:
Ycarus 2018-10-05 17:13:38 +02:00
parent d1d69d8043
commit 4171d8e07a
7 changed files with 296 additions and 196 deletions

View file

@ -7,21 +7,51 @@ uci -q batch <<-EOF >/dev/null
commit ucitrack
EOF
if [ "$(uci -q get omr-bypass.dpi)" = "" ]; then
uci -q batch <<-EOF >/dev/null
set omr-bypass.dpi=bypass
EOF
if [ -n "$(uci -q get omr-bypass.dpi)" ]; then
proto=$(uci -q get omr-bypass.dpi.proto)
[ -n "$proto" ] && {
for pro in $proto; do
uci -q batch <<-EOF >/dev/null
set omr-bypass.dpi[-1]=dpi
set omr-bypass.dpi[-1].proto=$pro
set omr-bypass.dpi[-1].interface=all
EOF
done
uci -q commit omr-bypass
}
fi
if [ "$(uci -q get omr-bypass.default)" = "" ]; then
uci -q batch <<-EOF >/dev/null
set omr-bypass.defaults=defaults
EOF
if [ -n "$(uci -q get omr-bypass.ips)" ]; then
ips=$(uci -q get omr-bypass.ips.ip)
[ -n "$ips" ] && {
for ip in $ips; do
uci -q batch <<-EOF >/dev/null
set omr-bypass.ips[-1]=ips
set omr-bypass.ips[-1].name=$ip
set omr-bypass.ips[-1].interface=all
EOF
done
uci -q commit omr-bypass
}
fi
if [ "$(uci -q get ucitrack.@shadowsocks-libev[-1].affects)" = "" ]; then
if [ -n "$(uci -q get dhcp.dnsmasq[0].ipset)" ]; then
domains="$(uci -q get dhcp.dnsmasq[0].ipset | sed -e 's:/::' -e 's:/ss_rules_dst_bypass_all::' -e 's:/: :g')"
[ -n "$domains" ] && {
for domain in $domains; do
uci -q batch <<-EOF >/dev/null
set omr-bypass.domains[-1]=domains
set omr-bypass.domains[-1].name=$domain
set omr-bypass.domains[-1].interface=all
EOF
done
uci -q commit omr-bypass
}
fi
if [ "$(uci -q get ucitrack.@shadowsocks-libev[-1].affects | grep omr-bypass)" != "" ]; then
uci -q batch <<-EOF >/dev/null
set ucitrack.@shadowsocks-libev[-1].affects=omr-bypass
del_list ucitrack.@shadowsocks-libev[-1].affects=omr-bypass
EOF
fi
rm -f /tmp/luci-indexcache