#!/bin/sh /etc/rc.common # Copyright (C) 2021 ImmortalWrt . /lib/functions.sh . /lib/functions/procd.sh USE_PROCD=1 START=99 STOP=10 init_conf() { config_load "naiveproxy" config_get "enable" "config" "enable" "0" config_get "listen_addr" "config" "listen_addr" config_get "server_addr" "config" "server_addr" config_get "extra_argument" "config" "extra_argument" } start_service() { init_conf [ "${enable}" == "1" ] || return 0 procd_open_instance naiveproxy procd_set_param command naive procd_append_param command --listen="${listen_addr}" procd_append_param command --proxy="${server_addr}" [ -n "${extra_argument}" ] && procd_append_param command "${extra_argument}" procd_set_param respawn ${respawn_threshold:-3600} ${respawn_timeout:-5} ${respawn_retry:-5} procd_set_param limits core="unlimited" procd_set_param stdout 1 procd_set_param stderr 1 procd_close_instance } reload_service() { stop start } service_triggers() { procd_add_reload_trigger "naiveproxy" }