UNPKG

torrent-search-api

Version:

Yet another node torrent scraper based on x-ray. (Support iptorrents, torrentleech, torrent9, Yyggtorrent, ThePiratebay, torrentz2, 1337x, KickassTorrent, Rarbg, TorrentProject, Yts, Limetorrents, Eztv)

58 lines (53 loc) 1.49 kB
const Promise = require('bluebird'); const request = Promise.promisify(require('request')); const TorrentProvider = require('../TorrentProvider'); class Yts extends TorrentProvider { constructor() { super({ name: 'Yts', baseUrl: 'https://yts.mx', searchUrl: '/api/v2/list_movies.json?query_term={query}&sort=seeds&order=desc&set=1', categories: { All: '' }, defaultCategory: 'All', resultsPerPageCount: 20 }); } search(query, category) { const url = this.getUrl(category, query); if (url === null) { return Promise.resolve([]); } return request({ url, headers: { 'User-Agent': 'curl/7.37.0' } }).then( response => { const results = JSON.parse(response.body).data.movies; return ( results && results.reduce((torrents, r) => { if (r.torrents) { r.torrents.forEach(t => { torrents.push({ provider: this.name, title: `${r.title} ${t.quality}`, time: t.date_uploaded, seeds: t.seeds, peers: t.peers, size: t.size, link: t.url, desc: r.url }); }); } return torrents; }, []) ); } ); } getTorrentDetails(torrent) { throw new Error('Not implemented'); } } module.exports = Yts;