Capa / Portfolio / 244 posts / 1,043 comentários

Escrevi esse artigo pra tentar fomentar o download de músicas por este método alternativo, não é tão difícil e trabalhoso quanto parece à primeira vista. O esforço da aprendizagem nesse caso com certeza é compensado.

O SDFind

Antes do Napster, KaZaA, eDonkey, Torrent e todas essas parafernalhas de compartilhamento, existia o IRC. Que era realmente uma febre e desperta ainda saudades em muita gente. Hoje o IRC é bastante usado por comunidades de usuários e desenvolvedores de projeto, todo mundo deve conhecer.

Esses usuários que trocavam informações, procuraram dinamizar essa troca, inventando o DCC, um protocolo de transferência de dados direto entre dois usuários no IRC e que, além de Chat, pode ser usado também para envio de arquivos.

Acontece que muitos usuários quiseram ir ainda mais longe, e possuir tal estrutura como a de um servidor. Então surgiram os FileServers do IRC, que com base no DCC, funcionam como estruturas de diretórios, onde um usuário pode acessar determinado grupo de arquivos, e escolher quais deles gostaria de baixar.

O SDFind é um dos primeiros meios de compartilhamento de arquivos via internet, é dinâmico, e funciona à base de linha de comando. Mas isso pode ser automatizado e ficar realmente muito fácil. Existem muitos canais que usam protocolos como o SDFind para compartilhar arquivos via IRC.

É um método que ainda resiste às tecnologias mais modernas como o eDonkey e o Torrent, é mais rápido também, pois os membros conectam-se diretamente e em fila de transferência que raramente ultrapassa 3 usuários simultâneos recebendo dados por servidor. Mas o que eu acho mais legal mesmo, é que fora lançamentos e conteúdo popular para leechers, existem álbuns raros e completos em mp3 de alta qualidade (geralmente MP3s com qualidade superior a 192kbps), filmes alternativos específicos, jogos antigos, roms raras para emuladores de videogames raros, etc.

Onde usam esse tal de SDFind?

Antes de mais nada, você precisa procurar um canal que compartilhe o conteúdo que você quer, para isso, tem um site muito bom, o www.searchirc.com. Que tem uma base de dados enorme de canais e servidores IRC.

As principais redes que possuem canais que funcionam à base de SDFind são a Undernet e a EFnet.

Procure canais que batam com seu objetivo, existem realmente muuuitos deles.
Vou enfatizar aqui o uso do SDFind, embora existam vários outros meios de se compartilhar arquivos no IRC.

Usando o SDFind na Unha

Ao entrar em um canal que possui compartilhamento à base de SDFind, você pode ficar confuso de início, pois é tudo uma zona. Isso acontece porque os pedidos de envio dos arquivos são feitos via canal, com comandos pré-estabelecidos em listas que você baixará das pessoas que estão compartilhando estes arquivos. Complicado? Nem tanto.

Vamos lá então.
Vamos supor que eu queira baixar a música Parabola da banda Tool.

Vou entrar em um dos maiores canais de compartilhamento de MP3 que existem, o mp3passion na Undernet.org:

/server eu.undernet.org   # Conecta na Undernet
/join #mp3passion   # Entra no canal

Uma vez dentro do canal, vou fazer uma procura:

@find tool parabola   # Procura a música

Existem dois meios básicos de receber a procura.

Em alguns canais, existem bots que fazem a procura pra você e lhe retornam uma lista (enviada como um arquivo TXT ou ZIP) com tudo que eles acharam da procura. Já na maioria dos canais, a procura é retornada como mensagem PVT de cada servidor mesmo. Você pode configurar um filtro para receber essa procura em janelas ou abas separadas, ou você pode mesmo ficar esperto nas linhas do canal para ver o que vem pra você :p.

Nesta procura, eu recebi os seguintes resultados do usuário DiGGitY:

Search Result 1 Match For tool parabola Copy And Paste !DiGGitY FILENAME To The Channel To Request. (6/7) Free Slots, 21 Queued OmeNServE v2.60
!DiGGitY Tool - Lateralus - 07 - Parabola.Mp3 ::INFO:: 8.3MB OmeNServE v2.60

Traduzindo:
Foi encontrado 1 resultado dentro do que o usuário DiGGitY tem, você deve copiar e colar !DiGGitY NOMEDOARQUIVO no canal para requisitar o arquivo. Este usuário possui 6 slots livres de 7, 21 arquivos na fila de envio, e usa o Script servidor de arquivos OmeNServE v2.52

Então, façamos o que ele nos pede. Copiar e colar no canal:

!DiGGitY Tool - Lateralus - 07 - Parabola.Mp3 ::INFO:: 8.3MB OmeNServE v2.60

Copiando e colando no canal, recebi a mensagem do mesmo usuário

-DiGGitY- :  Request Accepted File: Tool - Lateralus - 07 - Parabola.Mp3 Queue Position: 22 Allowed: 1 of 21 Min CPS: 50 Priority Queue: On OmeNServE v2.60

Como meu cliente IRC está com aceitação automática de envios DCC:

DCC Send Tool - Lateralus - 07 - Parabola.Mp3 (xxx.xxx.xxx.xx) # Escondi o IP do servidor mesmo
* DiGGitY ofereceu Tool_-_Lateralus_-_07_-_Parabola.Mp3 (8688872 bytes)
* DCC RECV conexão estabelecida com DiGGitY [xxx.xxx.xxx.xx:xxxx]

Após uns 5 minutinhos, já recebi o arquivo de quase 9MB, uma MP3 em 192kbps, uma qualidade excelente de música em transferência direta, muito rápido, e numa conexão não tão boa.

* DCC RECV Tool_-_Lateralus_-_07_-_Parabola.Mp3 de DiGGitY completo [25331 cps].

Pronto. É assim que se faz. Só precisa-se tomar cuidado para não colar por vez mais do que o número de pedidos estabelecido no canal. Normalmente se você colar mais de 4 pedidos de uma vez só, você é banido do canal por flood.

Se você quiser ver tudo o que o usuário DiGGitY possui, basta digitar no canal a string @nick:

@DiGGitY

Que então DiGGitY lhe enviará um arquivo ZIP ou RAR com uma lista em TXT de todos os arquivos que ele tem.
É realmente impressionante a quantidade de arquivos que certos servidores têm. As listas TXT chegam facilmente a 10MB.

O que foi visto antes pode ser feito em qualquer cliente IRC, mas existe um modo para automatizar os pedidos usando o X-Chat. Seria bem chato baixar mais de 200 músicas desse jeito não seria? :p

Automatizando os Downloads:

Antes de mais nada, vamos precisar do X-Chat.

http://www.xchat.org

Uma vez instalado e com suporte a Perl (a versão atual vem com este suporte por padrão), vamos usar um script bem bacaninha chamado Syrup.

Baixe o Syrup aqui:
http://www.geocities.com/iwronsky/syrup-1.1.4.tar.gz

E baixe também um patch para versão 2 do X-Chat.
http://www.geocities.com/iwronsky/syrup-xchat2.patch.gz

Coloque ambos os arquivos na sua pasta pessoal do X-Chat:

/home//.xchat2

Desempacote o arquivo syrup-1.1.4.tar.gz e rode o seguinte comando para aplicar o patch:

zcat syrup-xchat2.patch.gz | patch -p0

Será perguntado sobre um patch reverso, retorne YES.

Maravilha, com tudo instalado, inicie o X-Chat que este deverá carregar o script perl Syrup.pl automaticamente.

Escolha uma rede e conecte.

Para facilitar sua vida, você deverá habilitar o recebimento automático de arquivos, para isso, vá em:

Settings > Preferences > File Transfers
* Auto accept file offers: YES

Escolha também onde você quer que os arquivos sejam baixados nas seções:

* Download files to:
* Move completed files to:

Uma boa sugestão é que estes diretórios sejam diferentes para você não se confundir quando precisar fazer resume de arquivos mais tarde.

Para conhecer os comandos do Syrup, digite no X-Chat:

/shelp

Após baixar as listas e saber o que você quer baixar, basta separar as linhas das listas dos servidores em um arquivo texto separado e digitar:

/sto SERVIDOR    # Seta o servidor que receberá os comandos a seguir
/sload CAMINHO PARA O ARQUIVO DE TEXTO # Carrega os arquivos na fila
/syrup     # Inicia os pedidos

Você pode verificar quantos arquivos o servidor suporta na fila para cada usuário e digitar:

/snext SERVIDOR    # Faz o pedido do próximo arquivo na fila

E assim preencher todos os slots que você tem de direito.
Dá para fazer listas enormes e deixar baixando tranquilamente.

Baixando um Álbum

Como eu já peguei a música do Tool, vamos supor que eu queira baixar todas as músicas do Tool de alguém:

Como eu sei que DiGGitY tem algumas músicas, então eu vou pegar a lista deste cara.

@DiGGitY

Recebi então:

DCC Send DiGGitY-default(2006-09-21)-OS.zip (xxx.xxx.xxx.xx)

Indo para a pasta onde eu recebo os downloads completos, desempacotando a lista, procuro por tudo na lista que tem Tool.

grep -i tool DiGGitY-default\(2006-09-21\)-OS.txt

Me retornando:

!DiGGitY Planet P - Power Tools.Mp3  ::INFO:: 4.1MB
K:\Tunes\Rock\Tool\
!DiGGitY Tool - Lateralus - 01 - The Grudge.Mp3  ::INFO:: 11.8MB
!DiGGitY Tool - Lateralus - 02 - Eon Blue Apocalypse.Mp3  ::INFO:: 1.5MB
!DiGGitY Tool - Lateralus - 03 - The Patient.Mp3  ::INFO:: 9.9MB
!DiGGitY Tool - Lateralus - 04 - Mantra.Mp3  ::INFO:: 1.7MB
!DiGGitY Tool - Lateralus - 05 - Schism.Mp3  ::INFO:: 9.3MB
!DiGGitY Tool - Lateralus - 06 - Parabol.Mp3  ::INFO:: 4.3MB
!DiGGitY Tool - Lateralus - 07 - Parabola.Mp3  ::INFO:: 8.3MB
!DiGGitY Tool - Lateralus - 08 - Ticks And Leeches.Mp3  ::INFO:: 11.2MB
!DiGGitY Tool - Lateralus - 09 - Lateralus.Mp3  ::INFO:: 12.9MB
!DiGGitY Tool - Lateralus - 10 - Disposition.Mp3  ::INFO:: 6.6MB
!DiGGitY Tool - Lateralus - 11 - Reflection.Mp3  ::INFO:: 15.3MB
!DiGGitY Tool - Lateralus - 12 - Triad.Mp3  ::INFO:: 12.0MB
!DiGGitY Tool - Lateralus - 13 - Faaip De Oiad.Mp3  ::INFO:: 3.6MB
!DiGGitY Tool-Ultra Rare Trax-01-Santa Monica And Orange.Mp3  ::INFO:: 1.1MB
!DiGGitY Tool-Ultra Rare Trax-02-Spasm.Mp3  ::INFO:: 7.3MB
!DiGGitY Tool-Ultra Rare Trax-03-Silly Little Love Songs.Mp3  ::INFO:: 10.5MB
!DiGGitY Tool-Ultra Rare Trax-04-Demon Cleaner.Mp3  ::INFO:: 7.9MB
!DiGGitY Tool-Ultra Rare Trax-05-Stranglehold.Mp3  ::INFO:: 13.3MB
!DiGGitY Tool-Ultra Rare Trax-06-You Lied.Mp3  ::INFO:: 11.2MB
!DiGGitY Tool-Ultra Rare Trax-07-Muhammad My Friend.Mp3  ::INFO:: 5.0MB
!DiGGitY Tool-Ultra Rare Trax-08-Revolution.Mp3  ::INFO:: 10.6MB
!DiGGitY Tool-Ultra Rare Trax-09-No Quarter.Mp3  ::INFO:: 10.8MB
!DiGGitY Tool-Ultra Rare Trax-10-Comfortably Numb.Mp3  ::INFO:: 3.4MB
!DiGGitY Tool-Ultra Rare Trax-11-Wrong Way.Mp3  ::INFO:: 3.4MB
!DiGGitY Tool-Ultra Rare Trax-12-Passenger.Mp3  ::INFO:: 8.5MB
!DiGGitY Tool-Ultra Rare Trax-13-Know Your Enemy.Mp3  ::INFO:: 6.8MB

A partir daqui, tem duas alternativas:

  1. Separar uma lista para carregar de uma só vez no Syrup;
  2. Ir copiando e colando no Syrup o que eu quero que ele requisite ao servidor.

Opção 1:

grep -i tool DiGGitY-default\(2006-09-21\)-OS.txt > LISTA

Dentro do X-Chat:

/sto DiGGitY   # Define DiGGitY como receptor
/sload LISTA   # Carrega a lista
/syrup    # Inicia os pedidos
/snext    # Preenche os slots

Opção 2:

Definir um pipe com o grep para jogar no awk, colocando o comando /sp no início de cada linha.
Dá pra fazer isso com o sed também, mas eu prefiro o awk.

grep -i tool DiGGitY-default\(2006-09-21\)-OS.txt | awk -F'txt:' '{print "/sp " ""$1""}'

Dependendo da lista, deve-se mudar a variável $1 para $2 ou $3.

Isso vai me dar uma lista no terminal:

/sp !DiGGitY Planet P - Power Tools.Mp3  ::INFO:: 4.1MB
/sp K:\Tunes\Rock\Tool\
/sp !DiGGitY Tool - Lateralus - 01 - The Grudge.Mp3  ::INFO:: 11.8MB
/sp !DiGGitY Tool - Lateralus - 02 - Eon Blue Apocalypse.Mp3  ::INFO:: 1.5MB
/sp !DiGGitY Tool - Lateralus - 03 - The Patient.Mp3  ::INFO:: 9.9MB
/sp !DiGGitY Tool - Lateralus - 04 - Mantra.Mp3  ::INFO:: 1.7MB
/sp !DiGGitY Tool - Lateralus - 05 - Schism.Mp3  ::INFO:: 9.3MB
/sp !DiGGitY Tool - Lateralus - 06 - Parabol.Mp3  ::INFO:: 4.3MB
/sp !DiGGitY Tool - Lateralus - 07 - Parabola.Mp3  ::INFO:: 8.3MB
/sp !DiGGitY Tool - Lateralus - 08 - Ticks And Leeches.Mp3  ::INFO:: 11.2MB
/sp !DiGGitY Tool - Lateralus - 09 - Lateralus.Mp3  ::INFO:: 12.9MB
/sp !DiGGitY Tool - Lateralus - 10 - Disposition.Mp3  ::INFO:: 6.6MB
/sp !DiGGitY Tool - Lateralus - 11 - Reflection.Mp3  ::INFO:: 15.3MB
/sp !DiGGitY Tool - Lateralus - 12 - Triad.Mp3  ::INFO:: 12.0MB
/sp !DiGGitY Tool - Lateralus - 13 - Faaip De Oiad.Mp3  ::INFO:: 3.6MB
/sp !DiGGitY Tool-Ultra Rare Trax-01-Santa Monica And Orange.Mp3  ::INFO:: 1.1MB
/sp !DiGGitY Tool-Ultra Rare Trax-02-Spasm.Mp3  ::INFO:: 7.3MB
/sp !DiGGitY Tool-Ultra Rare Trax-03-Silly Little Love Songs.Mp3  ::INFO:: 10.5MB
/sp !DiGGitY Tool-Ultra Rare Trax-04-Demon Cleaner.Mp3  ::INFO:: 7.9MB
/sp !DiGGitY Tool-Ultra Rare Trax-05-Stranglehold.Mp3  ::INFO:: 13.3MB
/sp !DiGGitY Tool-Ultra Rare Trax-06-You Lied.Mp3  ::INFO:: 11.2MB
/sp !DiGGitY Tool-Ultra Rare Trax-07-Muhammad My Friend.Mp3  ::INFO:: 5.0MB
/sp !DiGGitY Tool-Ultra Rare Trax-08-Revolution.Mp3  ::INFO:: 10.6MB
/sp !DiGGitY Tool-Ultra Rare Trax-09-No Quarter.Mp3  ::INFO:: 10.8MB
/sp !DiGGitY Tool-Ultra Rare Trax-10-Comfortably Numb.Mp3  ::INFO:: 3.4MB
/sp !DiGGitY Tool-Ultra Rare Trax-11-Wrong Way.Mp3  ::INFO:: 3.4MB
/sp !DiGGitY Tool-Ultra Rare Trax-12-Passenger.Mp3  ::INFO:: 8.5MB
/sp !DiGGitY Tool-Ultra Rare Trax-13-Know Your Enemy.Mp3  ::INFO:: 6.8MB

Pronto, agora é só copiar e colar o que interessa no X-Chat:

/sto DiGGitY         # Define DiGGitY como receptor
 
### COLAR A LISTA ###
 
/syrup    # Inicia os pedidos
/snext    # Preenche os slots

Agora. É só partir para o leech.
Fiz um script para fazer boa parte desse trabalho, assim que eu arrumá-lo certinho eu posto no blog.

3 Comentários

scmn76@hotmail.com — 01 de janeiro de 2009 às 10:52 #

Olá!
Eu usava o cyberscript no windows xp e nele tem a função de ouvir a música durante o processo de download, mas aos poucos estou migrando para linux ubuntu e nele uso o xchat mas nao encontrei a mesma função do cyber, alguém pode me ajudar? Obg!

Vinícius Massuchetto01 de janeiro de 2009 às 16:32 #

Oi!

Eu cheguei até a desenvolver uns pedaços do Syrup, mas baixar mp3 pelo xchat não é tarefa das mais automatizadas.

Se você realmente depende dessa ferramenta instale-a via wine. Não deve ter problemas pra usar mIRC.

Abraços!

walder nogueira — 05 de maio de 2009 às 16:40 #

Usava o Mirc pra baixar videos, o canal #videos4all, e tambem compartilhava, depopis de formatada minha maquina, não sei como entrar mais no mirc, já que foi um amigo que fez e não mora mais aqui, gostaria que alguem me ensinasse passo a passo, e tambem como fazer minha lista de videos pra compartilhar…grato.