关于Firefox使用上wine讯雷5的思考及参考方向,希望牛人能够完善

Wine、Cedega、CrossOver 等配置
回复
tangye1234
帖子: 12
注册时间: 2009-03-12 17:31

关于Firefox使用上wine讯雷5的思考及参考方向,希望牛人能够完善

#1

帖子 tangye1234 » 2009-03-14 10:53

首先要了解讯雷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环境下的使用,如果有其他更好的办法,那自当期待啦!!!!! :em06
tangye1234
帖子: 12
注册时间: 2009-03-12 17:31

Re: 关于Firefox使用上wine讯雷5的思考及参考方向,希望牛人能够完善

#2

帖子 tangye1234 » 2009-03-14 11:10

另外还有一个问题是关于讯雷中文问题的,当把讯雷安装在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的思考及参考方向,希望牛人能够完善

#3

帖子 Ur@nus » 2009-03-14 18:29

很好啊。不过自从用上ipv6的bt就很少用迅雷了。我这下载速度可以漫带宽了。10M。这个方法确实可行,就是迅雷的稳定性有待提高,不过支持楼主的探索精神。 :em11
minoru_harvest
帖子: 83
注册时间: 2008-07-11 11:47

Re: 关于Firefox使用上wine讯雷5的思考及参考方向,希望牛人能够完善

#4

帖子 minoru_harvest » 2009-08-09 0:15

源文章: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==

原理就这样,不明白的可以联系我。
minoru_harvest
帖子: 83
注册时间: 2008-07-11 11:47

Re: 关于Firefox使用上wine讯雷5的思考及参考方向,希望牛人能够完善

#5

帖子 minoru_harvest » 2009-08-09 0:29

以下代码为vbs脚本

代码: 全选

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,表示由迅雷处理,可选参数
minoru_harvest
帖子: 83
注册时间: 2008-07-11 11:47

Re: 关于Firefox使用上wine讯雷5的思考及参考方向,希望牛人能够完善

#6

帖子 minoru_harvest » 2009-08-09 0:50

提个问题:
我们知道,不管是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
ThunderAgent这个东西是个activex的话,那肯定是需要注册到系统中才可以调用的了。win环境下,注册这个控件肯定是在安装过程中了,或者是迅雷的修复右键菜单之类的吧?那wine呢,如果mount win分区后直接用wine启动里面的迅雷,那这个脚本应该是无效的吧?
问题比较小白,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的思考及参考方向,希望牛人能够完善

#7

帖子 xiooli » 2009-08-09 1:01

win下面的软件传递一个参数都这么麻烦。。。 :em20
回复