Налаштування правил
Ця сторінка надає детальну інформацію про кожне налаштування на екрані редагування правил у додатку Redirect Web.
Опції
Тип
Вкажіть опцію Тип, щоб контролювати, як додаток обробляє перенаправлення. Ви можете вибрати з наступних:
- Оригінальний (За замовчуванням)
- Використовує традиційні веб-API для керування перенаправленням. Додатково, він використовує Tabs API як запасний варіант.
- У Firefox використовується WebRequest API для обробки перенаправлення.
- Ви можете використовувати всі опції, крім Типів ресурсів та Методів запиту.
- Це повільніше, ніж тип Декларативний, і може спричинити додаткові мережеві запити.
- Використовує традиційні веб-API для керування перенаправленням. Додатково, він використовує Tabs 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 на цій сторінці.
Типи ресурсів
Опція Типи ресурсів дозволяє вказати категорії веб-запитів, такі як зображення, JavaScript та таблиці стилів, до яких застосовується правило.
Наприклад, якщо ви встановите script
, ви можете перенаправляти файли JavaScript, завантажені веб-сторінками.
Наразі доступні такі:
main_frame
, sub_frame
, stylesheet
, script
, image
, font
, xmlhttprequest
, ping
, media
, websocket
, other
Налаштування за замовчуванням - main_frame
, що є сторінкою верхнього рівня, завантаженою у вкладку.
Будь ласка, перегляньте деталі кожного типу ресурсу в mdn web docs.
Методи запиту
Опція Методи запиту дозволяє встановити цільові HTTP-методи вихідного URL.
Усі методи встановлені за замовчуванням.
Будь ласка, перегляньте деталі кожного методу в mdn web docs.
У Safari ця опція може бути недоступною, оскільки реалізація Apple для типу DNR, схоже, наразі її не підтримує. Ми надіслали відгук до Apple як FB14502272.
Цільові браузери
Опція Цільові браузери дозволяє вказати, до якого браузера правило повинно або не повинно застосовуватися.
- Ви можете вибрати 2 типи браузерів:
- Браузери, які можна вибрати за замовчуванням: За замовчуванням ви можете вибрати Safari, Chrome, Firefox, Edge, Opera, Arc, Brave та Vivaldi. Це не розрізняє варіанти одного й того ж браузера, такі як Safari та Safari Technology Preview.
- Браузери, вказані користувачем: Натиснувши кнопку "Додати" у спливаючому вікні, ви можете вибрати будь-який браузер, крім Safari або Safari Technology Preview, у якому встановлено розширення Redirect Web.
- Прапорець Усі, крім вибраних дозволяє націлюватися на всі браузери, крім тих, які ви вибрали.
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
Додаток
Якщо ви хочете вказати програму, якою ви бажаєте відкрити цільовий URL, використовуйте комбінований список Додаток. Це доступно лише на macOS.
Ви можете відкрити лише програму, яка підтримує 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.