Introdução
O msn-proxy é um proxy transparente leve para clientes do msn messenger. Suporta todos os protocolos ativos ( todos clientes ). Controla quem e como o msn messenger é usado em sua rede. Cheio de recursos.
O texto acima é uma tradução da descrição escrita pelo autor no site do projeto.
O msn-proxy possui recursos como: Bloqueio de usuário, controle da lista de amigos dos usuários, log de conversação, aviso em chat sobre o monitoramento, bloqueio de transferência de arquivos, entre outros.
Ambiente Testado
Freebsd 7.0 Beta 3:
-
gcc version 4.2.1 20070719
-
MySQL version 5.0.45
-
libevent version 1.3d
-
Apache version 2.0.61
-
PHP version 4.4.7
Slackware 11:
-
gcc version 3.4.6
-
MySql version 5.0.24a
-
libevent version 1.3d/1.3b
-
Apache version 1.3.37
-
PHP version 5.2.5
Instalação
LibEvent:
FreeBSD:
# cd /usr/ports/devel/libevent/
# make install clean
Linux:
# wget -c ‘http://monkey.org/~provos/libevent-1.3d.tar.gz ‘
# tar -zxvf libevent-1.3d.tar.gz
# cd libevent-1.3d/
# ./configure && make && make install
ou
# wget -c ‘http://lp.slackwaresupport.com/Slackware-11.0/martijn/libevent-1.3b-i486-1McD.tgz‘
# installpkg libevent-1.3b-i486-1McD.tgz
msn-proxy:
Linux/FreeBSD:
# wget -c ‘http://internap.dl.sourceforge.net/sourceforge/msn-proxy/msn-proxy-0.5.tar.gz‘
# tar -zxvf msn-proxy-0.5.tar.gz
# cd msn-proxy
# make¹
# make install
¹ O FreeBSD por usar o gcc4 foi necessário editar o arquivo Makefile e mudar a CCFLAGS, o processo é simples, apenas comentar( adicionar o # do inicio da linha) o CCFLAGS do gcc3 na linha 13 e descomentar( retirar o # do inicio da linha) o CCFLAGS do gcc4 na linha 17.
Configurando
Primeiro arquivo a ser configurado é o /usr/local/etc/msn-proxy/mysql/conf, é nesse arquivo que ficam os dados para a conexão entre o msn-proxy e o banco mysql.
Sintaxe:
(Host ou Socket)|(Port)|(usuario)|(senha)|(bando de dados)
Padrão:
/tmp/mysql.sock|0|msn-proxy|secret|msn-proxy
Após isso iremos criar o banco do dados e criar o usuário para o msn-proxy.
MySQL:
> create database `msn-proxy¹`;
> grant all privileges on `msn-proxy¹`.* to `msn-proxy²`@localhost identified by ’secret³‘;
> flush privileges;
¹ Banco de dados
² Usuário
³ Senha
Após ter feito os passos anteriores, iremos rodar pela primeira vez o msn-proxy que irá criar as tabelas no banco.
# /usr/local/bin/msn-proxy
Se tudo ocorrer bem terá a seguinte mensagem:
PUBLIC ACCESS on /usr/local/etc/msn-proxy/mysql/conf should be removed !!!¹
fail to read mysql config (check defaults table)²
¹Avisa que o arquivo está com acessos demais.
² Não há host default configurado na tabela.
Retirar acesso público do arquivo de configuração:
# chmod 600 /usr/local/etc/msn-proxy/mysql/conf
Inserindo ip real do servidor proxy na tabela do mysql:
MySQL:
> insert into defaults (internal_host) values (‘192.168.0.1¹‘);
¹192.168.0.1 deve ser o ip real.
Feita as alterações o seu msn-proxy está configurado e pronto para receber conexões.
# /usr/local/bin/msn-proxy &
Interface Web
Junto ao source do msn-proxy acompanha o diretório ‘php’ que é um utilário web para a configuração e gerenciamento do seu msn-proxy.
Edite o arquivo mysql.inc.php e edite as variavéis $host,$user,$pass,$db,$port de acordo com os dados usados no servidor mysql, após a edição, copie o diretório php para sua pasta web e sete as restrições de acesso necessárias, saiba como aqui.
Port Forwarding
É necessário fazer um redirecionamento das conexões vindas de sua rede, para que o proxy funcione de forma transparente.
Linux:
# iptables -t nat -I PREROUTING -i eth0¹ -p tcp –dport 1863 -j REDIRECT –to-port 1863
FreeBSD:
ipfw
ipfw add X¹ fwd 127.0.0.1,1863 ip from any to any dst-port 1863 src-ip 192.168.0.0/24²
¹Número da rega no ipfw
²Faixa de Rede Local
pf.conf
rdr on vr0¹ inet proto tcp from any to any port 1863 -> 127.0.0.1 port 1863
¹Interface de rede local.Conclusão
Chegamos ao fim do artigo, espero ter conseguido transmitir de forma mais clara possivél os passos usados por mim para a instalação desse exceletente software.
Se mesmo após instalado e configurado seu msn-proxy não inciar, teste rodar com a opção ‘-d’(debug) para maiores informações do seu problema.
Em caso de dúvida não temam em perguntar.
Links
http://sourceforge.net/projects/msn-proxy/
http://monkey.org/~provos/libevent/
http://focalinux.cipsga.org.br/
http://get.live.com/messenger/overview
Autor
Diego Pitombeira dos Prazeres a.k.a pitombera