mirror of
				https://github.com/yggdrasil-network/yggdrasil-go.git
				synced 2025-11-04 11:15:07 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			55 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Text
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Text
		
	
	
		
			Executable file
		
	
	
	
	
#!/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"
 | 
						|
extra_started_commands="reload"
 | 
						|
 | 
						|
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 ${RC_SVCNAME}"
 | 
						|
	start-stop-daemon --start --quiet \
 | 
						|
		--pidfile "${pidfile}" \
 | 
						|
		--make-pidfile \
 | 
						|
		--background \
 | 
						|
		--stdout /var/log/yggdrasil.stdout.log \
 | 
						|
		--stderr /var/log/yggdrasil.stderr.log \
 | 
						|
		--exec "${command}" -- -useconffile "${CONFFILE}"
 | 
						|
	eend $?
 | 
						|
}
 | 
						|
 | 
						|
reload() {
 | 
						|
	ebegin "Reloading ${RC_SVCNAME}"
 | 
						|
	start-stop-daemon --signal HUP --pidfile "${pidfile}"
 | 
						|
	eend $?
 | 
						|
}
 | 
						|
 | 
						|
stop() {
 | 
						|
	ebegin "Stopping ${RC_SVCNAME}"
 | 
						|
	start-stop-daemon --stop --pidfile "${pidfile}" --exec "${command}"
 | 
						|
	eend $?
 | 
						|
}
 |