在下载东西时,有好多迅雷的下载地址,
可是在ubuntu下又没有合适的下载迅雷地址的软件,
于是就google了下,发现有个能把迅雷下载地址 解码成 普通下载地址的办法,
觉得不错,转过来,与大家共享...
原帖地址:http://dev.firnow.com/course/6_system/l ... 66260.html
下边是该帖子的原文:
我给迅雷发过邮件,问他们什么时候开发linux版的迅雷,但几个月过了,我还是没收到任何回音
但是下载东西的时候,经常会遇到以"thunder://"的链接,比如:
Quote:
thunder://QUFmdHA6Ly9keWdvZDE6ZHlnb2QxQGQxMzEuZHlnb2QuY246MzA0OS/pnZ7or5rli7/mibBEVkRzY3IvW+eUteW9seWkqeWggnd3dy5keWdvZC5jbl3pnZ7or5rli7/mibBjZDEucm12Ylpa
thunder://后面的一串无意义的字符串实际上是把原始URL经过RFC3548标准编码得到的,于是通过解码就可以得到正确的URL(会多出一些AA,ZZ之类的字符,不过很好辨别)
以上面的链接为例:
Quote:
echo QUFmdHA6Ly9keWdvZDE6ZHlnb2QxQGQxMzEuZHlnb2QuY246MzA0OS/pnZ7or5rli7/mibBEVkRzY3IvW+eUteW9seWkqeWggnd3dy5keWdvZC5jbl3pnZ7or5rli7/mibBjZDEucm12Ylpa | base64 -d
结果是这样的
Copy code
lili@ubuntu:~$ echo QUFmdHA6Ly9keWdvZDE6ZHlnb2QxQGQxMzEuZHlnb2QuY246MzA0OS/pnZ7or5rli7/mibBEVkRzY3IvW+eUteW9seWkqeWggnd3dy5keWdvZC5jbl3pnZ7or5rli7/mibBjZDEucm12Ylpa|base64 -d
AAftp://dygod1:dygod1@d131.dygod.cn:3049/非诚勿扰DVDscr/[电影天堂http://www.dygod.cn]非诚勿扰cd1.rmvbZZ
于是,就可以得到地址为
Quote:
ftp://dygod1:dygod1@d131.dygod.cn:3049/非诚勿扰DVDscr/[电影天堂www.dygod.cn]非诚勿扰cd1.rmvb
那么,现在我们就可以用任何一个你喜欢的下载工具下载它了
值得注意的是,经过解码,你发现了这个ftp网站的用户名和密码,lftp还记得么http://bbs.stuhome.net/read.php?tid=133292
当然了,下载的速度不可能快过迅雷,原因众所周知:
wget之类的软件不能盗链!!
我们还是期望linux版迅雷快点出现吧
最后总结一下上面的命令:
echo $FILE_URL | base64 -d
也许你会觉得输出结果不好看(输出后没换行),那就这样吧
echo $FILE_URL | base64 -d | echo
还不满足的同学可以用这个原理写个脚本直接下载
【注】写于2009年1月12日
上述方法,也就是把迅雷下载地址中 thunder:// 和=之间的部分,
使用 echo 地址 | base64 -d 进行转换,
输出字符串中 AA 和ZZ 中间的部分,就是实际的下载地址,
我试了几个,都能用,为了更方便,我做了个脚本,
用来截取 输入的迅雷地址, thunder:// 和=之间的部分,, 输出 AA 和ZZ之间的实际地址,
如下
代码: 全选
#!/bin/bash
#Change xunlei URL to normal URL
echo "Please input xunlei URL"
read XunleiURL
url=$XunleiURL
a=`expr index $url "//"`
if [ "$a" -gt 0 ]
then
url=${url:$a+1}
fi
a=`expr index $url "="`
if [ "$a" -gt 0 ]
then
url=${url:0:$a-1}
fi
url=`echo $url | base64 -d`
a=`expr index $url "AA"`
if [ "$a" -gt 0 ]
then
url=${url:$a+1}
fi
a=`expr index $url "ZZ"`
if [ "$a" -gt 0 ]
then
url=${url:0:$a-1}
fi
echo $url
read -p "Press Enter to Exit…"