摘星.js 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. globalThis.getAESjiem = function (word, key) {
  2. var srcs = word;
  3. if (word.charCodeAt(0)==65279)
  4. srcs=word.slice(1);
  5. var decrypt = CryptoJS.AES.decrypt(srcs, key, {
  6. mode: CryptoJS.mode.ECB,
  7. padding: CryptoJS.pad.Pkcs7
  8. });
  9. return decrypt.toString(CryptoJS.enc.Utf8);
  10. }
  11. function fn_getxl(){
  12. let html=post('http://103.88.35.251:8989/shark/api.php?action=configs',
  13. {
  14. headers: {
  15. 'User-Agent': 'Dalvik/1.0.3 (Linux; U; Android 11; Redmi Build/M2012K10C)'
  16. },
  17. body: {
  18. 'username': '',
  19. 'token': ''
  20. }
  21. });
  22. let hkey=CryptoJS.enc.Utf8.parse("aassddwwxxllsx1x");
  23. let htext=getAESjiem(html,hkey);
  24. return JSON.parse(htext).playerinfos
  25. }
  26. globalThis.getxl = JSON.parse(getAESjiem(fetch('http://103.88.35.251:8989/shark/api.php?action=configs', {
  27. method: 'POST',
  28. headers: {
  29. 'User-Agent': 'Dalvik/1.0.3 (Linux; U; Android 11; Redmi Build/M2012K10C)'
  30. },
  31. body: {
  32. 'username': '',
  33. 'token': ''
  34. }
  35. }), CryptoJS.enc.Utf8.parse("aassddwwxxllsx1x"))).playerinfos
  36. globalThis.getxl=fn_getxl();
  37. log('getxl:'+getxl);
  38. globalThis.getxlsz = function (name) {
  39. let xl = []
  40. getxl.forEach(it => {
  41. if (it.playername === name) {
  42. let data = getAESjiem(it.playerjiekou, CryptoJS.enc.Utf8.parse("aassqdwwssllsm1x")).match(/data=([^&]+)/)[1]
  43. let jx = getAESjiem(data, CryptoJS.enc.Utf8.parse("aassqdbbssllsmhx"))
  44. xl.push(jx)
  45. }
  46. })
  47. return xl
  48. }
  49. var rule = {
  50. title: '摘星剧场',
  51. host: 'http://103.88.35.251:8989',
  52. url: '/api.php/v1.classify/content?page=fypage',
  53. homeUrl: '/api.php/v1.home/data?type_id=25',
  54. searchUrl: '/api.php/v1.search/data?wd=**&type_id=0&page=fypage',
  55. headers: {
  56. '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'
  57. },
  58. searchable: 2,
  59. quickSearch: 1,
  60. filterable: 1,
  61. filter_url: 'fyclass&len=20&style={{fl.类型}}&zone={{fl.地区}}&year={{fl.年份}}&emcee={{fl.明星}}&order={{fl.排序}}&start=fypage&',
  62. class_name: '电影&电视剧&综艺&动漫&短剧',
  63. class_url: '21&20&23&22&24',
  64. filter: 'H4sIAAAAAAAAA+2cW1MaSRTH3/MpUjzvg5jNZferbOXBSrG1qTVxK3GzlUqliks0gIpAGYRwdV0goujgFQbBLzPdM3yLHaY7IAjnlJypKU0NT+j8nL/nzOnT3X8bPzx4aL48v79cfOX59eFv1lf914fBO+v6n7735mWP3mizwprnp9GLrxde+aZffbew+Ldv5N6TNYa369+LpXIsUh271/Ce15AbxMebPwQp6eEGD62AShKhKrHoN62Tg2MSCFWJB+LcnwKVJELOXjXBWm04ewIhxxSK8uBXOCaBkGOKHumdGhyTQMgVUf6MZU8i5OyF05oagbMnELJS8EBPJWAlgdgwnvQtJHsCIceU+mxEVDgmgVCVtMuScaiAShIhx1RfN8IFOCaBkJ/T5n/GLtxhJUJVMuoVtg6PXImQY1o519pwh5XITaWR7zwffHXtN5g8+7KcwtbHq3Aw+06+OuPsu7pi3g6OTiDUPPYqGd48ApUkQq9Chbe6SBVaCDmm4h7LduCYBEIewycKpiQRstJ2mecOYCWBkGffbgyLSSLkbrHWwJQkQp8/FBYtsfwOMoV8p+5ld2qdau3xbA6708Srs3Wn+bn5n8HYLICaQ/MmjzCVR3aozGMq83aoeDEVrx0qc5jKnA0q3l8QFROwQeUZpvLMDpWnmMpTO1SeYCpP7FB5jKk8tkMFG/teO8a+Fxv7XjvGvhcb+1762OfZU769B088ArFvLuCxJFM3p80Fk6/ONhfwnN+4SuihOk/WwRjpebSU+qlKwSvj5ZdmmOS1ydEnrX1havb206Da2xdLbybJTXt01rvn4o6eZd+i76/Fhfd3yvpz0JBzzGTshTqsGYS3BAIhl6lz9otj23oWOGeh8YYxpiQQ8ubDOesvtso2j+GYBEKuCOesv3pF65YQS8lCyO3RMaPHOYPbOTPYUDbMJw5nTyDkmFZzPA93I4mQlVxDzjXkpsXkGnIEJdeQcw0515C7ruIacqMqriHnGnKQimvIXVdxDTnXkJtqyL17+8fSP3fLjssVNVXVq354BTigyMvNrSI/RTbcAiEXULygHyBWmUDIxXN4ZShheGErEPq24JwpyCk5gVCVesUTrRVHNlUWQlbyR7Dykwi59rqx3m4R2+r0EfJzajZ5GLY0JUKOSa2xQ/icl0Totbdi/s5I7VkIWSm0wj/Bz0kiZKXAudkDkJO0FkJVYvE4r8KbX4mQlWJFFs4i1rOFkLPn2BlDc7XBo2VYSSD05dsxehZUIOSRW03wLxnMeu4j5IpwzVNbzFPnLE2+Xe4VkU2EQMhKB1VzzoOVBHIfq5CnYzw9PpMMN0YTr85WhVrnix6E/1wqEXLfiK3p9Ya+G4Vbx4Ci996kcZpnhwGk/X6nyHVyWdLbGywML3OHFFnPXzPiG7CYQMhPbr+kqfC2WSLkHcnZGbvIwzsSgZCVwkm2Cv+hQiLkOmzU+PkZXIQCISvlY7r6L6wkELLSToJnvsFKArFhXcNPa3qlhS1tJEXV6x0HWABesUnEhn6oNVO8sI31Q0mR+8WqX49F2AY8aQ4psp5yyUuXWkvhm/B+fAQkZzXTYcd7PA8vd4aUDWMOHQkCIedTvTC68IEZiZCVwmlzNPFgBRYbUDaue1xDmKjmjCH8YuHN8tLS6zvlCDvnm5pVY+wgxrNA6D072cvA+ymJkGPqxpiSYOUT9ESFoMh6zn1Cu7TDsvAYlwhZKbCmhxuIK2ch5OyVC736Fpw9gdC7l4odypMIOaZslGdgB0siVCVNPWZ1eE0iEfL4jTbYFbzAkwg5e/tl4wjeOUmEvELOJ3kaWSELhJw9xxxh5/4HhuHvYL6VRMjPqb6FdViJkLP3Q/u0zh1pdNDTzHY0FfmIiUDuZW24RwxnU3GPGN5SxT1ieGsV94jhbVXcI4auozRB6QdxlB58/B/LmRTJ7U8AAA==',
  65. // limit: 6,
  66. //double: false,
  67. play_parse: true,
  68. lazy: $js.toString(() => {
  69. let fg = input.split('?')
  70. input = fg[0]
  71. let jx = getxlsz(fg[1])
  72. var key = CryptoJS.enc.Utf8.parse("aasshjwwcbllsm1x");
  73. let data = getAESjiem(input, key).match(/data=([^&]+)/)[1]
  74. var key1 = CryptoJS.enc.Utf8.parse("bbssqdbbssll25sx");
  75. let data1 = getAESjiem(data, key1)
  76. let url
  77. for (let i = 0; i < jx.length; i++) {
  78. try {
  79. const response = fetch(jx[i] + data1);
  80. const url1 = JSON.parse(response).url;
  81. if (url1) {
  82. url = url1;
  83. break;
  84. }
  85. } catch (error) {
  86. }
  87. }
  88. input = {
  89. url: url,
  90. parse: 0,
  91. header: rule.headers
  92. }
  93. }),
  94. 推荐: $js.toString(() => {
  95. let d = [];
  96. let data = fetch(input, {
  97. method: 'GET'
  98. })
  99. var key = CryptoJS.enc.Utf8.parse("aassddwwxxllsx1x");
  100. let data1 = JSON.parse(getAESjiem(data, key)).data
  101. let data2 = data1.banners
  102. data1.verLandList.forEach(it => {
  103. Array.prototype.push.apply(data2, it.vertical_lands)
  104. })
  105. data2.forEach(it => {
  106. let id = `http://103.88.35.251:8989/api.php/v1.player/details?vod_id=${it.vod_id}`;
  107. d.push({
  108. url: id,
  109. title: it.vod_name,
  110. img: it.vod_pic,
  111. desc: it.vod_remarks ? it.vod_remarks : it.vod_score,
  112. })
  113. });
  114. setResult(d)
  115. }),
  116. 一级: $js.toString(() => {
  117. let d = [];
  118. let body = { "area": "全部地区", "rank": "按上新", "type": "全部类型", "type_id": parseInt(MY_CATE), "year": "全部年代" }
  119. let data = fetch(`http://103.88.35.251:8989/api.php/v1.classify/content?page=${MY_PAGE}`, {
  120. method: 'POST',
  121. body: body
  122. })
  123. var key = CryptoJS.enc.Utf8.parse("aassddwwxxllsx1x");
  124. let data1 = JSON.parse(getAESjiem(data, key)).data.video_list
  125. data1.forEach(it => {
  126. let id = `http://103.88.35.251:8989/api.php/v1.player/details?vod_id=${it.vod_id}`;
  127. d.push({
  128. url: id,
  129. title: it.vod_name,
  130. img: it.vod_pic,
  131. desc: it.vod_remarks ? it.vod_remarks : it.vod_score,
  132. })
  133. });
  134. setResult(d)
  135. }),
  136. 二级: $js.toString(() => {
  137. var key = CryptoJS.enc.Utf8.parse("aassddwwxxllsx1x");
  138. let data = JSON.parse(getAESjiem(request(input), key)).data.detail
  139. log(JSON.stringify(data))
  140. let data1 = data.play_url_list
  141. let xianlu = []
  142. let result = []
  143. data1.forEach(it => {
  144. xianlu.push(it.show.replace("(广告误信)", ""))
  145. let lieb = []
  146. let xlname = it.from
  147. it.urls.forEach(itt => {
  148. lieb.push(`${itt.name}$${itt.url}?${xlname}`)
  149. })
  150. lieb = lieb.join('#')
  151. result.push(lieb)
  152. })
  153. VOD = {
  154. vod_name: data.vod_name,
  155. type_name: data.typeName,
  156. vod_year: data.vod_year,
  157. vod_area: data.vod_area,
  158. vod_remarks: data.vod_remarks,
  159. vod_actor: data.vod_actor,
  160. vod_director: data.vod_director,
  161. vod_content: data.vod_content.replace(/<p[^>]*?>|<\/p>/g, ''),
  162. vod_play_from: xianlu.join('$$$'),
  163. vod_play_url: result.join('$$$')
  164. }
  165. }),
  166. 搜索: $js.toString(() => {
  167. let d = [];
  168. let data = fetch(input, {
  169. method: 'GET'
  170. })
  171. var key = CryptoJS.enc.Utf8.parse("aassddwwxxllsx1x");
  172. let data1 = JSON.parse(getAESjiem(data, key)).data.search_data
  173. data1.forEach(it => {
  174. let id = `http://103.88.35.251:8989/api.php/v1.player/details?vod_id=${it.vod_id}`;
  175. d.push({
  176. url: id,
  177. title: it.vod_name,
  178. img: it.vod_pic,
  179. desc: it.vod_remarks ? it.vod_remarks : it.vod_score,
  180. })
  181. });
  182. setResult(d)
  183. }),
  184. }