serverКак установить tampermonkey и скрипт для дебага WebRTC

Установка Tampermonkey в Chrome и добавление пользовательского скрипта

Установка Tampermonkey

Для запуска пользовательских скриптов в Chrome удобно использовать расширение Tampermonkey.

Перейдите в магазин Chrome и установите расширение:

После установки нажмите на значок расширений справа сверху и закрепите Tampermonkey.

circle-info

Расширение нужно только для запуска скрипта в браузере. Само по себе оно не устраняет утечки WebRTC.

Как добавить скрипт вручную

Для этой инструкции используйте скрипт из Gist:

1

Откройте Gist со скриптом

Перейдите по ссылке на Gist.

Откройте файл со скриптом и полностью скопируйте его содержимое.

2

Создайте новый скрипт в Tampermonkey

Нажмите на иконку Tampermonkey и выберите Create a new script.

Удалите стандартный шаблон, который откроется в редакторе.

3

Вставьте код скрипта

Вставьте скопированный код из Gist в редактор Tampermonkey.

Сохраните изменения сочетанием Ctrl + S или кнопкой File → Save.

4

Проверьте, что скрипт включен

Убедитесь, что новый скрипт отображается в списке Tampermonkey и находится в статусе Enabled.

Как проверить, что скрипт работает

  1. Убедитесь, что переключатель у скрипта включен.

  2. Обновите нужную страницу.

  3. Откройте DevTools через F12.

  4. Перейдите во вкладку Console.

  5. Удобно фильтровать вывод по меткам \[TM], \[WebRTC] и \[NET].

Какие логи должны появиться

Сразу после запуска скрипта обычно появляются служебные сообщения:

Если страница создает RTCPeerConnection, в консоли появятся логи по WebRTC:

Во время сбора кандидатов будут видны локальные и удаленные кандидаты:

Если соединение дошло до выбора маршрута, скрипт покажет итоговый путь:

Если сайт отправляет WebRTC-данные через fetch, xhr, WebSocket или sendBeacon, скрипт тоже это покажет:

На что смотреть в первую очередь

  • \[TM] WebRTC hook installed — скрипт успешно загрузился.

  • \[WebRTC] created — страница реально создала WebRTC-соединение.

  • \[WebRTC] local candidate parsed — виден локальный кандидат.

  • \[WebRTC] remote candidate parsed — виден удаленный кандидат.

  • \[WebRTC] REAL REMOTE ENDPOINT — самый полезный лог. Он показывает конечную удаленную точку, которую выбрал WebRTC.

Если логов мало

Этот скрипт добавляет две ручные команды в консоль:

Первая команда повторно выводит выбранные пути.

Вторая показывает полный снимок candidate-pair, local-candidate, remote-candidate и transport.

Полезно проверить после установки

После запуска скрипта можно проверить поведение WebRTC через сервисы из статьи Через что можно проверить утечку WebRTC.

Если хотите понять сам механизм утечки, смотрите статью Как работает утечка через WebRTC.

Последнее обновление

Это было полезно?