mirror of
https://github.com/Ysurac/openmptcprouter-feeds.git
synced 2025-02-15 03:51:51 +00:00
sync (#439)
This commit is contained in:
commit
4eec667c55
4 changed files with 84 additions and 31 deletions
|
@ -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
|
||||||
|
|
||||||
uci -q set omr-bypass.$intf=interface
|
if [ "$intf" != "all" ]; then
|
||||||
uci -q set omr-bypass.$intf.id=$count
|
uci -q set omr-bypass.$intf=interface
|
||||||
|
uci -q set omr-bypass.$intf.id=$count
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
_bypass_ip_set() {
|
_bypass_ip_set() {
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
@ -45,17 +47,17 @@ ss_mkjson_server_conf_() {
|
||||||
[ -z "$plugin" ] || json_add_string plugin "$plugin"
|
[ -z "$plugin" ] || json_add_string plugin "$plugin"
|
||||||
[ -z "$plugin_opts" ] || json_add_string plugin_opts "$plugin_opts"
|
[ -z "$plugin_opts" ] || json_add_string plugin_opts "$plugin_opts"
|
||||||
if [ "$obfs" = 1 ]; then
|
if [ "$obfs" = 1 ]; then
|
||||||
if [ "$obfs_plugin" = "obfs" ]; then
|
if [ "$obfs_plugin" = "obfs" ]; then
|
||||||
obfs_options="obfs=$obfs_type"
|
obfs_options="obfs=$obfs_type"
|
||||||
[ -z "$obfs_host" ] || obfs_options="$obfs_options;obfs-host=$obfs_host"
|
[ -z "$obfs_host" ] || obfs_options="$obfs_options;obfs-host=$obfs_host"
|
||||||
[ -z "$obfs_uri" ] || obfs_options="$obfs_options;obfs-uri=$obfs_uri"
|
[ -z "$obfs_uri" ] || obfs_options="$obfs_options;obfs-uri=$obfs_uri"
|
||||||
[ "$fast_open" = 1 ] && obfs_options="$obfs_options;fast-open"
|
[ "$fast_open" = 1 ] && obfs_options="$obfs_options;fast-open"
|
||||||
[ "$mptcp" = 1 ] && obfs_options="$obfs_options;mptcp"
|
[ "$mptcp" = 1 ] && obfs_options="$obfs_options;mptcp"
|
||||||
[ -z "$timeout" ] || obfs_options="$obfs_options;t=$timeout"
|
[ -z "$timeout" ] || obfs_options="$obfs_options;t=$timeout"
|
||||||
json_add_string plugin "/usr/bin/obfs-local"
|
json_add_string plugin "/usr/bin/obfs-local"
|
||||||
json_add_string plugin_opts "$obfs_options"
|
json_add_string plugin_opts "$obfs_options"
|
||||||
fi
|
fi
|
||||||
if [ "$obfs_plugin" = "v2ray" ]; then
|
if [ "$obfs_plugin" = "v2ray" ]; then
|
||||||
obfs_options="loglevel=default"
|
obfs_options="loglevel=default"
|
||||||
[ "$obfs_type" = "tls" ] && obfs_options="tls"
|
[ "$obfs_type" = "tls" ] && obfs_options="tls"
|
||||||
[ -z "$obfs_host" ] || obfs_options="$obfs_options;host=$obfs_host"
|
[ -z "$obfs_host" ] || obfs_options="$obfs_options;host=$obfs_host"
|
||||||
|
@ -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
|
||||||
ss_redir_servers="$ss_redir_servers $server"
|
if [ -z "$ss_redir_servers" ]; then
|
||||||
|
ss_redir_servers="$server"
|
||||||
|
else
|
||||||
|
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 \
|
||||||
|
|
|
@ -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
|
||||||
ss_redir_servers="$ss_redir_servers $server"
|
if [ -z "$ss_redir_servers" ]; then
|
||||||
|
ss_redir_servers="$server"
|
||||||
|
else
|
||||||
|
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 \
|
||||||
|
|
|
@ -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
|
||||||
echo "0" > /sys/class/gpio/sim1/value
|
if [ -e /sys/class/gpio/sim1/value ]; then
|
||||||
#gpioset `gpiofind "sim1"`=0
|
echo "0" > /sys/class/gpio/sim1/value
|
||||||
|
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
|
||||||
echo "0" > /sys/class/gpio/sim2/value
|
if [ -e /sys/class/gpio/sim2/value ]; then
|
||||||
#gpioset `gpiofind "sim2"`=0
|
echo "0" > /sys/class/gpio/sim2/value
|
||||||
|
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
|
||||||
echo "0" > /sys/class/gpio/modem1/value
|
if [ -e /sys/class/gpio/modem1/value ]; then
|
||||||
#gpioset `gpiofind "modem1"`=0
|
echo "0" > /sys/class/gpio/modem1/value
|
||||||
|
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
|
||||||
echo "0" > /sys/class/gpio/modem2/value
|
if [ -e /sys/class/gpio/modem2/value ]; then
|
||||||
#gpioset `gpiofind "modem2"`=0
|
echo "0" > /sys/class/gpio/modem2/value
|
||||||
|
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
|
||||||
echo "1" > /sys/class/gpio/modem1/value
|
if [ -e /sys/class/gpio/modem1/value ]; then
|
||||||
#gpioset `gpiofind "modem1"`=1
|
echo "1" > /sys/class/gpio/modem1/value
|
||||||
|
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
|
||||||
echo "1" > /sys/class/gpio/modem2/value
|
if [ -e /sys/class/gpio/modem2/value ]; then
|
||||||
#gpioset `gpiofind "modem2"`=1
|
echo "1" > /sys/class/gpio/modem2/value
|
||||||
|
else
|
||||||
|
gpioset `gpiofind "modem2"`=1
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue