#!/bin/env bash
#для генерации qr кода необходим установленный apt install qrencode
#Первым параметром задаем имя лучше латиницей в одном регистре без лишних ненужных символов
#вторым нужный ip
USER=$1
IP=$2
SERV_IP=10.10.10.10
SERV_PORT=51820
SERVER_PUBKEY=$(<"/etc/wireguard/server_publickey")
echo "new user $USER"
wg genkey > "/etc/wireguard/"$USER"_privatekey"
PRIV_KEY=$(<"/etc/wireguard/"$USER"_privatekey")
#echo $PRIV_KEY
wg pubkey < "/etc/wireguard/"$USER"_privatekey">"/etc/wireguard/"$USER"_publickey"
PUB_KEY=$(<"/etc/wireguard/"$USER"_publickey")
#echo $PUB_KEY
echo "#$USER" >> /etc/wireguard/wg0.conf
echo "[Peer]" >> /etc/wireguard/wg0.conf
echo "PublicKey = $PUB_KEY" >> /etc/wireguard/wg0.conf
echo "AllowedIPs = $IP" >> /etc/wireguard/wg0.conf
#gen_user_conf_file
echo "[Interface]" >> /etc/wireguard/$USER.conf
echo "PrivateKey = $PRIV_KEY" >> /etc/wireguard/$USER.conf
echo "Address = $IP" >> /etc/wireguard/$USER.conf
echo "DNS = 8.8.8.8" >> /etc/wireguard/$USER.conf
echo "[Peer]" >> /etc/wireguard/$USER.conf
echo "PublicKey = $SERVER_PUBKEY" >> /etc/wireguard/$USER.conf
echo "AllowedIPs = 0.0.0.0/0" >> /etc/wireguard/$USER.conf
echo "Endpoint = $SERV_IP:$SERV_PORT" >> /etc/wireguard/$USER.conf
echo "PersistentKeepalive = 20" >> /etc/wireguard/$USER.conf
echo "#####wg.conf last 5 str"
tail -n 5 /etc/wireguard/wg0.conf
echo "#####$USER.conf"
cat /etc/wireguard/$USER.conf
echo "#####"
systemctl restart wg-quick@wg0
wg show
qrencode -t ansiutf8 < /etc/wireguard/$USER.conf
Запись опубликована в рубрике
Uncategorized. Добавьте в закладки
постоянную ссылку.