mirror of
https://github.com/SunBK201/UA3F.git
synced 2025-12-16 16:57:08 +00:00
79 lines
2.7 KiB
Bash
Executable File
79 lines
2.7 KiB
Bash
Executable File
#!/bin/sh /etc/rc.common
|
|
# shellcheck disable=SC2034,SC3043
|
|
|
|
USE_PROCD=1
|
|
START=99
|
|
|
|
NAME="ua3f"
|
|
PROG="/usr/bin/$NAME"
|
|
|
|
start_service() {
|
|
config_load "$NAME"
|
|
|
|
mkdir -p /var/log/ua3f && chmod o+w /var/log/ua3f
|
|
|
|
local enabled
|
|
config_get_bool enabled "enabled" "enabled" "0"
|
|
[ "$enabled" -eq "1" ] || return 0
|
|
|
|
local server_mode port bind ua log_level ua_regex partial_replace
|
|
local rewrite_mode rewrite_rules
|
|
local set_ttl set_ipid del_tcpts set_tcp_init_window
|
|
config_get server_mode "main" "server_mode" "TPROXY"
|
|
config_get port "main" "port" "1080"
|
|
config_get bind "main" "bind" "127.0.0.1"
|
|
config_get ua "main" "ua" "FFF"
|
|
config_get ua_regex "main" "ua_regex" ""
|
|
config_get_bool partial_replace "main" "partial_replace" 0
|
|
config_get log_level "main" "log_level" "WARN"
|
|
config_get rewrite_mode "main" "rewrite_mode" "GLOBAL"
|
|
config_get rewrite_rules "main" "rewrite_rules" ""
|
|
config_get_bool set_ttl "main" "set_ttl" 0
|
|
config_get_bool set_ipid "main" "set_ipid" 0
|
|
config_get_bool del_tcpts "main" "del_tcpts" 0
|
|
config_get_bool set_tcp_init_window "main" "set_tcp_init_window" 0
|
|
|
|
local desync_enabled desync_ct_bytes desync_ct_packets
|
|
config_get_bool desync_enabled "main" "desync_enabled" 0
|
|
if [ "$desync_enabled" -eq "1" ]; then
|
|
config_get desync_ct_bytes "main" "desync_ct_bytes" "1500"
|
|
config_get desync_ct_packets "main" "desync_ct_packets" "8"
|
|
fi
|
|
|
|
procd_open_instance "$NAME"
|
|
procd_set_param command "$PROG"
|
|
procd_append_param command -m "$server_mode"
|
|
procd_append_param command -p "$port"
|
|
procd_append_param command -b "$bind"
|
|
procd_append_param command -f "$ua"
|
|
procd_append_param command -r "$ua_regex"
|
|
procd_append_param command -l "$log_level"
|
|
procd_append_param command -x "$rewrite_mode"
|
|
procd_append_param command -z "$rewrite_rules"
|
|
[ "$partial_replace" = "1" ] && procd_append_param command -s
|
|
procd_append_param env UA3F_TTL="$set_ttl"
|
|
procd_append_param env UA3F_IPID="$set_ipid"
|
|
procd_append_param env UA3F_TCPTS="$del_tcpts"
|
|
procd_append_param env UA3F_TCP_INIT_WINDOW="$set_tcp_init_window"
|
|
procd_append_param env UA3F_DESYNC="$desync_enabled"
|
|
procd_append_param env UA3F_DESYNC_BYTES="$desync_ct_bytes"
|
|
procd_append_param env UA3F_DESYNC_PACKETS="$desync_ct_packets"
|
|
|
|
procd_set_param respawn
|
|
procd_set_param stdout 1
|
|
procd_set_param stderr 1
|
|
procd_set_param limits nproc="unlimited" as="unlimited" memlock="unlimited" nofile="65535 65535"
|
|
procd_set_param pidfile "/var/run/$NAME.pid"
|
|
|
|
procd_close_instance
|
|
}
|
|
|
|
reload_service() {
|
|
stop
|
|
start
|
|
}
|
|
|
|
service_triggers() {
|
|
procd_add_reload_trigger "$NAME"
|
|
}
|