NordVPN doesnt share the wireguard config files , using this guide you will be able to get the config files and use them with routers or other wireguard clients.
First install a Ubuntu Desktop and then Install NordLynx using the official guide. Once done run the following code.
#!/bin/bash
my_interface=$(sudo wg show | grep interface | cut -d" " -f2)
my_privkey=$(sudo wg show $my_interface private-key)
my_ip=$(ip -f inet addr show $my_interface | awk '/inet/ {print $2}')
read host ip city country serv_pubkey < <( echo $(curl -s "https://api.nordvpn.com/v1/servers/recommendations?&filters\[servers_technologies\]\[identifier\]=wireguard_udp&limit=1" | jq -r '.[]|.hostname, .station, (.locations|.[]|.country|.city.name), (.locations|.[]|.country|.name), (.technologies|.[].metadata|.[].value)'))
sid=$(echo $host | cut -d. -f1)
fn="nvpn_"$sid".conf"
echo Server: $host \($ip\) has pubkey $serv_pubkey
echo writing config to $fn
echo "#config for nordvpn server $sid" > $fn
echo "[Interface]" >> $fn
echo "Address = $my_ip" >> $fn
echo "PrivateKey = $my_privkey" >> $fn
echo "" >> $fn
echo "[Peer]" >> $fn
echo "PublicKey = $serv_pubkey" >> $fn
echo "AllowedIPs = 0.0.0.0/0" >> $fn
echo "Endpoint = $host:51820" >> $fn
echo ""
echo "Content of $fn:"
cat $fn
qrencode -t ansiutf8 < $fn
# uncomment this line to automatically copy the .conf to the wg directory, then you can use it directly with "wg-quick up nvpn_xy1234"
#sudo mv $fn /etc/wireguard && sudo chmod 600 /etc/wireguard/$fn
You might need to install wireguard on linux additionally.
If you don’t see public key after you run the script , you need to install jq
sudo apt install jq
Additionally you might need to format the public key on config file remove Nordvpn_country code form beginning of the key if its there.
Comments