#!/bin/bash

INTERFACE=$1
IPADDRESS=$2
MASK=$3
PORT=$4

function help {
        echo "Usage: $0 <interface> <server address> <mask> <serverport>"
        echo "Example: $0 tun0 10.0.0.3 24 51820"
        exit 1
}

if [ -z "$4" ] || [ -n "$5" ]
then
        help
fi

PRIVKEY=$(wg genkey)
PUBKEY=$(echo ${PRIVKEY} | wg pubkey)

cat > /etc/wireguard/${INTERFACE}.conf << EOF
[Interface]
PrivateKey = ${PRIVKEY}
Address = ${IPADDRESS}/${MASK}
ListenPort = ${PORT}
PostUp = /etc/init.d/shorewall restart
PostDown = /etc/init.d/shorewall restart
EOF

echo "${PRIVKEY}" > privkey.${INTERFACE}
echo "${PUBKEY}" > pubkey.${INTERFACE}
