mirror of
https://github.com/cwinfo/yggdrasil-go.git
synced 2024-12-22 23:25:39 +00:00
50 lines
1.0 KiB
Plaintext
50 lines
1.0 KiB
Plaintext
|
#!/sbin/openrc-run
|
||
|
|
||
|
description="An experiment in scalable routing as an encrypted IPv6 overlay network."
|
||
|
|
||
|
CONFFILE="/etc/yggdrasil.conf"
|
||
|
pidfile="/run/${RC_SVCNAME}.pid"
|
||
|
|
||
|
command="/usr/bin/yggdrasil"
|
||
|
|
||
|
depend() {
|
||
|
use net dns logger
|
||
|
}
|
||
|
|
||
|
start_pre() {
|
||
|
if [ ! -f "${CONFFILE}" ]; then
|
||
|
ebegin "Generating new configuration file into ${CONFFILE}"
|
||
|
if ! eval ${command} -genconf > ${CONFFILE}; then
|
||
|
eerror "Failed to generate configuration file"
|
||
|
exit 1
|
||
|
fi
|
||
|
fi
|
||
|
|
||
|
if [ ! -e /dev/net/tun ]; then
|
||
|
ebegin "Inserting TUN module"
|
||
|
|
||
|
if ! modprobe tun; then
|
||
|
eerror "Failed to insert TUN kernel module"
|
||
|
exit 1
|
||
|
fi
|
||
|
fi
|
||
|
}
|
||
|
|
||
|
start() {
|
||
|
ebegin "Starting Yggdrasil"
|
||
|
start-stop-daemon --start --quiet \
|
||
|
--pidfile "${pidfile}" \
|
||
|
--make-pidfile \
|
||
|
--background \
|
||
|
--stdout /var/log/yggdrasil.stdout.log \
|
||
|
--stderr /var/log/yggdrasil.stderr.log \
|
||
|
--exec "${command}" -- -useconf < "${CONFFILE}"
|
||
|
eend $?
|
||
|
}
|
||
|
|
||
|
stop() {
|
||
|
ebegin "Stopping Yggdrasil"
|
||
|
start-stop-daemon --stop --pidfile "${pidfile}" --exec "${command}"
|
||
|
eend $?
|
||
|
}
|