ЛОКАЛЬНЫЙ NOC v4.3

узел: этот браузер · сессия 00:00

full access · 127.0.0.1
--:--:-- — UTC
пнвтсрчтптсбвс
индекс дня D C B A S
неделя день года
СЕТЬ
ОПЕРАТОР
АЛЕРТЫ
СЕРВЕР
песочница: часть метрик (cpu %, температуры, диски, внешний ip) из браузера недоступна — для полной мощности установите NOC локально одним скриптом
01 · Паспорт узла2× = fullscreenPOST
браузер
движок
ОС
архитектура
платформа
языки
часовой пояс
cookies
do-not-track
pdf-плагин
сервер-компаньонпоиск 127.0.0.1:7600…
user-agent ▸
02 · Вычисления2× = fullscreenLIVE
потоков cpu
ram, гб
js-куча, мб
использование js-кучи
лимит кучи
давление cpu
long-tasks (>50мс)0
gpuуточняется…

deviceMemory — округлённая оценка браузера (потолок «8+»)

03 · Дисплей2× = fullscreenLIVE
экран, px
fps
dpr
кадровая частота
окно
частота панели
глубина цвета
цветовой охват
hdr
ориентация
тема ос
анимация
04 · Сеть2× = fullscreenLIVE
тип канала
мбит/с
rtt, мс
пинг, мс
пинг до источника страницы · на loopback/file алерт не поднимается
статус
экономия трафика
интерфейс
локальный ip (webrtc)зонд…
05 · Питание2× = fullscreen
заряд, %
статус
до полного
до разряда
battery api
06 · Накопители2× = fullscreen
квота
занято сайтом
persistent storage
localstorage
скорость записи

usage — данные этого сайта, а не всего диска

07 · Периферия и ввод2× = fullscreenМОДЕЛИ СКРЫТЫ
имена устройств появятся после разрешения микрофона/камеры
указатель
hover
касаний одновременно
камеры
микрофоны
аудиовыходы
геймпад
клавиатура
вибрация
аудио-тракт
простой оператора00:00
08 · Возможности песочницы2× = fullscreen38 ЗОНДОВ
WEB API
КОДЕКИ
РАЗРЕШЕНИЯ

⚠ из песочницы не видно: загрузку cpu · точный объём ram · температуру · процессы · реальный внешний ip · mac-адрес · содержимое диска — это отдаёт сервер-компаньон (панель 13)

09 · Интерактивные тесты периферии2× = fullscreen5 СТЕНДОВ
🎙микрофон IDLE
осциллограмма + fft-спектр
уровень— дБ
🔊динамики IDLE
выберите частоту · тон или sweep
1000 гц
выходпо умолчанию
📷вебкамера IDLE
живое превью (зеркально)
поток
🖱мышь IDLE
двигайте и кликайте здесь
x — · y —0 px/с
клавиатура IDLE
кликните сюда и печатайте
0 нажатий

микрофон: осциллограмма + fft · динамики: имена выходов подтягиваются сами при загрузке (разрешения уже даны); переключение вывода работает в Chrome/Edge, в Яндекс-браузере setSinkId может игнорироваться — тогда строка «выход» честно это покажет · мышь ловит все кнопки с вспышкой в точке клика · тон/sweep и мышь/клавиатура без попапов

10 · Стресс-тест · индекс железа + оценка канала2× = fullscreenНЕ ЗАПУСКАЛСЯ
0
индекс железа / 100 · канал
нажмите «диагностика» — прогон ~5–7 с, кратковременно нагрузит cpu/gpu · сеть оценивается ОТДЕЛЬНО от железа и не влияет на ранг машины
cpu · 1 ядро
cpu · все ядра
gpu · шейдер
память / gc
хранилище
сеть · канал
этап: ожидание запуска
троттлинг (multi run1→run2)
crypto sha-256
net throughput
net latency
net jitter
задержка ввода
localStorage / idb / opfs
однопоточный пик
canvas 2d

индекс железа (насыщение, 100 недостижимо). пороги v4.3 перекалиброваны: gpu/mem/disk ×1.5, single/multi подняты до реалистичных (иначе любая быстрая машина упиралась в 100% и порог не работал). веса: single 20% · multi 40% · gpu 20% · mem 10% · disk 10%. оценка канала отдельно: latency 40% · jitter 30% · throughput 30%. стрелки ↑↓ — дельта к эталону ⚑

11 · Идентификация моделей2× = fullscreenИМЕНА УЗЛА
ГРАФИКА · УСТРОЙСТВО · ОС
gpu (модель)
gpu vendor
gpu raw-строка
модель устройства
ОС (точный билд)
платформа
раскладка клавиатуры
ПЕРИФЕРИЯ (имена после раскрытия)
камеры
— модели скрыты —
микрофоны
— модели скрыты —
аудиовыходы
— модели скрыты —
12 · Инвентарь железа2× = fullscreenОПРЕДЕЛЕНО 0/20
ЦП · ПАМЯТЬ
потоки
архитектура
модель устройства
ram (оценка)
лимит js-кучи
ГРАФИКА
gpu
vendor
экран
герцовка
охват · hdr
ДИСК · СЕТЬ
хранилище
канал
интерфейс
локальный ip
ЗВУК · ВВОД · ПИТАНИЕ
аудио-тракт
медиа-устройства
ввод
геймпад
батарея
13 · Дашборд хоста · сервер-компаньон2× = fullscreen127.0.0.1:7600
компаньон не подключён — поднимите его через ⬇ установить (python noc-install.py).
на Windows сборщик работает через PowerShell (UTF-8) — psutil не требуется.
14 · Журнал событий2× = fullscreenLIVE
15 · Справочник оператора2× = fullscreenКАК ЭТО РАБОТАЕТ
1Локальная установка одной кнопкой

Из песочницы браузер никогда не отдаст реальный % cpu, температуры, точный ram, внешний ip и содержимое диска. Поэтому пока NOC открыт «как есть» — висит янтарная плашка под шапкой.

Кнопка ⬇ установить генерирует установщик прямо в браузере: чистый исходник кодируется в base64 и вшивается в python-скрипт. Запуск: python noc-install.py — распакует noc.html, поднимет компаньона на 7600 и статику на 8000, откроет http://127.0.0.1:8000/noc.html. Плашка исчезнет, зажжётся чип ● full access. Стоп — Ctrl+C.

Windows без psutil: компаньон собирает метрики через встроенный PowerShell в UTF-8 (per-core, частоты, топ процессов, память/swap, сетевой и дисковый i/o, модели — русские имена адаптеров читаются корректно) плюс nvidia-smi для температуры GPU. CPU-температура на Windows пробуется через thermal-zone и часто требует прав администратора — если ОС откажет, поле остаётся пустым (это ограничение ОС). На Linux всё берётся из /proc и /sys.

2Индекс железа и оценка канала

Сводный индекс 0–100 меряет машину: single 20% · multi 40% · gpu 20% · mem 10% · disk 10%, функцией насыщения 100·v/(v+base). В v4.3 пороги перекалиброваны: gpu/mem/disk подняты ×1.5, а single/multi — до реалистичных значений (при старых порогах любая быстрая машина упиралась в 100%, и индекс завышал средние конфиги). Шкала открыта сверху: 100/100 недостижимо.

Ранг: S ≥90 · A ≥75 · B ≥55 · C ≥35 · D ниже. Типичный современный десктоп (6 ядер + карта среднего сегмента) теперь lands в B, а воркстейшн/сервер с топовой gpu — в A/S. Оценка канала считается отдельно и не входит в индекс железа. Кнопка ⚑ эталон фиксирует базу для стрелок ↑↓.

3Память узла и календарь-тепловик

Каждый успешный прогон стресса пишется в localStorage (поминутно за час + дневно за 30 дней). Календарь (клик по дате под часами) раскрашивает дни по индексу — палитра рангов. Клик по «цветному» дню пишет в журнал средний индекс и дельту к сегодня.

4Оповещения по порогам и светодиод АЛЕРТЫ

Движок раз в секунду проверяет: батарея <20%, пинг >250мс (только для удалённого источника), fps <20, сеть ушла, простой оператора >30 минут, а при компаньоне — cpu хоста >90% и температуру >85°. При срабатывании — баннер с кнопкой ACK, мигание рамки панели, строка ALERT и короткий бип.

Светодиод АЛЕРТЫ в шапке — индикатор охраны: зелёный = звук включён и всё штатно, красный мигающий = есть активный алерт, серый = звук выключен (🔕).

5Командная палитра и fullscreen

Ctrl+K — палитра: test, report, cal, baseline, mute, install, help. Одиночные хоткеи (когда фокус не в поле): T=диагностика, R=отчёт, M=mute. Двойной клик по шапке панели — fullscreen (как в Grafana). Esc — обратно.

6Расширенная диагностика и экспорт

В прогоне, но вне индекса: SubtleCrypto SHA-256, net-throughput, latency/jitter, задержка ввода keydown→paint, сравнение localStorage / IndexedDB / OPFS. Кнопка открывает выпадающее меню в стиле пульта: шаблон / снимок / журнал .log. ⊕ установить (PWA) — только на https/127.0.0.1.

7Ограничения песочницы

На file:// Chrome блокирует getUserMedia и setSinkId — не работают микрофон, камера, имена, выбор выхода и пинг. Поднимите сервер: установщик делает это сам, либо вручную python -m http.server 8000http://127.0.0.1:8000.

Полнота по браузерам: Chrome/Edge ≈ 95% · Firefox ≈ 60% · Safari ≈ 50%. Все измерения локальны — наружу ни байта (кроме компаньона на 127.0.0.1 и одного запроса внешнего ip через ipify).