|
@ -4,57 +4,64 @@ |
|
|
START=50 |
|
|
START=50 |
|
|
USE_PROCD=1 |
|
|
USE_PROCD=1 |
|
|
|
|
|
|
|
|
udpxy_parse() { |
|
|
|
|
|
|
|
|
append_arg() { |
|
|
local cfg="$1" |
|
|
local cfg="$1" |
|
|
|
|
|
local var="$2" |
|
|
|
|
|
local opt="$3" |
|
|
|
|
|
local def="$4" |
|
|
|
|
|
local val |
|
|
|
|
|
|
|
|
local cfg_verbose |
|
|
|
|
|
local cfg_status |
|
|
|
|
|
local cfg_mcsub_renew |
|
|
|
|
|
local cfg_bind |
|
|
|
|
|
local cfg_port |
|
|
|
|
|
local cfg_source |
|
|
|
|
|
local cfg_max_clients |
|
|
|
|
|
local cfg_log_file |
|
|
|
|
|
local cfg_buffer_size |
|
|
|
|
|
local cfg_buffer_messages |
|
|
|
|
|
local cfg_buffer_time |
|
|
|
|
|
local cfg_nice_increment |
|
|
|
|
|
local cfg_mcsub_renew |
|
|
|
|
|
|
|
|
|
|
|
config_get_bool cfg_verbose $cfg 'verbose' 0 |
|
|
|
|
|
config_get_bool cfg_status $cfg 'status' 1 |
|
|
|
|
|
config_get cfg_bind $cfg 'bind' |
|
|
|
|
|
config_get cfg_port $cfg 'port' '4022' |
|
|
|
|
|
config_get cfg_source $cfg 'source' |
|
|
|
|
|
config_get cfg_max_clients $cfg 'max_clients' |
|
|
|
|
|
config_get cfg_log_file $cfg 'log_file' |
|
|
|
|
|
config_get cfg_buffer_size $cfg 'buffer_size' |
|
|
|
|
|
config_get cfg_buffer_messages $cfg 'buffer_messages' |
|
|
|
|
|
config_get cfg_buffer_time $cfg 'buffer_time' |
|
|
|
|
|
config_get cfg_nice_increment $cfg 'nice_increment' |
|
|
|
|
|
config_get cfg_mcsub_renew $cfg 'mcsub_renew' |
|
|
|
|
|
|
|
|
config_get val "$cfg" "$var" |
|
|
|
|
|
[ -n "$val" -o -n "$def" ] && procd_append_param command $opt "${val:-$def}" |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
append_bool() { |
|
|
|
|
|
local cfg="$1" |
|
|
|
|
|
local var="$2" |
|
|
|
|
|
local opt="$3" |
|
|
|
|
|
local def="$4" |
|
|
|
|
|
local val |
|
|
|
|
|
|
|
|
|
|
|
config_get_bool val "$cfg" "$var" "$def" |
|
|
|
|
|
[ "$val" = 1 ] && procd_append_param command "$opt" |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
start_instance() { |
|
|
|
|
|
local cfg="$1" |
|
|
|
|
|
local aux |
|
|
|
|
|
|
|
|
|
|
|
config_get_bool aux "$cfg" 'disabled' '0' |
|
|
|
|
|
[ "$aux" = 1 ] && return 1 |
|
|
|
|
|
|
|
|
procd_open_instance |
|
|
procd_open_instance |
|
|
|
|
|
|
|
|
procd_set_param command /usr/bin/udpxy |
|
|
procd_set_param command /usr/bin/udpxy |
|
|
procd_append_param command -T -p $cfg_port |
|
|
|
|
|
[ "$cfg_verbose" -eq 1 ] && procd_append_param command -v |
|
|
|
|
|
[ "$cfg_status" -eq 1 ] && procd_append_param command -S |
|
|
|
|
|
[ ! -z "$cfg_bind" ] && procd_append_param command -a $cfg_bind |
|
|
|
|
|
[ ! -z "$cfg_source" ] && procd_append_param command -m $cfg_source |
|
|
|
|
|
[ ! -z "$cfg_max_clients" ] && procd_append_param command -c $cfg_max_clients |
|
|
|
|
|
[ ! -z "$cfg_log_file" ] && procd_append_param command -l $cfg_log_file |
|
|
|
|
|
[ ! -z "$cfg_buffer_size" ] && procd_append_param command -B $cfg_buffer_size |
|
|
|
|
|
[ ! -z "$cfg_buffer_messages" ] && procd_append_param command -R $cfg_buffer_messages |
|
|
|
|
|
[ ! -z "$cfg_buffer_time" ] && procd_append_param command -H $cfg_buffer_time |
|
|
|
|
|
[ ! -z "$cfg_nice_increment" ] && procd_append_param command -n $cfg_nice_increment |
|
|
|
|
|
[ ! -z "$cfg_mcsub_renew" ] && procd_append_param command -M $cfg_mcsub_renew |
|
|
|
|
|
|
|
|
|
|
|
procd_set_param respawn |
|
|
|
|
|
|
|
|
procd_append_param command "-T" |
|
|
|
|
|
|
|
|
|
|
|
append_bool "$cfg" verbose "-V" |
|
|
|
|
|
append_bool "$cfg" status "-S" |
|
|
|
|
|
append_arg "$cfg" bind "-a" |
|
|
|
|
|
append_arg "$cfg" port "-p" |
|
|
|
|
|
append_arg "$cfg" source "-m" |
|
|
|
|
|
append_arg "$cfg" max_clients "-c" |
|
|
|
|
|
append_arg "$cfg" log_file "-l" |
|
|
|
|
|
append_arg "$cfg" buffer_size "-B" |
|
|
|
|
|
append_arg "$cfg" buffer_messages "-R" |
|
|
|
|
|
append_arg "$cfg" buffer_time "-H" |
|
|
|
|
|
append_arg "$cfg" nice_increment "-n" |
|
|
|
|
|
append_arg "$cfg" mcsub_renew "-M" |
|
|
|
|
|
|
|
|
|
|
|
config_get_bool aux "$cfg" 'respawn' '0' |
|
|
|
|
|
[ "$aux" = 1 ] && procd_set_param respawn |
|
|
|
|
|
|
|
|
procd_close_instance |
|
|
procd_close_instance |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
service_triggers() { |
|
|
|
|
|
procd_add_reload_trigger "udpxy" |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
start_service() { |
|
|
start_service() { |
|
|
config_load udpxy |
|
|
config_load udpxy |
|
|
config_foreach udpxy_parse udpxy |
|
|
|
|
|
|
|
|
config_foreach start_instance udpxy |
|
|
} |
|
|
} |