Easy offline | 一键离线下载

一键自动将磁链、bt种子或其他下载资源离线下载至网盘 | Easy stream torrents or videos from cloud storage

当前为 2016-10-10 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name Easy offline | 一键离线下载
  3. // @namespace http://tampermonkey.net/
  4. // @version 1.0.12
  5. // @description 一键自动将磁链、bt种子或其他下载资源离线下载至网盘 | Easy stream torrents or videos from cloud storage
  6. // @author Hoothin
  7. // @mail rixixi@gmail.com
  8. // @include http*://pan.baidu.com/*
  9. // @include http://115.com/*
  10. // @include https://www.furk.net/*
  11. // @include https://www.seedr.cc/*
  12. // @include http*://*/*
  13. // @grant GM_setValue
  14. // @grant GM_getValue
  15. // @require http://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js
  16. // ==/UserScript==
  17.  
  18. var enableUrl = 'a[href^="magnet"],[href^="ed2k://|file"],[href$=".torrent"],[href$=".mp4"],[href$=".rar"],[href$=".7z"],[href$=".zip"],[href$=".rmvb"],[href$=".mkv"],[href$=".avi"],[href$=".iso"]';
  19. var disableUrl=[".torrentkitty.","bt.box.n0808.com"];
  20. var lang = navigator.appName=="Netscape"?navigator.language:navigator.userLanguage;
  21. var i18n={};
  22. switch (lang){
  23. case "zh-CN":
  24. i18n={
  25. yyw:"115网盘",
  26. baidu:"百度网盘",
  27. furk:"Furk网盘",
  28. seedr:"Seedr网盘"
  29. };
  30. break;
  31. default:
  32. i18n={
  33. yyw:"115",
  34. baidu:"BaiduPan",
  35. furk:"Furk",
  36. seedr:"Seedr"
  37. };
  38. break;
  39. }
  40. function include(Things,obj) {
  41. for (var i = Things.length - 1; i >= 0; i--) {
  42. if ($(Things[i]).attr('href')===$(obj).attr('href')){
  43. return true;
  44. }
  45. }
  46. }
  47.  
  48. function setCss(){
  49. $('head').append('<style>a.whx-a{ display:inline-block;margin-left:5px;background-size:20px;border-radius:50%;vertical-align:middle;transition:margin-top 0.5s ease;}</style>');
  50. }
  51.  
  52. function getAllEnableUrl() {
  53. var rawnodes = $(enableUrl).get();
  54. var nodes = [];
  55. var i;
  56. var curNode;
  57. if(rawnodes.length>0){
  58. for (i = 0; i <rawnodes.length; i++) {
  59. var disable = false;
  60. curNode = rawnodes[i];
  61. for(var j = 0; j < disableUrl.length; j++){
  62. var temp = disableUrl[j];
  63. if($(curNode)[0].href.indexOf(temp)!=-1){
  64. disable = true;
  65. break;
  66. }
  67. }
  68. if(disable)continue;
  69. if(!include(nodes,curNode)){
  70. nodes.push(curNode);
  71. }
  72. }
  73. }
  74. if(nodes.length>0){
  75. var codeList = [];
  76. var listLen = 0;
  77. listLen = nodes.length;
  78. setCss();
  79. if (listLen !== 0) {
  80. for (i = 0; i < listLen; i++) {
  81. curNode = nodes[i];
  82. let url = $(curNode)[0].href;
  83. let cloneNodes=[];
  84. let parentDiv=$("<div style='display:none;position:fixed;'></div>");
  85. $("body").append(parentDiv);
  86. parentDiv.mouseleave(function(e){
  87. parentDiv.css("display","none");
  88. for(var clone of cloneNodes){
  89. clone.css("margin-top","0px");
  90. }
  91. });
  92. for(var x=0;x<5;x++){
  93. var clone=$(curNode).clone();
  94. clone.addClass('whx-a').css("outline","none").removeAttr("href").css("padding","0px").css("height","25px").css("width","25px").css("background-position","center").css("background-repeat","no-repeat").css("background-image",'url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAMAAADzN3VRAAAARVBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADc6ur3AAAAFnRSTlMAYM5vMOA/ENGegK2olI6G1b97Z0sXENA+jAAAAKFJREFUKM+FklkSxCAIRHFfss3K/Y86iQSDVqzpH7FfgQpCVfAmGx+gl9JI0qrxrcNLzooEbKUG4EKWdkCiDRV0N0RTrZ5wvdgTTgp4SzCAHxAPZkAM5GOJWuuT7FE5OVPOBFLTYb3Oc2YB5uJ8+G6pgkTGt74ntcCJHiwFLHw10Tdc93jlGXGvSRtsHNpuPs+/o1ODfxAtSL0f7HPC+L/9AF60G3QxO1UaAAAAAElFTkSuQmCC")').empty();
  95. if(x!==4){
  96. parentDiv.prepend(clone);
  97. clone.css("position","absolute");
  98. clone.css("margin-left","0px");
  99. clone.css("margin-top","0px");
  100. clone.attr("target","_blank").click(function (event) {GM_setValue("url",url);});
  101. }
  102. cloneNodes.push(clone);
  103. }
  104. cloneNodes[4].mouseover(function(e){
  105. parentDiv.css("display","block");
  106. var basePos=cloneNodes[4].offset();
  107. parentDiv.offset({top:basePos.top,left:basePos.left});
  108. for(var x=0;x<4;x++){
  109. cloneNodes[x].css("margin-top",-x*25+"px");
  110. }
  111. });
  112. cloneNodes[4].css("background-color","#e1e1e1");
  113. cloneNodes[3].css("background-color","#5e5eff").attr("title",i18n.yyw ).attr("href", "http://115.com/?tab=offline&mode=wangpan");
  114. cloneNodes[2].css("background-color","#3BEBFF").attr("title",i18n.furk ).attr("href", "https://www.furk.net/users/files/add");
  115. cloneNodes[1].css("background-color","#F44336").attr("title",i18n.seedr ).attr("href", "https://www.seedr.cc/files");
  116. cloneNodes[0].css("background-color","#e1e1e1").attr("title",i18n.baidu ).attr("href", "http://pan.baidu.com/disk/home");
  117. $(curNode).after(cloneNodes[4]);
  118. }
  119. }
  120. }
  121. }
  122.  
  123. var i=0;
  124. var t=window.setInterval(function() {
  125. var curlink;
  126. if (location.href.indexOf("furk.net/users/files/add") != -1){
  127. window.clearInterval(t);
  128. curlink = GM_getValue('url');
  129. if(curlink){
  130. setTimeout(function() {
  131. $('#url').val(curlink);
  132. GM_setValue('url', '');
  133. $(":submit[value='Add download']").click();
  134. }, 500);
  135. }
  136. }else if(location.href.indexOf("seedr.cc/files") != -1){
  137. if($('#upload-button').css("display") != "none"){
  138. window.clearInterval(t);
  139. curlink = GM_getValue('url');
  140. if(curlink){
  141. setTimeout(function() {
  142. $(':text[name="torrent"]').val(curlink);
  143. GM_setValue('url', '');
  144. $('#upload-button').click();
  145. }, 500);
  146. }
  147. }
  148. }else if(location.href.indexOf("pan.baidu.com/disk/home") != -1){
  149. window.clearInterval(t);
  150. curlink = GM_getValue('url');
  151. if(curlink){
  152. document.querySelector('.g-button[data-button-id=b13]').click();
  153. var bsi = setInterval(function() {
  154. var newTaskBtn = document.querySelector('#_disk_id_2');
  155. if(newTaskBtn){
  156. clearInterval(bsi);
  157. newTaskBtn.click();
  158. setTimeout(function() {
  159. document.querySelector('#share-offline-link').value = curlink;
  160. document.querySelector('.g-button[data-button-id=b65]').click();
  161. }, 500);
  162. }
  163. }, 500);
  164. GM_setValue('url', '');
  165. }
  166. }else if(location.href.indexOf("115.com/?tab=offline&mode=wangpan") != -1){
  167. window.clearInterval(t);
  168. curlink = GM_getValue('url');
  169. if(curlink){
  170. var rsc = setInterval(function() {
  171. if (document.readyState == 'complete') {
  172. clearInterval(rsc);
  173. setTimeout(function() {
  174. Core['OFFL5Plug'].OpenLink();
  175. setTimeout(function() {
  176. $('#js_offline_new_add').val(curlink);
  177. }, 300);
  178. }, 1000);
  179. }
  180. }, 400);
  181. GM_setValue('url', '');
  182. }
  183. }else if((i===0 && $(enableUrl).length>0)||i>20){
  184. window.clearInterval(t);
  185. getAllEnableUrl();
  186. }else{
  187. i++;
  188. }
  189. }, 500);