分享:linux下生成ed2k链接的命令行工具

499 views
Skip to first unread message

Qian Hong

unread,
Jan 24, 2011, 12:02:34 PM1/24/11
to gz...@googlegroups.com
在amule/emule里,分享一个本地的文件,能在电驴界面的"共享"中看到这个文件的ed2k链接,只要把这个ed2k链接发送给别人,别人就可以下载这个文件了.

不知大家有没有遇到一些情况,需要批量生成ed2k链接,而且还不想用图形界面呢?

我就曾经遇到一种情况,就是由于误操作,电脑上所有的电影都乱码了,并且是无法用convmv之类的工具转换回来的.
我当时的解决方法是,用一个命令行工具,对每个电影文件计算出它的ed2k hash,然后到verycd上查找对应这个hash的文件,提取出标题,用verycd上的标题来重命名本地的文件.
把这个过程写成一个shell脚本,就可以解决乱码的问题了.

为了寻找这个命令行工具,花的时间甚至比写脚本的时间还多,最后却是蓦然回首,那人却在灯火澜珊处:

1.首先, man amule
注意看see also:

SEE ALSO
       alc(1),  alcc(1),  amuled(1),  amulecmd(1),  amulegui(1),  amuleweb(1),
       cas(1), ed2k(1), wxcas(1), xas(1)

2.然后, man alcc

NAME
       alcc - text based ED2K links calculator for aMule

SYNOPSIS
       alcc [-p] [-v] <inputfiles_list>

       alcc [-h]

DESCRIPTION
       Compute  the  ED2K  links  of  all the input files given in the <input‐
       files_list> (There can be one or more files).

其他的什么都不用说了,只须举个实例:
$ alcc yes.chm 
ed2k://|file|yes.chm|527616|b9497624e86f5329e73fe2343d51f690|/
其中: yes.chm是文件名, 527616是文件大小, b9497624e86f5329e73fe2343d51f690 是ed2k专用的hash, md4的一种变体.

由于最近在思考有关ed2k的问题,所以想起这件事,就写出来跟大家分享一下.
抛砖引玉,希望大家多多分享 :)

P.S. 万能的man,万能的 SEE ALSO

--
Regards,
Qian Hong
-
Sent from Ubuntu
http://www.ubuntu.com/

李杰辉

unread,
Jan 31, 2011, 2:45:09 AM1/31/11
to gz...@googlegroups.com
ed2k://|file|初恋这件小事.mp4|1115967013|5fe5ac3c118a58cd95c54db01b354af3|/
试了一下:在家里用路由器连接的xp上用迅雷7尝试下载,不过速度为0,而本机aMule下也没速度。。

2011/1/25 Qian Hong <frac...@gmail.com>

Qian Hong

unread,
Jan 31, 2011, 2:53:43 AM1/31/11
to gz...@googlegroups.com
2011/1/31 李杰辉 <ljieh...@gmail.com>:

> ed2k://|file|初恋这件小事.mp4|1115967013|5fe5ac3c118a58cd95c54db01b354af3|/
> 试了一下:在家里用路由器连接的xp上用迅雷7尝试下载,不过速度为0,而本机aMule下也没速度。。

可能是没有源吧?你的这个文件是从p2p网络上下载的吗?如果不是的话,很可能从来没有人共享过这个文件呢

Xilin Sun

unread,
Jan 31, 2011, 3:03:23 AM1/31/11
to gz...@googlegroups.com
如果名字很热门的话估计能蒙到。

2011/1/31 Qian Hong <frac...@gmail.com>:

> --
> 您收到此邮件是因为您订阅了 Google 网上论坛的“广州 GNU/Linux 用户组”论坛。
> 要向此网上论坛发帖,请发送电子邮件至 gz...@googlegroups.com
> 要取消订阅此网上论坛,请发送电子邮件至 gzlug+un...@googlegroups.com
> 若有更多问题,请通过 http://groups.google.com/group/gzlug?hl=zh-CN 访问此网上论坛。
>
>

--
##############################################################################
$echo 'UGxlYXNlIHZpc2l0IG15IGJsb2cgYXQgaHR0cDovL3N1bnhsLnRrCg=='|base64 -d
##############################################################################

李杰辉

unread,
Jan 31, 2011, 3:06:46 AM1/31/11
to gz...@googlegroups.com


2011/1/31 Qian Hong <frac...@gmail.com>
可能是没有源吧?你的这个文件是从p2p网络上下载的吗?如果不是的话,很可能从来没有人共享过这个文件呢
不是从p2p上下的。我想把它做成源呢?应该我本机可以下的吧?

Qian Hong

unread,
Jan 31, 2011, 3:13:13 AM1/31/11
to gz...@googlegroups.com
2011/1/31 Xilin Sun <s.sn.g...@gmail.com>:
> 如果名字很热门的话估计能蒙到。

也不行,必须是hash和大小都一样才能认为同一个文件,文件名倒无所谓.

Qian Hong

unread,
Jan 31, 2011, 3:14:07 AM1/31/11
to gz...@googlegroups.com
2011/1/31 李杰辉 <ljieh...@gmail.com>:

>
> 2011/1/31 Qian Hong <frac...@gmail.com>
>>
>> 可能是没有源吧?你的这个文件是从p2p网络上下载的吗?如果不是的话,很可能从来没有人共享过这个文件呢
>
> 不是从p2p上下的。我想把它做成源呢?应该我本机可以下的吧?
你有公网ip吗?如果外网能访问你的amule的端口就可以.
你看看你的amule是高id还是低id?

李杰辉

unread,
Feb 3, 2011, 12:28:05 AM2/3/11
to gz...@googlegroups.com


2011/1/31 Qian Hong <frac...@gmail.com>
你有公网ip吗?如果外网能访问你的amule的端口就可以.
你看看你的amule是高id还是低id?
有公网ip,不确定id是高id还是低id,不过勾选了“use smart LowID check on connect”。amule的tcp端口4663,udp端口4673,如何确定外网能访问这两个端口?
Reply all
Reply to author
Forward
0 new messages