vpsFocus
English Войти Создать аккаунт

Документация

Три раздела: поставить приложение, подключить первый сервер, разобраться, если что-то пошло не так.

Установка приложения

Приложение работает на вашей машине — Windows, macOS или Linux. Это не облачный сервис: список серверов хранится у вас на диске, а ключи и пароли — в защищённом хранилище операционной системы.

  1. Скачайте установщик со страницы загрузки.
  2. Запустите его. Установщики пока не подписаны сертификатом разработчика, поэтому Windows покажет предупреждение SmartScreen, а macOS — Gatekeeper. Что нажимать, написано на странице загрузки.
  3. Откройте приложение. Добавить сервер и проверить его готовность можно сразу, без регистрации.
  4. Установите мониторинг. Аккаунт для этого не нужен: установочные файлы доступны всем, ограничения по числу серверов и сайтов нет ни на одном тарифе, и всё бесплатное работает без регистрации.
  5. Аккаунт понадобится только для функций, которые не могут работать без серверов vpsFocus, — сегодня это внешние проверки сайтов и «Задачи». Зарегистрироваться можно на сайте или прямо в приложении, а затем подтвердить адрес по ссылке из письма: пока он не подтверждён, платные функции недоступны — на этот адрес приходят сообщения о сбоях.

Подключение сервера

Что нужно от сервера

  • VPS с Linux на systemd — проверялось на Debian и Ubuntu.
  • Доступ по SSH: пользователь root либо пользователь с sudo без пароля. Установка идёт без участия человека и на запросе пароля просто повиснет.
  • Один свободный порт — какой именно, выберет установка. Занятые 80 и 443 не помеха: мониторинг их не занимает и работает рядом с вашим веб-сервером. Порт выбирается из списка, совместимого с Cloudflare, и входит в код аналитики на сайте.
  • Около 2 ГБ свободного места и 1 ГБ памяти. Docker поставит сам установщик, если его нет.
  • Домен или поддомен для панели аналитики. Если 80 и 443 свободны, достаточно A-записи, указывающей на этот сервер. Если заняты, сертификат выпускается через DNS-01: понадобится либо API-доступ к вашему DNS (Cloudflare, Route 53, DigitalOcean), либо одна запись CNAME на запасной сервер vpsFocus — приложение подскажет, какую.

Порядок действий

  1. Добавьте сервер. Адрес, порт, пользователь и способ входа: приватный ключ (ed25519, RSA, ECDSA в формате OpenSSH, можно с парольной фразой) или пароль. Ключи в формате PuTTY .ppk не поддерживаются — сконвертируйте его в PuTTYgen через Conversions → Export OpenSSH key. Сначала приложение только проверяет вход и ничего не записывает на диск; при первом подключении оно запоминает отпечаток ключа сервера и дальше его сверяет.
  2. Откройте «Подготовку и установку» — дальше ведёт одна карточка. В ней четыре раздела: подключение, проверка, установка и запуск, проценты и одна строка того, что приложение делает прямо сейчас.
  3. Проверка идёт сама. Приложение скачивает установочные файлы (аккаунт не нужен, устаревшие заменяются сами), определяет адрес сервера и смотрит, что на сервере: занятые порты, Docker, файрвол, память и место, сайты в настройках веб-сервера и уже выпущенные сертификаты. Проверка не оставляет на сервере ни одного файла: скрипт передаётся по соединению и на диск не записывается. Находки показываются по одной, только то, что посчитано; блокирующие пункты (sudo с паролем, мёртвый демон Docker, нехватка места) придётся исправить, занятые 80 и 443 к ним не относятся — мониторинг встанет на другой порт. Весь отчёт проверки — под «Все результаты проверки».
  4. Ответьте на три вопроса. Адрес статистики — приложение подставит поддомен найденного сайта. Записи у регистратора — A на адрес сервера и, если 443 занят и API к вашему DNS нет, CNAME для подтверждения сертификата; приложение проверяет их само, раз в 10 секунд, и ждать их не обязательно: сертификат выпустится сам, когда записи разойдутся. Если на сервере нашёлся сертификат на этот адрес, его можно взять. И галочка файрвола — разрешить ли правило для выбранного порта; это единственное изменение за пределами папки мониторинга и Docker, и откат установки его снимает. Почта для сертификата, порт и свой сертификат — в «Дополнительно».
  5. Установите мониторинг. Приложение сгенерирует пароли (Postgres, ключ подписи сессий и пароль администратора панели аналитики), сохранит их в защищённом хранилище вашей ОС и запустит на сервере три контейнера: Umami, Postgres и Caddy. С экрана можно уйти — установка идёт на сервере, а ход виден в карточке и в маленькой карточке, когда вернётесь. Если что-то не так, карточка скажет, что случилось и что сделать, а установка откатит себя сама.

Всё, что приложение делает на сервере, можно прочитать до установки. Скрипты, установочные файлы и исходный код мониторинга открыты, к каждому скрипту — строка в описи: когда запускается, что читает, что меняет. Каждая версия подписана, и проверить, что поставилось то же самое, можно одной командой. Что ставится на ваш сервер.

Начните с некритичного сайта. Мониторинг ставится на ваш рабочий сервер. Он полностью изолирован — своя сеть Docker, свои тома, веб-сервер сайта не затрагивается, — но в первый раз разумнее попробовать там, где ошибка обойдётся недорого.

Если связь оборвётся посреди установки, она всё равно дойдёт до конца на сервере. Приложение покажет, чем всё закончилось, когда вы вернётесь на экран сервера. А если установка завершится ошибкой, все изменения отменятся и сервер вернётся в исходное состояние — вместе с удалением Docker, если его поставила установка.

Главный экран «Проекты»

Одна страница по всем серверам и сайтам: что сломано, где и насколько. Данные приложение получает при открытии экрана и по кнопке «Обновить» — по одному заходу на сервер, не больше шести серверов разом; сами по себе, по таймеру, они не перечитываются. У каждого раздела видно, когда получены данные. Сервер, который не ответил, остаётся на экране серым с причиной — «нет данных» не выдаётся за «всё в порядке».

  • Обзор состояния — сколько сайтов и в каком они состоянии, сколько серверов на связи, ближайший срок, посетители за 24 часа и схема «серверы → сайты → результаты проверок». Каждая лента — одно замечание: «сайт недоступен», «скоро истекает срок», «битые ссылки», «средняя скорость». Оценку ставит мониторинг на сервере, приложение только раскладывает. У сервера больше восьми сайтов — сайты без замечаний собраны в один узел, он раскрывается нажатием.
  • Серверы — состояние сервера отдельно от его сайтов: заполненный диск — одна строка у сервера, а не красные сайты. Здесь же версия мониторинга и доступное обновление. Нажатие на сервер оставляет в «Сайтах» только его сайты.
  • Сайты — сначала сайты с проблемами; справа — подробности выбранного: замечания, скорость, SEO, ссылки, сроки и переходы на нужные экраны.
  • Сроки на ближайшие 90 дней — домены, сертификаты, тариф и ваши записи из календаря.
  • Показатели сайтов — скорость (оценка Google для мобильных), SEO, битые ссылки и внешняя проверка доступности на общих шкалах.
  • Ресурсы серверов — процессор, память и диск с порогом уведомления, рост диска за 24 часа, время без перезагрузки, контейнеры и упавшие службы. Контейнеры и службы приложение узнаёт по SSH, только читая; на сервере ничего не остаётся.
  • Посетители — за 24 часа, 7 или 30 дней: посетители, просмотры, отказы и среднее время по проектам, с переходом на аналитику сайта. Запросы роботов поиска и ИИ показаны отдельно: это запросы из логов, а не визиты.
  • Хроника за сутки, резервные копии и проверка безопасности, каналы уведомлений — так, как их видит мониторинг на каждом сервере. Итог проверки безопасности нигде не сохраняется: после перезапуска приложения её надо запустить снова.

Вкладка «Что требует внимания» раскладывает те же находки по приоритету: «Срочно», «В ближайшие дни» (есть срок или рост — сертификат, диск, копия, ошибки), «Улучшения» (скорость, SEO, ссылки, аналитика) и «Нет данных» (проверка не состоялась). Одинаковая находка на нескольких сайтах — один пункт; «Игнорировать» у него сначала покажет, на каких сайтах она будет приглушена. «Карта находок» — серверы × области проверки. «Динамика за неделю» — числа находок по дням: их раз в день записывает само приложение у вас на компьютере, только числа, без доменов и имён серверов, на наш сервер они не уходят. День, когда приложение не открывали, показан как «нет данных», а не нулём.

Сайты и аналитика

  1. Нажмите «Найти сайты», если на сервере уже работает веб-сервер: приложение найдёт домены в его настройках и среди сертификатов. На сервере при этом ничего не меняется и не перезапускается. Список остаётся на вашем компьютере.
  2. Добавьте сайт на сервере: домен и название. Ограничения по числу сайтов нет ни на одном тарифе, а домен передаётся на серверы vpsFocus, только когда вы подключаете сайт к платной функции.
  3. Скопируйте код аналитики и вставьте его в <head> сайта. Данные посетителей будут собираться на вашем сервере.
  4. Аналитика сайта открывается в приложении, а посетители всех сайтов за 24 часа, 7 или 30 дней — разделом «Посетители» на главном экране «Проекты». У сайта семь разделов: обзор, источники с каналами, метками UTM и отдельным блоком «Из ИИ-сервисов» — люди, пришедшие по ссылке из ответа ChatGPT, Perplexity, Claude и других, страницы с входами и выходами, посетители (карта мира по странам, страны, города, устройства, браузеры и «когда приходят» по дням недели и часам), действия посетителей, поведение (возвраты, частые пути, воронки) и визиты — с порядком страниц каждого и живым потоком, у которого своя карта: страны, откуда был визит за последние минуты, вспыхивают. Карта нарисована внутри приложения — ни к какому сервису карт оно не обращается. Клик по строке любой таблицы ставит фильтр на весь экран. Панель аналитики наружу не смотрит: приложение ходит к ней через SSH-туннель, и локальный порт наружу тоже не отдаётся.
  5. На вкладке сайта «Данные» добавьте read-only SQL-запрос к его базе — на самом сервере или в контейнере Docker по имени; MySQL, MariaDB, PostgreSQL или SQLite. Запрос идёт тем же туннелем и становится карточкой: числом, короткой фразой или небольшой таблицей, любого размера и в любом порядке. Подключению нужен пользователь только с правом SELECT — готовый GRANT покажет сам экран, а суперпользователя он не пустит вовсе. Ответ остаётся на этом экране: он не сохраняется на диск и никуда не передаётся.
  6. На экране «Каналы уведомлений» выберите, куда писать: почта, Telegram, Slack, Discord или свой адрес (вебхук) — хватит одного, а настроите несколько, сообщение уйдёт во все. Для Slack и Discord нужен только адрес «входящего вебхука»: экран по шагам говорит, где его взять. Для почты нужен ящик, через который сервер будет отправлять письма: кнопки Gmail и Resend вписывают сервер и порт, а шаги рядом объясняют, где взять пароль приложения. Если письма не уходят, возможно, хостер сервера закрыл почтовые порты — об этом спрашивают его поддержку. Свой адрес принимается только с https:// и только из интернета — на сам сервер и в его внутреннюю сеть мониторинг по нему не пойдёт. Уведомления отправляет мониторинг на вашем сервере, поэтому они приходят, даже когда приложение закрыто. В каждом блоке есть кнопка «Отправить проверочное» — она проверяет именно этот канал.
  7. На экране «Уведомления» задайте, о чём и когда писать: пороги, язык сообщений, недельный отчёт. Настройки общие для всех серверов; если писать должен не каждый, снимите галочку у лишних в блоке «Какие серверы присылают уведомления» — такой сервер продолжит следить, но замолчит.
  8. Чтобы ночью не будили по пустякам, включите там же «Тихие часы»: с какого часа и до какого, по часовому поясу вашего компьютера. Ночью сразу придёт только то, что ломает сайт сейчас: ключевой адрес не отвечает, много ошибок сервера, кончается место на диске, копия базы не сделалась, сертификат или домен истекает сегодня — и сообщение, что проблема устранена. Остальное (срок скоро истекает, копия стала меньше, сертификат или домен снова в порядке) придёт утром. Письма о доступности с нашего сервера тихих часов не слушают.

Чем аналитика отличается от Google Analytics

Аналитика работает целиком на вашем сервере и не использует cookies. Данные посетителей никуда не передаются, а скрипт весит пару килобайт и не замедляет сайт. Поэтому некоторых отчётов, привычных по Google Analytics, здесь нет.

  • Нет пола, возраста и интересов. Пол, возраст и интересы Google определяет, отслеживая человека по всему интернету через свои аккаунты и рекламные сети. Аналитика на вашем сервере таких сведений не собирает.
  • Нет поисковых фраз. Поисковики не сообщают сайту, по какой фразе пришёл посетитель, — Google Analytics их тоже не получает. Видно, из какого поисковика пришёл человек, а сами фразы бесплатно показывает Google Search Console.
  • Нет вебвизора и тепловых карт. Запись движений мыши создаёт большой поток данных и фиксирует поведение конкретного человека. Вместо этого есть раздел «Визиты»: какие страницы человек открыл и в каком порядке.
  • Люди считаются приблизительно. Без cookies посетитель определяется по браузеру и адресу. Если человек зашёл с телефона и с компьютера, это два посетителя. Первого числа каждого месяца счёт начинается заново, поэтому за период длиннее месяца посетителей получается чуть больше, чем людей.
  • Нет связи с рекламой. Google Ads принимает конверсии только от своего счётчика. Если нужны автоматические стратегии, поставьте его рядом — счётчик vpsFocus ему не мешает.
  • Нет истории до установки. Данные собираются с момента, когда код аналитики появился на сайте. Перенести историю из Google Analytics нельзя.
  • Часть посетителей не видна. Некоторые блокировщики рекламы скрывают счётчики, в том числе этот. Это случается реже, чем с Google Analytics, потому что скрипт загружается с вашего домена.

Нажатия кнопок сами не считаются: добавьте кнопке атрибут data-umami-event="Регистрация", и каждое нажатие появится в разделе «Действия». Готовый текст для нейросети, которой сделан сайт, — там же.

Мониторинг следит за диском, памятью и процессором сервера, за сроками доменов и сертификатов. Тревогу он поднимает только из-за того, что само не пройдёт: заканчивается место на диске или лимит файлов (бывает, что место есть, а новый файл не создаётся — обычно из-за папки с множеством мелких файлов), истекает сертификат или домен. Считается корневой раздел сервера.

На экране «Здоровье сервера» приложение ещё спрашивает сервер по SSH, какие службы упали и сколько памяти и процессора занимает каждый контейнер Docker (процессор — текущий замер). Это только чтение, на сервере не остаётся ни одного файла, и тревог по этим данным нет: истории у них нет. Часть служб падает безвредно (например, cloud-init) — экран так и говорит.

Внешние проверки и сторож задач

Они идут с серверов vpsFocus, а не с вашего: так сбой заметен, даже если ваш сервер выключился целиком. Поэтому они и платные — серверы для них нужно оплачивать. Тариф считает проверки, а не сайты: у сайта их может быть несколько — главная, /api/health, страница входа. Ограничения по числу сайтов и серверов нет ни на одном тарифе.

У каждой проверки есть профиль — те же варианты, что у ключевых адресов в «Диагностике»:

  • Страница — адрес отвечает кодом меньше четырёхсотого.
  • Текст — в ответе есть названная вами строка. Регистр важен: искать надо ровно так, как написано на странице.
  • JSON — ответ разобрался как JSON и названное поле не пусто. Само значение не сравнивается: иначе меняющийся счётчик поднимал бы ложную тревогу.
  • Перенаправление — адрес перенаправляет, и тем кодом, которого вы ждёте. Куда именно — снаружи не проверяется, и экран говорит об этом прямо. Адрес назначения сверяет проверка ключевых адресов на самом сервере.
  • Порт — порт на домене принимает соединения: почта (25, 465, 587, 993), SSH (22), игровой сервер, своя служба. Проверяется только соединение, без кода ответа и без срока сертификата. Порт базы данных снаружи проверять не стоит: проверка пройдёт, только если база открыта в интернет, — экран об этом предупредит.
  • DNS — домен разрешается в закреплённые вами адреса. Этот профиль есть только у внешней проверки: изнутри сервера такую подмену не увидеть. Тревога — после трёх неудачных проверок подряд: изменения DNS расходятся не мгновенно.

Внешняя проверка не передаёт заголовков и ключей доступа — они остаются только у вас. Страницы, закрытые паролем, проверяет мониторинг на вашем сервере (ключевые адреса в «Диагностике»): там заголовки есть, и хранятся они в файле, который читает только мониторинг.

Порт на сервере — бесплатно и изнутри. За базой данных, Redis или другой службой, которая не должна быть видна из интернета, следит мониторинг на самом сервере: в «Диагностике» у ключевого адреса есть вид «Порт на сервере». Мониторинг смотрит список портов сервера — занят ли порт службой — и пишет, когда служба пропала и когда вернулась. Заодно экран говорит, где служба слушает: «только этот сервер» или «принимает соединения из сети». Занятый порт значит, что служба запущена, но не то, что она отвечает правильно; служба в контейнере без опубликованного порта отсюда не видна. Нужен мониторинг версии 0.30.0 или новее, аккаунт не нужен.

Сторож задач следит за тем, что не отвечает вовсе, — за ночным бэкапом, синхронизацией, выгрузкой. После каждого запуска задача отправляет короткий сигнал на свой секретный адрес; вы указываете, как часто она запускается и на сколько может опоздать, а если сигнал не пришёл вовремя, приходит письмо. Приложение даёт готовую строку и показывает, куда её дописать. Расписание задаётся периодом и запасом на опоздание, а не выражением cron. «Задача сообщила об ошибке» и «сигнала нет» — разные сообщения: в первом случае смотрите журнал задачи, во втором — cron. Задача, которая не прислала ни одного сигнала, тоже считается пропавшей. Учтите: любой, кто знает адрес, может отправить на него сигнал «выполнена».

Режим «идут работы». Перед обновлением сервера включите его: он отключает письма, а не проверки. Сбой всё равно записывается и виден на экране. Если сбой продолжается и после окончания работ, письмо придёт; если закончился во время работ — нет.

Упал сервер — одно письмо. Когда разом перестают отвечать несколько сайтов одного сервера, приходит одно письмо со списком сайтов, а не письмо на каждый. Для этого письмо о сбое ждёт соседей пять минут — один интервал проверки. Сайт, поднявшийся за эти минуты, в письмо не попадает. Сертификаты, DNS и сторож задач пишут сразу, как раньше. Имени сервера в письме нет: оно хранится только в вашем приложении.

Почему сайт лежал. У каждого сбоя на экране «Доступность» есть кнопка «Показать сервер»: что было на сервере в тот час — замеры, ошибки веб-сервера, перезагрузки, деплои. Сверху — коротко, что было рядом по времени: «сервер не отвечал целиком», «за 7 минут до сбоя был деплой», «мониторинг предупреждал, что кончается место на диске». Это совпадения по времени, а не точная причина, и время считается от момента, когда проверка заметила сбой: она замечает его после трёх неудач подряд, примерно через 10–15 минут после начала.

Проверить с сервера. Пока проверка говорит «не отвечает», под ней есть кнопка «Проверить с сервера»: приложение просит мониторинг открыть ключевые адреса сайта с самого сервера и читает журнал веб-сервера за 15 минут. Открывается изнутри — сайт работает, а снаружи до него не доходят: сеть, файрвол или DNS. Не открывается и изнутри — беда на сервере. Не отвечает и приложению — сервер выключен или недоступен целиком. Для сверки нужны ключевые адреса (экран «Диагностика»); без них приложение так и скажет. Сверка идёт только с вашего компьютера: у серверов vpsFocus доступа к мониторингу на вашем сервере нет.

Контейнеры сервера. На разборе сбоя и на экране «Диагностика» есть кнопка «Проверить контейнеры»: приложение по SSH спрашивает у Docker, какие контейнеры есть на сервере, когда каждый запущен, сколько раз перезапускался и не остановила ли его нехватка памяти. Нажали на разборе сбоя — подсказки сверху добавят «контейнер запускался рядом со сбоем». Только чтение: на сервере не остаётся ни файла, список никуда не уходит. У самого мониторинга доступа к Docker нет — так безопаснее для сервера.

Страница состояния

Открытая страница по адресу https://vpsfocus.xyz/status/<имя>: работают ли ваши сайты сейчас и как работали последние 90 дней. Дайте ссылку клиентам или посетителям — вопросов «у вас всё работает?» станет меньше. Страница строится по внешним проверкам доступности, поэтому она в платном тарифе. Настраивается в приложении: «Все серверы» → «Страница состояния».

  • Что видно на странице: название, которое вы дали; у каждого сайта — имя, которое вы дали, состояние сейчас («работает», «не отвечает», «идут работы до 15:00», «не проверяется») и полоса за 90 дней; процент доступности; время обновления. Страница обновляется сама раз в минуту.
  • Чего на странице нет никогда: адресов и путей ваших проверок, проверок портов и DNS (они подсказали бы, как устроен сервер), текста заметки к работам, нашего меню и cookie.
  • Сначала подтвердите, что домен ваш — без этого страницу не создать. Приложение покажет запись TXT — её добавляют у регистратора домена или там, где настроен DNS. Многие панели просят только начало имени — _vpsfocus — и сами дописывают домен; если ввести имя полностью, выйдет лишнее _vpsfocus.example.com.example.com. Новая запись видна не сразу: если «Проверить» её не нашло, подождите 5–10 минут. Если домен подключён в «Почте домена» через Cloudflare, приложение добавит запись само — после того как покажет, что именно запишет.
  • Не удаляйте запись после проверки. Раз в неделю мы проверяем, что домен всё ещё ваш. Пропала запись — придёт письмо, и через 7 дней страница перестанет показывать сайты этого домена; вернёте запись — покажет снова. Срок появится и в календаре приложения.
  • Процент — это не гарантия доступности. Он считается только по времени, когда сайт проверяли, без окон работ. Серое на полосе значит «vpsFocus этот сайт не проверял» — например, проверку ставили на паузу. Если страница не открывается совсем, сбой у нас, а не у вашего сайта.
  • Тариф закончился — страница отвечает «приостановлена», а не пропадает; вернётся тариф — вернётся и она. Удалённая или переименованная страница освобождает адрес не сразу: 90 дней он ведёт на новый адрес или остаётся за вами.
  • Поисковики страницу не индексируют: это ваша страница, а не наша, и в выдаче под нашим доменом ей не место.
  • Чужое выдавать за своё нельзя. Страницу, которая выдаёт себя за другую организацию, мы снимаем — на ней появится «страница снята», а в приложении — причина. Пока страница снята, её нельзя удалить, а новые страницы и правки недоступны. На каждой странице есть ссылка «Сообщить о нарушении».

Почта домена

У домена сайта появляется вкладка «Почта». Она включает переадресацию почты Cloudflare Email Routing для этого домена и позволяет заводить адреса — например, support@, — пересылающие на уже существующий ящик. Это бесплатно и не требует аккаунта vpsFocus: приложение обращается к Cloudflare напрямую, ключом, который остаётся на этом компьютере, а почта идёт от Cloudflare прямо в выбранный ящик, минуя серверы vpsFocus.

Домен должен быть делегирован на серверы имён Cloudflare, а его DNS должен обслуживать Cloudflare целиком — частичное подключение (только через CNAME) не поддерживает Email Routing. Почта принадлежит домену, а не сайту и не серверу: удаление того или другого из приложения её не касается, а shop.example.com и example.com делят одну и ту же почту, потому что делят один и тот же домен.

Сначала — домен в Cloudflare

Почта настраивается только для домена, который уже подключён к Cloudflare. Если домена там ещё нет, начните с него: в разделе «Почта домена» приложения нажмите «Добавить домен в Cloudflare», затем «Connect a domain» и пропишите у регистратора серверы имён, которые покажет Cloudflare. Домен становится активным от получаса до суток — Cloudflare пришлёт письмо. Ключ создавайте после этого.

Как создать ключ

В приложении откройте раздел «Почта домена» (меню «Все серверы» → «Настройки») и нажмите «Создать ключ в Cloudflare». Откроется страница создания токена в Cloudflare, где всё уже заполнено, — менять там ничего не нужно: нажмите внизу «Continue to summary», затем «Create Token», скопируйте ключ кнопкой «Copy» и вставьте его в приложение. Ключ хранится только в защищённом хранилище этого компьютера и на серверы vpsFocus не передаётся. Если в одном аккаунте Cloudflare домены разных владельцев, учтите: ключ видит адреса пересылки всех доменов аккаунта.

Включение почты на домене

После подключения раздел «Почта домена» показывает все домены аккаунта с состоянием почты: ждёт Cloudflare, почта не включена, работает. Нажмите на домен — откроется его страница: вся работа с почтой — включение, адреса и проверка — в этом одном окне. Сначала приложение читает DNS домена и отвечает одним из трёх способов:

  • Можно включить. Показывает, что добавит Cloudflare; вы подтверждаете, и через минуту-две домен готов.
  • Сначала поправить записи. Обычный случай, если сайт уже отправляет письма — например, подтверждения заказов. Приложение показывает, что изменит: добавит Cloudflare в запись SPF, не ломая её, а старую запись почты (MX), если она есть, удалит. После вашего подтверждения оно делает это само.
  • В домене указан другой почтовый сервер. Если вы получаете на домене почту (Google Workspace, Microsoft 365, свой сервер), приложение ничего не меняет: включение увело бы письма из этих ящиков. Если нет — отметьте это галочкой, и приложение само удалит старую запись.

Заведение адреса — одна форма: имя и куда пересылать. Если на этот ящик ещё не приходила почта через данный аккаунт Cloudflare, Cloudflare пришлёт ему письмо со ссылкой подтверждения — адрес будет помечен «ждёт подтверждения», пока по ней не перейдут, а потом начнёт работать сам.

Под адресами — блок «Проверьте, что почта доходит»: кнопка «Написать тестовое письмо» открывает вашу почтовую программу с готовым письмом на новый адрес. Отправьте его лучше с другого ящика. Приложение не видит ваш ящик и не может само подтвердить доставку: отметка «Работает» значит, что Cloudflare принял настройку, а пришло ли письмо — видно только в ящике.

Перенос почты к другому сервису

Этот перенос приложение не делает само: Email Routing пересылает почту, а не хранит её, поэтому переносить из неё нечего. Чтобы перейти на другой сервис вручную, начните в Cloudflare с раздела Email → Email Routing → Settings: записи MX, SPF и DKIM, которые добавил Email Routing, заблокированы, и страница DNS не даст их изменить, пока вы не выключите там Email Routing для домена или не разблокируете его записи. Затем удалите оставшиеся записи Email Routing, укажите MX нового провайдера и замените в записи SPF include Cloudflare на тот, который он просит. После того как новые записи разойдутся по DNS, проверьте доставку почты на домен и с него ещё раз.

Потеряли этот компьютер? Ключ хранится только в его защищённом хранилище. Отзовите его в панели Cloudflare (My Profile → API Tokens) — у приложения нет отдельного способа его выключить, а поддержка никогда не спросит у вас этот ключ: кроме Cloudflare и приложения на вашей собственной машине, он никому не нужен.

Агенты и ИИ

Раздел сервера «Агенты и ИИ» показывает, кто на самом деле ходит на сайт: поисковики, роботы ИИ-поиска, роботы, которых запускает человек своим вопросом к ИИ, и роботы, собирающие тексты для обучения нейросетей. Аналитика их не видит — она считает только людей с браузером; этот раздел считает по логам веб-сервера. Наверху — ответ, виден ли сайт ИИ: «роботы ИИ приходят», «пока не приходили», «закрыт в robots.txt» или «не знаем».

  • Только счётчики. Мониторинг хранит, какой робот, на какой сайт и сколько раз за сутки. Ни строк логов, ни строк User-agent, ни адресов посетителей он не сохраняет, и счётчики никуда не передаются.
  • «Назвался», а не «был». Подлинность робота не проверяется. Если формат лога не записывает, кто пришёл (поле User-agent), экран говорит «не знаем», а не «не приходили».
  • Визит — не обещание. Что робот сделал с прочитанным, по логам не узнать, и «попадёт в ответы ИИ» экран не обещает. Сайты за Cloudflare видят не всех роботов: часть останавливает Cloudflare.
  • Сканеры показываются числом. Если сайт ответил сканеру «200» на /.env или /.git, экран отправит в «Безопасность» — там проверка скажет, отдаётся ли файл сейчас.
  • Каким роботам сервер отказывает. Если сервер отвечает роботу поиска или ИИ отказом (коды 403, 429, 444) больше чем в половине запросов за неделю, экран так и скажет: «получает отказ: 403, 120 из 140 запросов» — и что это значит, где обычно стоит такое правило (плагин безопасности, правило веб-сервера, ограничитель частоты) и задание для ИИ-помощника. Отказ на robots.txt показывается первым. Сами мы ничего не меняем. Роботам обучения отказ бывает выбором человека — о них только справка.
  • «Робот перестал заходить». Отказ Cloudflare до логов сервера не доходит. Поэтому экран говорит и о постоянном госте, который перестал приходить: был в 5 из 7 дней, а за последние 3 — ни разу. Это считается, только если логи хранятся не меньше 10 дней. Отдельных уведомлений об этом нет — только экран и строка в еженедельном отчёте.
  • Настройки Cloudflare. Если домен подключён в «Почте домена», экран сразу скажет, блокирует ли Cloudflare роботов ИИ (настройка «Block AI bots»). Это только чтение. Ключам, созданным раньше, не хватает права Bot Management Read — экран подскажет заменить ключ; почта со старым ключом работает как прежде.
  • Нагрузка от роботов. Доля роботов в запросах и в трафике за выбранный период, по видам: «роботы — 62% запросов и 80% трафика». Это нагрузка на сам сервер: то, что Cloudflare отдал из кеша, сюда не входит. Если формат лога не пишет размер ответа, доля трафика — «не знаем».
  • Заходы в разделы, закрытые в robots.txt. Мониторинг сверяет адреса, которые запрашивают поисковики и роботы обучения, с правилами robots.txt сайта, прочитанными последней SEO-проверкой: «GPTBot заходит в закрытые разделы: 340 запросов, например /admin/». Роботов, которых запускает человек своим вопросом к ИИ, здесь нет — их компании не обязывают их слушать robots.txt. Имя робота не проверяется. Мы ничего не блокируем: закрыть робота можно правилом Cloudflare или веб-сервера — для этого есть задание для ИИ-помощника.

Не открыт ли сервер

Раздел сервера «Безопасность» простыми словами говорит, что на сервере открыто и чем это грозит: вход по паролю и под root, базы данных, до которых можно достучаться снаружи, порты, которые Docker открывает мимо файрвола, сам файрвол, неустановленные обновления безопасности, ожидание перезагрузки, сколько раз за сутки подбирали пароль, идёт ли точное время, сколько хранятся логи сайта с адресами посетителей, нет ли контейнеров с правами на весь сервер, свежие ли копии сайта (если папка с копиями указана в профиле сайта на экране «Требования к сайту»), и не отдают ли сайты файл .env и папку .git. У каждого пункта — что это значит и как закрыть.

  • Только чтение. Приложение читает настройки по SSH одной сессией; на сервере ничего не меняется и не остаётся ни одного файла — даже списки пакетов не обновляются. Остаются только записи в системном журнале сервера: о входе по SSH, как при любом входе, а если вы входите не под root — ещё и о каждой команде, выполненной через sudo (так sudo устроен). Мониторинг для проверки не нужен: её можно запустить сразу после добавления сервера. После первой удачной установки приложение запускает её само, в той же сессии SSH, и показывает итог под установкой; сайты проверяются по кнопке на экране «Безопасность».
  • Ничего не уезжает. Результат никуда не отправляется и не сохраняется на диск — он на экране, пока открыто приложение. .env и .git приложение спрашивает у ваших сайтов с вашего компьютера, как браузер; содержимое не показывается и не хранится.
  • «Не удалось проверить» — не «в порядке». Без прав администратора (sudo без пароля) часть пунктов недоступна, и экран так и пишет. Зелёного итога «сервер защищён» нет: проверка видит сервер изнутри, и внизу экрана перечислено, чего она не смотрит.

Требования к сайту

Раздел сайта «Требования к сайту» в меню сервера — перечень того, что законы и здравый смысл требуют от сайта: cookies и трекеры до согласия посетителя, Impressum и политика конфиденциальности, доступность, безопасность сайта и сервера. Тот же перечень открыт на этом сайте.

  • Бесплатно и без аккаунта: у каждого пункта — почему это важно, как проверить самому, что дать ИИ и как исправить, и ссылка на норму. Метки по странам (ЕС, Германия, Австрия, Великобритания, Швейцария, США, Калифорния) и темам, профиль сайта — где он работает, продаёт ли онлайн, есть ли формы, рассылка, чат-бот на ИИ, публикации посетителей и своя форма оплаты — убирает лишнее; там же можно указать папку с копиями сайта на сервере. Кроме cookies и страниц, в перечне — магазин (кнопка отказа от договора, правила отказа, кнопка заказа, цены и скидки), отзывы и публикации посетителей, чат-боты на ИИ, отказ от продажи данных в США и скрипты на странице оплаты.
  • Отметки «выполнено» и «не применимо» с комментарием, кто и когда отметил, и полоса прогресса наверху. Хранятся на вашем сервере в /opt/vpsfocus/compliance.json, поэтому команда видит один прогресс; без связи с сервером отметка не сохраняется.
  • Задание для ИИ — у каждого пункта, а кнопка «Промт для ИИ» наверху собирает его по всем показанным сразу: вставьте его в ChatGPT, Claude, Gemini или редактор кода с ИИ. Если у помощника есть браузер, он откроет сайт сам и ничего не нажмёт в баннере; если нет — попросит прислать то, что нужно.
  • Что приложение проверяет само: пункты про сервер — по проверке «Безопасность», доступность — по замеру PageSpeed. Если вы отметили пункт выполненным, а проверка потом нашла проблему снова, рядом с галочкой появится «найдено снова»; галочку приложение само не снимает.
  • Платно — проверка с сервера vpsFocus. По кнопке сайт открывается снаружи, как у посетителя: обычными запросами и браузером, который ничего не нажимает в баннере согласия. Она находит cookies и трекеры до согласия, шрифты Google, встроенные видео и карты, баннер, кнопку отказа и ссылку, чтобы потом сменить выбор, рекламу, которая грузится вопреки сигналу «не продавать мои данные» (GPC — главная открывается второй раз, с ним), содержимое по http на страницах https, cookie сессии без флагов Secure и HttpOnly, показывает найденный чат-виджет и сторонние скрипты — сверить со страницей оплаты, проверяет TLS, переадресацию на https, заголовки, security.txt, SPF и DMARC, ссылки на Impressum и политику, кнопку отказа от договора и правила отказа, ссылку «Do Not Sell» на главной и устаревшую ссылку на закрытую платформу споров ЕС. Открываются главная и несколько страниц со ссылок главной, юридические — первыми; в корзину и оформление заказа проверка не заходит; служебные файлы сайта не перебираются. Адрес сайта уходит к нам только в момент проверки, хранится последний итог — для «появилось / исправлено» в следующий раз.
  • Это технические проверки, а не юридическая консультация. Пункт говорит, что найдено, и ссылается на норму, но не решает, законен ли сайт. «Не удалось проверить» — серым, не зелёным.

Обновления, бэкап, удаление

  • Обновление мониторинга. Кнопка «Обновить до версии…» — на экране сервера «Подготовка и установка», в блоке «Версия мониторинга» под сводкой «Мониторинг на сервере». Сама по себе новая версия не скачивается: по кнопке приложение сначала скачивает её на ваш компьютер, потом ставит на сервер, и весь ход виден той же карточкой, что и установка. С экрана можно уйти и даже закрыть приложение — обновление идёт на сервере само, а приложение при следующем открытии экрана покажет, чем оно кончилось. Перед тем как что-то менять, снимается дамп базы и копия конфигов. Если обновление не заладится, вернётся и то и другое. Серверов несколько — на экране аккаунта в блоке «Есть обновления» у каждого есть «Обновить», а «Обновить все» проходит их по очереди: сервер без связи, занятый другой копией приложения или уже свежий пропускается, а очередь встаёт, только если обновление упало уже после копии данных. Очередь живёт, пока приложение открыто.
  • Бэкап. Кнопка «Выгрузить бэкап» на экране сервера «Резервные копии» сохраняет базу аналитики и настройки мониторинга в архив на ваш компьютер. В архиве есть пароли — храните соответственно.
  • Копия стала меньше. Если автокопия базы создана, но внутри меньше половины прошлой, мониторинг пришлёт предупреждение и покажет «было → стало» на экране «Резервные копии». Это не ошибка: база могла уменьшиться после чистки старой статистики. Если вы ничего не удаляли — проверьте, не пропали ли данные.
  • Удаление. Свёрнутый блок «Установить снова или удалить сервер» внизу экрана «Подготовка и установка». Два разных действия. «Убрать из приложения» убирает сервер только из вашего приложения. «Снести мониторинг» удаляет мониторинг вместе со всей собранной аналитикой, и отменить это нельзя.
  • Обновление приложения. Приходит само и проверяется по подписи. Неподписанное обновление приложение отвергнет.

Календарь

Значок календаря в левой полосе приложения — над аккаунтом. Он собирает важные даты всех серверов и сайтов в одном месте: когда продлевать домен, когда кончается сертификат, когда платить за VPS.

  • Сроки доменов и сертификатов попадают сюда сами — со всех серверов, где установлен мониторинг. Приложение читает их не чаще раза в шесть часов (мониторинг и сам проверяет их с такой частотой) и по кнопке «Обновить». Если сервер не ответил, календарь показывает прежние даты и пишет, когда они прочитаны. Срок тарифа vpsFocus появляется тоже, если вы вошли в аккаунт.
  • Всё остальное — напоминаниями: оплата VPS у хостера, подписки, свои дела. У напоминания есть повтор (каждый месяц или год) и срок, за сколько дней предупредить. Если в месяце нет нужного числа, напоминание встаёт на последний день месяца.
  • Цвет — состояние: у события это точка, у дня в сетке месяцев — рамка. Красная — просрочено или осталось меньше недели, янтарная — пора готовиться, серая — впереди, пунктир — сделано или прошло. Пропущенное не пропадает: просроченное висит наверху, пока вы его не отметите. Точка на значке календаря загорается, только когда что-то требует внимания.
  • Лента сроков над записями: одна строка — одно событие, полоса тянется от сегодня до срока. Плотная часть полосы — время, когда календарь уже напоминает, справа написано, сколько дней осталось. Просроченное стоит левее линии «сегодня». Переключатель — 30 дней, 90 дней или год; нажатие на строку ведёт к записи.
  • Что можно сделать с событием: отметить «Сделано» (у домена и сертификата — «Продлить»), отложить на 1, 3 или 7 дней, скрыть найденное автоматически. «Проверить сейчас» просит мониторинг проверить домены заново — так видно, что продление прошло. Если вы нажали «Продлить», а сервер всё ещё видит старый срок, календарь скажет об этом прямо.
  • Выгрузка: кнопка «Выгрузить .ics» сохраняет файл, который открывается в Google Календаре, Apple Calendar и Outlook. Подписки по адресу и синхронизации нет — календарь не передаётся на серверы vpsFocus.

Напоминания живут на компьютере, а напоминания о конкретном сервере — на самом сервере, чтобы их видела вся команда (ниже, «Работа командой»). Всплывающих уведомлений нет: календарь напоминает о себе точкой в приложении.

Поделиться результатом

Когда сайт стал быстрее или проверки прошли без замечаний, рядом с итогом появляется кнопка «Поделиться». Она рисует картинку для соцсетей: главная цифра, короткая фраза, домен сайта и маленькая подпись vpsFocus внизу.

  • Когда кнопка есть: оценка скорости на телефоне от 90 или выросла на 15 пунктов и больше (при итоге от 50) — «Производительность»; пройдены все проверки SEO или с прошлой проверки исправлено от пяти — «SEO-аудит»; ни одной битой ссылки при обходе от 20 страниц — «Битые ссылки»; сайт работает без простоя от 7 дней подряд — подробности внешней проверки в «Доступности» (внешние проверки — на платном тарифе). Если хвастаться нечем или проверки ещё не было, кнопки нет.
  • Что можно выбрать: размер — 1200 × 630 (X, LinkedIn, Telegram) или квадрат 1080 × 1080; светлую или тёмную тему; показывать ли домен. Имя сервера и его адрес на картинку не попадают никогда.
  • Что дальше: «Сохранить картинку» — файл PNG, «Скопировать картинку» — в буфер обмена (если система это умеет), «Скопировать текст» — готовый текст поста к картинке.
  • Картинка рисуется на вашем компьютере и никуда не отправляется, пока вы сами её не выложите: ни на серверы vpsFocus, ни куда-то ещё. Нажатия кнопки мы не считаем.

ИИ-помощник (MCP)

Ваш ИИ-помощник — Codex, Cursor, VS Code или Claude Code — может читать то, что показывает приложение, и помогать чинить сайт прямо в вашем коде: «что не так с SEO на моём сайте», «почему сайт падал ночью», «какие страницы медленные». Пункт «MCP» — в меню «Все серверы», в «Настройках».

  • Только чтение. Помощник видит то же, что вы на экранах: SEO-аудит, битые ссылки, скорость, сбои и что было рядом с ними, ошибки, здоровье сервера, сроки, резервные копии, аналитику. Запустить проверку, что-то изменить или установить через него нельзя.
  • Вы решаете, что он видит. Галочками — виды данных и серверы. Аналитика посетителей выключена, пока вы её не включите: это данные о людях. Сервер, с которого снята галочка, для помощника не существует.
  • Чего он не получит никогда: паролей, ключей и токенов, адресов каналов уведомлений, IP-адресов посетителей и строк запроса из логов.
  • Работает внутри приложения и отвечает только программам на этом компьютере, по ключу. Закрыли приложение — помощнику отвечать некому. Отдельной программы ставить не нужно.
  • Через серверы vpsFocus ничего не идёт. Данные идут с вашего сервера в приложение — как и для экранов — и дальше в помощника, которого вы подключили. Аккаунт не нужен; исключение — внешние проверки доступности, они и так живут в аккаунте.

Как подключить

  1. Откройте «MCP» и включите «Разрешить ИИ читать данные vpsFocus».
  2. В блоке «Подключить» выберите помощника и нажмите «Скопировать». Под кнопкой написано, куда вставить: для Codex — ~/.codex/config.toml, для Cursor — ~/.cursor/mcp.json, для VS Code — пользовательский mcp.json (команда «MCP: Open User Configuration»), для Claude Code — команда в терминале.
  3. Перезапустите помощника и спросите его о своём сайте.

В настройке лежит ключ. Не кладите её в файл проекта — она может уехать в git — и никому не пересылайте. Если ключ ушёл или вы просто хотите отключить всех помощников разом, нажмите «Выдать новый ключ». Что и когда спрашивал помощник, видно в «Истории запросов» на том же экране; самих ответов там нет.

Помощник видит текст с вашего сайта — заголовки страниц, пути, строки логов. Его пишут и посторонние, поэтому относитесь к советам помощника так же, как к любому чужому совету: смотрите, что он предлагает поменять в коде.

Работа командой

Несколько человек могут вести один и тот же сервер, каждый из своей копии приложения, — без общего кабинета и без синхронизации через серверы vpsFocus. Границей доступа служит то, чем вы и так пользуетесь: SSH.

Что для этого нужно

  • Каждому участнику — доступ к серверу по SSH: root либо пользователь с sudo без пароля, то же самое, что нужно для установки. У кого есть такой доступ, тот и так может прочитать на сервере пароли мониторинга, — приложение не даёт новых прав. Чтобы закрыть доступ, достаточно закрыть SSH.
  • Одна версия приложения у всей команды. Копия постарше не умеет читать состав проектов и настройки с сервера и перепишет их своими, устаревшими. Приложение замечает след такой копии и предупреждает об этом на главном экране.
  • Один аккаунт vpsFocus на команду — но только если вы пользуетесь внешними проверками доступности: это единственная функция, которой вообще нужен аккаунт. Установка, аналитика, сайты и почта домена работают без него у любого числа участников.

Как это устроено

Разработчик добавляет сервер в свою копию приложения обычным способом. Если мониторинг на сервере уже установлен, приложение видит это само и берёт с сервера пароли — переустанавливать ничего не надо, и на сервере при этом ничего не меняется. Дальше он видит то же, что и тот, кто ставил мониторинг: аналитику, проекты, проверки, ошибки, SEO.

Общее хранится на сервере и одинаково у всех: состав проектов, ключевые адреса, настройки уведомлений — почта, Telegram, адреса Slack, Discord и вебхука, режим «идут работы», — и пароли мониторинга, а ещё напоминания календаря о сервере и его сайтах и отметки «сделано» у событий сервера — продлённый коллегой домен не будет висеть красным у вас. Правка одного видна остальным при следующем открытии экрана. Напоминание о сервере сохраняется сразу на сервер: без связи с ним правка не пройдёт, а не отложится.

Личное остаётся на компьютере каждого и по команде не расходится: лента собственных действий, подключения к базам сайтов на вкладке «Данные», ключ Cloudflare для почты домена, отметка «когда я в последний раз забирал копию», общие напоминания календаря без сервера, отметки «отложить» и «скрыть» и настройки «MCP» с ключом и историей запросов.

Кто правит последним, тот и побеждает — но не везде одинаково. Списки, которые экран каждый раз заново читает с сервера, — страницы замеров, пути к логам, ключевые адреса, — ведут себя именно так: правки редки, и последняя сохранённая побеждает. Состав проектов и настройки уведомлений устроены осторожнее: правка применяется поверх того, что в момент сохранения реально лежит на сервере, а не поверх того, что было открыто у вас час назад. Если коллега успел поменять значение, которое вы не трогали, ваше сохранение его не заденет, а экран покажет, что именно осталось как было.

Пригласить коллегу

Проще всего — кодом приглашения. Кнопка «Пригласить коллегу» — в правом верхнем углу приложения: на экранах сервера она открывает приглашение этого сервера, на общих экранах сначала спросит, какой сервер открыть коллеге. Тот же пункт есть в меню сервера, в группе «Сервер», и под итогом установки: приложение готовит сообщение со ссылкой на загрузку и кодом, а вы отправляете его сами — в мессенджер или почтой. Один код — один сервер. Коллега вставляет код в поле «Адрес сервера» на экране «Добавить сервер»: адрес, порт и имя подставятся сами, остаётся войти своим доступом по SSH.

  • В коде нет доступа к серверу. Только адрес, порт SSH, имя сервера и отпечаток его ключа — ни паролей, ни ключей, ни токенов мониторинга. Без своего логина коллега к серверу не подключится. Лучше завести ему отдельный вход; если даёте свой, логин и пароль передайте отдельно от кода.
  • Ключ сервера сверяется с приглашением. Ответил сервер другим ключом — приложение не подключается и сервер в список не добавляет; принять другой ключ на этом экране нельзя, нужен новый код. Перед входом приложение крупно показывает, к какому адресу вы подключаетесь: код от незнакомца может вести на чужой сервер.
  • Код не проходит через vpsFocus. Его собирает приложение у вас, передаёте вы сами; на наш сервер не уходят ни адрес, ни имя сервера.
  • Приглашать можно на сервер, где мониторинг уже стоит. Если он поставлен старой версией, приложение сначала попросит его обновить: в старой у сервера нет общего идентификатора для работы командой.

Кто-то уходит из команды

Закрытого SSH достаточно, чтобы человек больше не мог подключиться к серверу — через приложение или как-то иначе. Но часть настроек мониторинга общая на всю команду, а не на один сервер: пароль исходящей почты, токен Telegram-бота, адреса Slack, Discord и вебхука, ключ Google, ключи хранилища резервных копий. Уходящий уносит их в памяти, поэтому при уходе человека:

  1. закройте ему SSH-доступ к серверам;
  2. если у него был свой вход в аккаунт vpsFocus, смените пароль аккаунта и нажмите «выйти везде»;
  3. смените пароль исходящей почты, токен бота, ключ Google и ключи хранилища копий, а адреса Slack и Discord создайте заново (старые удалите там же, где создавали) — обычным сохранением настроек на любом сервере команды: новое значение само разойдётся по остальным.

Восстановление копии на другой VPS

Переезд на новый сервер — обычное восстановление копии, описанное выше, плюс перенос внешних проверок на новый сервер там, где приложение это предложит: для vpsFocus старый и новый сервер — разные серверы.

Клонирование VPS у провайдера — не то же самое, что переезд: снимок диска переносит и служебную отметку, по которой приложение узнаёт сервер. Если два сервера окажутся под одной отметкой, приложение распознаёт это по отпечатку SSH-ключа и спросит: это переустановленный тот же сервер или отдельная копия? Единственное, что так не распознать, — облачный образ, который при клонировании не создаёт сервером новый SSH-ключ.

Частые проблемы

«Нет подключения к интернету» или «Нет связи с сервером»

При запуске приложение проверяет, можно ли войти на каждый ваш сервер. На самом сервере при этом ничего не выполняется — только вход. Если проверка занимает дольше полутора секунд, появляется окно со списком серверов; ждать его не обязательно — кнопка «Не ждать» закрывает окно, а проверка доработает сама.

  • «Нет подключения к интернету» — не ответил ни один сервер, или Windows сообщает, что сети нет. Проверьте Wi-Fi или кабель; если включён VPN, попробуйте без него. Календарь и настройки работают и без сети.
  • «Нет связи с сервером» — интернет есть, а сервер не отвечает: он выключен или недоступен. Проверьте его в панели хостинга.
  • Серая точка у сервера в списке слева — с этим сервером нет связи или вход не прошёл; наведите на значок, чтобы увидеть, что именно. Остальные серверы работают как обычно: один выключенный сервер приложение не держит.

Если сеть пропадает посреди работы, сверху появляется полоса «Нет подключения к интернету». Уже открытое можно смотреть дальше.

Почему данные не обновляются сами

Загруженное приложение помнит до закрытия: уйти на другой экран и вернуться можно мгновенно, без нового запроса к серверу. Заново оно спрашивает сервер, только когда вы нажимаете «Обновить» или сами что-то меняете — добавили сайт, сохранили настройку, запустили проверку. Исключений два: точки состояния серверов в списке слева обновляются раз в пять минут, а календарь сверяет сроки доменов и сертификатов с серверами раз в шесть часов — так же часто их проверяет сам мониторинг.

Рядом с «Обновить» написано, когда данные получены: «Получено в 14:32». Если у отчёта есть своё время — например, SEO-аудит прошёл ночью, — оно написано отдельно: «Проверено мониторингом в 03:00 · получено в 14:32». Не получилось обновить — прежние данные остаются на экране, а над ними сказано, что случилось.

На сервере уже работает веб-сервер

Это обычный случай. Приложение не меняет настройки nginx, Apache или Caddy и не занимает порты 80 и 443: мониторинг работает на свободном порту рядом. Порт входит в код аналитики и при обновлениях не меняется — он прописан на каждом сайте.

«sudo требует пароль»

Установка идёт без участия человека и на запросе пароля повиснет. Дайте пользователю право sudo без пароля или подключайтесь под root.

Сертификат не выпускается

Сначала посмотрите, каким способом он выпускается у вас.

  • Через A-запись (порты 80 и 443 свободны): почти всегда причина одна — запись ещё не указывает на этот сервер или не разошлась по DNS. Проверьте, что домен резолвится в адрес сервера, и повторите.
  • Через DNS-01 с ключом провайдера (порты заняты): проверьте, что токен даёт право править записи именно этой зоны. Токен хранится на вашем сервере в файле .env с доступом только для root и на серверы vpsFocus не передаётся.
  • Через запасной сервер vpsFocus: убедитесь, что CNAME _acme-challenge вашего домена указывает на выданное приложением имя. Пока он не разошёлся, проверка не пройдёт.

Установку это не срывает: мониторинг к этому шагу уже работает, приложение так и говорит — «Мониторинг работает, сертификата пока нет», — а Caddy продолжает попытки сам. У Let's Encrypt есть ограничение на число попыток в неделю, поэтому перезапускать установку десятки раз подряд не нужно.

«Ключ сервера изменился»

Отпечаток отличается от запомненного при первом подключении. Так бывает, когда сервер пересоздали или переустановили, — и ровно так же выглядит перехваченное соединение. Не продолжайте, пока не убедитесь, какой из двух случаев ваш.

Приложение говорит об этом сразу при запуске и отмечает сервер красной точкой. Если вы уверены, что сервер ваш, откройте его, нажмите «Проверить связь» и примите новый ключ.

Windows показывает предупреждение при установке

Установщики пока не подписаны сертификатом разработчика. Как пройти предупреждение, написано на странице загрузки.

«Подтвердите адрес почты»

Пока адрес не подтверждён, недоступно всё, что работает через серверы vpsFocus: подключение сайтов к внешним проверкам и другие платные функции. Установки это не касается — установочные файлы доступны всем, и мониторинг ставится вообще без аккаунта. Письмо можно отправить заново из личного кабинета или с экрана аккаунта в приложении.

Панель аналитики не отвечает

После перезагрузки сервера контейнерам нужно время подняться. Если не помогло — откройте экран сервера «Подготовка и установка»: там видно, работает ли мониторинг и какой он версии.

Не нашли ответа

Напишите на support@vpsfocus.xyz: что делали, что увидели на экране (снимок или текст ошибки вместе с «Технической подробностью») и какая у сервера система. Пароли, ключи и адреса каналов уведомлений не присылайте — они для ответа не нужны.