From 4e04bee9152657a33a787e41625ed37ea0f4380d Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Tue, 5 Jul 2016 16:01:31 +0200 Subject: contrib: organize example scripts and add synergy Signed-off-by: Jason A. Donenfeld --- contrib/ncat-client-server/server.sh | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100755 contrib/ncat-client-server/server.sh (limited to 'contrib/ncat-client-server/server.sh') diff --git a/contrib/ncat-client-server/server.sh b/contrib/ncat-client-server/server.sh new file mode 100755 index 0000000..e37861f --- /dev/null +++ b/contrib/ncat-client-server/server.sh @@ -0,0 +1,14 @@ +#!/bin/bash +if [[ -z $NCAT_REMOTE_ADDR ]]; then + ip link del dev wg0 2>/dev/null + set -e + ip link add dev wg0 type wireguard + ip address add 192.168.4.1/24 dev wg0 + wg set wg0 private-key <(wg genkey) listen-port 12912 + ip link set up dev wg0 + exec ncat -e "$(readlink -f "$0")" -k -l -p 42912 -v +fi +read -r public_key +[[ $(wg show wg0 | grep peer | wc -l) -ge 253 ]] && wg set wg0 peer $(wg show wg0 latest-handshakes | sort -k 2 -b -n | head -n 1 | cut -f 1) remove +next_ip=$(all="$(wg show wg0 allowed-ips)"; for ((i=2; i<=254; i++)); do ip="192.168.4.$i"; [[ $all != *$ip/32* ]] && echo $ip && break; done) +wg set wg0 peer "$public_key" allowed-ips $next_ip/32 2>/dev/null && echo "OK:$(wg show wg0 private-key | wg pubkey):$(wg show wg0 listen-port):$next_ip" || echo ERROR -- cgit v1.2.3-59-g8ed1b