mirror of
https://github.com/Ysurac/openmptcprouter-feeds.git
synced 2025-03-09 15:40:03 +00:00
Fix and add automatic LAN as ifname source for proxy
This commit is contained in:
parent
2feffb2c1e
commit
79380e9c83
3 changed files with 31 additions and 8 deletions
|
@ -1,4 +1,6 @@
|
|||
#!/bin/sh
|
||||
. /lib/functions.sh
|
||||
. /lib/functions/network.sh
|
||||
|
||||
for schedule_bin in /usr/share/omr/schedule.d/*; do
|
||||
[ -x "$schedule_bin" ] && (
|
||||
|
|
|
@ -137,19 +137,34 @@ restart_omrtracker() {
|
|||
sleep 10
|
||||
}
|
||||
|
||||
set_lan_ips() {
|
||||
config_get ip4table "$1" ip4table
|
||||
config_get device "$1" device
|
||||
config_get proto "$1" proto
|
||||
if [ "$ip4table" = "lan" ] && [ -n "$device" ] && ([ "$proto" = "dhcp" ] || [ "$proto" = "static" ]); then
|
||||
[ -z "$(uci -q get shadowsocks-libev.ss_rules.ifnames | grep $device)" ] && {
|
||||
uci -q add_list shadowsocks-libev.ss_rules.ifnames="$device"
|
||||
uci -q add_list shadowsocks-rust.ss_rules.ifnames="$device"
|
||||
}
|
||||
elif [ -n "$device" ] && [ -n "$(uci -q get shadowsocks-libev.ss_rules.ifnames | grep $device)" ]; then
|
||||
uci -q del_list shadowsocks-libev.ss_rules.ifnames="$device"
|
||||
uci -q del_list shadowsocks-rust.ss_rules.ifnames="$device"
|
||||
fi
|
||||
}
|
||||
config_load network
|
||||
config_foreach restart_omrtracker interface
|
||||
|
||||
mutlipath_fix() {
|
||||
config_foreach set_lan_ips interface
|
||||
uci -q commit shadowsocks-libev.ss_rules
|
||||
uci -q commit shadowsocks-rust.ss_rules
|
||||
multipath_fix() {
|
||||
config_get multipath "$1" multipath
|
||||
[ "$multipath" != "off" ] && return
|
||||
interface="$(ifstatus $1 | jsonfilter -q -e '@.l3_device' | tr -d '\n')"
|
||||
[ -n "$interface"] && [ -z "$(multipath $interface | grep deactivated)" ] && /etc/init.d/mptcp reload $interface 2>&1 >/dev/null
|
||||
[ -n "$interface" ] && [ -z "$(multipath $interface | grep deactivated)" ] && /etc/init.d/mptcp reload $interface 2>&1 >/dev/null
|
||||
}
|
||||
|
||||
config_load network
|
||||
config_foreach multipath_fix interface
|
||||
|
||||
if [ -f /etc/init.d/shadowsocks-libev ] && [ "$(uci -q get shadowsocks-libev.sss0.disabled)" != "1" ] && [ "$(uci -q get shadowsocks-libev.sss0.key)" != "" ] && [ "$(uci -q get shadowsocks-libev.sss0.server)" != "" ] && [ "$(uci -q get shadowsocks-libev.sss0.server)" != "192.18.1.3" ] && [ "$(pgrep -f omr-tracker-ss)" = "" ] && [ "$(pgrep -f '/etc/init.d/omr-tracker')" = "" ]; then
|
||||
_log "Can't find omr-tracker-ss for Shadowsocks libev, restart omr-tracker..."
|
||||
/etc/init.d/omr-tracker restart 2>&1 >/dev/null
|
||||
|
|
|
@ -1,9 +1,15 @@
|
|||
#!/bin/sh
|
||||
|
||||
bypassipvs4s=$(ipset -o save list omr_dst_bypass_srv_vpn1_4)
|
||||
[ -z "$bypassipvs4s" ] && bypassipv4s=$(nft -j list set inet fw4 "omr_dst_bypass_srv_vpn1_4" | jsonfilter -e @.nftables[1].set.elem[*].prefix | awk '{gsub(/"/,"",$3);gsub(/,/,"/",$3); print $3 $5}')
|
||||
bypassipvs6s=$(ipset -o save list omr_dst_bypass_srv_vpn1_6)
|
||||
[ -z "$bypassipvs6s" ] && bypassipv6s=$(nft -j list set inet fw4 "omr_dst_bypass_srv_vpn1_6" | jsonfilter -e @.nftables[1].set.elem[*].prefix | awk '{gsub(/"/,"",$3);gsub(/,/,"/",$3); print $3 $5}')
|
||||
bypassipvs4s=$(ipset -o save list omr_dst_bypass_vpn1_4 2>/dev/null)
|
||||
[ -z "$bypassipvs4s" ] && {
|
||||
ipv4set=$(nft -j list set inet fw4 "omr_dst_bypass_vpn1_4" 2>/dev/null)
|
||||
[ -n "$ipv4set" ] && bypassipv4s=$(echo "$ipv4set" | jsonfilter -e @.nftables[1].set.elem[*].prefix | awk '{gsub(/"/,"",$3);gsub(/,/,"/",$3); print $3 $5}')
|
||||
}
|
||||
bypassipvs6s=$(ipset -o save list omr_dst_bypass_vpn1_6 2>/dev/null)
|
||||
[ -z "$bypassipvs6s" ] && {
|
||||
ipv6set=$(nft -j list set inet fw4 "omr_dst_bypass_vpn1_6" 2>/dev/null)
|
||||
[ -n "$ipv6set" ] && bypassipv6s=$(echo "$ipv6set" | jsonfilter -e @.nftables[1].set.elem[*].prefix | awk '{gsub(/"/,"",$3);gsub(/,/,"/",$3); print $3 $5}')
|
||||
}
|
||||
#"
|
||||
vpnipv4md5=$(echo "${bypassipv4s}" | md5sum | awk '{print $1}' | tr -d "\n")
|
||||
vpnipv6md5=$(echo "${bypassipv6s}" | md5sum | awk '{print $1}' | tr -d "\n")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue