Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- #set -u
- SERVER=test.com
- PORT=51820
- [[ ! -w $0 ]] && { echo "Must be root"; exit 1;}
- ident=$1
- [[ -z $ident ]] && { echo "Must supply a profile name" ;exit 1;}
- cd /etc/wireguard
- if [[ ! -f server_public.key || ! -f server_private.key ]] ; then
- echo -en "No server keypair found. Generate one or overwrite? (yes/no): "
- read a
- if [[ $a != "yes" ]]; then exit; fi
- wg genkey > server_private.key
- wg pubkey < server_private.key > server_public.key
- fi
- wg genkey > ${ident}_private.key
- wg pubkey > ${ident}_public.key < ${ident}_private.key
- skey=$(tr -d '\n'< server_public.key)
- ckey=$(tr -d '\n' < ${ident}_private.key)
- oldip=$(tail -n1 $0|tr -d '\n')
- pre=$(cut -f 1,2,3 -d'.' <<< $oldip|sed 's/#//')
- ilast=$(cut -f4 -d'.' <<< $oldip )
- (( ilast++ ))
- echo "New IP is ${pre}.${ilast}/32"
- cat > ${ident}.conf << EOF
- [Interface]
- PrivateKey = $ckey
- Address = ${pre}.${ilast}/32
- DNS = 1.1.1.1
- [Peer]
- PublicKey = $skey
- Endpoint = $SERVER:$PORT
- AllowedIPs = 0.0.0.0/0, ::/0
- EOF
- echo "#${pre}.${ilast}" >> $0
- qrencode -t ansiutf8 < ${ident}.conf
- cd -
- # Below are the used IP adresses. Please do not add lines
- #10.10.9.1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement