#!/bin/sh /etc/rc.common USE_PROCD=1 START=99 NAME="ua3f" PROG="/usr/bin/$NAME" start_service() { config_load "$NAME" local enabled config_get_bool enabled "enabled" "enabled" "0" if [ "$enabled" -ne "1" ]; then return 1 fi local port local bind local ua local log_level local ua_regex local partial_replace 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" "(iPhone|iPad|Android|Macintosh|Windows|Linux)" config_get_bool partial_replace "main" "partial_replace" 0 config_get log_level "main" "log_level" "info" mkdir -p /var/log/ua3f chmod o+w /var/log/ua3f procd_open_instance "$NAME" procd_set_param command "$PROG" procd_append_param command -b "$bind" procd_append_param command -p $port procd_append_param command -f "$ua" procd_append_param command -r "$ua_regex" procd_append_param command -l $log_level [ "$partial_replace" = "1" ] && procd_append_param command -s procd_set_param respawn procd_set_param stdout 1 procd_set_param stderr 1 if id -u shellclash >/dev/null 2>&1; then procd_set_param user shellclash elif id -u shellcrash >/dev/null 2>&1; then procd_set_param user shellcrash fi procd_set_param group nogroup procd_close_instance } reload_service() { stop start } service_triggers() { procd_add_reload_trigger "$NAME" }