diff --git a/README.md b/README.md index fbdaeb6..8b5d205 100644 --- a/README.md +++ b/README.md @@ -15,26 +15,94 @@ ## Быстрая установка -Сначала создайте две A-записи, указывающие на IP нового VPS: +### Шаг 1. Придумайте два поддомена + +Нужны не два новых платных домена, а два бесплатных поддомена внутри уже +приобретённого домена: + +- `dns` — адрес, который затем указывается в роутере как DoH; +- `node` — HTTPS-адрес панели управления AdGuard Home. + +Например, для домена `chardwork.ru` получатся: ```text -dns.example.com -> VPS_IP -node.example.com -> VPS_IP +https://dns.chardwork.ru/dns-query — адрес DNS-over-HTTPS +https://node.chardwork.ru — панель управления ``` -Затем выполните одну команду: +Имена можно выбрать другие, например `resolver` и `control`. Они должны быть +разными. + +> `dns.chardwork.ru` и `node.chardwork.ru` уже используются действующим +> сервером. Для проверки установщика на другом VPS используйте, например, +> `dns2.chardwork.ru` и `node2.chardwork.ru`. Одно имя нельзя одновременно +> направить на два разных VPS обычной A-записью. + +### Шаг 2. Создайте записи в Beget + +1. Узнайте публичный IPv4 нового VPS в панели хостинга или командой + `curl -4 https://api.ipify.org` на самом VPS. +2. Откройте Beget → **Домены и поддомены** → выберите нужный домен → + **DNS / Управление DNS-записями**. +3. Добавьте две записи типа `A`. Для тестового VPS с адресом `203.0.113.10` + заполнение выглядит так: + +| Тип | Имя/хост в форме Beget | Значение/IP | TTL | +|---|---|---|---| +| `A` | `dns2` | `203.0.113.10` | `300` или по умолчанию | +| `A` | `node2` | `203.0.113.10` | `300` или по умолчанию | + +В поле имени обычно вводится только `dns2` или `node2`: Beget сам добавляет +`.chardwork.ru`. Если интерфейс показывает поле полного имени, укажите +`dns2.chardwork.ru` и `node2.chardwork.ru`. + +Не создавайте `CNAME` и не добавляйте `http://`, `https://`, порт или путь +`/dns-query` в DNS-запись. Там должны быть только имя и IPv4. + +Проверьте записи с компьютера: + +```powershell +Resolve-DnsName dns2.chardwork.ru -Type A +Resolve-DnsName node2.chardwork.ru -Type A +``` + +Или с Linux/VPS: + +```bash +getent ahostsv4 dns2.chardwork.ru +getent ahostsv4 node2.chardwork.ru +``` + +Оба имени должны вернуть IP нового VPS. Распространение записей обычно занимает +несколько минут, иногда дольше из-за DNS-кэша. + +### Шаг 3. Запустите установщик + +Подключитесь к новому VPS по SSH и выполните: ```bash curl -fsSL https://git.chardb.ru/VPS/adguard-doh-installer/raw/branch/main/install.sh | sudo bash ``` -Скрипт спросит оба домена и пароль администратора. Пароль не попадает в историю shell. Если оставить его пустым, будет создан случайный пароль и показан один раз. +На вопросы скрипта для приведённого примера ответьте: + +```text +DoH domain: dns2.chardwork.ru +Admin domain: node2.chardwork.ru +``` + +Затем задайте пароль администратора. Пароль не попадает в историю shell. Если +оставить его пустым, будет создан случайный пароль и показан один раз. + +Скрипт не входит в Beget и не создаёт DNS-записи сам: он только проверяет, что +вы заранее направили оба имени на этот VPS. Это сделано намеренно, чтобы +установщик не требовал API-ключ от аккаунта регистратора. Неинтерактивный запуск: ```bash curl -fsSL https://git.chardb.ru/VPS/adguard-doh-installer/raw/branch/main/install.sh | \ - sudo bash -s -- --doh-domain dns.example.com --admin-domain node.example.com --email admin@example.com + sudo bash -s -- --doh-domain dns2.chardwork.ru --admin-domain node2.chardwork.ru ``` ## Безопасное поведение