路漫漫.js 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549
  1. var rule = {
  2. title: "路漫漫",
  3. host: "http://www.lmm36.com",
  4. url: "/vod/show/id/fyclassfyfilter.html",
  5. searchUrl: '/vod/search/page/fypage/wd/**.html',
  6. searchable: 2,
  7. quickSearch: 0,
  8. filterable: 1,
  9. filter: {
  10. "3": [{
  11. "key": "年代",
  12. "name": "年代",
  13. "value": [{
  14. "n": "全部",
  15. "v": ""
  16. }, {
  17. "n": "2025",
  18. "v": "/year/2025"
  19. }, {
  20. "n": "2024",
  21. "v": "/year/2024"
  22. }, {
  23. "n": "2023",
  24. "v": "/year/2023"
  25. }, {
  26. "n": "2022",
  27. "v": "/year/2022"
  28. }, {
  29. "n": "2021",
  30. "v": "/year/2021"
  31. }, {
  32. "n": "2020",
  33. "v": "/year/2020"
  34. }, {
  35. "n": "2019",
  36. "v": "/year/2019"
  37. }, {
  38. "n": "2018",
  39. "v": "/year/2018"
  40. }, {
  41. "n": "2017",
  42. "v": "/year/2017"
  43. }, {
  44. "n": "2016",
  45. "v": "/year/2016"
  46. }, {
  47. "n": "2015",
  48. "v": "/year/2015"
  49. }, {
  50. "n": "更早",
  51. "v": "/year/2014-1980"
  52. }]
  53. }, {
  54. "key": "排序",
  55. "name": "排序",
  56. "value": [{
  57. "n": "最近更新",
  58. "v": "/by/time"
  59. }, {
  60. "n": "最高人气",
  61. "v": "/by/hits"
  62. }, {
  63. "n": "最高评分",
  64. "v": "/by/score"
  65. }, {
  66. "n": "最多点赞",
  67. "v": "/by/up"
  68. }]
  69. }],
  70. "4": [{
  71. "key": "年代",
  72. "name": "年代",
  73. "value": [{
  74. "n": "全部",
  75. "v": ""
  76. }, {
  77. "n": "2025",
  78. "v": "/year/2025"
  79. }, {
  80. "n": "2024",
  81. "v": "/year/2024"
  82. }, {
  83. "n": "2023",
  84. "v": "/year/2023"
  85. }, {
  86. "n": "2022",
  87. "v": "/year/2022"
  88. }, {
  89. "n": "2021",
  90. "v": "/year/2021"
  91. }, {
  92. "n": "2020",
  93. "v": "/year/2020"
  94. }, {
  95. "n": "2019",
  96. "v": "/year/2019"
  97. }, {
  98. "n": "2018",
  99. "v": "/year/2018"
  100. }, {
  101. "n": "2017",
  102. "v": "/year/2017"
  103. }, {
  104. "n": "2016",
  105. "v": "/year/2016"
  106. }, {
  107. "n": "2015",
  108. "v": "/year/2015"
  109. }, {
  110. "n": "更早",
  111. "v": "/year/2014-1980"
  112. }]
  113. }, {
  114. "key": "排序",
  115. "name": "排序",
  116. "value": [{
  117. "n": "最近更新",
  118. "v": "/by/time"
  119. }, {
  120. "n": "最高人气",
  121. "v": "/by/hits"
  122. }, {
  123. "n": "最高评分",
  124. "v": "/by/score"
  125. }, {
  126. "n": "最多点赞",
  127. "v": "/by/up"
  128. }]
  129. }],
  130. "5": [{
  131. "key": "年代",
  132. "name": "年代",
  133. "value": [{
  134. "n": "全部",
  135. "v": ""
  136. }, {
  137. "n": "2025",
  138. "v": "/year/2025"
  139. }, {
  140. "n": "2024",
  141. "v": "/year/2024"
  142. }, {
  143. "n": "2023",
  144. "v": "/year/2023"
  145. }, {
  146. "n": "2022",
  147. "v": "/year/2022"
  148. }, {
  149. "n": "2021",
  150. "v": "/year/2021"
  151. }, {
  152. "n": "2020",
  153. "v": "/year/2020"
  154. }, {
  155. "n": "2019",
  156. "v": "/year/2019"
  157. }, {
  158. "n": "2018",
  159. "v": "/year/2018"
  160. }, {
  161. "n": "2017",
  162. "v": "/year/2017"
  163. }, {
  164. "n": "2016",
  165. "v": "/year/2016"
  166. }, {
  167. "n": "2015",
  168. "v": "/year/2015"
  169. }, {
  170. "n": "更早",
  171. "v": "/year/2014-1980"
  172. }]
  173. }, {
  174. "key": "排序",
  175. "name": "排序",
  176. "value": [{
  177. "n": "最近更新",
  178. "v": "/by/time"
  179. }, {
  180. "n": "最高人气",
  181. "v": "/by/hits"
  182. }, {
  183. "n": "最高评分",
  184. "v": "/by/score"
  185. }, {
  186. "n": "最多点赞",
  187. "v": "/by/up"
  188. }]
  189. }],
  190. "6": [{
  191. "key": "年代",
  192. "name": "年代",
  193. "value": [{
  194. "n": "全部",
  195. "v": ""
  196. }, {
  197. "n": "2025",
  198. "v": "/year/2025"
  199. }, {
  200. "n": "2024",
  201. "v": "/year/2024"
  202. }, {
  203. "n": "2023",
  204. "v": "/year/2023"
  205. }, {
  206. "n": "2022",
  207. "v": "/year/2022"
  208. }, {
  209. "n": "2021",
  210. "v": "/year/2021"
  211. }, {
  212. "n": "2020",
  213. "v": "/year/2020"
  214. }, {
  215. "n": "2019",
  216. "v": "/year/2019"
  217. }, {
  218. "n": "2018",
  219. "v": "/year/2018"
  220. }, {
  221. "n": "2017",
  222. "v": "/year/2017"
  223. }, {
  224. "n": "2016",
  225. "v": "/year/2016"
  226. }, {
  227. "n": "2015",
  228. "v": "/year/2015"
  229. }, {
  230. "n": "更早",
  231. "v": "/year/2014-1980"
  232. }]
  233. }, {
  234. "key": "排序",
  235. "name": "排序",
  236. "value": [{
  237. "n": "最近更新",
  238. "v": "/by/time"
  239. }, {
  240. "n": "最高人气",
  241. "v": "/by/hits"
  242. }, {
  243. "n": "最高评分",
  244. "v": "/by/score"
  245. }, {
  246. "n": "最多点赞",
  247. "v": "/by/up"
  248. }]
  249. }],
  250. "7": [{
  251. "key": "年代",
  252. "name": "年代",
  253. "value": [{
  254. "n": "全部",
  255. "v": ""
  256. }, {
  257. "n": "2025",
  258. "v": "/year/2025"
  259. }, {
  260. "n": "2024",
  261. "v": "/year/2024"
  262. }, {
  263. "n": "2023",
  264. "v": "/year/2023"
  265. }, {
  266. "n": "2022",
  267. "v": "/year/2022"
  268. }, {
  269. "n": "2021",
  270. "v": "/year/2021"
  271. }, {
  272. "n": "2020",
  273. "v": "/year/2020"
  274. }, {
  275. "n": "2019",
  276. "v": "/year/2019"
  277. }, {
  278. "n": "2018",
  279. "v": "/year/2018"
  280. }, {
  281. "n": "2017",
  282. "v": "/year/2017"
  283. }, {
  284. "n": "2016",
  285. "v": "/year/2016"
  286. }, {
  287. "n": "2015",
  288. "v": "/year/2015"
  289. }, {
  290. "n": "更早",
  291. "v": "/year/2014-1980"
  292. }]
  293. }, {
  294. "key": "排序",
  295. "name": "排序",
  296. "value": [{
  297. "n": "最近更新",
  298. "v": "/by/time"
  299. }, {
  300. "n": "最高人气",
  301. "v": "/by/hits"
  302. }, {
  303. "n": "最高评分",
  304. "v": "/by/score"
  305. }, {
  306. "n": "最多点赞",
  307. "v": "/by/up"
  308. }]
  309. }],
  310. "8": [{
  311. "key": "年代",
  312. "name": "年代",
  313. "value": [{
  314. "n": "全部",
  315. "v": ""
  316. }, {
  317. "n": "2025",
  318. "v": "/year/2025"
  319. }, {
  320. "n": "2024",
  321. "v": "/year/2024"
  322. }, {
  323. "n": "2023",
  324. "v": "/year/2023"
  325. }, {
  326. "n": "2022",
  327. "v": "/year/2022"
  328. }, {
  329. "n": "2021",
  330. "v": "/year/2021"
  331. }, {
  332. "n": "2020",
  333. "v": "/year/2020"
  334. }, {
  335. "n": "2019",
  336. "v": "/year/2019"
  337. }, {
  338. "n": "2018",
  339. "v": "/year/2018"
  340. }, {
  341. "n": "2017",
  342. "v": "/year/2017"
  343. }, {
  344. "n": "2016",
  345. "v": "/year/2016"
  346. }, {
  347. "n": "2015",
  348. "v": "/year/2015"
  349. }, {
  350. "n": "更早",
  351. "v": "/year/2014-1980"
  352. }]
  353. }, {
  354. "key": "排序",
  355. "name": "排序",
  356. "value": [{
  357. "n": "最近更新",
  358. "v": "/by/time"
  359. }, {
  360. "n": "最高人气",
  361. "v": "/by/hits"
  362. }, {
  363. "n": "最高评分",
  364. "v": "/by/score"
  365. }, {
  366. "n": "最多点赞",
  367. "v": "/by/up"
  368. }]
  369. }]
  370. },
  371. filter_url: "{{fl.排序}}{{fl.年代}}/page/fypage",
  372. filter_def: "",
  373. headers: {
  374. "User-Agent": "MOBILE_UA"
  375. },
  376. timeout: 5000,
  377. class_name: "日本动漫&国产动漫&欧美动漫&日本动画电影&国产动画电影&欧美动画电影",
  378. class_url: "6&7&8&3&4&5",
  379. class_parse: "",
  380. cate_exclude: "",
  381. play_parse: true,
  382. lazy: $js.toString(() => {
  383. function getDAesString(token) {
  384. eval(getCryptoJS());
  385. var key = CryptoJS.enc.Utf8.parse("ejjooopppqqqrwww");
  386. var iv = CryptoJS.enc.Utf8.parse("1348987635684651");
  387. var token = CryptoJS.AES.decrypt(token, key, {
  388. iv: iv,
  389. mode: CryptoJS.mode.CBC,
  390. padding: CryptoJS.pad.Pkcs7,
  391. });
  392. return token.toString(CryptoJS.enc.Utf8);
  393. }
  394. var html = JSON.parse(request(input).match(/r player_.*?=(.*?)</)[1]);
  395. var url = html.url;
  396. var from = html.from;
  397. if (html.encrypt == "1") {
  398. url = unescape(url);
  399. } else if (html.encrypt == "2") {
  400. url = unescape(base64Decode(url));
  401. }
  402. if (/\.mp4|\.m3u8|\.flv/.test(url)) {
  403. input = {
  404. parse: 0,
  405. url: url.split("&")[0],
  406. js: ''
  407. };
  408. } else {
  409. var jsh = request(HOST + "/static/player/" + from + ".js", {
  410. headers: {
  411. Referer: input
  412. },
  413. }).match(/\.src\s*=\s*(.*?);/)[1];
  414. //log(MY_HOME);
  415. if (/type=/.test(jsh)) {
  416. jsh = jsh
  417. .replace(/[\+\s']/g, "")
  418. .replace(/MacPlayer.Parse/, "")
  419. .replace(/MacPlayer.PlayUrl/, url)
  420. .replace(/window.location.href/, input);
  421. var playht = fetch(jsh, {
  422. headers: {
  423. Referer: HOST
  424. }
  425. });
  426. } else {
  427. jsh = jsh
  428. .replace(/[\+\s']/g, "")
  429. .replace(/MacPlayer.Parse/, "")
  430. .replace(/MacPlayer.PlayUrl/, url)
  431. .replace(/window.location.href/, input);
  432. jsh = JSON.parse(
  433. fetch(jsh, {
  434. headers: {
  435. Referer: HOST
  436. },
  437. onlyHeaders: true
  438. })
  439. ).url;
  440. var playht = fetch(jsh, {
  441. headers: {
  442. Referer: HOST
  443. }
  444. });
  445. }
  446. var postapi = jsh.match(/^(.*?\/\/.*?\/.*?\/)/)[1];
  447. var posturl = postapi + playht.match(/post\("(.*?)"/)[1];
  448. if (/act\s*=/.test(playht)) {
  449. var vid = playht.match(/vid\s*=\s*"(.*?)"/)[1];
  450. var t = playht.match(/var\s*t\s*=\s*"(.*?)"/)[1];
  451. var token = playht.match(/token\s*=\s*"(.*?)"/)[1];
  452. var act = playht.match(/act\s*=\s*"(.*?)"/)[1];
  453. var play = playht.match(/play\s*=\s*"(.*?)"/)[1];
  454. token = getDAesString(token);
  455. var data = JSON.parse(
  456. post(posturl, {
  457. headers: {
  458. Referer: HOST
  459. },
  460. body: {
  461. vid: vid,
  462. t: t,
  463. token: token,
  464. act: act,
  465. play: play,
  466. },
  467. timeout: 5000
  468. })
  469. );
  470. input = {
  471. parse: 0,
  472. url: data.url,
  473. js: ''
  474. };
  475. } else {
  476. var key = "";
  477. playht.match(/var (\w+)="(.*?)";/g).forEach(function(list) {
  478. key += list.match(/"(.*?)"/)[1];
  479. });
  480. const bodys = JSON.parse(
  481. playht
  482. .match(/post\(.*?,(.*?),\n/)[1]
  483. .replace(/"keyyy"\s*:\s*''.*?''/, '"keyyy" : "' + key + '"')
  484. );
  485. var data = JSON.parse(
  486. post(posturl, {
  487. headers: {
  488. Referer: HOST
  489. },
  490. body: bodys
  491. })
  492. );
  493. if (data.ext == "xgplayer") {
  494. var dataurl =
  495. "https://yun.366day.site/mp4hls/xgplayer.php?vid=" + data.url;
  496. var video = fetch(dataurl, {
  497. headers: {
  498. Referer: jsh
  499. }
  500. }).match(
  501. /"url": "(.*?)"/
  502. )[1];
  503. input = {
  504. parse: 0,
  505. url: video,
  506. js: ''
  507. };
  508. } else if (data.ext == "hls" || data.ext == "hls_list") {
  509. input = {
  510. parse: 0,
  511. url: decodeURIComponent(data.url),
  512. js: ''
  513. };
  514. } else {
  515. input = {
  516. parse: 0,
  517. url: data.url,
  518. js: ''
  519. };
  520. }
  521. }
  522. }
  523. }),
  524. double: false,
  525. 推荐: "*",
  526. 一级: ".video-img-box;h6.title&&Text;.lazyload&&data-src;.label&&Text;a&&href",
  527. 二级: {
  528. title: ".page-title&&Text;.tag-link&&Text",
  529. img: ".module-item-pic&&.lazyload&&src",
  530. desc: ".video-info-items:eq(3)&&Text;.video-info-items:eq(2)&&Text;;.video-info-items:eq(1)&&Text;.video-info-items:eq(0)&&Text",
  531. content: ".video-info-content&&Text",
  532. tabs: ".module-tab-item.tab-item",
  533. lists: ".module-player-list:eq(#id) a",
  534. tab_text: "body&&Text",
  535. list_text: "body&&Text",
  536. list_url: "a&&href"
  537. },
  538. detailUrl: "",
  539. 搜索: "*"
  540. }