分页: 3 / 6
发表于 : 2008-09-10 14:51
由 ghostry
在firefox地址栏中输入about:config
新建一个Boolean,名字为 network.protocol-handler.external.thunder,值为true
新建一个String,名字为 network.protocol-handler.app.thunder,值为/usr/bin/downthunder
我写的是这个。
#!/bin/bash
echo $1 > ~/wokaobushiba.txt
这样知道点击了迅雷的链接后会返回一个$1值为:
thunder://QUFodHRwOi8vbmV3ZG93bi5keC43OGxhbmQuY29tLzIwMDgvMDgv6Zu25LmL5L2/6a2UM2EwOGpraS5ybXZiWlo=
然后我想用楼主的脚本里的东西来写个处理的脚本。调用wget或者别的东西来下载文件。但是,无奈我才疏学浅,lz的脚本我改不到想要的效果。

谁技术高点的感兴趣让firefox支持迅雷链接的可以接着做一个,我的思路是。
现通过一个脚本处理链接,变成普通的链接,然后传递给下载管理器,可以是命令行或图形的。本来想模仿flashgot写个firefox插件,但是看了看google发现对我来说插件不是那么好写的。
发表于 : 2008-09-10 15:00
由 ghostry
这个是迅雷自己的xpi。好像是jar格式的东西。完全不明白。
发表于 : 2008-09-10 15:08
由 xiooli
ghostry 写了:在firefox地址栏中输入about:config
新建一个Boolean,名字为 network.protocol-handler.external.thunder,值为true
新建一个String,名字为 network.protocol-handler.app.thunder,值为/usr/bin/downthunder
我写的是这个。
#!/bin/bash
echo $1 > ~/wokaobushiba.txt
这样知道点击了迅雷的链接后会返回一个$1值为:
thunder://QUFodHRwOi8vbmV3ZG93bi5keC43OGxhbmQuY29tLzIwMDgvMDgv6Zu25LmL5L2/6a2UM2EwOGpraS5ybXZiWlo=
然后我想用楼主的脚本里的东西来写个处理的脚本。调用wget或者别的东西来下载文件。但是,无奈我才疏学浅,lz的脚本我改不到想要的效果。

谁技术高点的感兴趣让firefox支持迅雷链接的可以接着做一个,我的思路是。
现通过一个脚本处理链接,变成普通的链接,然后传递给下载管理器,可以是命令行或图形的。本来想模仿flashgot写个firefox插件,但是看了看google发现对我来说插件不是那么好写的。
代码: 全选
#!/bin/bash
#------------------------------#
# coded by xiooli #
# have fun :) #
#------------------------------#
save_dir0=./Download #最后面千万不要加“/”,不然保存文件的时候可能找不到路径。
max_num=20 #在此设定axel的最大连接数
[ ! -d $save_dir0 ] && mkdir -p $save_dir0
#下载链接,给出一个下载进度条,并且当点击“取消”的时候将该axel废掉武功。
DOWNLOAD() {
axel -n $max_num "$1" -o "$2/$3" |while read a;do
echo "$a" |grep "^[\[D]" |sed 's/^\[ *//;s/%.*$//;s/^Download.*$/100/'
done |zenity --progress --auto-close --text="下载 $true_url 至 $2" --width="350" 2>/dev/null &
axel_info=`ps ax |grep "axel.*$1" |awk '{print $1"-"$2}'`
axel_tty=`echo $axel_info |sed 's/^.*-//'`
axel_pid=`echo $axel_info |sed 's/-.*$//'`
while true;do
if ! [ "`ps ax |grep "$axel_tty.*zenity"`" ];then
[ "`ps -A |grep "$axel_pid"`" ] && kill $axel_pid
break
fi
sleep 1
done &
}
#出来一个动作选择菜单,选择下一步动作。
UI() {
choice=$(zenity --list --title "默认保存目录为:$save_dir0" --text "解析得URL:$true_url" \
--column "选项" --column "动作" \
A 下载至默认目录 B 选择目录并下载 C 保存链接到剪贴板 2>/dev/null);
case $choice in
'A')
file_name=`zenity --entry --title="重命名文件" --text="请输入一个文件名(取消则按链接默认命名)" 2>/dev/null`
DOWNLOAD $true_url $save_dir0 $file_name
file_name=""
;;
'B')
save_dir=`zenity --file-selection --directory 2>/dev/null`
file_name=`zenity --entry --title="重命名文件" --text="请输入一个文件名(取消则按链接默认命名)" 2>/dev/null`
DOWNLOAD $true_url $save_dir $file_name
file_name=""
;;
'C')
printf "$true_url" |xsel -i -b
;;
esac
}
#从剪贴板获取迅雷地址,并将其解码成http的。
DECODE() {
str0="$1"
if [ `echo "$str0" |grep "^thunder"` ] && [ "$str" != "$str0" ];then
str="$str0"
true_url="`printf "$str" |sed 's/^thunder:\/\///' |base64 -d |sed 's/^AA//;s/ZZ$//'`"
[ ! -z "$true_url" ] && UI
true_url=""
fi
}
DECODE "$1"
发表于 : 2008-09-10 15:17
由 ghostry
我试过这样的说,不过没有什么反应。
发表于 : 2008-09-10 15:21
由 xiooli
ghostry 写了:我试过这样的说,不过没有什么反应。
不能直接“新建String,名字为 network.protocol-handler.app.thunder,值为/usr/bin/downthunder “
把那个删掉,然后点击了链接后会提示选择程序,在这个里面找到脚本就可以了,我试过的。
发表于 : 2008-09-10 15:48
由 ghostry

谢谢xiooli。原来是这样阿。。不过ee说的也不错(是ee说的吧.记不清了)没有迅雷的下载机制果然还是不行的。
但是也不能说我们做这些没有意义,事情都是一步一步解决的。

发表于 : 2008-09-10 15:56
由 xiooli
ghostry 写了:
谢谢xiooli。原来是这样阿。。不过ee说的也不错(是ee说的吧.记不清了)没有迅雷的下载机制果然还是不行的。
但是也不能说我们做这些没有意义,事情都是一步一步解决的。

呵呵,不客气,这个当然不能和迅雷比了,不过改一下用来下ftp/http 啥的也还行。写着玩嘛。

发表于 : 2008-09-10 16:19
由 ghostry
发表于 : 2008-09-10 16:28
由 内存不足
很爽 很爽 下些小东西就不用费尽了
发表于 : 2008-09-10 17:29
由 xiooli
呵呵,有人欣赏我也开心呐。
ps:就是脚本写得很丑,怕高人见笑阿

发表于 : 2008-09-15 21:12
由 Jarson
关注一下,似乎还不太好用,右键复制链接时弹出了四个相同的对话框,感觉不舒服。
发表于 : 2008-09-17 14:27
由 lemonade
不太实用,但楼主的想法不错。
Re: [原创]右键复制/下载解析迅雷协议的地址脚本
发表于 : 2008-10-12 22:23
由 ptptptptptpt
彪悍。
Re:
发表于 : 2008-10-21 10:50
由 cyf3732
xiooli 写了:ghostry 写了:我试过这样的说,不过没有什么反应。
不能直接“新建String,名字为 network.protocol-handler.app.thunder,值为/usr/bin/downthunder “
把那个删掉,然后点击了链接后会提示选择程序,在这个里面找到脚本就可以了,我试过的。
xiooli 是 gnome 来的么?share 下 theme 吧!嘿嘿
Re: Re:
发表于 : 2008-10-21 12:18
由 xiooli
cyf3732 写了:xiooli 写了:ghostry 写了:我试过这样的说,不过没有什么反应。
不能直接“新建String,名字为 network.protocol-handler.app.thunder,值为/usr/bin/downthunder “
把那个删掉,然后点击了链接后会提示选择程序,在这个里面找到脚本就可以了,我试过的。
xiooli 是 gnome 来的么?share 下 theme 吧!嘿嘿
那个theme的名字叫kde4-oxygen,你上gnome-look.org里面搜就能找到
