Browse Source

Добавлены шаблоны для net-vpn/wireguard-tools

master
parent
commit
bad79ce7f7
  1. 1
      merge/net-vpn/.calculate_directory
  2. 1
      merge/net-vpn/wireguard-tools/.calculate_directory
  3. 79
      merge/net-vpn/wireguard-tools/wireguard

1
merge/net-vpn/.calculate_directory

@ -0,0 +1 @@
{% calculate append = 'skip' %}

1
merge/net-vpn/wireguard-tools/.calculate_directory

@ -0,0 +1 @@
{% calculate path='/etc', name='init.d', package='net-vpn/wireguard-tools' %}

79
merge/net-vpn/wireguard-tools/wireguard

@ -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…
Cancel
Save