Add basic proxy

This commit is contained in:
2026-01-04 06:56:55 -06:00
parent 65d8337742
commit a6ec3b9cc4
11 changed files with 166 additions and 0 deletions

49
proxy/update_dns.sh Executable file
View File

@@ -0,0 +1,49 @@
#!/bin/bash
# Проверяем наличие необходимых переменных
if [ -z "$DDNS_TOKEN" ] || [ -z "$DDNS_DOMAINS" ]; then
echo "Ошибка: Переменные DDNS_TOKEN или DDNS_DOMAINS не заданы."
exit 1
fi
while true; do
echo "Определяем внешний IPv4..."
CURRENT_IP=$(curl -s https://ifconfig.me)
if [ -z "$CURRENT_IP" ]; then
echo "Не удалось получить IP. Повтор через 30 секунд..."
sleep 30
continue
fi
echo "Ваш IP: $CURRENT_IP. Начинаем обновление доменов..."
ALL_SUCCESS=true
for DOMAIN in $DDNS_DOMAINS; do
echo "Обновляю домен: $DOMAIN"
# Выполняем запрос PUT согласно вашему формату
RESPONSE=$(curl -s -o /dev/null -w "%{http_code}" \
-X 'PUT' "https://cloud.alviy.com/api/v1/ddns/domain/$DOMAIN" \
-H 'accept: application/json' \
-H "Authorization: Bearer $DDNS_TOKEN" \
-H 'Content-Type: application/json' \
-d "{ \"ipv4\": [ \"$CURRENT_IP\" ] }")
if [ "$RESPONSE" == "200" ]; then
echo "Успешно обновлено: $DOMAIN"
else
echo "Ошибка обновления $DOMAIN. Код ответа: $RESPONSE"
ALL_SUCCESS=false
fi
done
if [ "$ALL_SUCCESS" = true ]; then
echo "Все задачи выполнены успешно. Завершаю работу контейнера."
exit 0
else
echo "Некоторые домены не обновились. Повторная попытка через 60 секунд..."
sleep 60
fi
done