Added randomvpn service and script

This commit is contained in:
Eduard Tolosa 2019-02-23 18:34:39 -05:00
parent f2a3e2faf2
commit f35da46f10
5 changed files with 70 additions and 2 deletions

24
randomvpn Executable file
View file

@ -0,0 +1,24 @@
#!/usr/bin/env sh
# Script to select a random VPN client from /etc/openvpn/client/ (the default openvpn directory)
workdir="/etc/openvpn/client/"
if [ $UID -ne 0 ]; then
echo "You need root privileges."
exit
fi
if [ "$1" == "stop" ]; then
systemctl stop openvpn-client@*
exit
fi
if command -v openvpn > /dev/null && command -v systemctl > /dev/null; then
cd "$workdir"
vpn=$(shuf -ezn 1 * | xargs -0 -n1 | cut -f1 -d '.')
$(sudo systemctl start openvpn-client@$vpn)
exit
else
echo "OpenVPN or systemd not installed, exiting."
exit
fi

24
system-bin/randomvpn Executable file
View file

@ -0,0 +1,24 @@
#!/usr/bin/env sh
# Script to select a random VPN client from /etc/openvpn/client/ (the default openvpn directory)
workdir="/etc/openvpn/client/"
if [ $UID -ne 0 ]; then
echo "You need root privileges."
exit
fi
if [ "$1" == "stop" ]; then
systemctl stop openvpn-client@*
exit
fi
if command -v openvpn > /dev/null && command -v systemctl > /dev/null; then
cd "$workdir"
vpn=$(shuf -ezn 1 * | xargs -0 -n1 | cut -f1 -d '.')
$(sudo systemctl start openvpn-client@$vpn)
exit
else
echo "OpenVPN or systemd not installed, exiting."
exit
fi

View file

@ -0,0 +1,20 @@
[Unit]
Description=Random VPN client
After=syslog.target network-online.target
Wants=network-online.target
[Service]
Type=oneshot
WorkingDirectory=/etc/openvpn/client/
ProtectHome=true
ProtectSystem=strict
ExecStart=/usr/bin/randomvpn
RemainAfterExit=yes
CapabilityBoundingSet=CAP_IPC_LOCK CAP_NET_ADMIN CAP_NET_RAW CAP_SETGID CAP_SETUID CAP_SYS_CHROOT CAP_DAC_OVERRIDE LimitNPROC=10
DeviceAllow=/dev/null rw
DeviceAllow=/dev/net/tun rw
ExecStop=/usr/bin/randomvpn stop
KillMode=process
[Install]
WantedBy=multi-user.target

View file

@ -1,8 +1,8 @@
[Unit]
Description=Comprobación automatica de servicios de red cada 5 minutos
[Timer]
OnBootSec=2min
OnUnitActiveSec=10min
OnBootSec=1min
OnUnitActiveSec=5min
Unit=rnetworking.service
[Install]