[{"bookSourceGroup":"成人","bookSourceName":"野果短剧","bookSourceType":4,"bookSourceUrl":"API版","bookUrlPattern":".*api\\.php\\\/playlet\\\/detail.*","coverDecodeJs":"(function(){\n  var bytes = null;\n  try {\n    var isStream = false;\n    try { if (result instanceof Packages.java.io.InputStream) { isStream = true; } } catch(e0) {}\n    if (!isStream && result && typeof result.read === 'function') { isStream = true; }\n    if (isStream) {\n      var out = new Packages.java.io.ByteArrayOutputStream();\n      var b;\n      while ((b = result.read()) != -1) { out.write(b); }\n      bytes = out.toByteArray();\n    } else {\n      bytes = result;\n    }\n  } catch(e) { bytes = result; }\n  if (!bytes) { return result; }\n  try {\n    var keyBytes = java.strToBytes('f5d965df75336270', 'UTF-8');\n    var ivBytes = java.strToBytes('97b60394abc2fbe1', 'UTF-8');\n    var dec = java.createSymmetricCrypto('AES\/CBC\/PKCS5Padding', keyBytes, ivBytes).decrypt(bytes);\n    if (dec && dec.length > 4) {\n      var b0 = dec[0] & 0xff, b1 = dec[1] & 0xff;\n      if (b0 === 0xff && b1 === 0xd8) { return dec; }\n      if (b0 === 0x89 && b1 === 0x50) { return dec; }\n      if (b0 === 0x47 && b1 === 0x49) { return dec; }\n      if (b0 === 0x52 && b1 === 0x49 && (dec[2] & 0xff) === 0x46 && (dec[3] & 0xff) === 0x46) { return dec; }\n    }\n  } catch(e2) {}\n  return bytes;\n})()","customButton":false,"customOrder":12,"enabled":true,"enabledCookieJar":false,"enabledExplore":true,"eventListener":false,"exploreScreen":"","exploreUrl":"@js:var cats=[\n{name:'最新',p:{}},\n{name:'最热',p:{recommend:2}},\n{name:'野果原创',p:{theme:7}},\n{name:'真人短剧',p:{theme:8}},\n{name:'魔改漫剧',p:{theme:9}},\n{name:'网红改编',p:{theme:10}},\n{name:'PMV裸舞',p:{theme:11}},\n{name:'禁忌伦理',p:{setting:23}},\n{name:'职场反差',p:{setting:24}},\n{name:'改造调教',p:{setting:25}},\n{name:'出轨绿帽',p:{setting:26}},\n{name:'高H剧情',p:{setting:27}},\n{name:'后宫多人',p:{setting:28}},\n{name:'逆袭系统',p:{setting:29}},\n{name:'校园',p:{background:39}},\n{name:'都市',p:{background:40}},\n{name:'年代',p:{background:41}},\n{name:'古代',p:{background:43}},\n{name:'玄幻',p:{background:44}},\n{name:'末世',p:{background:45}},\n{name:'灵异',p:{background:46}},\n{name:'7天内',p:{time:1}},\n{name:'14天内',p:{time:2}},\n{name:'30天内',p:{time:3}},\n{name:'90天内',p:{time:4}}\n];\nvar ui=[];\nvar searchKey='搜索';\nui.push({title:searchKey,type:'text',default:'',style:{layout_flexGrow:1,layout_flexBasisPercent:1}});\nui.push({title:'🔍 搜索',type:'button',action:\"var k=String(infoMap['搜索']||'').trim();if(!k){java.toast('请输入片名\/演员关键词');}else{try{java.searchBook(k,source);}catch(e){try{java.searchBook(k);}catch(e2){java.toast('搜索失败:'+String(e2));}}}\",style:{layout_flexGrow:0,layout_flexBasisPercent:1}});\ncats.forEach(function(c){\n  var p={};for(var k in c.p){p[k]=String(c.p[k]);}\n  ui.push({title:c.name,url:'@js:ygExploreUrl(page,'+JSON.stringify(p)+')',style:{layout_flexGrow:1,layout_flexBasisPercent:0.25}});\n});\nJSON.stringify(ui)","header":"{\"User-Agent\":\"Mozilla\/5.0 (Linux; Android 14; Pixel 8) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/124.0.0.0 Mobile Safari\/537.36\"}","jsLib":"var API='https:\/\/yeguodj.com\/api.php';\nvar BASE={bundleId:'com.pwa.mater',version:'1.3.2',oauth_type:'web',language:'zh',via:'pwa',oauth_id:'7d05538c4b8a5e74e82f93c0dab0163c',token:'',trace_id:'7d05538c4b8a5e74e82f93c0dab0163c'};\nvar AESKEY='2acf7e91e9864673',AESIV='1c29882d3ddfcfd6';\nfunction ygBody(m){\n  var b=[];\n  for(var k in m){if(m[k]!==null&&m[k]!==undefined){b.push(k+'='+encodeURIComponent(String(m[k])));}}\n  return b.join('&');\n}\nfunction ygUrlCfg(path, body){\n  return API+path+',{\"method\":\"POST\",\"body\":\"'+body+'\",\"headers\":{\"Content-Type\":\"application\/x-www-form-urlencoded\"}}';\n}\nfunction ygMerge(extra){\n  var m={};\n  for(var k in BASE){m[k]=BASE[k];}\n  for(var k2 in extra){m[k2]=extra[k2];}\n  return ygBody(m);\n}\nfunction ygExploreUrl(page, filter){\n  var m={};\n  for(var k in BASE){m[k]=BASE[k];}\n  m.page=String(page||1);\n  for(var k2 in filter){m[k2]=String(filter[k2]);}\n  return ygUrlCfg('\/theater\/exploreList',ygBody(m));\n}\nfunction ygPlayUrlCfg(eid,vid){\n  return ygUrlCfg('\/playlet\/play',ygMerge({episode_id:String(eid),video_id:String(vid)}));\n}\nfunction ygDecryptData(dataB64){\n  var k=CryptoJS.enc.Utf8.parse(AESKEY);\n  var iv=CryptoJS.enc.Utf8.parse(AESIV);\n  var d=CryptoJS.AES.decrypt({ciphertext:CryptoJS.enc.Base64.parse(String(dataB64))},k,{iv:iv,padding:CryptoJS.pad.Pkcs7});\n  return d.toString(CryptoJS.enc.Utf8);\n}\nfunction ygRespData(respText){\n  var resp=JSON.parse(String(respText));\n  if(!resp.data){return null;}\n  var plain=ygDecryptData(resp.data);\n  var j=JSON.parse(plain);\n  return j.data||j;\n}","lastUpdateTime":"1792764881971","respondTime":180000,"ruleBookInfo":{"canReName":"text","coverUrl":"$.cover","init":"@js:(function(){var d=ygRespData(result);if(d&&d.episodes){for(var i=0;i<d.episodes.length;i++){d.episodes[i].video_id=d.video_id;}}return d||null;})()","intro":"$.description","kind":"$.tags","lastChapter":"@js:('更新至'+result.episode_count+'集')","name":"$.title"},"ruleContent":{"content":"@js:(function(){var d=ygRespData(result);return d?String(d.video_url||''):'';})()","sourceRegex":".*\\.m3u8.*"},"ruleExplore":{"bookList":"@js:(function(){var d=ygRespData(result);return d?(d.list||[]):[];})()","bookUrl":"@js:ygUrlCfg('\/playlet\/detail',ygMerge({id:result.video_id}))","coverUrl":"$.cover","kind":"$.tags","lastChapter":"@js:String(result.episode_id)","name":"$.title","wordCount":"@js:(result.play_count_text+'播放')"},"ruleSearch":{"bookList":"@js:(function(){var d=ygRespData(result);return d?(d.list||[]):[];})()","bookUrl":"@js:ygUrlCfg('\/playlet\/detail',ygMerge({id:result.video_id}))","checkKeyWord":"探花","coverUrl":"$.cover","intro":"$.description","kind":"$.tags","lastChapter":"@js:(result.episodes+'集')","name":"$.title","wordCount":"@js:(result.play_count_text+'播放')"},"ruleToc":{"chapterList":"@js:(function(){var d=ygRespData(result);if(d&&d.episodes&&d.video_id){for(var i=0;i<d.episodes.length;i++){d.episodes[i].video_id=d.video_id;}}return d?(d.episodes||[]):[];})()","chapterName":"@js:(result.sort+'.'+result.title)","chapterUrl":"@js:ygPlayUrlCfg(result.id,result.video_id)"},"searchUrl":"@js:(function(){return ygUrlCfg('\/search\/result',ygMerge({keyword:key,page:String(page||1)}));})()","weight":0}]