Configurações de Regras
Esta página fornece informações detalhadas de cada configuração na tela Editar Regra no aplicativo RedirectWeb.
Opções
Tipo
Especifique a opção Tipo para controlar como o aplicativo lida com o redirecionamento. Você pode escolher entre estes:
- Original (Padrão)
- Isso usa APIs Web tradicionais para controlar o redirecionamento. Além disso, usa a API Tabs como fallback.
- No Firefox, ele usa a API WebRequest para lidar com o redirecionamento.
- Você pode usar todas as opções, exceto Tipos de Recurso e Métodos de Requisição.
- ⚠️ Isso é mais lento do que o tipo Declarativo e pode causar requisições de rede extras.
- Isso usa APIs Web tradicionais para controlar o redirecionamento. Além disso, usa a API Tabs como fallback.
- DNR (Experimental para Safari):
- Este tipo funciona muito mais rápido do que o tipo Original porque não inicia uma requisição de rede para a URL de origem.
- Isso permite que você especifique Tipos de Recurso e Métodos de Requisição.
- ⚠️ Você não pode usar algumas opções, como Processamento de Grupos de Captura e Padrões de URL Excluídos, pois elas ainda não são suportadas pela API DNR.
- ⚠️ No Safari, atualmente você não pode incluir pipes (
|) no seu padrão de Expressão Regular. Detalhes - ⚠️ Como a API DNR do Safari ainda tem alguns problemas, consideramos que ainda é um recurso experimental para o Safari. Você pode encontrar a lista de todos os problemas conhecidos aqui.
Redirecionar De
A opção Redirecionar De permite especificar um padrão de URL das páginas da web das quais você deseja redirecionar. Você pode escolher Curinga ou Expressão Regular.
Por exemplo, se você especificar https://example.com/* com Curinga, ele corresponderá a https://example.com/ ou https://example.com/hello.
Na opção Redirecionar Para, você pode referenciar a correspondência inteira usando $0 ou correspondências parciais usando $1, $2, ... Confira os detalhes em Padrão de URL nesta página.
Tipos de Recurso
A opção Tipos de Recurso permite especificar as categorias de requisições da web, como imagens, JavaScripts e folhas de estilo, às quais a regra se aplica.
Por exemplo, se você definir script, poderá redirecionar os arquivos JavaScript carregados pelas páginas da web.
Atualmente, estes estão disponíveis:
main_frame, sub_frame, stylesheet, script, image, font, xmlhttprequest, ping, media, websocket, other
A configuração padrão é main_frame, que é a página de nível superior carregada em uma aba.
Por favor, verifique os detalhes de cada tipo de recurso no mdn web docs.
Métodos de Requisição
A opção Métodos de Requisição permite definir os métodos HTTP de destino da URL de origem.
Todos os métodos são definidos por padrão.
Por favor, verifique os detalhes de cada método no mdn web docs.
No Safari, esta opção pode não estar disponível porque a implementação da Apple para o tipo DNR parece não lidar com ela atualmente. Enviamos um feedback para a Apple como FB14502272.
Navegadores Alvo
A opção Navegadores Alvo permite especificar em qual navegador a regra deve ou não ser aplicada.
- Existem 2 tipos de navegadores que você pode escolher:
- Navegadores que você pode escolher por padrão: Você pode escolher Safari, Chrome, Firefox, Edge, Opera, Arc, Brave e Vivaldi por padrão. Isso não diferencia variantes do mesmo navegador, como Safari e Safari Technology Preview.
- Navegadores especificados pelo usuário: Ao tocar no botão Adicionar no popover, você pode selecionar qualquer navegador diferente do Safari ou Safari Technology Preview que tenha a extensão RedirectWeb instalada.
- A caixa de seleção Todos exceto os selecionados permite que você atinja todos os navegadores, exceto os que você escolheu.
O RedirectWeb não pode diferenciar se o navegador é o Safari ou o Safari Technology Preview porque o aplicativo verifica o processo pai da extensão para detectá-lo, mas esses dois navegadores compartilham o mesmo processo pai (/sbin/launchd).
Redirecionar Para
A opção Redirecionar Para especifica uma URL de destino para a qual você deseja redirecionar, a partir da URL de origem correspondente à opção Redirecionar De. Você também pode substituir grupos de captura por $1, $2, ... ou a correspondência inteira por $0. Isso ajuda você a especificar dinamicamente o destino. Confira os detalhes em Padrão de URL nesta página.
Por exemplo, se você definir a seguinte regra:
- Redirecionar De:
https://google.com/*(Curinga) - Redirecionar Para:
https://apple.com/$1
e ela corresponder a https://google.com/hello, então a URL de destino será https://apple.com/hello.
Além disso, você pode modificar os textos de $1, $2, ... antes de fazer as substituições. Verifique a seção Processamento de Grupos de Captura para os detalhes.
Você pode especificar um esquema de URL personalizado para abrir um aplicativo. Estes são exemplos de aplicativos que suportam deep linking:
- 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
Aplicação
Se você deseja especificar um aplicativo que deseja usar para abrir a URL de destino, use a caixa de combinação Aplicação. Isso está disponível apenas no macOS.
Você só pode abrir um aplicativo que suporte o App Sandbox. Além disso, certifique-se de que o aplicativo suporte a abertura da URL que você deseja abrir.
Processamento de Grupos de Captura
A opção Processamento de Grupos de Captura permite especificar como processar os grupos capturados que você pode substituir na opção Redirecionar Para por $1, $2...
Veja como criar grupos de captura:
- Curinga: Textos correspondentes a
*e?são capturados automaticamente. - Expressão Regular: Textos correspondentes à parte do padrão dentro de
()são capturados.
Você pode escolher um ou mais dos seguintes processos:
- Codificar/Decodificar URL: Isso aplica a codificação por porcentagem ou decodificação a um grupo de captura. For example, if you encode
https://example.com/hello, it's converted tohttps%3A%2F%2Fexample.com%2Fhello. Decode works in the opposite way. - Codificar/Decodificar Base64: Isso decodifica/codifica um texto em Base64. Por exemplo, você pode codificar
helloparaaGVsbG8=e decodificá-lo de volta parahello. - Substituir Ocorrências: Isso substitui um ou mais caracteres em um grupo, correspondidos por um Alvo, por uma Substituição. Por exemplo, se o Grupo for
helloe o Alvo forle a Substituição fory, ele será modificado paraheyyo.
Isso serve para processar cada grupo de captura e não afeta quais URLs são excluídas pelos Padrões de URL Excluídos. Por exemplo, digamos que você tenha esta regra:
- Redirecionar De:
https://example.com/(hello.*) - Processamento de Grupos de Captura:
- Grupo:
$1 - Alvo:
.*(Expressão Regular) - Substituição:
hello
- Grupo:
- Padrão de URL Excluído:
https://example.com/hello
Neste caso, https://example.com/hello_world não será excluído, enquanto https://example.com/hello será excluído.
Padrões de URL Excluídos
A opção Padrões de URL Excluídos permite especificar as URLs que não são redirecionadas. Isso pode ser útil para evitar loops de redirecionamento ou para excluir certas partes de um site do redirecionamento.
Você pode especificar padrões de URL excluídos usando os tipos de padrão Expressão Regular ou Curinga.
Exemplos
A opção Exemplos permite testar sua regra de redirecionamento fornecendo URLs de amostra. Ao adicionar uma URL de amostra, você pode verificar se a regra funciona como esperado antes de aplicá-la realmente.
Avançado
- [DNR] Redirecionamento de Frame Principal: Esta opção está disponível apenas para o tipo DNR. Ela permite especificar como lidar com o redirecionamento para o tipo de recurso
main_frame. As opções disponíveis são:- Bruto: Redireciona o frame principal para a URL especificada sem modificações.
- Via Página Intermediária: Redireciona o frame principal para uma página intermediária, que então redireciona para a URL de destino especificada. Isso é útil para abrir aplicativos usando deep linking, pois a página intermediária pode lidar com uma lógica de redirecionamento mais complexa.
Comentários
A opção Comentários permite adicionar quaisquer notas ou comentários sobre sua regra de redirecionamento. Isso pode ser útil para acompanhar por que você criou uma regra específica ou para fornecer contexto para outras pessoas que possam visualizar suas regras.
Você pode escrever comentários nos seguintes formatos:
- Texto Simples (Padrão): Texto simples sem formatação.
- Markdown: Você pode usar as sintaxes Markdown do GitHub, incluindo algumas extensões que o GFM não suporta. Por exemplo, você pode criar cabeçalhos, listas, links e muito mais.
- AsciiDoc: Você pode usar as sintaxes AsciiDoc para formatar seus comentários.
Padrão de URL
Padrões de URL são usados para corresponder URLs nas opções Redirecionar De, Padrões de URL Excluídos e Processamento de Grupos de Captura. Para especificá-los, você pode escolher Curinga ou Expressão Regular.
Curinga
Curinga é um tipo de padrão mais simples que permite usar * (corresponde a qualquer coisa) e ? (corresponde a qualquer caractere único) como curingas. Aqui estão alguns exemplos:
- Para corresponder a
https://example.com/hello, você pode usarhttps://example.com/*. Isso corresponderá a qualquer string apóshttps://example.com/. - Para corresponder a
https://example.com/search?q=hello, você pode usarhttps://example.com/search?q=*. Isso corresponderá a qualquer valor para o parâmetroq. - Para corresponder a qualquer URL que contenha a palavra
blog, você pode usar*blog*.
Você também pode usar a substituição no Curinga, o que significa que você pode referenciar partes da URL correspondente usando $1, $2, etc. Por exemplo, se você usar https://example.com/*-world-* e a URL for https://example.com/hello-world-goodbye, então $1 seria "hello" e $2 seria "goodbye". $0 também está disponível para referenciar a URL inteira correspondente.
Embora a substituição seja um recurso de Expressão Regular, você também pode usá-la para Curinga porque o RedirectWeb converte internamente o Curinga em Expressão Regular.
Expressão Regular
Expressão Regular (Regex) é uma ferramenta poderosa para corresponder padrões em texto e também é amplamente utilizada na programação. Ela permite definir um padrão específico que corresponde a um conjunto de strings. Aqui estão alguns exemplos.
- Para corresponder a
https://example.com/hello, você pode usarhttps://example.com/.*. Isso corresponderá a qualquer string apóshttps://example.com/. - Para corresponder a
https://example.com/search?q=hello, você pode usarhttps://example.com/search\?q=(.*). Isso corresponderá ao valor do parâmetroqe o armazenará em um grupo de captura. Você pode então referenciá-lo usando$1na opção Redirecionar Para. - Para corresponder a qualquer URL que contenha a palavra
blog, você pode usar.*blog.*.
Você pode referenciar os grupos de captura em Redirecionar Para ou Substituição usando $1, $2, ... ou $0 para referenciar a correspondência inteira.
O RedirectWeb é alimentado pelo mecanismo Regex da Apple.
Mais informações sobre a sintaxe Regex podem ser encontradas em recursos como RegExr.