mirror of
https://github.com/Ysurac/openmptcprouter-feeds.git
synced 2025-02-24 06:44:21 +00:00
sync (#453)
This commit is contained in:
commit
82fd00b736
10 changed files with 128 additions and 54 deletions
|
@ -731,7 +731,7 @@ interface_pending=$(ifstatus "$OMR_TRACKER_INTERFACE" 2>/dev/null | jsonfilter -
|
||||||
initcwrwnd=""
|
initcwrwnd=""
|
||||||
|
|
||||||
# An interface in error will never be used in MPTCP
|
# An interface in error will never be used in MPTCP
|
||||||
if [ "$OMR_TRACKER_STATUS" = "ERROR" ] || [ "$interface_up" != "true" ]; then
|
if [ "$OMR_TRACKER_STATUS" = "ERROR" ] || ([ "$OMR_TRACKER_INTERFACE" != "omrvpn" ] && [ "$interface_up" != "true" ]); then
|
||||||
#if [ "$interface_up" = "true" ] && [ -n "$OMR_TRACKER_INTERFACE" ] && ([ "$(uci -q get network.$OMR_TRACKER_INTERFACE.proto)" = "modemmanager" ] || [ "$(uci -q get network.$OMR_TRACKER_INTERFACE.proto)" = "wireguard" ]); then
|
#if [ "$interface_up" = "true" ] && [ -n "$OMR_TRACKER_INTERFACE" ] && ([ "$(uci -q get network.$OMR_TRACKER_INTERFACE.proto)" = "modemmanager" ] || [ "$(uci -q get network.$OMR_TRACKER_INTERFACE.proto)" = "wireguard" ]); then
|
||||||
#if [ "$interface_available" = "true" ] && ([ "$interface_pending" = "true" ] || [ "$interface_up" = "true" ]) && [ -n "$OMR_TRACKER_INTERFACE" ] && ([ "$(uci -q get network.$OMR_TRACKER_INTERFACE.proto)" = "modemmanager" ] || [ "$(uci -q get network.$OMR_TRACKER_INTERFACE.proto)" = "wireguard" ]); then
|
#if [ "$interface_available" = "true" ] && ([ "$interface_pending" = "true" ] || [ "$interface_up" = "true" ]) && [ -n "$OMR_TRACKER_INTERFACE" ] && ([ "$(uci -q get network.$OMR_TRACKER_INTERFACE.proto)" = "modemmanager" ] || [ "$(uci -q get network.$OMR_TRACKER_INTERFACE.proto)" = "wireguard" ]); then
|
||||||
if [ "$interface_available" = "true" ] && [ -n "$OMR_TRACKER_INTERFACE" ] && ([ "$(uci -q get network.$OMR_TRACKER_INTERFACE.proto)" = "modemmanager" ] || [ "$(uci -q get network.$OMR_TRACKER_INTERFACE.proto)" = "wireguard" ]); then
|
if [ "$interface_available" = "true" ] && [ -n "$OMR_TRACKER_INTERFACE" ] && ([ "$(uci -q get network.$OMR_TRACKER_INTERFACE.proto)" = "modemmanager" ] || [ "$(uci -q get network.$OMR_TRACKER_INTERFACE.proto)" = "wireguard" ]); then
|
||||||
|
|
|
@ -422,24 +422,28 @@ _bypass_proto_without_ndpi() {
|
||||||
set firewall.bypass_$proto.match='dest_ip'
|
set firewall.bypass_$proto.match='dest_ip'
|
||||||
set firewall.bypass_$proto.family='ipv4'
|
set firewall.bypass_$proto.family='ipv4'
|
||||||
set firewall.bypass_$proto_rule=rule
|
set firewall.bypass_$proto_rule=rule
|
||||||
set firewall.bypass_$proto_rule.name="bypass_$proto"
|
set firewall.bypass_$proto_rule.name="bypass_$proto_rule"
|
||||||
set firewall.bypass_$proto_rule.src='lan'
|
set firewall.bypass_$proto_rule.src='lan'
|
||||||
set firewall.bypass_$proto_rule.dest='*'
|
set firewall.bypass_$proto_rule.dest='*'
|
||||||
|
set firewall.bypass_$proto_rule.family='ipv4'
|
||||||
set firewall.bypass_$proto_rule.target='MARK'
|
set firewall.bypass_$proto_rule.target='MARK'
|
||||||
|
set firewall.bypass_$proto_rule.ipset="bypass_$proto"
|
||||||
set firewall.bypass_$proto_rule.set_xmark="0x4539${intfid}"
|
set firewall.bypass_$proto_rule.set_xmark="0x4539${intfid}"
|
||||||
commit firewall
|
commit firewall
|
||||||
EOF
|
EOF
|
||||||
uci -q batch <<-EOF >/dev/null
|
uci -q batch <<-EOF >/dev/null
|
||||||
set firewall.bypass6_$proto=ipset
|
set firewall.bypass6_$proto=ipset
|
||||||
set firewall.bypass6_$proto.name="bypas6s_$proto"
|
set firewall.bypass6_$proto.name="bypass6_$proto"
|
||||||
set firewall.bypass6_$proto.match='dest_ip'
|
set firewall.bypass6_$proto.match='dest_ip'
|
||||||
set firewall.bypass6_$proto.family='ipv6'
|
set firewall.bypass6_$proto.family='ipv6'
|
||||||
set firewall.bypass6_$proto_rule=rule
|
set firewall.bypass6_$proto_rule=rule
|
||||||
set firewall.bypass6_$proto_rule.name="bypass6_$proto"
|
set firewall.bypass6_$proto_rule.name="bypass6_$proto_rule"
|
||||||
set firewall.bypass6_$proto_rule.src='lan'
|
set firewall.bypass6_$proto_rule.src='lan'
|
||||||
|
set firewall.bypass6_$proto_rule.family='ipv6'
|
||||||
set firewall.bypass6_$proto_rule.dest='*'
|
set firewall.bypass6_$proto_rule.dest='*'
|
||||||
set firewall.bypass6_$proto_rule.target='MARK'
|
set firewall.bypass6_$proto_rule.target='MARK'
|
||||||
set firewall.bypass6_$proto_rule.set_xmark="0x6539${intfid}"
|
set firewall.bypass6_$proto_rule.set_xmark="0x6539${intfid}"
|
||||||
|
set firewall.bypass6_$proto_rule.ipset="bypass6_$proto"
|
||||||
commit firewall
|
commit firewall
|
||||||
EOF
|
EOF
|
||||||
#if [ "$intfid" != "" ]; then
|
#if [ "$intfid" != "" ]; then
|
||||||
|
|
|
@ -61,11 +61,11 @@ _init_rto() {
|
||||||
_update_rto() {
|
_update_rto() {
|
||||||
if [ -z "$srtt" ]; then
|
if [ -z "$srtt" ]; then
|
||||||
srtt=$1
|
srtt=$1
|
||||||
rttvar=$(($1 / 2))
|
rttvar=$(echo "$(($1 / 2))" | cut -d. -f1)
|
||||||
else
|
else
|
||||||
diff=$((srtt - $1))
|
diff=$((srtt - $1))
|
||||||
rttvar=$(((75 * rttvar + 25 * (diff >= 0 ? diff : -diff)) / 100))
|
rttvar=$(echo "$(((75 * rttvar + 25 * (diff >= 0 ? diff : -diff)) / 100))" | cut -d. -f1)
|
||||||
srtt=$(((75 * srtt + 25 * $1) / 100))
|
srtt=$(echo "$(((75 * srtt + 25 * $1) / 100))" | cut -d. -f1)
|
||||||
fi
|
fi
|
||||||
rto=$((tmp = srtt + 3 * rttvar, tmp > rto_init ? tmp : rto_init))
|
rto=$((tmp = srtt + 3 * rttvar, tmp > rto_init ? tmp : rto_init))
|
||||||
}
|
}
|
||||||
|
|
|
@ -79,6 +79,18 @@ config_load network
|
||||||
#config_foreach _setup_macvlan_update interface
|
#config_foreach _setup_macvlan_update interface
|
||||||
config_foreach _setup_mptcp_handover_to_on interface
|
config_foreach _setup_mptcp_handover_to_on interface
|
||||||
|
|
||||||
|
_fix_metrics() {
|
||||||
|
uci -q batch <<-EOF
|
||||||
|
delete openmptcprouter.$1.metric
|
||||||
|
delete network.$1.metric
|
||||||
|
commit openmptcprouter
|
||||||
|
commit network
|
||||||
|
EOF
|
||||||
|
}
|
||||||
|
|
||||||
|
config_load openmptcprouter
|
||||||
|
config_foreach _fix_metrics interface
|
||||||
|
|
||||||
if [ "$(uci -q show network.lan | grep multipath)" != "" ]; then
|
if [ "$(uci -q show network.lan | grep multipath)" != "" ]; then
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -9,14 +9,14 @@ include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=openvpn
|
PKG_NAME:=openvpn
|
||||||
|
|
||||||
PKG_VERSION:=2.6.5
|
PKG_VERSION:=2.6.9
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=10
|
||||||
|
|
||||||
PKG_SOURCE_URL:=\
|
PKG_SOURCE_URL:=\
|
||||||
https://build.openvpn.net/downloads/releases/ \
|
https://build.openvpn.net/downloads/releases/ \
|
||||||
https://swupdate.openvpn.net/community/releases/
|
https://swupdate.openvpn.net/community/releases/
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||||
PKG_HASH:=e34efdb9a3789a760cfc91d57349dfb1e31da169c98c06cb490c6a8a015638e2
|
PKG_HASH:=e08d147e15b4508dfcd1d6618a1f21f1495f9817a8dadc1eddf0532fa116d7e3
|
||||||
|
|
||||||
PKG_MAINTAINER:=Magnus Kroken <mkroken@gmail.com>
|
PKG_MAINTAINER:=Magnus Kroken <mkroken@gmail.com>
|
||||||
|
|
||||||
|
|
|
@ -7,10 +7,14 @@
|
||||||
$*
|
$*
|
||||||
}
|
}
|
||||||
|
|
||||||
# Wrap user defined scripts on up/down events
|
# Wrap user defined scripts on up/down/route-up/route-pre-down/ipchange events
|
||||||
|
# Scriptp set with up/down/route-up/route-pre-down/ipchange in the openvpn config are also executed with the command=user_xxxx
|
||||||
case "$ACTION" in
|
case "$ACTION" in
|
||||||
up) command=$user_up ;;
|
up) command=$user_up ;;
|
||||||
down) command=$user_down ;;
|
down) command=$user_down ;;
|
||||||
|
route-up) command=$user_route_up ;;
|
||||||
|
route-pre-down) command=$user_route_pre_down ;;
|
||||||
|
ipchange) command=$user_ipchange ;;
|
||||||
*) command= ;;
|
*) command= ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
@ -20,3 +24,4 @@ if [ -n "$command" ]; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
|
|
||||||
|
|
|
@ -10,22 +10,13 @@ STOP=10
|
||||||
USE_PROCD=1
|
USE_PROCD=1
|
||||||
PROG=/usr/sbin/openvpn
|
PROG=/usr/sbin/openvpn
|
||||||
|
|
||||||
|
PATH_INSTANCE_DIR="/etc/openvpn"
|
||||||
LIST_SEP="
|
LIST_SEP="
|
||||||
"
|
"
|
||||||
|
|
||||||
UCI_STARTED=
|
UCI_STARTED=
|
||||||
UCI_DISABLED=
|
UCI_DISABLED=
|
||||||
|
|
||||||
version_over_5_4() {
|
|
||||||
MAJOR_VERSION=$(uname -r | awk -F '.' '{print $1}')
|
|
||||||
MINOR_VERSION=$(uname -r | awk -F '.' '{print $2}')
|
|
||||||
if [ $MAJOR_VERSION -ge 5 ] && [ $MINOR_VERSION -gt 13 ] || [ $MAJOR_VERSION -gt 5 ] ; then
|
|
||||||
return 0
|
|
||||||
else
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
append_param() {
|
append_param() {
|
||||||
local s="$1"
|
local s="$1"
|
||||||
local v="$2"
|
local v="$2"
|
||||||
|
@ -154,6 +145,9 @@ openvpn_add_instance() {
|
||||||
local security="$4"
|
local security="$4"
|
||||||
local up="$5"
|
local up="$5"
|
||||||
local down="$6"
|
local down="$6"
|
||||||
|
local route_up="$7"
|
||||||
|
local route_pre_down="$8"
|
||||||
|
local ipchange="$9"
|
||||||
local client=$(grep -qEx "client|tls-client" "$dir/$conf" && echo 1)
|
local client=$(grep -qEx "client|tls-client" "$dir/$conf" && echo 1)
|
||||||
|
|
||||||
procd_open_instance "$name"
|
procd_open_instance "$name"
|
||||||
|
@ -169,12 +163,12 @@ openvpn_add_instance() {
|
||||||
${client:+--ipchange "/usr/libexec/openvpn-hotplug ipchange $name"} \
|
${client:+--ipchange "/usr/libexec/openvpn-hotplug ipchange $name"} \
|
||||||
${up:+--setenv user_up "$up"} \
|
${up:+--setenv user_up "$up"} \
|
||||||
${down:+--setenv user_down "$down"} \
|
${down:+--setenv user_down "$down"} \
|
||||||
|
${route_up:+--setenv user_route_up "$route_up"} \
|
||||||
|
${route_pre_down:+--setenv user_route_pre_down "$route_pre_down"} \
|
||||||
|
${client:+${ipchange:+--setenv user_ipchange "$ipchange"}} \
|
||||||
--script-security "${security:-2}" \
|
--script-security "${security:-2}" \
|
||||||
$(openvpn_get_dev "$name" "$conf") \
|
$(openvpn_get_dev "$name" "$conf") \
|
||||||
$(openvpn_get_credentials "$name" "$conf")
|
$(openvpn_get_credentials "$name" "$conf")
|
||||||
if version_over_5_4; then
|
|
||||||
procd_append_param command "--mptcp"
|
|
||||||
fi
|
|
||||||
procd_set_param file "$dir/$conf"
|
procd_set_param file "$dir/$conf"
|
||||||
procd_set_param term_timeout 15
|
procd_set_param term_timeout 15
|
||||||
procd_set_param respawn
|
procd_set_param respawn
|
||||||
|
@ -184,7 +178,7 @@ openvpn_add_instance() {
|
||||||
procd_close_instance
|
procd_close_instance
|
||||||
}
|
}
|
||||||
|
|
||||||
start_instance() {
|
start_uci_instance() {
|
||||||
local s="$1"
|
local s="$1"
|
||||||
|
|
||||||
config_get config "$s" config
|
config_get config "$s" config
|
||||||
|
@ -195,18 +189,25 @@ start_instance() {
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
local up down script_security
|
local up down route_up route_pre_down ipchange script_security
|
||||||
config_get up "$s" up
|
config_get up "$s" up
|
||||||
config_get down "$s" down
|
config_get down "$s" down
|
||||||
|
config_get route_up "$s" route_up
|
||||||
|
config_get route_pre_down "$s" route_pre_down
|
||||||
|
config_get ipchange "$s" ipchange
|
||||||
config_get script_security "$s" script_security
|
config_get script_security "$s" script_security
|
||||||
|
|
||||||
[ ! -d "/var/run" ] && mkdir -p "/var/run"
|
[ ! -d "/var/run" ] && mkdir -p "/var/run"
|
||||||
|
|
||||||
if [ ! -z "$config" ]; then
|
if [ ! -z "$config" ]; then
|
||||||
append UCI_STARTED "$config" "$LIST_SEP"
|
append UCI_STARTED "$config" "$LIST_SEP"
|
||||||
|
[ -n "$script_security" ] || get_openvpn_option "$config" script_security script-security
|
||||||
[ -n "$up" ] || get_openvpn_option "$config" up up
|
[ -n "$up" ] || get_openvpn_option "$config" up up
|
||||||
[ -n "$down" ] || get_openvpn_option "$config" down down
|
[ -n "$down" ] || get_openvpn_option "$config" down down
|
||||||
openvpn_add_instance "$s" "${config%/*}" "$config" "$script_security" "$up" "$down"
|
[ -n "$route_up" ] || get_openvpn_option "$config" route_up route-up
|
||||||
|
[ -n "$route_pre_down" ] || get_openvpn_option "$config" route_pre_down route-pre-down
|
||||||
|
[ -n "$ipchange" ] || get_openvpn_option "$config" ipchange ipchange
|
||||||
|
openvpn_add_instance "$s" "${config%/*}" "$config" "$script_security" "$up" "$down" "$route_up" "$route_pre_down" "$ipchange"
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -216,7 +217,47 @@ start_instance() {
|
||||||
append_params "$s" $OPENVPN_PARAMS
|
append_params "$s" $OPENVPN_PARAMS
|
||||||
append_list "$s" $OPENVPN_LIST
|
append_list "$s" $OPENVPN_LIST
|
||||||
|
|
||||||
openvpn_add_instance "$s" "/var/etc" "openvpn-$s.conf" "$script_security" "$up" "$down"
|
openvpn_add_instance "$s" "/var/etc" "openvpn-$s.conf" "$script_security" "$up" "$down" "$route_up" "$route_pre_down" "$ipchange"
|
||||||
|
}
|
||||||
|
|
||||||
|
start_path_instances() {
|
||||||
|
local path name
|
||||||
|
|
||||||
|
for path in ${PATH_INSTANCE_DIR}/*.conf; do
|
||||||
|
[ -f "$path" ] && {
|
||||||
|
name="${path##*/}"
|
||||||
|
name="${name%.conf}"
|
||||||
|
start_path_instance "$name"
|
||||||
|
}
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
start_path_instance() {
|
||||||
|
local name="$1"
|
||||||
|
|
||||||
|
local path name up down route_up route_pre_down ipchange
|
||||||
|
|
||||||
|
path="${PATH_INSTANCE_DIR}/${name}.conf"
|
||||||
|
|
||||||
|
# don't start configs again that are already started by uci
|
||||||
|
if echo "$UCI_STARTED" | grep -qxF "$path"; then
|
||||||
|
logger -t openvpn "$name.conf already started"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
# don't start configs which are set to disabled in uci
|
||||||
|
if echo "$UCI_DISABLED" | grep -qxF "$path"; then
|
||||||
|
logger -t openvpn "$name.conf is disabled in /etc/config/openvpn"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
get_openvpn_option "$path" up up || up=""
|
||||||
|
get_openvpn_option "$path" down down || down=""
|
||||||
|
get_openvpn_option "$path" route_up route-up || route_up=""
|
||||||
|
get_openvpn_option "$path" route_pre_down route-pre-down || route_pre_down=""
|
||||||
|
get_openvpn_option "$path" ipchange ipchange || ipchange=""
|
||||||
|
|
||||||
|
openvpn_add_instance "$name" "${path%/*}" "$path" "" "$up" "$down" "$route_up" "$route_pre_down" "$ipchange"
|
||||||
}
|
}
|
||||||
|
|
||||||
start_service() {
|
start_service() {
|
||||||
|
@ -238,31 +279,20 @@ start_service() {
|
||||||
config_load 'openvpn'
|
config_load 'openvpn'
|
||||||
|
|
||||||
if [ -n "$instance" ]; then
|
if [ -n "$instance" ]; then
|
||||||
[ "$instance_found" -gt 0 ] || return
|
if [ "$instance_found" -gt 0 ]; then
|
||||||
start_instance "$instance"
|
start_uci_instance "$instance"
|
||||||
|
elif [ -f "${PATH_INSTANCE_DIR}/${instance}.conf" ]; then
|
||||||
|
start_path_instance "$instance"
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
config_foreach start_instance 'openvpn'
|
config_foreach start_uci_instance 'openvpn'
|
||||||
|
|
||||||
local path name up down
|
auto="$(uci_get openvpn globals autostart 1)"
|
||||||
for path in /etc/openvpn/*.conf; do
|
if [ "$auto" = "1" ]; then
|
||||||
if [ -f "$path" ]; then
|
start_path_instances
|
||||||
name="${path##*/}"; name="${name%.conf}"
|
else
|
||||||
|
logger -t openvpn "Autostart for configs in '$PATH_INSTANCE_DIR/*.conf' disabled"
|
||||||
# don't start configs again that are already started by uci
|
|
||||||
if echo "$UCI_STARTED" | grep -qxF "$path"; then
|
|
||||||
continue
|
|
||||||
|
|
||||||
# don't start configs which are set to disabled in uci
|
|
||||||
elif echo "$UCI_DISABLED" | grep -qxF "$path"; then
|
|
||||||
logger -t openvpn "$name.conf is disabled in /etc/config/openvpn"
|
|
||||||
continue
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
get_openvpn_option "$path" up up || up=""
|
|
||||||
get_openvpn_option "$path" down down || down=""
|
|
||||||
openvpn_add_instance "$name" "${path%/*}" "$path" "" "$up" "$down"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -131,6 +131,14 @@ ss_xxx() {
|
||||||
ss_rules_cb
|
ss_rules_cb
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ss_omr_servers() {
|
||||||
|
add_ip() {
|
||||||
|
local ip="$1"
|
||||||
|
[ -n "$ip" ] && [ -z "$(echo \"$ss_redir_servers\" | grep \"$ip\")" ] && ss_redir_servers="$ss_redir_servers $ip"
|
||||||
|
}
|
||||||
|
config_list_foreach "$1" ip add_ip
|
||||||
|
}
|
||||||
|
|
||||||
ss_rules_cb() {
|
ss_rules_cb() {
|
||||||
local cfgserver server
|
local cfgserver server
|
||||||
|
|
||||||
|
@ -296,6 +304,10 @@ start_service() {
|
||||||
for cfgtype in ss_local ss_redir ss_server ss_tunnel; do
|
for cfgtype in ss_local ss_redir ss_server ss_tunnel; do
|
||||||
config_foreach ss_xxx "$cfgtype" "$cfgtype"
|
config_foreach ss_xxx "$cfgtype" "$cfgtype"
|
||||||
done
|
done
|
||||||
|
if [ -n "$(uci show openmptcprouter)" ]; then
|
||||||
|
config_load openmptcprouter
|
||||||
|
config_foreach ss_omr_servers server
|
||||||
|
fi
|
||||||
ss_rules
|
ss_rules
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -8,8 +8,8 @@ include $(TOPDIR)/rules.mk
|
||||||
include $(INCLUDE_DIR)/kernel.mk
|
include $(INCLUDE_DIR)/kernel.mk
|
||||||
|
|
||||||
PKG_NAME:=shadowsocks-rust
|
PKG_NAME:=shadowsocks-rust
|
||||||
PKG_VERSION:=1.18.0
|
PKG_VERSION:=1.18.1
|
||||||
PKG_HASH:=e854743ecef9ab3b371fdcb139e6f4452831b487d449c97c2129abbf4f51e863
|
PKG_HASH:=c2e1d8838e4578c0a6b0de6e1da00e9ece2d780dc452117fd109bb091e5d106f
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||||
|
@ -48,7 +48,6 @@ define Package/shadowsocks-rust-config
|
||||||
SUBMENU:=Web Servers/Proxies
|
SUBMENU:=Web Servers/Proxies
|
||||||
TITLE:=shadowsocks-rust config
|
TITLE:=shadowsocks-rust config
|
||||||
URL:=https://github.com/shadowsocks/shadowsocks-rust
|
URL:=https://github.com/shadowsocks/shadowsocks-rust
|
||||||
DEPENDS:=$$(RUST_ARCH_DEPENDS)
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -104,6 +104,14 @@ ss_xxx() {
|
||||||
ss_rules_cb
|
ss_rules_cb
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ss_omr_servers() {
|
||||||
|
add_ip() {
|
||||||
|
local ip="$1"
|
||||||
|
[ -n "$ip" ] && [ -z "$(echo \"$ss_redir_servers\" | grep \"$ip\")" ] && ss_redir_servers="$ss_redir_servers $ip"
|
||||||
|
}
|
||||||
|
config_list_foreach "$1" ip add_ip
|
||||||
|
}
|
||||||
|
|
||||||
ss_rules_cb() {
|
ss_rules_cb() {
|
||||||
local cfgserver server
|
local cfgserver server
|
||||||
|
|
||||||
|
@ -269,6 +277,10 @@ start_service() {
|
||||||
for cfgtype in ss_local ss_redir ss_server ss_tunnel; do
|
for cfgtype in ss_local ss_redir ss_server ss_tunnel; do
|
||||||
config_foreach ss_xxx "$cfgtype" "$cfgtype"
|
config_foreach ss_xxx "$cfgtype" "$cfgtype"
|
||||||
done
|
done
|
||||||
|
if [ -n "$(uci show openmptcprouter)" ]; then
|
||||||
|
config_load openmptcprouter
|
||||||
|
config_foreach ss_omr_servers server
|
||||||
|
fi
|
||||||
ss_rules
|
ss_rules
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue