Sleazy Fork is available in English.

自动获取磁链接并自动离线下载

Verzia zo dňa 07.03.2015. Pozri najnovšiu verziu.

// ==UserScript==
// @name        挊
// @namespace   撸
// @description 自动获取磁链接并自动离线下载
// @include     http://www.javzoo.com/*
// @include     http://www.avmask.com/*
// @include     http://www.javlibrary.com/*
// @include     http://pan.baidu.com/disk/home
// @include     http://115.com/?tab=offline&mode=wangpan
// @include     http://cloud.letv.com/webdisk/home/index
// @version     1.03
// @grant       GM_xmlhttpRequest
// @grant       GM_setClipboard
// @grant       GM_setValue
// @grant       GM_getValue
// ==/UserScript==
var av_id = "";
var xhr = function(url,cb){
  GM_xmlhttpRequest({
      method: 'GET',
      url: url,
      onload: function(result){
        cb(result.responseText);
      },
      onerror: function (e) {
        console.log(e);
      }
  });
};
var exist_magnet = function(callback){
  var magnet = GM_getValue("magnet");
  GM_setValue("magnet","");
  if(magnet){
    callback(magnet);
  }
};
var insert_js = function(magnet,func){
  var js = document.createElement("script");
  js.innerHTML = "("+func.toString()+")('"+ magnet +"');";
  console.log(js);
  document.body.appendChild(js);
};
var hostmatch = function(url,callback){
  if(location.host == url){
    callback();
  }
};
var add_style = function(css){
  var style = document.createElement("style");
  style.innerHTML = css;
  document.head.appendChild(style);
};
var create_table = function(data){
  var table = document.createElement("table");
  var html="<tr><th class='magnet-th'>HASH</th><th class='magnet-th'>大小</th><th class='magnet-th'>操作</th><th class='magnet-th'>离线下载</th></tr>";
  for(var i=0;i<data.length;i++){
    html += "<tr hash='"+ data[i].hash +"'><td class='magnet-td'>"+ data[i].hash +"</td>";
    html += "<td class='magnet-td'>"+ data[i].size +"</td>";
    html += "<td class='magnet-td'><a class='magnet-copy' href='javascript:void(0);'>复制</a></td>";
    html += "<td class='magnet-td'><a class='magnet-download' target='_blank' href='http://pan.baidu.com/disk/home'>百度云</a> | <a class='magnet-download' target='_blank' href='http://115.com/?tab=offline&mode=wangpan'>115离线</a> | <a class='magnet-download' target='_blank' href='http://cloud.letv.com/webdisk/home/index'>乐视云盘</a></td>";//
    html += "</tr>";
  }
  table.innerHTML = html;
  return table;

};

var gethash = function(av_id,search_url,callback){
  xhr(search_url+av_id,function(html){
    var data=[];
    var doc = document.implementation.createHTMLDocument("");
    doc.documentElement.innerHTML = html;
    if(search_url == "http://www.btspread.com/search/"){
      var t = doc.getElementsByTagName("tbody")[0];
      if(!t){return;}
      else{
        var aElems = t.getElementsByClassName("action");
        var bElems = t.getElementsByClassName("files-size");
        var tmp;
        for(var i=0;i<aElems.length;i++){
          tmp = aElems[i].firstChild.href;
          data.push({"hash":tmp.substring(tmp.indexOf("hash/")+5),"size":bElems[i].textContent});
        }
        callback(data);
      }
    }
  });
};
var handle_copy = function(elements){
  for(var i=0;i<elements.length;i++){
    elements[i].addEventListener("click",function(event){
      GM_setClipboard("magnet:?xt=urn:btih:" + event.target.parentElement.parentElement.getAttribute("hash"));
    },false);
  }
};
var handle_download = function(elements){
  for(var i=0;i<elements.length;i++){
    elements[i].addEventListener("click",function(event){
      GM_setValue("magnet","magnet:?xt=urn:btih:"+event.target.parentElement.parentElement.getAttribute("hash"));
    },false);
  }
};
hostmatch("www.javzoo.com",function(){
  if(location.href.match("movie")){
    av_id = document.getElementsByClassName("header")[0].nextElementSibling.innerHTML;
    var search_url = "http://www.btspread.com/search/";
    gethash(av_id,search_url,function(data){
      add_style("#magnet-table table{margin:10px auto;border:1px solid #cad9ea;color:#666;}.magnet-th,.magnet-td{height:30px; border:1px solid #cad9ea;padding:0 1em 0;}.magnet-copy{color:#08c;}.magnet-download{color:#0003FF;}");
      var table = create_table(data);
      var title = document.createElement("h4");
      title.innerHTML = "磁链接";
      var wrapper = document.createElement("div");
      wrapper.id="magnet-table";
      wrapper.appendChild(table);
      var tmp = document.getElementById("movie-share");
      tmp.parentElement.insertBefore(wrapper,tmp.nextElementSibling);
      tmp.parentElement.insertBefore(title,tmp.nextElementSibling);

      handle_copy(document.getElementsByClassName("magnet-copy"));
      handle_download(document.getElementsByClassName("magnet-download"));
    });
  }
});
hostmatch("www.avmask.com",function(){
  if(location.href.match("movie")){
    av_id = document.getElementsByClassName("header")[0].nextElementSibling.innerHTML;
    var search_url = "http://www.btspread.com/search/";
    gethash(av_id,search_url,function(data){
      add_style("#magnet-table table{margin:10px auto;border:1px solid #cad9ea;color:#666;}.magnet-th,.magnet-td{height:30px; border:1px solid #cad9ea;padding:0 1em 0;}.magnet-copy{color:#08c;}.magnet-download{color:#0003FF;}");
      var table = create_table(data);
      var title = document.createElement("h4");
      title.innerHTML = "磁链接";
      var wrapper = document.createElement("div");
      wrapper.id="magnet-table";
      wrapper.appendChild(table);
      var tmp = document.getElementById("movie-share");
      tmp.parentElement.insertBefore(wrapper,tmp.nextElementSibling);
      tmp.parentElement.insertBefore(title,tmp.nextElementSibling);

      handle_copy(document.getElementsByClassName("magnet-copy"));
      handle_download(document.getElementsByClassName("magnet-download"));
    });
  }
});
hostmatch("www.javlibrary.com",function(){
  if(location.search.match("\\?v=")){
    av_id = document.getElementById("video_id").getElementsByClassName("text")[0].innerHTML;
    var search_url = "http://www.btspread.com/search/";
    gethash(av_id,search_url,function(data){
      add_style("#magnet-table table{margin:10px auto;border:1px solid #cad9ea;color:#666;text-align: center;}.magnet-th,.magnet-td{height:30px; border:1px solid #cad9ea;padding:0 1em 0;}.magnet-copy{color:#08c;}.magnet-download{color:#0003FF;}");
      var table = create_table(data);
      var title = document.createElement("h4");
      title.innerHTML = "磁链接";
      var wrapper = document.createElement("div");
      wrapper.id="magnet-table";
      wrapper.appendChild(table);
      var tmp = document.getElementById("video_favorite_edit");
      tmp.parentElement.insertBefore(wrapper,tmp.nextElementSibling);
      tmp.parentElement.insertBefore(title,tmp.nextElementSibling);
      handle_copy(document.getElementsByClassName("magnet-copy"));
      handle_download(document.getElementsByClassName("magnet-download"));
    });
  }
});
hostmatch("pan.baidu.com",function(){
  exist_magnet(function(magnet){
    insert_js(magnet,function(magnet){
      $(".icon-btn-download").click();
      setTimeout(function(){
        $("#_disk_id_24").click();
        setTimeout(function(){
          $("#_disk_id_12").click();
          $("#share-offline-link").val(magnet);
        },500);
      },500);
    });
  });
});
hostmatch("115.com",function(){
  exist_magnet(function(magnet){
    insert_js(magnet,function(magnet){
      setTimeout(function(){
        Core['OFFL5Plug'].OpenLink();
        setTimeout(function(){
          $("#js_offline_new_add").val(magnet);
        },0);
      },1000);
    });
  });
});
hostmatch("cloud.letv.com",function(){
  exist_magnet(function(magnet){
    insert_js(magnet,function(magnet){
      console.log(1);
      setTimeout(function(){
        console.log(2);
        $("#offline-btn").click();
        setTimeout(function(){
          console.log(3);
          $("#offline_clear_complete").prev().click();
          setTimeout(function(){
            $("#offline-add-link").val(magnet);
          },500);
        },1000);
      },3000);
    });
  });
});