Skip to content

About

Консольный монитор доступности сайтов и сети: HTTP, пинг, аптайм, уведомления. // Console monitor for website and network availability: HTTP, ping, uptime, alerts.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Latest commit

 

History

20 Commits

Folders and files

Repository files navigation

WebsiteAccessibilityMonitor (WAM)

CI Platform Rust Version License

Console uptime monitor for HTTP/HTTPS resources: checks DNS, HTTP, the real TCP port, TLS and block-page stubs, and compares the direct path with a proxy route to tell outages from likely blocking.

Руководство / User guide: Русский · English

Overview screen

Uptime screen

Settings screen

Русский

Что это

WAM — консольный монитор доступности HTTP/HTTPS-ресурсов. Он проверяет DNS, HTTP, фактический TCP-порт URL, TLS для HTTPS, известные страницы-заглушки и, при явной настройке, сравнивает прямой путь с HTTP/SOCKS-прокси.

  • Статус: активный, версия 2.2.0. Готовая сборка для Windows x64: lts-server.com.
  • Стек: Rust 2024 (MSRV 1.88), tokio, reqwest, ratatui/crossterm; на Windows — windows-service, winping.
  • Сборка из исходников: Rust 1.88+ (rustup), на Linux ещё OpenSSL dev-пакет (TLS через native-tls).

Сборка и запуск

Одна программа wam на все режимы:

cargo build --release
.\target\release\wam.exe
Команда Что делает
wam Интерфейс в терминале; config.json создаётся рядом с программой
wam --lite Компактный интерфейс для узких окон и SSH/RDP
wam example.com Разовая проверка адресов, --json для вывода в JSON
wam --once Разовая проверка целей из config.json в текущей папке
wam --watch Постоянный фоновый режим без интерфейса

Параметр --config PATH задаёт другой файл настроек, --help выводит справку.

Интерфейс

Пять разделов, переключаются цифрами 1–5 или Tab:

Раздел Что показывает
Обзор Сводка (сколько сайтов недоступно, когда следующая проверка), список с проблемами сверху и подробности выбранного сайта
Сайты Полная таблица: статус, код HTTP, время ответа, IP, повторы, группа
Аптайм Процент доступности за 24 часа и полоса последних замеров (█ — доступен, ▁ — сбой)
События Сбои и восстановления, итоги циклов, ошибки записи файлов и отправки уведомлений
Настройки Все параметры monitor_settings, журналов, CSV, уведомлений и прокси

Основные клавиши: R — проверить сейчас, P — пауза, A — добавить сайт, D — удалить (с подтверждением), T — текст, который должен быть в ответе сайта, Enter — подробности, / — фильтр, S — сортировка, E — экспорт CSV, Ctrl+S — сохранить настройки, Ctrl+R — перечитать config.json, ? — полная справка, Q — выход. Горячие клавиши работают и в русской раскладке, длинные токены и адреса можно вставлять из буфера обмена.

--lite даёт те же возможности в компактной компоновке (без сводной панели и боковых подробностей) и с более редкой перерисовкой. Минимальный размер окна — 50 × 14.

Статус всегда подписан текстом, цвет лишь дублирует его. Цвета задаются в color_theme (Green, LightRed, #1e90ff и т. п.); переменная окружения NO_COLOR отключает цвета полностью. Если config.json повреждён, программа работает с настройками по умолчанию и отказывается сохранять изменения, пока файл не исправлен.

Фоновый режим, служба Windows, метрики Prometheus, формат настроек и все статусы описаны в руководстве.

English

What It Is

WAM is a console uptime monitor for HTTP/HTTPS resources. It checks DNS, HTTP, the actual TCP port of the URL, TLS for HTTPS and known block-page stubs; when proxy_url is set it compares the direct path with an HTTP/SOCKS proxy route.

  • Status: active, version 2.2.0. Ready-made Windows x64 build: lts-server.com.
  • Stack: Rust 2024 (MSRV 1.88), tokio, reqwest, ratatui/crossterm; on Windows windows-service and winping.
  • Building from source: Rust 1.88+ (rustup); on Linux also an OpenSSL development package (TLS uses native-tls).
  • The interface and console messages are in Russian; this README and the guide cover them in English.

Building and Running

One program, wam, covers every mode:

cargo build --release
.\target\release\wam.exe
Command What it does
wam Terminal interface; config.json is created next to the program
wam --lite Compact interface for narrow windows and SSH/RDP
wam example.com One-shot check of the given addresses, --json for JSON output
wam --once One-shot check of the targets in config.json in the current folder
wam --watch Permanent background mode without an interface

--config PATH points to another settings file, --help prints the reference.

Interface

Five sections, switched with 1-5 or Tab:

Section What it shows
Overview Summary (how many sites are down, when the next check runs), a list with problems on top and details of the selected site
Sites Full table: status, HTTP code, response time, IP, retries, group
Uptime Availability over 24 hours and a strip of recent measurements (█ up, ▁ failed)
Events Failures and recoveries, cycle summaries, file write and notification errors
Settings All monitor_settings, log, CSV, notification and proxy parameters

Main keys: R check now, P pause, A add a site, D delete (with confirmation), T text that must appear in the response, Enter details, / filter, S sort, E export CSV, Ctrl+S save settings, Ctrl+R reload config.json, ? full help, Q quit. Hotkeys also work in the Russian layout, and long tokens and addresses can be pasted from the clipboard.

--lite has the same features in a compact layout (no summary panel or side details) with less frequent redraws. Minimum window size is 50 × 14.

A status is always labelled with text; colour only repeats it. Colours are set in color_theme (Green, LightRed, #1e90ff and so on); the NO_COLOR environment variable turns them off. If config.json is damaged, the app runs on defaults and refuses to save until the file is fixed.

Background mode, Windows service, Prometheus metrics, the config format and all statuses are covered in the guide.

Лицензия / License

MIT, см. / see LICENSE.

About

Консольный монитор доступности сайтов и сети: HTTP, пинг, аптайм, уведомления. // Console monitor for website and network availability: HTTP, ping, uptime, alerts.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages