I am LAZY bones ? all linux

mldonkey相关备忘

其实,比起 BT/ED2K/迅雷 等P2P的下载方式,我更喜欢传统的ftp. 但是ftp里面不是什么都能下载到的,最近想下载一些老电影,于是还是用上了mldonkey.
EE的blog里搜出来一些东西,不过这家伙的写东西基本上都看不懂而且也不能用的,呵呵,改了改,基本上好了.如下:
先是按需启动mlnet,建立一个 autostart.sh ,chmod +x 以后,加到gnome的会话里面(这样以后有其他需要自启动的东西也方便了),内容如下:

#!/bin/sh
ls ~/.mldonkey/temp/* >/dev/null 2>&1 && mlnet &

这样,只要有未下载完成的内容,都会在登录系统的时候打开mlnet,避免忘记开而浪费时间了.
另外,加这个alias到.bashrc,可以方便地查看下载状态:

alias m='pgrep mlnet >/dev/null 2>&1 && echo vd | nc -q 1 localhost 4000 | awk '"'"'/\[D/{print "\033[0;32m"$7"\t\033[4;31m"$8"%\033[0m\t",$14"KB/s"} /Down:/'"'"

效果如图:
alias效果

=======090121补充firefox关联ed2k到mldonkey的方法========
建立一个脚本文件(我的叫 ed2kml ),内容为:

#!/bin/sh
echo dllink $* | nc -q 1 127.0.0.1 4000

加上可执行权限,然后,firefox的地址栏里输入 about:config ,在里面新建一个布尔型的键,名字为 network.protocol-handler.external.ed2k ,值为true,再建一个字符串型键, 名为 network.protocol-handler.app.ed2k 值为 ed2kml 的绝对路径.
打开mldonkey以后,在firefox里点击一个ed2k链接,firefox会弹出一个选择连接的窗口,记住不要使用默认的,点”其他程序”,再定位到刚才的ed2kml,确定就可以了.可以勾选记住设置,以后就直接点链接就行了.

最后修改时间: 2009年02月12日 17:22

本文章发表于: 2009年01月15日 15:11 | 所属分类:备忘. | 您可以在此订阅本文章的所有评论. | 您也可以发表评论, 或从您的网站trackback.

29 个评论 关于: “mldonkey相关备忘”

  1. oceanboo 在 2009年01月19日 10:10 说:回复

    mldonkey全部被我移到windows平台下去了,公司的电脑,嘿嘿,24X7

    • bones7456 在 2009年01月19日 12:09 说:回复

      真不厚道,我公司的电脑也只是偶尔挂挂lftp而已嘛…

  2. jnds 在 2009年02月06日 00:24 说:回复

    nc -q 这个选项似乎已经没了
    请问 -q表示什么意思

    • bones7456 在 2009年02月06日 08:32 说:回复

      怎么会没了,你的什么版本? v1.10-38 里:
      -q seconds after EOF on stdin, wait the specified number of seconds and then quit. If seconds is negative, wait forever.

      • jnds 在 2009年02月06日 20:40 说:回复

        nc目前的版本是0.7.1 http://netcat.sourceforge.net/ 而且的确没有-q这个选项
        nc6的版本都是1.10 而且有-q这个选项
        我用的是archlinux

  3. lerosua 在 2009年02月06日 18:18 说:回复

    我这的nc也没-q这选项了~ arch下的nc

    • bones7456 在 2009年02月09日 16:32 说:回复

      arch的不知道了,可能是装了不同的包所致吧,ubuntu默认用的是 netcat-traditional ,是有-q选项的。arch里可以找找其他的包试试。

  4. 记录 : 夜歌 在 2009年02月06日 23:08 说:回复

    […] 1 改用kdemod了,源也改成mirror.rit.edu的了。 2 使用tmpfs了,修改fstab tmpfs /tmp tmpfs size=100m,mode=1777,0 0 以后还可以把/var/tmp也用tmpfs mount。 tmpfs和ramfs一样,都是使用ram,关机即没是其最大的特点。但是和ramfs相比,tmpfs是可以swap到硬盘上的swap分区的。 3 弃用amule,还是用mldonkey。配置一晚上,现在速度还行。而且发现我自己对kad网络开始发生兴趣了。在bones7456发现一些比较好配置。 启动mldonkey,建立脚本mldonkey.sh,并链接到.kde4/Autostart/下 #!/bin/sh ls ~/.mldonkey/temp/* >/dev/null 2>&1 && mlnet & 这样只要temp下有未下载文件,mldonkey就会在开机时候自动启动 在终端下查看mldonkey状态,这点很爽阿,mldonkey是典型的c/s结构,支持http,telnet和gui方式访问核心。 在.bashrc加入别名 alias m=’pgrep mlnet >/dev/null 2>&1 && echo vd | nc6 -q 1 localhost 4000 | cut -b 35- | awk ‘”‘”‘{if(NF==10 && $4!=”Done”){print “33[0;32m”$2″t33[4;31m”$3″%33[0mt”,$9″KB/s”}}'”‘” 这样就可以在终端下用m查看了 […]

  5. Shellex 在 2009年03月15日 21:57 说:回复

    不会Awk, Awk实在太Awkward了。但是偶如果用python的话…

    alias m="pgrep mlnet >/dev/null 2>&1 && echo vd | nc -q 1 localhost 4000 |python -c "import re,sys; str=sys.stdin.read();a=re.compile('.*?[Ds*(.*?)].*mldonkey (.*?)[s*](d.*?)[s*](d.*?)[s*](d.*?)[s*](d.*?)[s*](d.*?)[s*](d.*?)[s*]([d|-].*?)[s|n]').findall(str);b=[(name.strip(), p.strip(), cs.strip(), ts.strip(), spd.strip()) for id, name, p, cs, ts, sn, old, act, spd in a]; map(lambda (n, p, cs, ts, spd): sys.stdout.write('(%s%%)%s...%st %s/%st %skb/sn' % (p, n[:20], n[-8:], cs, ts, spd)), b);print ''""
    • bones7456 在 2009年03月15日 22:07 说:回复

      汗啊…这么长,你是来破吉尼斯记录的吗?

      • Shellex 在 2009年03月15日 22:19 说:回复

        骨头兄又不教我awk…偶对正则也不熟
        所以只能这样鸟

        http://www.sxnsx.com/a-bash-script-to-view-download-status-of-mldonkey/

      • Shellex 在 2009年03月15日 22:20 说:回复

        哈哈哈,彻底破坏你的页面布局

        • bones7456 在 2009年03月15日 22:38 说:回复

          搞定页面布局,不过….你好像是来刷屏的?

      • Shellex 在 2009年03月15日 22:21 说:回复

        对了,你那关联浏览器的方法有问题。
        Fx仍然提示:
        Firefox doesn’t know how to open this address, because the protocol (ed2k) isn’t associated with any program.

        • bones7456 在 2009年03月15日 22:35 说:回复

          不可能啊,可执行权限?firefox重启?也就这几个破问题了啊…

          • Shellex 在 2009年03月15日 22:49 说:【 】

            都搞过,还是这样子。

        • adam8157 在 2009年12月12日 18:29 说:回复

          只添加network.protocol-handler.expose.ed2k布尔值false,其他的如果有的ed2k的都删除(reset)…重启火狐,然后火狐会问你用什么打开,你选到那个脚本就是了…

  6. bones7456 在 2009年03月16日 08:29 说:回复

    这时候,用sed会累死的…

    • Shellex 在 2009年03月16日 08:36 说:回复

      嗯,是哈,所以我决定用python。。。

      • bones7456 在 2009年03月16日 09:12 说:回复

        那你就别nc了啊…
        其实我还用python写了个applet的,没完成,核心代码就是这样:

        ML_HOST="localhost"
        ML_PORT=4000
         
        def update_applet(applet, label):
            import socket, re
            s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
            s.connect((ML_HOST, ML_PORT))
            s.recv(4096)
            if 3 == s.send("vdn"):
                ret = s.recv(4096)
                tooltip_text=re.sub('33[^m]*m','',ret)
                tooltip_text="n".join(tooltip_text.split("n")[1:-3])
                label_text=" ".join(tooltip_text.split(" ")[1:3])
            else:
                tooltip_text="socket error"
                label_text="ERR"
            label.set_text(label_text)
            label.set_tooltip_text(tooltip_text)

        要不你接着写?

        • Shellex 在 2009年03月16日 12:07 说:回复

          用nc方便啊。既然有nc,还用socket干嘛呢。
          这个是什么的applet?是gnome applet?

          对了,Toy都觉得偶的比较好ye~
          Linux Toy

    • Shellex 在 2009年03月16日 12:13 说:回复

      初步看了一下,awk很棒。会一点了。

  7. 沙漠之子 在 2009年03月16日 12:31 说:回复

    在Archlinux下浏览器的关键脚本已改为

    #!/bin/sh
    (echo dllink $* ;echo q) | nc 127.0.0.1 4000

  8. bones7456 在 2009年03月16日 13:01 说:回复

    汗…我这里被水了,用IM聊吧…

  9. ShelleX is Not ShelleXtend 在 2009年03月28日 15:07 说:回复

    方便查看mldonkey下载情况的小脚本…

    本来呢,mldonkey是个NB东西,但是…
    以前的时候,想看看mldonkey下载进度,得打开sacho,太麻烦。
    后来的时候,想看看mldonkey下载进度,得打开http://localhost:4080,还是太麻烦。
    再后来的呢,….

发表评论