Enhances your pirating experience!
// ==UserScript== // @name The Pirate Helper // @description Enhances your pirating experience! // @author Noah Keller http://github.com/noahtkeller // @version 6.0 // @namespace github.com/noahtkeller // @require http://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js // @include http*://thepiratebay.* // @include http*://www.imdb.*/title/tt* // @grant GM_xmlhttpRequest // @run-at document-end // @noframes // ==/UserScript== var magnet_img = "data:image/gif;base64,R0lGODlhDAAMALMPAOXl5ewvErW1tebm5oocDkVFRePj47a2ts0WAOTk5MwVAIkcDesuEs0VAEZGRv///yH5BAEAAA8ALAAAAAAMAAwAAARB8MnnqpuzroZYzQvSNMroUeFIjornbK1mVkRzUgQSyPfbFi/dBRdzCAyJoTFhcBQOiYHyAABUDsiCxAFNWj6UbwQAOw=="; var browser = function (name) { var n = 'unknown'; if (GM_info.scriptHandler === 'Tampermonkey') n = 'chrome'; else if (typeof window.opera !== 'undefined') n = 'opera'; else if (typeof GM_info.scriptWillUpdate === 'number') n = 'opera'; else if (typeof GM_info.scriptWillUpdate === 'boolean') n = 'firefox'; return typeof name === 'undefined' ? n : n === name; }; var site = function (check) { var s = ''; var f = ('' + document.location).split(/^http(s)?\:\/\/(www\.)?/)[3].split('/')[0]; if (typeof f !== 'undefined') s = f.split(/\.[a-zA-Z](\.[a-zA-Z])?/)[0]; else s = null; return typeof check === 'undefined' ? s : s === check; }; var get_data = function (args) { args.post = typeof args.post === 'undefined' ? false : args.post; var post_data = ''; if (typeof args.post === 'object') for (var d in args.post) post_data += (post_data === '' ? '' : '&') + d + '=' + args.post[d]; GM_xmlhttpRequest({ method: args.post === false ? 'GET' : 'POST', data: post_data, url: args.url, onload: function(rD) { var xmlDoc = $.parseHTML(rD.responseText); if (typeof args.onload === 'function') args.onload(xmlDoc, rD); }, ontimeout: function(rD) { var xmlDoc = $.parseHTML(rD.responseText); if (typeof args.ontimeout === 'function') args.ontimeout(xmlDoc, rD); }, onerror: function(rD) { var xmlDoc = $.parseHTML(rD.responseText); if (typeof args.onerror === 'function') args.onerror(xmlDoc, rD); } }); }; var getTorrents = function() { var title = $($('h1.header span[itemprop="name"]')[0]).text(); var year = $($('#overview-top > h1 > span.nobr > a')[0]).text(); get_data({ url: 'https://thepiratebay.am/search/' + title + ' ' + year + '/0/7/0', onload: function(data, text) { var results = $('table#searchResult tbody tr', text.response); for (var i = 0; i < results.length; i++) { var result = $(results[i]); var info = $('td', result); var magnet = $('a[title="Download this torrent using magnet"]', info[1]).attr('href').trim(); var title = $('a.detLink', info[1]).text().trim(); var uploader = $('a.detDesc', info[1]).text().trim(); var seeds = $(info[2]).text().trim(); var leeches = $(info[3]).text().trim(); $('<tr><td style="text-align: center;"><a href=\'' + magnet + '\'><img src=\'' + magnet_img + '\'/></a></td><td>' + title + '<br/><small>by: ' + uploader + '</small></td><td style="text-align: center;">' + seeds + '</td><td style="text-align: center;">' + leeches + '</td></tr>').appendTo('div#torrentResults table'); if (i === 0) { var mag_img = $('<img style="cursor: pointer;" src=\'' + magnet_img + '\'/>'); mag_img.click(function() { $('#torrentResults').toggle(); }); $('div.infobar').prepend(' <span class="ghost">|</span>'); $('div.infobar').prepend(mag_img); } } } }) }; if (site('imdb')) { var results = $('<div class="article" id="torrentResults"><table cellpaddng=".2em" cellspacing="0" width="100%"><tr><td style="width: 5%; font-weight: bold; color: red; text-align: center"><span onclick="$(\'#torrentResults\').hide();" style="cursor: pointer;">X</span></td><td style="width: 85%;">Title</td><td style="text-align: center; width: 5%;">S</td><td style="text-align: center;">L</td></tr></table></div>'); results.hide(); results.insertBefore('div.title-overview'); var torrent_data = getTorrents(); } else if (site('thepiratebay')) { $('div#main-content').css('margin', 0); }