Пробная версия, хром-порт расширения "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"]
Загрузка и установка
Дополнительно
|