解析迅雷-快车-旋风的PY脚本

软件和网站开发以及相关技术探讨
回复
头像
maonx
帖子: 206
注册时间: 2008-09-09 16:39
联系:

解析迅雷-快车-旋风的PY脚本

#1

帖子 maonx » 2010-06-02 20:55

在Linux下痛苦的是没有好的下载软件,如果在win下用习惯了迅雷这些的话,有时候还是有点不习惯的,虽然迅雷这些是吸血厉害,但速度还是挺快的

今天在网上看了一篇文章,讲到了迅雷,快车,qq旋风这些专用下载地址的解码和加编码问题,感觉挺简单的就初步写了一个py脚本,用来下载这3种链接

只要运行这个脚本 在它的命令后面加上这三种链接中的其中一种链接地址就行,它就会自动解析和用wget下载. 用法: 脚本名 ‘url’ 代码在最下面

基本测试都能成功,在天空下载测试没有成功,解析出地址后用wget 下载竟然下的只是一个index.html

下面讲的是简单的原理:

迅雷地址和快车地址的加密方式很简单,其实都是用的Base64加密方式,只不过有一点点的小改动而已。

1、迅雷
迅雷链接地址转换原理是在地址的前方和后方加入两个字母AA、ZZ,然后再进行Base64加密,再加上Thunder://这个专用链接标识,从而转换成迅雷的专用地址。

例如:

原链接为:http://www.forece.net/win7.rar

在原地址前面加”AA”,后面加”ZZ” (注:不包括引号),地址变为
AAhttp://www.forece.net/win7.rarZZ

此地址base64编码为
QUFodHRwOi8vd3d3LmZvcmVjZS5uZXQvd2luNy5yYXJaWg==

加入迅雷专链标识,即在上地址前加thunder://,即
thunder://QUFodHRwOi8vd3d3LmZvcmVjZS5uZXQvd2luNy5yYXJaWg==

2、网际快车
网际快车的链接地址转换原理和迅雷的类似,只不过是在地址前后加上[FLASHGET],经过Base64加密,然后在地址前加 flashget://这个快车专用链接标识,最后还需要加一个标识符(&符号),符号任意,我一般就加我的名字(&forece),这样就可以将普通http地址转换成快车的地址了。

例如:

原链接为:http://www.forece.net /win7.rar

在原地址前后都加上”[FLASHGET]“(注:不包括引号),地址变为

[FLASHGET]http://www.forece.net/win7.rar[FLASHGET]

此地址base64编码为

W0ZMQVNIR0VUXWh0dHA6Ly93d3cuZm9yZWNlLm5ldC93aW43LnJhcltGTEFTSEdFVF0=

加上快车专链标识和结尾符号,即在上地址前加flashget://,结尾加&forece,即

flashget://W0ZMQVNIR0VUXWh0dHA6Ly93d3cuZm9yZWNlLm5ldC93aW43LnJhcltGTEFTSEdFVF0=&forece

“& 符号”,符号怎么得出我也不清楚,只是看网上别人这么写的,至今无人报错。

3、QQ旋风
QQ旋风的地址转换相对就简单多了,将原地址直接base64编码加密就可以了,然后加上标识符qqdl://即可。

例如:

原链接为:http://www.forece.net/win7.rar

此地址base64编码为

aHR0cDovL3d3dy5mb3JlY2UubmV0L3dpbjcucmFy

再加上旋风专链标识,在上地址前加qqdl://,即

qqdl://aHR0cDovL3d3dy5mb3JlY2UubmV0L3dpbjcucmFy

这样,普通的http地址就可以轻松的转换成快车,迅雷,旋风的地址了。相反,解密只要将过程反推即可。同样还是利用Base64加密,解密工具。

原理摘自:http://www.forece.net/post/570.htm

代码:

代码: 全选

#!/usr/bin/python
'''
mydown.py
This script is used to convert thunder,flashget and qqdl's
url to http's url .
Then run wget to get it!
'''
import sys,base64,os

def convert(argv):
    if len(argv)==2:
        url=argv[1]
    else :
        print "Input Error!\nUsage: %s 'url' " % (argv[0])
        sys.exit(1)
    # decode the url with base64 , and
    # get a simple url
    if url.startswith('thunder://'):
        url=url[10:]+'\n'
        url=base64.decodestring(url)
        url=url[2:-2]
    elif url.startswith('flashget://'):
        url=url[11:url.find('&')]+'\n'
        url=base64.decodestring(url)
        url=url[10:-10]
    elif url.startswith('qqdl://'):
        url=url[7:]+'\n'
        url=base64.decodestring(url)
    else :
        print '\nIt is not a available url!'
        sys.exit(1)
    return url

def main(argv):
    url=convert(argv)
    # Run wget to get it
    os.system('wget '+url)

if __name__=='__main__':
    main(sys.argv)

Am I in Matrix?
System: ArchLinux
DM: Awesome 3.4.4
乱乱的小窝
头像
tenzu
论坛版主
帖子: 36924
注册时间: 2008-11-21 20:26

Re: 解析迅雷-快车-旋风的PY脚本

#2

帖子 tenzu » 2010-06-02 20:59

热烈鼓掌
头像
非主流1987
帖子: 427
注册时间: 2008-05-09 23:50

Re: 解析迅雷-快车-旋风的PY脚本

#3

帖子 非主流1987 » 2010-06-02 21:01

:em04 我素来学习的~不错的文章,不错的脚本~
头像
maonx
帖子: 206
注册时间: 2008-09-09 16:39
联系:

Re: 解析迅雷-快车-旋风的PY脚本

#4

帖子 maonx » 2010-06-02 21:17

基本测试都可以用吧,要支持断点的话 要自己改命令 wget那 ,或换一个命令行下载,比如 aria2
Am I in Matrix?
System: ArchLinux
DM: Awesome 3.4.4
乱乱的小窝
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: 解析迅雷-快车-旋风的PY脚本

#5

帖子 eexpress » 2010-06-02 21:19

解析的,很早就有。
我不知道哪些网站是这些链接的。
● 鸣学
头像
maonx
帖子: 206
注册时间: 2008-09-09 16:39
联系:

Re: 解析迅雷-快车-旋风的PY脚本

#6

帖子 maonx » 2010-06-02 21:48

eexpress 写了:解析的,很早就有。
我不知道哪些网站是这些链接的。
最近有时候老碰到要迅雷什么的才能下,没办法唉..
Am I in Matrix?
System: ArchLinux
DM: Awesome 3.4.4
乱乱的小窝
头像
ルルティア
帖子: 1077
注册时间: 2010-05-23 17:10

Re: 解析迅雷-快车-旋风的PY脚本

#7

帖子 ルルティア » 2010-06-02 22:19

解析出来没用,有些基本是死链,你要抓到资源才行
everything is nada; nada is nothing
Otro Loco Más
我是Lavande的马甲,但是有时候,我觉得,我们不是同一个人。
头像
maonx
帖子: 206
注册时间: 2008-09-09 16:39
联系:

Re: 解析迅雷-快车-旋风的PY脚本

#8

帖子 maonx » 2010-06-02 23:37

ルルティア 写了:解析出来没用,有些基本是死链,你要抓到资源才行
嗯 ,试过一些,有一小部分是解析出来了,但下载不了,下次要学下怎么抓资源了..
Am I in Matrix?
System: ArchLinux
DM: Awesome 3.4.4
乱乱的小窝
头像
百草谷居士
帖子: 3918
注册时间: 2006-02-10 16:36
系统: Mint21.1/Deepin20.8

Re: 解析迅雷-快车-旋风的PY脚本

#9

帖子 百草谷居士 » 2010-06-25 17:40

flashget://W0ZMQVNIR0VUXWh0dHA6Ly9iYnMuYnR3dWppLmNvbS9qb2IucGhwP2FjdGlvbj1kb3dubG9hZCZwaWQ9dHBjJnRpZD0yOTE1MTgmYWlkPTE5Njg5OFtGTEFTSEdFVF0=&18859&1277458731077
我获取了一个这样的地址,无法解析。
debian 12 / 深度系统 20.9 / Mint 21.3

为何热衷于搞发行版的多,搞应用程序开发的少?Linux最多余的就是各种发行版,最缺的就是应用程序,特别是行业应用程序。
头像
maonx
帖子: 206
注册时间: 2008-09-09 16:39
联系:

Re: 解析迅雷-快车-旋风的PY脚本

#10

帖子 maonx » 2010-06-27 19:29

百草谷居士 写了:flashget://W0ZMQVNIR0VUXWh0dHA6Ly9iYnMuYnR3dWppLmNvbS9qb2IucGhwP2FjdGlvbj1kb3dubG9hZCZwaWQ9dHBjJnRpZD0yOTE1MTgmYWlkPTE5Njg5OFtGTEFTSEdFVF0=&18859&1277458731077
我获取了一个这样的地址,无法解析。
因为我没有很详细写的原因,我有说过一点点,Flashget的最好加上""号,不然的话他地址中的& 会在Bash或shell中当成后台运行符号.
Am I in Matrix?
System: ArchLinux
DM: Awesome 3.4.4
乱乱的小窝
头像
oneleaf
论坛管理员
帖子: 10441
注册时间: 2005-03-27 0:06
系统: Ubuntu 12.04

Re: 解析迅雷-快车-旋风的PY脚本

#11

帖子 oneleaf » 2010-06-27 20:41

flashget后来的版本加密了emule链接文件的校验码,导致就算破解后也无法正常下载。
243750496
帖子: 1038
注册时间: 2012-06-09 15:40

Re: 解析迅雷-快车-旋风的PY脚本

#12

帖子 243750496 » 2013-06-05 10:36

貌似很牛逼
回复