Remove a lot of TG domainsm, rewrite scripts
All checks were successful
Deploy DNS Configuration / deploy (push) Successful in 2m15s
All checks were successful
Deploy DNS Configuration / deploy (push) Successful in 2m15s
This commit is contained in:
parent
72bbdc2457
commit
5f0e287b98
5 changed files with 61 additions and 139 deletions
77
Makefile
77
Makefile
|
|
@ -1,46 +1,47 @@
|
|||
# ==========================
|
||||
# Makefile для проекта BBRKN
|
||||
# ==========================
|
||||
# ===============================
|
||||
# Makefile для управления dnsmasq-конфигами
|
||||
# ===============================
|
||||
|
||||
DOMAINS := domains.txt
|
||||
GEN_SCRIPT := ./scripts/generate-configs.sh
|
||||
DEPLOY_SCRIPT := ./scripts/deploy-to-gateway.sh
|
||||
# --- Переменные окружения (с дефолтами для локального запуска) ---
|
||||
IPSET_CONF ?= /tmp/91-ipset-bbrkn.conf
|
||||
RESOLVE_CONF ?= /tmp/92-resolve-bbrkn.conf
|
||||
CHROME_SERVER ?= http://10.100.1.2:3000
|
||||
DOMAINS_FILE ?= domains.txt
|
||||
|
||||
IPSET_CONF := 91-ipset-bbrkn.conf
|
||||
RESOLVE_CONF := 92-resolve-bbrkn.conf
|
||||
# Экспортируем переменные, чтобы они были доступны внутри shell-скриптов
|
||||
export IPSET_CONF RESOLVE_CONF CHROME_SERVER DOMAINS_FILE
|
||||
|
||||
# Генерация конфигов
|
||||
generate:
|
||||
@echo ">>> Генерация конфигурационных файлов из $(DOMAINS)"
|
||||
$(GEN_SCRIPT)
|
||||
# --- Основные цели ---
|
||||
.PHONY: all clean check generate deploy
|
||||
|
||||
# Тестовый прогон (генерация + просмотр кусков файлов, но без деплоя)
|
||||
test: generate
|
||||
@echo ">>> Тестовый прогон (без деплоя)"
|
||||
@echo "--- IPSET CONFIG ($(IPSET_CONF)) ---"
|
||||
@head -n 10 $(IPSET_CONF) || true
|
||||
@echo "... (всего $$(wc -l < $(IPSET_CONF)) строк)"
|
||||
@echo
|
||||
@echo "--- RESOLVE CONFIG ($(RESOLVE_CONF)) ---"
|
||||
@head -n 10 $(RESOLVE_CONF) || true
|
||||
@echo "... (всего $$(wc -l < $(RESOLVE_CONF)) строк)"
|
||||
all: generate deploy
|
||||
@echo "✅ Конфиги успешно сгенерированы и задеплоены"
|
||||
|
||||
# Проверка: только сводка из generate-configs.sh
|
||||
check:
|
||||
@echo ">>> Проверка списка доменов (без генерации файлов)"
|
||||
$(GEN_SCRIPT) --dry-run
|
||||
|
||||
# Деплой на шлюз (Pi-hole)
|
||||
deploy: generate
|
||||
@echo ">>> Деплой на шлюз"
|
||||
$(DEPLOY_SCRIPT)
|
||||
|
||||
# Полный цикл: генерация + деплой
|
||||
all: deploy
|
||||
|
||||
# Уборка временных файлов
|
||||
clean:
|
||||
@echo ">>> Удаление временных файлов"
|
||||
@echo "🧹 Очистка временных файлов"
|
||||
@rm -f $(IPSET_CONF) $(RESOLVE_CONF)
|
||||
|
||||
.PHONY: generate test check deploy all clean
|
||||
check:
|
||||
@echo "🔍 Проверка файла доменов ($(DOMAINS_FILE))"
|
||||
@if [ ! -f "$(DOMAINS_FILE)" ]; then \
|
||||
echo "Ошибка: файл $(DOMAINS_FILE) не найден"; \
|
||||
exit 1; \
|
||||
fi
|
||||
@grep -v '^#' $(DOMAINS_FILE) | grep -v '^$$' | while read domain; do \
|
||||
if ! echo "$$domain" | grep -qE '^[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$$'; then \
|
||||
echo "Ошибка: Неверный формат домена: $$domain"; \
|
||||
exit 1; \
|
||||
fi \
|
||||
done
|
||||
@echo "✔ Файл доменов прошёл проверку"
|
||||
|
||||
generate:
|
||||
@echo "⚙ Генерация dnsmasq-конфигов"
|
||||
@chmod +x scripts/generate-configs.sh
|
||||
@./scripts/generate-configs.sh
|
||||
|
||||
deploy:
|
||||
@echo "🚀 Деплой конфигов в систему"
|
||||
@chmod +x scripts/deploy-to-gateway.sh
|
||||
@./scripts/deploy-to-gateway.sh
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue