Бесплатно · один сервер · без регистрации
Узнайте, какие стеки требуют внимания
Одна команда или обезличенный JSON — рейтинг сервера, вердикт и сводка рисков по стекам.
Проверяем
- Ubuntu
- Debian
- Alpine
- RHEL
- Rocky Linux
- AlmaLinux
- openSUSE / SUSE
- Docker
- Kubernetes
- PHP
- Composer
- Python
- Node.js
- nginx
- Apache
- MySQL
- MariaDB
- PostgreSQL
- Redis
Скоро
- Windows Server
- Java / Maven
- Go
- Ruby
- .NET
- Rust
Запустите на своём сервере
curl -fsSL https://patchfirst.dev/check.sh | shPython не обязателен. Нужны curl и sh; при Python 3.8+ с cryptography используется zipapp, иначе на Linux x86_64 — бинарник. Для бинарника сверяется SHA-256 с того же HTTPS-сервиса: это проверка целостности, не независимая подпись. Команда запускается без root.
Посмотреть данные до отправки
Обычная проверка запускается одной командой выше. В любом способе запуска флаг --json показывает обезличенный JSON без отправки:
curl -fsSL https://patchfirst.dev/check.sh | sh -s -- --jsonОтдельный способ — скачать zipapp и запустить вручную через Python 3.8+. Для шифрования имён установите python3-cryptography. Посмотреть данные можно тем же флагом:
curl -fsSLo psr-agent.pyz https://patchfirst.dev/agent/psr-agent.pyz &&
python3 psr-agent.pyz check --jsonПосле просмотра JSON отправьте данные и получите ссылку на отчёт:
python3 psr-agent.pyz check --api https://patchfirst.devПроверить другой сервер через SSH
Готовые бинарники доступны только для Linux x86_64 (для Alpine — вариант musl). Скачайте подходящий вариант по инструкции «Бинарник без Python». На целевом Linux-сервере нужен только sh; обезличивание и шифрование выполняются на вашей машине.
TMPDIR="$HOME" ./psr-agent check --ssh user@host --ssh-opt StrictHostKeyChecking=accept-new --api https://patchfirst.devНа macOS и других системах используйте .pyz: нужны Python 3.8+, cryptography для шифрования имён и SSH-клиент. Загрузите агент и запустите проверку:
curl --retry 3 -fsSLo psr-agent.pyz https://patchfirst.dev/agent/psr-agent.pyz &&
python3 psr-agent.pyz check --ssh user@host --ssh-opt StrictHostKeyChecking=accept-new --api https://patchfirst.devStrictHostKeyChecking=accept-new сохраняет ключ при первом соединении и отклоняет изменившийся ключ. Проверьте отпечаток сервера отдельно до первого подключения.
Посмотрите JSON и отправьте его сами
Скачайте zipapp и получите JSON через Python 3.8+. Если Python нет, используйте вариант бинарника ниже.
curl -fsSLo psr-agent.pyz https://patchfirst.dev/agent/psr-agent.pyzpython3 psr-agent.pyz check --jsonБинарник без Python
Linux x86_64: загрузите бинарник и сверьте SHA-256 перед запуском. Сумма загружается с того же HTTPS-сервиса и не заменяет независимую подпись. Для Alpine замените имя psr-agent-linux-x86_64 во всех командах на psr-agent-linux-x86_64-musl. Для aarch64 пока нужен Python 3.8+ или запуск с другой машины через --ssh.
curl -fsSLo psr-agent https://patchfirst.dev/agent/psr-agent-linux-x86_64
curl -fsSLo SHA256SUMS https://patchfirst.dev/agent/SHA256SUMS
expected=$(awk '$2 == "psr-agent-linux-x86_64" {print $1}' SHA256SUMS)
printf '%s psr-agent\n' "$expected" | sha256sum -c - &&
chmod 700 psr-agent && TMPDIR="$HOME" ./psr-agent check --jsonСкопируйте только JSON из стандартного вывода. Агент отдельно напечатает ключ имён в stderr — его можно вставить ниже, он останется в браузере.
Подключите постоянный мониторинг
Все находки, версии исправлений и рекомендации. От $3/мес за сервер.
Отчёт доступен 7 дней. Ссылка содержит ключи: любой, у кого она есть, сможет открыть отчёт.