Javascript 使用Node.JS下载Torrent

Javascript 使用Node.JS下载Torrent,javascript,node.js,rss,bittorrent,Javascript,Node.js,Rss,Bittorrent,我想知道是否有人有一个如何使用NodeJS下载torrent的例子?本质上,我有一个torrent的RSS提要,我迭代并获取torrent文件url,然后想在服务器上开始下载该torrent 我已经很好地解析和循环了RSS,但是我尝试了一些npm包,但是它们要么崩溃了,要么就是不稳定。如果有人有任何建议,例子,任何东西。。。我将不胜感激。谢谢 router.get('/',函数(req,res){ var选项={}; parser.parseURL('rssfeed here',选项,函数(e

我想知道是否有人有一个如何使用NodeJS下载torrent的例子?本质上,我有一个torrent的RSS提要,我迭代并获取torrent文件url,然后想在服务器上开始下载该torrent

我已经很好地解析和循环了RSS,但是我尝试了一些npm包,但是它们要么崩溃了,要么就是不稳定。如果有人有任何建议,例子,任何东西。。。我将不胜感激。谢谢

router.get('/',函数(req,res){
var选项={};
parser.parseURL('rssfeed here',选项,函数(err,articles){
var i=0;
var洪流;
for(条款中的var标题){
log(articles.items[i]['url']);
//在这里下载torrent
i++;
}
});
});可用于此操作

然后,要下载torrent:

var Client = require('node-torrent');
var client = new Client({logLevel: 'DEBUG'});
var torrent = client.addTorrent('a.torrent');

// when the torrent completes, move it's files to another area
torrent.on('complete', function() {
    console.log('complete!');
    torrent.files.forEach(function(file) {
        var newPath = '/new/path/' + file.path;
        fs.rename(file.path, newPath);
        // while still seeding need to make sure file.path points to the right place
        file.path = newPath;
    });
});
或者,为了获得更多的控制,您可以通过其xml rpc协议来使用和控制它。有一个名为的节点模块完成了这项工作!例如:

var Transmission = require('./')

var transmission = new Transmission({
    port : 9091,
    host : '127.0.0.1'
});

transmission.addUrl('my.torrent', {
    "download-dir" : "/home/torrents"
}, function(err, result) {
    if (err) {
        return console.log(err);
    }
    var id = result.id;
    console.log('Just added a new torrent.');
    console.log('Torrent ID: ' + id);
    getTorrent(id);
});

如果你正在使用视频洪流,你可能会对它感兴趣。它是一个同时下载和流式传输视频的服务器,因此您可以在不完全下载视频的情况下观看视频。它是以图书馆为基础的


另一个有趣的项目是。这是一个很好的torrent库,可以在NodeJs和browser中工作,并且支持流媒体。根据我的经验,它在浏览器中没有很好的支持,但在NodeJS中应该可以完全工作。

bittorrent协议是开放的,一点也不复杂。如果现有的包很差劲,那么就编写一个不差劲的包:)有很多不同的方法。您可以与外部应用程序接口,与C库的node.js包装器接口,或使用本机node.js torrent实现。@Touffy,这提供了很少的方向…@8472您有关于本机node.js torrent实现的指南或文章吗?@8472在我的原始帖子中没有,我也没有要求或以任何方式期待一位向导。我对你和这个社区没有任何期望。然而,我希望有人能提供更多的方向,而不是本质上的“谷歌”。我收到我要找的方向了吗?不,这对我重要吗?不,你对我的问题回答得相当令人讨厌,我有意见吗?绝对地我有学习的欲望。但信不信由你,并不是每个人都会像你那样学习。嘿..当我从模块添加torrent文件时,端口9091上的“transmission daemon”UI在下载过程中显示错误“permission denied”,下载立即停止。我试过用你的例子来回答这个问题。您对此有什么想法吗…?这是由于变速器的配置,而不是给定的代码。我已经多次遇到这个问题。尝试更改文件夹的权限或所有者。否则,您也可以更改传输运行的用户/组。嘿。。。谢谢你的回复……问题解决了。问题是必须对所有父文件夹具有+x权限,即/a/b/c/final,然后a、b和c应该具有+x权限。再次感谢。我无法使它工作(节点传输)模块。它每次都在位置0处显示
SyntaxError:JSON中意外的标记H。有解决办法吗?