#!/bin/bash
# cert-port-open.sh — pre-hook certbot renew (очищенная версия для блога)
# Открывает порт 80 на роутере (DNAT) и останавливает nginx на сервере,
# чтобы standalone-аутентификатор certbot смог поднять свой сервер на :80.
#
# Настройте алиас "router" в ~/.ssh/config (hostname, user, IdentityFile),
# чтобы этот скрипт не содержал ни IP, ни путей к ключам.
set -u

ROUTER_HOST="router"            # алиас из ~/.ssh/config
FW_RULE="firewall.<cfg-id>"     # uci-ид правила DNAT, напр. firewall.cfg103837

# 1. Освобождаем :80 на сервере
if systemctl is-active --quiet nginx; then
    systemctl stop nginx
fi

# 2. Открываем порт 80 на роутере (enabled=1 => правило включено)
ssh -o StrictHostKeyChecking=no -o BatchMode=yes "$ROUTER_HOST" "
    uci set ${FW_RULE}.enabled=1
    uci commit firewall
    fw4 reload
" >/dev/null 2>&1

exit 0
