您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
SKrypt umożliwiający pobieranie materiałów z serwisów Ipla.tv, Player.pl, Vod.pl
当前为
// ==UserScript== // @name Skrypt umożliwiający pobieranie materiałów ze znanych serwisów VOD. Autor: Przemek // @namespace http://www.ipla.tv/ // @include *www.ipla.tv/* // @include *getmedia.redefine.pl/* // @include *player.pl/* // @include *vod.pl/* // @include *tvp.pl/* // @include *www.cda.pl/* // @version 3.8 // @description SKrypt umożliwiający pobieranie materiałów z serwisów Ipla.tv, Player.pl, Vod.pl // @author Przemek // @match http://www.ipla.tv/* // @grant none // ==/UserScript== //Ważne: //Skrypt opiera się na skryptach umieszczonych na stronie: miniskrypt.blogspot.com //oraz: miniskrypt.hubaiitv.pl. Moje rozszerzenie tylko i wyłącznie dodaje wygodne //w użyciu przyciski, jednak nie jestem autorem większości kodu. //Skrypt jest niepubliczny, a dostęp do niego mają tylko i wyłącznie osoby z linkiem. /////////////////////// KONFIGURACJA //////////////////////// Wlacz_skrypt = true; // true = skrypt włączony, false = skrypt wyłączony. //////////////////// KONIEC KONFIGURACJI //////////////////// var SkryptKopiujText = "function copyText(e){function t(e){if(document.selection){var t=document.body.createTextRange();t.moveToElementText(e),t.select()}else if(window.getSelection){var t=document.createRange();t.selectNode(e),window.getSelection().removeAllRanges(),window.getSelection().addRange(t)}}var n=document.createElement(\"DIV\");n.textContent=e,document.body.appendChild(n),t(n),document.execCommand(\"copy\"),n.remove()} "; var StyleText = "<style>body{font-family: \"Segoe UI\";}.clicked{background-color: #7CFC00;}</style>"; function addEvent(obj, event, func) { if (obj.addEventListener) { obj.addEventListener(event, func, false); return true; } else if (obj.attachEvent) { obj.attachEvent('on' + event, func); } else { var f = obj['on' + event]; obj['on' + event] = typeof f === 'function' ? function () { f(); func(); } : func } } function texxtIpla(lol, info = null) { var infotext = 'Aby skopiować link, wciśnij: CTRL+C, potem: ENTER aby rozpocząć pobieranie, lub ESC aby zakończyć działanie skryptu'; if(info != null){ infotext = infotext + ". " + info; } if (window.prompt(infotext, lol)) { document.location.href = lol; } } function texxt(lol) { window.prompt('Aby skopiować link, wciśnij: CTRL+C, potem: ENTER', lol); }/*javascript: (function() { var n = document.location.href.split(/[.,]/); var xmlhttp = new XMLHttpRequest(); xmlhttp.open('GET', '/api/?platform=ConnectedTV&terminal=Samsung2&format=json&v=3.6&authKey=453198a80ccc99e8485794789292f061&type=episode&id=' + n[n.length - 2] + '&sort=newest&m=getItem&deviceScreenHeight=1080&deviceScreenWidth=1920', false); xmlhttp.send(); var o = eval('(' + xmlhttp.responseText + ')'); var s = o.item.videos.main.video_content[0].url; if (!s) { if (confirm('DRM :(. Możesz pobrać plik, ale prawdopodobnie go nie otworzysz. \n\nvideo_content_license_data: ' + o.item.videos.main.video_content_license_data)) { var s = o.item.videos.main.video_content[0].src; document.location.href = s; }; } else { var m = s.match(/:\/\/(?:redir\.)?(.[^/]+)(.*)/); var xmlhttp = new XMLHttpRequest(); xmlhttp.open('GET', m[2], false); xmlhttp.send(); document.location.href = xmlhttp.responseText; } })();*/ function PokazLinkTVNNowy() { //alert("zaczynamy"); try { try { n = document.querySelector("#detailEpisode").getAttribute("data-article-id") } catch (e) { var pageURL = window.location.href; var lastComma = pageURL.lastIndexOf(","); if (lastComma > - 1) { n = pageURL.substring(lastComma+1); n = parseInt(n); } }; //alert(n); xmlhttp = new XMLHttpRequest(); xmlhttp.open("GET", "/api/?platform=ConnectedTV&terminal=Panasonic&format=json&authKey=064fda5ab26dc1dd936f5c6e84b7d3c2&v=3.1&m=getItem&id=" + n, false); xmlhttp.send(); //alert(xmlhttp.responseText); o = JSON.parse(xmlhttp.responseText); lt = o.item.videos.main.video_content_license_type; dd = o.item.videos.main.video_content; title = o.item.serie_title + " - S" + o.item.season + "E" + o.item.episode; if (lt !== null) { alert('DRM lub brak materiału TV :('); return; }; //myWindow = window.open("", "MsgWindow"); // myWindow.document.write("<p>Tytuł: " + title + "</p>"); /*for (var j = 0, len = dd.length; j < len; j = j + 1) { dlurl = dd[j].url; pn = dd[j].profile_name; myWindow.document.write("<p>Jakość materiału: " + pn + "<br>"); myWindow.document.write("Link do materiału: <br>" + dlurl + "</p>"); }*/ DocumentWriteFirefoxFix = ""; var randomText = makeid(); DocumentWriteFirefoxFix = DocumentWriteFirefoxFix + '<p>Tytuł: ' + title + '</p>'; var HighestResolution = 0; var HighestResolutionLink = ''; for (var j = 0, len = dd.length; j < len; j = j + 1) { HighestResolution = HighestResolution + 1; dlurl = dd[j].url; if(j < 2){ HighestResolutionLink = dlurl; } pn = dd[j].profile_name; DocumentWriteFirefoxFix = DocumentWriteFirefoxFix + "<p>Jakość materiału: " + pn + "<br>"; DocumentWriteFirefoxFix = DocumentWriteFirefoxFix + "Link do materiału: <button id=\"button-" + j + "\" type=\"button\">Kopiuj</button><br><a target=\"_blank\" href=\"" + dlurl + "\">" + dlurl + "</a></p>"; DocumentWriteFirefoxFix = DocumentWriteFirefoxFix + "<script>var but = document.getElementById('button-"+j+"');but.addEventListener('click', function(){copyText(\""+ dlurl +"\");document.getElementById('button-"+j+"').setAttribute(\"class\", \"clicked\");})</script>"; }; DocumentWriteFirefoxFix = DocumentWriteFirefoxFix + StyleText + '<script type="application/javascript">function texxtIpla(lol){if (window.prompt("Aby skopiować link, wciśnij: CTRL+C, potem: ENTER aby rozpocząć pobieranie, lub ESC aby zakończyć działanie skryptu", lol)){document.location.href=lol;}}setTimeout(function () {texxtIpla("' + HighestResolutionLink + '");}, 1000);' + SkryptKopiujText + '</script>'; addJS_Node(null, null, fireNewTab); } catch (e) {}; } function PokazLink() { var taktak = true; var linklink = ''; var n = document.location.href.split(/[.,]/); var f = new XMLHttpRequest(); f.open('GET', '/api/?platform=ConnectedTV&terminal=Panasonic&format=json&authKey=064fda5ab26dc1dd936f5c6e84b7d3c2&v=3.1&m=getItem&id=' + n[n.length - 2], false); f.send(); var m = eval('(' + f.responseText + ')'); console.log(m); try { var h = m.item.videos.main.video_content[1].url; } catch (e) { console.log('samsung HD fail, trying first vid'); try { var h = m.item.videos.main.video_content[0].url; } catch (e) { console.log('samsung fail. falling back to android'); } }; if (!h) { if (confirm('DRM lub brak materiału TV :(\nCzy chcesz pobrać wersję androidową?')) { function u() { var c = document.location.href.split(/[.,]/); var g = new XMLHttpRequest(); var d = '/api/?platform=Mobile&terminal=Android&format=json&v=3.0&authKey=b4bc971840de63d105b3166403aa1bea&type=episode&id=' + c[c.length - 2] + '&sort=newest&m=getItem&deviceScreenHeight=1080&deviceScreenWidth=1920'; g.open('GET', d, false); g.send(); try { var k = eval('(' + g.responseText + ')'); //alert( g.responseText); var l = k.item.videos.main.video_content[1].url; var i = r(l); } catch (e) { console.log('android 3.0 fail. falling back to android 2.0'); var d = '/api/?platform=Mobile&terminal=Android&format=json&v=2.0&authKey=b4bc971840de63d105b3166403aa1bea&type=episode&id=' + c[c.length - 2] + '&sort=newest&m=getItem&deviceScreenHeight=1080&deviceScreenWidth=1920'; g.open('GET', d, false); g.send(); var k = eval('(' + g.responseText + ')'); //alert( g.responseText); var l = k.item.videos.main.video_content[1].url; var i = r(l); } if (i == false) { console.log('Nienaprawiony błąd, odśwież stronę i naciśnik przycisk raz jeszcze'); return false; } //document.body.innerHTML = ''; //videoUrlHtml = document.createTextNode(i); //document.body.appendChild(videoUrlHtml); //alert(i); linklink = i; texxtIpla(linklink); //document.location.href = i } function r(c) { try { c = c.replace('http://redir.atmcdn.pl/http/', ''); console.log(c); var g = CryptoJS.lib.WordArray.random(16).toString(); var d = 'E8E2CE332A8BE7761B5E3397A18563E2'; var k = new Date(); var l = k.getTime(); var i = l - 946681200000; var q = 'name=' + c + '&expire=' + i + '\0'; q = v(q); var w = CryptoJS.AES.encrypt((q), (CryptoJS.enc.Hex.parse(d)), { iv: (CryptoJS.enc.Hex.parse(g)), mode: CryptoJS.mode.CBC }); var x = w.ciphertext.toString(); return 'http://redir.atmcdn.pl/http/' + c + '?salt=' + g + '&token=' + String(x).toUpperCase(); } catch (e) { return false; } } function y(c, g) { var d = 16; var k = c.length % d; var l = d - k; for (var i = 0; i < l; i++) c += g; return c; } function v(c) { return y(c, String.fromCharCode(16 - (c.length % 16))); } function s(c, g) { var d = document.createElement('script'), k = document.getElementsByTagName('script'), l = k.length, i = function () { try { g && g(); } catch (exception) { console.log('[Caught Exception]', exception); } }; d.setAttribute('type', 'text/javascript'); d.setAttribute('charset', 'utf-8'); if (d.readyState) { d.onreadystatechange = function () { if (d.readyState === 'loaded' || d.readyState === 'complete') { d.onreadystatechange = null; i(); } } } else { d.onload = i; } d.setAttribute('src', c); document.body.insertBefore(d, k[(l - 1)].nextSibling); } var p = 0; s('https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.2/rollups/aes.js', function () { p += 1; //window.setTimeout(t, 2000) }); s('https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.2/components/pad-nopadding-min.js', function () { p += 1; //window.setTimeout(t, 2000) }); window.setTimeout(t, 2000); function t() { console.log('Prerun:' + p); if (p >= 2) { u(); } } } else { //None } } else { //var b = h.match(/:\/\/(?:redir\.)?(.[^/]+)(.*)/); //var f = new XMLHttpRequest(); //f.open('GET', b[2], false); //f.send(); //linklink = f.responseText; //console.log(h); //texxtIpla(linklink); texxtIpla(h); //document.location.href = f.responseText } } function PokazLinkB() { var taktak = true; var linklink = ''; var n = document.location.href.split(/[.,]/); var f = new XMLHttpRequest(); // f.open('GET', '/api/?platform=ConnectedTV&terminal=Panasonic&format=json&authKey=064fda5ab26dc1dd936f5c6e84b7d3c2&v=3.1&m=getItem&id=' + n[n.length - 2], false); f.open('GET', '/api/?platform=ConnectedTV&terminal=Panasonic&format=json&authKey=064fda5ab26dc1dd936f5c6e84b7d3c2&v=3.1&m=getItem&id=' + n[n.length - 2], false); // f.open('GET', '/api/?platform=ConnectedTV&terminal=Samsung2&format=json&authKey=453198a80ccc99e8485794789292f061&v=3.6&showContentContractor=free,samsung,standard&m=getItem&android23video=1&deviceType=Tablet&os=4.1.1&playlistType=&connectionType=WIFI&deviceScreenWidth=1920&deviceScreenHeight=1080&appVersion=3.3.4&manufacturer=unknown&model=androVMTablet&id=' + n[n.length - 2], false); f.send(); var m = eval('(' + f.responseText + ')'); var numofitems = m.item.videos.main.video_content.length; //alert(m.item.videos.main.video_content.length); //console.log(f.responseText); try { var h = m.item.videos.main.video_content[numofitems - 1].url; } catch (e) { console.log('samsung SD fail, trying first vid'); try { var h = m.item.videos.main.video_content[0].url; } catch (e) { console.log('samsung fail. falling back to android'); } }; if (!h) { if (confirm('DRM lub brak materiału TV :(\nCzy chcesz pobrać wersję androidową?')) { function u() { var c = document.location.href.split(/[.,]/); var g = new XMLHttpRequest(); var d = '/api/?platform=Mobile&terminal=Android&format=json&v=3.0&authKey=b4bc971840de63d105b3166403aa1bea&type=episode&id=' + c[c.length - 2] + '&sort=newest&m=getItem&deviceScreenHeight=1080&deviceScreenWidth=1920'; g.open('GET', d, false); g.send(); try { var k = eval('(' + g.responseText + ')'); //alert( g.responseText); var numnum = k.item.videos.main.video_content.length; var l = k.item.videos.main.video_content[numnum - 1].url; var i = r(l); } catch (e) { console.log('android 3.0 fail. falling back to android 2.0'); var d = '/api/?platform=Mobile&terminal=Android&format=json&v=2.0&authKey=b4bc971840de63d105b3166403aa1bea&type=episode&id=' + c[c.length - 2] + '&sort=newest&m=getItem&deviceScreenHeight=1080&deviceScreenWidth=1920'; g.open('GET', d, false); g.send(); var k = eval('(' + g.responseText + ')'); //alert( g.responseText); var numnum = k.item.videos.main.video_content.length; var l = k.item.videos.main.video_content[numnum - 1].url; var i = r(l); } if (i == false) { console.log('Nienaprawiony błąd, odśwież stronę i naciśnik przycisk raz jeszcze'); return false; } //document.body.innerHTML = ''; //videoUrlHtml = document.createTextNode(i); //document.body.appendChild(videoUrlHtml); //alert(i); linklink = i; texxtIpla(linklink); //document.location.href = i } function r(c) { try { c = c.replace('http://redir.atmcdn.pl/http/', ''); console.log(c); var g = CryptoJS.lib.WordArray.random(16).toString(); var d = 'E8E2CE332A8BE7761B5E3397A18563E2'; var k = new Date(); var l = k.getTime(); var i = l - 946681200000; var q = 'name=' + c + '&expire=' + i + '\0'; q = v(q); var w = CryptoJS.AES.encrypt((q), (CryptoJS.enc.Hex.parse(d)), { iv: (CryptoJS.enc.Hex.parse(g)), mode: CryptoJS.mode.CBC }); var x = w.ciphertext.toString(); return 'http://redir.atmcdn.pl/http/' + c + '?salt=' + g + '&token=' + String(x).toUpperCase(); } catch (e) { return false; } } function y(c, g) { var d = 16; var k = c.length % d; var l = d - k; for (var i = 0; i < l; i++) c += g; return c; } function v(c) { return y(c, String.fromCharCode(16 - (c.length % 16))); } function s(c, g) { var d = document.createElement('script'), k = document.getElementsByTagName('script'), l = k.length, i = function () { try { g && g(); } catch (exception) { console.log('[Caught Exception]', exception); } }; d.setAttribute('type', 'text/javascript'); d.setAttribute('charset', 'utf-8'); if (d.readyState) { d.onreadystatechange = function () { if (d.readyState === 'loaded' || d.readyState === 'complete') { d.onreadystatechange = null; i(); } } } else { d.onload = i; } d.setAttribute('src', c); document.body.insertBefore(d, k[(l - 1)].nextSibling); } var p = 0; s('https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.2/rollups/aes.js', function () { p += 1; //window.setTimeout(t, 2000) }); s('https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.2/components/pad-nopadding-min.js', function () { p += 1; //window.setTimeout(t, 2000) }); window.setTimeout(t, 2000); function t() { console.log('Prerun:' + p); if (p >= 2) { u(); } } } else { //None } } else { //var b = h.match(/:\/\/(?:redir\.)?(.[^/]+)(.*)/); //var f = new XMLHttpRequest(); //f.open('GET', b[2], false); //f.send(); //linklink = f.responseText; texxtIpla(h); //document.location.href = f.responseText } } function PokazLinkOld() { var taktak = true; var linklink = ''; var n = document.location.href.split(/[.,]/); var xmlhttp = new XMLHttpRequest(); xmlhttp.open('GET', '/api/?platform=ConnectedTV&terminal=Samsung2&format=json&v=3.6&authKey=453198a80ccc99e8485794789292f061&type=episode&id=' + n[n.length - 2] + '&sort=newest&m=getItem&deviceScreenHeight=1080&deviceScreenWidth=1920', false); xmlhttp.send(); var o = eval('(' + xmlhttp.responseText + ')'); //alert(xmlhttp.responseText); try { var s = o.item.videos.main.video_content[0].url } catch (e) { } if (!s) { if (confirm('DRM lub brak materiału TV :(\nCzy chcesz pobrać wersję androidową?')) { (function () { console.log('START'); var redirectToBool = true; function run() { //alert('run'); var n = document.location.href.split(/[.,]/); var xmlhttp = new XMLHttpRequest(); var apiUrl = '/api/?platform=Mobile&terminal=Android&format=json&v=3.0&authKey=b4bc971840de63d105b3166403aa1bea&type=episode&id=' + n[n.length - 2] + '&sort=newest&m=getItem&deviceScreenHeight=1080&deviceScreenWidth=1920'; console.log('apiUrl' + apiUrl); xmlhttp.open('GET', apiUrl, false); xmlhttp.send(); console.log(xmlhttp); //alert(xmlhttp.responseText); var o = eval('(' + xmlhttp.responseText + ')'); console.log(o); try { var videoUrl = o.item.videos.main.video_content[1].url; } catch (e) { alert('Brak materiału w wersji na androida'); } console.log(videoUrl); var videoUrlWithSeed = AES_CBC(videoUrl); console.log(videoUrlWithSeed); document.body.innerHTML = ''; videoUrlHtml = document.createTextNode(videoUrlWithSeed); document.body.appendChild(videoUrlHtml); if (redirectToBool) { //alert(videoUrlWithSeed); linklink = videoUrlWithSeed; //alert(linklink); //ShowDirectLink(linklink); texxtIpla(linklink); //alert(linklink); //document.location.href = videoUrlWithSeed; } } function AES_CBC(url_) { console.log(url_); url_ = url_.replace('http://redir.atmcdn.pl/http/', ''); console.log(url_); var salt = CryptoJS.lib.WordArray.random(16).toString(); var decrypted = 'E8E2CE332A8BE7761B5E3397A18563E2'; var d = new Date(); var currentMillis = d.getTime(); var expire = 3600000 + (currentMillis) - 946684800000; console.log('expire: ' + expire); var unencryptedToken = 'name=' + url_ + '&expire=' + expire + '\0'; console.log('unencryptedToken: ' + unencryptedToken); unencryptedToken = pkcs5_pad(unencryptedToken); var encrypted = CryptoJS.AES.encrypt((unencryptedToken), ((CryptoJS.enc.Hex.parse(decrypted))), { iv: ((CryptoJS.enc.Hex.parse(salt))), padding: CryptoJS.pad.NoPadding, mode: CryptoJS.mode.CBC }); console.log('encrypted: ' + encrypted); var encryptedTokenHEX = encrypted.ciphertext.toString(); return 'http://redir.atmcdn.pl/http/' + url_ + '?salt=' + salt + '&token=' + String(encryptedTokenHEX).toUpperCase(); } function padString(source, paddingChar) { var size = 16; var x = source.length % size; var padLength = size - x; for (var i = 0; i < padLength; i++) source += paddingChar; return source; } function pkcs5_pad(s) { console.log('len:' + s.length); return padString(s, String.fromCharCode(16 - (s.length % 16))); } function loadScript(url, callback) { var script = document.createElement('script'); script.type = 'text/javascript'; if (script.readyState) { console.log('IE'); script.onreadystatechange = function () { if (script.readyState == 'loaded' || script.readyState == 'complete') { script.onreadystatechange = null; callback(); } }; } else { console.log('Others'); script.onload = function () { callback(); }; } script.src = url; document.getElementsByTagName('head') [0].appendChild(script); } var loadedJsScripts = 0; loadScript('https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.2/rollups/aes.js', function () { loadedJsScripts += 1; checkAndRun(); }); loadScript('https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.2/components/pad-nopadding-min.js', function () { loadedJsScripts += 1; checkAndRun(); }); function checkAndRun() { if (loadedJsScripts >= 2) { run(); } } console.log('END') }) () } else { taktak = false; } } else { var m = s.match(/:\/\/(?:redir\.)?(.[^/] )(.*)/); var xmlhttp = new XMLHttpRequest(); xmlhttp.open('GET', m[2], false); xmlhttp.send(); //document.location.href = xmlhttp.responseText; linklink = xmlhttp.responseText; //ShowDirectLink(linklink); texxtIpla(linklink); } /*function ShowDirectLink(linklinklink){ //if (taktak){ if(linklinklink.length > 3){ var heyhey9 = null; var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { if (xhr.readyState == 4) { heyhey9 = xhr.response; alert(heyhey9); texxtIpla(heyhey9); return heyhey9; } } //alert(xmlhttp.responseText); //texxt(o.item.videos.main.video_content[0].url); // alert(s); var link = linklinklink; //alert(link); var str = link; var res = str.replace("tvnplayer", "player"); xhr.open('GET', res, false); //alert(heyhey9); xhr.send(null); //texxt(o.item.videos.main.video_content[1].url); //document.location.href = o.item.videos.main.video_content[1].url; //texxtIpla(s); } //} }*/ /*var n = document.location.href.split(/[.,]/); var xmlhttp = new XMLHttpRequest(); xmlhttp.open('GET', '/api/?platform=ConnectedTV&terminal=Samsung2&format=json&v=3.6&authKey=453198a80ccc99e8485794789292f061&type=episode&id=' + n[n.length - 2] + '&sort=newest&m=getItem&deviceScreenHeight=1080&deviceScreenWidth=1920', false); xmlhttp.send(); //alert(xmlhttp.responseText); var o = eval('(' + xmlhttp.responseText + ')'); var s = o.item.videos.main.video_content[0].url; //alert(s); if (!s) { if (confirm('DRM :(. Możesz pobrać plik, ale prawdopodobnie go nie otworzysz. \n\nvideo_content_license_data: ' + o.item.videos.main.video_content_license_data)) { var s = o.item.videos.main.video_content[0].src; //document.location.href = s; }; } else { var m = s.match(/:\/\/(?:redir\.)?(.[^/]+)(.*)/); var xmlhttp = new XMLHttpRequest(); xmlhttp.open('GET', m[2], false); xmlhttp.send(); //document.location.href = xmlhttp.responseText; }*/ /*var n = document.location.href.split(/[.,]/); var xmlhttp = new XMLHttpRequest(); //xmlhttp.open('GET', '/api/?platform=ConnectedTV&terminal=Samsung&format=json&v=3.0&authKey=ba786b315508f0920eca1c34d65534cd&type=episode&id=' + n[n.length - 2] + '&sort=newest&m=getItem&deviceScreenHeight=1080&deviceScreenWidth=1920', false); xmlhttp.open('GET', '/api/?platform=ConnectedTV&terminal=Samsung2&format=json&v=3.6&authKey=453198a80ccc99e8485794789292f061&type=episode&id=' + n[n.length - 2] + '&sort=newest&m=getItem&deviceScreenHeight=1080&deviceScreenWidth=1920', false); xmlhttp.send(); //alert(xmlhttp.responseText); var o = eval('(' + xmlhttp.responseText + ')'); var s = o.item.videos.main.video_content[0].url; alert(s); var m = s.match(/:\/\/(?:www\.)?(.[^/]+)(.*)/); var xmlhttp = new XMLHttpRequest(); xmlhttp.open('GET', m[2], false); xmlhttp.send();*/ //document.location.href = xmlhttp.responseText; //var n = document.location.href.split(/[.,]/); //var xmlhttp = new XMLHttpRequest(); //xmlhttp.open('GET','/api/?platform=ConnectedTV&terminal=Samsung&format=json&v=2.0&authKey=ba786b315508f0920eca1c34d65534cd&type=episode&id='+n[n.length-2]+'&sort=newest&m=getItem&deviceScreenHeight=1080&deviceScreenWidth=1920',false); //xmlhttp.send(); //var o = eval('('+xmlhttp.responseText+')'); //alert(s); //texxtIpla(s); /*var heyhey9 = null; var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { if (xhr.readyState == 4) { heyhey9 = xhr.response; //alert(heyhey9); texxtIpla(heyhey9); return heyhey9; } } //alert(xmlhttp.responseText); //texxt(o.item.videos.main.video_content[0].url); // var link = o.item.videos.main.video_content[1].url; var str = link; var res = str.replace("tvnplayer", "player"); xhr.open('GET', res, false); //alert(heyhey9); xhr.send(null); //texxt(o.item.videos.main.video_content[1].url); //document.location.href = o.item.videos.main.video_content[1].url;*/ } function PokazLinkA() { //OBECNIE NIE DZIAŁA var n = document.location.href.split(/[.,]/); var xmlhttp = new XMLHttpRequest(); xmlhttp.open('GET', '/api/?platform=ConnectedTV&terminal=Samsung&format=json&v=3.0&authKey=ba786b315508f0920eca1c34d65534cd&type=episode&id=' + n[n.length - 2] + '&sort=newest&m=getItem&deviceScreenHeight=1080&deviceScreenWidth=1920', false); xmlhttp.send(); var o = eval('(' + xmlhttp.responseText + ')'); var s = o.item.videos.main.video_content[0].url; var m = s.match(/:\/\/(?:www\.)?(.[^/]+)(.*)/); var xmlhttp = new XMLHttpRequest(); xmlhttp.open('GET', m[2], false); xmlhttp.send(); //document.location.href = xmlhttp.responseText; // var n = document.location.href.split(/[.,]/); // var xmlhttp = new XMLHttpRequest(); // xmlhttp.open('GET','/api/?platform=ConnectedTV&terminal=Samsung&format=json&v=2.0&authKey=ba786b315508f0920eca1c34d65534cd&type=episode&id='+n[n.length-2]+'&sort=newest&m=getItem&deviceScreenHeight=1080&deviceScreenWidth=1920',false); // xmlhttp.send(); // var o = eval('('+xmlhttp.responseText+')'); var heyhey9 = null; var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function () { if (xhr.readyState == 4) { heyhey9 = xhr.response; // alert(heyhey9); texxtIpla(heyhey9); return heyhey9; } } var link = o.item.videos.main.video_content[0].url; // texxt(link); var str = link; var res = str.replace('tvnplayer', 'player'); xhr.open('GET', res, false); //alert(heyhey9); xhr.send(null); //texxt(o.item.videos.main.video_content[1].url); //document.location.href = o.item.videos.main.video_content[1].url; } function PokazLinkBOld() { var taktak = true; var linklink = ''; var n = document.location.href.split(/[.,]/); var xmlhttp = new XMLHttpRequest(); xmlhttp.open('GET', '/api/?platform=ConnectedTV&terminal=Samsung2&format=json&v=3.6&authKey=453198a80ccc99e8485794789292f061&type=episode&id=' + n[n.length - 2] + '&sort=newest&m=getItem&deviceScreenHeight=1080&deviceScreenWidth=1920', false); xmlhttp.send(); var o = eval('(' + xmlhttp.responseText + ')'); //alert(xmlhttp.responseText); try { var s = o.item.videos.main.video_content[1].url } catch (e) { } if (!s) { if (confirm('DRM lub brak materiału TV :(\nCzy chcesz pobrać wersję androidową?')) { (function () { console.log('START'); var redirectToBool = true; function run() { //alert('run'); var n = document.location.href.split(/[.,]/); var xmlhttp = new XMLHttpRequest(); var apiUrl = '/api/?platform=Mobile&terminal=Android&format=json&v=3.0&authKey=b4bc971840de63d105b3166403aa1bea&type=episode&id=' + n[n.length - 2] + '&sort=newest&m=getItem&deviceScreenHeight=1080&deviceScreenWidth=1920'; console.log('apiUrl' + apiUrl); xmlhttp.open('GET', apiUrl, false); xmlhttp.send(); console.log(xmlhttp); //alert(xmlhttp.responseText); var o = eval('(' + xmlhttp.responseText + ')'); console.log(o); try { var videoUrl = o.item.videos.main.video_content[3].url; } catch (e) { alert('Brak materiału w wersji na androida'); } console.log(videoUrl); var videoUrlWithSeed = AES_CBC(videoUrl); console.log(videoUrlWithSeed); document.body.innerHTML = ''; videoUrlHtml = document.createTextNode(videoUrlWithSeed); document.body.appendChild(videoUrlHtml); if (redirectToBool) { //alert(videoUrlWithSeed); linklink = videoUrlWithSeed; //alert(linklink); //ShowDirectLink(linklink); texxtIpla(linklink); //alert(linklink); //document.location.href = videoUrlWithSeed; } } function AES_CBC(url_) { console.log(url_); url_ = url_.replace('http://redir.atmcdn.pl/http/', ''); console.log(url_); var salt = CryptoJS.lib.WordArray.random(16).toString(); var decrypted = 'E8E2CE332A8BE7761B5E3397A18563E2'; var d = new Date(); var currentMillis = d.getTime(); var expire = 3600000 + (currentMillis) - 946684800000; console.log('expire: ' + expire); var unencryptedToken = 'name=' + url_ + '&expire=' + expire + '\0'; console.log('unencryptedToken: ' + unencryptedToken); unencryptedToken = pkcs5_pad(unencryptedToken); var encrypted = CryptoJS.AES.encrypt((unencryptedToken), ((CryptoJS.enc.Hex.parse(decrypted))), { iv: ((CryptoJS.enc.Hex.parse(salt))), padding: CryptoJS.pad.NoPadding, mode: CryptoJS.mode.CBC }); console.log('encrypted: ' + encrypted); var encryptedTokenHEX = encrypted.ciphertext.toString(); return 'http://redir.atmcdn.pl/http/' + url_ + '?salt=' + salt + '&token=' + String(encryptedTokenHEX).toUpperCase(); } function padString(source, paddingChar) { var size = 16; var x = source.length % size; var padLength = size - x; for (var i = 0; i < padLength; i++) source += paddingChar; return source; } function pkcs5_pad(s) { console.log('len:' + s.length); return padString(s, String.fromCharCode(16 - (s.length % 16))); } function loadScript(url, callback) { var script = document.createElement('script'); script.type = 'text/javascript'; if (script.readyState) { console.log('IE'); script.onreadystatechange = function () { if (script.readyState == 'loaded' || script.readyState == 'complete') { script.onreadystatechange = null; callback(); } }; } else { console.log('Others'); script.onload = function () { callback(); }; } script.src = url; document.getElementsByTagName('head') [0].appendChild(script); } var loadedJsScripts = 0; loadScript('http://crypto-js.googlecode.com/svn/tags/3.1.2/build/rollups/aes.js', function () { loadedJsScripts += 1; checkAndRun(); }); loadScript('http://crypto-js.googlecode.com/svn/tags/3.1.2/build/components/pad-nopadding-min.js', function () { loadedJsScripts += 1; checkAndRun(); }); function checkAndRun() { if (loadedJsScripts >= 2) { run(); } } console.log('END') }) () } else { taktak = false; } } else { var m = s.match(/:\/\/(?:redir\.)?(.[^/] )(.*)/); var xmlhttp = new XMLHttpRequest(); xmlhttp.open('GET', m[2], false); xmlhttp.send(); //document.location.href = xmlhttp.responseText; linklink = xmlhttp.responseText; //ShowDirectLink(linklink); texxtIpla(linklink); } } var btnTVNNowy = document.createElement('input'); with (btnTVNNowy) { //setAttribute('onclick', 'PokazLink()'); setAttribute('value', 'Pobierz video'); setAttribute('type', 'button'); setAttribute('id', 'btnTVNNowy'); setAttribute('style', 'position:fixed !important; left: 0px; top: 1px; width: 115px; height: 30px; background-color: #00a6ff; color: white; z-index: 1000000000;'); } var btn = document.createElement('input'); with (btn) { //setAttribute('onclick', 'PokazLink()'); setAttribute('value', 'Pobierz w: HD'); setAttribute('type', 'button'); setAttribute('id', 'btn1'); setAttribute('style', 'position:fixed !important; left: 0px; top: 1px; width: 115px; height: 30px; background-color: #00a6ff; color: white; z-index: 1000000000;'); }//Wyłączony po problemach z tvnem: /*var btna = document.createElement( 'input' ); with( btna ) { //setAttribute( 'onclick', 'PokazLink()' ); setAttribute( 'value', 'MQ' ); setAttribute( 'type', 'button' ); setAttribute( 'id', 'btn1a' ); setAttribute("style", "position:fixed !important; left: 0px; top: 1px; left: 117px; width: 45px; height: 30px; background-color: #00a6ff; color: white; z-index: 1000000000;"); }*/ var btnb = document.createElement('input'); with (btnb) { //setAttribute('onclick', 'PokazLink()'); setAttribute('value', 'SD'); //LQ = SD setAttribute('type', 'button'); setAttribute('id', 'btn1b'); setAttribute('style', 'position:fixed !important; left: 0px; top: 1px; left: 117px; width: 45px; height: 30px; background-color: #00a6ff; color: white; z-index: 1000000000;'); //left 164px } var btn2 = document.createElement('input'); with (btn2) { //setAttribute('onclick', 'RozpocznijPobieranie()'); setAttribute('value', 'Pobierz w: HD'); setAttribute('type', 'button'); setAttribute('id', 'btn2'); setAttribute('style', 'position:fixed !important; left: 0px; top: 1px; left: 219px; width: 110px; height: 30px; background-color: #00a6ff; color: white; z-index: 1000000000;'); } var btn2a = document.createElement('input'); with (btn2a) { //setAttribute('onclick', 'RozpocznijPobieranie()'); setAttribute('value', 'MQ'); setAttribute('type', 'button'); setAttribute('id', 'btn2a'); setAttribute('style', 'position:fixed !important; left: 0px; top: 1px; left: 331px; width: 45px; height: 30px; background-color: #00a6ff; color: white; z-index: 1000000000;'); } var btn2b = document.createElement('input'); with (btn2b) { //setAttribute('onclick', 'RozpocznijPobieranie()'); setAttribute('value', 'LQ'); setAttribute('type', 'button'); setAttribute('id', 'btn2a'); setAttribute('style', 'position:fixed !important; left: 0px; top: 1px; left: 378px; width: 45px; height: 30px; background-color: #00a6ff; color: white; z-index: 1000000000;'); } function PokazLinkIpla() { if (location.href.match(/^http[s]?:\/\/www\.ipla\.tv\//)) { mid = document.querySelector('#vod-player').getAttribute('data-vod-json'); idn = JSON.parse(mid).mid; document.location.href = 'http://getmedia.redefine.pl/vods/get_vod/?cpid=1&ua=mipla_ios/122&media_id=' + idn; } /*else if (location.href.match(/^http[s]?:\/\/getmedia\.redefine\.pl\//)) { nn = document.querySelector("pre").textContent; v = JSON.parse(nn); if (v.vod.drm == true) { alert('materia\u0142 z drm'); return; }; vc = v.vod.copies; title = v.vod.title; for (var i = -1, cc = [], dd = [], l = vc.length >>> 0; ++i !== l; null) { dd[i] = cc[i] = vc[i].bitrate; }; dd.sort(function(a, b) { return b - a; }); for (var j = 0, len = dd.length; j < len; j = j + 1) { dlurl = vc[cc.indexOf(dd[j])].url; if (dlurl !== undefined) { break; } }; link = document.createElement("a"); link.href = dlurl.replace(/https:\/\//, "http://"); link.setAttribute('download', title + ".mp4"); link.target = '_blank'; document.body.appendChild(link); link.click(); link.parentNode.removeChild(link); }*/ /*var whatToOpen; if(document.location.href.indexOf('ipla.tv/')>0){ var xmlhttp = new XMLHttpRequest(); xmlhttp.open('GET','/VOD/play-in-ipla/'+document.location.href.substr(document.location.href.indexOf('/vod-')+5),false); xmlhttp.send(); var idn=xmlhttp.responseText.substr(xmlhttp.responseText.indexOf('ipla://playvod-1|')+17); idn=idn.substr(0,idn.indexOf(' ')-1); document.location.href='http://getmedia.redefine.pl/vods/get_vod/?cpid=1&ua=mipla/23&media_id='+idn; whatToOpen = 'http://getmedia.redefine.pl/vods/get_vod/?cpid=1&ua=mipla/23&media_id='+idn; } else if(document.location.href.indexOf('getmedia.redefine.pl/')>0){ s=JSON.parse(document.body.textContent); if(s.vod.video_hd)a=s.vod.video_hd; else if(s.vod.video){ a=s.vod.video; }else{a=s.vod.copies[0].url} document.location.href=a; whatToOpen = a; }*/ } function makeid() { var text = ''; var possible = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; for (var i = 0; i < 5; i++) text += possible.charAt(Math.floor(Math.random() * possible.length)); return text; } function PokazLinkOnet() { //NEW 26.03.2017: m = dataLayer[0].mvpID; url = 'aHR0cHM6Ly9wbGF5ZXItYXBpLmRyZWFtbGFiLnBsLz9ib2R5W2lkXT0rbSsmYm9keVtqc29ucnBjXT0yLjAmYm9keVttZXRob2RdPWdldF9hc3NldF9kZXRhaWwmYm9keVtwYXJhbXNdW0lEX1B1Ymxpa2FjamldPSttKyZib2R5W3BhcmFtc11bU2VydmljZV09dm9kLm9uZXQucGwmY29udGVudC10eXBlPWFwcGxpY2F0aW9uL2pzb25wJngtb25ldC1hcHA9cGxheWVyLmZyb250Lm9uZXRhcGkucGwmY2FsbGJhY2s9'; url = (atob(url)).replace(/\+m\+/g, m); xhr = new XMLHttpRequest(); xhr.open('GET', url, false); xhr.send(null); v = JSON.parse(xhr.responseText); vc = v.result[0].formats.wideo.mp4; title = v.result[0].meta.title; if (!vc) { alert('materiał z drm :('); return; }; for (var i = - 1, cc = [ ], dd = [ ], l = vc.length >>> 0; ++i !== l; null) { dd[i] = cc[i] = vc[i].video_bitrate; }; dd.sort(function (a, b) { return b - a; }); DocumentWriteFirefoxFix = ""; var randomText = makeid(); //myWindow = window.open('', 'MsgWindow-' + randomText); //myWindow.document.write('<p>Tytuł: ' + title + '</p>'); DocumentWriteFirefoxFix = DocumentWriteFirefoxFix + '<p>Tytuł: ' + title + '</p>'; var HighestResolution = 0; var HighestResolutionLink = ''; for (var j = 0, len = dd.length; j < len; j = j + 1) { dlurl = vc[cc.indexOf(dd[j])].url; bitrate = vc[cc.indexOf(dd[j])].video_bitrate; vertical_resolution = vc[cc.indexOf(dd[j])].vertical_resolution; if (vertical_resolution > HighestResolution) { HighestResolution = vertical_resolution; HighestResolutionLink = dlurl; } //myWindow.document.write('<p>Bitrate: ' + bitrate + ' - Rozdzielczość pionowa: ' + vertical_resolution + '</p>'); DocumentWriteFirefoxFix = DocumentWriteFirefoxFix + '<p>Bitrate: ' + bitrate + ' - Rozdzielczość pionowa: ' + vertical_resolution + '<br>'; DocumentWriteFirefoxFix = DocumentWriteFirefoxFix + "Link do materiału: <button id=\"button-" + j + "\" type=\"button\">Kopiuj</button><br><a target=\"_blank\" href=\"" + dlurl + "\">" + dlurl + "</a></p>"; DocumentWriteFirefoxFix = DocumentWriteFirefoxFix + "<script>var but = document.getElementById('button-"+j+"');but.addEventListener('click', function(){copyText(\""+ dlurl +"\");document.getElementById('button-"+j+"').setAttribute(\"class\", \"clicked\");})</script>"; }; if (HighestResolution > 0) { //texxtIpla(HighestResolutionLink); // myWindow.document.write('<script type="application/javascript">function texxtIpla(lol){if (window.prompt("Aby skopiować link, wciśnij: CTRL+C, potem: ENTER aby rozpocząć pobieranie, lub ESC aby zakończyć działanie skryptu", lol)){document.location.href=lol;}}setTimeout(function () {texxtIpla("' + HighestResolutionLink + '");}, 1000);</script>'); DocumentWriteFirefoxFix = DocumentWriteFirefoxFix + StyleText + '<script type="application/javascript">function texxtIpla(lol){if (window.prompt("Aby skopiować link, wciśnij: CTRL+C, potem: ENTER aby rozpocząć pobieranie, lub ESC aby zakończyć działanie skryptu", lol)){document.location.href=lol;}}setTimeout(function () {texxtIpla("' + HighestResolutionLink + '");}, 1000);' + SkryptKopiujText + '</script>'; //DocumentWriteFirefoxFix = DocumentWriteFirefoxFix + '<script type="application/javascript">function texxtIpla(lol){if (window.prompt("Aby skopiować link, wciśnij: CTRL+C, potem: ENTER aby rozpocząć pobieranie, lub ESC aby zakończyć działanie skryptu", lol)){document.location.href=lol;}}setTimeout(function () {texxtIpla("' + HighestResolutionLink + '");}, 1000);</script>'; addJS_Node(null, null, fireNewTab); //texxtIpla(dlurlbest.replace(/http[s]?:\/\//, "http://")); } //OLD: //alert('lol'); /*var i = document.body.innerHTML.substr(document.body.innerHTML.indexOf('id=' + atob('Ig==') + 'mvp:') + 8, 100); i = i.substr(0, i.indexOf(atob('Ig=='))); s = atob('PGh0bWw+PGhlYWQ+PHNjcmlwdD4KZnVuY3Rpb24gbShlKXsKdj1ldmFsKGUpOwpmb3IgKGkgPSAwOyB2LnJlc3VsdFswXS5mb3JtYXRzLndpZGVvLm1wNC5sZW5ndGggPiBpO2k9aSsxKQogIGRvY3VtZW50LndyaXRlKHYucmVzdWx0WzBdLmZvcm1hdHMud2lkZW8ubXA0W2ldWyJ1cmwiXSsiICIrdi5yZXN1bHRbMF0uZm9ybWF0cy53aWRlby5tcDRbaV1bInZlcnRpY2FsX3Jlc29sdXRpb24iXSsicDxicj4iKTsKfQo8L3NjcmlwdD4KPHNjcmlwdCBzcmM9Imh0dHA6Ly9xaS5ja20ub25ldGFwaS5wbC8/Y2FsbGJhY2s9bSZib2R5W2lkXT1FQkJBRTFFNDMyNkU0Q0U5MzQzRkZFRUY1NkE5MTk4RCZib2R5W2pzb25ycGNdPTIuMCZib2R5W21ldGhvZF09Z2V0X2Fzc2V0X2RldGFpbCZib2R5W3BhcmFtc11bSURfUHVibGlrYWNqaV09UVFRUSZib2R5W3BhcmFtc11bU2VydmljZV09dm9kLm9uZXQucGwmY29udGVudC10eXBlPWFwcGxpY2F0aW9uJTJGanNvbnAmeC1vbmV0LWFwcD1wbGF5ZXIuZnJvbnQub25ldGFwaS5wbCZfPTEzNjIxNjQ5MTMxNDUiPjwvc2NyaXB0Pgo8L2hlYWQ+PGJvZHk+PC9ib2R5PjwvaHRtbD4K'); s = s.replace('QQQQ', i); var win = open(); with(win.document) { open(); write(s); write("\x3Cscript type=\"text/javascript\"> var s=document.body.textContent; var searchonet0 = s.lastIndexOf('.mp4'); s = s.substr(0,searchonet0+10); var searchonet1 = s.indexOf(' 1080p'); if (searchonet1 == -1){searchonet1 = s.indexOf(' 720p');} if (searchonet1 == -1){searchonet1 = s.indexOf(' 576p');} if (searchonet1 == -1){searchonet1 = s.indexOf(' 480p');} if (searchonet1 == -1){searchonet1 = s.indexOf(' 360p');} if (searchonet1 == -1){searchonet1 = s.indexOf(' 240p');} var searchonet2 = s.substr(0,searchonet1); var searchonet3 = searchonet2.lastIndexOf('http://'); var searchonet4 = searchonet2.substr(searchonet3); if (window.prompt(\"Aby skopiować link, wciśnij: CTRL+C, potem: ENTER aby rozpocząć pobieranie, lub ESC aby zakończyć działanie skryptu\", searchonet4)){ document.location.href=searchonet4; } \x3C/script>"); close();*/ //var i=document.body.innerHTML.substr(document.body.innerHTML.indexOf('id='+atob('Ig==')+'mvp:')+8,100); //i=i.substr(0,i.indexOf(atob('Ig=='))); //s=atob('PGh0bWw+PGhlYWQ+PHNjcmlwdD4KZnVuY3Rpb24gbShlKXsKdj1ldmFsKGUpOwpkb2N1bWVudC5sb2NhdGlvbi5ocmVmPXYucmVzdWx0WzBdLmZvcm1hdHMud2lkZW8ubXA0W3YucmVzdWx0WzBdLmZvcm1hdHMud2lkZW8ubXA0Lmxlbmd0aC0xXVsidXJsIl07Cn0KPC9zY3JpcHQ+CjxzY3JpcHQgc3JjPSJodHRwOi8vcWkuY2ttLm9uZXRhcGkucGwvP2NhbGxiYWNrPW0mYm9keVtpZF09RUJCQUUxRTQzMjZFNENFOTM0M0ZGRUVGNTZBOTE5OEQmYm9keVtqc29ucnBjXT0yLjAmYm9keVttZXRob2RdPWdldF9hc3NldF9kZXRhaWwmYm9keVtwYXJhbXNdW0lEX1B1Ymxpa2FjamldPVFRUVEmYm9keVtwYXJhbXNdW1NlcnZpY2VdPXZvZC5vbmV0LnBsJmNvbnRlbnQtdHlwZT1hcHBsaWNhdGlvbiUyRmpzb25wJngtb25ldC1hcHA9cGxheWVyLmZyb250Lm9uZXRhcGkucGwmXz0xMzYyMTY0OTEzMTQ1Ij48L3NjcmlwdD4gCjwvaGVhZD48Ym9keT48L2JvZHk+PC9odG1sPg=='); //s=s.replace('QQQQ',i); //var win=open(); //with(win.document){open(); //write(s); //close(); } var DocumentWriteFirefoxFix = ''; function fireNewTab() { //alert('hi'); function makeid2() { var text = ''; var possible = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; for (var i = 0; i < 5; i++) text += possible.charAt(Math.floor(Math.random() * possible.length)); return text; } var randomText = makeid2(); var newTab = window.open('about:blank', 'MsgWindow-' + randomText); newTab.document.write("DocumentWriteFirefoxFix"); // var newTab = window.open ('about:blank', '_blank'); newTab.addEventListener('load', function () { alert('hi2'); var destDoc = newTab.document; destDoc.open(); destDoc.write("DocumentWriteFirefoxFix"); destDoc.close(); }, false ); } function addslashes( str ) { return (str + '').replace(/[\\"']/g, '\\$&').replace(/\u0000/g, '\\0'); } function addJS_Node(text, s_URL, funcToRun, runOnLoad) { var D = document; var scriptNode = D.createElement('script'); if (runOnLoad) { scriptNode.addEventListener('load', runOnLoad, false); } scriptNode.type = 'text/javascript'; if (text) scriptNode.textContent = text; if (s_URL) scriptNode.src = s_URL; //alert(funcToRun.toString()); var str = funcToRun.toString(); var tes = addslashes(DocumentWriteFirefoxFix); var res = str.replace("DocumentWriteFirefoxFix", tes); var res = res.replace("DocumentWriteFirefoxFix", tes); // alert(res); //if (funcToRun) scriptNode.textContent = '(' + funcToRun.toString() + ')()'; if (funcToRun) scriptNode.textContent = '(' + res + ')()'; var targ = D.getElementsByTagName('head') [0] || D.body || D.documentElement; targ.appendChild(scriptNode); } function PokazLinkTvp() { if (location.href.match(/^http[s]?:\/\/vod\.tvp\.pl\/[\d]{0,8}/)) { i = document.body.innerHTML; m = i.match(/object_id=([\d]{0,8})/); var znalezionotytul = false; st = 'Nieznane'; tt = 'Nieznane'; i = document.querySelector('.movieWrapper'); if (i != null) { i = i.querySelector('iframe').contentWindow.document.head.innerHTML; if (i != null) { st = i.match(/\{name: \x22SeriesTitle\x22\, value: \x22(.*)\x22\},/) [1]; tt = i.match(/\{name: \x22Title\x22\, value: \x22(.*)\x22\},/) [1]; znalezionotytul = true; } } title = st + ' - ' + tt; xmlhttp = new XMLHttpRequest(); xmlhttp.open('GET', 'https://www.tvp.pl/shared/cdn/tokenizer_v2.php?object_id=' + m[1], false); xmlhttp.send(); o = JSON.parse(xmlhttp.responseText); v = o.formats; vc = []; if(v != null){ for (var i = - 1, vc = [ ], l = v.length >>> 0; ++i !== l; null) { if (v[i].adaptive == false) { vc.push(v[i]); }; }; } if (vc.length == 0) { alert('Niestety, ale materiał jest zabezpieczony DRM i nie będzie można go pobrać :('); return; }; for (var i = - 1, cc = [ ], dd = [ ], l = vc.length >>> 0; ++i !== l; null) { dd[i] = cc[i] = vc[i].totalBitrate; }; dd.sort(function (a, b) { return b - a; }); DocumentWriteFirefoxFix = ''; //var randomText = makeid(); //myWindow = window.open("", "MsgWindow-" + randomText); if (znalezionotytul) { //myWindow.document.write("<p>Tytuł: " + title + "</p>"); DocumentWriteFirefoxFix = DocumentWriteFirefoxFix + '<p>Tytuł: ' + title + '</p>'; } for (var j = 0, len = dd.length; j < len; j = j + 1) { dlurl = vc[cc.indexOf(dd[j])].url; bitrate = vc[cc.indexOf(dd[j])].totalBitrate; //myWindow.document.write("<p>Bitrate: " + bitrate + "</p>"); DocumentWriteFirefoxFix = DocumentWriteFirefoxFix + '<p>Bitrate: ' + bitrate + '<br>'; DocumentWriteFirefoxFix = DocumentWriteFirefoxFix + "Link do materiału: <button id=\"button-" + j + "\" type=\"button\">Kopiuj</button><br><a target=\"_blank\" href=\"" + dlurl + "\">" + dlurl + "</a></p>"; DocumentWriteFirefoxFix = DocumentWriteFirefoxFix + "<script>var but = document.getElementById('button-"+j+"');but.addEventListener('click', function(){copyText(\""+ dlurl +"\");document.getElementById('button-"+j+"').setAttribute(\"class\", \"clicked\");})</script>"; }; for (var j = 0, len = dd.length; j < len; j = j + 1) { dlurlbest = vc[cc.indexOf(dd[j])].url; if (dlurlbest !== undefined) { break; } }; //myWindow.document.write("<script type=\"application/javascript\">function texxtIpla(lol){if (window.prompt(\"Aby skopiować link, wciśnij: CTRL+C, potem: ENTER aby rozpocząć pobieranie, lub ESC aby zakończyć działanie skryptu\", lol)){document.location.href=lol;}}setTimeout(function () {texxtIpla(\"" + dlurlbest + "\");}, 1000);</script>"); DocumentWriteFirefoxFix = DocumentWriteFirefoxFix + StyleText + '<script type="application/javascript">function texxtIpla(lol){if (window.prompt("Aby skopiować link, wciśnij: CTRL+C, potem: ENTER aby rozpocząć pobieranie, lub ESC aby zakończyć działanie skryptu", lol)){document.location.href=lol;}}setTimeout(function () {texxtIpla("' + dlurlbest + '");}, 1000);' + SkryptKopiujText + '</script>'; //DocumentWriteFirefoxFix = DocumentWriteFirefoxFix + '<script type="application/javascript">function texxtIpla(lol){if (window.prompt("Aby skopiować link, wciśnij: CTRL+C, potem: ENTER aby rozpocząć pobieranie, lub ESC aby zakończyć działanie skryptu", lol)){document.location.href=lol;}}setTimeout(function () {texxtIpla("' + dlurlbest + '");}, 1000);</script>'; addJS_Node(null, null, fireNewTab); //texxtIpla(dlurlbest.replace(/http[s]?:\/\//, "http://")); //texxtIpla(dlurl.replace(/http[s]?:\/\//, "http://")); } //Stare: /*var xmlhttp = new XMLHttpRequest(); m = document.body.innerHTML.substr(document.body.innerHTML.indexOf('data-video-id=') + 15, 8).replace(/\D/g, ''); if (!/^\d+$/.test(m)) m = document.body.innerHTML.substr(document.body.innerHTML.indexOf('data-videoid=') + 14, 8).replace(/\D/g, ''); if (!/^\d+$/.test(m)) m = document.body.innerHTML.substr(document.body.innerHTML.indexOf('/player/video?id=') + 17, 8); if (!/^\d+$/.test(m)) m = document.body.innerHTML.substr(document.body.innerHTML.indexOf('/player/') + 8, 8); if (!/^\d+$/.test(m)) m = document.body.innerHTML.substr(document.body.innerHTML.indexOf('video_id=') + 9, 8).replace(/\D/g, ''); if (!/^\d+$/.test(m)) m = document.body.innerHTML.substr(document.body.innerHTML.indexOf('object_id:') + 10, 9).replace(/\D/g, ''); if (!/^\d+$/.test(m)) m = document.body.innerHTML.substr(document.body.innerHTML.indexOf('amp;object_id=') + 14, 8).replace(/\D/g, ''); if (!/^\d+$/.test(m)) m = document.body.innerHTML.substr(document.body.innerHTML.indexOf('object_id=') + 10, 8).replace(/\D/g, ''); if (!/^\d+$/.test(m)) { n = document.location.href.split(/[?/=-]/); m = n[n.length - 2]; } if (!/^\d+$/.test(m)) m = n[n.length - 1]; xmlhttp.open('GET', 'http://www.tvp.pl/shared/cdn/tokenizer_v2.php?object_id=' + m, false); xmlhttp.send(); var o = eval('(' + xmlhttp.responseText + ')'); maxbitrate = 0; maxurl = ''; for (i = 0; o.formats.length > i; i = i + 1) { if ((o.formats[i].totalBitrate > maxbitrate) && (o.formats[i].adaptive == false)) { maxbitrate = o.formats[i].totalBitrate; maxurl = o.formats[i].url; } } //document.location.href=maxurl; texxtIpla(maxurl);*/ }/*function PokazLinkTvpA(){ var xmlhttp = new XMLHttpRequest(); m = document.body.innerHTML.substr(document.body.innerHTML.indexOf('data-video-id=') + 15, 8).replace(/\D/g, ''); if (!/^\d+$/.test(m)) m = document.body.innerHTML.substr(document.body.innerHTML.indexOf('data-videoid=') + 14, 8).replace(/\D/g, ''); if (!/^\d+$/.test(m)) m = document.body.innerHTML.substr(document.body.innerHTML.indexOf('/player/video?id=') + 17, 8); if (!/^\d+$/.test(m)) m = document.body.innerHTML.substr(document.body.innerHTML.indexOf('/player/') + 8, 8); if (!/^\d+$/.test(m)) m = document.body.innerHTML.substr(document.body.innerHTML.indexOf('video_id=') + 9, 8).replace(/\D/g, ''); if (!/^\d+$/.test(m)) m = document.body.innerHTML.substr(document.body.innerHTML.indexOf('object_id:') + 10, 9).replace(/\D/g, ''); if (!/^\d+$/.test(m)) m = document.body.innerHTML.substr(document.body.innerHTML.indexOf('amp;object_id=') + 14, 8).replace(/\D/g, ''); if (!/^\d+$/.test(m)) m = document.body.innerHTML.substr(document.body.innerHTML.indexOf('object_id=') + 10, 8).replace(/\D/g, ''); if (!/^\d+$/.test(m)) { n = document.location.href.split(/[?/=-]/); m = n[n.length - 2]; } if (!/^\d+$/.test(m)) m = n[n.length - 1]; xmlhttp.open('GET', 'http://www.tvp.pl/shared/cdn/tokenizer_v2.php?object_id=' + m, false); xmlhttp.send(); var o = eval('(' + xmlhttp.responseText + ')'); maxbitrate = 0; maxurl = ''; for (i = 0; o.formats.length > i; i = i + 1) { if ((o.formats[i].totalBitrate > maxbitrate && o.formats[i].totalBitrate < 2000000) && (o.formats[i].adaptive == false)) { maxbitrate = o.formats[i].totalBitrate; maxurl = o.formats[i].url; } } //document.location.href=maxurl; texxtIpla(maxurl); } function PokazLinkTvpB(){ var xmlhttp = new XMLHttpRequest(); m = document.body.innerHTML.substr(document.body.innerHTML.indexOf('data-video-id=') + 15, 8).replace(/\D/g, ''); if (!/^\d+$/.test(m)) m = document.body.innerHTML.substr(document.body.innerHTML.indexOf('data-videoid=') + 14, 8).replace(/\D/g, ''); if (!/^\d+$/.test(m)) m = document.body.innerHTML.substr(document.body.innerHTML.indexOf('/player/video?id=') + 17, 8); if (!/^\d+$/.test(m)) m = document.body.innerHTML.substr(document.body.innerHTML.indexOf('/player/') + 8, 8); if (!/^\d+$/.test(m)) m = document.body.innerHTML.substr(document.body.innerHTML.indexOf('video_id=') + 9, 8).replace(/\D/g, ''); if (!/^\d+$/.test(m)) m = document.body.innerHTML.substr(document.body.innerHTML.indexOf('object_id:') + 10, 9).replace(/\D/g, ''); if (!/^\d+$/.test(m)) m = document.body.innerHTML.substr(document.body.innerHTML.indexOf('amp;object_id=') + 14, 8).replace(/\D/g, ''); if (!/^\d+$/.test(m)) m = document.body.innerHTML.substr(document.body.innerHTML.indexOf('object_id=') + 10, 8).replace(/\D/g, ''); if (!/^\d+$/.test(m)) { n = document.location.href.split(/[?/=-]/); m = n[n.length - 2]; } if (!/^\d+$/.test(m)) m = n[n.length - 1]; xmlhttp.open('GET', 'http://www.tvp.pl/shared/cdn/tokenizer_v2.php?object_id=' + m, false); xmlhttp.send(); var o = eval('(' + xmlhttp.responseText + ')'); maxbitrate = 5000000; maxurl = ''; for (i = 0; o.formats.length > i; i = i + 1) { if ((o.formats[i].totalBitrate < maxbitrate) && (o.formats[i].adaptive == false)) { maxbitrate = o.formats[i].totalBitrate; maxurl = o.formats[i].url; } } //document.location.href=maxurl; texxtIpla(maxurl); }*/ function PokazLinkPobieranieIpla() { nn = document.querySelector('pre').textContent; v = JSON.parse(nn); if (v.vod.drm == true) { alert('Niestety, ale materiał jest zabezpieczony DRM i prawdopodobnie nie będzie można go pobrać :('); //return; }; //Nowy array z jakościami (14.06.2017): var QualityArray = []; var copies = v.vod.copies; if(copies != null){ if(copies.length > 0){ for (var prop in copies) { var copy = copies[prop]; var newArray = [copy.quality_p, copy.url]; QualityArray.push(newArray); //alert(copy.quality_p); //alert("Key:" + prop); //alert("Value:" + jsonObject[prop]); } if(QualityArray != null){ var countArray = QualityArray.length; if(countArray > 0){ var countArrayElement = countArray - 1; var bestQuality = QualityArray[countArrayElement][0]; var bestQualityLink = QualityArray[countArrayElement][1]; texxtIpla(bestQualityLink,"\nWybrana jakość materiału to: " + bestQuality + "."); //alert(bestQuality); } } } } /*vc = v.vod.copies; title = v.vod.title; for (var i = -1, cc = [], dd = [], l = vc.length >>> 0; ++i !== l; null) { dd[i] = cc[i] = vc[i].bitrate; }; dd.sort(function(a, b) { return b - a; }); for (var j = 0, len = dd.length; j < len; j = j + 1) { dlurl = vc[cc.indexOf(dd[j])].url; if (dlurl !== undefined) { break; } }; link = document.createElement("a"); link.href = dlurl.replace(/https:\/\//, "http://"); link.setAttribute('download', title + ".mp4"); link.target = '_blank'; document.body.appendChild(link); link.click(); link.parentNode.removeChild(link);*/ /*var strona = document.body.innerText; //alert(strona); var search1newnew = strona.indexOf('"quality_p":"1080p"'); if (search1newnew > - 1) { var strona0newnew = strona.substr(0, search1newnew); var search2newnew = strona0newnew.lastIndexOf('"url":'); if (search2newnew > - 1) { strona0newnew = strona0newnew.substr(search2newnew + 7); var search3newnew = strona0newnew.indexOf('",'); if (search3newnew > - 1) { strona0newnew = strona0newnew.substr(0, search3newnew); texxtIpla(strona0newnew); } } } else { var search1new = strona.indexOf('"quality_p":"720p"'); if (search1new > - 1) { var strona0new = strona.substr(0, search1new); var search2new = strona0new.lastIndexOf('"url":'); if (search2new > - 1) { strona0new = strona0new.substr(search2new + 7); var search3new = strona0new.indexOf('",'); if (search3new > - 1) { strona0new = strona0new.substr(0, search3new); texxtIpla(strona0new); } } } else { var search1 = strona.indexOf('"video":"'); var search2 = strona.substr(search1 + 9); var search3 = search2.indexOf('",'); var search4 = search2.substr(0, search3); var link = search4 texxtIpla(link); } }*/ } function PokazLinkCda() { if (typeof l === 'undefined') { var kolumny_list2 = 'pb-video-player'; var list_czat = document.getElementsByClassName(kolumny_list2); if (list_czat.length > 0) { for (i = 0; i < list_czat.length; i++) { var vviideoo = list_czat[i].src; //alert(list_czat[i].src); texxtIpla(vviideoo); break; } } // variable is undefined } else { texxtIpla(l); } } var btnIpla = document.createElement('input'); with (btnIpla) { //setAttribute('onclick', 'PokazLink()'); setAttribute('value', 'Pobierz video'); setAttribute('type', 'button'); setAttribute('id', 'btnIpla'); setAttribute('style', 'position:fixed !important; left: 0px; top: 4px; width: 140px; height: 35px; background-color: #00a6ff; color: white; z-index: 1000000000;'); } var btnOnet = document.createElement('input'); with (btnOnet) { //setAttribute('onclick', 'PokazLink()'); setAttribute('value', 'Pobierz video'); setAttribute('type', 'button'); setAttribute('id', 'btnOnet'); setAttribute('style', 'position:fixed !important; left: 0px; top: 2px; width: 110px; height: 25px; background-color: #2fd6ff; z-index: 1000000000;'); } var btnTvp = document.createElement('input'); with (btnTvp) { //setAttribute('onclick', 'PokazLink()'); setAttribute('value', 'Pobierz video'); setAttribute('type', 'button'); setAttribute('id', 'btnTvp'); setAttribute('style', 'position:fixed !important; left: 0px; top: 10px; width: 100px; height: 35px; z-index: 1000000000;'); }//stare: /*var btnTvp = document.createElement( 'input' ); with( btnTvp ) { setAttribute( 'onclick', 'PokazLink()' ); setAttribute( 'value', 'Pobierz w: HD' ); setAttribute( 'type', 'button' ); setAttribute( 'id', 'btnTvp' ); setAttribute("style", "position:fixed !important; left: 0px; top: 10px; width: 100px; height: 35px; z-index: 1000000000;"); } var btnTvpa = document.createElement( 'input' ); with( btnTvpa ) { //setAttribute( 'onclick', 'PokazLink()' ); setAttribute( 'value', 'MQ' ); setAttribute( 'type', 'button' ); setAttribute( 'id', 'btnTvpa' ); setAttribute("style", "position:fixed !important; left: 102px; top: 10px; width: 40px; height: 35px; z-index: 1000000000;"); } var btnTvpb = document.createElement( 'input' ); with( btnTvpb ) { //setAttribute( 'onclick', 'PokazLink()' ); setAttribute( 'value', 'LQ' ); setAttribute( 'type', 'button' ); setAttribute( 'id', 'btnTvpb' ); setAttribute("style", "position:fixed !important; left: 144px; top: 10px; width: 40px; height: 35px; z-index: 1000000000;"); }*/ var btnCda = document.createElement('input'); with (btnCda) { //setAttribute('onclick', 'PokazLink()'); setAttribute('value', 'Pobierz video'); setAttribute('type', 'button'); setAttribute('id', 'btnCda'); setAttribute('style', 'position:fixed !important; left: 0px; top: 2px; width: 95px; height: 30px; z-index: 1000000000;'); }/*var btn2 = document.createElement( 'input' ); with( btn2 ) { //setAttribute( 'onclick', 'RozpocznijPobieranie()' ); setAttribute( 'value', 'Pobierz' ); setAttribute( 'type', 'button' ); setAttribute( 'id', 'btn2' ); setAttribute("style", "position:fixed !important; left: 0px; top: 75px; left: 117px; width: px; height: 35px; background-color: #00a6ff; color: white"); }*/ function start() { if (Wlacz_skrypt) { var url = window.location.href; //alert(url); //if (url.indexOf("www.ipla.tv") > -1) { if (location.href.match(/^http[s]?:\/\/www\.ipla\.tv\//)) { document.getElementsByTagName('body') [0].appendChild(btnIpla); // document.getElementsByTagName( 'body' )[ 0 ].appendChild( btn2 ); addEvent(document.getElementById('btnIpla'), 'click', function () { PokazLinkIpla(); }); /*addEvent(document.getElementById('btn2'), 'click', function() { RozpocznijPobieranie(); });*/ } else if (url.indexOf('getmedia.redefine.pl') > - 1) { // alert('getmedia'); PokazLinkPobieranieIpla(); } //else if (url.indexOf("player.pl") > -1) { else if (location.href.match(/^http[s]?:\/\/(?:w{3}\.)?(?:tvn)?player\.pl\//)) { document.getElementsByTagName('body') [0].appendChild(btnTVNNowy); addEvent(document.getElementById('btnTVNNowy'), 'click', function () { PokazLinkTVNNowy(); }); //document.getElementsByTagName('body') [0].appendChild(btn); // document.getElementsByTagName( 'body' )[ 0 ].appendChild( btna ); //document.getElementsByTagName('body') [0].appendChild(btnb); /* document.getElementsByTagName( 'body' )[ 0 ].appendChild( btn2 ); document.getElementsByTagName( 'body' )[ 0 ].appendChild( btn2a ); document.getElementsByTagName( 'body' )[ 0 ].appendChild( btn2b );*/ /* addEvent(document.getElementById('btn1'), 'click', function () { PokazLink(); });*/ /*addEvent(document.getElementById('btn1a'), 'click', function() { PokazLinkA(); });*/ /* addEvent(document.getElementById('btn1b'), 'click', function () { PokazLinkB(); });*/ /*addEvent(document.getElementById('btn2'), 'click', function() { RozpocznijPobieranie(); }); addEvent(document.getElementById('btn2a'), 'click', function() { RozpocznijPobieranieA(); }); addEvent(document.getElementById('btn2b'), 'click', function() { RozpocznijPobieranieB(); });*/ } else if (location.href.match(/^http[s]?:\/\/vod\.pl\//)) { document.getElementsByTagName('body') [0].appendChild(btnOnet); addEvent(document.getElementById('btnOnet'), 'click', function () { PokazLinkOnet(); }); } //else if (url.indexOf("tvp.pl") > -1) { else if (location.href.match(/^http[s]?:\/\/vod\.tvp\.pl\/[\d]{0,8}/)) { i = document.body.innerHTML; m = i.match(/object_id=([\d]{0,8})/); if (m != null) { if (url.indexOf('vod.tvp.pl/vod/slider') == - 1) { if (url.indexOf('tvp.pl/sess/tvplayer.php?') == - 1) { document.getElementsByTagName('body') [0].appendChild(btnTvp); addEvent(document.getElementById('btnTvp'), 'click', function () { PokazLinkTvp(); }); /*document.getElementsByTagName( 'body' )[ 0 ].appendChild( btnTvpa ); addEvent(document.getElementById('btnTvpa'), 'click', function() { PokazLinkTvpA(); }); document.getElementsByTagName( 'body' )[ 0 ].appendChild( btnTvpb ); addEvent(document.getElementById('btnTvpb'), 'click', function() { PokazLinkTvpB(); });*/ } } } } else if (url.indexOf('www.cda.pl') > - 1) { document.getElementsByTagName('body') [0].appendChild(btnCda); addEvent(document.getElementById('btnCda'), 'click', function () { PokazLinkCda(); }); } } } window.onload = start();