' +'' +'' +'' +'' +'' +'' +'' +'' +'' +'' +'' +'')//-->
.URL+ RU – создаёт и корректно открывает файлы *.URL (ссылочные ярлыки для сетевых ресурсов, Windows‑формат). Открытие URL из файлов ярлыков не зависит от браузера по умолчанию и других системных настроек. Создание файла ярлыка доступно для любой просматриваемой страницы, включая локальные и служебные, имя файла соответствует заголовку вкладки. Предоставляется по лицензии GPL v.3, бесплатно для частного некоммерческого использования.
В этой статье:
.URL+ RU – расширение для браузеров семейства Chromium, создаёт и корректно открывает файлы *.URL (ярлыки интернет‑ресурсов, Windows‑формат).
Основное назначение – обеспечить корректную работу с внешними файлами ярлыков. Главная цель – простота и компактность решения и работоспособность на любых версиях браузеров.
Расширение создано под эти задачи на базе двух отдельных аддонов – "окрывашки" ярлыков .URL Handler и "создателя" ярлыков Save As Shortcut. В форке обе задачи сведены в один общий "пакет" (2‑в‑1), базовые функции доработаны и улучшены, добавлены дополнительные возможности, полностью русифицирован интерфейс.
При выпуске первой версии в мае 2018 года расширение "брэндировано" как ".URL+" и получило приставку RU, символизирующую "заточенность" решения на русскоязычную аудиторию пользователей. На текущий момент аддон распространяется под этой "торговой маркой".
В результате "доработки* напильником" аддон .URL+ RU стал отличной альтернативой прототипам и другим аналогам, не только не уступая им по качеству решения главных задач, но и превосходя их по общей "лёгкости" и функционалу.
* Самое важное отличие – существенно меньшая ресурсоёмкость, при условии полной идентичности выполняемых функций общий размер кода нового "микро‑комбайна 2‑в‑1" уменьшен почти в 200 (!) раз по отношению к суммарному объёму прототипов.
Следует особо отметить, что в отличие от многих других современных аддонов, в .URL+ RU нет (и никогда не будет) никакой "допустимой" или скрытой рекламы, это расширение не является предметом монетизации.
Автор гарантирует отсутствие в этом расширении каких‑либо следящих, "стучащих" и иных "статистических" механизмов, а также любых других средств, направленных на "персонализацию" конечного пользователя с целью получения какой‑то коммерческой выгоды.
.URL+ RU работает на любых хром‑браузерах и позволяет сохранить файл ярлыка* для любой просматриваемой страницы, при этом имя сохраняемого файла автоматически генерируется по заголовку текущей вкладки. В стандартном диалоге сохранения можно вручную изменить имя файла и/или путь его сохранения.
* Сохранённые файлы *.URL (ярлыки интернет‑ресурсов, Windows‑формат) можно затем открывать непосредственно из "Проводника" в любом другом браузере, поддерживающем этот формат. Для открытия таких файлов в хром‑браузерах следует установить ассоциацию вашего браузера с этим типом файлов стандартным способом (ПКМ + "Открыть с помощью…").
Разработаны четыре линейки аддона, отличающиеся только способами вызова функции создания файла ярлыка.
Все линейки имеют одинаковый ID и полностью взаимозаменяемы при (пере)установке поверх друг друга.
Создать ярлык на текущую страницу можно следующими способами:
* В браузерах версий 48+ можно отключить контекстное меню (кроме линейки Mini – там это единственный способ вызова). Эта настройка доступна в контекстном меню кнопки в омнибоксе (или в меню кнопки на тулбаре в линейке Classic):
В браузерах версий 31–47 эта настройка доступна в контекстном меню страницы на служебных страницах браузера (кроме линейки Mini):
Кроме сохранения файлов ярлыков, .URL+ RU полностью решает "застарелый" баг, известный ещё с 19 версии движка (с 19‑й, Карл!!)), но так и не исправленный даже в новейших билдах.
Как уже сказано, аддон корректно открывает файлы ярлыков, независимо от браузера по умолчанию и других системных настроек. Это позволяет установить (при желании) системную привязку этих файлов к вашему браузеру для их открытия непосредственно из "Проводника" или другого файлового менеджера.
Механизм открытия внешнего файла ярлыка во всех линейках реализован одинаково и приводит к автоматическому редиректу на содержащуюся в нём ссылку. Редирект производится в той же вкладке (окне), в которой файл был открыт.
После длительного перерыва, в апреле 2025 года разработка аддона была возобновлена. Основной причиной стала потребность в обновлении расширения под текущие версии браузеров, а также критичное изменение API горячих клавиш, сделанное в движках CR72+ и приводившее к ошибке при установке версий 2018 года (Classic/Omnibox) в новых браузерах.
Кроме того, ещё одним важным изменением стало применение кода, работающего в версиях с манифестом MV3 при сохранении обратной совместимости с версиями манифеста MV2. Эта задача была успешно решена, в результате была выпущена новая "флагманская" версия линейки UniMax (новый "брэнд", пришедший на cмену базовой линейке Omnibox).
Новая линейка, помимо универсального кода, работающего на любых браузерах от CR31 до текущей CR132, объединила максимум функциональных возможностей: она позволяет создавать ярлык любым из способов (щелчок по иконке, хоткей или контекстное меню) и "умеет" отображать значок аддона как в омнибоксе (в браузерах CR31‑CR62), так и на тулбаре (все версии браузеров с движком CR63+).
Кроме того, в линейке Unimax используется принцип "один код в любом браузере", универсальное решение, совмещающее преимущества "классического" манифеста MV2 с текущими актуальными API манифеста MV3. В результате этого подхода различие вариантов для "старых/новых" браузеров сводится к замене отдельных параметров в файле манифеста, сам исполняемый код при этом абсолютно одинаков и не зависит от манифеста.
Эта универсальная концепция впервые опробована автором в другом расширении – "Агрегатор поисковых машин", в аддоне .URL+ RU она также получила подтверждение правильности выбранного подхода к созданию приложений, не зависящих от клиентской версии браузера (сохраняется одинаковая функциональность кода).
Кроме "флагмана" также были обновлены и другие линейки .URL+ RU: вариации "Classic" и "Mini" (более лёгкие и простые, но с частично урезанным функционалом по отношению к "флагману"). Базовая линейка 2018 года ("Omnibox") на текущий момент потеряла актуальность и снята с дальнейшей разработки и поддержки.
Таким образом, конечный пользователь теперь имеет возможность простого и понятного выбора нужной ему версии расширения, полностью подходящей под его конкретные условия и рабочую среду.
Ниже приведены технические особенности расширения и некоторые подробности по исходному коду.
.URL+ RU не использует для работы никакие сторонние библиотеки (привет любителям JQuery)).
В коде применён только чистый JS (ES5), все неподдерживаемые в "старых" браузерах функции заменены на аналоги.
Скрипт работает в "строгом" режиме – для гарантированного выполнения функций и облегчения отлова ошибок.
Аддон загружается только в момент вызова, не имеет фонового процесса и не занимает память в покое. Кроме того, добавлена функция ускоренной выгрузки расширения из памяти после выполнения требуемых действий.
Для работы со вкладками задействуется API chrome.tabs. Этот API используется в "омнибоксной" и "классической" линейках, в "мини" его применение не требуется. Кроме того, в "омнибоксной" и "универсальной" линейках также применяется разрешение activeTab, упрощающее действия на текущих страницах.
Для работы функции, связанной с открытием файлов ярлыков, применяется инжекция скрипта в текущую страницу (API контент‑скриптов). Инжектор работает только для локальных файлов *.URL, для работы с ними в манифесте указано разрешение [ "file://*.url" ].
Интерфейс для "открывающей" части отсутствует, процесс получения URL из файла ярлыка и его последующее открытие во вкладке происходит полностью автоматически.
Интерфейсная часть аддона используется для функции создания ярлыка текущей страницы (вкладки) и в контекстном меню страницы во всех линейках представлена единственным пунктом на веб‑страницах:
Кроме того, в текущих версиях всех линеек в браузерах версий CR31‑CR47 в меню страницы на служебных страницах браузера отображается и меню настроек и ссылок на документацию (см.скриншот выше).
Для запуска функции создания ярлыка через контекстное меню применяется стандартный API chrome.contextMenus. Этим же API предоставляется доступ к настройкам аддона во всех линейках.
Для вызова функции создания ярлыка при щелчке по кнопке в омнибоксе применяется API chrome.pageAction. Для ускоренной и гарантированной отрисовки кнопки на всех вкладках используется API chrome.declarativeContent. Оба этих API используются только в "омнибоксной" линейке (и в пришедшей ей на смену линейке UniMax).
Для вызова функции создания ярлыка при щелчке по кнопке на тулбаре применяется API chrome.browserAction. Этот API используется только в "классической" линейке.
Оба вышеуказанных API в версиях с манифестом MV3 заменяются на API action. На текущий момент этот API используется только в "классической" линейке и в "универсальной" линейке "UniMax".
Для вызова функции создания ярлыка по горячей клавише используется API chrome.commands. Этот API используется только в "омнибоксной" и "универсальной" линейках.
Для обеспечения корректной работы аддона по созданию ярлыков на любых вкладках, включая локальные и служебные страницы, в манифесте запрашивается разрешение [ "<all_urls>" ].
Расширение работает полностью автономно. Настройки также автономны и сохраняются только в локальном хранилище самого аддона, синхронизации нет. Для работы с хранилищем применяется API chrome.storage. Запрос отдельного разрешения [ "storage" ] в манифесте при этом необязателен* и не указан*. Этот API, по сути, используется только в версиях с манифестом MV3 (с апреля 2025 года, все линейки, кроме "омнибоксной", теперь уже снятой с поддержки). В вариантах с "класическим" манифестом MV2 все настройки сохраняются в localStorage расширения.
* Относится только к версиям с манифестом MV2. В версиях с MV3 это разрешение установлено в обязательном порядке (иначе в принципе невозможно получить доступ к сохранённым настройкам).
Начиная с версии 2025.4.28 в аддоне также применяется API управления загрузками (chrome.downloads) с установкой соответсвующего разрешения [ "downloads" ] в манифесте. Этот API используется для автоматического удаления предыдущих сохранений ярлыков из общего списка загрузок браузера.
Итоговые разрешения для актуальных версий расширения следующие:
Практических ограничений по версии браузера не имеется, используемые API работают в версиях 22+ (минимум для работы контекстного меню, для вызова по хоткею требуется версия 25+). Однако, следует учитывать, что текущие версии аддона имеют ряд дополнительных ограничений, поэтому для полноценной и беспроблемной работы не рекомендуется их использовать в браузерах с движком старше CR31 (старые версии – можно).
Язык интерфейса – только русский (локализация жёсткая, зашита в коде), другие* локализации отсутствуют. Это связано со значительным упрощением кода, а также с тем, что при создании расширения автор в первую очередь ориентируется на русскоязычных пользователей.
* Впрочем, если "дело пойдёт", прикрутить ещё и "басурманский" не является особой проблемой…)
Расширение не имеет практических ограничений по версии браузера, может использоваться на любых хром‑браузерах версий 22+ (рекомендуется 31+). Однако, с учётом различных "новшеств", вводимых производителями браузеров, желательно ознакомиться с документацией на конкретный билд, который планируется установить – могут быть, так сказать, "некоторые нюансики" и их необходимо учитывать.)
Можно загрузить любую из версий .URL+ RU на следующих ресурсах:
Настоятельно рекомендуется использовать текущую стабильную версию выбранной линейки расширения. Более ранние выпуски можно устанавливать только в исследовательских целях для сравнительного анализа функций и возможностей аддона. Авторская поддержка предыдущих версий не осуществляется, претензии по возможным проблемам их эксплуатации не рассматриваются.
При возникновении сложностей с установкой читаем этот совет.
Для работы в режиме "инкогнито" в блоке аддона на странице chrome://extensions включаем опцию: Разрешить использование в режиме инкогнито [читать матчасть]
Для работы с локальными файлами в блоке аддона на странице chrome://extensions включаем опцию: Разрешить открывать файлы по ссылкам