MrPiracy Player

Necessário para a reprodução de alguns servidores

このスクリプトの質問や評価の投稿はこちら通報はこちらへお寄せください
// ==UserScript==
// @name         MrPiracy Player
// @author       MrPiracy
// @namespace    http://mrpiracy.club/
// @homepage     https://mrpiracy.site/
// @description  Necessário para a reprodução de alguns servidores
// @icon         https://mrpiracy.site/images/apple-touch-icon-120x120.png
// @icon64       https://mrpiracy.site/images/apple-touch-icon-57x57.png
// @version      15
// @match        https://*.mrpiracy.xyz/*
// @match        http://*.mrpiracy.xyz/*
// @match        https://*.mrpiracy.top/*
// @match        http://*.mrpiracy.top/*
// @grant        GM_xmlhttpRequest
// @connect      drive.google.com
// @connect      vd5.mycdn.me
// @connect      www.ok.ru
// @connect      cloud.mail.ru
// @connect      uptostream.com
// @connect      userscloud.com
// @connect      uptobox.com
// @connect      mrpiracy.win
// @connect      *
// @run-at       document-body
// ==/UserScript==

function exec(fn) {
    var script = document.createElement('script');
    script.setAttribute("type", "application/javascript");
    script.textContent = '(' + fn + ')();';
    document.body.appendChild(script);
    document.body.removeChild(script);
}

function getVideo() {

    var dados = document.getElementById("videoValues15");
    if(dados === null) {
        return;
    }

    var dadosConteudo = JSON.parse(dados.innerHTML);

    var headers = '';
    if(dadosConteudo.headers !== '') {
        headers = JSON.parse(decodeURIComponent(atob(decodeURIComponent(dadosConteudo.headers))));
    }

    var data = '';
    if(dadosConteudo.data !== '') {
        data = dadosConteudo.data;
    }


    if(dadosConteudo.provider == 1){
      GM_xmlhttpRequest({
          method: dadosConteudo.metodo,
          url: dadosConteudo.link,
          headers: headers,
          data: data,
          onload: function(response) {
              var tag = document.createElement('div');
              tag.setAttribute('id', 'forceScript1');
              tag.setAttribute('hidden', 'true');
              tag.innerHTML = response.responseText;
              document.body.appendChild(tag);
              var enviar = $('#vid').html();

              document.body.removeChild(tag);
              postApi(dadosConteudo.provider, dadosConteudo.acesso, dadosConteudo.legenda, dadosConteudo.imdb, dadosConteudo.v1, dadosConteudo.v2, dadosConteudo.v3, enviar, "nada");

          }
      });
    }else if (dadosConteudo.provider == 2) {

        postApi(dadosConteudo.provider, dadosConteudo.acesso, dadosConteudo.legenda, dadosConteudo.imdb, dadosConteudo.v1, dadosConteudo.v2, dadosConteudo.v3, dadosConteudo.link, "nada");
    }else if(dadosConteudo.provider == 3){
      GM_xmlhttpRequest({
        method: dadosConteudo.metodo,
        url: 'http://ok.ru/dk?cmd=videoPlayerMetadata&mid='+dadosConteudo.link,
        headers: headers,
        data: data,
        onload: function(response){
          postApi(dadosConteudo.provider, dadosConteudo.acesso, dadosConteudo.legenda, dadosConteudo.imdb, dadosConteudo.v1, dadosConteudo.v2, dadosConteudo.v3, response.responseText, "nada");
        }
      });
    }else if(dadosConteudo.provider == 4){
      GM_xmlhttpRequest({
        method: dadosConteudo.metodo,
        url: dadosConteudo.link,
        headers: headers,
        data: data,
        onload: function(response){
          postApi(dadosConteudo.provider, dadosConteudo.acesso, dadosConteudo.legenda, dadosConteudo.imdb, dadosConteudo.v1, dadosConteudo.v2, dadosConteudo.v3, response.responseText, "nada");
        }
      });
    }else if(dadosConteudo.provider == 6){
      GM_xmlhttpRequest({
        method: dadosConteudo.metodo,
        url: dadosConteudo.link,
        headers: headers,
        data: data,
        onload: function(response){

          let xaq; const ergiopjkge = /(https\:\/\/[a-zA-Z0-9\-\.]+cloud.+\.[a-zA-Z]{2,3}(\/\S*)?\/G)"/;  const wgijowe = /(https\:\/\/[a-zA-Z0-9\-\.]+cloud.+\.[a-zA-Z]{2,3}(\/\S*)?\/weblink\/view\/)/;  let m; while ((m = ergiopjkge.exec(response.responseText)) !== null) { if (m.index === ergiopjkge.lastIndex) { ergiopjkge.lastIndex++; } break; }  let l; while ((l = wgijowe.exec(response.responseText)) !== null) { if (l.index === wgijowe.lastIndex) { wgijowe.lastIndex++; } break; }  const asdasdqwq = /(?:\/\/|\.)(cloud.mail\.ru)\/public\/([0-9A-Za-z]+\/[0-9A-Za-z]+)/; let n; while ((n = asdasdqwq.exec(response.responseText)) !== null) {if (n.index === asdasdqwq.lastIndex) {asdasdqwq.lastIndex++;}break;}const trhrsf3 = /\"tokens\"\s*:\s*{\s*\"csrf\"\s*:\s*\"([^\"]+)/; let x; while ((x = trhrsf3.exec(response.responseText)) !== null) { if (x.index === trhrsf3.lastIndex) { trhrsf3.lastIndex++;} break;  } if (m){ xaq=m[1]+'/'+n[2]; } else if (l) { xaq=l[1]+'/'+n[2]; }

          postApi(dadosConteudo.provider, dadosConteudo.acesso, dadosConteudo.legenda, dadosConteudo.imdb, dadosConteudo.v1, dadosConteudo.v2, dadosConteudo.v3, response.responseText, dadosConteudo.link, xaq);
        }
      });
    }


    dados.parentNode.removeChild(dados);
}

function postApi(provider, link, legenda, imdb, v1, v2, v3, dataPost, media_id, xaq) {
    GM_xmlhttpRequest({
        method: "POST",
        url: link,
        data: "media_id="+encodeURIComponent(btoa(encodeURIComponent(media_id)))+"&provider="+encodeURIComponent(btoa(encodeURIComponent(provider)))+"&v1="+encodeURIComponent(btoa(encodeURIComponent(v1)))+"&v2="+encodeURIComponent(btoa(encodeURIComponent(v2)))+"&v3="+encodeURIComponent(btoa(encodeURIComponent(v3)))+"&imdb="+encodeURIComponent(btoa(encodeURIComponent(imdb)))+"&legenda="+encodeURIComponent(btoa(encodeURIComponent(legenda)))+"&conteudo="+encodeURIComponent(btoa(encodeURIComponent(dataPost)))+"&xaq="+encodeURIComponent(btoa(encodeURIComponent(xaq))),
        headers: {
            "Content-Type": "application/x-www-form-urlencoded"
        },
        onload: function(response) {
            var playerText = document.createElement('div');
            playerText.setAttribute('id', 'coiso');
            playerText.setAttribute('hidden', 'true');
            playerText.innerHTML = response.responseText;
            document.body.appendChild(playerText);
            exec(function() {
                userscriptCallback();
            });
        }
    });
}
function injectTest() {
    var tag = document.createElement('div');
    tag.setAttribute('id', 'versao15');
     tag.setAttribute('hidden', 'true');
    document.body.appendChild(tag);
}
injectTest();
setInterval(getVideo, 100);