Em raros casos o gargalo se encontra entre o servidor de internet e o cliente. O ziproxy é um software que ajudará você a compactar e reduzir drasticamente o tamanho de arquivos (html, texto e imagens) antes de enviar para o cliente no link reduzido (discado por exemplo).
Este tutorial pode ser distribuído, impresso e copiado de todas as formas e meios possíveis desde que se mantenha o nome, a página web e o e-mail do autor no cabeçalho em local visível, abaixo do título e com a letra maior ou igual a usada no texto.
Meu primeiro artigo sobre o ziproxy foi a muito tempo e de lá pra cá o
software andou evoluindo muito.
O lançamento da série 2 traz um importante recurso: suporte a proxy transparente.
Para quem não sabe, o ziproxy é um proxy de requisição (não faz cache de objetos) que procura compactar os objetos adquiridos na internet antes de entregar para o cliente.
A técnica usada para compactar textos (html, css, javascript, etc...) é o mais simples possível, ele usa o gzip para reduzir drasticamente o tamanho desses arquivos. O gzip pode transformar um arquivo de texto de 100k em 387 bytes (fiz o teste). Os navegadores (IE, Firefox, etc...) reconhecem esse formato gzip e descompactam o arquivo antes de processar seu conteúdo.
A técnica usada para compactar imagens já é mais complexa. Os arquivos jpeg, png e gif possuem padrões de compactação diretamente associados à qualidade de imagem. Grande parte das imagens encontradas na internet não usam recursos de compactação. Uma imagem jpeg que usa 100% de qualidade não mostra nenhuma diferença na qualidade em relação a mesma imagem com 95% de qualidade, embora o tamanho em bytes da segunda imagem mostre uma redução significante.
Se uma página comum tem um html de 30kbytes e uma imagem de 200kbytes, após o ziproxy a mesma página ocupará 200 bytes na conexão e a imagem 30 kbytes. Numa conexão discada, o ziproxy exibiria a página 10 vezes mais rápido que o modo comum.
[2] Comentário enviado por edsonjbueno em 01/08/2006 - 18:12h
fiz tudo igual esta ai em um debian rc2, mas não navega de jeito algum tambem tenho o squid que esta funcionando blz, confgiurado na porta 3128, e o ziproxy na porta 8081, e configurado no explorer tambem no firefox e nada o conf esta igual a este ai não mudei nada somente a rede claro;... parece que esta faltando dns, mas como, não consegui enteder...
[3] Comentário enviado por patrickbrandao em 02/08/2006 - 08:06h
Olá Edson,
verifique se o software está rodando:
ps ax | grep ziproxy
e verifique também se a porta está aberta:
nmap localhost -p 8081
Se tiver firewall, desative para testar, o dns se configura em
/etc/resolv.conf
[6] Comentário enviado por netgate em 03/08/2006 - 12:52h
Patrik nos do forum amamos a liberdade, por que vc nao torna seu MyAuth Gateway software livre e open sorce. Lembre-se que a liberdade so traz o crescimento
[7] Comentário enviado por patrickbrandao em 03/08/2006 - 14:18h
O que o MyAuth tem a vez com o artigo?! Tem soluções iguais a ele gratuitas, chillispot, notcatsplash, entre outros. Softwre livre nem sempre enche conta corrente! Eu contribuo muito com software livre, principalmente documentando, coisa que facilita e insentiva o uso e participação no desenvolvimento.
[12] Comentário enviado por mf_alves em 11/08/2006 - 11:32h
Bom pessoal... eu segui os passos certos criei o /etc/ziproxy.conf mas ao tentar rodar o ziproxy deu a seguinte mensagem
Starting Ziproxy /usr/local/bin/ziproxy: error while loading shared libraries: libungif.so.4: cannot open shared object file: No such file or directory
OK
ja tentei procurar via apt mas não encontra a livraria...
estou usando um Debian.. com Squid ja rodando normal.
Caso alguem tenha a resolução do problema ficarei grato....
[14] Comentário enviado por marcosantiago em 23/09/2006 - 00:33h
Galera é o seguinte....
Tenho squid com autenticação rodando numa boa na porta 3128...desativei o squid para fazer o teste com o ziproxy e funcionou, mas quando ativo o squid e o ziproxy...não funciona...coloquei as funções:
NextProxy="127.0.0.1"
NextPort=3128
Mas não foi de jeito nenhum...
Uso o slackware 10.2 ! Se puderem ajudar desde já agradeço...
Ja ia esquecendo !
Parabéns Patrick !
[16] Comentário enviado por drcfilho em 18/10/2006 - 00:40h
me tira uma duvida
se eu coloco a porta 8080 que é a do squid.. o que aconteceria?
Quando vou iniciar:
#etc/rc.d/rc.ziproxy start
Starting Ziproxy /etc/rc.d/rc.ziproxy: line 20: /var/run/ziproxy.pid: Arquivo ou diretório não encontrado
OK
[18] Comentário enviado por cytron em 16/11/2006 - 17:40h
Legal esse ziproxy, estou testando ele no meu isp wireless, o ziproxy é tão simples que nem precisa de tutorial, o próprio ziproxy.conf já explica tudo. Mas esse guia do Patrick explica melhor do que os termos em inglês no conf.
Parabéns Patrick, se não fosse esse artigo eu nunca teria ouvido falar desse esquema. Eu sempre pensei numa coisa assim, mas jamais pensei que estaria por aí.
Agora estou com uma grande dúvida...
Será que o processamento para compactar no server e descompactar no cliente levaria mais tempo do que usar o squid sem passar pelo ziproxy???
Fiz uns testes aqui... não ví diferença na velocidade, mas ví diferênça na qualidade das imagens.
Ou seja, será que vale apena? Sobrecarregar o servidor fazendo compactação para todos os usuários? Se ao menos a compactação pudesse ser armazenada em cache, pois cada vez que é requisitado o mesmo objeto, o ziproxy comprime tudo denovo! Perda de tempo.
E o ziproxy tá com um bug, desabilitei a compressão de imagens mas ele ainda comprime.
Olhando no squid.conf parece que tem como fazer compressão também... será que é isso mesmo ou eu entendi errado?
[19] Comentário enviado por cytron em 26/11/2006 - 19:16h
Poxa! Ninguém respondeu! Será que só eu estou testando o ziproxy?
Tudo bem! Aí vai outra, o zíproxy tá ficando estranho, agora quando dou um ps x para ver os processos, aparecem várias instâncias do ziproxy, "apesar de não ter ninguém navegando". Mas quando dou um stop todas elas somem, se tento matar apenas uma delas com um kill -9 aparecem várias outras. Se dou um start aparecem outra quantidade. Na primeira vez que usei ele estava tudo normal, apenas uma instância. Apesar dele ainda funcionar normal.
Fiz novos testes de desempenho e repito, ainda não ví benefício do uso. Nem mesmo naquela antecipação de resolver ips (50 por default).
ainda não testei o ziproxy em grande escala, nos próximos dias estarei fazendo isso e postarei aqui o resultado.
Vamos lá galera, vamos espremer o ziproxy para ver no que vai dar. Com a revolução da wireless em breve terá muita gente interessado nesse daemon, nosso conhecimento será útil a essas pessoas.
[20] Comentário enviado por patrickbrandao em 27/11/2006 - 14:33h
Olha só, sua duvida nao tem nada a ver com ziproxy, todo software decente que atende clientes em demanda cria um processo PAI e varios processos FILHOS que irão atender cada nova requisição.
[21] Comentário enviado por pp1rp em 30/03/2007 - 15:09h
Existe um erro no ultimo passo da instalação. Estou usando a distro 9.1 do slackware com squid rodando normalmente. Segue abaixo os erros:
root@px2:/usr/local/src/ziproxy-2.2.1# make
make: *** No targets specified and no makefile found. Stop.
root@px2:/usr/local/src/ziproxy-2.2.1# make install
make: *** No rule to make target `install'. Stop.
root@px2:/usr/local/src/ziproxy-2.2.1# /etc/rc.d/rc.ziproxy start
Starting Ziproxy /etc/rc.d/rc.ziproxy: line 20: /usr/local/bin/ziproxy: No such file or directory
OK
Gostaria da ajuda de voceis para resolver esse problema.
Obrigado.
[22] Comentário enviado por cytron em 06/04/2007 - 13:02h
Estranho! Este erro é porque o make não está encontrando o Makefile, verifique se existe o arquivo Makefile (sem extensão), caso não exista ele foi apagado, baixe novamente o pacote que tudo vai dar certo. Mas não pega desse link que o Patrick tá mostrando não, vai direto na página do projeto que tem versão nova lá, a minha é a 2.1.1
[23] Comentário enviado por cytron em 06/04/2007 - 13:22h
Xiiiii!!! Prometi postar o resultado do meu teste com o ziproxy e acabei esquecendo, mas aqui está:
Não foi muito satisfatório, isso porque não agilizou significamente a ponto de valer a pena, talvez o motivo não seja o ziproxy, mas fora isso... Vários sites contendo flash começaram a dar problemas, devido a compactação do flash algumas vezes acontecia algum erro na compactação fazendo com que o flash não abrisse, o erro foi mais visível em sites bancários, após reiniciar o ziproxy o conteúdo em flash funcionava algumas horas, mas depois começava a não abrir novamente, bastava reiniciar o ziproxy pra tudo voltar ao normal.
Mesmo desabilitando a compressão de imagens ainda assim o ziproxy fazia compressão.
A resolução de nomes funcionou normalmente.
Para resumir, a minha opinião:
O ziproxy é uma excelente idéia e um grande recurso, no entanto, ainda está muito novinho, precisa amadurecer e quem sabe lá na versão 3 já esteja pronto para um mercado mais exigente.
O que eu fiz?
Proxy/cache transparente na porta 80
Ziproxy na porta 8080
Uma vez por mês envio um e-mail para meus clientes avisando que opcionalmente, podem configurar no navegador o proxy para a porta 8080 usufruindo assim da navegação compactada para maior velocidade.
Explico os possíveis problemas, as vantagens e tudo mais.
Resultado:
Os clientes estão satisfeitos por terem a opção de navegação acelerada, responderam a uma pesquisa para dizer se a aceleração era satisfatória, 70% disseram que sim.
É isso aí pessoal, qualquer dúvida pode dizer.
Aviso: Dificilmente vou passar por este artigo novamente, por tanto, se quiser falar comigo, me mande uma mensagem.
[25] Comentário enviado por lopeston em 27/10/2007 - 01:43h
olá amigo, isso compensa usar em um server banda larga ? wireless ? com conexoes de 256 e 512k ? ou nao da muita diferenca ? muito obrigado, otimo tópico.
abraços
[26] Comentário enviado por buzaneli em 06/12/2007 - 23:47h
olá boa noite
eu tenho um servidor debian etch rodando o squid 2.6 uma beleza
instalei o ziproxy, está tudo certo como vc esplicou o dns está funcionado o ziproxy abriu a porta 8080, mas quando eu coloco no navegador mozila, o endereço do ziproxy, eu digito um site qualquer não aparece pagina nenhuma no meu navegado ela fica em branco, e no log do ziproxy ele diz que já acessou a pag vc pode me explicar o porque disso???
[27] Comentário enviado por martoss em 20/12/2007 - 09:53h
Nao consegui o rc.ziproxy start pois o link do artigo está quebrado, segui todos os passos e não deu nenhum erro, parei neste ponto, por não encontrar o script de inicializacao, se alguem puder me ajudar, favor mandar para martoss@hotmail.com.