Skip to content

Инструмент для проверки доступности веб-ресурсов. Выводит подробную статистику. Проверяет HTTP-статусы и редиректы. Умеет работать через заданный вручную DNS сервер, в том числе DoH. Генерирует отчеты в форматах TXT, CSV и Markdown.

Notifications You must be signed in to change notification settings

Denis11212/SiteAvailabilityMonitor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 

Repository files navigation

Об инструменте

Предназначен для быстрой проверки доступности веб-ресурсов из списка в файле. Осуществляет проверку HTTP-статусов (200, 301, 404 и другие), в том числе выводит их описание после проверки, обработку редиректов, умеет осуществлять несколько повторных попыток подключения. Реализована параллельная обработка нескольких потоков для оптимизации времени проверки. Включает поддержку пользовательских DNS-серверов, в том числе DNS-over-HTTPS (DoH). Генерирует детализированные отчеты в форматах TXT, CSV и Markdown с полной статистикой. Удобно, например, когда вы что-то намудрили в своей сети и хотите понять - конкретные сайты у вас не работают, или вообще интернета нет.

Использование

Требования

  • PowerShell 5.1 или новее
  • curl (входит в состав Windows, начиная с Windows 10)
  • Не забывайте включить выполнение скриптов (ExecutionPolicy) в своей системе, так как по умолчанию оно отключено

Быстрый запуск

  1. Создайте файл addresses.txt со списком URL (по одному на строку)
  2. Запустите скрипт: .\HTTPStatusChecker.ps1

Параметры

-AddressesFile  [string]  Файл со списком адресов (по умолчанию: addresses.txt)
-OutputFile     [string]  Файл вывода результатов (по умолчанию: results.txt)
-MaxRetries     [int]     Макс. количество попыток (по умолчанию: 5)
-RetryDelay     [int]     Задержка между попытками в секундах (по умолчанию: 2)
-Timeout        [int]     Таймаут соединения в секундах (по умолчанию: 10)
-MaxThreads     [int]     Количество параллельных потоков (по умолчанию: 10)
-DohUrl         [string]  URL для DNS-over-HTTPS (пример: "https://cloudflare-dns.com/dns-query")
-DnsServers     [string]  Список DNS-серверов через запятую (пример: "8.8.8.8,1.1.1.1")

Примеры

# Проверка с увеличенным количеством попыток
.\HTTPStatusChecker.ps1 -MaxRetries 8

# Использование пользовательских DNS-серверов
.\HTTPStatusChecker.ps1 -DnsServers "8.8.8.8,1.1.1.1"

# Использование DoH
.\HTTPStatusChecker.ps1 -DohUrl "https://cloudflare-dns.com/dns-query"

Формат файла адресов

Файл должен содержать URL по одному на строку. Пустые строки и строки, начинающиеся с #, игнорируются. А к сайтам без перефикса, к адресу автоматически добавляется префикс "https://".

Пример содержимого addresses.txt:

example.com
https://google.com
# Этот комментарий будет проигнорирован
github.com

Результаты

После выполнения скрипт генерирует три файла:

  • results.txt - детальный текстовый отчет
  • results.csv - таблица результатов для анализа
  • results.md - форматированный отчет в Markdown

Отчеты содержат сводную статистику и детальную информацию по каждому ресурсу, сгруппированную по категориям: доступные, редиректы, недоступные, ошибки. А также полезную краткую информацию к значениям.

About

Инструмент для проверки доступности веб-ресурсов. Выводит подробную статистику. Проверяет HTTP-статусы и редиректы. Умеет работать через заданный вручную DNS сервер, в том числе DoH. Генерирует отчеты в форматах TXT, CSV и Markdown.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published