mirror of
				https://github.com/yggdrasil-network/yggdrasil-go.git
				synced 2025-10-31 17:25:06 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			48 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			Text
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
	
		
			1 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"
 | |
| 
 | |
| 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 $?
 | |
| }
 | |
| 
 | |
| stop() {
 | |
| 	ebegin "Stopping ${RC_SVCNAME}"
 | |
| 	start-stop-daemon --stop --pidfile "${pidfile}" --exec "${command}"
 | |
| 	eend $?
 | |
| }
 | 
