Block Cloudflare MITM Attack CR : 2019.2.9
Опубликовано: Бармалей · 09.02.2019 · 00:01 ••• Обновление: 03.07.2020 · 09:20 0

Пробная версия, хром-порт расширения "Block Cloudflare MITM Attack FX" версии 1.0.10.1.
Портированная версия для Firefox, фикс мелких проблем, мешающих нормальному запуску.

Форк "запилен" по "просьбам трудящихся", в дальнейшем стал основой для Cloudless • RU.

Тестовая версия, ID отсутствует, установка только в режиме разработчика.

Проверено в браузере SRWare Iron 49.

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


Основные изменения:
  • поправлены "досадные проблемки", приводящие к полной нерабочести аддона в хром-браузерах:
    • мелкая "очепятка" – лишняя запятая в функции замены (файл stop_cf_mitm.js, 169-я строка):
      // var v_whitelist=r.url.replace('https://0.0.0.0/cfmitm_addon/allow/','',).split…
      var v_whitelist=r.url.replace('https://0.0.0.0/cfmitm_addon/allow/','').split…
    • корявка, связанная с тем, что не понимается тип браузера (оперируется "browser…" вместо "chrome…")
      обнаружена в файле setwhitelist.js, решается повальной заменой во всём файле или вставкой строчки:
      var browser = chrome;
      в начало файла или в хвост – перед листенерами, без разницы..)
    • ну и более серьёзный косяк – ошибка:
      Uncaught Error: Invocation of form get() doesn't match definition get(optional string or array or object keys, function callback)
      связано с некорректным определением функции доступа к локал-стораджу, решается заменой в двух файлах:
      • stop_cf_mitm.js, 26-я строка:
        // function whitelist_reload(){chrome.storage.local.get().then(function(w){
        function whitelist_reload(){chrome.storage.local.get(function(w){
      • setwhitelist.js, 49-я строка:
        // var getting=browser.storage.local.get();getting.then(setCurrentChoice,onError);
        // т.е. вот так:
        // var getting=browser.storage.local;getting.get(setCurrentChoice,onError);
        // или ещё проще – сразу и без промежуточных переменных:

        chrome.storage.local.get(setCurrentChoice,onError);
  • операторы "then" лучше везде убрать, чтобы реально работало в старых версиях хромых – раз уж в манифесте заявлено 49+), в частности – в 49-й версии эта фишка "искаропки" ещё была недоступна, это более свежий стандарт JS (2015 года)…
  • остальное не проверялось, функции блокировки – также не пробовались…

История и обсуждение

Общие технические сведения
  • Технологии и API:
    Чистый JS (ES6), API: webRequest, storage, tabs
  • Запрашиваемые разрешения:
    ["webRequest", "webRequestBlocking", "", "storage", "activeTab", "tabs"]

Загрузка и установка

Дополнительно

Инженерные релизы Документация
Бармалей 09.02.2019 03.07.2020 227 0.0

Поделиться

Всего комментариев: 0
close