L7 Plugins
A dúvida de muitos usuários do Speedr quando se trata de Plugins é grande, e estou criando esse tópico para diminuir as inúmeras dúvidas!
Qual a real utilidade do L7 Plugin?
Os plugins do Speedr tem como principal ação interceptar o tráfego através de IP/CIDR, Domínios e URL visando melhorar ou otimizar ainda mais a performance do Speedr.
Como criar um Plugin?
Primeiramente você deverá abrir no seu navegador o painel do Speedr no endereço: http://ip_do_seu_speedr:8080 em seguida abra o APP L7 Plugins.
Ao abrir o APP L7 Plugins no canto superior você vai clicar em Novo.
Descrição
Nessa janela inicial, você deverá preencher o Nome, Categoria, Descrição, esses dados não tem influencia nenhuma no funcionamento do Plugin, vai ajudar apenas na identificação do mesmo.
IMPORTANTE: o ID não poderá ser duplicado, portanto na criação de um Plugin cuidado para não usar um ID já existente, pois o sistema não vai aceitar.
Habilitado: Essa função vem desabilitada por padrão, você só deve habilitar, após concluir todas as configurações de seu Plugin, pois a partir do momento que for marcado o Plugin estará em funcionamento no seu Speedr.
- Ícone: Dêem preferência a imagens no formato JPG, PNG, GIF por ser mais leve não esqueçam que o sistema só vai permitir o tamanho máximo de 16px 16px. Para adicionar um ícone é muito simples:
- Clique em Escolher Arquivo, procure o seu ícone e em seguida pressione o botão Importar.
Condições de Ativação
Nessa área você pode configurar IP/CIDR, Header, URL/DOM Allow e Reject entre outros.
- Protocolo: ALL, não precisa alterar, pois o FTP não tem tanta utilidade nos dias atuais.
- Método: O Speedr suporta os métodos GET, POST e HEAD você pode usar todos juntos.
- Tam. Min. do Objeto: O padrão mínimo é de 0 bytes, más é possível definir o limite mínimo em KBytes e Megabytes.
- Prioridade: A prioridade funciona na existência de 2 ou mais plugins que façam cache do mesmo conteúdo, se a prioridade do primeiro plugin é 10 e a do segundo é 15, o sistema automaticamente irá priorizar o plugin que tenha menor Prioridade, nesse caso é o 10.
IP/CIDR
Por padrão já vem definido o Default: ALLOW, para que todo IP ou Range seja liberado, porém você pode definir sem nenhuma complicação IP/CIDR para serem exclusivamente bloqueadas ou permitidas clicando em NOVO.
URL/DOM Allow
Esse área é realmente indispensável, pois é nela que você poderá definir os Domínios e URLs que o plugin irá capturar.
OBS: O Default nesse caso é E, porém você também pode optar pelo OU
Qual a diferença? No caso E, o sistema vai verificar todos os domínios e testar com cada uma das URLs. No caso OU, o sistema vai verificar todos os domínios e URLs individualmente sem unir domínio e URL.
Posso adicionar quantos Domínios e URLs? Não existe nenhum limite pré-estabelecido, caso queira adicionar vários lembre-se apenas do detalhe abaixo.
- PARTIAL MATCH: Considera apenas parte do Domínio ou URL.
- FULL MATCH: O sistema vai verificar especificamente o que estiver digitado na String.
- SPEED REGEX SENSITIVE/INSENSITIVE: Você poderia usar ‘’’REGEX’’’ (Expressões Regulares), na String, definindo se o sistema vai diferenciar Maiúsculas e Minúsculas .
URL/DOM Reject
Ao contrário da condição acima, esse Reject irá rejeitar (bypassar) todos os domínios e urls adicionados.
Ação
Essa parte é muito importante, pois é nela vamos definir toda a reescrita, e como o Plugin vai identificar e reescrever! Em opções, já temos a descrição detalhada, então vamos proceder para próximo passo.
Métodos de Reescrita:
Vamos usar para exemplificar as reescritas a URL abaixo citada.
URL COMPLETA: http://wiki.brbyte.com/wiki/Especial:Arquivos_novos?like=btn&limit=50&offset=
REQ_R_URL:
STRING: brbyte /
O sistema vai considerar a STRING + URL até o ? .
URL REESCRITA: http://speedr.brbyte/wiki/Especial:Arquivos_novos
REQ_SCRIPT:
STRING: |tld|/brbyte/|r_url_path|
O sistema vai identificar todas as tags de identificação, |tld|, |r_url_path| entre outras.
URL REESCRITA: http://speedr.brbyte.com/wiki/Especial:Arquivos_novos
REG_AND_REPL_SCRIPT:
STRING: brbyte.midia/|url_path|
Praticamente idêntico ao anterior, porém vai identificar os cabeçalhos.
URL REESCRITA: http://speedr.brbyte.midia/wiki/Especial:Arquivos_novos?like=btn&limit=50&offset=
DYNASIG_NO_FALLBACK:
STRING: NULL
Marca o objeto dinamicamente, com uma identificação única, podendo usar a NULL, pois não há necessidade de reescrita.
DYNASIG_FALLBACK:
O DYNASIG após uma tentativa falha de realizar a identificação do objeto, o mesmo será identificado com o método REG_AND_REPL_SCRIPT
REDIRECT_URL_REWRITE:
Reescreve a URL de Destino com a STRING digitada! STRING: google.com.br/brbyte URL REESCRITA: google.com.br/brbyte
QOS
Também é possível priorizar o tráfego marcando com TOS o MISS/HIT!
IMPORTANTE
Sem parâmetros: |tld| Será substituída pelo TLD da presente requisição. Ex: http://videos00.abcd.cdn.com/ será substituído por “cdn.com”
|url_path| Será substituída pela URL Path da presente requisição. Ex: http://abc.com/path00/path01?abc=req será substituída por “path00/path01?abc=req”
|r_url_path| Será substituída pela URL Path da presente requisição, eliminando tudo após o caracter ?, caso presente Ex: http://xyz.com/path00/abc?xyz.com será substituída por “path00/abc”
|last_url_path| Substituída pela ultima parte do caminho presente na URL Path. Ex: http://xyz.com/path00/path01/path02 sera substituida por “path02”
|last_r_url_path| Substituída pela ultima parte do caminho presente na URL Path, eliminando tudo após o caracter ?, caso presente Ex: http://xyz.com/path00/path01/abc?xyz.com será substituída por “abc”
Com parâmetros (sempre numéricos): |last_dirs=XX| http://xyz.com/path00/path01/path02/path03 Caso XX == 00 – substitui por “path03” Caso XX == 01 – substitui por “path02/path03”
|r_last_dirs=XX| Mesmo caso da anterior, mas elimina tudo após o caracter ?, caso presente.
|dir=XX| Aponta um pedaço especifico na URLPath. Ex: http://xyz.com/path00/path01/path02/path03 Caso XX == 00 – substitui por “path00” Caso XX == 01 – substitui por “path01”
|r_dir=XX| Mesmo caso da anterior, mas elimina tudo após o caracter ?, caso presente. Acesso a variáveis da requisição: Alem destas palavras chave, qualquer variável sendo passada em uma requisição podem ser utilizados na identificação do conteúdo, utilizando o caracter $ Ex: http://abc.com/req?var00=xyz&var01=123&abc=speedr $var00$ seria substituído por xyz $var01$ seria substituído por 123 $abc$ seria substituído por speedr Qualquer variável não presente na URL será substituída pela string padrão NULL.