Files
wgmn/git-wg-clone
2018-05-16 22:43:33 +02:00

31 lines
655 B
Bash
Executable File

#!/bin/bash
URL=$1
NETWORK=$(basename "$URL")
IP_ADDR=$2
LPORT=${3:-$(((RANDOM % 5000) + 5000))}
if [ "$#" -ge 4 ]; then
EIP_ADDR=$4
else
EIP_ADDR=$(curl ipecho.net/plain ; echo)
fi
set -e
git clone $URL
cd "$NETWORK"
set +e
ip link add dev $NETWORK type wireguard
ip address add dev $NETWORK $IP_ADDR
#set -e
mkdir -p .wg
(umask 077 && wg genkey > .wg/private.key)
wg set $NETWORK private-key .wg/private.key listen-port $LPORT
(umask 077 && wg showconf $NETWORK > .wg/private.conf)
ME=$(wg pubkey < .wg/private.key)
git config user.name "$ME $NETWORK"
git config user.email "$ME@$NETWORK.wg"
git-wg-peer-add $ME $IP_ADDR "$EIP_ADDR:$LPORT"