Рубрики
Без рубрики

Как преувеличивать инкогнито блок

Mtyás fodor, как преуспевать incognito BlackRechny я наткнулся на несколько сайтов, которые показали предупреждение или Paywall, потому что я использовал режим Incognito. Я думаю, что это несправедливо. Мне должно быть разрешено использовать любой браузер и режим, который я хочу. Это способ обеспечить соблюдение их отслеживания

Автор оригинала: FreeCodeCamp Community Member.

Mtyás fodor.

Недавно я наткнулся на несколько сайтов, которые показали предупреждение или Paywall, потому что я использовал режим Incognito. Я думаю, что это несправедливо. Мне должно быть разрешено использовать любой браузер и режим, который я хочу. Это способ обеспечить соблюдение их инструментов отслеживания. Я знаю, что Incognito не безопасно Но это голый минимум, который вы можете сделать, чтобы избежать рекламы для отслеживания вас.

Вся вещь взяла у меня около двух часов И я многому научился о расширениях браузера и взлома клиентского кода в качестве конечного пользователя. Я думал, что это может стоить делиться.

Во-первых, я должен был посмотреть, как обнаружить личный режим. Согласно своим лучшим знаниям, нет браузера API для обнаружения частного режима напрямую, поэтому я был уверен, что это подлый маленький сценарий. Это Ответ стойки оттенки дал мне подсказку, поэтому я знал, что придется искать webkitrequestfileSystem. . Я нашел это Бит в одном из тех частных сайтов ненавистных сайтов «заминированный код JavaScript». Вот захватывающая часть:

Я мог бы проверить модуль Вставляя его в Incognito и Public Browser Window Console и запустить:

var module = {};incognito(null, module);module.exports.detectIncognito().then(console.log)

Бинго! Это, я просто должен найти способ не вызывать ошибки обратного вызова в window.webkitrequestfileSystem (..) Отказ Самый простой способ – это обезьяна патч функция:

(function(webkitRequestFileSystem) {  window.webkitRequestFileSystem = function(t, s, success, error) {    webkitRequestFileSystem(t, s, success, success);  }})(window.webkitRequestFileSystem);

Если вы не знакомы с техникой, Пятно обезьяны Это способ добавить, изменить или подавлять поведение по умолчанию кусок кода во время выполнения без изменения исходного кода исходный код.

Обход 1: Сначала я начал писать свое собственное расширение Chrome, используя Расширение Отказ Это отличный инструмент, генерирующий код Chrome Extension Code. Но в итоге я нашел более легкое решение.

Всякий раз, когда дело доходит до настройки веб-сайтов, которые я использую Tampermonkey (Например Скрытие объявлений о работе на переполнении стека, когда я действительно не должен проводить время на поисках новых позиций). Вам не нужно устанавливать N + 1-й расширение, и он предоставляет хороший интерфейс для управления вашими сценариями. Хорошо, приятно, наверное, преувеличение, это некрасиво, но удобно.

Поэтому я добавил скрипт патча обезьяны, который я ссылался выше, уже хихикал, насколько легко было, но облом, это не сработало. Я попробовал несколько других вещей, например:

window.foobar = 'baz';

Но в консоли Dev это свойство отсутствовало из окно Переменная. Оказалось Содержание скриптов работают в изолированной среде, они делятся только DOM с помощью сценариев веб-страницы. Я начал работать с ссылочным решением от этого. Была одна очень важная вещь, однако, мне пришлось выполнить этот код перед текущей страницей кода. Вот что я придумал:

function injectScript(file_path, node) {        var element = document.createElement('script');        element.setAttribute('type', 'text/javascript');        element.setAttribute('src', file_path);        element.setAttribute('async', false);        node.appendChild(element);}injectScript(url, document.documentElement);

Обход 2: Как я начал с расширения, загрузка другого файла JavaScript была тривиальным. Однако это не так с сценариями Tamplmonkey (по крайней мере, я не знаю об этом). Поэтому я решил поставить свой код в Github Gist и попытался загрузить сырой файл . Но затем браузер жаловался на его тип MIME. Наконец я закончил использовать https://rawgit.com/ . , который был именно правильным инструментом для этого.

Я понял, что я должен добавить эти несколько строк Code Code Patch Monkey в виде строки и заполнить текст элемента скрипта с этим. Вот мое окончательное решение:

Важным, что нужно знать, если вы работаете с TamperMonkey в режиме Incognito: ваши изменения, сделанные в режиме Incognito, не появятся в обычном режиме, и наоборот: вы должны закрыть все свои личные окна, если вы хотите попробовать свои последние изменения в Общественный режим.

Будь осторожен! Если вы решили использовать свой скрипт, вы должны знать, что это может (Хотя не очень вероятно) разбить несколько веб-страниц. Вы всегда можете отключить их в Tampermonkey. Используйте его на свой страх и риск.

Оригинал: “https://www.freecodecamp.org/news/disabling-browser-incognito-check-cc84288e89b3/”