首先要了解讯雷5的安装,前人已经有经验安装ies4linux+wine +thunder5的经验,这里不赘述,但是若有人要安装wine + thunder5,可以使用winetricks安装ie6,然后安装讯雷5即刻,唯一的问题就是下载完后停在99.9%,这个问题忽略他,以为已经下载完成了,自己去目录下把后缀名改回即可使用。
下面来讨论一下firefox使用上wine 讯雷链接下载的办法:
我们知道,不管是ie还是windows版firefox,向讯雷请求下载是通过讯雷的activeX控件增加的,google查阅讯雷API即可,如下
Set ThunderAgent = CreateObject("ThunderAgent.Agent.1")
Call ThunderAgent.AddTask(url,"","","","",1,0,5)
Call ThunderAgent.CommitTasks2(1)
Set ThunderAgent = Nothing
第2行的参数可以在网上查阅得到,这里不细讲,关键是有个参数url,可以传递给讯雷,使得其开始进行下载。
这些代码可以用VBS开发,所以我们必须让wine支持vbs,这个可以通过winetricks来安装Windows Script Host 5.6来解决,然后在wine下的执行代码是$wine wscript test.vbs
然后回到firefox,我们使用一款多功能下载器插件FlashGot可以自定义下载的功能,在插件选项中新增自定义选项,名称随便取个thunder5,然后在命令行中启动一个sh脚本,参数模板选用url就可以了,如果要做的全面一下,那是以后的事情,可以添加上参考连接等等信息。
下面是被增加了chmod +x权限的/usr/bin/下的自己写的sh脚本
文件名thunder
#!/bin/sh
env WINEPREFIX="/home/ty/.wine" wine "C:\Program Files\Thunder Network\Thunder\Thunder.exe"
if [ $# -eq 1 ]
then
#echo $1
env WINEPREFIX="/home/ty/.wine" wine wscript "C:\thunder.vbs " $1
fi
FlashGot会将参数url传递给这个sh脚本命令行,然后他会先启动wine讯雷,然后启动前面所述的vbs脚本命令,并将参数url传给这个脚本命令。这里要求讯雷安装的载体环境必须安装WSH引擎,开始我在ies4linux上安装的讯雷5,但是这个载体环境无法安装wsh,我是按照winetricks的特定的命令行给这个载体安装wsh的,希望牛人能解决在ies4linux下安装wsh引擎的问题^_^
然后是C:\thunder.vbs,我是这样简单写的
Dim url
url=""
If WScript.Arguments.Count = 1 Then
url=WScript.Arguments.Item(0)
msgBox url
Set ThunderAgent = CreateObject("ThunderAgent.Agent.1")
Call ThunderAgent.AddTask(url,"","","","",1,0,5)
Call ThunderAgent.CommitTasks2(1)
Set ThunderAgent = Nothing
End If
前面通过取得url参数在调用讯雷的activeX控件向讯雷申请下载链。这个可以完善,因为传来的url可能是专用链,或者其他什么的,不知一个参数,所以下一步目标是完善对url的分析。在网上已经有牛人专门编写了url分析的代码,可以google一下。
至此,基本也就解决了firefox的讯雷链问题了,中间借用了FlshGot的抓去地址,并传送参数的功能,关键是最先提到的那些问题,本人还没有解决好,另外vbs里的中文是不能出现的,本人的vbs编程很一般,出现中文链时最后能够编码escape一下就好了,具体的仍待解决。
望牛人可以以鄙人之见为参考,开发出比较完善的firefox+wine讯雷在wine环境或者ies4linux环境下的使用,如果有其他更好的办法,那自当期待啦!!!!!
关于Firefox使用上wine讯雷5的思考及参考方向,希望牛人能够完善
-
- 帖子: 12
- 注册时间: 2009-03-12 17:31
-
- 帖子: 12
- 注册时间: 2009-03-12 17:31
Re: 关于Firefox使用上wine讯雷5的思考及参考方向,希望牛人能够完善
另外还有一个问题是关于讯雷中文问题的,当把讯雷安装在ies4linux下后,第一由于配置的是win2000一下配置,必去置换一个ans版本的东东,那个已经有人将过了,但是所有关于中文操作的修改都做完后,还是有一点中文问题,那就是点开讯雷配置时,logo处的文字依然是乱码,点开某一个任务时,底下的线程标签也是乱码,其他正常,我估计还是因为这俩处的编码codepage仍然是936而不是utf-8,所以在wine环境下安装,因为替换了gdi32.dll.so所以不会有人和中文问题,但是在ies4linux下就会出现少量的中文问题,望牛人解决。
- Ur@nus
- 帖子: 622
- 注册时间: 2006-12-01 23:02
Re: 关于Firefox使用上wine讯雷5的思考及参考方向,希望牛人能够完善
很好啊。不过自从用上ipv6的bt就很少用迅雷了。我这下载速度可以漫带宽了。10M。这个方法确实可行,就是迅雷的稳定性有待提高,不过支持楼主的探索精神。
-
- 帖子: 83
- 注册时间: 2008-07-11 11:47
Re: 关于Firefox使用上wine讯雷5的思考及参考方向,希望牛人能够完善
源文章:http://yb-blog.vicp.net/post/4.html
自从放出迅雷&快车&旋风地址转换工具这个自认为不算什么东东的小软件以来,邮箱常常收到索取源代码的信件,我都一一将源代码发送,近来无意百度了一下我这个小玩意,甚是开心,但也看到了界面和我差不多的同类工具,其中一款中的图标居然和我的一样,虽说没什么,可心里总不爽的,呵呵。于是将专链转换原理介绍给大家,以后索取源代码一律给此篇文章链接。
首先要搞懂base64编码,网上有一篇很好的入门教程,作者罗聪(老罗),地址:http://www.luocong.com/articles/show_ar ... icle_ID=17
搞懂了base64编码一切都简单了,下面以实例讲解转换过程。例如华军winrar 3.71的下载地址是
http://p2s.newhua.com/down/wrar371sc.exe
1、普通地址转换为迅雷地址
在原地址前面加"AA",后面加"ZZ"(注:不包括引号),地址变为
AAhttp://p2s.newhua.com/down/wrar371sc.exeZZ
此地址base64编码为
QUFodHRwOi8vcDJzLm5ld2h1YS5jb20vZG93bi93cmFyMzcxc2MuZXhlWlo=
迅雷专链即在上地址前加thunder://,即
thunder://QUFodHRwOi8vcDJzLm5ld2h1YS5jb20vZG93bi93cmFyMzcxc2MuZXhlWlo=
2、普通地址转换为快车地址
在原地址前后都加上"[FLASHGET]"(注:不包括引号),地址变为
[FLASHGET]http://p2s.newhua.com/down/wrar371sc.exe[FLASHGET]
此地址base64编码为
W0ZMQVNIR0VUXWh0dHA6Ly9wMnMubmV3aHVhLmNvbS9kb3duL3dyYXIzNzFzYy5leGVbRkxBU0hHRVRd
快车专链即在上地址前加flashget://,注意后面还要加上"&符号",符号怎么得出我也不清楚,我自己在最后后面加的是我个人信息,至今未有人报告转换错误,即
Flashget://W0ZMQVNIR0VUXWh0dHA6Ly9wMnMubmV3aHVhLmNvbS9kb3duL3dyYXIzNzFzYy5leGVbRkxBU0hHRVRd&yinbing1986
3、普通地址转换为旋风地址
旋风相对就简单多了,将原地址直接base64编码为
aHR0cDovL3Aycy5uZXdodWEuY29tL2Rvd24vd3JhcjM3MXNjLmV4ZQ==
旋风专链即在上地址前加qqdl://,即
qqdl://aHR0cDovL3Aycy5uZXdodWEuY29tL2Rvd24vd3JhcjM3MXNjLmV4ZQ==
原理就这样,不明白的可以联系我。
自从放出迅雷&快车&旋风地址转换工具这个自认为不算什么东东的小软件以来,邮箱常常收到索取源代码的信件,我都一一将源代码发送,近来无意百度了一下我这个小玩意,甚是开心,但也看到了界面和我差不多的同类工具,其中一款中的图标居然和我的一样,虽说没什么,可心里总不爽的,呵呵。于是将专链转换原理介绍给大家,以后索取源代码一律给此篇文章链接。
首先要搞懂base64编码,网上有一篇很好的入门教程,作者罗聪(老罗),地址:http://www.luocong.com/articles/show_ar ... icle_ID=17
搞懂了base64编码一切都简单了,下面以实例讲解转换过程。例如华军winrar 3.71的下载地址是
http://p2s.newhua.com/down/wrar371sc.exe
1、普通地址转换为迅雷地址
在原地址前面加"AA",后面加"ZZ"(注:不包括引号),地址变为
AAhttp://p2s.newhua.com/down/wrar371sc.exeZZ
此地址base64编码为
QUFodHRwOi8vcDJzLm5ld2h1YS5jb20vZG93bi93cmFyMzcxc2MuZXhlWlo=
迅雷专链即在上地址前加thunder://,即
thunder://QUFodHRwOi8vcDJzLm5ld2h1YS5jb20vZG93bi93cmFyMzcxc2MuZXhlWlo=
2、普通地址转换为快车地址
在原地址前后都加上"[FLASHGET]"(注:不包括引号),地址变为
[FLASHGET]http://p2s.newhua.com/down/wrar371sc.exe[FLASHGET]
此地址base64编码为
W0ZMQVNIR0VUXWh0dHA6Ly9wMnMubmV3aHVhLmNvbS9kb3duL3dyYXIzNzFzYy5leGVbRkxBU0hHRVRd
快车专链即在上地址前加flashget://,注意后面还要加上"&符号",符号怎么得出我也不清楚,我自己在最后后面加的是我个人信息,至今未有人报告转换错误,即
Flashget://W0ZMQVNIR0VUXWh0dHA6Ly9wMnMubmV3aHVhLmNvbS9kb3duL3dyYXIzNzFzYy5leGVbRkxBU0hHRVRd&yinbing1986
3、普通地址转换为旋风地址
旋风相对就简单多了,将原地址直接base64编码为
aHR0cDovL3Aycy5uZXdodWEuY29tL2Rvd24vd3JhcjM3MXNjLmV4ZQ==
旋风专链即在上地址前加qqdl://,即
qqdl://aHR0cDovL3Aycy5uZXdodWEuY29tL2Rvd24vd3JhcjM3MXNjLmV4ZQ==
原理就这样,不明白的可以联系我。
-
- 帖子: 83
- 注册时间: 2008-07-11 11:47
Re: 关于Firefox使用上wine讯雷5的思考及参考方向,希望牛人能够完善
以下代码为vbs脚本
保持迅雷开启状态,这时候执行上面的脚本,就不会出现那个确认添加任务的对话框了。
附:其中用到了AddTask这个方法,这个方法的参数如下:AddTask("下载地址", "另存文件名", "保存目录","任务注释","引用地址","开始模式", "只从原始地址下载","从原始地址下载线程数") 。
参数名含义
pURL目标URL,必须参数
pFileName另存名称,默认为空,表示由迅雷处理,可选参数
pPath存储目录,默认为空,表示由迅雷处理,可选参数
pComments下载注释,默认为空,可选参数
pReferURL引用页URL,默认为空,可选参数
nStartMode开始模式,0手工开始,1立即开始,默认为-1,表示由迅雷处理,可选参数
nOnlyFromOrigin是否只从原始URL下载,1只从原始URL下载,0多资源下载,默认为0,可选参数
nOriginThreadCount原始地址下载线程数,范围1-10,默认为-1,表示由迅雷处理,可选参数
代码: 全选
Set ThunderAgent = CreateObject("ThunderAgent.Agent.1")
Call ThunderAgent.AddTask("http://www.jb51.net/files/bjhyn.mp3","北京欢迎你.mp3","c:\a\","","http://www.readlog.cn",1,0,5)
Call ThunderAgent.CommitTasks2(1)
Call ThunderAgent.AddTask("http://file.fzone.cn/upload2/hompyFile/2007/28 /921524670987.wma","放羊的星星.wma","c:\a\b\c\","",http://www.jb51.net,1,0,5)
Call ThunderAgent.CommitTasks2(1)
Set ThunderAgent = Nothing
附:其中用到了AddTask这个方法,这个方法的参数如下:AddTask("下载地址", "另存文件名", "保存目录","任务注释","引用地址","开始模式", "只从原始地址下载","从原始地址下载线程数") 。
参数名含义
pURL目标URL,必须参数
pFileName另存名称,默认为空,表示由迅雷处理,可选参数
pPath存储目录,默认为空,表示由迅雷处理,可选参数
pComments下载注释,默认为空,可选参数
pReferURL引用页URL,默认为空,可选参数
nStartMode开始模式,0手工开始,1立即开始,默认为-1,表示由迅雷处理,可选参数
nOnlyFromOrigin是否只从原始URL下载,1只从原始URL下载,0多资源下载,默认为0,可选参数
nOriginThreadCount原始地址下载线程数,范围1-10,默认为-1,表示由迅雷处理,可选参数
-
- 帖子: 83
- 注册时间: 2008-07-11 11:47
Re: 关于Firefox使用上wine讯雷5的思考及参考方向,希望牛人能够完善
提个问题:
问题比较小白,LZ帖子里也说了xunlei是安装到wine里面的,不过我想确认一下。
专链的话,thunder://链接应该不用我们管吧,xunlei自己就能解决了;其他专链可以参考楼上的帖子,用base64+正则表达式捋一遍再传进去。thunder.sh最好能判定下xunlei是否已经启动了。
thunder.vbs那个,不知道能不能把其他参数都带进去?这个需要flashgot把相关参数先传给thunder.sh吧?
以上仅仅提点我自己的想法,别骂我真小白。我只自学过c和数据结构,几乎完全没有编程经验,因此只能凭想象了。
ThunderAgent这个东西是个activex的话,那肯定是需要注册到系统中才可以调用的了。win环境下,注册这个控件肯定是在安装过程中了,或者是迅雷的修复右键菜单之类的吧?那wine呢,如果mount win分区后直接用wine启动里面的迅雷,那这个脚本应该是无效的吧?我们知道,不管是ie还是windows版firefox,向讯雷请求下载是通过讯雷的activeX控件增加的,google查阅讯雷API即可,如下
Set ThunderAgent = CreateObject("ThunderAgent.Agent.1")
Call ThunderAgent.AddTask(url,"","","","",1,0,5)
Call ThunderAgent.CommitTasks2(1)
Set ThunderAgent = Nothing
第2行的参数可以在网上查阅得到,这里不细讲,关键是有个参数url,可以传递给讯雷,使得其开始进行下载。
这些代码可以用VBS开发,所以我们必须让wine支持vbs,这个可以通过winetricks来安装Windows Script Host 5.6来解决,然后在wine下的执行代码是$wine wscript test.vbs
问题比较小白,LZ帖子里也说了xunlei是安装到wine里面的,不过我想确认一下。
专链的话,thunder://链接应该不用我们管吧,xunlei自己就能解决了;其他专链可以参考楼上的帖子,用base64+正则表达式捋一遍再传进去。thunder.sh最好能判定下xunlei是否已经启动了。
thunder.vbs那个,不知道能不能把其他参数都带进去?这个需要flashgot把相关参数先传给thunder.sh吧?
以上仅仅提点我自己的想法,别骂我真小白。我只自学过c和数据结构,几乎完全没有编程经验,因此只能凭想象了。
- xiooli
- 帖子: 6956
- 注册时间: 2007-11-19 21:51
- 来自: 成都
- 联系:
Re: 关于Firefox使用上wine讯雷5的思考及参考方向,希望牛人能够完善
win下面的软件传递一个参数都这么麻烦。。。