#!/bin/sh /etc/rc.common
START=99
STOP=10
USE_PROCD=1

start_service() {
 config_load fengwo-openclash
 local enabled port api_base data_dir address luci_origin
 config_get_bool enabled main enabled 1
 [ "$enabled" -eq 1 ] || return 0
 config_get port main port 8089
 config_get api_base main api_base ''
 config_get luci_origin main luci_origin ''
 config_get data_dir main data_dir /etc/fengwo-openclash
 address="$(ubus call network.interface.lan status 2>/dev/null | jsonfilter -e '@["ipv4-address"][0].address')"
 [ -n "$address" ] || address=127.0.0.1
 mkdir -p "$data_dir/logs"
 chmod 700 "$data_dir" "$data_dir/logs"
 procd_open_instance
 procd_set_param command /usr/bin/fengwo-openclash -listen "$address:$port" -api-base "$api_base" -luci-origin "$luci_origin" -webroot /usr/share/fengwo-openclash/web -data-dir "$data_dir" -audit-log "$data_dir/logs/operations.jsonl"
 procd_set_param respawn 3600 5 5
 procd_set_param term_timeout 245
 procd_set_param stdout 1
 procd_set_param stderr 1
 procd_close_instance
}

service_triggers() {
 procd_add_reload_trigger fengwo-openclash
}
