360CSE Resource Mod • RU : Что "под капотом"

Бармалей 20.11.2019 06.06.2021 3900.0

В этом материале рассмотрены технические аспекты работы комплекта 360CSE Resource Mod • RU, указаны отличия модифицированных компонентов от оригинальных, приведены некоторые технические подробности по разработке.

В этой статье:


Технические особенности комплекта и отличия от прототипа

Как уже было сказано, комплект "360CSE Resource Mod • RU" может применяться не только путём установки всех его компонентов, но и по частям, с использованием только отдельных страниц, работающих независимо друг от друга.

Однако, при частичной установке компонентов набора следует помнить, что страницы "новой вкладки" (New Tab Mod) и страницы выбора тем оформления и обоев (Wallpaper Mod) в некотором отношении взаимосвязаны, поэтому их лучше применять совместно, в паре, чтобы не ограничивать общий доступный функционал.

Процесс установки комплекта (или его отдельных компонентов) сводится к замене (перезаписи) соответствующих файлов в основной папке установки браузера одноимёнными zip-файлами из скачанного 7z-архива выбранной версии.

Перед установкой комплекта или его отдельных компонентов желательно сделать резервную копию всех файлов *.zip из основной папки установки браузера. Это позволит в любой момент отменить установку модификаторов и вернуть "всё как было", если вдруг "что-то пойдёт не так"… :)

Все изменения служебных страниц/ресурсов применяются "на лету", перезагрузка браузера не требуется.

Дальнейшая работа с модифицированными страницами не отличается от действий со штатными страницами браузера.

Общие отличия модифицированных версий от оригинальных с точки зрения пользователя:

  • Моды содержат полный русский перевод всех диалогов, сообщений и подсказок (жёстко зашит в коде).
  • Для повышения удобства работы добавлены дополнительные функции, отсутствующие в оригиналах.
  • Интерфейс модов выполнен в едином стиле, не зависящем от применяемой версии и/или линейки браузера.
  • При выборе в браузере "тёмной темы" оформления стили интерфейса модов переключаются автоматически.
  • Код модов максимально автономен, удалены/ограничены сетевые запросы к доменам *360.cn.

Основные технические отличия модификаторов комплекта от прототипа заключаются в следующем:

  • Моды не требуют никаких специальных разрешений (определяются по умолчанию для служебных страниц).
  • Моды могут работать полностью автономно, настройки сохраняются локально, синхронизация не требуется.
  • Моды работают только в открытых страницах, не имеют фонового процесса и не занимают память в покое.
  • Моды проверены на отсутствие ошибок и оптимизированы по скорости выполнения (код без "мусора").
  • Моды используют в работе только штатные функции, весь код полностью переписан на чистом JS.
  • В стилях интерфейса используются параметры CSS2, одинаково работающие на всех линейках 360Chrome.

Подробности по конкретным выпускам модификаторов смотрим в описаниях по "Истории версий".

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


Error Page Mod : замена страницы сообщений при ошибках сети

Улучшенная и "причёсанная" замена оригинальной страницы errorpage.zip. Общий смысл доработки, думаю, понятен – получить хоть что-то осмыленное, помимо стандартного "лимона" с текстом "Вы не посетили веб-сайт"… :)

Внешний вид модифицированной страницы с примером сетевой ошибки:

Эта страница отображается браузером автоматически при возникновении ошибок доступа или иных проблемах с сетевым соединением. На странице выводится текст и код ошибки, развёрнутое пояснение по ней и элементы управления (кнопки):

  • кнопка вызова поиска информации по существу возникшей ошибки (поиск в Google, "зелёная лупа");
  • кнопка перехода в корень домена проблемной страницы ("Домен L2");
  • кнопка перехода (возврата) на предыдущую страницу ("Предыдущая");
  • кнопка проверки сети пингом на официальный сайт 360.cn ("Проверить сеть");

    Результат проверки отображается в строке сообщений ниже ряда управляющих кнопок (см. скриншот выше).

  • кнопка перехода на "хомяк" модификатора ( в правом верхнем углу страницы, пост на форуме Ru-Board).

Проверить работоспособность модифицированной версии можно несколькими простыми способами:

  • как минимум – можно просто "выдернуть шнурок" (отключиться от сети) и попытаться зайти на любой сайт;
  • набрать произвольный URL с намеренной ошибкой в имени домена и попытаться перейти на него;
  • временно заблокировать какой-нибудь ресурс файерволом и попробовать зайти на него… :)
  • на служебной странице chrome://network-errors/ (пощёлкать по ссылкам имитации ошибок);
  • пощёлкать по ссылкам на странице chrome://chrome-urls – часть страниц отсутствует* в 360Chrome.

    * Например, chrome://apps или chrome://policy. При обращении к ним будут выданы соответствующие ошибки.
    В этом случае также будет изменён набор кнопок доступных действий (см. выше), проверки сети и домена не требуются.


SSL Block Mod : замена страницы сообщений об ошибках сертификатов

Улучшенная и "причёсанная" замена оригинальной страницы sslblock.zip. Задача модификации – предоставить пользователю расширенное описание проблем с сертификатами на конкретных сайтах и дать возможность принятия осмысленного решения о продолжении работы с такими сайтами на основе полученной информации.

Внешний вид модифицированной страницы с примером сайта с ошибкой сертификата:

Эта страница отображается браузером автоматически при обнаружении любой ошибки сертификата (истечение срока годности, некорректные подписи удостоверяющих центров, отзыв сертификата и т.д.). На странице выводится текст предупреждения с URL страницы и размещены элементы управления (кнопки и настройки, показаны на скриншоте):

  • общий блок предупреждения о небезопасном соединении со ссылкой на тему на форуме браузера 360CSE;
  • флаг (галка) постоянного пропуска проверки сайта ("Больше не блокировать этот сайт");

    При включении этой галки на конкретном сайте он помещается в ваш персональный список доверенных сайтов.
    После этого браузер больше не будет выдавать предупреждения для этого сайта о некорректном сертификате!
    В отличие от других Chromium-браузеров в 360Chrome эту установку можно отменить только ручной правкой настроек.
    Список доверенных сайтов с "плохими" сертификатами сохраняется в блоке "ssl_cert_decisions" файла Preferences в вашем профиле пользователя. Чтобы исключить конкретный сайт из доверенных – правим этот блок в "Блокноте", не забыв сделать резервную копию файла настроек. Правка должна производится только при выгруженном браузере, файл следует сохранять только в кодировке UTF‑8. При редактировании будьте предельно внимательны, удаляйте содержимое соблюдая структуру данных, чтобы не повредить файл настроек!

  • кнопка принудительного разового перехода на сайт ("Игнорировать предупреждение и продолжить…");
  • кнопка отображения блока расширенного описания ошибки сертификата ("Подробнее");

    Нажимается один раз, только на отображение блока, после показа блока становится неактивной.

  • кнопка прекращения работы с сайтом, закрывает текущую вкладку ("Закрыть");
  • кнопка поиска информации по существу возникшей ошибки (в блоке описания, поиск в Google, "зелёная лупа");
  • флаг (галка) автоматической проверки сертификатов в УЦ 360.CN ("Автоматически проверять…");

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

  • кнопка принудительной ручной проверки сертификата текущего сайта в УЦ 360.CN ("Проверить");

    Имеет смысл при отключении автопроверки, результат выводится с строке сообщений под кнопкой (см. скриншот выше).

  • кнопка перехода на "хомяк" модификатора ( в правом верхнем углу страницы, пост на форуме Ru-Board).

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


Wallpaper Mod : замена страницы выбора тем оформления и обоев

Улучшенная замена оригинальной страницы change_wallpaper.zip. Цель доработки – расширенная функциональность и повышение удобства выбора и установки тем оформления интерфейса браузера и фоновых обоев.

Внешний вид модифицированной страницы:

Эта страница отображается браузером как попап-окно "Выбор тем и обоев" при нажатии на кнопку с "Темы и обои" на странице "новой вкладки" и позволяет быстро выбрать и заменить тему оформления или фоновые обои окна браузера и установить некоторые параметры их отображения. На странице размещены элементы управления (вкладки, кнопки и настройки, показаны на скриншоте):

  • ряд кнопок-переключателей быстрого выбора вкладок окна:
    • "Интерфейс" – быстрый выбор типовых и стандартных тем оформления, есть кнопка перехода в магазин тем;
    • "Новые обои" – подгрузка и показ свежих поступлений фоновых изображений (обоев) из магазина 360.CN;
    • "Тематические" – показ обоев, сгруппированных по 18 темам, подгружаются из магазина 360.CN;
    • "Персональные" – ваши избранные обои и темы, полноценно работает при входе в аккаунт 360Chrome;
    • "Загруженные" – повторный выбор ранее установленных тем оформления и/или обоев;
    • ("Зис мод хоум") – кнопка перехода на "хомяк" модификатора (пост на форуме Ru-Board).
  • опция автоматического обновления списка обоев ("Автообновление", в списке выбора "Тематических" обоев);

    Включает поведение этой вкладки, как это заложено разработчиками в оригинальной странице. В модификаторе опция по умолчанию выключена (для повышения скорости работы страницы), но добавлена возможность обновления списка вручную по щелчку правой кнопкой мыши (смотрим подсказку к этой опции и к самой кнопке "Тематические").

  • меню выбора типа наложения обоев – "Быстрый доступ" (только на странице новой вкладки) или "Окно браузера" (как подложка всего окна браузера)
  • регулятор прозрачности интерфейса и плиток быстрого набора для новой вкладки ("Прозрачность");

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

  • кнопка установки параметров тем и обоев по умолчанию ("Сброс");

    Кнопка совмещена с кнопкой отключения обоев (по умолчанию, щелчок ЛКМ). При щелчке ПКМ устанавливается тема по умолчанию (JISU9). При выполнении сброса темы текущие обои (если установлены) сохраняются. При этом учитывается и восстанавливается режим обоев (окно браузера или только страница быстрого доступа).

  • кнопка вызова диалога выбора и установки обоев из локального файла ("Свои обои").

На отдельных элементах интерфейса имеются и свои собственные управляющие кнопки, отображаются при наведении курсора мыши и выполняют соответствующие действия для объекта под курсором (например, кнопки выбора, загрузки и подтверждения установки на эскизах стандартных тем интерфейса или на миниатюрах обоев). Назначение этих кнопок интуитивно понятно, для них также имеются всплывающие подсказки.

Все изменяемые параметры настроек сохраняются автоматически, в локальном хранилище профиля пользователя, при этом не требуется никаких дополнительных действий (поэтому и кнопки сохранения тоже нет)).


New Tab Mod : замена страницы "новой вкладки" и приложений

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

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

Внешний вид модифицированной страницы:

Эта страница отображается как "новая вкладка" и использует все доступные возможности браузера, позволяет быстро переходить на сайты из быстрого набора, работать с установленными приложениями и осуществлять поиск по разным тематическим категориям в нескольких поисковых движках. На странице размещены элементы управления (панели, кнопки и настройки, показаны на скриншоте).

Основные отличия модифицированной версии от оригинальной страницы:

  • Исправлены ошибки и "шероховатости" исходного кода оригинала, добавлены новые полезные функции.
  • Улучшена поисковая форма, добавлены новые движки и категории, выключатель подсказок и история запросов.
  • Восстановлены и доработаны отключённые в оригинале функции (работа с Панелью закладок и Приложениями).
  • Исправлена логика переключения режимов и логика переходов между отдельными панелями "новой вкладки".
  • Добавлены дополнительные опции и регуляторы, позволяющие настраивать желаемый внешний вид страницы .
  • Добавлены индикаторы состояния Настроек и регулятор прозрачности эскизов, улучшен дизайн Настроек.
  • Динамический вывод эскизов в режиме "сетка" с точки зрения "красоты исполнения" на разных мониторах.
  • Максимальное число эскизов в режиме "сетка" (или значков режиме "навигация") увеличено с 20 до 64,
  • Количество эскизов (значков) в одной строке "плавает" в зависимости от ширины экрана браузера, от 3 до 5.
  • Переход между панелями в режиме "сетка" осуществляется боковыми кнопками по кругу, в любую сторону.
  • Для быстрого перехода добавлен прямой переключатель панелей ("Галерея", "Избранное" и "Приложения").
  • Добавлено дополнительное меню для быстрого вызова наиболее часто требуемых служебных страниц.
  • Удалены невостребованные для русскоязычных пользователей элементы, связанные с китайскими сервисами.
  • Удалены все ошибочные функции, неработающие в браузерах семейства 360Chrome, код очищен от "мусора".
  • Оптимизировано и унифицировано локальное хранилище параметров настроек, взаимосвязано с Wallpaper Mod.

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

Как и при работе с Wallpaper Mod, все изменения параметров настроек и состояния панелей отображаются сразу же и сохраняются автоматически, в локальном хранилище профиля пользователя, при этом никаких дополнительных действий со стороны пользователя не требуется.

Подробнее со всеми функциями этого модификатора можно ознакомиться по описаниям из "Истории версий".


Blank New Tab Mod : минималистичная замена страницы "новой вкладки"

Лёгкая и простая замена оригинальной страницы newtab.zip. Задача доработки – максимальная простота NTP для любителей абсолютного минимализма. Основные цели – самая простая "новая вкладка" с возможностью подключения собственной произвольной страницы.

Мод разработан на базе расширения "about:blank as NewTabPage" версии 2021.6.4, работает аналогично, основан на простейшем JS-редиректоре с нулевой задержкой и функцией установки своего URL.

По умолчанию это полностью пустая страница (редирект отсутствует), имеющая фоновый скрипт ожидания двойного щелчка, по которому выводится диалог установки собственного произвольного URL:

Основные отличия модифицированной версии от оригинальной страницы и "полновесного" мода:

  • Процесс установки своего URL сделан упрощённо и в общем случае может быть выполнен только один раз.
  • При двойном щелчке в поле этой страницы выдаётся запрос на установку URL, после подтверждения ввода адреса он запоминается в localStorage аддона и сразу же выполняется переход по этому адресу.

    В качестве URL редиректа можно задать адрес любой желаемой страницы (например, веб-сайт). В отличие от прототипа можно указать любую из служебных страниц браузера (chrome://*), но нельзя задать локальную страницу (локальный файл). Исходя из упрощённой процедуры этой настройки, будьте внимательны при вводе адреса, повторно ввести его можно только путём редактирования локального хранилища расширения!

  • В дальнейшем, при вызове новой вкладки, редирект на заданный URL производится автоматически.
  • Для сброса (переустановки) запомненного URL редиректа следует заменить этот мод на непустой, отредактировать локальное хранилище, затем снова установить мод и повторить процедуру ввода адреса редиректа.

    Можно применить и "микро-хак", не требующий переустановки мода: для этого следует вызвать новую вкладку и сразу же зажать клавишу ESC (если успеете)), ДО начала загрузки (!) URL редиректа. После этого нужно открыть консоль (F12) и на вкладке ресурсов найти и удалить (или исправить вручную) параметр локального хранилища "NTP". После этого достаточно перезагрузить страницу и можно задавать редирект снова, как описано выше (либо он будет автоматически производиться по исправленному вами адресу). В общем, как-то так… :)

  • Сохранение URL редиректа в локальном хранилище не приводит к удалению (конфликту) с настройками основного мода или оригинальной страницы новой вкладки, поэтому, при необходимости, минималистичная версия всегда может быть заменена обратно на полнофункциональную простым копированием нужного zip-файла.
  • Этот мод имеет минимальный размер кода (менее 2 kB) и грузится максимально быстро.
  • В этом моде отсутствуют какие-либо функции, специфичные для браузера.

Исходный код, интерфейс и задействованные API

В коде используется только чистый JavaScript (ES5), неподдерживаемые в "старых" браузерах функции отсутствуют.

В интерфейсе применяются стили стандарта CSS2, неподдерживаемые в "старых" браузерах директивы отсутствуют.

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

В модификаторах страницы выбора тем и обоев (Wallpaper Mod) и страницы "новой вкладки" (New Tab Mod) для работы и хранения пользовательских настроек используется API chrome.storage. В текущей версии дополнений для них не требуются дополнительные разрешения, размер данных не превышает ограничения по умолчанию.

В скриптах остальных модификаторов специфичные API расширений не применяются (не требуются).

Все компоненты комплекта "360CSE Resource Mod • RU" полностью русифицированы, для всех элементов интерфейса, сообщений и пунктов меню используется единственный язык – русский. Текстовые строки жёстко зашиты в код, другие языковые локализации не поддерживаются. Это сделано с целью упрощения кода расширений и для повышения их быстродействия в целом.

Аддоны комплекта не имеют практических ограничений по версии браузера, используемые API, стили и скрипты могут работать в любых линейках 360 Extreme Explorer версий 9.5+ (CR-63+).

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



Так держать! :)
Технические детали

Общие технические сведения о разработке
Статус разработки:Активная, поддерживается автором
Язык интерфейса:Русский
Версия браузера:360CSE 9.5+
Протестировано в:360 Extreme Explorer 9/11/12/13 (CR-63/69/78/86)
Технологии и API:Чистый HTML, JavaScript (ES5), CSS2

URLПоделиться

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