31 lines
655 B
Bash
Executable File
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"
|