Deluge WebUI,添加具有不同下载目录和标签的种子

Deluge WebUI,添加具有不同下载目录和标签的种子

因此,deluge 本身不支持添加与全局设置标签或下载目录不同的种子。因此,可用的浏览器插件也不支持。因此,我找到了一种绕过此问题的方法,无需编写自定义插件即可将种子添加到 WebUI。

答案1

它的工作原理是将浏览器插件的输出定向到下面的 php 脚本而不是 deluge 本身。然后脚本将 torrent 或 magnet 保存到插件 url 中参数指定的特定监视目录。从这里开始,deluge 的“AutoAdd”插件将设置为监视您想要的各种监视目录,并使用所选标​​签从每个目录加载 torrent,以及特定于该监视目录的下载目录(或该插件提供的任何其他设置)。

    <?php

    //specify hostname in addon as server.com/thisScript.php?label=labelName
    //tested with these addons:
    //https://addons.mozilla.org/en-US/firefox/addon/bittorrent-webui-120685/
    //https://chrome.google.com/webstore/detail/remote-torrent-adder/oabphaconndgibllomdcjbfdghcmenci?hl=en
    //in deluge mode, others may work.
    //specify server address as server.com/path/storeTorrent.php?label=labelname
    //label folder must first be created
    //use with AutoAdd plugin, to watch directories, and add with individual labels and locations
    //http://dev.deluge-torrent.org/wiki/Plugins/AutoAdd (configure with pc client)
    //edit $watchDir to your base watch dir yours

    $watchDir = '/media/sdf1/home/private/deluge/watch/';

    $label = str_replace(array("json",":"),"",$_REQUEST['label']);

    //file_put_contents('debug.txt', json_encode($_REQUEST).'--'.file_get_contents('php://input'));//debug full
    //file_put_contents('debug.txt', $label;//debug just label param

    if($label && is_dir($watchDir.$label)){
                $json = file_get_contents('php://input');
                $array = json_decode($json,true);

                if($array['method'] == 'core.add_torrent_magnet'){
                    preg_match('#magnet:\?xt=urn:btih:(?<hash>.*?)&dn=(?<filename>.*?)&tr=(?<trackers>.*?)$#', $array['params'][0], $magnet_link);
                    file_put_contents($watchDir.$label.$magnet_link['hash'].'.magnet', $array['params'][0]);
                }else if($array['method'] == 'core.add_torrent_file'){              
                    file_put_contents( $watchDir.$label.md5($array['params'][1]).'.torrent' , base64_decode($array['params'][1]));
                }


    }
    else header(':', true, 401);


    header('Content-Type: application/json');
    echo '{"id": 0, "result": true, "error": null}';
    ?>

http://dev.deluge-torrent.org/wiki/Plugins/AutoAdd 在此处输入图片描述

相关内容