Web Check
Открытый инструмент, который по одному домену собирает несколько десятков проверок сразу: SSL, DNS, заголовки, конфигурацию безопасности, технологии, WAF, репутацию. Развернули его на Fatmetal Cloud Server, замерили ресурсы и прогнали реальную проверку.
Вердикт
- приватный аудит своих доменов (SSL/DNS/заголовки)
- кто устал обходить десяток онлайн-сервисов
- нужен постоянный мониторинг и алерты (ASM)
- разовая проверка раз в месяц - проще онлайн-сервис
Проверено на версии v2.1.0, июнь 2026. На новых версиях результаты могут отличаться.
Что это и какую задачу решает
Web Check (Lissy93/web-check) - инструмент, который собирает открытую информацию о сайте. Вводите домен, и приложение параллельно запускает несколько десятков проверок, раскладывая результат по карточкам единого дашборда: какой сервер и где стоит, как настроены SSL и DNS, что в HTTP-заголовках, какие технологии использует сайт, что с безопасностью и репутацией. То, на что обычно уходит обход десятка разных онлайн-сервисов, тут собрано в одном окне за один запрос.
Набор проверок широкий: IP и геолокация сервера, цепочка SSL и наборы шифров, TLS-конфигурация (по Mozilla Observatory), DNS-записи и DNSSEC, почтовая конфигурация (SPF, DKIM, DMARC, BIMI), HTTP-заголовки и security-флаги (CSP, HSTS, X-Frame-Options), детект WAF/файрвола, открытые порты, traceroute, технологический стек (по отпечаткам Wappalyzer), карта страниц и robots.txt, история в Web Archive, проверка по блок-листам и базам фишинга, скриншот, Lighthouse-метрики, углеродный след. Применяется и при пентесте (быстрая разведка цели), и в защите (посмотреть, что ваш домен светит наружу).
Зачем свой инстанс, если есть онлайн-сервисы
Те же данные можно собрать руками по разным сайтам. Разница - в удобстве, приватности и лимитах.
| Параметр | Web Check (свой сервер) | Разрозненные онлайн-сервисы |
|---|---|---|
| Сколько окон | Один дашборд, один запрос | SSL Labs, securityheaders, whois, dnsdumpster, BuiltWith - по очереди |
| Приватность запросов | Проверки идут с вашего сервера | Каждый сервис видит, что и когда вы проверяете |
| Лимиты | Свои, без чужих ограничений | Rate limit и капчи на публичных сервисах |
| Автоматизация | Есть API на каждую проверку | Чаще только веб-форма |
| Код и цена | MIT, бесплатно, платите за сервер | Часть бесплатна, часть по подписке |
Есть и публичный демо-инстанс web-check.xyz - удобно попробовать, но автор пишет, что из-за трафика хостинг обходится примерно в $25/мес, и публичная версия упирается в лимиты. Свой инстанс снимает и лимиты, и вопрос приватности.
Тех-стек и архитектура
Фронтенд - React, собранный через Astro и Vite, стили на SCSS. Бэкенд - Node.js: каждая проверка это отдельный обработчик в каталоге /api, который дергает внешние источники и отдает JSON. Запускать можно двумя способами: как постоянный сервер (server.js в Docker или из исходников) либо как serverless-функции на Netlify, Vercel или Fly.io. Своей базы данных нет - приложение stateless, ничего не хранит между запросами, поэтому и бэкапить нечего.
Часть проверок опирается на внешние утилиты в контейнере: chromium (скриншот и Lighthouse), traceroute, DNS-утилиты. Если их нет в окружении, соответствующие проверки просто пропускаются. Лицензия MIT.
Минимальная конфигурация
Жестких требований у проекта нет. Ориентируемся на реальный замер.
| Официальные требования RAM | не заданы |
| Реально в простое | ~131 MiB |
| Образ на диске | ~1,02 GB |
| Рекомендуем тариф | младший, CPU2-RAM4-DISK50 |
Сервис очень легкий - ~131 MiB в простое. Хватает тарифа CPU2-RAM4-DISK50 за 500 руб/мес. Нагрузка кратковременно растет во время тяжелых проверок (скриншот и Lighthouse поднимают chromium), так что для частого параллельного использования закладывайте запас по RAM.
Развертывание на Fatmetal
Fatmetal Cloud Server + Ubuntu 24.04 + Docker. Готовый образ, без сборки.
Создать VM
тариф CPU2-RAM4-DISK50, Ubuntu 24.04, приложение Docker из маркетплейса.
Запустить контейнер
docker run -d --name web-check --restart unless-stopped \ -p 127.0.0.1:3000:3000 lissy93/web-checkОбраз есть на Docker Hub и GHCR. По умолчанию никакой конфигурации не нужно - сразу рабочий дашборд на порту 3000.
Закрыть авторизацией
Порт слушаем только на
127.0.0.1и выставляем наружу через обратный прокси с паролем - у web-check нет своей аутентификации (подробнее в разделе про подводные камни).
VM подняли AI-агентом через MCP-сервер Fatmetal, и этим же агентом поставили web-check рядом со SpiderFoot - на тот же сервер, одной командой. Провижн, деплой контейнера и обратный прокси с авторизацией агент сделал инструментами на нашей инфраструктуре, без ручного клика в панели.
Что измерили после запуска
Цифры с тестового CPU2-RAM4-DISK50, Ubuntu 24.04, Docker. Прогнали реальную проверку.
| Скачивание образа (pull) | ~70 c |
| Старт до ответа UI | несколько секунд |
| RAM в простое | ~131 MiB |
| Образ | ~1,02 GB |
| Проверок в дашборде | 57 |
| Тестовая проверка | github.com - SSL, DNS, заголовки, tech-stack отработали |
Главное: web-check очень легкий - ~131 MiB в простое. Контейнер встал рядом со SpiderFoot на тарифе CPU2-RAM4-DISK50 и почти не тронул память сервера. Дашборд github.com собрался с живыми данными: сертификат Sectigo, Whois MarkMonitor, security-флаги, стек Contentful/React, DNS-записи.
Где может сломаться
На что обратить внимание при запуске.
Нет своей авторизации. UI и API открыты: любой, кто достучится до порта, запустит проверки от имени вашего сервера (а это исходящие запросы к чужим сайтам с вашего IP). Обязательно держите за обратным прокси с паролем или в закрытой сети. Мы слушаем порт только на localhost и повесили basic auth на nginx.
Часть проверок требует API-ключей. Базовые (DNS, SSL, заголовки, whois) работают без ключей. Но Shodan, Google PageSpeed, URLScan, SecurityTrails, BuiltWith и подобные подключаются своими ключами через переменные окружения - без них эти карточки пустые или урезанные. Ключи также поднимают лимиты на проверки, которые ходят во внешние API.
Ключи с префиксом REACT_APP_ видны в браузере. Они используются на стороне клиента и попадают в сетевые запросы браузер-сервер. Туда нельзя класть привилегированные ключи - только минимально нужные права.
Тяжелые проверки идут не мгновенно. Скриншот и Lighthouse запускают chromium, дашборд догружается постепенно (в шапке видно Loading X of 57) - на полный набор уходит несколько десятков секунд.
Безопасность, закон и обновления
Web Check - инструмент разведки. Проверяйте только свои домены или те, на которые есть разрешение: часть проверок (открытые порты, traceroute) делает активные запросы к цели. Доступ закрывайте авторизацией, наружу не выставляйте без пароля.
Приложение stateless - постоянных данных нет, бэкапить нечего. Обновление - подтянуть свежий образ и пересоздать контейнер:
docker pull lissy93/web-check:latest
docker rm -f web-check
docker run -d --name web-check --restart unless-stopped \
-p 127.0.0.1:3000:3000 lissy93/web-check
Связь с другими стеками
- SpiderFoot - стоит на этом же сервере. Web Check дает быстрый снимок по одному домену, SpiderFoot - глубокую разведку по сущностям (поддомены, утечки, связанные аккаунты). Хорошо дополняют друг друга.
- Обратный прокси - Nginx или Caddy для TLS и авторизации (у нас nginx + basic auth).
- Мониторинг доступности - Uptime Kuma, если нужно следить, что сам инстанс жив.
Когда Web Check - не ваш выбор
Нужен постоянный мониторинг и алерты
Web Check дает снимок по запросу, а не следит за изменениями во времени. Если нужно ловить, что у домена поменялся сертификат или открылся порт - смотрите в сторону ASM-продуктов и мониторинга поверхности атаки.
Нужна глубокая OSINT-разведка
Поиск поддоменов, утечек, связанных аккаунтов и данных из сотен источников - это SpiderFoot или Maltego, а не web-check.
Нужна одна проверка раз в месяц
Если задача - изредка глянуть один параметр, проще открыть профильный онлайн-сервис, чем держать свой сервер.
Частые вопросы
Можно поставить без Docker?
Можно из исходников Node, но готовый образ - быстрее.
Хватит ли 2 GB RAM?
Легко - в простое ~131 MiB.
Можно в продакшен?
Да, обязательно за reverse-proxy с авторизацией.
Как обновлять?
docker pull свежего образа и пересоздать контейнер.
Как делать бэкап?
Приложение stateless - бэкапить нечего.
Нужна ли авторизация?
Своей нет - закрывайте прокси с паролем.
Ограничения лицензии?
MIT.
Итог
Web Check поднимается одной командой из готового образа, в простое занимает ~131 MiB - спокойно живет на тарифе CPU2-RAM4-DISK50 и даже рядом с другим сервисом. Он собирает в один дашборд то, ради чего обычно обходишь десяток онлайн-сервисов: SSL, DNS, заголовки, безопасность, технологии, репутацию. Честные оговорки: своей авторизации нет (нужен прокси с паролем), часть проверок требует API-ключей, тяжелые проверки идут не мгновенно. Как приватный, бесплатный и быстрый аудит своих доменов на своем сервере - очень удобный инструмент.
Этот стек у нас запущен на тарифе CPU2-RAM4-DISK50. Нашли неточность в гайде - напишите, поправим в течение дня.