Документация
NetScope — веб-инструмент сетевой диагностики. Проверяйте DNS, порты и HTTP-заголовки прямо из браузера, без установки дополнительных программ.
Посмотреть на GitHubОбзор
NetScope предоставляет стандартные инструменты сетевой диагностики через удобный веб-интерфейс и REST API. Все операции выполняются на стороне сервера — результаты отражают реальное состояние сети с точки зрения сервера.
DNS-запрос
Получение записей A, AAAA, MX, NS и TXT для любого домена.
Сканер портов
TCP-подключение к заданным портам (до 20 штук). По умолчанию проверяет 21, 22, 80, 443, 3306, 5432 и другие.
HTTP-заголовки
Получение заголовков ответа любого URL с поддержкой редиректов. Показывает итоговый URL и код статуса.
Справочник API
Все эндпоинты принимают POST-запрос с JSON-телом и возвращают JSON. Базовый URL: /api
{"host": "github.com"}Ответ:
{"host", "records": {"A": [...], "MX": [...], ...}}
{"host": "1.1.1.1", "ports": [80, 443, 22]} (максимум 20 портов)Ответ:
{"host", "results": [{"port": 80, "open": true}, ...]}
{"url": "https://example.com"}Ответ:
{"url", "status": 200, "headers": {...}}
{"status": "ok"}Самостоятельный деплой
NetScope полностью контейнеризован. Для запуска нужны Docker и Docker Compose.
git clone https://github.com/McMaxim/netscope.git cd netscope # Укажи свой домен в Caddyfile nano Caddyfile docker compose up -d
Caddy автоматически получит SSL-сертификат через Let's Encrypt. Дополнительная настройка не требуется.
Архитектура
Браузер
└─▶ Caddy (HTTPS :443, авто-TLS)
├─▶ /api/* ──▶ FastAPI бэкенд (:8000)
└─▶ /* ──▶ Статические файлы фронтенда
Безопасность
Входные данные (хост) проверяются регулярным выражением /^[a-zA-Z0-9.\-_]+$/ для защиты от инъекций. Все системные вызовы используют форму exec без оболочки. Сканирование портов ограничено 20 портами за запрос. На каждую операцию установлен таймаут.