mirror of
https://github.com/pivpn/pivpn.git
synced 2024-12-22 12:50:16 +00:00
48 lines
1.1 KiB
Bash
48 lines
1.1 KiB
Bash
|
#!/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"
|
||
|
}
|
||
|
|
||
|
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
|
||
|
-o | --openvpn ) openvpn
|
||
|
;;
|
||
|
-w | --wireguard ) wireguard
|
||
|
;;
|
||
|
* ) echo "unknown vpn protocol"; exit 1
|
||
|
;;
|
||
|
esac
|
||
|
done
|
||
|
fi
|