使用Node.JS下载Torrent
Downloading Torrent with Node.JS
我想知道是否有人有如何使用NodeJS下载种子的例子?本质上,我有一个种子的RSS提要,我遍历并获取种子文件url,然后想要在服务器上启动该种子的下载。
我已经通过RSS进行了解析和循环,但是我尝试了一些npm包,但是它们要么崩溃了,要么就是不稳定。如果有人有任何建议,例子,任何东西…我将不胜感激。谢谢。
router.get('/', function(req, res) {
var options = {};
parser.parseURL('rss feed here', options, function(err, articles) {
var i = 0;
var torrent;
for (var title in articles.items) {
console.log(articles.items[i]['url']);
//download torrent here
i++;
}
});
});
你可以使用node-torrent。
然后,下载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;
});
});
或者,为了获得更多的控制,您可以使用transmission-dæmon并通过它的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流服务器感兴趣。它是一个服务器,可以同时下载和传输视频,所以你可以在不完全下载的情况下观看视频。它基于torrent-stream库。
另一个有趣的项目是webtorrent。这是一个很好的洪流库,在两个工作:NodeJs &浏览器和流媒体支持。根据我的经验,它在浏览器中没有很好的支持,但应该在NodeJS中完全工作。
相关文章:
- 如何在生成下载文件时显示加载动画
- 直接下载文件,而不是从window.open(url)
- 如何使用javascript或html下载PDF格式的填写表单
- Javascript运行php文件,然后下载文件
- 在单击href链接的同时下载文件
- 尽管链接成功并已成功下载,但未找到NPM模块
- 通过php页面中的js强制下载txt
- 使用angularjs向浏览器发送servlet响应(下载功能)
- 通过javascript下载文件时设置文件名
- 如何在Edge中下载图像/png数据URI
- 下载使用POST数据动态生成的文件
- 在提交时打开thankyou.html+下载PDF
- HTML锚标记无法在android平台中下载文件
- PERL-下载CSV文件不完整
- 将下载链接从web浏览器传递给第三方应用程序
- 使用ajax下载与存储名称不同名称的文件
- 请求准备一个文件并返回路径,允许用户在准备好时下载
- 链接/按钮从子文件夹下载文件--浏览器只是浏览
- 在同一选项卡中启动下载,而无需在Javascript中打开新选项卡或窗口
- 使用Node.JS下载Torrent