| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- #!/sbin/openrc-run
- name=$RC_SVCNAME
- description="sing-box service"
- supervisor="supervise-daemon"
- command="/usr/bin/sing-box"
- extra_commands="checkconfig"
- extra_started_commands="reload"
- : ${SINGBOX_CONFIG:=${config:-"/etc/sing-box"}}
- if [ -d "$SINGBOX_CONFIG" ]; then
- _config_opt="-C $SINGBOX_CONFIG"
- elif [ -z "$SINGBOX_CONFIG" ]; then
- _config_opt=""
- else
- _config_opt="-c $SINGBOX_CONFIG"
- fi
- _workdir=${SINGBOX_WORKDIR:-${workdir:-"/var/lib/sing-box"}}
- command_args="run --disable-color
- -D $_workdir
- $_config_opt"
- depend() {
- after net dns
- }
- checkconfig() {
- ebegin "Checking $RC_SVCNAME configuration"
- sing-box check -D "$_workdir" $_config_opt
- eend $?
- }
- start_pre() {
- checkconfig
- }
- reload() {
- ebegin "Reloading $RC_SVCNAME"
- checkconfig && $supervisor "$RC_SVCNAME" --signal HUP
- eend $?
- }
|