Burlando UploadLine.com para pegar link direto
Bem, a uns dias atras estava eu navegando pela internet quando me deparei com um (mais um) filehost grátis, www.uploadline.com.
E me chamou a atenção pelo fato de ter um site “clean” e suportar arquivos de 100mb, então resolvi fazer um upload pra testar a velocidade.
Tanto o Upload como o Download são ótimos. Só pra dar uma idéia, testei em casa com 2Mbps/400kbps da BrT, o download ficou na casa dos 220KBps e o upload ficou em torno de 43KBps.
Um dos arquivos que upei foi o dbPowerAMP, programinha pra conversão de áudio, o link que o UploadLine me “entregou” após o upload foi esse:
http://www.uploadline.com/line/73029…WareZ.zip.html
Ao entrar nessa página vocês podem perceber que carrega o site do UploadLine e gera um link pro download do arquivo (Download File).
No meu caso, agora (09/08/2007 00:22) foi gerado o link:
http://www.uploadline.com/dline/7302…_FileWareZ.zip
Notem que foi adicionado o número ’1186629927′ antes do nome do arquivo, foi adicionada a letra ‘d’ antes da palavra ‘line’ e removida a extensão ‘.html’ do final.
Como trabalho com PHP/MySQL/Javascript resolvi tentar descobrir o que gera esse número antes do nome do arquivo.
Após alguns ‘Refresh’s’ na página de download percebi que esse número ia aumentando, como se fosse um contador que muda a cada segundo.
Dei uma olhada no código fonte e encontrei um Javascript (codificado) que quando “descodificado” me retornava exatamente a URL direta do arquivo.
Mas ainda ficou a dúvida: O que estava gerando esse número antes do nome do arquivo?
Mais uns “Refresh’s” na página de download e tive uma idéia.
Quem trabalha com Banco de Dados ou Programação, sabe que trabalhar com datas é meio complicado, mas existe uma “técnica” chamada UNIX TIMESTAMP. Essa “técnica” utiliza o marco zero do sistema UNIX como referência e conta os segundos desde a data 01/01/1970 00:00:00UTC.
(http://pt.wikipedia.org/wiki/Era_Unix#UNIX_timestamp)
Fiz um teste, conectei no Banco de Dados da empresa e verifiquei o UNIX TIMESTAMP do sistema. Dei mais um “Refresh” na página do download e comparei com o resultado que o Banco de Dados apresentava, a diferença era mínima.
Então matei a charada, esse número gerado é o UNIX TIMESTAMP.
Com mais alguns testes percebi que quando é acessado um link direto com um UNIX TIMESTAMP que ja passou o download não era liberado, mas com um UNIX TIMESTAMP “do futuro” com segundos/minutos adiantado o download é liberado.
Então desenvolvi um pequeno script em PHP com consulta a Banco de Dados MySQL que digamos, colabora com os viciados em downloads =], gerando um link direto a partir do link que o UploadLine fornece, com aproximadamente 1 hora à frente, ou seja a pessoa tem 1 hora pra clicar no link direto e iniciar o download, antes que o tempo passe e o TIMESTAMP vire “passado” hehehe.
Pra quem quiser testar:
- Faça um upload qualquer no UploadLine.com
- Anote o link que o site disponibiliza pro download
- Acesse a pagina de testes, que por sinal está bem pobre de visual: http://erus.newsit.es/link.htm
ou
http://erus.prohosts.org/linkup.htm – Mais rápido que o primeiro
(Detalhe, os links acima direcionam pros meus hosts grátis, não precisa ter medo que não tem vírus =P)
- Cole o link que você tem em mãos no local indicado e clique em gerar link
- Por fim o link direto é gerado e você pode fazer o download sem ter que entrar na página do UploadLine.com. (Detalhe: pelo fato de ser host grátis pode ser meio lento pra carregar as páginas)
Pra finalizar, esse script como eu já disse é pra testes, estou pensando em fazer algo parecido com aqueles serviços de “URL reduzida”, se não me engano tem um chamado “tinyurl” (algo assim) e disponibilizar pro pessoal do fórum.
Espero ter explicado de uma forma que fique claro pra todos e que seja útil, pelo menos enquanto os admins do UploadLine não acharem esse BURACO enorme no sistema.


