segunda-feira, 12 de fevereiro de 2007

Montando Servidor XDCC (IROFFER)

IRC - Como configurar e usar o iroffer

Se você sempre foi um leecher nos canais de irc e têm banda larga, chegou a sua vez de contribuir! :-)

As instruções abaixo são para o Debian/GNU/Linux, mas, basta instalar o programa em qualquer distribuição ou se você gosta de correr riscos no Windows que o arquivo de configuração é o mesmo.

1° Passo - Instalação.

- Para Debian e derivados como Ubuntu, Kubuntu e Kurumin:
#aptitude install iroffer
- Para OS rpm's como Redhat, Suse, Mandriva e outros derivados:
Procure e instale o pacote iroffer (quem quiser mandar update com detalhes do procedimento da sua distribuição preferida, eu agradeço)
- Para Windows:
Sinceramente não sei, mas, da uma olhada na pagina oficial http://www.iroffer.org

--------------

2° Passo - Configuração.

- Criar na sua pasta home uma pasta exclusiva para a configuração (aconselho que seja iroffer mesmo, como usarei em meus exemplos):
$mkdir ~/iroffer

--------------

3° Passo - Criar o arquivo de configuração:

- Para Debian e derivados como Ubuntu, Kubuntu e Kurumin:
#gunzip /usr/share/doc/iroffer/examples/sample.config.gz
#cp /usr/share/doc/iroffer/examples/sample.config ~/iroffer/nomedobot.config
- Para OS rpm's como Redhat, Suse, Mandriva e outros derivados:
Procure o arquivo sample.config.gz que foi instalado pela sua distribuição e proceda como explicado acima (quem quiser mandar update com detalhes do procedimento da sua distribuição preferida, eu agradeço)
- Para Windows:
Sinceramente não sei, mas, da uma olhada na pagina oficial http://www.iroffer.org

--------------

4° Passo - Editando o arquivo de configuração:

- Nesta etapa não importa sua Distribuição :-) - Há menos é claro que você ainda não tenha entendido que Windows não é seguro e seja teimoso a esse ponto, então! http://www.iroffer.org de novo pra você :-P

- Abrindo o arquivo
$seueditorpreferidograficoounão ~/iroffer/nomedobot.config

O arquivo é todo comentando e tem exemplos em cada sessão, sendo que as sessões são bem separadas, só que ingles não é nem de longe meu forte :-(
Segue abaixo uma configuração adquirida com minha esperiência em canais de irc e com muinto google translator e achometro :-)

- Seção - pid file -:
pidfile nomedobot.pid
- Seção - log file -:
logfile nomedobot.log
logstats yes
logrotate weekly
- Seção - state file -:
statefile nomedobot.state
- Seção - xdcc listing file -:
xdcclistfile nomedobot_packs.txt
- Seção - connection method -:
connectionmethod direct
- Seção - nickserv -:
nickserv_pass senha_do_seu_nick_no_servidor_de_irc
- Seção - server information -:
server servidor_de_irc 6667 senha_do_seu_nick_no_servidor_de_irc
- Seção - channels (upto 50) -:
channel #nomedocanal
channel #nomedocanal2
channel #nomedocanalXXXXXXXXx (e assim vai, sendo uma linha pra cada canal dentro do servidor)
- Seção - user information -:
user_nick nomedonick_do_Bot
user_realname Nome_real_do_Bot
user_modes +i
- Seção - incoming TCP connections -:
tcprangestart 4000 (ou 5000 ou 6000 qualquer faixa de porta que você quer receber seus arquivos, muito útil atrás de firewall)
- Seção - manual dcc ip translation -:
usenatip COLOCAR_O_IP_REAL_DA_SUA_NET (Caso esteja atrás de um firewall ou seu modem seja router - vai ser útil a configuração anteiror ;-)
- Seção - maximum xdcc slots -:
slotsmax numero_da_quantidade de arquivos que podem ser enviandos simuntaneo (4 por ex)
- Seção - Queue Information -:
queuesize numero_da_quantidade de arquivos que podem ser colocados na fila de espera! (12 por ex)
- Seção - max transfers per person -:
maxtransfersperperson numero_da_quantidade de arquivos que uma pessoa pode baixar ao mesmo tempo! (1 por ex)
- Seção - max queued items per person -:
maxqueueditemsperperson numero_da_quantidade de arquivos que podem ser colocados na fila por uma pessoa! (3 por ex)
- add/chfile command helper directory -:
filedir /home/suapastadearquivos (Util para abreviar caminho nos comandos do bot!)
- restrict xdcc list and xdcc send -:
restrictprivlist
restrictprivlistmsg Para obeter os packs digite: !seucomandopreferido (isto ira impedir que seu bot caia direto por excesso de flood)
- Seção - channel xdcc commands -:
respondtochannelxdcc (se for pro bot responder ao comando xdcc) - Aconselho
#respondtochannelxdcc (se não for pro bot responder ao comando xdcc list)
- Seção - channel !list command -:
respondtochannellist (se for pro bot responder ao comando !list) - Aconselho
#respondtochannellist (se for pro bot responder ao comando !list)
- Seção - bypass queue for small files -:
smallfilebypass 100 (Assim o arquivo de packs será enviado de imediato desde que ele seja menor do que 100k, caso contrário aumente um pouco)
- authorized download hosts -:
downloadhost *!*@* (Assim todo mundo pode baixar :-)
- transfer min speed -:
transferminspeed 2 (Assim quem tiver querendo baixar o mundo junto com seu arquivo não fica empatado o Bot)
- transfer max speed -:
transfermaxspeed 15 (Ou o tanto de upload que você quiser limitar, para que alguém com uma super banda não consuma todo o seu upload e pare sua net)
- bandwidth limiting -:
overallmaxspeed 15 (O mesmo acima, mas, controlando todos os usuários)
- autosend feature -:
autosendpack 1 !seucomandopreferido meus packs. (envia o arquivo de packs pra quem der o comando especificado como !seucomandopreferido)
- headline -:
headline "Aquela msg especial que ficará no topo do seu arquivo de packs" (sem ")
- credit line -:
creditline Packs = Escreva o que você quiser para ser a linha de créditos do seu bot sempre que alguém der um comando de list no canal.
- log notices -:
lognotices (Assim saberemos pelo log o que os OPs e servidores tem a nos dizer ao entrar no canal)

--------------

5° Passo - instalando programa auxiliares que serão úteis.

- Instalando o screen para Debian e derivados como Ubuntu, Kubuntu e Kurumin:
#aptitude install screen (não precisa configurar mais nada)
- Instalando o screen para OS rpm's como Redhat, Suse, Mandriva e outros derivados:
Procure e instale o pacote screen (quem quiser mandar update com detalhes do procedimento da sua distribuição preferida, eu agradeço)
- Para windows:
Não tenho nem noção se existe screen pra windows, dançou :-P

--------------

6° Passo - iniciando o bot.

- Iniciando o screen com sessão exclusiva para o bot (terminal, konsole, xterm, etc.:
$screen -S bot (vai cair novamente no console)
- Iniciando o iroffer dentro da sessão screen:
$cd ~/iroffer
$iroffer nomedobot.config
- vai aparecer o bot logando no servidor e nos canais, após isto você estará no console do iroffer, onde tudo é via comando, tanto do iroffer, quanto de irc.
- querendo sair do console do iroffer sem fechar o bot basta digitar juntamente as teclas:
Ctrl + a + d (dessa forma sairá somente da sessão screen)
- querendo voltar ao console do iroffer:
screen -r bot (vai abrir a sessão do screen com o bot iroffer rodando)

--------------

7° Passo - utilização dos principais comando do bot.

Para saber os comandos do bot, basta digitar help no console do iroffer, dentre todos que aparecerão, eis os principais e que mais uso:

** HELP - Shows Help
Ou seja, help no console do iroffer, mostra todos os comando possíveis.
** XDL - Lists Offered Files
Ou seja, xdl mostra a lista de packs no console do iroffer. Uma dica, quando a lista estiver muito grande, veja a mesma em outro terminal com o comando "less ~/iroffer/nomedobot_packs.txt" (sem ")
** DCL - Lists Current Transfers
** DCLD - Lists Current Transfers with Details
Ou seja, dcl ou dcld mostra todas as transferências em andamento, so que com dcld, ele mostra mais detalhes.
** QUL - Lists Current Queue
Ou seja, qul mostra todos os arquivos na lista de espera.
** REMOVE n - Removes Pack n
Ou seja, remove numerodopack remove o pack que vc escolher do bot
** REMOVEDIR
- Remove Every File in
Ou seja, o mesmo de cima, só que para todos os arquivos da pasta especificada.
** RENUMBER x y - Moves Pack x to y
Ou seja, renumber numeropack numerodopacknovo vai trocar o numero dos packs (util para organizar sua lista de packs)
** ADD - Add New Pack With
Ou seja add arquivo_que_voce_quer_por_no_bot adiciona um novo arquivo ao seu bot, sendo que deve ser sempre um caminho valido para o arquivo.
** ADDDIR - Add Every File in
Ou seja adddir pasta_que_voce_quer_por_no_bot adiciona todos os arquivos de uma pasta ao seu bot, sendo que deve ser sempre um caminho valido para a pasta.
* ADDNEW - Add any new files in
Ou seja addnew pasta_que_voce_quer_por_no_bot adiciona todos os arquivos NOVOS de uma pasta ao seu bot, sendo que deve ser sempre um caminho valido para a pasta. (eu prefiro utilizar sempre este, assim não preciso me preocupar se estou colocando arquivos em duplicidade no bot)
** MSG - Send a message to a user
Ou seja, msg nickdousuario mensagem Envia mensagem a um usuário especifico.
** MESG - Sends msg to all users who are transferring
Ou seja, mesg mensagem Envia mensagem a todos usuários baixando do bot.
** MESQ - Sends msg to all users in a queue
Ou seja, mesq mensagem Envia mensagem a todos usuários na fila do bot.
** MSGREAD - Show MSG log
Ou seja, msgread mostra o log do bot (quando quiser monitorar)
** MSGDEL - Delete MSG log
Ou seja, msgdel Deleta o log
** STATUS - Show Useful Information
Ou seja, status Mostra a situação global do bot
** REHASH - Re-reads config file(s) and reconfigures
Ou seja, rehash recarrega as configurações do bot (util quando você altera o arquivo nomedobot.config e não quer parar o bot)
** BOTINFO : Show Information about the bot status
Ou seja, botinfo mostra informações detalhadas sobre a situação do bot.
** SHUTDOWN : Shutdown iroffer, is "now", "delayed", or "cancel"
Ou seja: shutdown now fecha o bot na hora; shutdown delayed fecha o bot quando não tiver mais nenhum arquivo sendo baixado e shutdown cancel Cancela o comando "shutdown delayed"

E isto ai! qualquer duvida mandem comentários!
Quando montei a primeira vez foi com o Ubuntu , mas essa configuração funciona com qualquer distribuição só editar o arquivo de conf como esta no tutorial e tudo funciona

Fonte: Devia Ter Previsto.

5 comentários:

Anônimo disse...

Blogger não libera RSS?

Diego Kehrle disse...

Parabéns pelo tutorial, muito bom!

[HNG]Bayb disse...

Cara!
Meu blog está sob GNU FDL 1.2, mas, não sabia que isto te dava o direito de postar um tutorial meu como se fosse seu!
Você nem se deu ao trabalho de mudar meus comentários!
Vê se pelo menos coloca meu créditos!

Rel disse...

deprimente.....

InFog (Evaldo Junior) disse...

Só para constar sr Rel, os créditos da postagens já foram colocados.