31 lines
523 B
Bash
Executable file
31 lines
523 B
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
name=$1
|
|
number=$2
|
|
address="192.168.200.$number/32"
|
|
|
|
private=$(wg genkey)
|
|
public=$(echo "$private" | wg pubkey)
|
|
psk=$(wg genpsk)
|
|
|
|
cat << EOF > /tmp/$name.conf
|
|
[Interface]
|
|
Address = $address
|
|
PrivateKey = $private
|
|
DNS = 1.1.1.1
|
|
|
|
[Peer]
|
|
PublicKey = $(cat /etc/secrets/wireguard/public)
|
|
PresharedKey = $psk
|
|
Endpoint = vpn.inx.moe:51820
|
|
AllowedIPs = 0.0.0.0/0
|
|
EOF
|
|
|
|
cat << EOF >> /tmp/wireguard-config.nix
|
|
{
|
|
name = "$name";
|
|
publicKey = "$public";
|
|
presharedKey = "$psk";
|
|
allowedIPs = ip $number;
|
|
}
|
|
EOF
|