From f18e1c3b86c46515a8e0fbb7e135ecbbca381fb4 Mon Sep 17 00:00:00 2001 From: Tianyu Liu Date: Mon, 19 May 2025 09:44:02 +0000 Subject: [PATCH] wg peer setup also use env sh --- wireguard/peer_setup.sh | 33 ++++++++++++++++++++++----------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/wireguard/peer_setup.sh b/wireguard/peer_setup.sh index 50353d4..af302a5 100755 --- a/wireguard/peer_setup.sh +++ b/wireguard/peer_setup.sh @@ -1,17 +1,18 @@ #!/bin/bash -WG_NUM=$1 +. ./env.sh + WG_CONF="/etc/wireguard" PRIV_KEY_FILE="wg${WG_NUM}_privatekey" PUB_KEY_FILE="wg${WG_NUM}_publickey" CONF_FILE="wg${WG_NUM}.conf" -if [ -z "$1" ]; then +if [ -z "$WG_NUM" ]; then echo "Wireguard interface number not provided." exit 1 fi -if ! [[ "$1" =~ ^-?[0-9]+([.][0-9]+)?$ ]]; then +if ! [[ "$WG_NUM" =~ ^-?[0-9]+([.][0-9]+)?$ ]]; then echo "Wireguard interface number has to be a number." exit 2 fi @@ -24,16 +25,26 @@ sudo mkdir -p $WG_CONF sudo mv ./$PRIV_KEY_FILE $WG_CONF sudo mv ./$PUB_KEY_FILE $WG_CONF -read -p "Enter IP (as peer) (e.g. 192.168.180.2/24): " ADDRESS -read -p "Enter DNS server (e.g. 8.8.8.8): " DNS - -CONF_CONTENT="[Interface] +CONF_INTERFACE="[Interface] PrivateKey = $PRIVATE_KEY -Address = $ADDRESS -DNS = $DNS +Address = $PEER_IP +DNS = $DNS_SERVER " +echo "$CONF_INTERFACE" > "$CONF_FILE" + +CONF_PEER="[Peer] +PublicKey = $PEER_PUBLIC_KEY +AllowedIPs = $ALLOWED_IPS +Endpoint = $PEER_ENDPOINT +PersistentKeepalive = 25 +" +echo "$CONF_PEER" >> "$CONF_FILE" -echo "$CONF_CONTENT" > "$CONF_FILE" sudo mv "$CONF_FILE" "$WG_CONF" -echo "Config saved to: $WG_CONF/$CONF_FILE" \ No newline at end of file +echo "Config saved to: $WG_CONF/$CONF_FILE" +echo "Add the following to the server config:" +echo "[Peer] +PublicKey = $(cat $WG_CONF/$PUB_KEY_FILE) +AllowedIPs = $PEER_IP +" \ No newline at end of file