摘星.js 7.2 KB

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