Перейти к содержимому

Глоссарий

Надстройка скрытности

Это обычный первый ответ на проверки роботов, и работает он ровно там, куда достаёт и сам сайт. Всё, что он заменил, читается как замена, потому что замена это не то, что было.

Надстройка скрытности это дополнение к средству автоматизации, которое правит значения браузера в странице, чтобы спрятать скрипт.

Что и когда оно меняет

Оно грузится скриптом, который идёт раньше скриптов сайта, и переписывает значения, уже решённые движком. Список, по которому оно проходит, короток и всем известен, и в этом часть беды.

  • Признак автоматизации

    Значение, говорящее, что за рулём скрипт, возвращают в ложь.

  • Список надстроек и языки

    Пустые списки наполняют тем, что нёс бы обычный браузер.

  • Строки графики

    Поставщик и отрисовщик отвечаются по таблице, а не драйвером.

  • Объект браузера

    Поля, которые несёт обычная сборка, возвращают, чтобы их отсутствие не заметили.

Почему подмена читается

Подменённая функция это новая функция, и несколько обычных чтений говорят об этом вслух.

  • Печатается исходник

    Спросив у функции её собственный текст, страница получает замену вместо родного признака.

  • Имя и число доводов другие

    У встроенной функции имя и число доводов заданы, и рукописная замена редко повторяет оба.

  • Меняется устройство свойства

    То, что было чтецом на образце, становится обычным полем на объекте.

  • Свежий мир остаётся нетронутым

    Новый кадр или поток начинают чистый мир, и там страница читает исходные значения.

Ваш браузер прямо сейчас

Эти четыре значения такая надстройка переписывает чаще всего, и здесь они прочитаны в вашем браузере.

В строке надстроек стоит счёт, а не список, потому что один только счёт уже примета.

Ваша машина прямо сейчас

Признак автоматизации
измеряем на вашей машине
Сообщено надстроек
измеряем на вашей машине
Поставщик графики
измеряем на вашей машине
Отрисовщик графики
измеряем на вашей машине

Прочитано в вашем браузере и показано здесь. Никуда не отправляется.

Откуда берутся наши ответы

Значения, которые сообщает профиль, задаются внутри движка из зерна, переданного ему строкой запуска. Они стоят на месте до того, как пойдёт хоть один скрипт страницы, и выводятся из этого зерна вместе, поэтому части сходятся друг с другом.

Значит, второго ответа, с которым страница сверила бы первый, просто нет. Свежий кадр или поток открываются с теми же значениями, что и окно над ними, и читаются эти значения как обычный родной код.

Что всё-таки идёт в странице

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

Каждая сборка ещё и объявляет, какие поверхности отвечает сама, а поверхность, которую она не отвечает, закрывается из страницы, пока сборка её не возьмёт. У движка, который едет сегодня, странице из личности не оставлено ничего.

Где отвечаетсяЧто там живёт
Внутри движкаСтрока, соседние поля, экран, видеокарта, шрифты, часы
В страницеМетки трекеров при уходе и отметки о прочтении в чатах
Обратно в программуСчёт, по имени, взятому заново на каждом запуске

Часто путают с этим

  • Антидетект-браузер

    Целый браузер, собранный отвечать как одна машина, а не скрипт страницы, правящий её задним числом.

  • Расширение браузера

    То, что вы ставите себе сами, и сайт часто замечает его по тому, что оно меняет на странице.

  • Скрытый режим

    Браузер без окна, и это отдельная примета, не та, которую правит подмена.

Чего это не делает

  • Программа не везёт с собой такой надстройки к средствам автоматизации, и здесь она не нужна. Puppeteer и Playwright подключаются к уже запущенному профилю, и ответы остаются движковыми.
  • Это не прячет повадку скрипта. Ровные паузы, одинаковые дорожки и сессия, которая ни разу не замешкалась, читаются много позже того, как значения улеглись.
  • Это не покрывает браузер, которого программа не запускала. Ваш обычный браузер отвечает за себя сам, и панель выше читает именно его.
  • Это не разрывает связь, которая уже возникла. Два аккаунта, открытые из одного профиля, останутся связанными, что бы скрипт ни переписал потом.

Проверить

Всё, что выше, взято из файла, который можно открыть.

Где решается личность профиля
apps/desktop/src/lib/forkEngine.js · engine/приёмка-отчёт.json
Что сборка накладывает на движок
engine/patches/series · engine/patches/armanos-fp.cumulative.diff
Что трогает страничная половина и чего не трогает
apps/desktop/src/lib/дыры-страницы.js · apps/desktop/test/дыры-движка-закрыты.js
Страничная половина не называет продукт
apps/desktop/src/lib/cdp.js · apps/desktop/test/fork-extension-stealth.js

Вопросы

Нужна ли она к здешнему профилю?
Нет. Значения приходят из движка ещё до того, как подключится ваш скрипт, и подключение средства их не меняет.
Почему правка в странице слабее?
Потому что она идёт после ответа движка и в том месте, куда страница может заглянуть. И исходное значение, и замена достаются одному и тому же сайту.
Идёт ли в странице что-нибудь ваше?
Да, и это стоит назвать: небольшой слой для меток трекеров и отметок о прочтении. Какие поверхности он трогает, зависит от того, что уже отвечает движок, а у движка, который едет сегодня, личность не из них.
Можно ли по-прежнему вести профиль через Puppeteer или Playwright?
Да, через собственный адрес автоматизации профиля, пока он открыт. Своё ведение программа делает, не включая тот канал чтения, за которым страница может следить, а средство включает его по привычке.
Выдаёт ли профиль открытый канал автоматизации?
Признак, который сказал бы об этом, отвечается ложью, и приёмка читает это значение с настоящей страницы на настоящем движке.

Ведите профиль без подмены в странице

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