Initial commit: local_machine docs and scripts

This commit is contained in:
ahauimix
2026-03-14 20:03:57 +03:00
commit a39ef89125
85 changed files with 14500 additions and 0 deletions

View File

@@ -0,0 +1,119 @@
#!/bin/bash
# Настройка SSH ключа и развертывание WireGuard на 149.154.64.19
set -e
SERVER="ahau@149.154.64.19"
KEY_FILE="$HOME/.ssh/ru_server_key"
PUB_KEY="ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDJ48JZfUVwmVILkNsOqrmywqxCOK3zkxU3+2Z8G01RR ru.hunab.app"
echo "🔐 Настройка SSH и развертывание WireGuard"
echo "═══════════════════════════════════════════"
echo ""
# Шаг 1: Проверка подключения с ключом
echo "1⃣ Проверяю существующее подключение..."
if ssh -i "$KEY_FILE" -o PreferredAuthentications=publickey -o ConnectTimeout=5 -o StrictHostKeyChecking=no "$SERVER" "exit" 2>/dev/null; then
echo "✅ SSH ключ уже настроен!"
else
echo "⚠️ SSH ключ не настроен, добавляю..."
echo ""
echo "📝 Введите пароль: w99z2fBSkO4gU"
echo ""
# Добавляем ключ на сервер
ssh-copy-id -i "$KEY_FILE.pub" "$SERVER" || {
echo ""
echo "⚠️ Автоматическое добавление не сработало. Добавляю вручную..."
cat "$KEY_FILE.pub" | ssh "$SERVER" "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"
}
echo ""
echo "✅ SSH ключ добавлен!"
fi
echo ""
echo "2⃣ Проверяю подключение с ключом..."
if ssh -i "$KEY_FILE" -o PreferredAuthentications=publickey -o ConnectTimeout=5 "$SERVER" "echo '✅ Подключение работает!'" 2>/dev/null; then
echo "✅ SSH ключ работает!"
else
echo "❌ Не удалось подключиться с ключом"
exit 1
fi
echo ""
echo "3⃣ Развертывание WireGuard на сервере..."
echo ""
ssh -i "$KEY_FILE" "$SERVER" << 'ENDSSH'
set -e
echo " 📁 Создание директорий..."
sudo mkdir -p /opt/app/vpn/wireguard/config
sudo chown -R ahau:ahau /opt/app/vpn
echo " 🛑 Остановка старых контейнеров..."
docker stop hunab-vpn-wireguard-ru 2>/dev/null || true
docker rm hunab-vpn-wireguard-ru 2>/dev/null || true
echo " 🚀 Запуск WireGuard контейнера..."
cd /opt/app/vpn/wireguard
docker run -d \
--name hunab-vpn-wireguard-ru \
--cap-add=NET_ADMIN \
--cap-add=SYS_MODULE \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Europe/Moscow \
-e SERVERURL=149.154.64.19 \
-e SERVERPORT=51820 \
-e PEERS=1 \
-e PEERDNS=8.8.8.8 \
-e INTERNAL_SUBNET=10.14.14.0 \
-v /opt/app/vpn/wireguard/config:/config \
-p 51820:51820/udp \
--sysctl="net.ipv4.conf.all.src_valid_mark=1" \
--restart unless-stopped \
linuxserver/wireguard:latest > /dev/null
echo " ⏳ Ожидание создания конфигурации (45 секунд)..."
sleep 45
echo " 🔥 Настройка Firewall..."
sudo ufw allow 51820/udp comment 'WireGuard VPN RU' 2>/dev/null || true
sudo ufw reload 2>/dev/null || true
echo ""
echo " ✅ WireGuard развернут и запущен!"
echo ""
docker ps | grep wireguard
echo ""
echo " 📄 Конфигурация клиента:"
echo " ═══════════════════════════════"
cat /opt/app/vpn/wireguard/config/peer1/peer1.conf
echo " ═══════════════════════════════"
ENDSSH
echo ""
echo "4⃣ Получение конфигурации..."
scp -i "$KEY_FILE" "$SERVER:/opt/app/vpn/wireguard/config/peer1/peer1.conf" docs/vpn/RuVPN.conf
if [ -f docs/vpn/RuVPN.conf ]; then
echo ""
echo "✅ Конфигурация сохранена в docs/vpn/RuVPN.conf"
echo ""
echo "═══════════════════════════════════════════"
echo "📱 ГОТОВО! Импортируйте файл на телефон:"
echo "═══════════════════════════════════════════"
echo ""
cat docs/vpn/RuVPN.conf
echo ""
echo "🎉 Всё готово! Подключайтесь через WireGuard!"
else
echo ""
echo "⚠️ Не удалось скопировать конфигурацию"
fi