Перейти к основному содержимому

Настройки правил

Эта страница содержит подробную информацию о каждой настройке на экране редактирования правил в приложении Redirect Web.

Опции

Тип

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

  • Оригинальный (по умолчанию)
    • Использует традиционные веб-API для управления перенаправлением. Дополнительно, он использует Tabs API в качестве запасного варианта.
      • В Firefox используется WebRequest API для обработки перенаправления.
    • Вы можете использовать все опции, кроме Типов ресурсов и Методов запроса.
    • Это медленнее, чем тип Декларативный, и может вызывать дополнительные сетевые запросы.
  • DNR (экспериментально для Safari):
    • Этот тип работает намного быстрее, чем оригинальный тип, потому что он не инициирует сетевой запрос для исходного URL.
    • Это позволяет указывать Типы ресурсов и Методы запроса.
    • ⚠️ Вы не можете использовать некоторые опции, такие как Обработка захватываемых групп и Исключенные шаблоны URL, поскольку они еще не поддерживаются DNR API.
    • ⚠️ В Safari в настоящее время нельзя включать символы | в шаблон регулярного выражения. Подробности
    • ⚠️ Поскольку DNR API Safari все еще имеет некоторые проблемы, мы считаем его экспериментальной функцией для Safari. Список всех известных проблем можно найти здесь.

Перенаправить с

Опция Перенаправить с позволяет указать шаблон URL веб-страниц, с которых вы хотите перенаправить. Вы можете выбрать либо Маску, либо Регулярное выражение.

Например, если вы укажете https://example.com/* с Маской, это будет соответствовать https://example.com/ или https://example.com/hello.

примечание

В опции "Перенаправить на" вы можете ссылаться на все совпадение с помощью $0 или на частичные совпадения с помощью $1, $2, ... Подробности см. в разделе Шаблон URL на этой странице.

Типы ресурсов

Поддерживаемые типы: DNR

Опция Типы ресурсов позволяет указать категории веб-запросов, такие как изображения, JavaScript и таблицы стилей, к которым применяется правило. Например, если вы установите script, вы можете перенаправлять файлы JavaScript, загружаемые веб-страницами.

В настоящее время доступны следующие: main_frame, sub_frame, stylesheet, script, image, font, xmlhttprequest, ping, media, websocket, other

Настройка по умолчанию — main_frame, что является страницей верхнего уровня, загружаемой во вкладку.

Пожалуйста, проверьте подробности каждого типа ресурса в mdn web docs.

Методы запроса

Поддерживаемые типы: DNR

Опция Методы запроса позволяет установить целевые HTTP-методы исходного URL.

Все методы установлены по умолчанию.

Пожалуйста, проверьте подробности каждого метода в mdn web docs.

warning

В Safari эта опция может быть недоступна, поскольку текущая реализация Apple для типа DNR, похоже, не обрабатывает ее. Мы отправили отзыв в Apple как FB14502272.

Целевые браузеры

Поддерживаемые платформы: macOS

Опция Целевые браузеры позволяет указать, к какому браузеру правило должно или не должно применяться.

  • Вы можете выбрать 2 типа браузеров:
    • Браузеры, которые вы можете выбрать по умолчанию: По умолчанию вы можете выбрать Safari, Chrome, Firefox, Edge, Opera, Arc, Brave и Vivaldi. Это не различает варианты одного и того же браузера, такие как Safari и Safari Technology Preview.
    • Браузеры, указанные пользователем: Нажав кнопку "Добавить" во всплывающем окне, вы можете выбрать любой браузер, кроме Safari или Safari Technology Preview, в котором установлено расширение Redirect Web.
  • Флажок Все, кроме выбранных позволяет нацеливаться на все браузеры, кроме тех, которые вы выбрали.
warning

Redirect Web не может различить, является ли браузер Safari или Safari Technology Preview, потому что приложение проверяет родительский процесс расширения для его обнаружения, но эти два браузера используют один и тот же родительский процесс (/sbin/launchd).

Перенаправить на

Опция Перенаправить на указывает целевой URL, на который вы хотите перенаправить с исходного URL, соответствующего опции Перенаправить с. Вы также можете подставлять захватываемые группы с помощью $1, $2, ... или все совпадение с помощью $0. Это помогает динамически указывать назначение. Подробности см. в разделе Шаблон URL на этой странице.

Например, если вы установите следующее правило:

  • Перенаправить с: https://google.com/* (Маска)
  • Перенаправить на: https://apple.com/$1

и оно соответствует https://google.com/hello, то целевой URL будет https://apple.com/hello.

Кроме того, вы можете изменять тексты $1, $2, ... перед выполнением подстановок. Подробности см. в разделе Обработка захватываемых групп.

подсказка

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

  • Figma: figma://file/Your_Figma_ID
  • Firefox: firefox://open-url?url=https://example.com/hello
  • Google Chrome: googlechromes://example.com
  • Microsoft Edge: microsoft-edge://example.com
  • Notion: notion://www.notion.so/Your_Note_ID
  • Slack: slack://open

Приложение

Поддерживаемые типы: Оригинальный Поддерживаемые платформы: macOS

Если вы хотите указать приложение, в котором вы хотите открыть целевой URL, используйте комбинированный список Приложение. Это доступно только на macOS.

warning

Вы можете открывать только приложения, поддерживающие App Sandbox. Также убедитесь, что приложение поддерживает открытие URL, который вы хотите открыть.

Обработка захватываемых групп

Поддерживаемые типы: Оригинальный

Опция Обработка захватываемых групп позволяет указать, как обрабатывать захваченные группы, которые вы можете подставлять в опции Перенаправить на с помощью $1, $2...

Вот как создаются захватываемые группы:

  • Маска: Тексты, соответствующие * и ?, автоматически захватываются.
  • Регулярное выражение: Тексты, соответствующие части шаблона внутри (), захватываются.

Вы можете выбрать один или несколько из следующих процессов:

  • URL-кодирование/декодирование: Применяет процентное кодирование или декодирование к захватываемой группе. Например, если вы закодируете https://example.com/hello, оно будет преобразовано в https%3A%2F%2Fexample.com%2Fhello. Декодирование работает в обратном направлении.
  • Base64-кодирование/декодирование: Кодирует/декодирует текст в Base64. Например, вы можете закодировать hello в aGVsbG8=, а затем декодировать обратно в hello.
  • Замена вхождений: Заменяет один или несколько символов в группе, соответствующих Цели, на Замену. Например, если Группаhello, Цельl, а Заменаy, то она будет изменена на heyyo.
примечание

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

  • Перенаправить с: https://example.com/(hello.*)
  • Обработка захватываемых групп:
    • Группа: $1
    • Цель: .* (Регулярное выражение)
    • Замена: hello
  • Исключенный шаблон URL: https://example.com/hello

В этом случае https://example.com/hello_world не будет исключен, а https://example.com/hello будет исключен.

Исключенные шаблоны URL

Поддерживаемые типы: Оригинальный

Опция Исключенные шаблоны URL позволяет указать URL-адреса, которые не перенаправляются. Это может быть полезно для предотвращения циклов перенаправления или для исключения определенных частей веб-сайта из перенаправления.

Вы можете указать исключенные шаблоны URL, используя типы шаблонов "Регулярное выражение" или "Маска".

Примеры

Опция Примеры позволяет протестировать ваше правило перенаправления, предоставив образцы URL-адресов. Добавив образец URL-адреса, вы можете проверить, работает ли правило так, как ожидалось, прежде чем применять его.

Комментарии

Опция Комментарии позволяет добавлять любые заметки или комментарии о вашем правиле перенаправления. Это может быть полезно для отслеживания того, почему вы создали определенное правило, или для предоставления контекста другим, кто может просматривать ваши правила.

Вы можете писать комментарии в следующих форматах:

  • Обычный текст (по умолчанию): Простой текст без форматирования.
  • Markdown: Вы можете использовать синтаксис Markdown GitHub, включая некоторые расширения, которые GFM не поддерживает. Например, вы можете создавать заголовки, списки, ссылки и многое другое.
  • AsciiDoc: Вы можете использовать синтаксис AsciiDoc для форматирования ваших комментариев.

Шаблон URL

Шаблоны URL используются для сопоставления URL-адресов в опциях Перенаправить с, Исключенные шаблоны URL и Обработка захватываемых групп. Чтобы указать их, вы можете выбрать либо Маску, либо Регулярное выражение.

Маска

Маска — это более простой тип шаблона, который позволяет использовать * (соответствует всему) и ? (соответствует любому одному символу) в качестве подстановочных знаков. Вот несколько примеров:

  • Чтобы сопоставить https://example.com/hello, вы можете использовать https://example.com/*. Это будет соответствовать любой строке после https://example.com/.
  • Чтобы сопоставить https://example.com/search?q=hello, вы можете использовать https://example.com/search?q=*. Это будет соответствовать любому значению параметра q.
  • Чтобы сопоставить любой URL, содержащий слово blog, вы можете использовать *blog*.

Вы также можете использовать подстановку в Маске, что означает, что вы можете ссылаться на части совпадающего URL с помощью $1, $2 и т. д. Например, если вы используете https://example.com/*-world-*, а URL — https://example.com/hello-world-goodbye, то $1 будет "hello", а $2 будет "goodbye". $0 также доступен для ссылки на весь совпадающий URL.

примечание

Хотя подстановка является особенностью регулярных выражений, вы также можете использовать ее для маски, потому что Redirect Web внутренне преобразует маску в регулярное выражение.

Регулярное выражение

Регулярное выражение (Regex) — это мощный инструмент для сопоставления шаблонов в тексте, который также широко используется в программировании. Он позволяет определить конкретный шаблон, который соответствует набору строк. Вот несколько примеров.

  • Чтобы сопоставить https://example.com/hello, вы можете использовать https://example.com/.*. Это будет соответствовать любой строке после https://example.com/.
  • Чтобы сопоставить https://example.com/search?q=hello, вы можете использовать https://example.com/search\?q=(.*). Это будет соответствовать значению параметра q и сохранит его в захватываемой группе. Затем вы можете ссылаться на него с помощью $1 в опции Перенаправить на.
  • Чтобы сопоставить любой URL, содержащий слово blog, вы можете использовать .*blog.*.

Вы можете ссылаться на захватываемые группы в Перенаправить на или Замена с помощью $1, $2, ... или $0 для ссылки на все совпадение.

Redirect Web работает на базе движка регулярных выражений Apple.

Более подробную информацию о синтаксисе регулярных выражений можно найти в таких ресурсах, как RegExr.