桃子影视.js 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. muban.mxpro.二级.title = 'h1&&Text;.module-info-tag&&Text';
  2. muban.mxpro.二级.desc = '.module-info-item:eq(4)&&Text;;;.module-info-item-content:eq(1)&&Text;.module-info-item-content:eq(0)&&Text';
  3. muban.mxpro.二级.tabs = '#y-playList&&span';
  4. muban.mxpro.二级.lists = '.module-play-list:eq(#id)&&a';
  5. var rule = {
  6. title:'桃子影视', //原91free
  7. 模板:'mxpro',
  8. host:'https://www.taozi007.com',
  9. url:'/show/fyclass--------fypage---.html',
  10. headers:{
  11. 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36 Edg/126.0.0.0',
  12. 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7',
  13. 'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6',
  14. 'Cache-Control': 'no-cache',
  15. 'DNT': '1',
  16. 'Pragma': 'no-cache',
  17. 'Sec-Fetch-Dest': 'document',
  18. 'Sec-Fetch-Mode': 'navigate',
  19. 'Sec-Fetch-Site': 'same-origin',
  20. 'Sec-Fetch-User': '?1',
  21. 'Upgrade-Insecure-Requests': '1',
  22. 'sec-ch-ua': '"Not/A)Brand";v="8", "Chromium";v="126", "Microsoft Edge";v="126"',
  23. 'sec-ch-ua-mobile': '?0',
  24. 'sec-ch-ua-platform': '"Windows"',
  25. 'Cookie': '__51vcke__KOfCv4E7m6sGPKS0=7531925e-234b-592c-88fb-5e27dc5c6a88; __51vuft__KOfCv4E7m6sGPKS0=1720324224220; showBtn=true; guardok=WasjNYb09JIaojsJ/S+KShFkARhQHdnBxrO4++HKVp+o6rejwvH/0eK6+xUWGVtl/4OaehKwNFqWOlg7e6bQRw==; __51uvsct__KOfCv4E7m6sGPKS0=3; mx_style=black; PHPSESSID=ujne091om1t08498dhsqardr1n; mac_history_mxpro=%5B%7B%22vod_name%22%3A%22%E7%AC%AC%E4%BA%8C%E6%AC%A1%E5%88%9D%E8%A7%81%22%2C%22vod_url%22%3A%22https%3A%2F%2Fwww.taozi007.com%2Fplay%2F67544-2-1.html%22%2C%22vod_part%22%3A%22%E7%AC%AC01%E9%9B%86%22%7D%2C%7B%22vod_name%22%3A%22AR%E7%89%A9%E8%AF%AD%22%2C%22vod_url%22%3A%22https%3A%2F%2Fwww.taozi007.com%2Fplay%2F56467-1-1.html%22%2C%22vod_part%22%3A%221080P%22%7D%2C%7B%22vod_name%22%3A%22%E9%99%86%E5%9C%B0%E9%94%AE%E4%BB%99%22%2C%22vod_url%22%3A%22https%3A%2F%2Fwww.taozi007.com%2Fplay%2F66963-2-1.html%22%2C%22vod_part%22%3A%22%E7%AC%AC1%E9%9B%86%22%7D%2C%7B%22vod_name%22%3A%22%E5%85%A8%E8%81%8C%E9%AB%98%E6%89%8B%20%E7%AC%AC%E4%B8%89%E5%AD%A3%22%2C%22vod_url%22%3A%22https%3A%2F%2Fwww.taozi007.com%2Fplay%2F12936-2-2.html%22%2C%22vod_part%22%3A%22%E7%AC%AC02%E9%9B%86%22%7D%2C%7B%22vod_name%22%3A%22%E6%97%B6%E5%85%89%E4%BB%A3%E7%90%86%E4%BA%BA%E5%89%A7%E7%89%88%22%2C%22vod_url%22%3A%22https%3A%2F%2Fwww.taozi007.com%2Fplay%2F66735-1-1.html%22%2C%22vod_part%22%3A%22%E7%AC%AC01%E9%9B%86%22%7D%5D; __vtins__KOfCv4E7m6sGPKS0=%7B%22sid%22%3A%20%225f801cfe-55b8-50cf-82c3-5ad27b9592c5%22%2C%20%22vd%22%3A%208%2C%20%22stt%22%3A%20662233%2C%20%22dr%22%3A%20201754%2C%20%22expires%22%3A%201720776998094%2C%20%22ct%22%3A%201720775198094%7D'
  26. },
  27. class_parse: '.navbar-items&&a[href*=type];a&&title;a&&href;(\\d+).html',
  28. lazy: $js.toString(() => {
  29. var html = JSON.parse(request(input).match(/r player_.*?=(.*?)</)[1]);
  30. var url = html.url;
  31. if (html.encrypt == '1') {
  32. url = unescape(url);
  33. } else if (html.encrypt == '2') {
  34. url = unescape(base64Decode(url));
  35. }
  36. let Code = {};
  37. let code=request(HOST + '/static/js/playerconfig.js');
  38. eval(code + '\nCode=MacPlayerConfig;');
  39. let jx = HOST+Code.player_list[html.from].parse;
  40. if (jx == '') {
  41. jx = HOST+Code.parse
  42. }
  43. log(jx)
  44. if(/feidaozy|1080zyk|subm3u8/.test(html.from)){
  45. input={
  46. url: url,
  47. parse:0,
  48. jx:0
  49. }
  50. }else if (/qiyi|qq|youku|mgtv/.test(html.from)){
  51. let api="https://jx.taozi007.com/player/ec.php?code=tz&if=1&url="
  52. let 请求=request(api+ url, {
  53. headers: {
  54. 'Referer': ""
  55. }
  56. })
  57. let config={};
  58. let 链接 =请求.match(/let ConFig.*}/)[0]
  59. log('链接:'+链接)
  60. eval(链接 + '\nconfig=ConFig');
  61. log('url:'+config.config.uid)
  62. eval(getCryptoJS())
  63. function decryptVideoUrl(encryptedUrl, uid) {
  64. const key = CryptoJS.enc.Utf8.parse('2890' + uid + 'tB959C');
  65. const iv = CryptoJS.enc.Utf8.parse('2F131BE91247866E');
  66. const decrypted = CryptoJS.AES.decrypt(encryptedUrl, key, {
  67. iv: iv,
  68. mode: CryptoJS.mode.CBC,
  69. padding: CryptoJS.pad.Pkcs7
  70. });
  71. return CryptoJS.enc.Utf8.stringify(decrypted);
  72. }
  73. let video = decryptVideoUrl(config.url,config.config.uid)
  74. input = {
  75. jx: 0,
  76. url: video,
  77. parse: 0
  78. }
  79. } else if (/ty/.test(html.from)){
  80. let ty跳转= JSON.parse(request(jx+url,{
  81. redirect:false,
  82. withHeaders:true
  83. })).location
  84. log(ty跳转)
  85. let ty请求=request(ty跳转,{
  86. headers: {
  87. 'Referer': ''
  88. }
  89. })
  90. let rand= ty请求.match(/var rand = "(.*?)";/)[1];
  91. let player= ty请求.match(/var player = "(.*?)";/)[1];
  92. log(rand)
  93. function js_decrypt(str, key, iv) {
  94. eval(getCryptoJS())
  95. var key = CryptoJS.enc.Utf8.parse(key);
  96. var iv = CryptoJS.enc.Utf8.parse(iv);
  97. var decrypted = CryptoJS.AES.decrypt(str, key, {
  98. iv: iv,
  99. padding: CryptoJS.pad.Pkcs7
  100. }).toString(CryptoJS.enc.Utf8);
  101. return decrypted
  102. }
  103. var ur =JSON.parse(js_decrypt(player, 'VFBTzdujpR9FWBhe', rand)).url
  104. input={
  105. jx:0,
  106. url:ur,
  107. parse:0
  108. }
  109. }else{
  110. let wj= JSON.parse(request(jx+url,{redirect:false, withHeaders:true})).location
  111. let play= wj.replace('https://jx.wujinkk.com/dplayer/?url=','')
  112. input={
  113. jx:0,
  114. url:play,
  115. parse:0
  116. }
  117. }
  118. }),
  119. 推荐: '*',
  120. double: false, // 推荐内容是否双层定
  121. searchUrl:'/search/**----------fypage---.html',
  122. }