parent
7f828634db
commit
bad79ce7f7
@ -0,0 +1 @@
|
|||||||
|
{% calculate append = 'skip' %}
|
@ -0,0 +1 @@
|
|||||||
|
{% calculate path='/etc', name='init.d', package='net-vpn/wireguard-tools' %}
|
@ -0,0 +1,79 @@
|
|||||||
|
{% calculate chmod='755' %}
|
||||||
|
#!/sbin/openrc-run
|
||||||
|
# Copyright 1999-2007 Gentoo Foundation
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
VPNDIR=${VPNDIR:-/etc/wireguard}
|
||||||
|
VPN=${SVCNAME#*.}
|
||||||
|
[[ $VPN == wireguard ]] && VPN="wg0"
|
||||||
|
VPNCONF="${VPNDIR}/${VPN}.conf"
|
||||||
|
extra_commands="reload"
|
||||||
|
|
||||||
|
depend() {
|
||||||
|
need localmount net
|
||||||
|
use dns
|
||||||
|
after bootmisc
|
||||||
|
}
|
||||||
|
|
||||||
|
checkconfig() {
|
||||||
|
if [ ! -e /sys/module/wireguard ]; then
|
||||||
|
if ! modprobe wireguard ; then
|
||||||
|
eerror "WireGuard support is not available" \
|
||||||
|
"in this kernel"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
start() {
|
||||||
|
ebegin "Starting ${SVCNAME}"
|
||||||
|
|
||||||
|
checkconfig || return 1
|
||||||
|
|
||||||
|
output="$(/usr/bin/wg-quick up ${VPNCONF} 2>&1)"
|
||||||
|
res=$?
|
||||||
|
if [[ $res != 0 ]]
|
||||||
|
then
|
||||||
|
while read line;
|
||||||
|
do
|
||||||
|
eerror " ${line:4}"
|
||||||
|
done <<<$output
|
||||||
|
else
|
||||||
|
while read line;
|
||||||
|
do
|
||||||
|
einfo " ${line:4}"
|
||||||
|
done <<<$output
|
||||||
|
fi
|
||||||
|
|
||||||
|
eend $res
|
||||||
|
}
|
||||||
|
|
||||||
|
stop() {
|
||||||
|
ebegin "Stopping ${SVCNAME}"
|
||||||
|
|
||||||
|
output="$(/usr/bin/wg-quick down ${VPNCONF} 2>&1)"
|
||||||
|
if [[ $? != 0 ]]
|
||||||
|
then
|
||||||
|
while read line;
|
||||||
|
do
|
||||||
|
ewarn " ${line:4}"
|
||||||
|
done <<<$output
|
||||||
|
else
|
||||||
|
while read line;
|
||||||
|
do
|
||||||
|
einfo " ${line:4}"
|
||||||
|
done <<<$output
|
||||||
|
fi
|
||||||
|
eend 0
|
||||||
|
}
|
||||||
|
|
||||||
|
reload() {
|
||||||
|
ebegin "Reloading ${SVCNAME}"
|
||||||
|
grep -v Address ${VPNCONF} >${VPNCONF}.clear
|
||||||
|
/usr/bin/wg syncconf ${VPN} ${VPNCONF}.clear
|
||||||
|
rm ${VPNCONF}.clear
|
||||||
|
eend 0
|
||||||
|
}
|
||||||
|
|
||||||
|
# vim: set ts=4 :
|
Loading…
Reference in new issue