mirror of
https://github.com/Ysurac/openmptcprouter-feeds.git
synced 2025-03-09 15:40:03 +00:00
Add XRay and Shadowsocks Rust support for omr-tracker
This commit is contained in:
parent
339198a19e
commit
cc2df89ed3
3 changed files with 289 additions and 15 deletions
|
@ -187,6 +187,38 @@ _initialize_shadowsocks_tracker() {
|
|||
# }
|
||||
}
|
||||
|
||||
_initialize_shadowsocks_rust_tracker() {
|
||||
local redir_tcp server tracker_server
|
||||
server=$1
|
||||
|
||||
[ -n "$(echo $server | grep sss)" ] || return
|
||||
[ -z "$server" ] && return
|
||||
|
||||
#redir_tcp=$(uci -q get shadowsocks-libev.ss_rules.redir_tcp)
|
||||
#config_get tracker_server ss_rules server
|
||||
config_get ss_rust_disabled $server disabled 0
|
||||
[ "$ss_rust_disabled" = "0" ] && ss_rust_enable="1"
|
||||
[ -z "$(uci -q get shadowsocks-rust.tracker_${server})" ] && [ "$ss_rust_disabled" != "1" ] && {
|
||||
logger -t "omr-tracker" "Create ShadowSock tracker ss_local..."
|
||||
uci -q batch <<-EOF >/dev/null
|
||||
set shadowsocks-rust.tracker_${server}=ss_local
|
||||
set shadowsocks-rust.tracker_${server}.server=$server
|
||||
set shadowsocks-rust.tracker_${server}.local_address="127.0.0.1"
|
||||
set shadowsocks-rust.tracker_${server}.local_port=1111
|
||||
set shadowsocks-rust.tracker_${server}.mode=tcp_and_udp
|
||||
set shadowsocks-rust.tracker_${server}.timeout=600
|
||||
set shadowsocks-rust.tracker_${server}.fast_open=0
|
||||
set shadowsocks-rust.tracker_${server}.syslog=0
|
||||
set shadowsocks-rust.tracker_${server}.reuse_port=1
|
||||
set shadowsocks-rust.tracker_${server}.mptcp=1
|
||||
set shadowsocks-rust.tracker_${server}.verbose=0
|
||||
commit shadowsocks-rust
|
||||
EOF
|
||||
logger -t "omr-tracker" "Restart ShadowSocks"
|
||||
/etc/init.d/shadowsocks-rust restart
|
||||
}
|
||||
}
|
||||
|
||||
_launch_shadowsocks_tracker() {
|
||||
local hosts timeout tries interval local_port enabled server wait_test
|
||||
|
||||
|
@ -201,7 +233,7 @@ _launch_shadowsocks_tracker() {
|
|||
|
||||
[ "$enabled" = "0" ] || [ "$disabled" = "1" ] || [ -z "$hosts" ] && return
|
||||
[ -z "$server" ] && return
|
||||
[ "$(uci -q get shadowsocks-libev.$server.server)" = "192.168.1.3" ] || [ "$(uci -q get shadowsocks-libev.$server.server)" = "" ] && return
|
||||
[ "$server" = "192.168.1.3" ] || [ "$server" = "" ] && return
|
||||
|
||||
procd_open_instance
|
||||
# shellcheck disable=SC2086
|
||||
|
@ -211,8 +243,43 @@ _launch_shadowsocks_tracker() {
|
|||
procd_append_param env "OMR_TRACKER_TRIES=$tries"
|
||||
procd_append_param env "OMR_TRACKER_INTERVAL=$interval"
|
||||
procd_append_param env "OMR_TRACKER_PROXY=127.0.0.1:$local_port"
|
||||
procd_append_param env "OMR_TRACKER_WAIT_TEST=$wait_test"
|
||||
procd_append_param env "OMR_TRACKER_WAIT_TEST=$type"
|
||||
procd_append_param env "OMR_TRACKER_SERVER=$server"
|
||||
procd_append_param env "OMR_TRACKER_SS_TYPE=libev"
|
||||
procd_set_param limits nofile="51200 51200"
|
||||
procd_set_param respawn 0 10 0
|
||||
procd_set_param stderr 1
|
||||
procd_close_instance
|
||||
sleep 1
|
||||
}
|
||||
|
||||
_launch_shadowsocks_rust_tracker() {
|
||||
local hosts timeout tries interval local_port enabled server wait_test
|
||||
|
||||
[ "$(echo $1 | grep tracker)" != "" ] || return
|
||||
|
||||
_validate_section "proxy" "proxy"
|
||||
|
||||
config_get local_port "$1" local_port
|
||||
local disabled
|
||||
config_get disabled "$1" disabled 0
|
||||
config_get server "$1" server
|
||||
|
||||
[ "$enabled" = "0" ] || [ "$disabled" = "1" ] || [ -z "$hosts" ] && return
|
||||
[ -z "$server" ] && return
|
||||
[ "$server" = "192.168.1.3" ] || [ "$server" = "" ] && return
|
||||
|
||||
procd_open_instance
|
||||
# shellcheck disable=SC2086
|
||||
procd_set_param command /bin/omr-tracker-ss "$1"
|
||||
procd_append_param env "OMR_TRACKER_HOSTS=$hosts"
|
||||
procd_append_param env "OMR_TRACKER_TIMEOUT=$timeout"
|
||||
procd_append_param env "OMR_TRACKER_TRIES=$tries"
|
||||
procd_append_param env "OMR_TRACKER_INTERVAL=$interval"
|
||||
procd_append_param env "OMR_TRACKER_PROXY=127.0.0.1:$local_port"
|
||||
procd_append_param env "OMR_TRACKER_WAIT_TEST=$type"
|
||||
procd_append_param env "OMR_TRACKER_SERVER=$server"
|
||||
procd_append_param env "OMR_TRACKER_SS_TYPE=rust"
|
||||
procd_set_param limits nofile="51200 51200"
|
||||
procd_set_param respawn 0 10 0
|
||||
procd_set_param stderr 1
|
||||
|
@ -242,6 +309,28 @@ _launch_v2ray_tracker() {
|
|||
sleep 1
|
||||
}
|
||||
|
||||
_launch_xray_tracker() {
|
||||
local hosts timeout tries interval local_port enabled server wait_test
|
||||
|
||||
_validate_section "proxy" "proxy"
|
||||
[ "$enabled" = "0" ] || [ -z "$hosts" ] && return
|
||||
|
||||
procd_open_instance
|
||||
# shellcheck disable=SC2086
|
||||
procd_set_param command /bin/omr-tracker-xray "$1"
|
||||
procd_append_param env "OMR_TRACKER_HOSTS=$hosts"
|
||||
procd_append_param env "OMR_TRACKER_TIMEOUT=$timeout"
|
||||
procd_append_param env "OMR_TRACKER_TRIES=$tries"
|
||||
procd_append_param env "OMR_TRACKER_INTERVAL=$interval"
|
||||
procd_append_param env "OMR_TRACKER_PROXY=127.0.0.1:1111"
|
||||
procd_append_param env "OMR_TRACKER_WAIT_TEST=$wait_test"
|
||||
procd_set_param limits nofile="51200 51200"
|
||||
procd_set_param respawn 0 10 0
|
||||
procd_set_param stderr 1
|
||||
procd_close_instance
|
||||
sleep 1
|
||||
}
|
||||
|
||||
_multi_server() {
|
||||
config_get backup $1 backup
|
||||
[ "$backup" = "1" ] && multiserver=true
|
||||
|
@ -254,10 +343,14 @@ _gre_tunnel() {
|
|||
|
||||
start_service() {
|
||||
local ss_enable=0
|
||||
local ss_rust_enable=0
|
||||
logger -t "omr-tracker" "Launching..."
|
||||
config_load shadowsocks-libev
|
||||
config_foreach _initialize_shadowsocks_tracker server
|
||||
|
||||
config_load shadowsocks-rust
|
||||
config_foreach _initialize_shadowsocks_rust_tracker server
|
||||
|
||||
config_load network
|
||||
config_foreach _launch_tracker interface
|
||||
|
||||
|
@ -267,11 +360,21 @@ start_service() {
|
|||
#elif [ "$(uci -q get shadowsocks-libev.sss0.disabled)" != "1" ]; then
|
||||
# /etc/init.d/shadowsocks-libev rules_down
|
||||
fi
|
||||
if [ "$ss_rust_enable" = "1" ]; then
|
||||
config_load shadowsocks-rust
|
||||
config_foreach _launch_shadowsocks_rust_tracker ss_local
|
||||
fi
|
||||
config_load v2ray
|
||||
config_get v2rayenabled main enabled
|
||||
if [ "$v2rayenabled" = "1" ]; then
|
||||
_launch_v2ray_tracker
|
||||
fi
|
||||
|
||||
config_load xray
|
||||
config_get xrayenabled main enabled
|
||||
if [ "$xrayenabled" = "1" ]; then
|
||||
_launch_xray_tracker
|
||||
fi
|
||||
|
||||
multiserver=false
|
||||
config_load openmptcprouter
|
||||
|
@ -285,7 +388,7 @@ start_service() {
|
|||
}
|
||||
|
||||
service_triggers() {
|
||||
procd_add_reload_trigger omr-tracker network shadowsocks-libev v2ray
|
||||
procd_add_reload_trigger omr-tracker network shadowsocks-libev v2ray xray
|
||||
}
|
||||
|
||||
reload_service() {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue