Add create_wg_config.sh

This commit is contained in:
2025-10-03 15:57:02 +02:00
parent 51f6af08e2
commit 0c62efd445

34
create_wg_config.sh Normal file
View File

@ -0,0 +1,34 @@
#!/bin/tcsh -f
echo -n "Enter a name for the wireguard config: "
set name = $<
echo -n "Enter the IP for this wireguard config: "
set ip = $<
echo -n "Enter the endpoint for this wireguard config: "
set endpoint = $<
echo -n "Enter the endpoint port for this wireguard config: "
set port = $<
echo -n "I will create a config with name $name and IP $ip. Is this correct? (y/n): "
set correct = $<
if ($correct == "y" || $correct == "Y") then
set wg_pubkey = `wg | grep public | cut -d " " -f5`
set conffile = "$name"_client.conf
set serverconf = "$name"_server.conf
set private = `wg genkey | tee "$name"_private.key`
set public = `wg pubkey < "$name"_private.key | tee "$name"_public.key`
set psk = `wg genpsk | tee "$name"_preshared.key`
# Client config file
echo "[Interface]" > $conffile
echo "PrivateKey = $private" >> $conffile
echo "Address = $ip/24" >> $conffile
echo "DNS = 31.182.126.198" >> $conffile
echo "" >> $conffile
echo "[Peer]" >> $conffile
echo "PublicKey = $wg_pubkey" >> $conffile
echo "PresharedKey = $psk" >> $conffile
echo "AllowedIPs = 0.0.0.0/0" >> $conffile
echo "Endpoint = ${endpoint}:${port}" >> $conffile
# Server config file
echo "[Peer]" > $serverconf
echo "AllowedIPs = $ip/32" >> $serverconf
echo "PreSharedKey = $psk" >> $serverconf
echo "Publickey = $public" >> $serverconf