freebsd-ports/www/shellinabox/files/shellinaboxd.in
2021-04-06 16:31:13 +02:00

71 lines
1.8 KiB
Bash

#!/bin/sh
# Shell in a Box Daemon startup script
#
# PROVIDE: shellinaboxd
# REQUIRE: LOGIN
# KEYWORD: shutdown
#
# Add the following to /etc/rc.conf[.local] to enable this service
#
# shellinaboxd_enable="YES"
#
# You can fine tune others variables too:
# shellinaboxd_pidfile="/var/run/shellinabox.pid"
# shellinaboxd_user="%%USERS%%"
# shellinaboxd_group="%%GROUPS%%"
# shellinaboxd_port="4200"
# shellinaboxd_certdir="%%ETCDIR%%"
# shellinaboxd_certfile=
# Example: shellinaboxd_certfile="/your/cert.pem"
# shellinaboxd_flags=
shellinaboxd_precmd() {
if command -v check_namevarlist > /dev/null 2>&1; then
check_namevarlist fib && return 0
fi
${SYSCTL} net.fibs >/dev/null 2>&1 || return 0
shellinaboxd_fib=${shellinaboxd_fib:-"NONE"}
case "$shellinaboxd_fib" in
[Nn][Oo][Nn][Ee])
;;
*)
command="setfib -F ${shellinaboxd_fib} ${command}"
;;
esac
}
. /etc/rc.subr
name="shellinaboxd"
rcvar=shellinaboxd_enable
command="%%PREFIX%%/bin/${name}"
start_precmd="shellinaboxd_precmd"
load_rc_config $name
shellinaboxd_enable=${shellinaboxd_enable:-"NO"}
shellinaboxd_user=${shellinaboxd_user:-"%%USERS%%"}
shellinaboxd_group=${shellinaboxd_group:-"%%GROUPS%%"}
shellinaboxd_port=${shellinaboxd_port:-"4200"}
shellinaboxd_certdir=${shellinaboxd_certdir:-"%%ETCDIR%%"}
pidfile=${shellinaboxd_pidfile:-"/var/run/shellinaboxd.pid"}
command_args="--user=${shellinaboxd_user} --group=${shellinaboxd_group} --port=${shellinaboxd_port} --background=${pidfile}"
if [ "${shellinaboxd_certfile}" = "" ]; then
required_dirs="${shellinaboxd_certdir}"
command_args="$command_args --cert=${shellinaboxd_certdir}"
else
command_args="$command_args --cert-fd=3 3< ${shellinaboxd_certfile}"
fi
# avoid unnecessary su(1) initiated by rc.subr
unset shellinaboxd_user shellinaboxd_group
run_rc_command "$1"