// ==UserScript== // @name Easy offline | 一键离线下载 // @namespace http://tampermonkey.net/ // @version 1.0.1 // @description 在种子或视频链接旁添加按钮离线下载至网盘 | Easy stream torrents or videos from cloud storage // @author Hoothin // @include http*://pan.baidu.com/* // @include http://115.com/* // @include https://www.furk.net/* // @include https://www.seedr.cc/* // @match http*://*/* // @grant GM_setValue // @grant GM_getValue // @require http://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js // @downloadURL none // ==/UserScript== var enableUrl = 'a[href^="magnet"],[href^="ed2k://|file"],[href$=".torrent"],[href$=".mp4"],[href$=".rar"],[href$=".7z"],[href$=".zip"],[href$=".rmvb"],[href$=".mkv"]'; var disableUrl=[".torrentkitty.","bt.box.n0808.com"]; function include(Things,obj) { for (var i = Things.length - 1; i >= 0; i--) { if ($(Things[i]).attr('href')===$(obj).attr('href')){ return true; } } } function setCss(){ $('head').append(''); } function getAllEnableUrl() { var rawnodes = $(enableUrl).get(); var nodes = []; if(rawnodes.length>0){ for (var i = 0; i 0){ var codeList = []; var listLen = 0; listLen = nodes.length; setCss(); if (listLen !== 0) { for (i = 0; i < listLen; i++) { var curNode = nodes[i]; var url = $(curNode)[0]["href"]; $(curNode).after($(curNode).clone().addClass('whx-a').css("background-color","#5e5eff").css("outline","none").empty().attr("target","_blank").attr("url",url).attr("title","115" ).attr("href", "http://115.com/?tab=offline&mode=wangpan").click(function (event) {GM_setValue("url",$(event.target).attr("url"));})); $(curNode).after($(curNode).clone().addClass('whx-a').css("background-color","#3BEBFF").css("outline","none").empty().attr("target","_blank").attr("url",url).attr("title","Furk" ).attr("href", "https://www.furk.net/users/files/add").click(function (event) {GM_setValue("url",$(event.target).attr("url"));})); $(curNode).after($(curNode).clone().addClass('whx-a').css("background-color","#F44336").css("outline","none").empty().attr("target","_blank").attr("url",url).attr("title","Seedr" ).attr("href", "https://www.seedr.cc/files").click(function (event) {GM_setValue("url",$(event.target).attr("url"));})); $(curNode).after($(curNode).clone().addClass('whx-a').css("background-color","#ffffff").css("outline","none").empty().attr("target","_blank").attr("url",url).attr("title","BaiduPan" ).attr("href", "http://pan.baidu.com/disk/home").click(function (event) {GM_setValue("url",$(event.target).attr("url"));})); } } $('.whx-a').css('b','d'); } } var i=0; var t=window.setInterval(function() { var curlink; if (location.href.indexOf("furk.net/users/files/add") != -1){ window.clearInterval(t); curlink = GM_getValue('url'); if(curlink){ setTimeout(function() { $('#url').val(curlink); GM_setValue('url', ''); $(":submit[value='Add download']").click(); }, 500); } }else if(location.href.indexOf("seedr.cc/files") != -1){ if($('#upload-button').css("display") != "none"){ window.clearInterval(t); curlink = GM_getValue('url'); if(curlink){ setTimeout(function() { $(':text[name="torrent"]').val(curlink); GM_setValue('url', ''); $('#upload-button').click(); }, 500); } } }else if(location.href.indexOf("pan.baidu.com/disk/home") != -1){ window.clearInterval(t); curlink = GM_getValue('url'); if(curlink){ document.querySelector('.g-button[data-button-id=b13]').click(); setTimeout(function() { document.querySelector('#_disk_id_2').click(); setTimeout(function() { document.querySelector('#share-offline-link').value = curlink; document.querySelector('.g-button[data-button-id=b63]').click(); }, 500); }, 1500); GM_setValue('url', ''); } }else if(location.href.indexOf("115.com/?tab=offline&mode=wangpan") != -1){ window.clearInterval(t); curlink = GM_getValue('url'); if(curlink){ var rsc = setInterval(function() { if (document.readyState == 'complete') { clearInterval(rsc); setTimeout(function() { Core['OFFL5Plug'].OpenLink(); setTimeout(function() { $('#js_offline_new_add').val(curlink); }, 300); }, 1000); } }, 400); GM_setValue('url', ''); } }else if((i===0 && $(enableUrl).length>0)||i>20){ window.clearInterval(t); getAllEnableUrl(); }else{ i++; } }, 500);