Mudanças entre as edições de "Teste"

De BrByte Wiki
Linha 1: Linha 1:
 
=L7 Plugins=
 
=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!
 
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? ==
 
==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.  
 
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?=
 
=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'''.
 
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'''.
<div class="img-responsive align-center">[[Arquivo:L7-PLUGIN-APP.png]]</div><div class="img-responsive align-center">[[Arquivo:L7-PLUGIN-INFO.png]]</div>
+
 
 +
<div class="img-responsive align-center">[[Arquivo:L7-PLUGIN-APP.png|link=]]</div>
 +
 
 +
<div class="img-responsive align-center">[[Arquivo:L7-PLUGIN-INFO.png|link=]]</div>
  
 
Ao abrir o APP L7 Plugins no canto superior você vai clicar em '''Novo'''.  
 
Ao abrir o APP L7 Plugins no canto superior você vai clicar em '''Novo'''.  
Linha 16: Linha 21:
 
# '''Í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:
 
# '''Í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'''.
 
# Clique em '''Escolher Arquivo''', procure o seu ícone e em seguida pressione o botão '''Importar'''.
 +
  
 
=Condições de Ativação=
 
=Condições de Ativação=
Linha 23: Linha 29:
 
# '''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.
 
# '''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.
 
# '''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==
 
==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.
 
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==
 
==URL/DOM Allow==
<div class="img-responsive align-center">[[Arquivo:L7-PLUGIN-ALLOW.png]]</div><div class="img-responsive align-center">[[Arquivo:L7-PLUGIN-MATCH.png]]</div>
+
 
 +
<div class="img-responsive align-center">[[Arquivo:L7-PLUGIN-ALLOW.png|link=]]</div>
 +
 
 +
<div class="img-responsive align-center">[[Arquivo:L7-PLUGIN-MATCH.png|link=]]</div>
  
 
Esse área é realmente indispensável, pois é nela que você poderá definir os '''Domínios e URLs''' que o plugin irá capturar.
 
Esse área é realmente indispensável, pois é nela que você poderá definir os '''Domínios e URLs''' que o plugin irá capturar.
Linha 37: Linha 48:
 
# '''FULL MATCH: '''O sistema vai verificar especificamente o que estiver digitado na String.
 
# '''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 .
 
# '''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 ==
 
==URL/DOM Reject ==
<div class="img-responsive align-center">[[Arquivo:L7-PLUGIN-REJECT.png]]</div>
+
 
 +
<div class="img-responsive align-center">[[Arquivo:L7-PLUGIN-REJECT.png|link=]]</div>
 +
 
 
Ao contrário da condição acima, esse Reject irá rejeitar (bypassar) todos os domínios e urls adicionados.
 
Ao contrário da condição acima, esse Reject irá rejeitar (bypassar) todos os domínios e urls adicionados.
 +
  
 
=Ação=
 
=Ação=
<div class="img-responsive align-center">[[Arquivo:L7-PLUGIN-ACAO.png]]</div>
+
 
 +
<div class="img-responsive align-center">[[Arquivo:L7-PLUGIN-ACAO.png|link=]]</div>
 +
 
 
Essa parte é muito importante, pois é nela vamos definir toda a reescrita, e como o Plugin vai identificar e reescrever!
 
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.
 
Em opções, já temos a descrição detalhada, então vamos proceder para próximo passo.
 +
  
 
==Métodos de Reescrita:==
 
==Métodos de Reescrita:==
Vamos usar para exemplificar as reescritas a URL abaixo citada.<br>
+
 
<p>'''URL COMPLETA: ''' http://wiki.brbyte.com/wiki/Especial:Arquivos_novos?like=btn&limit=50&offset=
+
Vamos usar para exemplificar as reescritas a URL abaixo citada.
</p>
+
 
==REQ_R_URL:==
+
'''URL COMPLETA: ''' http://wiki.brbyte.com/wiki/Especial:Arquivos_novos?like=btn&limit=50&offset=
<p>'''STRING: ''' brbyte /
+
 
<br>O sistema vai considerar a STRING + URL até o '''? '''.
+
* REQ_R_URL
<br>'''URL REESCRITA: '''http://speedr.brbyte/wiki/Especial:Arquivos_novos</p>
+
**'''STRING: ''' brbyte /'''
==REQ_SCRIPT: ==
+
**O sistema vai considerar a STRING + URL até o '''? '''.
<p>'''STRING: '''|tld|/brbyte/|r_url_path|
+
**'''URL REESCRITA: '''http://speedr.brbyte/wiki/Especial:Arquivos_novos
<BR>O sistema vai identificar todas as tags de identificação, |tld|, |r_url_path| entre outras.
+
 
<br>'''URL REESCRITA: ''' http://speedr.brbyte.com/wiki/Especial:Arquivos_novos</p>
+
*REQ_SCRIPT
==REG_AND_REPL_SCRIPT: ==
+
**'''STRING: '''|tld|/brbyte/|r_url_path|'''
<p>'''STRING: '''brbyte.midia/|url_path|
+
**O sistema vai identificar todas as tags de identificação, |tld|, |r_url_path| entre outras.
<BR>Praticamente idêntico ao anterior, porém vai identificar os cabeçalhos.
+
**'''URL REESCRITA: ''' http://speedr.brbyte.com/wiki/Especial:Arquivos_novos
<br>'''URL REESCRITA: ''' http://speedr.brbyte.midia/wiki/Especial:Arquivos_novos?like=btn&limit=50&offset=</p>
+
 
==DYNASIG_NO_FALLBACK: ==
+
*REG_AND_REPL_SCRIPT
'''STRING: ''' NULL
+
**'''STRING: '''brbyte.midia/|url_path|'''
<BR>Marca o objeto dinamicamente, com uma identificação única, podendo usar a STRING '''NULL''', pois não há necessidade de reescrita.
+
**Praticamente idêntico ao anterior, porém vai identificar os cabeçalhos.
==DYNASIG_FALLBACK: ==
+
**'''URL REESCRITA: ''' http://speedr.brbyte.midia/wiki/Especial:Arquivos_novos?like=btn&limit=50&offset=
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: ==
+
*DYNASIG_NO_FALLBACK
<p>Reescreve a URL de Destino com a STRING digitada!
+
**'''STRING: ''' NULL'''
<br>STRING: google.com.br/brbyte
+
**Marca o objeto dinamicamente, com uma identificação única, podendo usar a STRING '''NULL''', pois não há necessidade de reescrita.
<br>'''URL REESCRITA: ''' google.com.br/brbyte</p>
+
 
=QOS L3=
+
*DYNASIG_FALLBACK
<div class="img-responsive align-center">[[Arquivo:L7-PLUGIN-QOS.png]]</div>
+
**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'''
<p>Também é possível priorizar o tráfego marcando com TOS o MISS/HIT, dessa forma você poderá entregar aos seus clientes, altíssimas velocidades em determinados conteúdos!</p>
+
 
 +
*REDIRECT_URL_REWRITE
 +
**Reescreve a URL de Destino com a STRING digitada!
 +
**STRING: google.com.br/brbyte
 +
**'''URL REESCRITA: ''' google.com.br/brbyte'''
 +
 
 +
=QOS=
 +
 
 +
<div class="img-responsive align-center">[[Arquivo:L7-PLUGIN-QOS.png|link=]]</div>
 +
 
 +
Também é possível priorizar o tráfego marcando com TOS o MISS/HIT!
  
 
=IMPORTANTE=
 
=IMPORTANTE=
<p>Sem parâmetros:
 
  
<br>'''|tld| '''
+
Sem parâmetros:
<br>Será substituída pelo TLD da presente requisição.
+
 
<br>Ex: http://videos00.abcd.cdn.com/ será substituído por “cdn.com”</p>
+
|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 caractere ?, 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 será substituída por ''path02''
 +
 
 +
|last_r_url_path|
 +
 
 +
Substituída pela ultima parte do caminho presente na URL Path, eliminando tudo após o caractere ?, 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 caractere ?, 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''
  
<p>'''|url_path|'''
+
|r_dir=XX|
<br>Será substituída pela URL Path da presente requisição.
 
<br>Ex: http://abc.com/path00/path01?abc=req será substituída por “path00/path01?abc=req” </p>
 
  
<p>'''|r_url_path| '''
+
Mesmo caso da anterior, mas elimina tudo após o caractere ?, caso presente.
<br>Será substituída pela URL Path da presente requisição, eliminando tudo após o caractere ?, caso presente
 
<br>Ex: http://xyz.com/path00/abc?xyz.com será substituída por “path00/abc” </p>
 
  
<p>'''|last_url_path|'''
+
Acesso a variáveis da requisição:
<br>Substituída pela ultima parte do caminho presente na URL Path.
 
<br>Ex: http://xyz.com/path00/path01/path02 será substituída por “path02” </p>
 
  
<p>'''|last_r_url_path|'''
+
Alem destas palavras chave, qualquer variável sendo passada em uma requisição podem ser utilizados na identificação do conteúdo, utilizando o caractere $
<br>Substituída pela ultima parte do caminho presente na URL Path, eliminando tudo após o caractere ?, caso presente
 
<br>Ex: http://xyz.com/path00/path01/abc?xyz.com será substituída por “abc” </p>
 
  
<p>Com parâmetros (sempre numéricos):
+
Ex: http://abc.com/req?var00=xyz&var01=123&abc=speedr
<br>'''|last_dirs=XX|'''
 
<br>http://xyz.com/path00/path01/path02/path03
 
<br>Caso XX == 00 – substitui por “path03”
 
<br>Caso XX == 01 – substitui por “path02/path03” </p>
 
<p>'''|r_last_dirs=XX|'''
 
<br>Mesmo caso da anterior, mas elimina tudo após o caractere ?, caso presente. </p>
 
  
<p>'''|dir=XX|'''
+
$var00$ seria substituído por xyz
<br>Aponta um pedaço especifico na URLPath.
 
<br>Ex:
 
<br>http://xyz.com/path00/path01/path02/path03
 
<br>Caso XX == 00 – substitui por “path00”
 
<br>Caso XX == 01 – substitui por “path01” </p>
 
  
<p>'''|r_dir=XX|'''
+
$var01$ seria substituído por 123
<br>Mesmo caso da anterior, mas elimina tudo após o caractere ?, caso presente.
 
<br>Acesso a variáveis da requisição:
 
<br>Alem destas palavras chave, qualquer variável sendo passada em uma requisição podem ser utilizados na identificação do conteúdo, utilizando o caractere $
 
<br>Ex: http://abc.com/req?var00=xyz&var01=123&abc=speedr
 
  
<br>'''$var00$ seria substituído por xyz'''
+
$abc$ seria substituído por speedr
<br>'''$var01$ seria substituído por 123'''
 
<br>'''$abc$ seria substituído por speedr'''
 
  
<br>Qualquer variável não presente na URL será substituída pela String padrão '''NULL'''. </p>
+
Qualquer variável não presente na URL será substituída pela string padrão NULL.

Edição das 14h43min de 30 de março de 2016

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.

L7-PLUGIN-APP.png
L7-PLUGIN-INFO.png

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.

L7-PLUGIN-DESC.png

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.

  1. Í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:
  2. 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.

  1. Protocolo: ALL, não precisa alterar, pois o FTP não tem tanta utilidade nos dias atuais.
  2. Método: O Speedr suporta os métodos GET, POST e HEAD você pode usar todos juntos.
  3. 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.
  4. 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

L7-PLUGIN-ALLOW.png
L7-PLUGIN-MATCH.png

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.

  1. PARTIAL MATCH: Considera apenas parte do Domínio ou URL.
  2. FULL MATCH: O sistema vai verificar especificamente o que estiver digitado na String.
  3. 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

L7-PLUGIN-REJECT.png

Ao contrário da condição acima, esse Reject irá rejeitar (bypassar) todos os domínios e urls adicionados.


Ação

L7-PLUGIN-ACAO.png

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=

  • DYNASIG_NO_FALLBACK
    • STRING: NULL
    • Marca o objeto dinamicamente, com uma identificação única, podendo usar a STRING 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

L7-PLUGIN-QOS.png

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 caractere ?, 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 será substituída por path02

|last_r_url_path|

Substituída pela ultima parte do caminho presente na URL Path, eliminando tudo após o caractere ?, 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 caractere ?, 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 caractere ?, 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 caractere $

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.