' +'' +'' +'' +'' +'' +'' +'' +'' +'' +'' +'')//-->
Актуализированный репринт авторской статьи с форума Ru-Board • [веб-архив] Дата публикации: 14.02.2017. Последнее изменение на форуме: 14.02.2017. ★ Материал репринта обновлён, дополнен и исправлен по состоянию на 11.03.2021.
В этой статье рассмотрены методы снятия ограничений для аддонов с функциями создания или изменения закладок при работе в версиях браузеров до 38.
В частности, проблема может проявляться при работе с этим расширением при большом числе закладок или при частом использовании аддона для переупорядочивания закладок.
Вкратце ситуация выглядит как "только что работало же – и вот с чего-то поломалось".)
В версиях браузеров до 38 возможна блокировка расширений браузером при превышении лимита операций записи.
Возникшая проблема не решается ни перезапуском браузера или расширения, ни штатной переустановкой "глюкнувшего" аддона. Самое неприятное – при этом ни браузер, ни расширение не выдают никаких ошибок, но аддон тупо не работает.
Причина "нерабочести" – ID аддона заносится в "чёрный список" (в файл QuotaManager в профиле пользователя).
Блокировка не зависит от какого-либо конкретного аддона, так как определена лимитами в самом браузере.
Исходя из документации, предел лимита составляет до 1 млн. операций в минуту или в час, установка более высоких значений этих параметров в самом расширении проблему не решает.
Для решения указанной проблемы в старых браузерах имеются следующие варианты:
Это самое простое и эффективное решение – в версиях 38+ эти ограничения сняты.
Если это невозможно или нежелательно по каким-то причинам – читаем дальше.
Мы ведь не ищем лёгких путей, правда?
Переустанавливаем расширение распакованным, если "уже было" – меняем его ID путём переименования папки.
Это самый быстрый вариант, но решает проблему лишь временно – возможна повторная блокировка…
Также следует помнить, что этот метод приведёт к потере настроек расширения (если они есть).
Ищем в папке своего профиля файл QuotaManager и смотрим в нём вхождение ID "проблемного" аддона.
Если находим – при выгруженном браузере удаляем* все вхождения этого ID и перезапускаем браузер.
* Как вариант – в любом hex-редакторе забить нулём любой символ в ID, можно – все целиком.)
Хинт: чтобы не париться с hex-редактором – полезно иметь чистый* бэкап файла QuotaManager.
* То есть копию этого файла, сделанную ДО попадания аддона в "чёрный список".
Соответственно, при возникновении проблемы достаточно будет просто вернуть* файл из бэкапа обратно.
* …конечно же – это надо делать при выгруженном браузере, мы ведь не забыли об этом…)
Этот способ также не решает проблему в принципе, так что и в этом случае возможен "рецидив" блокировки…
Радикальный вариант – убрать ограничения в самом браузере, пропатчив файл chrome.dll (или iron.dll).
При этом в принципе решается проблема блокировки любых аддонов для работы с закладками.
Патч можно сделать в любом hex-редакторе, удалив* ограничивающие параметры.
* Как это сделано в версиях 38+, в которых ограничивающие параметры отсутствуют "из коробки"…)
Для примера рассмотрим пошагово патч файла iron.dll для браузера SRWare Iron версии 31. В других версиях или в других браузерах смотрим файл chrome.dll.
Во избежание проблем – не забудьте предварительно сделать резервную копию этого файла!
Итак, поехали! :)
3.1. Открываем файл iron.dll в hex-редакторе и ищем первое вхождение параметров: MAX_WRITE_OPERATIONS_PER_HOUR и (рядом) MAX_SUSTAINED_WRITE_OPERATIONS_PER_MINUTE.
Смотрим применительно к закладкам – чуть выше должно быть "browser\extensions\api\bookmarks\bookmarks_api.cc":
[Копия скриншота]
3.2. Забиваем нулями* оба "ограничителя", должно получиться вот так (слева – исходный):
* Возможно, достаточно обнулить только 1-й байт каждого вхождения, но я "для гарантии" забил всё…))
3.3. Опционально можно подправить и следующие вхождения ограничителей (только для закладок!):
Но, ещё раз, это уже опционально и "чисто для понту"…))
3.4. На этом всё, сохраняем изменённый файл, запускаем браузер и радуемся "неограниченной свободе"…)
Следует помнить, что патч не исключает блокировку полностью, изредка интенсивно "пишущие" аддоны всё же перестают работать. Однако, после патча аддон уже не будет занесён в "чёрный список" в QuotaManager и не будет блокироваться.
Если у вас и после патча аддон вдруг перестал работать – теперь достаточно просто перезагрузить браузер.
Примечания:
а) Если dll-файл патчили ПОСЛЕ срабатывания ограничений – придётся вычистить ещё и QuotaManager (метод 2 выше).
б) Чтобы не делать а) – заранее бэкапим файл QuotaManager, лучше – сразу после создания профиля.
в) Готовый iron.dll для версии 31.0.1650.57 со всеми патчами можно взять здесь (или по прямой ссылке).
Если у вас есть какие-либо вопросы или дополнения по существу материала – просьба отписаться в комментариях.