INSTALANDO HAARPCACHE v1.1 – UN CACHE INTELIGENTE

  • Atualize 16/03/13:  Nova interface web para  HaarpCache
  • Atualize 26/03/13: ( FAQ ) Como incorporar o código de outros plugins em HaarpCache .
  • Atualize 3/27/13: Melhor plugin do  Facebook .
  • Atualize 31/03/13: ( FAQ ) Integração com  Mikrotik .
  • Atualize 06/05/13: speedtest + plugin (Thx para  Samuel Espinoza  pelos testículos!).
  • Atualize 18/05/13:  Limpe  o HaarpCache automática.
  • Atualize 06/13/13: plugin para atualizado para  bloqueio de anúncios  no Youtube.
  • Atualize 26/06/13: Atualizado HaarpClean (limpeza de cache), correção e melhoria: Thx ao  Oscar Cowboy Montecino .
  • Atualize 07/04/13: 1 ª atualização para núcleo e plugin: Youtube.
  • Atualize 05/08/13: Para quem instalou antes desta mensagem, e para prevenir a corrupção dos vídeos do Youtube, altere a opção " FLV_MIN 1000 "a" FLV_MIN 819200 "no / etc / HAARP / haarp.conf.
  • Atualize 19/08/13:  Alterar a URL de capturar facebook Haarp.list ( alterações do produto ).
  • Atualização Importante   24/09/13 :  . Mudança no 'Content-Type' vídeos YouTube (vídeo / x-flv para application / octet-stream) que gera a compatibilidade de áudio e vídeo  Aqui estão as etapas para atualizar o Haarp
  • Atualize 31/10/13:  Descomente a linha em haarp.lst "http * \ GoogleVideo \ com * videoplayback ....."
  • Atualize 11/12/13:   Vídeo-instalação:  https://www.youtube.com/watch?v=s9GhTwJJ-Yk
HaarpCache Thundercache é um fork do 3.1, em comparação com outros caches inteligentes é um cache para efeitos de armazenamento de arquivos e no escritório. Lojas ou seja, cada peça de vídeo ou reunindo-os em um único arquivo no recurso de disco, mesmo independentemente de serem ou não estão completos. Tirar toda a ação em um único arquivo, eles podem ser enviados, mesmo que partes desta são convidados. HaarpCache assim começa a poupar largura de banda e otimizar espaço em disco.
Em conclusão tecnologia HaarpCache suporta  DASH .
Especificamente, o que isso traz de volta cache?:
  1. Cache Dinâmico e inteligente.
  2. Plugins editado para operação inteligente.
  3. Multi.
  4. Bloquear Anuncie no Youtube.
  5. Cache Youtube em HTML5.
  6. Fonte.
Instalação e Configuração
Instalar dependências:
1
2
3
4
5
6
apt-get update
apt-get instalar build-essential mysql-server \
mysql-client apache2 php5 php5-mysql libblkid-dev \
libcurl4-gnutls-dev libmysqlclient15-dev \
libapache2-mod-auth-mysql libapache2-mod-php5 \
 sharutils BIND9 onda squid3 autoconf
Então baixe o código disponível no github, https://github.com/keikurono/haarpcache : Eles podem fazê-lo através do console:
1
2
3
4
5
# (Distribuições Debian)
apt-get instalar git
cd / usr / src
git git clone: ​​/ / github com. / keikurono / haarpcache git.
cd haarpcache
Ou diretamente na página acima, dando clique no botão que diz "ZIP". Depois de desabafar fontes, proceder à compilação e instalação.
1
2
3
4
5
# Fomos haarpcache baixado diretório, em seguida, fazer:
. / configure
tornar limpo
fazer
fazer instalar
Nota:  Se você tiver um erro na compilação, que pode ser devido ao uso de seu compilador g+ +: pode editar o HAARP / Makefile e alterar a linha "CXX = g+ +" para "CXX = g+ + -4.4" antes de instalar o curso compilador g+ + -4.4. Instalar g+ + -4.4, então faça:.. / Configure CXX = g+ + -4.4 Depois é só fazer o make clean, make e make install  banco de dados Eu acrescento:
1
mysql-u root-p <haarp.sql
Pedimos que entramos nossa mysql senha, configurá-lo e ir embora. Nós editar as configurações padrão:
1
2
3
4
5
6
# Edite o arquivo / etc / HAARP / haarp.conf:
Mysql_user <USER_MYSQL>
MYSQL_PASS <PASS_MYSQL>
PIDFILE / var / log / HAARP / HAARP . pid
AccessLog / var / log / HAARP / acesso . log
ERRORLOG / var / log / HAARP / reprovação . log
Onde "USER_MYSQL" e "PASS_MYSQL" é o nome de usuário e senha de sua conta no mysql, o usuário pode ser root. Fazemos que começo quando o sistema é iniciado:
1
2
cd / etc / init . d
atualizar-rc.d defaults HAARP 98
Adicionado ao final do arquivo / etc / squid / squid.conf (ou / etc/squid3/squid.conf, que tem):
1
2
3
4
5
6
7
8
# Haarp 1.1
# ================================================= # ========
haarp_lst url_regex acl-i "/ etc / HAARP / haarp.lst"
cache de negar haarp_lst
<TU_PROXY_LAN> Pai cache_peer 8080 0 proxy-somente no-digest
dead_peer_timeout 2 segundo
cache_peer_access <TU_PROXY_LAN> permitir haarp_lst
cache_peer_access <TU_PROXY_LAN> negar tudo
Onde "TU_PROXY_LAN" é o IP do seu servidor na rede local. / * A seguir está definido para alcançar um proxy transparente * / Nós o squid transparente: Linha de trocá-los  http_port 3128  por:  http_port 3128 transparente  , em seguida, antes da linha:
1
Safe_ports http_access deny!
Inserção:
1
2
acl src red_local <IP_RED_LAN>
http_access allow red_local
Onde " IP_RED_LAN "é, por exemplo" 192.168.1.0/24 "(rede LAN) Comentamos a linha:
1
# Hierarchy_stoplist cgi-bin?
Nós configuramos o DNS, adicione no / etc / resolv.conf:
1
2
nameserver 8.8.8.8
nameserver 8.8.4.4
No caso que queremos outro DNS, local mudando IPs (8.8.xx).
Em seguida, redirecionar os pedidos de  http  para lulas e nós mascarar:
1
2
3
sudo iptables-t nat-A POSTROUTING-o <ETH_WAN>-j SNAT - to <IP_IFACE_WAN>
sudo iptables-t nat-A PREROUTING-p tcp-i <ETH_LAN> - dport 80-j REDIRECT - to-port 3128
Eco 1> / proc/sys/net/ipv4/ip_forward
Onde  ETH_WAN  é a interface da placa de rede que dá Internet (por exemplo, eth0, eth1) e  IP_IFACE_WAN  é o ip da interface anterior. Também  ETH_LAN  é a interface do cartão de rede. As regras acima devem ser armazenados em um arquivo, como / etc / init.d / reglas_proxy.sh e que cada vez que você reiniciar o servidor esta função, adicione a linha: "/ etc / init.d / reglas_proxy.sh" saída antes do final do arquivo / etc / rc.local.
Limpeza do sistema HAARP é feito automaticamente, depende se os discos estão cheios ou não.  enchimento discos ou não, depende do valor da variável CACHE_LIMIT configurado no / etc / HAARP / haarp.conf.
A política de limpeza é remover mais velho, menos o desconto (ou menos acessos) não ultrapassam 1 GB no total. Para tornar o sistema de enchimento corroborou os discos depende de como ele é definido no crontab: Recomenda-se (Adicionar no / etc / crontab):
12 de janeiro *** root / etc / init.d / haarpclean
A linha acima, verifique a cada hora se os discos foram apenas preenchido, a fim de proceder à limpeza: Lembre-se de limpar as ordens mais antigas e menos não superior a um gigabyte no total (Se você acredita que este álbum vai preencher mais de um gigabyte por hora, em seguida, configurá-lo para baixo o tempo, por exemplo a cada 20 minutos).
Bloqueio de anúncios para Youtube:  O Haarp traz um plugin para o Youtube Ads-lock. 
Por padrão o sistema Haarpcache traz um plugin para o bloqueio de publicidade, mas talvez isso não é suficiente, por isso é aconselhável também configurar o Web Proxy (Squid). No arquivo de configuração: squid.conf, insira o seguinte, após a linha comentada "INSERT YOUR OWN RULE (S)":
m_post método POST acl
URL_BLOCK url_regex ^ http acl. {1,4} [\ w \.] * \. Fwmrm \. Net \ / d \ / p \ / 1 \ $
http_access deny m_post URL_BLOCK
Relatórios:  Haarpcache traz espectador estatísticas tradicional (echo em PHP). Mas eles também podem instalar este novo  reporteador  com a tecnologia Ajax.
Para o caso tradicional, e após a instalação, copie "cp / etc / HAARP / haarp.php / var / www / haarp.php", então editar o arquivo: / var / www / haarp.php, mudando a linha :
1
se (($ db = new PDO (! 'mysql: host = localhost, dbname = HAARP' , 'root' , 'haarpcache' ))) {
Modificando onde nosso usuário root mysql diz (apenas deixá-lo como padrão) e onde diz haarpcache substituir a respectiva senha mysql.
Vamos ver o painel:  http://-ip_server_proxy-/haarp.php , substitua "-ip_server_proxy-" pelo IP do servidor.
Multi-disco:  Para adicionar um novo disco ou partição de disco como caches, deve adicionar o diretório montar estas partições, eles devem ser colocados no formato:  dir1 | pasta2 | pasta3  .. etc Por exemplo, se eu tiver montado duas partições, uma no diretório  / haarp1 /  eo outro no diretório  / haarp2 / , em seguida, ir para o arquivo de configuração do HAARP (padrão: / etc / HAARP / haarp.conf ) e editar o valor variável  CacheDir :
1
CacheDir / haarp1 / | / haarp2 /
E pronto, o cache com este sistema devem tomar as duas pastas como discos de cache.
* QoS:  Para executar packet marcação deve encontrar a seqüência de nome "Haarp: HIT de" ou "X-Cache: HIT do Haarp" pode proceder como foi feito  aqui .
Finalmente, reinicie o serviço e pronto:
1
2
/ Etc / init d. / HAARP restart
squid-k reconfigure
Aqui está uma foto de relatorio:  Relatorio- Espero que eu gosto disso, na mesma página do github lá para colocar um Wiki, por isso, se houver qualquer dúvida a programação do sistema pode ser montar algumas coisas!. - Há também uma paleta de colocar problemas que você pode ter, por isso, se você gosta, você pode deixá-los lá, e por isso pedimos .. - O projeto está sob a licença GPLv2, para que o programa está disponível gratuitamente e seu uso é por sua conta e risco.
Agora eu quero explicar um pouco de como o cache funciona:  eu vou fazer isso com um exemplo, suponha que temos um arquivo no youtube servidor, este vídeo é chamado  video_youtube.flv , e assumir que pesa 10MB e dura 20 minutos. Agora, suponha que temos um usuário A em nossa rede, dando-lhe curioso para ver este vídeo, porque eu chamo a atenção para a apresentação gráfica que tinha isso, mas o usuário não vai ver este vídeo, desde o início, você quer ver apenas a parte que me chamou a atenção, e encaminhar o vídeo para a metade, ou 10 minutos, e após três minutos decorridos impaciente e transmitir esse vídeo ainda mais, colocando-a 16 minutos e de lá percorrer todo o caminho. O resultado geral é que o nosso usuário só vi o vídeo por 10 minutos a 13 minutos, e depois de 16 minutos para 20 minutos. Até agora, o que aconteceria se usássemos criar um sistema de cache tradicional?, Um dos Thundercache 3x, 4x, 5x ... 7.0?, Então simplesmente não poderia fazer o cache de vídeo. Ou pelo menos eles, mas mantendo os pedaços de vídeo (de 10 a 13 min min e 16 min a 20 min) como arquivos separados e, independentemente de estarem ou não incluídos ou sobrepostos uns aos outros (Processo 3.1.2 ou storeurl Thundercache . pl). Em contraste como faz haarpcache, mantendo as peças vistas em um único  arquivo sem redundância. Agora o que acontece se outro usuário B vem, e veja o vídeo acima, que é derrepente moda, ou está na primeira página do youtube e fica curioso para vê-lo também, mas ele decide vê-lo desde o início (a partir do zero, ), e como temos usado a página youtube, decide enviar as peças de vídeo, suponha que a primeira parte, a partir do zero e 12 minutos. Então haarpcache que fez o pedido para ver o vídeo video_youtube.flv  de 0 minutos a 12 minutos, mas que se realiza no cache e tem o mesmo vídeo por 10 minutos a 13 minutos. Então, escolha a dar-nos a peça que faltava (0 minuto a 10 minutos), o download da internet, ainda mantendo esta parte que falta no cache, colando-o no mesmo arquivo  apenas  o começo, e parte do 12 minutos 13 minutos é um mini Batê-lo já tem em cache, por isso não baixá-lo novamente, mas vamos enviá-lo a partir do mesmo cache (mini-Hit). Até agora, o arquivo de cache salva pertence vídeo do youtube de 0 minutos a 13 minutos e 16 minutos para 20 minutos, tudo em um  único  arquivo. E se o usuário B continua a ver o vídeo até o final, porque então o haarpcache deve manter a outra parte estava faltando (de 13 minutos para 16 minutos
Isso certamente ver o usuário B) E acabar de completar o arquivo  video_youtube.flv , assim como eles têm no servidor youtube em um  único  arquivo. A vantagem disso é que se vemos um vídeo de entre 5 a 60 minutos, por exemplo, em caches tradicionais seria manter tudo isso na melhor das hipóteses, como um arquivo indistinta e independente; acontecendo quando alguém quer ver o mesmo vídeo do minuto 0 a 60 (todos) no cache do tradicional ver aquele pedaço de vídeo não está em cache (como tem no disco, tem um tamanho, nome diferente, etc.) Então eu baixar novamente a partir de internet, gastando 55 minutos! que já havia baixado. O que não ocorre com haarpcache baixar a parte que falta e os outros vão entregá-lo a partir do cache, sem fazer download novamente de internet [*], consertar o que pode estar faltando em um único arquivo (sem espaços levar) e entrega de peças em cache anteriormente velocidade LAN. Ou pior, se quisermos ver o vídeo acima por 10 minutos a 50 minutos, em caches tradicionais, vê-los como aquele pedaço Eu não tenho nenhum cache, uma vez que é igual a 5-60 minutos da peça, de modo ambos terão que baixá-lo a partir da Internet;! mantê-lo no topo e um pedaço de vídeo em outro processo pela redundância anterior. Isso não acontece no haarpcache, você vai perceber que este pedaço de vídeo que eu ter incluído na seção 5-60 minutos, de modo que parte lhe dará solicitado em qualquer HIT ou LAN Internet de alta velocidade sem fazer download.
[*] Por fim, dizer que o sistema é mais complexo do que o que eu tentei explicar aqui, espero ser claro no futuro que vai colocar abaixo FAQ.
FAQ
Q: Quais são as mensagens  SENHORITA  ou  HIT  você vê nos arquivos de log?
  • HIT  quando o recurso não é baixado da internet, mas a partir do cache.
  • SENHORITA  é quando um recurso não for encontrado no cache, está sendo baixado da Internet e está sendo armazenado pela primeira vez.
Q: Como posso verificar se estou fazendo um Hit or Miss?
Uma maneira fácil de verificar se você está fazendo um  HIT  ou  SENHORITA , é usando o navegador Chromium que tomamos apenas seguindo estes passos (por exemplo, perda de se verificar a funcionalidade do Youtube.)
  • Fomos para a página do YouTube.
  • Você abre o debug Cromo (pressionando F12).
  • Assistimos um vídeo na página.
  • Fomos para o painel antes de abrir, e nós Clique na paleta que diz "Network". Ela terá uma lista de conexões que estão enviando para o nosso site na internet.
  • Clique sobre aqueles que contêm o nome de "videoplayback" nos outro painel irá aparecer ao lado.
  • Verifique se perto do final deste painel aparecem para nós a mensagem: " HAARP: HIT de "ou" Haarp: MISS de "e já sabe se eles chegaram ou não o cache.
Instalando o plugin  Firebug , você pode fazer o mesmo no  Firefox . Aqui é um pouco como assistir a HIT vista mesaje: Q: Preciso de um plug in Thundercache, eu posso fazê-los trabalhar em HaarpCache?Haarp_HIT
Sim, basta alterar a linha:
1
extern "C" getmatch RESPOSTA ( const url string) {
para isso:
1
extern "C" hgetmatch2 RESPOSTA ( const url string) {
e adicione abaixo da linha "r responsável", o seguinte:
1
2
r.range_min = 0;
r.range_max = 0;
É isso aí.
Q: Como faço para configurar o Mikrotik HaarpCache com 'test ll com duas topologias:
O primeiro usando um mikrotik com  três ou mais interfaces web  e outros  dois interáfaces .
Usando apenas 3 interfaces:
INTERNET 
| |
eth1 (DHCP)
Mikrotik  eth3 {192.0.4.1/24} - {} 192.0.4.15 HaarpCache
eth2 {192.0.3.1/24}
| |
LAN
Em  HaarpCache :
  • Faça as mesmas configurações para squid.conf este manual, adicionando as regras abaixo:  acl red_lan ...  mais outras redes, por exemplo, 192.0.4.0/24 acl http_access allow red_mik_1 red_mik_1 Onde 192.0.4.0/24 LAN representa uma rede em  Mikroik .
  • Regras de iptables não precisa (Se anteriormente o sistema foi testado com 2 cartões neste manual, por favor, remova o script que poderíamos ter no rc.local, em seguida, reiniciar ou fazer iptables-t nat-F).
Em  Mikrotik :
/ Ip firewall nat \
adicionar action = masquerade chain = comentário srcnat = "Masquerate para Internet" disabled = no out-interface = ether1 \
adicionar action = masquerade chain = comentário srcnat = "Masquerate para HaarpCache" disabled = no out-interface = Ether3 \
adicionar action = dst-nat chain = dstnat comment = "Redirecionar para HaarpCache" disabled = no dst-port = 80 in-interface = protocolo ether2 = tcp to-addresses = 192.0.4.15 to-ports = 3128 \
/ Ip firewall mangle \
adicionar action = mark-cadeia de conexão = conteúdo POSTROUTING comment = "MarkConnect HaarpCache" = "X-Cache: HIT do Haarp" disabled = no new-connection-mark = "Connect - HaarpCache" out-interface = ether2 passthrough = yes src- address = 192.0.4.0/24 \
adicionar action = mark-packet chain = POSTROUTING comment = PacketMark-HAARP conexão-mark = "Connect - HaarpCache" disabled = no new-packet-mark = Packet-Haarp out-interface = ether2 passthrough = yes
QoS governa aqui, com 1.5MB para haarpcache:
/ Queue tree adicionar-burst limit = 0 explosão-threshold = 0 em tempo explosão = comentário 0s = Q-HIT-Haarp disabled = no limit-at = nome 0 max-limit = 12M = Queue-HIT-packet-mark = Haarp Packet-Haarp parent = prioridade global-out = 1 queue = default
Usando duas interfaces de Web (HAARP dentro da LAN)
INTERNET 
| |
eth1 (DHCP)
Mikrotik 
eth2 {192.0.3.1/24}
| |
LAN - {} 192.0.3.15 HaarpCache
 
Em  HaarpCache: Como no caso anterior. Ao Mikrotik:
/ Ip firewall nat \
adicionar action = masquerade chain = comentário srcnat = "Masquerate para Internet" disabled = no out-interface = ether1 \
adicionar action = src-nat chain = comentário srcnat = "Masquerate para HaarpCache" disabled = no dst-address = 192.0.3.15 out-interface = ether2 to-addresses = 192.0.3.1 \
adicionar action = dst-nat chain = dstnat comment = "Redirecionar HAARP - in - lan" disabled = no dst-port = 80 protocol = tcp src-address = 192.0.3.15 192.0.3.15 = a-endereços to-ports = 3128! \
/ Ip firewall mangle \
adicionar action = mark-cadeia de conexão = conteúdo POSTROUTING comment = "MarkConnect HaarpCache" = "X-Cache: HIT do Haarp" disabled = no new-connection-mark = "Connect - HaarpCache" out-interface = ether2 passthrough = yes src- address = 192.0.4.0/24 \
adicionar action = mark-packet chain = POSTROUTING comment = PacketMark-HAARP conexão-mark = "Connect - HaarpCache" disabled = no new-packet-mark = Packet-Haarp out-interface = ether2 passthrough = yes
QoS governa aqui, com 1.5MB para haarpcache:
/ Queue tree adicionar-burst limit = 0 explosão-threshold = 0 em tempo explosão = comentário 0s = Q-HIT-Haarp disabled = no limit-at = nome 0 max-limit = 12M = Queue-HIT-packet-mark = Haarp Packet-Haarp parent = prioridade global-out = 1 queue = default
Note-se que em comparação com as regras acima, podemos modificar apenas as duas últimas linhas das regras "ip firewall nat".