В современном цифровом мире обеспечение конфиденциальности и безопасности наших сетей стало критически важным.
AdGuard Home — мощное средство защиты приватности и блокировки рекламы на уровне всей сети — завоевало популярность благодаря своей эффективности в достижении этих целей.
Однако управление несколькими экземплярами AdGuard Home на разных устройствах в домашней лаборатории может оказаться утомительным процессом. В этой статье я расскажу, как решил эту проблему, применяя инструмент синхронизации AdGuard Home, упрощающий процесс синхронизации и обеспечивающий единообразие фильтрации и конфигурации на всех устройствах.
Adguardhome-sync — полезное средство, доступное на GitHub, которое облегчает синхронизацию конфигураций, белых списков и списков блокировки между несколькими инстансами AdGuard Home.
Путём автоматизации синхронизации пользователи могут поддерживать единые настройки и предпочтения на всей своей сети без особых усилий.
Предположим, что у вас уже установлены два (или больше) экземпляра AdGuard Home.
Вы можете следовать одному из вариантов, представленных в репозитории adguardhome-sync, однако здесь мы рассмотрим установку синхронизации с использованием Docker в среде Proxmox, когда один экземпляр AdGuard Home размещается в Home Assistant, а второй — в контейнере Docker.
Создайте директорию /docker/adguard-sync
и поместите туда файл adguardhome-sync.yaml
, заполнив его следующим содержанием, скорректировав при необходимости:
cron: '*/10 * * * *'
runOnStart: true
continueOnError: true
origin:
url: '{ORIGIN_ADGUARD_HOME_INSTANCE_URL}'
insecureSkipVerify: true
username: '{ORIGIN_ADGUARD_HOME_INSTANCE_USERNAME}'
password: '{ORIGIN_ADGUARD_HOME_INSTANCE_PASSWORD}'
replicas:
- url: '{REPLICA_ADGUARD_HOME_INSTANCE_URL}'
username: '{REPLICA_ADGUARD_HOME_INSTANCE_USERNAME}'
password: '{REPLICA_ADGUARD_HOME_INSTANCE_PASSWORD}'
api:
port: 8080
username: '{ADGUARD_HOME_SYNC_CONTROL_PANEL_USERNAME}'
password: '{ADGUARD_HOME_SYNC_CONTROL_PANEL_PASSWORD}'
darkMode: true
features:
generalSettings: true
queryLogConfig: true
statsConfig: true
clientSettings: true
services: true
filters: true
dhcp:
serverConfig: true
staticLeases: true
dns:
serverConfig: true
accessLists: true
rewrites: true
Запустите контейнер Docker следующей командой:
Откройте браузер и перейдите по адресу http://<адрес-контейнера>
, чтобы посмотреть интерфейс управления AdGuard Home sync.
Большинство настроек YAML-файла интуитивно понятны. Стоит обратить внимание, что вы можете добавить более одного резервного экземпляра и отключить веб-интерфейс AdGuard Home sync, если он вам не нужен. Рекомендую ознакомиться с документом README для получения дополнительной информации.
Чтобы разрешить доступ к экземпляру AdGuard Home, расположенному в Home Assistant, выполните следующие шаги:
{ORIGIN_ADGUARD_HOME_INSTANCE_USERNAME}
— Имя пользователя, используемое для доступа к вашему экземпляру AdGuard Home.{ORIGIN_ADGUARD_HOME_INSTANCE_URL}
— Локальный адрес вашего экземпляра Home Assistant.
Спасибо @brunty.me за предоставленные советы!
Параметры запуска контейнера Docker:
docker run -d
→ Запуск Docker в режиме демона.-p 80:8080
→ Открытие порта 80 хоста для порта 8080 контейнера Docker, чтобы веб-интерфейс AdGuard Home sync стал доступен.-v /docker/adguard-sync/adguardhome-sync.yaml:/config/adguardhome-sync.yaml
→ Предоставление файла конфигурации/docker/adguard-sync/adguardhome-sync.yaml
хост-машины в качестве/config/adguardhome-sync.yaml
в контейнере Docker.--restart always
→ Всегда автоматически перезапускайте контейнер.--name=adguardhome-sync
→ Название, присваиваемое контейнеру.ghcr.io/bakito/adguardhome-sync:latest
→ Образ Docker, используемый для создания контейнера.
Контейнер Docker будет автоматически перезапущен в случае сбоя или перезагрузки благодаря опции --restart always
.
Чтобы остановить и снова запустить контейнер вручную, используйте команды docker stop adguardhome-sync
и docker restart adguardhome-sync
.
cм. также: