pivpn/ciscripts/startup.sh

48 lines
1.1 KiB
Bash
Raw Normal View History

#!/bin/sh
interface=$(ip -o link | awk '{print $2}' | cut -d':' -f1 | cut -d'@' -f1 | grep -v -w 'lo' | head -1)
ipaddress=$(ip addr show "$interface" | grep -o -E "([0-9]{1,3}[\.]){3}[0-9]{1,3}/[0-9]{2}")
gateway=$(ip route show | awk '/default/ {print $3}')
hostname="pivpn.test"
common(){
sed -i "s/INTERFACE/$interface/g" "$vpnconfig"
sed -i "s|IPADDRESS|$ipaddress|g" "$vpnconfig"
sed -i "s/GATEWAY/$gateway/g" "$vpnconfig"
}
2022-07-26 13:20:35 +00:00
openvpn(){
vpnconfig="ciscripts/ci_openvpn.conf"
twofour=1
common
sed -i "s/2POINT4/$twofour/g" "$vpnconfig"
cat $vpnconfig
exit 0
}
wireguard(){
vpnconfig="ciscripts/ci_wireguard.conf"
common
cat $vpnconfig
exit 0
}
if [ $# -lt 1 ]; then
echo "specifiy a VPN protocol to prepare"
exit 1
else
chmod +x auto_install/install.sh
sudo hostnamectl set-hostname $hostname
cat /etc/os-release
while true; do
case "$1" in
2022-07-26 13:20:35 +00:00
-o | --openvpn ) openvpn
;;
-w | --wireguard ) wireguard
;;
2022-07-26 13:20:35 +00:00
* ) echo "unknown vpn protocol"; exit 1
;;
esac
done
fi