1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter-feeds.git synced 2025-02-15 03:51:51 +00:00
This commit is contained in:
suyuan 2024-02-19 10:30:21 +08:00 committed by GitHub
commit 4eec667c55
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 84 additions and 31 deletions

View file

@ -444,7 +444,7 @@ _bypass_proto_without_ndpi() {
uci -q add_list firewall.bypass_$proto.entry=$ip uci -q add_list firewall.bypass_$proto.entry=$ip
else else
#ipset -q add omr_dst_bypass_$intf $ip #ipset -q add omr_dst_bypass_$intf $ip
uci -q add_list firewall.omr_dst_bypass_$intf_4.entry=$ip uci -q add_list firewall.omr_dst_bypass_${intf}_4.entry=$ip
fi fi
elif [ "$valid_ip6" = "ok" ]; then elif [ "$valid_ip6" = "ok" ]; then
if [ "$vpn" != "1" ]; then if [ "$vpn" != "1" ]; then
@ -452,7 +452,7 @@ _bypass_proto_without_ndpi() {
uci -q add_list firewall.bypass6_$proto.entry=$ip uci -q add_list firewall.bypass6_$proto.entry=$ip
else else
#ipset -q add omr6_dst_bypass_$intf $ip #ipset -q add omr6_dst_bypass_$intf $ip
uci -q add_list firewall.omr6_dst_bypass_$intf_4.entry=$ip uci -q add_list firewall.omr_dst_bypass_${intf}_6.entry=$ip
fi fi
fi fi
done done
@ -572,6 +572,11 @@ _intf_rule() {
set firewall.omr_dst_bypass_${intf}_4=ipset set firewall.omr_dst_bypass_${intf}_4=ipset
set firewall.omr_dst_bypass_${intf}_4.name="omr_dst_bypass_${intf}_4" set firewall.omr_dst_bypass_${intf}_4.name="omr_dst_bypass_${intf}_4"
set firewall.omr_dst_bypass_${intf}_4.match='dest_ip' set firewall.omr_dst_bypass_${intf}_4.match='dest_ip'
set firewall.omr_dst_bypass_${intf}_4.enabled='1'
set firewall.omr_dst_bypass_${intf}_6=ipset
set firewall.omr_dst_bypass_${intf}_6.name="omr_dst_bypass_${intf}_6"
set firewall.omr_dst_bypass_${intf}_6.match='dest_ip'
set firewall.omr_dst_bypass_${intf}_6.enabled='1'
EOF EOF
#echo "firewall omr_dst_bypass rules" #echo "firewall omr_dst_bypass rules"
if [ "$disableipv6" = "0" ]; then if [ "$disableipv6" = "0" ]; then
@ -686,8 +691,10 @@ _intf_rule() {
_intf_rule_xray_rules _intf_rule_xray_rules
fi fi
if [ "$intf" != "all" ]; then
uci -q set omr-bypass.$intf=interface uci -q set omr-bypass.$intf=interface
uci -q set omr-bypass.$intf.id=$count uci -q set omr-bypass.$intf.id=$count
fi
} }
_bypass_ip_set() { _bypass_ip_set() {

View file

@ -11,6 +11,8 @@ START=99
EXTRA_COMMANDS="rules_up rules_down rules_exist" EXTRA_COMMANDS="rules_up rules_down rules_exist"
. /usr/lib/unbound/iptools.sh
ss_confdir=/var/etc/shadowsocks-libev ss_confdir=/var/etc/shadowsocks-libev
ss_bindir=/usr/bin ss_bindir=/usr/bin
@ -135,7 +137,11 @@ ss_rules_cb() {
if [ "$cfgtype" = ss_redir ]; then if [ "$cfgtype" = ss_redir ]; then
config_get cfgserver "$cfg" server config_get cfgserver "$cfg" server
config_get server "$cfgserver" server config_get server "$cfgserver" server
if [ -z "$ss_redir_servers" ]; then
ss_redir_servers="$server"
else
ss_redir_servers="$ss_redir_servers $server" ss_redir_servers="$ss_redir_servers $server"
fi
if [ "$mode" = tcp_only -o "$mode" = "tcp_and_udp" ]; then if [ "$mode" = tcp_only -o "$mode" = "tcp_and_udp" ]; then
eval "ss_rules_redir_tcp_$cfg=$local_port" eval "ss_rules_redir_tcp_$cfg=$local_port"
fi fi
@ -193,7 +199,15 @@ ss_rules_nft_gen() {
eval local_port_udp="\$ss_rules_redir_udp_$redir_udp" eval local_port_udp="\$ss_rules_redir_udp_$redir_udp"
fi fi
[ -n "$local_port_tcp" -o -n "$local_port_udp" ] || return 1 [ -n "$local_port_tcp" -o -n "$local_port_udp" ] || return 1
remote_servers="$(echo $ss_redir_servers \
if [ -z "$(echo $ss_redir_servers | grep ' ')" ]; then
valid_ip4=$( valid_subnet4 $ss_redir_servers)
valid_ip6=$( valid_subnet6 $ss_redir_servers)
if [ "$valid_ip4" = "ok" ] || [ "$valid_ip6" = "ok" ]; then
remote_servers=$ss_redir_servers
fi
fi
[ -z "$remote_servers" ] && remote_servers="$(echo $ss_redir_servers \
| tr ' ' '\n' \ | tr ' ' '\n' \
| sort -u \ | sort -u \
| xargs -n 1 resolveip \ | xargs -n 1 resolveip \

View file

@ -11,6 +11,8 @@ START=99
EXTRA_COMMANDS="rules_up rules_down rules_exist" EXTRA_COMMANDS="rules_up rules_down rules_exist"
. /usr/lib/unbound/iptools.sh
ss_confdir=/var/etc/shadowsocks-rust ss_confdir=/var/etc/shadowsocks-rust
ss_bindir=/usr/bin ss_bindir=/usr/bin
@ -108,7 +110,11 @@ ss_rules_cb() {
if [ "$cfgtype" = ss_redir ]; then if [ "$cfgtype" = ss_redir ]; then
config_get cfgserver "$cfg" server config_get cfgserver "$cfg" server
config_get server "$cfgserver" server config_get server "$cfgserver" server
if [ -z "$ss_redir_servers" ]; then
ss_redir_servers="$server"
else
ss_redir_servers="$ss_redir_servers $server" ss_redir_servers="$ss_redir_servers $server"
fi
if [ "$mode" = tcp_only -o "$mode" = "tcp_and_udp" ]; then if [ "$mode" = tcp_only -o "$mode" = "tcp_and_udp" ]; then
eval "ss_rules_redir_tcp_$cfg=$local_port" eval "ss_rules_redir_tcp_$cfg=$local_port"
fi fi
@ -164,7 +170,15 @@ ss_rules_nft_gen() {
fi fi
[ -n "$local_port_tcp" -o -n "$local_port_udp" ] || return 1 [ -n "$local_port_tcp" -o -n "$local_port_udp" ] || return 1
remote_servers="$(echo $ss_redir_servers \
if [ -z "$(echo $ss_redir_servers | grep ' ')" ]; then
valid_ip4=$( valid_subnet4 $ss_redir_servers)
valid_ip6=$( valid_subnet6 $ss_redir_servers)
if [ "$valid_ip4" = "ok" ] || [ "$valid_ip6" = "ok" ]; then
remote_servers=$ss_redir_servers
fi
fi
[ -z "$remote_servers" ] && remote_servers="$(echo $ss_redir_servers \
| tr ' ' '\n' \ | tr ' ' '\n' \
| sort -u \ | sort -u \
| xargs -n 1 resolveip \ | xargs -n 1 resolveip \

View file

@ -16,42 +16,60 @@ start_service()
#echo $i > /sys/class/gpio/export #echo $i > /sys/class/gpio/export
#echo "out" > /sys/class/gpio/gpio${i}/direction #echo "out" > /sys/class/gpio/gpio${i}/direction
#echo "0" > /sys/class/gpio/gpio${i}/value #echo "0" > /sys/class/gpio/gpio${i}/value
if [ -e /sys/class/gpio/sim1/value ]; then
echo "0" > /sys/class/gpio/sim1/value echo "0" > /sys/class/gpio/sim1/value
#gpioset `gpiofind "sim1"`=0 else
gpioset `gpiofind "sim1"`=0
fi
# sim 2 # sim 2
#i=462 #i=462
#echo $i > /sys/class/gpio/export #echo $i > /sys/class/gpio/export
#echo "out" > /sys/class/gpio/gpio${i}/direction #echo "out" > /sys/class/gpio/gpio${i}/direction
#echo "0" > /sys/class/gpio/gpio${i}/value #echo "0" > /sys/class/gpio/gpio${i}/value
if [ -e /sys/class/gpio/sim2/value ]; then
echo "0" > /sys/class/gpio/sim2/value echo "0" > /sys/class/gpio/sim2/value
#gpioset `gpiofind "sim2"`=0 else
gpioset `gpiofind "sim2"`=0
fi
# stop modem 1 # stop modem 1
#i=459 #i=459
#echo $i > /sys/class/gpio/export #echo $i > /sys/class/gpio/export
#echo "out" > /sys/class/gpio/gpio${i}/direction #echo "out" > /sys/class/gpio/gpio${i}/direction
#echo "0" > /sys/class/gpio/gpio${i}/value #echo "0" > /sys/class/gpio/gpio${i}/value
if [ -e /sys/class/gpio/modem1/value ]; then
echo "0" > /sys/class/gpio/modem1/value echo "0" > /sys/class/gpio/modem1/value
#gpioset `gpiofind "modem1"`=0 else
gpioset `gpiofind "modem1"`=0
fi
# stop modem 2 # stop modem 2
#i=460 #i=460
#echo $i > /sys/class/gpio/export #echo $i > /sys/class/gpio/export
#echo "out" > /sys/class/gpio/gpio${i}/direction #echo "out" > /sys/class/gpio/gpio${i}/direction
#echo "0" > /sys/class/gpio/gpio${i}/value #echo "0" > /sys/class/gpio/gpio${i}/value
if [ -e /sys/class/gpio/modem2/value ]; then
echo "0" > /sys/class/gpio/modem2/value echo "0" > /sys/class/gpio/modem2/value
#gpioset `gpiofind "modem2"`=0 else
gpioset `gpiofind "modem2"`=0
fi
sleep 1 sleep 1
# run modem 1 # run modem 1
#i=459 #i=459
#echo "1" > /sys/class/gpio/gpio${i}/value #echo "1" > /sys/class/gpio/gpio${i}/value
if [ -e /sys/class/gpio/modem1/value ]; then
echo "1" > /sys/class/gpio/modem1/value echo "1" > /sys/class/gpio/modem1/value
#gpioset `gpiofind "modem1"`=1 else
gpioset `gpiofind "modem1"`=1
fi
sleep 3 sleep 3
# run modem 2 # run modem 2
#i=460 #i=460
#echo "1" > /sys/class/gpio/gpio${i}/value #echo "1" > /sys/class/gpio/gpio${i}/value
if [ -e /sys/class/gpio/modem2/value ]; then
echo "1" > /sys/class/gpio/modem2/value echo "1" > /sys/class/gpio/modem2/value
#gpioset `gpiofind "modem2"`=1 else
gpioset `gpiofind "modem2"`=1
fi
} }