Squid Proxy
Gente, existe pelo menos, um trilhão de documentos em diversos idiomas ensinando a instalar e configurar o Squid!
"Squid é um Proxy cache para a WEB de suporte HTTP, HTTPS, FTP, e muito mais. Ele reduz a largura de banda e melhora os tempos de resposta
fazendo cache e reutilizar páginas da WEB frequentemente solicitados. Squid tem controles de acesso abrangentes e faz um grande acelerador de
Servidor. Ele roda em sistemas operacionais mais disponíveis, incluindo o Windows e está licenciado sob a GNU GPL."
Fonte:
http://www.squid-cache.org
Não vou abordar, tão pouco qual, a melhor estratégia de configuração deste projeto em seu computador.
Vou simplesmente adaptar o arquivo padrão para as atividades que necessito, isto é, um cache local para viabilizar a conexão via TOR a Internet,
levando em consideração que existe um outro Proxy Squid que dará acesso à Internet mediando pedido de usuário e senha.
A. Instalando o binário do squid
# zypper in squid
Responda 'yes' quando perguntado sobre as dependências, e SEJA FELIZ!
B. Alterando as configurações
Abra o arquivo "/etc/squid/squid.conf" e, lá pela linha 4882 (eu sou cabalístico. hahuahuah), inclua as seguintes linhas:
never_direct allow all
cache_peer IP.DO.SQUID.DO.PREDIO parent PORTA 0 no-query no-digest no-netdb-exchange default login=seuuser:SUAsenha
Exemplo:
never_direct allow all
cache_peer 190.1.0.190 parent 6080 0 no-query no-digest no-netdb-exchange default login=alexandre.marcolino:macacovelho2001
Isso fará com que o seu Squid funcione como um filho do Squid do prédio.
Seria um Squid CLIENT que só faz CACHE... Mas pode ser um pouco mais se você quiser, eu não quis.
Connect - Um simples programa para atravessar Proxys SOCKS
Este é o 'pulo do gato'!
Esse Script utiliza técnicas de encapsulamento para atravessar Proxys SOCKS e realizar conexões em serviços SSH na Internet, encapsulando tudo em
uma sessão HTTPS! Incrível, né!
Eu baixei de:
http://www.taiyo.co.jp - connect.c
Hospedei uma cópia em:
Scripts - Download
Um How-To completo, pode ser obtido em:
http://bent.latency.net
Sequencialmente, o que eu fiz foi:
- Baixei em "/usr/local/src/connect/" o fonte
- Compilei com a seguinte linha de comando:
# gcc /usr/local/src/connect/connect.c -o /usr/local/bin/connect
Garanti para que seja executável:
# chmod 555 /usr/local/bin/connect
Quase lá!
OpenSSH
Toda distribuição
Linux tem um pacote deste poderoso utilitário.
Se o seu openSUSE não possui ele instalado, o que eu duvido, pode ser instalado usando o comando:
# zypper in openssh
Responda 'yes' para confirmar a instalação, e SEJA FELIZ!
Agora, vamos configurar para acessar um Host remoto, através de toda a parafernália instalada.
Os serviços Tor e Squid, devem estar iniciados e funcionando:
# service squid start
# service tor start
Altere o arquivo de configuração do CLIENT SSH "/etc/ssh/ssh_config", incluindo o seguinte:
Host blog.marcolino.com.br
ProxyCommand connect -a none -S localhost:9090 %h %p
No exemplo acima, se eu tentar realizar um:
# ssh blog.marcolino.com.br
. . .Minha requisição será desviada para o comando 'connect', conforme está descrito na linha de comando, passando o usuário e senha que eu
informar na conexão como parâmetros.
Lindo! Sublime! TOTALMENTE LIVRE!
Finalmente
Abro meu Prompt e digito:
# ssh blog.marcolino.com.br
Digito meu usuário e minha senha, e estou logado...
Agora, vamos levar em consideração, que a solução tem um ponto negativo.
Como eu atravesso o mundo para sair por um HOST anônimo, a performance não é das melhores...
Veja bem, nada é uma panaceia... e tudo tem sua perda.
O ideal é uma conexão direta.
Eu consigo emular, inclusive, terminal gráfico (XDMP sob SSH e X11Forwarding).
Bom, a solução está ótima para mim. Não teve ainda nenhum lugar que usasse Proxy com uso de usuário e senha com 'basic auth', que esta solução
não resolvesse a parada.
Obrigado. Seja Feliz!