Socket
Socket
Sign inDemoInstall

torrentz2

Package Overview
Dependencies
Maintainers
1
Versions
13
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

torrentz2 - npm Package Compare versions

Comparing version 1.0.6 to 2.0.0

72

app.js

@@ -5,21 +5,26 @@ /**

const Parser = require('rss-parser');
const _ = require('lodash');
const parser = new Parser();
var request = require('request');
var jar = request.jar();
const cheerio = require('cheerio');
const _ = require('lodash');
var request = request.defaults({
jar: jar,
followAllRedirects: true
});
const Q = require('q');
exports.searchTorrentz2 = function(searchStr){
const deferred = Q.defer();
const option_q = {url: `https://tortorrentz.com/search?q=${searchStr}`};
request.get(option_q, function (err, resp, html) {
exports.searchTorrentz2 = async function(searchStr){
const feed = await parser.parseURL(`https://torrentz2.eu/feed?f=${searchStr}`);
const items = feed.items.map(item => {
//content: 'Size: 5109 MB Seeds: 2 Peers: 0 Hash: e22b06e6a75cb1d3d2e74713420a51cc3bb579f1',
const contents = item.content.split(" ");
const size = contents[1]+" "+contents[2];
const peers = contents[6];
const seeds = contents[4];
const hash = item.link.replace("https://torrentz2.eu/","")
const magnet = toMagnet(hash,item.title);
const name = item.title
deferred.resolve(parseHtmlResponse(html));
return {
magnet,name,size, seeds,peers
}
});
return deferred.promise;
return items;
};

@@ -29,34 +34,15 @@

function getTrackerStr(){
function toMagnet(hash, name){
const trackers = [
'udp://tracker.coppersurfer.tk:6969/announce',
'udp://tracker.leechers-paradise.org:6969/announce',
'udp://tracker.zer0day.to:1337/announce',
'udp://explodie.org:6969/announce',
'udp://tracker1.wasabii.com.tw:6969/announce',
'http://173.254.204.71:1096/announce'
'udp://open.demonii.si:1337/announce',
'udp://denis.stalker.upeer.me:6969/announce',
'udp://tracker.coppersurfer.tk:6969/announce',
'udp://torrentclub.tech:6969/announce',
'udp://retracker.lanta-net.ru:2710/announce',
'udp://retracker.akado-ural.ru:80/announce',
];
return '&tr='+_.join(_(trackers).map(encodeURIComponent).value(),'&tr=');
return `magnet:?xt=urn:btih:${hash}&dn=${encodeURI(name)}&tr=+${_.join(_(trackers).map(encodeURIComponent).value(),'&tr=')}`;
}
function parseHtmlResponse(html){
var $ = cheerio.load(html);
const values = _($('dl')).filter(tag => $($(tag).find('a[href]')).attr('href') && $($(tag).find('a[href]')).attr('href').indexOf('?') == -1)
.map(extractHtmlData).filter(magnetObj => magnetObj.peers && magnetObj.seeds).sortBy(magnetObj => parseInt(magnetObj.seeds)).reverse()
.value();
function extractHtmlData(obj){
const hash = $($(obj).find('a[href]')).attr('href').substring(1);
const name = $($(obj).find('a[href]')).text();
const size = $($(obj).find('dd span')[2]).text();
const peers = $($(obj).find('dd span')[3]).text();
const seeds = $($(obj).find('dd span')[4]).text();
const magnet = `magnet:?xt=urn:btih:${hash}&dn=${encodeURI(name)}${getTrackerStr()}`;
return {magnet,name,size,peers,seeds};
}
return values;
}
{
"name": "torrentz2",
"version": "1.0.6",
"version": "2.0.0",
"description": "",

@@ -24,7 +24,5 @@ "main": "app.js",

"dependencies": {
"cheerio": "^0.22.0",
"lodash": "^4.17.4",
"q": "^1.4.1",
"request": "^2.81.0"
"lodash": "^4.17.15",
"rss-parser": "^3.7.3"
}
}
## TORRENTZ2 API
Html scraper of [Torrentz2](http://torrentz2.eu). Lets find a list of magnets links by query string. Return ArrayJson as result.
Html scraper of [~~Torrentz2~~](http://torrentz2.eu) [Tortorrentz](http//tortorrentz.com). Lets find a list of magnets links by query string. Return ArrayJson as result.

@@ -36,2 +36,2 @@ ### Install

*/
```
```

@@ -6,2 +6,2 @@ /**

torrentz.searchTorrentz2('Game of thrones s07e04').then(console.log);
torrentz.searchTorrentz2('Ubuntu').then(console.log);
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc