# Запускать так: curl -fsSL https://files.foo.ddns.mobi/yggdrasil-access.sh | sudo bash
apt-get update -y
apt-get install -y yggdrasil openssh-server qrencode git

# Настройка yggdrasil
git clone https://github.com/yggdrasil-network/public-peers.git
rm public-peers/README.md
echo '  Peers: [' > yggdrasil-peers
grep -ERoh 'tcp://[^`]+|tls://[^`]+' public-peers/ | sort -r | sed 's/^/    /' >> yggdrasil-peers
echo '  ]' >> yggdrasil-peers
rm -rf public-peers
yggdrasil -genconf > /etc/yggdrasil/yggdrasil.conf
yggdrasil -genconf | sed '/Peers: \[\]/{r yggdrasil-peers
d}' > /etc/yggdrasil/yggdrasil.conf
rm yggdrasil-peers
systemctl start yggdrasil

# Настройка ssh
sed -Ei 's|^#?(PasswordAuthentication) .*|\1 yes|' /etc/ssh/sshd_config
sed -Ei 's|^#?(PermitRootLogin) .*|\1 yes|'        /etc/ssh/sshd_config
systemctl start ssh

# Установка пароля
PASSWD=$(tr -dc A-HJ-NP-Za-km-z1-9 </dev/urandom | head -c 12)
echo "root:$PASSWD" | chpasswd

# Показ информации
IP=$(ip ad show tun0 scope global | grep inet6 | sed -E '/inet6/s|\s+inet6 ([^/]+).*|\1|')
echo "IP-адрес yggdrasil: $IP"
echo "Пароль root: $PASSWD"
echo "QR-код:"
qrencode -t ANSIUTF8 "$(printf "$IP\n$PASSWD\n")"
