Pular para o conteúdo principal

Configurações da Regra

Esta página fornece informações detalhadas de cada configuração na tela Editar Regra do aplicativo Redirect Web.

Opções

Tipo

Especifique a opção Tipo para controlar como o aplicativo lida com o redirecionamento. Você pode escolher entre estas opções:

  • Original (Padrão)
    • Este usa APIs Web tradicionais para controlar o redirecionamento. Além disso, ele usa a API Tabs como um fallback.
      • No Firefox, ele usa a API WebRequest para lidar com o redirecionamento.
    • Você pode usar todas as opções, exceto Tipos de Recursos e Métodos de Requisição.
    • Este é mais lento que o tipo Declarativo e pode causar requisições de rede extras.
  • DNR (Experimental para Safari):
    • Este tipo funciona muito mais rápido 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 Recursos 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 (|) em seu padrão de Expressão Regular. Detalhes
    • ⚠️ Como a API DNR do Safari ainda apresenta 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 que você especifique um padrão de URL de páginas web das quais você deseja redirecionar. Você pode escolher entre 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.

nota

Na opção Redirecionar Para, você pode referenciar a correspondência inteira usando $0 ou correspondências parciais usando $1, $2, ... Verifique os detalhes em Padrão de URL nesta página.

Tipos de Recursos

Supported Types: DNR

A opção Tipos de Recursos permite que você especifique as categorias de requisições 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 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.

Verifique os detalhes de cada tipo de recurso nos mdn web docs.

Métodos de Requisição

Supported Types: DNR

A opção Métodos de Requisição permite que você defina os métodos HTTP de destino da URL de origem.

Todos os métodos são definidos por padrão.

Verifique os detalhes de cada método nos mdn web docs.

atenção

No Safari, esta opção pode não estar disponível porque a implementação da Apple para o tipo DNR atualmente não parece lidar com ela. Enviamos feedback para a Apple como FB14502272.

Navegadores Alvo

Supported Platforms: macOS

A opção Navegadores Alvo permite que você especifique a 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, exceto Safari ou Safari Technology Preview, que tenha a extensão Redirect Web instalada.
  • A caixa de seleção Todos, exceto os selecionados permite que você defina como alvo todos os navegadores, exceto os que você escolheu.
atenção

O Redirect Web não consegue diferenciar se o navegador é Safari ou 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 correspondida com a opção Redirecionar De. Você também pode substituir grupos de captura por $1, $2, ... ou a correspondência inteira por $0. Isso ajuda a especificar dinamicamente o destino. Verifique 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 ele 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 mais detalhes.

dica

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

Aplicativo

Supported Types: Original Supported Platforms: macOS

Se você deseja especificar um aplicativo para abrir a URL de destino, use a caixa de combinação Aplicativo. Isso está disponível apenas no macOS.

atenção

Você só pode abrir um aplicativo que suporte 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

Supported Types: Original

A opção Processamento de Grupos de Captura permite que você especifique como processar os grupos capturados que você pode substituir na opção Redirecionar Para com $1, $2...

Estas são as formas de criar grupos de captura:

  • Curinga: Textos correspondidos com * e ? são automaticamente capturados.
  • Expressão Regular: Textos correspondidos com parte do padrão dentro de () são capturados.

Você pode escolher um ou mais dos seguintes processos:

  • Codificar/Decodificar URL: Isso aplica percent-encoding ou decodificação a um grupo de captura. Por exemplo, se você codificar https://example.com/hello, ele é convertido para https%3A%2F%2Fexample.com%2Fhello. A decodificação funciona de forma oposta.
  • Codificar/Decodificar Base64: Isso decodifica/codifica um texto para Base64. Por exemplo, você pode codificar hello para aGVsbG8=, e decodificá-lo de volta para hello.
  • 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 hello e o Alvo for l e a Substituição for y, ele é modificado para heyyo.
nota

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
  • 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

Supported Types: Original

A opção Padrões de URL Excluídos permite que você especifique as URLs que não serão redirecionadas. Isso pode ser útil para evitar loops de redirecionamento ou para excluir certas partes de um website de serem redirecionadas.

Você pode especificar padrões de URL excluídos usando tipos de padrão de Expressão Regular ou Curinga.

Exemplos

A opção Exemplos permite que você teste sua regra de redirecionamento fornecendo URLs de exemplo. Ao adicionar uma URL de exemplo, você pode verificar se a regra funciona como esperado antes de realmente aplicá-la.

Comentários

A opção Comentários permite que você adicione quaisquer notas ou comentários sobre sua regra de redirecionamento. Isso pode ser útil para registrar o motivo pelo qual você criou uma regra específica ou para fornecer contexto para outras pessoas que possam visualizar suas regras.

Padrão de URL

Existem 3 opções onde você pode especificar um ou mais padrões de URL: Redirecionar De, Padrões de URL Excluídos e Processamento de Grupos de Captura. Para especificá-los, você pode escolher entre 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 usar https://example.com/*. Isso corresponderá a qualquer string após https://example.com/.
  • Para corresponder a https://example.com/search?q=hello, você pode usar https://example.com/search?q=*. Isso corresponderá a qualquer valor para o parâmetro q.
  • Para corresponder a qualquer URL que contenha a palavra blog, você pode usar *blog*.

Você também pode usar substituição em Curinga, o que significa que você pode referenciar partes da URL correspondida 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 toda a URL correspondida.

[!Note] Embora a substituição seja um recurso de Expressão Regular, você também pode usá-la para Curinga porque o Redirect Web converte internamente Curinga para Expressão Regular.

Expressão Regular

Expressão Regular (Regex) é uma ferramenta poderosa para corresponder padrões em texto, impulsionada pelo motor de expressões regulares da Apple, que é descrito aqui. Ela permite que você defina 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 usar https://example.com/(.*). Isso corresponderá a qualquer string após https://example.com/ e a armazenará em um grupo de captura.
  • Para corresponder a https://example.com/search?q=hello, você pode usar https://example.com/search\?q=(.*). Isso corresponderá ao valor do parâmetro q e o armazenará em um grupo de captura.
  • 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.

Mais informações sobre a sintaxe de Regex podem ser encontradas em recursos como RegExr.