#!/bin/sh uci -q batch <<-EOF >/dev/null delete ucitrack.@omr-bypass[-1] add ucitrack omr-bypass set ucitrack.@omr-bypass[-1].init=omr-bypass commit ucitrack 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 [ -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 [ -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 del_list ucitrack.@shadowsocks-libev[-1].affects=omr-bypass EOF fi rm -f /tmp/luci-indexcache exit 0