[原创]右键复制/下载解析迅雷协议的地址脚本

sh/bash/dash/ksh/zsh等Shell脚本
头像
ghostry
帖子: 1532
注册时间: 2008-07-23 20:08
来自: http://www.ghostry.cn
联系:

#31

帖子 ghostry » 2008-09-10 14:51

在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的脚本我改不到想要的效果。 :oops: 谁技术高点的感兴趣让firefox支持迅雷链接的可以接着做一个,我的思路是。
现通过一个脚本处理链接,变成普通的链接,然后传递给下载管理器,可以是命令行或图形的。本来想模仿flashgot写个firefox插件,但是看了看google发现对我来说插件不是那么好写的。
http://www.ghostry.cn狂网技术工作室,组网建站,平面设计,java项目,空间域名.
好心人点这里进去注册并且用一次,给我增加点流量http://tinyurl.com/272ncjl
电脑配置:
公司:880G/II250/1TB/2G1333/
家:785G+/II245+/1TB/2G677/
头像
ghostry
帖子: 1532
注册时间: 2008-07-23 20:08
来自: http://www.ghostry.cn
联系:

#32

帖子 ghostry » 2008-09-10 15:00

这个是迅雷自己的xpi。好像是jar格式的东西。完全不明白。
附件
thunder.xpi.tar.gz
(9.11 KiB) 已下载 129 次
http://www.ghostry.cn狂网技术工作室,组网建站,平面设计,java项目,空间域名.
好心人点这里进去注册并且用一次,给我增加点流量http://tinyurl.com/272ncjl
电脑配置:
公司:880G/II250/1TB/2G1333/
家:785G+/II245+/1TB/2G677/
头像
xiooli
帖子: 6956
注册时间: 2007-11-19 21:51
来自: 成都
联系:

#33

帖子 xiooli » 2008-09-10 15:08

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的脚本我改不到想要的效果。 :oops: 谁技术高点的感兴趣让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"
头像
ghostry
帖子: 1532
注册时间: 2008-07-23 20:08
来自: http://www.ghostry.cn
联系:

#34

帖子 ghostry » 2008-09-10 15:17

我试过这样的说,不过没有什么反应。
http://www.ghostry.cn狂网技术工作室,组网建站,平面设计,java项目,空间域名.
好心人点这里进去注册并且用一次,给我增加点流量http://tinyurl.com/272ncjl
电脑配置:
公司:880G/II250/1TB/2G1333/
家:785G+/II245+/1TB/2G677/
头像
xiooli
帖子: 6956
注册时间: 2007-11-19 21:51
来自: 成都
联系:

#35

帖子 xiooli » 2008-09-10 15:21

ghostry 写了:我试过这样的说,不过没有什么反应。
不能直接“新建String,名字为 network.protocol-handler.app.thunder,值为/usr/bin/downthunder “
把那个删掉,然后点击了链接后会提示选择程序,在这个里面找到脚本就可以了,我试过的。
附件
Screenshot.png
头像
ghostry
帖子: 1532
注册时间: 2008-07-23 20:08
来自: http://www.ghostry.cn
联系:

#36

帖子 ghostry » 2008-09-10 15:48

:D 谢谢xiooli。原来是这样阿。。不过ee说的也不错(是ee说的吧.记不清了)没有迅雷的下载机制果然还是不行的。
但是也不能说我们做这些没有意义,事情都是一步一步解决的。 :D
http://www.ghostry.cn狂网技术工作室,组网建站,平面设计,java项目,空间域名.
好心人点这里进去注册并且用一次,给我增加点流量http://tinyurl.com/272ncjl
电脑配置:
公司:880G/II250/1TB/2G1333/
家:785G+/II245+/1TB/2G677/
头像
xiooli
帖子: 6956
注册时间: 2007-11-19 21:51
来自: 成都
联系:

#37

帖子 xiooli » 2008-09-10 15:56

ghostry 写了::D 谢谢xiooli。原来是这样阿。。不过ee说的也不错(是ee说的吧.记不清了)没有迅雷的下载机制果然还是不行的。
但是也不能说我们做这些没有意义,事情都是一步一步解决的。 :D
呵呵,不客气,这个当然不能和迅雷比了,不过改一下用来下ftp/http 啥的也还行。写着玩嘛。 :lol:
头像
ghostry
帖子: 1532
注册时间: 2008-07-23 20:08
来自: http://www.ghostry.cn
联系:

#38

帖子 ghostry » 2008-09-10 16:19

呵呵,还是很好的东西,我整理了下。介意吗?http://ghostry.5d6d.com/thread-318-1-1.html :D
http://www.ghostry.cn狂网技术工作室,组网建站,平面设计,java项目,空间域名.
好心人点这里进去注册并且用一次,给我增加点流量http://tinyurl.com/272ncjl
电脑配置:
公司:880G/II250/1TB/2G1333/
家:785G+/II245+/1TB/2G677/
头像
内存不足
论坛版主
帖子: 3277
注册时间: 2005-08-18 18:43
联系:

#39

帖子 内存不足 » 2008-09-10 16:28

很爽 很爽 下些小东西就不用费尽了
໌→ iCookie Gtk Theme
໌→DropPlusBluetheme
กรัก กรัก`菠萝
头像
xiooli
帖子: 6956
注册时间: 2007-11-19 21:51
来自: 成都
联系:

#40

帖子 xiooli » 2008-09-10 17:29

ghostry 写了:呵呵,还是很好的东西,我整理了下。介意吗?http://ghostry.5d6d.com/thread-318-1-1.html :D
呵呵,有人欣赏我也开心呐。

ps:就是脚本写得很丑,怕高人见笑阿 :oops:
头像
Jarson
帖子: 2371
注册时间: 2008-07-21 9:44
来自: 深圳
联系:

#41

帖子 Jarson » 2008-09-15 21:12

关注一下,似乎还不太好用,右键复制链接时弹出了四个相同的对话框,感觉不舒服。
lemonade
帖子: 53
注册时间: 2007-09-01 7:15

#42

帖子 lemonade » 2008-09-17 14:27

不太实用,但楼主的想法不错。
头像
cyf3732
帖子: 174
注册时间: 2006-07-24 19:22

Re:

#44

帖子 cyf3732 » 2008-10-21 10:50

xiooli 写了:
ghostry 写了:我试过这样的说,不过没有什么反应。
不能直接“新建String,名字为 network.protocol-handler.app.thunder,值为/usr/bin/downthunder “
把那个删掉,然后点击了链接后会提示选择程序,在这个里面找到脚本就可以了,我试过的。
xiooli 是 gnome 来的么?share 下 theme 吧!嘿嘿
头像
xiooli
帖子: 6956
注册时间: 2007-11-19 21:51
来自: 成都
联系:

Re: Re:

#45

帖子 xiooli » 2008-10-21 12:18

cyf3732 写了:
xiooli 写了:
ghostry 写了:我试过这样的说,不过没有什么反应。
不能直接“新建String,名字为 network.protocol-handler.app.thunder,值为/usr/bin/downthunder “
把那个删掉,然后点击了链接后会提示选择程序,在这个里面找到脚本就可以了,我试过的。
xiooli 是 gnome 来的么?share 下 theme 吧!嘿嘿
那个theme的名字叫kde4-oxygen,你上gnome-look.org里面搜就能找到 :em01
回复