[
  {
    "articleStyle": 0,
    "customOrder": -10100991,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "{\"User-Agent\": \"okhttp/3.8.1\"}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "$.posts[*]||$.gameapps[*]",
    "ruleContent": "<h3>{{$.post.title}}</h3>\n{{$.post.detail##<image>(.*?),.*?</image>##<img src=\"$1\">}}\n🩹{{$.post.images[*]}}🩹\n<br><hr><br>\n<h1>评论</h1>\n\n@js:\nresult=result.replace(/\\n/g,'<br>').replace(/<\\/*text>/g,'');\nlist=result.match(/🩹[\\s\\S]+?🩹/)?result.match(/🩹([\\s\\S]+?)🩹/)[1]:'';\nlist=list?list.split('<br>'):[];\n\ncomments=JSON.parse(src).comments;\npp='';\n\nfor(i in comments){\nauthor=comments[i].user.nick;\nauthorimg='<img class=\"author\" src=\"'+comments[i].user.avatar+'\">';\nimgs=comments[i].images?comments[i].images:[];\ntime='<a class=\"time\">'+java.timeFormat(comments[i].createTime)+\"</a>\";\nt=comments[i].text;\nimglist='';\nfor(i in imgs){\nimglist+='<details><summary style=\"color:red\">点击查看图片</summary><img src=\"'+imgs[i]+'\"></details>\\n'\n}\nnick=comments[i].refComment?comments[i].refComment.nick:'';\n\nrep=comments[i].refComment?comments[i].refComment.text:'';\n\nref=nick?'<div class=\"ref\"><p>回复  '+nick+'</p><p>'+rep+'</p></div>'+t:''\ntext=ref?ref:t;\n\npp+=authorimg+author+'<br>'+String(text).replace(/\\n/g,'<br>')+imglist+'<br>'+time+'<br><br><br>';\n}\nresult=result+pp;\nimg='';\nfor(i in list){\nimg+='<details><summary>点击查看图片</summary><img src=\"'+list[i]+'\"></details>\\n'\n}\nresult=String(result).replace(/🩹[\\s\\S]+?🩹|🩹🩹/g,img);\nresult=result.replace(/([^\"])(http[^<\\s\"]+)/g,'$1<a href=\"$2\">$2</a>')",
    "ruleDescription": "<img style=\"width:40px;height:40px\" src=\"{{$.applogo}}\">   {{$.apptitle}}<br>\n<p class=\"tag\">{{$.appsize}}m   {{$.applanguage}}   {{$.appauthorization}}   version{{$.appversion}}   {{$.system}}<p>\n<a href=\"{{$.localurl.url}}\">点击下载</a><br>\n{{$.appdesc}}\n\n<js>result=baseUrl.match(/search/)?result:''</js>",
    "ruleImage": "$.images[0]||$.applogo",
    "ruleLink": "http://floor.huluxia.com/post/detail/ANDROID/2.3?platform=2&gkey=000000&app_version=4.1.1.3&versioncode=320&market_id=tool_web&post_id={{$.postID||$.shareurl##(\\d+)##$1###}}&page_no=1&page_size=20&doc=1",
    "ruleNextPage": "page",
    "rulePubDate": "<js>\nif(baseUrl.match(/search/)){\nappsize='{{$.appsize}}m';\ntag='{{$.apptags}}';\ntime=java.timeFormat('{{$.createTime}}000');\nresult=appsize+'•'+tag+'•'+time\n}else{result=java.timeFormat('{{$.createTime}}')}\n</js>",
    "ruleTitle": "$.title||$.apptitle",
    "singleUrl": false,
    "sortUrl": "实用软件::http://floor.huluxia.com/post/list/ANDROID/2.1?platform=2&gkey=000000&app_version=4.1.1.3&versioncode=320&market_id=tool_web&start={{Date.now()}}&count=200&cat_id=43&tag_id=0&sort_by=1\n\n绿色软件::http://floor.huluxia.com/post/list/ANDROID/2.1?platform=2&gkey=000000&app_version=4.1.1.3&versioncode=320&market_id=tool_web&start={{Date.now()}}&count=200&cat_id=43&tag_id=4301&sort_by=1\n原创工具::http://floor.huluxia.com/post/list/ANDROID/2.1?platform=2&gkey=000000&app_version=4.1.1.3&versioncode=320&market_id=tool_web&start={{Date.now()}}&count=200&cat_id=43&tag_id=4302&sort_by=0\n影音播放::http://floor.huluxia.com/post/list/ANDROID/2.1?platform=2&gkey=000000&app_version=4.1.1.3&versioncode=320&market_id=tool_web&start={{Date.now()}}&count=200&cat_id=43&tag_id=4304&sort_by=0\n集合贴::http://floor.huluxia.com/post/list/ANDROID/2.1?platform=2&gkey=000000&app_version=4.1.1.3&versioncode=320&market_id=tool_web&start={{Date.now()}}&count=200&cat_id=43&tag_id=4303&sort_by=0\n\n玩机教程::http://floor.huluxia.com/post/list/ANDROID/2.1?platform=2&gkey=000000&app_version=4.1.1.3&versioncode=320&market_id=tool_web&start={{Date.now()}}&count=200&cat_id=44&tag_id=0&sort_by=0\n优选教程::http://floor.huluxia.com/post/list/ANDROID/2.1?platform=2&gkey=000000&app_version=4.1.1.3&versioncode=320&market_id=tool_web&start={{Date.now()}}&count=200&cat_id=44&tag_id=4406&sort_by=0\n软件使用::http://floor.huluxia.com/post/list/ANDROID/2.1?platform=2&gkey=000000&app_version=4.1.1.3&versioncode=320&market_id=tool_web&start={{Date.now()}}&count=200&cat_id=44&tag_id=4401&sort_by=0\n刷机相关::http://floor.huluxia.com/post/list/ANDROID/2.1?platform=2&gkey=000000&app_version=4.1.1.3&versioncode=320&market_id=tool_web&start={{Date.now()}}&count=200&cat_id=44&tag_id=4403&sort_by=0\nROM资源::http://floor.huluxia.com/post/list/ANDROID/2.1?platform=2&gkey=000000&app_version=4.1.1.3&versioncode=320&market_id=tool_web&start={{Date.now()}}&count=200&cat_id=44&tag_id=4405&sort_by=0\n搜索软件::http://search.huluxia.com/game/search/ANDROID/4.0.1?platform=2&gkey=000000&app_version=4.1.1.3&versioncode=320&market_id=tool_web&start={{(page-1)*20}}&count=20&keyword={{source.getVariable()}}",
    "sourceComment": "按发布时间排序 sort_by=1\n按回复时间排序 sort_by=0\n按本版精华排序 sort_by=2",
    "sourceGroup": "🛠 工具,R18",
    "sourceIcon": "http://peco-img.uc.cn/image/quark_baike/upload/2022/27HwTN1fq0c2u3v/bed0926027b99ff2fa8cdb16b16f416d.jpg",
    "sourceName": "葫芦侠",
    "sourceUrl": "http://floor.huluxia.com",
    "style": "img{\nwidth:100%;\nheight:auto\n}\n.author{\nwidth:20px;\nheight:20px\n}\n.ref{\ncolor:#888\n}\n.time{\nfont-size:12px\n}\n.tag{\ncolor:#555;\nfont-size:12px\n}"
  },
  {
    "articleStyle": 0,
    "customOrder": -10100990,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "injectJs": "//$(\"div.layui-panel\").eq(0).remove();\nsetInterval(function () {\n    $(\"div.layui-hide-md\").css(\"display\",\"none\");\n},100)",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "🛰️ 科技,R18",
    "sourceIcon": "https://www.yckceo.com/favicon.ico",
    "sourceName": "源仓库(去底部广告）",
    "sourceUrl": "https://www.yckceo.com/"
  },
  {
    "articleStyle": 1,
    "customOrder": -10100989,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "{\n \"User-Agent\":\"Mozilla/5.0 (Linux; Android 12; HarmonyOS; OCE-AN50; HMSCore 6.15.0.302) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.5735.196 HuaweiBrowser/16.0.3.302 Mobile Safari/537.36\",\n \"Cookie\":\"accessAgeDisclaimerPH=1; x-index-auth=authed\",\n \"Accept-Encoding\":\"\"\n}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginUi": "",
    "loginUrl": "",
    "ruleArticles": "class.thumbnail group",
    "ruleContent": "<js>\nfunction $(rule){\n\treturn java.getElements(rule);\n}\n\nvar u=\"\",tab_name=\"\",url_list=\"\";\njx=\"https://codjx.com?url=\";\ntab_name+=`<li>画质</li>\\n`;\nv_source=String(result).match(/eval\\((.*m3u8.*video.*)\\)/)[0];\neval(v_source)\nv_res=java.ajax(source)\ndata=String(v_res).match(/.*video\\.m3u8/g)\nfor(i=data.length-1;i>=0;i--){\n\tlink=source.replace('playlist.m3u8',data[i])\n\tif(String(data[i]).match(/x/)){\n\t\tname=String(data[i]).match(/(\\d+)\\//)[1]+\"p\";\n\t}else{\n\t\tname=String(data[i]).match(/(.*)\\//)[1];\n\t}\n\turl_list+=`<li><a link=\"${link}\">${name}</a></li>\\n`\n}\nurl_list+=`<li><a link=\"${source}\">自动</a></li>\\n`\nv_list=`<ul class=\"play_list\">${url_list}</ul>`;\n//获取简介❗️\ndesc=info=$('.space-y-2 .text-secondary.1').text();\ndesc=String(desc).replace(/番号:|番號:|發行日期:|发行日期:/,'');\nsort=` `;\nintro=`中文:${java.get('title')}<br>`;\ninfo=$('.space-y-2 .text-secondary')\nfor(i=1;i<info.length-1;i++){\n\tintro+=`${info[i].text()}<br>`\n}\nintro=java.t2s(intro)\n\n//最后结果，拼接完整网页\nresult=`\n<html>\n<title>${java.get('title')}</title>\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no\">\n<!--引入jquery-->\n<script src=\"https://code.jquery.com/jquery-3.0.0.min.js\"></script>\n\n<!--播放器-->\n<div id=\"MacPlayer\">\n  <p class=\"url_text\"></p>\n  <iframe src=\"\" border=\"0\" marginwidth=\"0\" framespacing=\"0\" marginheight=\"0\" frameborder=\"0\" scrolling=\"no\" vspale=\"0\" allowfullscreen=\"ture\" noresize=\"\"></iframe>\n</div>\n<div style=\"width:100%;height:29%\"></div>\n\n<!--简介卡片 -->\n<div class=\"card v_info mb20\">\n    <!--标题 -->\n    <h2 class=\"v_title\"></h2>\n    <!--状态、日期、分类 -->\n    <p class=\"v_desc\">\n       <span class=\"desc\">${desc}</span>\n       <span>${sort}</span>\n       <!--简介按钮 -->\n       <span class=\"open_content\" id=\"open_content\">简介</span>\n    </p>\n    <div class=\"v_content\" id=\"v_content\" style=\"display:none;\">\n      <!--封面图片 -->\n      <div class=\"cover\" style=\"\">\n         <img src=\"${java.get('pic')}\"></img>\n      </div>\n      <!--剧情信息 -->\n      <div class=\"content\" id=\"intro_content\">\n        <div id=\"intro\">\n       <p>${intro}</p>\n       <!--简介展开 -->\n      <div class=\"show_more\" id=\"show_more\" style=\"display: block;\"></div>\n            </div>\n        </div>\n    </div>\n</div>\n\n<div class=\"card mb20 v_list\">\n    <!--线路切换-->\n    <ul class=\"tab_control play_from\">\n        ${tab_name}\n    </ul>\n    <div style=\"height:34px;\"></div>\n    <!--所有播放列表与排序-->\n    <div class=\"tab_content\" id=\"play_list\">\n        <div class=\"play_list_sort\" id=\"play_list_sort\">\n⇅ 正序/倒序</div>\n        ${v_list}\n    </div>\n</div>\n</html>\n\n<script>\n\t//tab按钮线路切换\n var $li = $('.tab_control li');\n var $ul = $('.tab_content ul');\n $li.click(function(){\n    var $this = $(this);\n    var $t = $this.index();\n    $li.removeClass('current');\n    $this.addClass('current');\n    $ul.removeClass('current');\n    $ul.eq($t).addClass('current');\n });\n //选择集数\n var $play_li= $('.play_list li');\n var play= $('#MacPlayer');\n var iframe= $('#MacPlayer iframe');\n $play_li.click(function(){\n    var $this = $(this);\n    var $t=$this.index();\n    //获取之前的播放链接\n    var bf=$('.play_list li.current');\n    bf=bf.children('a').attr('link');\n    //改变li标签的CSS样式\n    $play_li.removeClass('current');\n    $this.addClass('current');\n    //获取播放链接和标题\n    url=$this.children('a').attr('link');\n    text=$this.children('a').text();\n    //判断链接是否相同，不同就发送请求\n    if(url!=bf){\n    \trep();\n    }\n });\n //替换\n function rep(){\n      //给iframe的src赋值\n      iframe.attr('src',url);\n      //$('.url_text').text(url);\n  }\n //播放列表排序 \n function set_sort(){ \n \t var box = $('#play_list ul.current');\n \t var el = box.find('li');\n \t var newEl = Array.prototype.reverse.call(el);\n \t for(var i = 0 ;i<newEl.length;i++){\n \t  \t box.append(newEl[i]) \n \t }; \n \t}\n $('#play_list_sort').bind('click',function(){ \n \t  set_sort(); \n \t});\n \t\n \t//-------------详情页相关-------------- \n \tvar open_content = $('#open_content');\n \tvar intro_content = $('#intro_content'); \n \tvar show_more = $('#show_more'); \n \tvar cover = $('#v_content .cover'); \n \t//展开简历块 \n \topen_content.click(function(){ \n \t\t$('#v_content').toggle(); \n \t}); \n \t//内容超出显示更多按钮 \n \tif($(\"#intro\").length>0){\n \t\t var intro_height = $('#intro').get(0).offsetHeight; \n \t\t if(intro_height > 101){\n \t\t \t show_more.show(); \n \t\t \t}; \n \t} \n \t//展开更多内容 \n \tintro_content.click(function(){\n \t\t intro_content.toggleClass('auto'); \n \t\t show_more.toggle(); \n \t\t cover.toggle(); \n \t});\n \t\n \t//初始化\n   (()=>{\n   \t $('.play_list').eq(0).addClass('current');\n\t    $('.play_list li').eq(0).addClass('current');\n\t    $('.tab_control li').eq(0).addClass('current');\n\t    url=$('.play_list li.current a').attr('link');\n\t    rep();\n\t  })();\n</script>\n`\n</js>",
    "ruleDescription": "",
    "ruleImage": "img@data-src\n<js>\njava.put('pic',result)\n</js>",
    "ruleLink": "a[x-text=\"item.full_title\"]@href||a.0@href",
    "ruleNextPage": "page",
    "rulePubDate": "<js>\nsort=\"\";\nresult=java.getElements('.text-xs');\nlen=result.length-1\nfor(i=len;i>=0;i--){\n\tt=result[i].text();\n\ti==len?sort+='🕒'+t:sort+='  '+t;\n}\nsort\n</js>",
    "ruleTitle": ".text-secondary@text\n<js>\njava.put('title',result)\n</js>",
    "singleUrl": false,
    "sortUrl": "<js>\neval(String(source.sourceComment))\nresult=`\n本日::${host}/today-hot?page={{page}}\n搜索::${host}/search/{{source.getVariable()}}\n本周::${host}/weekly-hot?page={{page}}\n本月::${host}/monthly-hot?page={{page}}\n更新::${host}/new?page={{page}}\n新作::${host}/release?page={{page}}\n流出::${host}/uncensored-leak?page={{page}}\n`\n</js>",
    "sourceComment": "  host=\"https://www.missav2.icu/cn\"\n/*\n\thttps://missav.ws/zh\n*/",
    "sourceGroup": "video,R18",
    "sourceIcon": "https://img1.baidu.com/it/u=3056428239,816616493&fm=253&fmt=auto&app=138&f=PNG?w=237&h=237",
    "sourceName": "MissAV",
    "sourceUrl": "MissAV",
    "style": "*{\n\tmargin:0;padding:0;\n}\nhtml{\n\tbackground-color:#222;\n}\na{\n\ttext-decoration:none;\n\tcolor:#222;\n}\nul{\n\tlist-style:none;\n}\niframe{\n\twidth:100%;height:100%;\n}\nh1,h2,h3,h4,h5,h6{\n\tfont-size:100%;font-weight:normal;\n}\nimg,video{\n\theight:auto;max-width:100%;\n}\n#MacPlayer{\n\tz-index:9999;\n\twidth:100%;height:auto;\n\tposition:fixed;top:0;left:0;\n\tbackground-color:black;\n}\n#MacPlayer iframe{\n\twidth:100%;height:217px;\n}\n.url_text{\n\toverflow-x:hidden;\n\twidth:100%;height:auto;\n\tcolor:#fff;background-color:black;\n\tfont-size:10px;white-space: nowrap;\n}\n\n/*块通用*/ \n.card{padding:15px 15px 0 15px;}\n.card .c_header{display: flex;flex-direction: row;justify-content: space-between;padding-bottom:20px;} \n.card .c_title{font-size:18px;color:#fff;font-weight:700;} \n.card .c_title a{color:#fff;} \n.card .c_right a{color:#666;} \n.card .clear_history{color:#FDD835;display:none;}\n\n/*详情页资料卡*/ \n.v_info .v_title,.v_info .v_title{font-size:22px;color:#eee;line-height:26px;} .v_info .v_desc{position:relative;font-size:12px;color:#999;padding-top:4px;} .v_info .v_desc a{color:#999;} .v_info .v_desc .desc{color:#FF3D00;font-weight:700;} .v_info .hr{color:#666;padding:0 4px;} .v_info .open_content{position:absolute;bottom:0;right:20px;color:#FFB026;text-decoration: underline;padding-left:10px;} .v_info .v_content{display:flex;padding-top:20px;} .v_info .cover,.v_info img{width:auto;height:100px;background:#333;} .v_info .cover{margin-right:10px;} .v_info .content{height:101px;overflow:hidden;font-size:12px;flex:1;color:#999;line-height:19px;position: relative;} .v_info .show_more{position: absolute;bottom:0;right:0;width:100%;padding:38px 0 19px 0;height:19px;background: linear-gradient(to bottom, rgba(34,34,34,0) 0%,rgba(34,34,34,1) 100%);color:#eee;text-align:center;display:none;} .v_info .auto{height:auto;}\n\n/*tab */ \n.tab_control{position:absolute;display: flex;flex-direction: row;overflow-x:scroll;width:92.3%} \n.tab_control li{flex:1;position:relative;height:30px;line-height:34px;top:4px;text-align:center;color:#666;cursor:pointer;overflow: hidden;} \n.tab_control li span{display: inline-block;min-width: 10px;padding: 2px 2px;font-size: 9px;font-weight: 700;line-height: 1;color: #fff;text-align: center;white-space: nowrap;vertical-align: middle;background-color:#FFB026;border-radius: 2px;}\n.tab_control li.current{z-index:99;height:37px;font-weight:700;color:#eee;background-image:linear-gradient(180deg, #BF360C 0%, #333 90%);border-radius: 4px 4px 0 0;} \n.tab_content{padding:12px;background: #333;box-shadow: 0 2px 8px 0 rgba(0,0,0,0.50);border-radius: 5px;} \n.tab_content ul.current{display:block;} \n\n/*播放来源、地址、排序*/\n\t.v_list{margin-bottom:20px;} #play_list{position:relative;} #play_list ul.current{display:flex;} .play_from li{flex:none;padding:0 10px;} .play_list{display:none;flex-flow: wrap;margin-right:-10px;} .play_list li{width:20%;margin-bottom:10px;} .play_list li a{overflow:hidden;height:40px;line-height:40px;border-radius: 5px;display:block;background:#222;color:#999;text-align:center;margin-right:10px;} .play_list li a:visited{color:#444;} .play_list li.current a{border: 1px solid #BF360C;color:#BF360C;}\n\n/*处理电影的集数宽度*/ \n.large li{width:25%;} .play_list_sort{padding-bottom:20px;color:#999;} \n\n/*遮罩*/ \n.mask{width:100%;height:100%;background:rgba(0, 0, 0, 0.5);position: fixed;left:0;top:0;display: none;} \n\n/*白天主题配色*/\n@media(prefers-color-scheme:light){\nhtml{background:#FEFEFE;}\n.v_title{color:black !important;}\n.v_desc,.v_desc a,#intro{color:#444 !important;}\n.open_content{color:#4898E0 !important;}\n#show_more{background: linear-gradient(to bottom,transparent,#FEFEFE 100%);}\n.tab_content{background:#FEFEFE;}\n.tab_control li span{background:#4898E0;}\n.tab_control li.current{color:#eee;background: linear-gradient(to bottom,black 10%,white 90%);}\n.play_list li a{color:#444;background:#eee;}\n.play_list li.current a{color:black;border:2px solid black;}\n} \n"
  },
  {
    "articleStyle": 2,
    "customOrder": -10100988,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "@js:\nJSON.stringify({\n  'User-Agent': java.getWebViewUA(),\n  'sec-ch-ua-platform': \"\\\"Android\\\"\",\n  'x-requested-with': \"cn.mujiankeji.mbrowser\",\n  'Accept-language': \"zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7\"\n})",
    "jsLib": "var r = {\n\t\"sourl\": \"ged520\",\n\t\"jk\":\"1\",\n\t\"type\": \"订阅源\",\n\t\"key\":\"\",\n\t\"name\":\"辞晨\",\n\t\"page\":\"1\"\n};\t\n\nvar api = [\n\t\"ged520\"\n]\nlet img='http://srcbs.cn/cyapi.php';\nlet imd='http://ged520.yesui.me/static/img/txs.png';\nlet imo='https://api.mtyqx.cn/tapi/random.php';\nlet imh='https://t.alcy.cc/ycy';\nlet imp='https://t.alcy.cc/ai';\nlet imk='https://t.alcy.cc/ysz';\nlet iml='https://t.alcy.cc/moemp';\nlet imj=\"https://t.alcy.cc/mp\";\nfunction showPopup(b) {\n    const { java, source } = this;\n    let sleep = Packages.java.lang.Thread.sleep;\n    for (let t = 0; t < 5; t++) {\n        let tim = Math.floor(Math.random() * 401);\n        let totalDelay = 1200 - tim;\n        //java.log(`第${t + 1}次弹窗，随机延迟时间：${tim}ms，总延迟时间：${totalDelay}ms`);\n        sleep(totalDelay);\n        java.toast(b);\n    }\n}\n\nvar _0xod1='jsjiami.com.v7';function _0x542b(_0x34bbb4,_0x5c7567){const _0x34a4d9=_0x34a4();return _0x542b=function(_0x542bcd,_0x32ff41){_0x542bcd=_0x542bcd-0x18c;let _0x24d83c=_0x34a4d9[_0x542bcd];if(_0x542b['BDbVZG']===undefined){var _0x3ed1cc=function(_0x58cd9b){const _0x26eae6='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x40cd60='',_0xb4a3fd='';for(let _0x490fe6=0x0,_0x360dfb,_0x569f9a,_0xabb60d=0x0;_0x569f9a=_0x58cd9b['charAt'](_0xabb60d++);~_0x569f9a&&(_0x360dfb=_0x490fe6%0x4?_0x360dfb*0x40+_0x569f9a:_0x569f9a,_0x490fe6++%0x4)?_0x40cd60+=String['fromCharCode'](0xff&_0x360dfb>>(-0x2*_0x490fe6&0x6)):0x0){_0x569f9a=_0x26eae6['indexOf'](_0x569f9a);}for(let _0xddc495=0x0,_0x25f1e5=_0x40cd60['length'];_0xddc495<_0x25f1e5;_0xddc495++){_0xb4a3fd+='%'+('00'+_0x40cd60['charCodeAt'](_0xddc495)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xb4a3fd);};const _0x455eff=function(_0x3b0d37,_0x218c5e){let _0x1fbd57=[],_0x3b0af2=0x0,_0xbe080e,_0x180299='';_0x3b0d37=_0x3ed1cc(_0x3b0d37);let _0x11d42d;for(_0x11d42d=0x0;_0x11d42d<0x100;_0x11d42d++){_0x1fbd57[_0x11d42d]=_0x11d42d;}for(_0x11d42d=0x0;_0x11d42d<0x100;_0x11d42d++){_0x3b0af2=(_0x3b0af2+_0x1fbd57[_0x11d42d]+_0x218c5e['charCodeAt'](_0x11d42d%_0x218c5e['length']))%0x100,_0xbe080e=_0x1fbd57[_0x11d42d],_0x1fbd57[_0x11d42d]=_0x1fbd57[_0x3b0af2],_0x1fbd57[_0x3b0af2]=_0xbe080e;}_0x11d42d=0x0,_0x3b0af2=0x0;for(let _0xf33728=0x0;_0xf33728<_0x3b0d37['length'];_0xf33728++){_0x11d42d=(_0x11d42d+0x1)%0x100,_0x3b0af2=(_0x3b0af2+_0x1fbd57[_0x11d42d])%0x100,_0xbe080e=_0x1fbd57[_0x11d42d],_0x1fbd57[_0x11d42d]=_0x1fbd57[_0x3b0af2],_0x1fbd57[_0x3b0af2]=_0xbe080e,_0x180299+=String['fromCharCode'](_0x3b0d37['charCodeAt'](_0xf33728)^_0x1fbd57[(_0x1fbd57[_0x11d42d]+_0x1fbd57[_0x3b0af2])%0x100]);}return _0x180299;};_0x542b['nRJaAS']=_0x455eff,_0x34bbb4=arguments,_0x542b['BDbVZG']=!![];}const _0x237a6a=_0x34a4d9[0x0],_0x4142d9=_0x542bcd+_0x237a6a,_0xdd5dd5=_0x34bbb4[_0x4142d9];return!_0xdd5dd5?(_0x542b['hSqtqs']===undefined&&(_0x542b['hSqtqs']=!![]),_0x24d83c=_0x542b['nRJaAS'](_0x24d83c,_0x32ff41),_0x34bbb4[_0x4142d9]=_0x24d83c):_0x24d83c=_0xdd5dd5,_0x24d83c;},_0x542b(_0x34bbb4,_0x5c7567);}(function(_0x137828,_0x4322f0,_0x1d454d,_0x329929,_0x145fef,_0x4b4536,_0x23601b){return _0x137828=_0x137828>>0x9,_0x4b4536='hs',_0x23601b='hs',function(_0x1afc55,_0x35dd82,_0x3eee77,_0x4b7b36,_0xe576a4){const _0x258989=_0x542b;_0x4b7b36='tfi',_0x4b4536=_0x4b7b36+_0x4b4536,_0xe576a4='up',_0x23601b+=_0xe576a4,_0x4b4536=_0x3eee77(_0x4b4536),_0x23601b=_0x3eee77(_0x23601b),_0x3eee77=0x0;const _0x262e44=_0x1afc55();while(!![]&&--_0x329929+_0x35dd82){try{_0x4b7b36=-parseInt(_0x258989(0x191,'8lEO'))/0x1*(parseInt(_0x258989(0x19c,'fLYJ'))/0x2)+-parseInt(_0x258989(0x18f,'qC#!'))/0x3+parseInt(_0x258989(0x199,'%07@'))/0x4+parseInt(_0x258989(0x18c,'XnVg'))/0x5+parseInt(_0x258989(0x192,'Cs5z'))/0x6+-parseInt(_0x258989(0x196,'qwkx'))/0x7+parseInt(_0x258989(0x193,'dz%J'))/0x8;}catch(_0x4b6d2c){_0x4b7b36=_0x3eee77;}finally{_0xe576a4=_0x262e44[_0x4b4536]();if(_0x137828<=_0x329929)_0x3eee77?_0x145fef?_0x4b7b36=_0xe576a4:_0x145fef=_0xe576a4:_0x3eee77=_0xe576a4;else{if(_0x3eee77==_0x145fef['replace'](/[UYftSbOxQeLhCuFTVArR=]/g,'')){if(_0x4b7b36===_0x35dd82){_0x262e44['un'+_0x4b4536](_0xe576a4);break;}_0x262e44[_0x23601b](_0xe576a4);}}}}}(_0x1d454d,_0x4322f0,function(_0xb008d5,_0x4921f3,_0xb1ce89,_0x2754a4,_0x4b8f17,_0x70c132,_0xca23ea){return _0x4921f3='\\x73\\x70\\x6c\\x69\\x74',_0xb008d5=arguments[0x0],_0xb008d5=_0xb008d5[_0x4921f3](''),_0xb1ce89='\\x72\\x65\\x76\\x65\\x72\\x73\\x65',_0xb008d5=_0xb008d5[_0xb1ce89]('\\x76'),_0x2754a4='\\x6a\\x6f\\x69\\x6e',(0x1a2339,_0xb008d5[_0x2754a4](''));});}(0x19000,0xd9a5d,_0x34a4,0xca),_0x34a4)&&(_0xod1=0xca);function getKey(){const _0x2d7f44=_0x542b,_0x5d6a20={'eVsyY':function(_0x347084,_0x11aca1){return _0x347084+_0x11aca1;}},_0x1cb17f={'_0x9abc':this[_0x2d7f44(0x197,'Di9B')],'_0xdef0':this[_0x2d7f44(0x18e,'GOqk')]},_0x48aa2d=_0x1cb17f['_0x9abc'];let _0x4c6f58;{const _0x5d0791=_0x1cb17f[_0x2d7f44(0x195,'Jl([')];_0x4c6f58=_0x5d0791[_0x2d7f44(0x194,'%Hvb')]();}return _0x5d6a20['eVsyY'](_0x4c6f58,'');}function _0x34a4(){const _0x35f7e2=(function(){return[_0xod1,'COFSjthsbjbfUihaLumYiT.VecfoOQm.Avfrr7xR==','W6ldRSowrCkMW5hdR1xdJq','WQz8WP/cOSkJcmkR','W7VdICkjkxBdV2JcVZrAE8kejW','WO5Lt8kn','DvFdG8oRW6rnW7i5yhhdSmkjW5K'].concat((function(){return['W7BdUCoSgY/cSMDjWOrftYu3','b8k4FbNcJCoPoCk/W48LW77dLSkv','W5hdPNVcIMfkWRXgWOtdGSkzcSo9','W4JdK8obi8kzW7hdLIjOW7iF','WR1uWQpdUtqubSkUW65pW7nbzG','f8kwc8otwCocgKjfWO0MWPhcSa','j2NdOehdPtm'].concat((function(){return['r8kVFKeiWRBdMwpdIJ4iW7VdNG','DvFdGmoOW6rfW7ilt3pdOmkpW6m','W5RdRr/dQISrW5Dg','W6udWQmIW4rGWP15WRTTW4pdRJG','f8kxdCosxSocgwD2WPypWPtcOG'];}()));}()));}());_0x34a4=function(){return _0x35f7e2;};return _0x34a4();};var version_ = 'jsjiami.com.v7';\n\tvar _0xody='jsjiami.com.v7';function _0x1a13(_0x5ca468,_0x56efdf){const _0x1a6566=_0x1a65();return _0x1a13=function(_0x1a13b7,_0x290c7e){_0x1a13b7=_0x1a13b7-0x1ba;let _0x46df82=_0x1a6566[_0x1a13b7];if(_0x1a13['xSWKUD']===undefined){var _0x4a80b4=function(_0x535a86){const _0x2151e5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3c659b='',_0x3b3aed='';for(let _0xbd63e8=0x0,_0x2e0fcf,_0x483625,_0x18327c=0x0;_0x483625=_0x535a86['charAt'](_0x18327c++);~_0x483625&&(_0x2e0fcf=_0xbd63e8%0x4?_0x2e0fcf*0x40+_0x483625:_0x483625,_0xbd63e8++%0x4)?_0x3c659b+=String['fromCharCode'](0xff&_0x2e0fcf>>(-0x2*_0xbd63e8&0x6)):0x0){_0x483625=_0x2151e5['indexOf'](_0x483625);}for(let _0x30e978=0x0,_0x1f59b1=_0x3c659b['length'];_0x30e978<_0x1f59b1;_0x30e978++){_0x3b3aed+='%'+('00'+_0x3c659b['charCodeAt'](_0x30e978)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3b3aed);};const _0x200c08=function(_0xdeb63f,_0x883e30){let _0xe38d98=[],_0x10d15a=0x0,_0x538e1c,_0x75f1e='';_0xdeb63f=_0x4a80b4(_0xdeb63f);let _0x11b0d2;for(_0x11b0d2=0x0;_0x11b0d2<0x100;_0x11b0d2++){_0xe38d98[_0x11b0d2]=_0x11b0d2;}for(_0x11b0d2=0x0;_0x11b0d2<0x100;_0x11b0d2++){_0x10d15a=(_0x10d15a+_0xe38d98[_0x11b0d2]+_0x883e30['charCodeAt'](_0x11b0d2%_0x883e30['length']))%0x100,_0x538e1c=_0xe38d98[_0x11b0d2],_0xe38d98[_0x11b0d2]=_0xe38d98[_0x10d15a],_0xe38d98[_0x10d15a]=_0x538e1c;}_0x11b0d2=0x0,_0x10d15a=0x0;for(let _0x2e5899=0x0;_0x2e5899<_0xdeb63f['length'];_0x2e5899++){_0x11b0d2=(_0x11b0d2+0x1)%0x100,_0x10d15a=(_0x10d15a+_0xe38d98[_0x11b0d2])%0x100,_0x538e1c=_0xe38d98[_0x11b0d2],_0xe38d98[_0x11b0d2]=_0xe38d98[_0x10d15a],_0xe38d98[_0x10d15a]=_0x538e1c,_0x75f1e+=String['fromCharCode'](_0xdeb63f['charCodeAt'](_0x2e5899)^_0xe38d98[(_0xe38d98[_0x11b0d2]+_0xe38d98[_0x10d15a])%0x100]);}return _0x75f1e;};_0x1a13['cVOWQx']=_0x200c08,_0x5ca468=arguments,_0x1a13['xSWKUD']=!![];}const _0x2c078e=_0x1a6566[0x0],_0x4cf18e=_0x1a13b7+_0x2c078e,_0x30a7b2=_0x5ca468[_0x4cf18e];return!_0x30a7b2?(_0x1a13['OnosDl']===undefined&&(_0x1a13['OnosDl']=!![]),_0x46df82=_0x1a13['cVOWQx'](_0x46df82,_0x290c7e),_0x5ca468[_0x4cf18e]=_0x46df82):_0x46df82=_0x30a7b2,_0x46df82;},_0x1a13(_0x5ca468,_0x56efdf);}if(function(_0x475555,_0x56d6ea,_0xc0438d,_0x6ba541,_0x165a4f,_0x1d068b,_0x21e050){return _0x475555=_0x475555>>0x7,_0x1d068b='hs',_0x21e050='hs',function(_0x1232b8,_0x591192,_0x26f37d,_0x3623ed,_0x459b45){const _0x31a92b=_0x1a13;_0x3623ed='tfi',_0x1d068b=_0x3623ed+_0x1d068b,_0x459b45='up',_0x21e050+=_0x459b45,_0x1d068b=_0x26f37d(_0x1d068b),_0x21e050=_0x26f37d(_0x21e050),_0x26f37d=0x0;const _0x59d13e=_0x1232b8();while(!![]&&--_0x6ba541+_0x591192){try{_0x3623ed=-parseInt(_0x31a92b(0x1c1,'jzqT'))/0x1*(parseInt(_0x31a92b(0x1be,'F&Jm'))/0x2)+-parseInt(_0x31a92b(0x1bf,'TFA8'))/0x3+parseInt(_0x31a92b(0x1c8,'F&Jm'))/0x4+-parseInt(_0x31a92b(0x1bb,'zE$Y'))/0x5+-parseInt(_0x31a92b(0x1c6,'TFA8'))/0x6+-parseInt(_0x31a92b(0x1c5,'@zoe'))/0x7+-parseInt(_0x31a92b(0x1ba,'fA%$'))/0x8*(-parseInt(_0x31a92b(0x1c9,'VQgZ'))/0x9);}catch(_0x240a26){_0x3623ed=_0x26f37d;}finally{_0x459b45=_0x59d13e[_0x1d068b]();if(_0x475555<=_0x6ba541)_0x26f37d?_0x165a4f?_0x3623ed=_0x459b45:_0x165a4f=_0x459b45:_0x26f37d=_0x459b45;else{if(_0x26f37d==_0x165a4f['replace'](/[qLIQkurNHwEpBxTeUJC=]/g,'')){if(_0x3623ed===_0x591192){_0x59d13e['un'+_0x1d068b](_0x459b45);break;}_0x59d13e[_0x21e050](_0x459b45);}}}}}(_0xc0438d,_0x56d6ea,function(_0x5e4032,_0x16d1a9,_0x2e2365,_0x4c27c5,_0x39d4dc,_0x921cc2,_0x59eab8){return _0x16d1a9='\\x73\\x70\\x6c\\x69\\x74',_0x5e4032=arguments[0x0],_0x5e4032=_0x5e4032[_0x16d1a9](''),_0x2e2365='\\x72\\x65\\x76\\x65\\x72\\x73\\x65',_0x5e4032=_0x5e4032[_0x2e2365]('\\x76'),_0x4c27c5='\\x6a\\x6f\\x69\\x6e',(0x1a2219,_0x5e4032[_0x4c27c5](''));});}(0x6200,0x2c035,_0x1a65,0xc6),_0x1a65){}function _0x1a65(){const _0x5e7822=(function(){return[_0xody,'IQrBjTJskjLuixapmCNiuw.qHceQoUEmLC.evL7J==','WOxdRCoiW7TRWQe3zmkS','vLL1ymoCW7xdMYxdUSkQfW','sWZdP8ohW4TRf1FcHa3cM8orua','W53dHCoUW7TNWQyE','W6XFWRm4W4BcQmoMDwpcON8ceG'].concat((function(){return['W7NdNXbbW6T5iG','W67cN8kyWReYn2SbWOVdTCkBBCoO','DM9EWPpdMf7cI8oTcmogbCkszG','W4NcUSooW7L4W7VdSWCuW48Lta8','WRbiWPzFW5WqwvNdVKldRanp','W6LzWRS9W4VdICk2x3lcOLe','tq/dOCofW49Nv1dcSqJcUSoM'].concat((function(){return['WRTEWQtcQdRcImkFBIXUWOxcKa','W7SyadxdJ3FdHJq','ngVdLfJcPGW+vvRcTXq','oSoUzmoWh8o4W4i0WOBcNLNdGCoG'];}()));}()));}());_0x1a65=function(){return _0x5e7822;};return _0x1a65();};function key(){const _0x19bf88=_0x1a13,{java:_0x30e978,source:_0x1f59b1}=this;let _0xdeb63f=_0x30e978[_0x19bf88(0x1c4,'SKl!')]();return _0xdeb63f;}var version_ = 'jsjiami.com.v7';\n\nua = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36 Edg/132.0.2957.129';\n\nfunction getInfo(name, source) {\n\treturn source.getLoginInfoMap() && source.getLoginInfoMap().get(name);\n} \t\t\t\nfb='amF2YS50b2FzdCgnXG7wn5SW6K+l5Yqf6IO95pqC5pe25YWz6Zet8J+Ulicp'\nvar _0xody='jsjiami.com.v7';(function(_0x3321bc,_0x55adc0,_0x3e6d24,_0x3dda67,_0xd10d38,_0x294081,_0x55509c){return _0x3321bc=_0x3321bc>>0x9,_0x294081='hs',_0x55509c='hs',function(_0x507239,_0x5c9ea2,_0x351a81,_0x25ce41,_0x12121f){const _0x30fdcb=_0x54f9;_0x25ce41='tfi',_0x294081=_0x25ce41+_0x294081,_0x12121f='up',_0x55509c+=_0x12121f,_0x294081=_0x351a81(_0x294081),_0x55509c=_0x351a81(_0x55509c),_0x351a81=0x0;const _0xe3ef06=_0x507239();while(!![]&&--_0x3dda67+_0x5c9ea2){try{_0x25ce41=-parseInt(_0x30fdcb(0x1f8,'0A!i'))/0x1*(parseInt(_0x30fdcb(0x1fd,'Nv&!'))/0x2)+-parseInt(_0x30fdcb(0x1fc,'H!T('))/0x3+parseInt(_0x30fdcb(0x1fb,'PPBn'))/0x4*(parseInt(_0x30fdcb(0x1f7,'QiQJ'))/0x5)+parseInt(_0x30fdcb(0x203,'RQsd'))/0x6*(parseInt(_0x30fdcb(0x20d,'RRzY'))/0x7)+-parseInt(_0x30fdcb(0x208,'[p2*'))/0x8*(-parseInt(_0x30fdcb(0x1f6,'H!T('))/0x9)+-parseInt(_0x30fdcb(0x207,'RRzY'))/0xa*(parseInt(_0x30fdcb(0x205,'0Wda'))/0xb)+-parseInt(_0x30fdcb(0x210,'0O^@'))/0xc;}catch(_0x117a83){_0x25ce41=_0x351a81;}finally{_0x12121f=_0xe3ef06[_0x294081]();if(_0x3321bc<=_0x3dda67)_0x351a81?_0xd10d38?_0x25ce41=_0x12121f:_0xd10d38=_0x12121f:_0x351a81=_0x12121f;else{if(_0x351a81==_0xd10d38['replace'](/[FyrGEpLRPqwhWOXJKYQ=]/g,'')){if(_0x25ce41===_0x5c9ea2){_0xe3ef06['un'+_0x294081](_0x12121f);break;}_0xe3ef06[_0x55509c](_0x12121f);}}}}}(_0x3e6d24,_0x55adc0,function(_0x5a59e0,_0x5d7f76,_0x176ec9,_0x1238d8,_0xbc74a7,_0x425732,_0x2ba70e){return _0x5d7f76='\\x73\\x70\\x6c\\x69\\x74',_0x5a59e0=arguments[0x0],_0x5a59e0=_0x5a59e0[_0x5d7f76](''),_0x176ec9='\\x72\\x65\\x76\\x65\\x72\\x73\\x65',_0x5a59e0=_0x5a59e0[_0x176ec9]('\\x76'),_0x1238d8='\\x6a\\x6f\\x69\\x6e',(0x1a03c1,_0x5a59e0[_0x1238d8](''));});}(0x18400,0x74784,_0x598e,0xc4),_0x598e)&&(_0xody=0xc4);function _0x54f9(_0x2a6d25,_0x8d9d31){const _0x598e8c=_0x598e();return _0x54f9=function(_0x54f974,_0x2f0253){_0x54f974=_0x54f974-0x1f4;let _0x34621a=_0x598e8c[_0x54f974];if(_0x54f9['RypEpU']===undefined){var _0x33558e=function(_0xa8e58){const _0x5d0a90='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x48bcce='',_0x42bdae='';for(let _0x19c70f=0x0,_0x42cb9a,_0x1eed11,_0x131926=0x0;_0x1eed11=_0xa8e58['charAt'](_0x131926++);~_0x1eed11&&(_0x42cb9a=_0x19c70f%0x4?_0x42cb9a*0x40+_0x1eed11:_0x1eed11,_0x19c70f++%0x4)?_0x48bcce+=String['fromCharCode'](0xff&_0x42cb9a>>(-0x2*_0x19c70f&0x6)):0x0){_0x1eed11=_0x5d0a90['indexOf'](_0x1eed11);}for(let _0x29f201=0x0,_0x4527f3=_0x48bcce['length'];_0x29f201<_0x4527f3;_0x29f201++){_0x42bdae+='%'+('00'+_0x48bcce['charCodeAt'](_0x29f201)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x42bdae);};const _0xd24f03=function(_0x5dcaa8,_0x4f7eca){let _0x1f7c23=[],_0x1c2efb=0x0,_0x87a63c,_0x2a0130='';_0x5dcaa8=_0x33558e(_0x5dcaa8);let _0x513868;for(_0x513868=0x0;_0x513868<0x100;_0x513868++){_0x1f7c23[_0x513868]=_0x513868;}for(_0x513868=0x0;_0x513868<0x100;_0x513868++){_0x1c2efb=(_0x1c2efb+_0x1f7c23[_0x513868]+_0x4f7eca['charCodeAt'](_0x513868%_0x4f7eca['length']))%0x100,_0x87a63c=_0x1f7c23[_0x513868],_0x1f7c23[_0x513868]=_0x1f7c23[_0x1c2efb],_0x1f7c23[_0x1c2efb]=_0x87a63c;}_0x513868=0x0,_0x1c2efb=0x0;for(let _0x12f7b0=0x0;_0x12f7b0<_0x5dcaa8['length'];_0x12f7b0++){_0x513868=(_0x513868+0x1)%0x100,_0x1c2efb=(_0x1c2efb+_0x1f7c23[_0x513868])%0x100,_0x87a63c=_0x1f7c23[_0x513868],_0x1f7c23[_0x513868]=_0x1f7c23[_0x1c2efb],_0x1f7c23[_0x1c2efb]=_0x87a63c,_0x2a0130+=String['fromCharCode'](_0x5dcaa8['charCodeAt'](_0x12f7b0)^_0x1f7c23[(_0x1f7c23[_0x513868]+_0x1f7c23[_0x1c2efb])%0x100]);}return _0x2a0130;};_0x54f9['kthWGM']=_0xd24f03,_0x2a6d25=arguments,_0x54f9['RypEpU']=!![];}const _0x2238ea=_0x598e8c[0x0],_0x1adec3=_0x54f974+_0x2238ea,_0xabb34=_0x2a6d25[_0x1adec3];return!_0xabb34?(_0x54f9['SqusDj']===undefined&&(_0x54f9['SqusDj']=!![]),_0x34621a=_0x54f9['kthWGM'](_0x34621a,_0x2f0253),_0x2a6d25[_0x1adec3]=_0x34621a):_0x34621a=_0xabb34,_0x34621a;},_0x54f9(_0x2a6d25,_0x8d9d31);}function _0x598e(){const _0x487768=(function(){return[_0xody,'rGOjwrsJLqjYWEiapmRGKiL.GFcQhPoRm.yvhW7X==','w2BdPmk3WOulWOBdKa','s143ccDpvG','kSobWQdcKmo3nWBcL8oGyCkj','CwddUSklWQ0','ACkqW7pdTmk6lIpcTW','W6lcQCk2W7FdICkTW6JdHvPCW6aHsG','W6HGlZdcPI1UW7tdK8kTza','CwFcRxu3lSo1y0Sw','ebiYxmkFW7rOWOz2WObJWO8'].concat((function(){return['amkOx1a1W4hcVdO','W7NcH1f5n8oMzmoK','kH/cLZPAWOb+gXG5oGO','eCkgWOFcJ1dcHCofW48I','z8oiW5ZdQSoWWPeVWQqQW5WPWRRdGa','eXe8x8kyW7fkWQz4WRvHWOW','WOFdT1CCW6GxWPWqpSoy','rsldS8kVW5bIpfCLkmkpECk4','W7pcMmocWO/dSG','sCk3WPhdMCoiW6ddVmkggGxcIW','vSo4suuFW5NcMai'].concat((function(){return['amkSdvKiW7hcOcBcHq','WQ46rYjVWOldU1hcKW','B13cPwldGSozWPKxmGuX','W6VdJ1BdNCouD3pdGbRdMXSO','WO/dImo1WPH+nwC','kmoaWQFdTSk2cr3cJ8oQ','WQCLWRqjk35CW7xcVq','WR0WBKxdOxblW4NdJmkfygS','W6JcTgVdOCkoWQ7dSwG'];}()));}()));}());_0x598e=function(){return _0x487768;};return _0x598e();};function generateKey(){const _0x493145=_0x54f9,_0x4d0acd={'McjqG':function(_0x38b304,_0xddbc99){return _0x38b304(_0xddbc99);},'vtigY':function(_0x146d0d,_0x1dbf72){return _0x146d0d+_0x1dbf72;},'SmDWW':function(_0x3c0418,_0xd62107){return _0x3c0418/_0xd62107;},'IJkMf':function(_0x25aa13,_0x337c0f){return _0x25aa13-_0x337c0f;},'XCyCn':function(_0x2550b7,_0x1c7dd8){return _0x2550b7*_0x1c7dd8;},'NPuok':function(_0x5bfe6e,_0x196cb0){return _0x5bfe6e(_0x196cb0);},'paXJR':function(_0x36f2cb,_0x19d4b0){return _0x36f2cb+_0x19d4b0;}},{java:_0x10e86d,source:_0x411c6b}=this;let _0x2ffd92=new Date(),_0x4b2233=_0x2ffd92['getFullYear'](),_0x54e369=_0x4d0acd[_0x493145(0x20e,'jDOI')](String,_0x4d0acd['vtigY'](_0x2ffd92[_0x493145(0x201,'QiQJ')](),0x1))['padStart'](0x2,'0'),_0x34a109=Math['floor'](_0x4d0acd[_0x493145(0x1ff,'f!Uy')](_0x4d0acd['IJkMf'](_0x2ffd92[_0x493145(0x206,'M8(i')](),0x1),0x3)),_0x3c0edf=new Date(_0x2ffd92[_0x493145(0x200,'1D9t')](),_0x2ffd92[_0x493145(0x20b,'jDOI')](),_0x4d0acd['XCyCn'](_0x34a109,0x3)+0x1),_0x147bd6=_0x3c0edf[_0x493145(0x1f4,'b3G#')](),_0x50627f=_0x4d0acd['NPuok'](String,_0x4d0acd['paXJR'](_0x3c0edf['getMonth'](),0x1))[_0x493145(0x20a,'U(hz')](0x2,'0'),_0x4d912f=_0x4d0acd['NPuok'](String,_0x3c0edf[_0x493145(0x20c,'[0t%')]())[_0x493145(0x20f,'RRzY')](0x2,'0');return''+_0x147bd6+_0x50627f+_0x4d912f;}var version_ = 'jsjiami.com.v7';\nvar _0xodq='jsjiami.com.v7';function _0x3883(_0x50cf25,_0xd27d84){var _0x37c6a6=_0x37c6();return _0x3883=function(_0x3883c,_0x1b06d1){_0x3883c=_0x3883c-0x188;var _0x12417f=_0x37c6a6[_0x3883c];if(_0x3883['ONNUDD']===undefined){var _0x4a788a=function(_0x566750){var _0x5116ad='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x4abc61='',_0x4fb4af='';for(var _0x11971e=0x0,_0x490202,_0x3fcb81,_0x482a0a=0x0;_0x3fcb81=_0x566750['charAt'](_0x482a0a++);~_0x3fcb81&&(_0x490202=_0x11971e%0x4?_0x490202*0x40+_0x3fcb81:_0x3fcb81,_0x11971e++%0x4)?_0x4abc61+=String['fromCharCode'](0xff&_0x490202>>(-0x2*_0x11971e&0x6)):0x0){_0x3fcb81=_0x5116ad['indexOf'](_0x3fcb81);}for(var _0x286798=0x0,_0x308077=_0x4abc61['length'];_0x286798<_0x308077;_0x286798++){_0x4fb4af+='%'+('00'+_0x4abc61['charCodeAt'](_0x286798)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4fb4af);};var _0x5252d2=function(_0x5229da,_0x13612c){var _0x42751c=[],_0x159383=0x0,_0x213e6e,_0x11b858='';_0x5229da=_0x4a788a(_0x5229da);var _0xbf3618;for(_0xbf3618=0x0;_0xbf3618<0x100;_0xbf3618++){_0x42751c[_0xbf3618]=_0xbf3618;}for(_0xbf3618=0x0;_0xbf3618<0x100;_0xbf3618++){_0x159383=(_0x159383+_0x42751c[_0xbf3618]+_0x13612c['charCodeAt'](_0xbf3618%_0x13612c['length']))%0x100,_0x213e6e=_0x42751c[_0xbf3618],_0x42751c[_0xbf3618]=_0x42751c[_0x159383],_0x42751c[_0x159383]=_0x213e6e;}_0xbf3618=0x0,_0x159383=0x0;for(var _0xe686d9=0x0;_0xe686d9<_0x5229da['length'];_0xe686d9++){_0xbf3618=(_0xbf3618+0x1)%0x100,_0x159383=(_0x159383+_0x42751c[_0xbf3618])%0x100,_0x213e6e=_0x42751c[_0xbf3618],_0x42751c[_0xbf3618]=_0x42751c[_0x159383],_0x42751c[_0x159383]=_0x213e6e,_0x11b858+=String['fromCharCode'](_0x5229da['charCodeAt'](_0xe686d9)^_0x42751c[(_0x42751c[_0xbf3618]+_0x42751c[_0x159383])%0x100]);}return _0x11b858;};_0x3883['AUUcPx']=_0x5252d2,_0x50cf25=arguments,_0x3883['ONNUDD']=!![];}var _0x185ada=_0x37c6a6[0x0],_0x54ede9=_0x3883c+_0x185ada,_0x4d0839=_0x50cf25[_0x54ede9];return!_0x4d0839?(_0x3883['IuoUut']===undefined&&(_0x3883['IuoUut']=!![]),_0x12417f=_0x3883['AUUcPx'](_0x12417f,_0x1b06d1),_0x50cf25[_0x54ede9]=_0x12417f):_0x12417f=_0x4d0839,_0x12417f;},_0x3883(_0x50cf25,_0xd27d84);}(function(_0x3c89f3,_0x330852,_0x2b7bc9,_0x2fbf1c,_0x5dbfbf,_0x3968fa,_0x1f37b1){return _0x3c89f3=_0x3c89f3>>0x7,_0x3968fa='hs',_0x1f37b1='hs',function(_0x3bb880,_0x50c89a,_0xc838bc,_0x199f7c,_0x28423b){var _0x2933a2=_0x3883;_0x199f7c='tfi',_0x3968fa=_0x199f7c+_0x3968fa,_0x28423b='up',_0x1f37b1+=_0x28423b,_0x3968fa=_0xc838bc(_0x3968fa),_0x1f37b1=_0xc838bc(_0x1f37b1),_0xc838bc=0x0;var _0x3721ae=_0x3bb880();while(!![]&&--_0x2fbf1c+_0x50c89a){try{_0x199f7c=parseInt(_0x2933a2(0x195,'^%Ah'))/0x1*(-parseInt(_0x2933a2(0x19a,'3wEK'))/0x2)+parseInt(_0x2933a2(0x193,'ej02'))/0x3*(-parseInt(_0x2933a2(0x192,'!Jog'))/0x4)+-parseInt(_0x2933a2(0x190,'RYlB'))/0x5+parseInt(_0x2933a2(0x18b,'QkCN'))/0x6+-parseInt(_0x2933a2(0x188,'Y@^n'))/0x7*(-parseInt(_0x2933a2(0x194,'QrrH'))/0x8)+-parseInt(_0x2933a2(0x196,'mj5s'))/0x9+parseInt(_0x2933a2(0x18c,'MaOX'))/0xa*(parseInt(_0x2933a2(0x199,'UyLN'))/0xb);}catch(_0x383697){_0x199f7c=_0xc838bc;}finally{_0x28423b=_0x3721ae[_0x3968fa]();if(_0x3c89f3<=_0x2fbf1c)_0xc838bc?_0x5dbfbf?_0x199f7c=_0x28423b:_0x5dbfbf=_0x28423b:_0xc838bc=_0x28423b;else{if(_0xc838bc==_0x5dbfbf['replace'](/[XEedLyGHUhWQpFSBPY=]/g,'')){if(_0x199f7c===_0x50c89a){_0x3721ae['un'+_0x3968fa](_0x28423b);break;}_0x3721ae[_0x1f37b1](_0x28423b);}}}}}(_0x2b7bc9,_0x330852,function(_0x4f0a39,_0x5589d7,_0x588bc0,_0x4f56fa,_0x3a76f2,_0x30b782,_0x45df5e){return _0x5589d7='\\x73\\x70\\x6c\\x69\\x74',_0x4f0a39=arguments[0x0],_0x4f0a39=_0x4f0a39[_0x5589d7](''),_0x588bc0='\\x72\\x65\\x76\\x65\\x72\\x73\\x65',_0x4f0a39=_0x4f0a39[_0x588bc0]('\\x76'),_0x4f56fa='\\x6a\\x6f\\x69\\x6e',(0x1a03b9,_0x4f0a39[_0x4f56fa](''));});}(0x6680,0x64fe6,_0x37c6,0xcf),_0x37c6)&&(_0xodq=0x238f);function getSecretKey(){var _0x13afb5=_0x3883,_0x159383={'wAckK':_0x13afb5(0x189,'^%Ah')};return _0x159383[_0x13afb5(0x18a,'C&zk')];}function _0x37c6(){var _0x2c0006=(function(){return[_0xodq,'EEjSpsUjhEiGLFaYymHSXiBS.WFcoQmP.vhdG7Be==','WOv4BJmoWQnQoCoZCSkfWQXP','W6/cGmobWOaPWObfW4DUfa','WPbdWQTTC1tcHSouAmka','WQBcKCojWQG8smotxKhcUa','WROLmW7dR8kjtCk6hdhcPrC','tq7dSJ43WPNdLgz2WQ5+aW','t8oAWOKNFSk8haOsW4S'].concat((function(){return['v8kznaRdOHlcPSoKtCosB8okW44','nSk0W7xcSr50WROA','v8oPt1JcMe7dUa','WOuehMz0W7SZ','y3aBiM5PaN3dNKy','W6xcHSkCW7hcQ8ktW71wWR1YW5DL','m8kjyaVcRNHTWQ3cPJu','WQu9krtdT+I8PUAzOSo9xeJdVMW','W5f6W7tcHmoH'].concat((function(){return['WRu0WQmlWOdcJ8oBW7O3pmksWPyI','y3muiGK3E2VdHMBcG1pcJG','W77dOCo7DCohW5WbWPvwWRKLsW','ibLVlvZdTb/dOuma','WRSJmGFcMSoormkmob8','WRnZfdxcIbJcNfNdNmk9eCoHzG'];}()));}()));}());_0x37c6=function(){return _0x2c0006;};return _0x37c6();};var version_ = 'jsjiami.com.v7';\nfunction getUrl(_) {\n    var _0x1234 = this;\n    var _0x5678 = _0x1234.java;\n    var _0x9abc = _0x1234.source;\n    var _0xdef0 = _0x9abc['variableComment'];\n    var _0x4567 = _0x5678['aesBase64DecodeToString'](_0xdef0, getSecretKey(), 'AES/ECB/PKCS7Padding', '');\n    var _0x89ab = String(_0x4567);\n    return eval(_0x89ab);\n}\n\nfunction encodeToTemplate(base64String) {\n    return `tg='${base64String}'`;\n}\n",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginUi": "[ { \"name\": \"源作者：\",\n\"type\": \"text\"\n},\n{ \"name\": \"密钥：\",\n\"type\": \"text\"\n},\n\n{\n\"name\": \" ⚙️ 发布页 ⚙️ \",\n\"type\": \"button\",\n\"action\": \"M()\",\n\"style\": {\n\"layout_flexGrow\": 1,\n\"layout_flexBasisPercent\": 0.39\n}\n\n},\n{\n\"name\": \" ⚙️ 书源更新 ⚙️ \",\n\"type\": \"button\",\n\"action\": \"H()\",\n\"style\": {\n\"layout_flexGrow\": 1,\n\"layout_flexBasisPercent\": 0.39\n}\n\n}\n\n]",
    "loginUrl": "function login() {}\n\nO = () => {\n  java.toast(\"这个按钮是用来看的\\n(((o(*ﾟ▽ﾟ*)o)))\")\n}\n\nH=()=>{\n\teval(String(java.base64Decode(fb)));\n\t}\nH=()=>{\n\teval(String(java.base64Decode(fb)));\n\t}\nM = () =>{\tjava.startBrowser('ged520.yesui.me/','发布页')\n\t    }\n",
    "ruleArticles": "@js:\nif (!String(source.getVariable())||!String(source.getVariable()).match(/sourl/)) {\n    source.setVariable(JSON.stringify(r, null, \"\\t\"));\n    java.toast('\\n已初始化，使用默认站源');\n}\nlet uri=getUrl();\nlet ml=getKey();\nlet murl=`http://${uri}.yesui.me/`\nlet list = [\n{\n\t\"name\":\"首页\",\n\t\"url\":`${murl}`,\n\t\"img\":`${imd}`\n},\n{\n\t\"name\":\"主页\",\n\t\"url\":`${murl}index1.html`,\n\t\"img\":`${img}`\n},\n{\n\t\"name\":\"赞赏支持\",\n\t\"url\":`${murl}dsym.html`,\n\t\"img\":`${imo}`\n},\n{\n\t\"name\":\"辞晨论坛主页\",\n\t\"url\":`https://ysqbbs.com/home.php?mod=space&uid=612&do=profile&mobile=2`,\n\t\"img\":`${imj}`\n},\n{\n\t\"name\":\"辞晨书源发布页\",\n\t\"url\":`${murl}work/syfby.html`,\n\t\"ml\":`${ml}`,\n\t\"img\":`${imh}`\n},\n\n{\n\t\"name\":\"书源密钥\",\n\t\"url\":`${murl}miyao.html`,\n\t\"img\":`${imp}`\n\n},\n{\n\t\"name\":\"书源发布页\",\n\t\"url\":`${murl}syfby.html`,\n\t\"img\":`${imk}`\n\n}\n,\n{\n\t\"name\":\"导航链接\",\n\t\"url\":`${murl}ljhjm.html`,\n\t\"img\":`${iml}`\n\n}\n\n];\n\nlist",
    "ruleContent": "<js>\nvar po = `{{rssArticle.title}}`;\nlet key=getKey();\nif (po == '独立密钥') {\nhtml=`<html lang=\"en\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>一键复制功能</title>\n    <style>\n        body {\n            font-family: Arial, sans-serif;\n            margin: 20px;\n        }\n        #result {\n            margin-bottom: 10px;\n            padding: 10px;\n            border: 1px solid #ccc;\n            background-color: #f9f9f9;\n        }\n        button {\n            padding: 10px 20px;\n            font-size: 16px;\n            cursor: pointer;\n        }\n    </style>\n</head>\n<body>\n    <div id=\"result\">${key}</div>\n    \n    <script>\n        let result = \"${key}\";    document.getElementById(\"result\").innerText = result;\n        function copyResult() {\n            if (navigator.clipboard) {\n                navigator.clipboard.writeText(result).then(() => {\n                    alert(\"复制成功！\");\n                }).catch(err => {\n                    alert(\"复制失败！\");\n                });\n            } else {\n                alert(\"当前浏览器不支持复制功能！\");\n            }\n        }\n    </script>\n</body>\n</html>`\nhtml\n    } else {\n    result\n}\n</js>\n",
    "ruleImage": "img",
    "ruleLink": "url",
    "ruleTitle": "name",
    "singleUrl": false,
    "sortUrl": "主页::http://{{getUrl()}}.yesui.me/",
    "sourceComment": "域名：\n//2025.8.3\n//ged520-me.pages.dev/\n//ged520.pages.dev/\n//ged520.yesui.me/\n//源作者：辞晨\n//不会点击教程",
    "sourceGroup": "写源,R18",
    "sourceIcon": "http://ged520.yesui.me/static/img/txs.png",
    "sourceName": "辞晨订阅源",
    "sourceUrl": "data:;base64,辞晨,{'type':''}",
    "variableComment": "9YXphE3n4n/sd/AhTbP5+1bs5OBJpV6TM65V2aN1bifyXjyQbCFfN5MBOr+bM5R7Aid8w1KNJemd4lCPTB/8Z4isAsyVQilJ8WevTCcKUJ6OmuNBBiXqkPxy1EHhl+p5jh8Cf1hySIpb7stJF6QlGuvVW6b/PeitMLKIsbVL1D7e7YDajVQaQ4Vh2RvxK1zpp2KYXhADGSnlbOg4vXrJTxLCIdx5y8tAQ8CBnuQRm2RB8cNEFloYm1kg2JZ94BZgib38rRFb4dKbhp0Nmuak8Q3goxvT0rXsyXjlzwq2CCLpQy4059D3sqS5R01XBGMpB1VzdN56+mo7ifwL6Q35594cNJrms5Nzr11s5YuuDJa1vQCZucMSVnibq/obhvY44ujHBQBG9Pg7ae2dT8nESCM712NSzIvRQhPXzTvEP5gxtTSUVwfimPSrAGR7oJcMThZzHjPhHamK4jxZ5RH5PqXG0csYd8ujDE0P0mvEyB5D6iYYhIAE/RgeWU+8qHE7Y/bXsgM3oPC9O2PfP+s5gV4fKG6QFpF8d97hbE25sEEktOmXXrQCa9bqDeOGD0ingFwA34L8oeDkzeHU0OMpbF7rO/YG4LDxi3WSEQvluFJAWDEf1wlFJn24mXwVn1OafJUOyDvIXBn9aTtFWlLyp0GKyTX9FOdJFNvZ31ASkAOJIuiFmBCofaK1PqrYlnZx1Vqb5baaq9SCGQ9+AcqZwsm4o/d/5aaKS3/1soFc10WwkmGrsBuE7/1Aqb1mtsHIAE7sXbUXu02y30c5cHnoU2FXBJdMhyNfCn0XBJQMiAIFqtPwcuDvevHEI5Pq5UABWDjEzqRM4CGNT4uT8zduQw1X90xnpFS+/G0kFyKqSxNWeL/KLIQ/LPzjN1575or4zp4fGFpc5BTfLYx8t3K6iMxCwwh7sAxiIcodXMUc6s05aa3biIM2IkW2C8cMqmWZmgT+Bqg/xMYLta0GeuOtVT+KXgVR/NQ1BiwM2S2YMSigMB3i7K9NpKgGa7m0whxpwZ8IbRkFda+jA1eIVkWHcv0svlko92vHgMmNXAEoyCuc27WQsGJrIWigNXTdZF1Q9rBOHm1rLHyZMsdhgZ1AMDB0y8CbYll1JmyoBdRB3eOK1RvkavYx7FD04XQv3YKHQcTnq/bEAVeqHsR8tbr2p3QJxRXJCxFlibycCKN5EcZ5171DpVLPNTI0Rscws66USVcA3KbStCIIl9FvXT+T9i42lg8ldyXaVteZVfTFG2LZC1JkwU2dbO4oUh9VPJg8cR8jvxTy8xAcGPtrrxAkZqEGHCXRUvWQjgyZ4J2sGGbgEyuPT769zrrl/lauC6JgFaJNjl93grSkCwEZP/Rtg/+m6drVczY59uW8qKgytQOJxYIvrVlYGB8OtZWaF+V8fRd4whSDadzPyJ1hJqkNxsEX1TrIdqfdbLiBZeI1KD9Ooso/vJNXtkm589VMl8SzUAIYqKjogy6axnMqdUwXGJYfNavXORQ1mJq9uwA+/xUkKNCv1yBlklEVOiT/7e4qgulhjPXe1QH2DE+iEPxHRbEfTgMPMDgeUcFd7/9EMJjKsWxVeXH7+dnnoHSE1Xzv5k6Cfdjmo/OFmnG4h/SlOIonSw8fgShIHJ3Ibq6Bdcd5Qg84zc5CE8arQTsyopr+WWxw+61ult+pTx0KJ8IIPGGHy85TRVF3xqPM4bGo9YLRu5RJdaHCAHUhDvDsiVy75D7mKzT6DoLCs11zMv/mhgqiHxf7b868gJ0+U9PYUq6M++pihLmDCNYCpIj8SeTjoCayAPARbQX8FI5ylHuLUUAVQwAPuj3BsTOv+PHJGQBuiWRvBO6+XBzT6xbcKod5naI3W0hll9H4FBGZHqMsxpVWoLrmbTNkLFdoa2lt/L02LG2m356U/PIK9rgxt+uqpnf5rG4KpRg9aBmairOiSFKZyNf1vfTgiDroZF5PxND+SpyWmTrDNF4mxaPh47KioREgX0mmbDciLHLWW0IO9hPNU4mAi1x8k0lwWgBsAO7ZqKXMl8hqT39CD/QQDT88WuUCZlr2XnP+JZsOax1PcaQ7mWQr6SMe57NzgCMe+oDGpzRShzJ7wUFsmhH3jszG7rMfRsXGGzOPFLeVgZeRuiy+/v6je09DNkDIkbIEJ5NvPjnpp3zZVd/82aZoteSISf3A0u3hzntq82ibPMG45fliViIAW6YnGDlu06DwFriDyhopc5poWgTDkZq0apGk"
  },
  {
    "articleStyle": 1,
    "customOrder": -10100987,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "ul@li",
    "ruleContent": "<!DOCTYPE html>\n<html lang=\"zh-CN\">\n<head>\n<meta charset=\"UTF-8\">\n<title>内容提取</title>\n<!-- v2025.05.10 -->\n\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<script src=\"https://code.jquery.com/jquery-3.6.0.min.js\"></script>\n<link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/viewerjs/1.11.3/viewer.min.css\" />\n<script src=\"https://cdnjs.cloudflare.com/ajax/libs/viewerjs/1.11.3/viewer.min.js\"></script>\n<style>\n    body { font-family: Arial, sans-serif; font-size: 16px; }\n    #title, #page, #loading-status { margin: 0 auto; font-size: 20px; text-align: center; }\n    #description, #urls, #video-url, #video-sources, #messages { width: 100%; max-width: 800px; margin: 1.5px auto; font-size: 14px; text-align: left; word-wrap: break-word; white-space: pre-wrap; }\n    #text, #text :not(img), #text img + * { text-indent: 2em; width: 100%; font-size: 16px; line-height: 1.5em; margin-top: 0; margin-bottom: 0; word-wrap: break-word; white-space: pre-wrap; }\n    img, #text img { width: 100%; height: auto; display: block; margin-bottom: 1.5px; }\n    .flex-container { display: flex; justify-content: center; align-items: center; gap: 10px; margin: 1.5px 0; font-size: 14px; }\n    button, select { flex: 1 1 31%; padding: 3px; border: 1px solid #ccc; border-radius: 5px; box-sizing: border-box; cursor: pointer; background-color: #f9f9f9; transition: background-color 0.3s ease; margin: 1.5px; min-width: 0; font-size: 14px; }\n    #url-select, #video-source-select { flex: 1 1 100%; margin-left: 0; margin-right: 0; text-align: center; }\n    #video-element { width: 100%; height: auto; }\n    textarea { width: 100%; height: auto; min-height: 100px; box-sizing: border-box; resize: vertical; }\n    .error, .warn { color: red; }\n</style>\n</head>\n<body>\n    <h3 id=\"title\">{{@@title@text||h1.0@text||h2.0@text||.title.0@text}}</h3>\n    <p id=\"description\">{{@@.info.0@html||.jianjie@html}}</p>\n    <p id=\"page\" style=\"display:none;\">共<span id=\"total-pages\">1</span>页</p>\n    <p id=\"loading-status\" style=\"display:none;\"></p>\n\n    <div class=\"flex-container\" id=\"loading-buttons\" style=\"display:none;\">\n        <button id=\"prev-page-btn\">上一页</button>\n        <button id=\"next-page-btn\">下一页</button>\n        <button id=\"auto-load-btn\">自&nbsp;&nbsp;动</button>\n    </div>\n    \n    <div class=\"flex-container\">\n        <select id=\"url-select\" style=\"display:none;\"></select>\n    </div>\n    \n    <div class=\"flex-container\">\n        <button id=\"toggle-urls-btn\">显/隐网址</button>\n        <button id=\"toggle-messages-btn\">显/隐信息</button>\n        <button id=\"toggle-debug-btn\">显/隐调试</button>\n    </div>\n    <div id=\"urls\"></div>\n    <div id=\"messages\"></div>\n    <div id=\"debug-info\"></div>\n    <div id=\"video-url\"></div>\n    <div id=\"video-container\" style=\"display: none;\">\n        <video id=\"video-element\" controls preload=\"auto\" width=\"640\" height=\"264\">\n            <source id=\"video-source\" src=\"\" type=\"\">您的浏览器不支持 video 标签。\n        </video>\n    </div>\n    <div class=\"flex-container\" id=\"video-source-container\" style=\"display: none;\">\n        <select id=\"video-source-select\" onchange=\"updateVideoSource()\"></select>\n    </div>\n    <div id=\"images\"></div>\n    <div id=\"text\"></div>\n\n    <script>\n        // 配置对象，包含各种选择器、延迟时间等配置项\n        const config = {    \n            videoSelector: 'body', // 视频选择器\n            imgSelector: '.gridlane-box-inside img,.photos figure img,.content p img', // 图片选择器\n            textSelector: '#content', // 文本选择器\n            debugSelector: '#content, .page, .pager, .content, script', // 调试信息选择器\n            swapImageAttributes: false, // 是否交换图片属性\n            delayTime: 1500, // 延迟提取时间\n            retryDelayTime: 1500, // 重试加载延迟时间\n            maxLoadAttempts: 3, // 最大加载次数\n            autoLoading: false, // true自动模式，false单页模式\n            debugOnce: 0, // 只在特定索引输出一次调试信息\n            totalPagesText: '{{@@.page.0@a.-2@textNodes}}', // 总页码\n            urlSuffixToRemove: /\\.html$/, // 移除url后缀\n            pageUrlText: '{urlPrefix}_{i}.html', // 拼接URL模板        \n            ListMode: true, // true网址列表模式，false网址拼接模式    \n            initialUrls: `{{@@#sort-item-5.0@a@href}}`, // 网址\n            initialUrlsName: `{{@@#sort-item-5.0@a@span@text}}`, // 网址名称\n            sourceurl: '', // 来源URL前缀\n        };\n\n        let videoSources = []; // 存储视频源数组\n        let loadAttempts = {}; // 记录每个URL的加载尝试次数\n        let urls = []; // 存储所有页面的URL\n        let imageBox;\n        let textBox;\n        let currentPageIndex = 0; // 当前页面索引\n        let canLoadNextPage = true; // 控制是否可以加载下一页\n        let autoLoadInProgress = false; // 自动加载状态\n\n        // 构建URL列表\n        function buildUrls(totalPages, baseUrl) {\n            let initialUrlsArray = config.initialUrls.trim().split('\\n').filter(url => url.trim() !== '');\n            let initialUrlsNameArray = config.initialUrlsName.trim().split('\\n').filter(name => name.trim() !== '');\n\n            if (config.ListMode && initialUrlsArray.length > 0) {\n                if (initialUrlsArray.length !== initialUrlsNameArray.length) {\n                    $('#messages').append(`<span class=\"warn\">警告：initialUrls 和 initialUrlsName 的长度不匹配。</span><br>`);\n                }\n\n                urls = initialUrlsArray.map(url => {\n                    if (config.sourceurl && url.startsWith('/') && !/^https?:\\/\\//i.test(url)) {\n                        return config.sourceurl.replace(/\\/$/, '') + url;\n                    } else {\n                        return url;\n                    }\n                });\n\n                urls.forEach((url, index) => {\n                    const name = initialUrlsNameArray[index] || `第 ${index + 1} 页`;\n                    $('#url-select').append(`<option value=\"${index}\">${name}</option>`);\n                    $('#urls').append(`<div>${name}: ${url}</div>`);\n                });\n            } else {\n                if (totalPages === 1) {\n                    urls.push(baseUrl);\n                } else {\n                    urls.push(baseUrl);\n                    for (let i = 2; i <= totalPages; i++) {\n                        urls.push(config.pageUrlText.replace('{urlPrefix}', baseUrl.replace(config.urlSuffixToRemove, '').replace(/\\/$/, '')).replace('{i}', i));\n                    }\n                }\n\n                urls.forEach((url, index) => {\n                    const name = `第 ${index + 1} 页`;\n                    $('#url-select').append(`<option value=\"${index}\">${name}</option>`);\n                    $('#urls').append(`<div>${name}: ${url}</div>`);\n                });\n            }\n\n            $('#total-pages').text(urls.length);\n            toggleNavigationButtons();\n            toggleTotalPagesDisplay();\n        }\n\n        // 规范化URL\n        function normalizeUrl(url) {\n            if (typeof url !== 'string' || !url.trim()) {\n                return '';\n            }\n            const match = url.match(/['\"](.*?)['\"]/);\n            if (match && match[1]) {\n                url = match[1];\n            }\n\n            function processUrl(str) {\n                str = str.trim();\n                str = str.replace(/\\\\u[\\dA-F]{4}/gi, match => String.fromCharCode(parseInt(match.replace(/\\\\u/g, ''), 16)));\n                str = decodeURIComponent(str);\n                str = str.replace(/^http:\\/([^/])/, 'http://$1');\n                str = str.replace(/^https:\\/([^/])/, 'https://$1');\n                return str;\n            }\n            return processUrl(url);\n        }\n\n        // 清空容器内容\n        function clearContainers() {\n            $('#messages').empty();\n            $('#images').empty();\n            $('#text').empty();\n        }\n\n        // 更新图像源\n        function updateImageSrc(elements, shouldSwap) {\n            elements.each(function () {\n                const $this = $(this);\n                const attrsToUpdate = {};\n                if (shouldSwap) {\n                    ['data-original', 'data-src', 'data-url'].forEach(attr => {\n                        if ($this.attr(attr)) {\n                            attrsToUpdate['src'] = $this.attr(attr);\n                        }\n                    });\n                }\n                $this.attr(attrsToUpdate);\n            });\n            return elements;\n        }\n\n        // 切换导航按钮显示状态\n        function toggleNavigationButtons() {\n            if ($('#url-select option').length > 1 && !config.autoLoading) {\n                $('#loading-buttons').show();\n                $('#url-select').show();\n            } else {\n                $('#loading-buttons').hide();\n                $('#url-select').hide();\n            }\n        }\n\n        // 显示加载状态\n        function showLoadingStatus(pageNumber) {\n            const selectedOption = $('#url-select option:selected').text();\n            $('#loading-status').text(`正在加载：${selectedOption}`).show();\n        }\n\n        // 隐藏加载状态\n        function hideLoadingStatus() {\n            $('#loading-status').hide();\n        }\n\n        // 加载指定索引的内容\n        function loadContent(index) {\n            if (index < 0 || index >= urls.length || !canLoadNextPage) return;\n            canLoadNextPage = false;\n            currentPageIndex = index;\n            $('#url-select').val(index);\n            $('#messages').append(`<div>当前地址: <span class=\"warn\">${urls[index]}</span></div>`);\n            if (autoLoadInProgress) {\n                showLoadingStatus(index + 1);\n            }\n            $.ajax({\n                url: urls[index],\n                type: 'GET',\n                success: function (data) {\n                    try {\n                    const $data = $(data);\n                    let updatedHtmlContent = data.replace(/(['\"])(\\/\\/)(?!\\/)/g, '$1https://')\n                        .replace(/src=\"upload/gi, 'src=\"/upload')\n                        .replace(/style=[\"'][^'\"]+[\"']/gi, '')\n                        .replace(/\\\\\\//g, '/');\n                    const parser = new DOMParser();\n                    const doc = parser.parseFromString(updatedHtmlContent, \"text/html\");\n\n                    if (config.debugOnce === index) {\n                        const debugElements = $(doc).find(config.debugSelector);\n                        if (debugElements.length > 0) {\n                            const debugContents = $('<pre>').html(debugElements.clone().wrapAll('<div/>').parent().html()).html();\n                            $('#debug-info').html(`<span class=\"warn\">调试信息: <textarea rows=\"10\" cols=\"80\">${debugContents}</textarea></span>`);\n                        } else {\n                            $('#debug-info').html(`<span class=\"warn\">调试信息: <textarea rows=\"10\" cols=\"80\">调试信息未提取到内容，请检查选择器！</textarea></span>`);\n                        }\n                    }\n                    // 方法1：提取视频\n                    const videoSources1 = [];\n                    const videoContents = $(doc).find(config.videoSelector);\n                    const videoTags = $(videoContents).find('video, source');\n                    videoTags.each(function() {\n                        const videosrc = $(this).attr('src') || \n                                     $(this).attr('data-src') || \n                                     $(this).attr('data-original') || '';\n                        \n                        if (videosrc) {\n                            videoSources1.push(videosrc);\n                        }\n                    });\n                    //反馈\n                    if (videoSources1.length > 0) {\n                        $('#messages').append(`<span>方法1，找到 ${videoSources1.length} 个视频。</span><br>`);\n                    }\n\n                    // 方法2：正则提取视频\n                    const regex = /['\"]https?[^'<>\"]+(m3u8|mp4|webm|ogg|flv|mp3|m4a|wav|ape|flac)([^'<>\"]+)?['\"]/gi;\n                    const matches = data.match(regex);\n                    const videoSources2 = [];\n\n                    if (matches) {\n                        const uniqueMatches = [...new Set(matches)];\n                    \n                        uniqueMatches.forEach(match => {\n                            const normalizedSrc = normalizeUrl(match.replace(/['\"]/g, ''));\n                            videoSources2.push(normalizedSrc);\n                        });\n                    }\n                    //反馈\n                    if (videoSources2.length > 0) {\n                        $('#messages').append(`<span>方法2，找到 ${videoSources2.length} 个视频。</span><br>`);\n                    }\n\n                    // 合并两种方法的结果\n                    videoSources = [...videoSources1, ...videoSources2];\n\n                    // 去重并标准化 URL\n                    const imageExtensions = /\\.(jpg|jpeg|png|gif|bmp|svg)$/i;\n\n                    videoSources = videoSources\n                                  .map(src => normalizeUrl(src.replace(/\\\\+/g, '')))\n                                  .filter(src => src) // 过滤空值\n                                  .filter(src => !imageExtensions.test(src)); // 移除图片地址\n                        \n                    videoSources = [...new Set(videoSources)];// 去重\n\n                    // 显示最终结果\n                    $('#messages').append(`<span>总共找到 ${videoSources.length} 个视频。</span><br>`);\n\n                    if (videoSources.length > 0) {\n                        $('#messages').append(`<span>成功提取到视频，找到 ${videoSources.length} 个视频。</span><br>`);\n                        videoSources.forEach((src, idx) => {\n                            $('#messages').append(`<div>视频地址:<span class=\"warn\"> ${src}</span><br></div>`);\n                            $('#video-source-select').append(`<option value=\"${idx}\">视频源 ${idx + 1}</option>`);\n                        });\n                    \n                        if (videoSources.length == 1) {\n                            $('#video-container').show();\n                            $('#video-url').show();\n                            $('#video-source-container').hide();\n                            updateVideoSource();\n                        } else if (videoSources.length > 1) {\n                            $('#video-container').show();\n                            $('#video-url').show();\n                            $('#video-source-container').show();\n                            updateVideoSource();\n                        } else {\n                            $('#video-container').hide();\n                            $('#video-url').hide();\n                            $('#video-source-container').hide();\n                        }\n                    } else {\n                        $('#messages').append(`<span class=\"warn\">未找到视频源。</span><br>`);\n                        $('#video-container').hide();\n                        $('#video-url').hide();\n                        $('#video-source-container').hide();\n                    }\n\n                    //提取图片\n                    const $imgContents = $(doc).find(config.imgSelector);\n                    const shouldSwap = config.swapImageAttributes;\n                    const newContents = updateImageSrc($imgContents.clone(), shouldSwap);\n                    $('#images').append(newContents).show();\n                    if (newContents.length > 0) {\n                        $('#messages').append(`<span>成功提取图片，共 ${newContents.length} 张。</span><br>`);\n                        newContents.each(function () {\n                            const imgSrc = $(this).attr('src') || $(this).attr('data-original') || $(this).attr('data-src') || $(this).attr('data-url');\n                            $('#messages').append(`<div>地址:<span class=\"warn\"> ${imgSrc}</span><br></div>`);\n                        });\n                    } else {\n                        $('#messages').append(`<span class=\"warn\">未提取到图片。</span><br>`);\n                    }\n\n                    //提取图片和文本\n                    const textContents = $(doc).find(config.textSelector).map(function () {\n                        const $currentContents = $(this);\n                        $currentContents.find('img + br, script, video, source, iframe').remove();\n                        $currentContents.html($currentContents.html().replace(/>\\s+/gi, '>').replace(/<\\/?br\\s*([^>]*)\\s*\\/?>/gi, '\\n').replace(/\\n+/g, '\\n'));\n                        return $currentContents.html();\n                    }).get().join('');\n                    if (textContents.trim()) {\n                        $('#text').append(`<span>${textContents}</span><br>`).show();\n                        $('#messages').append(`<span>成功提取图文。</span><br>`);\n                    } else {\n                        $('#messages').append(`<span class=\"warn\">未提取到图文。</span><br>`);\n                    }\n\n                    if (autoLoadInProgress && currentPageIndex < urls.length - 1) {\n                        setTimeout(() => { \n                            canLoadNextPage = true;\n                            loadContent(currentPageIndex + 1); \n                        }, config.delayTime);\n                    } else {\n                        canLoadNextPage = true;\n                        if (autoLoadInProgress) {\n                            hideLoadingStatus();\n                        }\n                    }\n                } catch (parseError) {\n                    $('#messages').append(`<span class=\"error\">解析页面内容时发生错误: ${parseError.message}</span><br>`);\n                    handleLoadFailure(urls, index);\n                } finally {\n                    if (imageBox) imageBox.viewer.update();\n                    if (textBox) textBox.viewer.update();\n                }\n            },\n            error: function (jqXHR, textStatus, errorThrown) {\n                let errorMessage = `内容加载失败: ${urls[index]}`;\n                switch (textStatus) {\n                    case 'timeout':\n                        errorMessage += ', 请求超时';\n                        break;\n                    case 'abort':\n                        errorMessage += ', 请求被取消';\n                        break;\n                    case 'parsererror':\n                        errorMessage += ', 解析响应出错';\n                        break;\n                    default:\n                        errorMessage += `, 状态码: ${jqXHR.status}, 错误信息: ${errorThrown}`;\n                        break;\n                }\n                $('#messages').append(`<span class=\"error\">${errorMessage}</span><br>`);\n                handleLoadFailure(urls, index);\n                }\n            });\n        }\n\n        // 处理加载失败的情况\n        function handleLoadFailure(urls, index) {\n            if (!loadAttempts[urls[index]]) {\n                loadAttempts[urls[index]] = 1;\n            } else {\n                loadAttempts[urls[index]]++;\n            }\n            if (loadAttempts[urls[index]] <= config.maxLoadAttempts) {\n                const retryMessage = `第${index + 1}页加载失败，正在进行第${loadAttempts[urls[index]]}次加载！`;\n                $('#messages').append(`<span class=\"error\">${retryMessage}</span><br>`);\n                setTimeout(() => { \n                    canLoadNextPage = true;\n                    loadContent(index); \n                }, config.retryDelayTime);\n            } else {\n                const finalErrorMessage = `第${index + 1}页加载失败，已达到最大尝试次数(${config.maxLoadAttempts})！`;\n                $('#messages').append(`<span class=\"error\">${finalErrorMessage}</span><br>`);\n                if (autoLoadInProgress && currentPageIndex < urls.length - 1) {\n                    setTimeout(() => { \n                        canLoadNextPage = true;\n                        loadContent(currentPageIndex + 1); \n                    }, config.delayTime);\n                } else {\n                    canLoadNextPage = true;\n                    if (autoLoadInProgress) {\n                        hideLoadingStatus();\n                    }\n                }\n            }\n        }\n\n        // 更新视频源\n        function updateVideoSource() {\n            const selectedIndex = parseInt(document.getElementById('video-source-select').value);\n            if (isNaN(selectedIndex) || !videoSources[selectedIndex]) {\n                $('#messages').append(`<span class=\"warn\">未找到有效的视频源。</span><br>`);\n                console.warn(\"Invalid or undefined video source:\", selectedIndex, videoSources);\n                return;\n            }\n\n            const selectedSource = videoSources[selectedIndex];\n            document.getElementById('video-url').textContent = `视频地址:\\n ${selectedSource}`;\n\n            const videoSourceElement = document.getElementById('video-source');\n            videoSourceElement.src = selectedSource;\n\n            const videoElement = document.getElementById('video-element');\n            videoElement.load();\n\n            $('#messages').append(`<span>更新视频源为: ${selectedSource}</span><br>`);\n            console.log(\"Updated video source to:\", selectedSource);\n        }\n\n        // 切换总页数显示状态\n        function toggleTotalPagesDisplay() {\n            if (urls.length > 1) {\n                $('#page').show();\n            } else {\n                $('#page').hide();\n            }\n        }\n\n        // 页面加载完成后执行的主要逻辑\n        $(document).ready(function () {\n            imageBox = document.getElementById('images');\n            textBox = document.getElementById('text');\n            if (imageBox && textBox) {\n                new Viewer(imageBox, { title: true, interval: 2000 });\n                new Viewer(textBox, { title: true, interval: 2000 });\n            }\n\n            const totalPagesText = config.totalPagesText;\n            const totalPages = parseInt(totalPagesText, 10) || 1;\n            const baseUrl = '{{baseUrl}}';\n\n            clearContainers();\n            $('#urls, #debug-info textarea, #video-url, #video-source-select').empty();\n            $('#urls, #messages, #debug-info, #video-url, #video-container, #video-source-container, #images, #text').hide();\n\n            buildUrls(totalPages, baseUrl);\n\n            const urlSelect = document.getElementById('url-select');\n            if (urlSelect.options.length > 0) {\n                urlSelect.value = '0'; \n\n                if (config.autoLoading) {\n                    autoLoadInProgress = true;\n                    for (let i = 0; i < urls.length; i++) {\n                        loadContent(i);\n                    }\n                } else {\n                    loadContent(0);\n                }\n            } else {\n                loadContent(0);\n            }\n\n            $('#url-select').change(function () {\n                clearContainers();\n                const selectedIndex = parseInt($(this).val());\n                loadContent(selectedIndex);\n            });\n            $('#prev-page-btn').click(function () {\n                clearContainers();\n                if (currentPageIndex > 0) {\n                    loadContent(currentPageIndex - 1);\n                }\n            });\n            $('#next-page-btn').click(function () {\n                clearContainers();\n                if (currentPageIndex < urls.length - 1) {\n                    loadContent(currentPageIndex + 1);\n                }\n            });\n            $('#auto-load-btn').click(function () {\n                autoLoadInProgress = true;\n                showLoadingStatus(1); \n                for (let i = currentPageIndex + 1; i < urls.length; i++) {\n                    loadContent(i);\n                }\n            });\n            $('#toggle-messages-btn').click(function () { $('#messages').toggle(); });\n            $('#toggle-urls-btn').click(function () { $('#urls').toggle(); });\n            $('#toggle-debug-btn').click(function () { $('#debug-info').toggle(); });\n        });\n    </script>\n</body>\n</html>",
    "ruleImage": "a@data-original",
    "ruleLink": "a.0@href",
    "ruleNextPage": "page||text.下一页@href",
    "rulePubDate": "[class=\"pic-text text-right\"]@text",
    "ruleTitle": "h4@text",
    "singleUrl": false,
    "sortUrl": "搜索🔍::/jiejie/index.php/vod/search.html?wd={{source.getVariable()}}\n黄瓜资源::/jiejie/index.php/vod/type/id/87.html\n155资源::/jiejie/index.php/vod/type/id/248.html\n森林资源::/jiejie/index.php/vod/type/id/117.html\n奥斯卡资源::/jiejie/index.php/vod/type/id/86.html\n百万资源::/jiejie/index.php/vod/type/id/237.html\n制服诱惑::/jiejie/index.php/vod/show/id/251.html\n中文字幕::/jiejie/index.php/vod/show/id/254.html\n美乳巨乳::/jiejie/index.php/vod/show/id/262.html\n熟女人妻::/jiejie/index.php/vod/show/id/259.html\n萝莉少女::/jiejie/index.php/vod/show/id/260.html\n强奸乱伦::/jiejie/index.php/vod/show/id/263.html\n无码专区::/jiejie/index.php/vod/show/id/249.html",
    "sourceComment": "jiejiesp.xyz",
    "sourceGroup": "R18",
    "sourceIcon": "https://8wx27o6v.91gaoqing.rest/upload/vod/20250428-1/cfc014ec16937c7f415afd712b482842.gif",
    "sourceName": "姐姐视频",
    "sourceUrl": "https://wap.jiejiesp27.xyz/"
  },
  {
    "articleStyle": 1,
    "customOrder": -10100986,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "[class=\"item\"]@a",
    "ruleContent": "<!DOCTYPE html>\n<html lang=\"zh-CN\">\n<head>\n<meta charset=\"UTF-8\">\n<title>内容提取</title>\n<!-- v2025.05.10 -->\n\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<script src=\"https://code.jquery.com/jquery-3.6.0.min.js\"></script>\n<link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/viewerjs/1.11.3/viewer.min.css\" />\n<script src=\"https://cdnjs.cloudflare.com/ajax/libs/viewerjs/1.11.3/viewer.min.js\"></script>\n<style>\n    body { font-family: Arial, sans-serif; font-size: 16px; }\n    #title, #page, #loading-status { margin: 0 auto; font-size: 20px; text-align: center; }\n    #description, #urls, #video-url, #video-sources, #messages { width: 100%; max-width: 800px; margin: 1.5px auto; font-size: 14px; text-align: left; word-wrap: break-word; white-space: pre-wrap; }\n    #text, #text :not(img), #text img + * { text-indent: 2em; width: 100%; font-size: 16px; line-height: 1.5em; margin-top: 0; margin-bottom: 0; word-wrap: break-word; white-space: pre-wrap; }\n    img, #text img { width: 100%; height: auto; display: block; margin-bottom: 1.5px; }\n    .flex-container { display: flex; justify-content: center; align-items: center; gap: 10px; margin: 1.5px 0; font-size: 14px; }\n    button, select { flex: 1 1 31%; padding: 3px; border: 1px solid #ccc; border-radius: 5px; box-sizing: border-box; cursor: pointer; background-color: #f9f9f9; transition: background-color 0.3s ease; margin: 1.5px; min-width: 0; font-size: 14px; }\n    #url-select, #video-source-select { flex: 1 1 100%; margin-left: 0; margin-right: 0; text-align: center; }\n    #video-element { width: 100%; height: auto; }\n    textarea { width: 100%; height: auto; min-height: 100px; box-sizing: border-box; resize: vertical; }\n    .error, .warn { color: red; }\n</style>\n</head>\n<body>\n    <h3 id=\"title\">{{@@title@text||h1.0@text||h2.0@text||.title.0@text}}</h3>\n    <p id=\"description\">{{@@.info.0@html||.jianjie@html}}</p>\n    <p id=\"page\" style=\"display:none;\">共<span id=\"total-pages\">1</span>页</p>\n    <p id=\"loading-status\" style=\"display:none;\"></p>\n\n    <div class=\"flex-container\" id=\"loading-buttons\" style=\"display:none;\">\n        <button id=\"prev-page-btn\">上一页</button>\n        <button id=\"next-page-btn\">下一页</button>\n        <button id=\"auto-load-btn\">自&nbsp;&nbsp;动</button>\n    </div>\n    \n    <div class=\"flex-container\">\n        <select id=\"url-select\" style=\"display:none;\"></select>\n    </div>\n    \n    <div class=\"flex-container\">\n        <button id=\"toggle-urls-btn\">显/隐网址</button>\n        <button id=\"toggle-messages-btn\">显/隐信息</button>\n        <button id=\"toggle-debug-btn\">显/隐调试</button>\n    </div>\n    <div id=\"urls\"></div>\n    <div id=\"messages\"></div>\n    <div id=\"debug-info\"></div>\n    <div id=\"video-url\"></div>\n    <div id=\"video-container\" style=\"display: none;\">\n        <video id=\"video-element\" controls preload=\"auto\" width=\"640\" height=\"264\">\n            <source id=\"video-source\" src=\"\" type=\"\">您的浏览器不支持 video 标签。\n        </video>\n    </div>\n    <div class=\"flex-container\" id=\"video-source-container\" style=\"display: none;\">\n        <select id=\"video-source-select\" onchange=\"updateVideoSource()\"></select>\n    </div>\n    <div id=\"images\"></div>\n    <div id=\"text\"></div>\n\n    <script>\n        // 配置对象，包含各种选择器、延迟时间等配置项\n        const config = {    \n            videoSelector: 'body', // 视频选择器\n            imgSelector: '.gridlane-box-inside img,.photos figure img,.content p img', // 图片选择器\n            textSelector: '#content', // 文本选择器\n            debugSelector: '#content, .page, .pager, .content, script', // 调试信息选择器\n            swapImageAttributes: false, // 是否交换图片属性\n            delayTime: 1500, // 延迟提取时间\n            retryDelayTime: 1500, // 重试加载延迟时间\n            maxLoadAttempts: 3, // 最大加载次数\n            autoLoading: false, // true自动模式，false单页模式\n            debugOnce: 0, // 只在特定索引输出一次调试信息\n            totalPagesText: '{{@@.page.0@a.-2@textNodes}}', // 总页码\n            urlSuffixToRemove: /\\.html$/, // 移除url后缀\n            pageUrlText: '{urlPrefix}_{i}.html', // 拼接URL模板        \n            ListMode: true, // true网址列表模式，false网址拼接模式    \n            initialUrls: `{{@@#sort-item-5.0@a@href}}`, // 网址\n            initialUrlsName: `{{@@#sort-item-5.0@a@span@text}}`, // 网址名称\n            sourceurl: '', // 来源URL前缀\n        };\n\n        let videoSources = []; // 存储视频源数组\n        let loadAttempts = {}; // 记录每个URL的加载尝试次数\n        let urls = []; // 存储所有页面的URL\n        let imageBox;\n        let textBox;\n        let currentPageIndex = 0; // 当前页面索引\n        let canLoadNextPage = true; // 控制是否可以加载下一页\n        let autoLoadInProgress = false; // 自动加载状态\n\n        // 构建URL列表\n        function buildUrls(totalPages, baseUrl) {\n            let initialUrlsArray = config.initialUrls.trim().split('\\n').filter(url => url.trim() !== '');\n            let initialUrlsNameArray = config.initialUrlsName.trim().split('\\n').filter(name => name.trim() !== '');\n\n            if (config.ListMode && initialUrlsArray.length > 0) {\n                if (initialUrlsArray.length !== initialUrlsNameArray.length) {\n                    $('#messages').append(`<span class=\"warn\">警告：initialUrls 和 initialUrlsName 的长度不匹配。</span><br>`);\n                }\n\n                urls = initialUrlsArray.map(url => {\n                    if (config.sourceurl && url.startsWith('/') && !/^https?:\\/\\//i.test(url)) {\n                        return config.sourceurl.replace(/\\/$/, '') + url;\n                    } else {\n                        return url;\n                    }\n                });\n\n                urls.forEach((url, index) => {\n                    const name = initialUrlsNameArray[index] || `第 ${index + 1} 页`;\n                    $('#url-select').append(`<option value=\"${index}\">${name}</option>`);\n                    $('#urls').append(`<div>${name}: ${url}</div>`);\n                });\n            } else {\n                if (totalPages === 1) {\n                    urls.push(baseUrl);\n                } else {\n                    urls.push(baseUrl);\n                    for (let i = 2; i <= totalPages; i++) {\n                        urls.push(config.pageUrlText.replace('{urlPrefix}', baseUrl.replace(config.urlSuffixToRemove, '').replace(/\\/$/, '')).replace('{i}', i));\n                    }\n                }\n\n                urls.forEach((url, index) => {\n                    const name = `第 ${index + 1} 页`;\n                    $('#url-select').append(`<option value=\"${index}\">${name}</option>`);\n                    $('#urls').append(`<div>${name}: ${url}</div>`);\n                });\n            }\n\n            $('#total-pages').text(urls.length);\n            toggleNavigationButtons();\n            toggleTotalPagesDisplay();\n        }\n\n        // 规范化URL\n        function normalizeUrl(url) {\n            if (typeof url !== 'string' || !url.trim()) {\n                return '';\n            }\n            const match = url.match(/['\"](.*?)['\"]/);\n            if (match && match[1]) {\n                url = match[1];\n            }\n\n            function processUrl(str) {\n                str = str.trim();\n                str = str.replace(/\\\\u[\\dA-F]{4}/gi, match => String.fromCharCode(parseInt(match.replace(/\\\\u/g, ''), 16)));\n                str = decodeURIComponent(str);\n                str = str.replace(/^http:\\/([^/])/, 'http://$1');\n                str = str.replace(/^https:\\/([^/])/, 'https://$1');\n                return str;\n            }\n            return processUrl(url);\n        }\n\n        // 清空容器内容\n        function clearContainers() {\n            $('#messages').empty();\n            $('#images').empty();\n            $('#text').empty();\n        }\n\n        // 更新图像源\n        function updateImageSrc(elements, shouldSwap) {\n            elements.each(function () {\n                const $this = $(this);\n                const attrsToUpdate = {};\n                if (shouldSwap) {\n                    ['data-original', 'data-src', 'data-url'].forEach(attr => {\n                        if ($this.attr(attr)) {\n                            attrsToUpdate['src'] = $this.attr(attr);\n                        }\n                    });\n                }\n                $this.attr(attrsToUpdate);\n            });\n            return elements;\n        }\n\n        // 切换导航按钮显示状态\n        function toggleNavigationButtons() {\n            if ($('#url-select option').length > 1 && !config.autoLoading) {\n                $('#loading-buttons').show();\n                $('#url-select').show();\n            } else {\n                $('#loading-buttons').hide();\n                $('#url-select').hide();\n            }\n        }\n\n        // 显示加载状态\n        function showLoadingStatus(pageNumber) {\n            const selectedOption = $('#url-select option:selected').text();\n            $('#loading-status').text(`正在加载：${selectedOption}`).show();\n        }\n\n        // 隐藏加载状态\n        function hideLoadingStatus() {\n            $('#loading-status').hide();\n        }\n\n        // 加载指定索引的内容\n        function loadContent(index) {\n            if (index < 0 || index >= urls.length || !canLoadNextPage) return;\n            canLoadNextPage = false;\n            currentPageIndex = index;\n            $('#url-select').val(index);\n            $('#messages').append(`<div>当前地址: <span class=\"warn\">${urls[index]}</span></div>`);\n            if (autoLoadInProgress) {\n                showLoadingStatus(index + 1);\n            }\n            $.ajax({\n                url: urls[index],\n                type: 'GET',\n                success: function (data) {\n                    try {\n                    const $data = $(data);\n                    let updatedHtmlContent = data.replace(/(['\"])(\\/\\/)(?!\\/)/g, '$1https://')\n                        .replace(/src=\"upload/gi, 'src=\"/upload')\n                        .replace(/style=[\"'][^'\"]+[\"']/gi, '')\n                        .replace(/\\\\\\//g, '/');\n                    const parser = new DOMParser();\n                    const doc = parser.parseFromString(updatedHtmlContent, \"text/html\");\n\n                    if (config.debugOnce === index) {\n                        const debugElements = $(doc).find(config.debugSelector);\n                        if (debugElements.length > 0) {\n                            const debugContents = $('<pre>').html(debugElements.clone().wrapAll('<div/>').parent().html()).html();\n                            $('#debug-info').html(`<span class=\"warn\">调试信息: <textarea rows=\"10\" cols=\"80\">${debugContents}</textarea></span>`);\n                        } else {\n                            $('#debug-info').html(`<span class=\"warn\">调试信息: <textarea rows=\"10\" cols=\"80\">调试信息未提取到内容，请检查选择器！</textarea></span>`);\n                        }\n                    }\n                    // 方法1：提取视频\n                    const videoSources1 = [];\n                    const videoContents = $(doc).find(config.videoSelector);\n                    const videoTags = $(videoContents).find('video, source');\n                    videoTags.each(function() {\n                        const videosrc = $(this).attr('src') || \n                                     $(this).attr('data-src') || \n                                     $(this).attr('data-original') || '';\n                        \n                        if (videosrc) {\n                            videoSources1.push(videosrc);\n                        }\n                    });\n                    //反馈\n                    if (videoSources1.length > 0) {\n                        $('#messages').append(`<span>方法1，找到 ${videoSources1.length} 个视频。</span><br>`);\n                    }\n\n                    // 方法2：正则提取视频\n                    const regex = /['\"]https?[^'<>\"]+(m3u8|mp4|webm|ogg|flv|mp3|m4a|wav|ape|flac)([^'<>\"]+)?['\"]/gi;\n                    const matches = data.match(regex);\n                    const videoSources2 = [];\n\n                    if (matches) {\n                        const uniqueMatches = [...new Set(matches)];\n                    \n                        uniqueMatches.forEach(match => {\n                            const normalizedSrc = normalizeUrl(match.replace(/['\"]/g, ''));\n                            videoSources2.push(normalizedSrc);\n                        });\n                    }\n                    //反馈\n                    if (videoSources2.length > 0) {\n                        $('#messages').append(`<span>方法2，找到 ${videoSources2.length} 个视频。</span><br>`);\n                    }\n\n                    // 合并两种方法的结果\n                    videoSources = [...videoSources1, ...videoSources2];\n\n                    // 去重并标准化 URL\n                    const imageExtensions = /\\.(jpg|jpeg|png|gif|bmp|svg)$/i;\n\n                    videoSources = videoSources\n                                  .map(src => normalizeUrl(src.replace(/\\\\+/g, '')))\n                                  .filter(src => src) // 过滤空值\n                                  .filter(src => !imageExtensions.test(src)); // 移除图片地址\n                        \n                    videoSources = [...new Set(videoSources)];// 去重\n\n                    // 显示最终结果\n                    $('#messages').append(`<span>总共找到 ${videoSources.length} 个视频。</span><br>`);\n\n                    if (videoSources.length > 0) {\n                        $('#messages').append(`<span>成功提取到视频，找到 ${videoSources.length} 个视频。</span><br>`);\n                        videoSources.forEach((src, idx) => {\n                            $('#messages').append(`<div>视频地址:<span class=\"warn\"> ${src}</span><br></div>`);\n                            $('#video-source-select').append(`<option value=\"${idx}\">视频源 ${idx + 1}</option>`);\n                        });\n                    \n                        if (videoSources.length == 1) {\n                            $('#video-container').show();\n                            $('#video-url').show();\n                            $('#video-source-container').hide();\n                            updateVideoSource();\n                        } else if (videoSources.length > 1) {\n                            $('#video-container').show();\n                            $('#video-url').show();\n                            $('#video-source-container').show();\n                            updateVideoSource();\n                        } else {\n                            $('#video-container').hide();\n                            $('#video-url').hide();\n                            $('#video-source-container').hide();\n                        }\n                    } else {\n                        $('#messages').append(`<span class=\"warn\">未找到视频源。</span><br>`);\n                        $('#video-container').hide();\n                        $('#video-url').hide();\n                        $('#video-source-container').hide();\n                    }\n\n                    //提取图片\n                    const $imgContents = $(doc).find(config.imgSelector);\n                    const shouldSwap = config.swapImageAttributes;\n                    const newContents = updateImageSrc($imgContents.clone(), shouldSwap);\n                    $('#images').append(newContents).show();\n                    if (newContents.length > 0) {\n                        $('#messages').append(`<span>成功提取图片，共 ${newContents.length} 张。</span><br>`);\n                        newContents.each(function () {\n                            const imgSrc = $(this).attr('src') || $(this).attr('data-original') || $(this).attr('data-src') || $(this).attr('data-url');\n                            $('#messages').append(`<div>地址:<span class=\"warn\"> ${imgSrc}</span><br></div>`);\n                        });\n                    } else {\n                        $('#messages').append(`<span class=\"warn\">未提取到图片。</span><br>`);\n                    }\n\n                    //提取图片和文本\n                    const textContents = $(doc).find(config.textSelector).map(function () {\n                        const $currentContents = $(this);\n                        $currentContents.find('img + br, script, video, source, iframe').remove();\n                        $currentContents.html($currentContents.html().replace(/>\\s+/gi, '>').replace(/<\\/?br\\s*([^>]*)\\s*\\/?>/gi, '\\n').replace(/\\n+/g, '\\n'));\n                        return $currentContents.html();\n                    }).get().join('');\n                    if (textContents.trim()) {\n                        $('#text').append(`<span>${textContents}</span><br>`).show();\n                        $('#messages').append(`<span>成功提取图文。</span><br>`);\n                    } else {\n                        $('#messages').append(`<span class=\"warn\">未提取到图文。</span><br>`);\n                    }\n\n                    if (autoLoadInProgress && currentPageIndex < urls.length - 1) {\n                        setTimeout(() => { \n                            canLoadNextPage = true;\n                            loadContent(currentPageIndex + 1); \n                        }, config.delayTime);\n                    } else {\n                        canLoadNextPage = true;\n                        if (autoLoadInProgress) {\n                            hideLoadingStatus();\n                        }\n                    }\n                } catch (parseError) {\n                    $('#messages').append(`<span class=\"error\">解析页面内容时发生错误: ${parseError.message}</span><br>`);\n                    handleLoadFailure(urls, index);\n                } finally {\n                    if (imageBox) imageBox.viewer.update();\n                    if (textBox) textBox.viewer.update();\n                }\n            },\n            error: function (jqXHR, textStatus, errorThrown) {\n                let errorMessage = `内容加载失败: ${urls[index]}`;\n                switch (textStatus) {\n                    case 'timeout':\n                        errorMessage += ', 请求超时';\n                        break;\n                    case 'abort':\n                        errorMessage += ', 请求被取消';\n                        break;\n                    case 'parsererror':\n                        errorMessage += ', 解析响应出错';\n                        break;\n                    default:\n                        errorMessage += `, 状态码: ${jqXHR.status}, 错误信息: ${errorThrown}`;\n                        break;\n                }\n                $('#messages').append(`<span class=\"error\">${errorMessage}</span><br>`);\n                handleLoadFailure(urls, index);\n                }\n            });\n        }\n\n        // 处理加载失败的情况\n        function handleLoadFailure(urls, index) {\n            if (!loadAttempts[urls[index]]) {\n                loadAttempts[urls[index]] = 1;\n            } else {\n                loadAttempts[urls[index]]++;\n            }\n            if (loadAttempts[urls[index]] <= config.maxLoadAttempts) {\n                const retryMessage = `第${index + 1}页加载失败，正在进行第${loadAttempts[urls[index]]}次加载！`;\n                $('#messages').append(`<span class=\"error\">${retryMessage}</span><br>`);\n                setTimeout(() => { \n                    canLoadNextPage = true;\n                    loadContent(index); \n                }, config.retryDelayTime);\n            } else {\n                const finalErrorMessage = `第${index + 1}页加载失败，已达到最大尝试次数(${config.maxLoadAttempts})！`;\n                $('#messages').append(`<span class=\"error\">${finalErrorMessage}</span><br>`);\n                if (autoLoadInProgress && currentPageIndex < urls.length - 1) {\n                    setTimeout(() => { \n                        canLoadNextPage = true;\n                        loadContent(currentPageIndex + 1); \n                    }, config.delayTime);\n                } else {\n                    canLoadNextPage = true;\n                    if (autoLoadInProgress) {\n                        hideLoadingStatus();\n                    }\n                }\n            }\n        }\n\n        // 更新视频源\n        function updateVideoSource() {\n            const selectedIndex = parseInt(document.getElementById('video-source-select').value);\n            if (isNaN(selectedIndex) || !videoSources[selectedIndex]) {\n                $('#messages').append(`<span class=\"warn\">未找到有效的视频源。</span><br>`);\n                console.warn(\"Invalid or undefined video source:\", selectedIndex, videoSources);\n                return;\n            }\n\n            const selectedSource = videoSources[selectedIndex];\n            document.getElementById('video-url').textContent = `视频地址:\\n ${selectedSource}`;\n\n            const videoSourceElement = document.getElementById('video-source');\n            videoSourceElement.src = selectedSource;\n\n            const videoElement = document.getElementById('video-element');\n            videoElement.load();\n\n            $('#messages').append(`<span>更新视频源为: ${selectedSource}</span><br>`);\n            console.log(\"Updated video source to:\", selectedSource);\n        }\n\n        // 切换总页数显示状态\n        function toggleTotalPagesDisplay() {\n            if (urls.length > 1) {\n                $('#page').show();\n            } else {\n                $('#page').hide();\n            }\n        }\n\n        // 页面加载完成后执行的主要逻辑\n        $(document).ready(function () {\n            imageBox = document.getElementById('images');\n            textBox = document.getElementById('text');\n            if (imageBox && textBox) {\n                new Viewer(imageBox, { title: true, interval: 2000 });\n                new Viewer(textBox, { title: true, interval: 2000 });\n            }\n\n            const totalPagesText = config.totalPagesText;\n            const totalPages = parseInt(totalPagesText, 10) || 1;\n            const baseUrl = '{{baseUrl}}';\n\n            clearContainers();\n            $('#urls, #debug-info textarea, #video-url, #video-source-select').empty();\n            $('#urls, #messages, #debug-info, #video-url, #video-container, #video-source-container, #images, #text').hide();\n\n            buildUrls(totalPages, baseUrl);\n\n            const urlSelect = document.getElementById('url-select');\n            if (urlSelect.options.length > 0) {\n                urlSelect.value = '0'; \n\n                if (config.autoLoading) {\n                    autoLoadInProgress = true;\n                    for (let i = 0; i < urls.length; i++) {\n                        loadContent(i);\n                    }\n                } else {\n                    loadContent(0);\n                }\n            } else {\n                loadContent(0);\n            }\n\n            $('#url-select').change(function () {\n                clearContainers();\n                const selectedIndex = parseInt($(this).val());\n                loadContent(selectedIndex);\n            });\n            $('#prev-page-btn').click(function () {\n                clearContainers();\n                if (currentPageIndex > 0) {\n                    loadContent(currentPageIndex - 1);\n                }\n            });\n            $('#next-page-btn').click(function () {\n                clearContainers();\n                if (currentPageIndex < urls.length - 1) {\n                    loadContent(currentPageIndex + 1);\n                }\n            });\n            $('#auto-load-btn').click(function () {\n                autoLoadInProgress = true;\n                showLoadingStatus(1); \n                for (let i = currentPageIndex + 1; i < urls.length; i++) {\n                    loadContent(i);\n                }\n            });\n            $('#toggle-messages-btn').click(function () { $('#messages').toggle(); });\n            $('#toggle-urls-btn').click(function () { $('#urls').toggle(); });\n            $('#toggle-debug-btn').click(function () { $('#debug-info').toggle(); });\n        });\n    </script>\n</body>\n</html>",
    "ruleImage": "img@data-original",
    "ruleLink": "a@href##(\\d+)##/vodplay/$1-1-1.html###",
    "ruleNextPage": "page",
    "rulePubDate": "em@text",
    "ruleTitle": "img@alt",
    "singleUrl": false,
    "sortUrl": "搜索🔍::/index.php/vod/search/page/{{page}}/wd/{{source.getVariable()}}.html\n播放一区::/index.php/vod/type/id/1/page/{{page}}.html\n精品推荐::/index.php/vod/type/id/6/page/{{page}}.html\n国产色情::/index.php/vod/type/id/7/page/{{page}}.html\n主播直播::/index.php/vod/type/id/8/page/{{page}}.html\n亚洲无码::/index.php/vod/type/id/9/page/{{page}}.html\n亚洲有码::/index.php/vod/type/id/10/page/{{page}}.html\n中文字幕::/index.php/vod/type/id/11/page/{{page}}.html\n人妻熟女::/index.php/vod/type/id/20/page/{{page}}.html\n成人动漫::/index.php/vod/type/id/21/page/{{page}}.html\n自拍偷拍::/index.php/vod/type/id/22/page{{page}}.html\n制服丝袜::/index.php/vod/type/id/23/page/{{page}}.html\n口交颜射::/index.php/vod/type/id/24/page/{{page}}.html\n强奸乱伦::/index.php/vod/type/id/13\n/page{{page}}.html\n萝莉少女::/index.php/vod/type/id/15/page/{{page}}.html\n日本精品::/index.php/vod/type/id/26/page{{page}}.html\ncosplay::/index.php/vod/type/id/27/page/{{page}}.html\n素人自拍::/index.php/vod/type/id/28/page/{{page}}.html\n台湾辣妹::/index.php/vod/type/id/29/page{{page}}.html\n韩国御姐::/index.php/vod/type/id/30/page/{{page}}.html\n唯美港姐::/index.php/vod/type/id/31/page/{{page}}.html\n东南亚AV::/index.php/vod/type/id/32/page/{{page}}.html\n欺辱凌辱::/index.php/vod/type/id/33/page/{{page}}.html\n剧情介绍::/index.php/vod/type/id/35/page/{{page}}.html\n多人多p::/index.php/vod/type/id/36/page/{{page}}.html\n91探花::/index.php/vod/type/id/37/page/{{page}}.html\n自拍流出::/index.php/vod/type/id/38/page/{{page}}.html\n野外露出::/index.php/vod/type/id/39/page/{{page}}.html\n古装扮演::/index.php/vod/type/id/40/page/{{page}}.html\n可爱学生::/index.php/vod/type/id/41/page{{page}}.html\n女同性爱::/index.php/vod/type/id/45/page/{{page}}.html\n重口猎奇::/index.php/vod/type/id/46/page/{{page}}.html\n人兽大战::/index.php/vod/type/id/47/page/{{page}}.html\n人妖系列::/index.php/vod/type/id/48/page/{{page}}.html\nSM调教::/index.php/vod/type/id/49/page{{page}}.html\n网红主播::/index.php/vod/type/id/50/page/{{page}}.html\n探花约炮::/index.php/vod/type/id/51/page/{{page}}.html",
    "sourceComment": "/index.php/vod/search/page/{{page}}/wd/{{source.getVariable()}}.html",
    "sourceGroup": "R18",
    "sourceIcon": "https://images2.imgbox.com/fb/29/QxzvMOV6_o.gif",
    "sourceName": "暴力重口",
    "sourceUrl": "https://www.baolzk10.sbs###"
  },
  {
    "articleStyle": 1,
    "customOrder": -10100983,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "ul@li",
    "ruleContent": "<!DOCTYPE html>\n<html lang=\"zh-CN\">\n<head>\n<meta charset=\"UTF-8\">\n<title>内容提取</title>\n<!-- v2025.05.10 -->\n\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<script src=\"https://code.jquery.com/jquery-3.6.0.min.js\"></script>\n<link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/viewerjs/1.11.3/viewer.min.css\" />\n<script src=\"https://cdnjs.cloudflare.com/ajax/libs/viewerjs/1.11.3/viewer.min.js\"></script>\n<style>\n    body { font-family: Arial, sans-serif; font-size: 16px; }\n    #title, #page, #loading-status { margin: 0 auto; font-size: 20px; text-align: center; }\n    #description, #urls, #video-url, #video-sources, #messages { width: 100%; max-width: 800px; margin: 1.5px auto; font-size: 14px; text-align: left; word-wrap: break-word; white-space: pre-wrap; }\n    #text, #text :not(img), #text img + * { text-indent: 2em; width: 100%; font-size: 16px; line-height: 1.5em; margin-top: 0; margin-bottom: 0; word-wrap: break-word; white-space: pre-wrap; }\n    img, #text img { width: 100%; height: auto; display: block; margin-bottom: 1.5px; }\n    .flex-container { display: flex; justify-content: center; align-items: center; gap: 10px; margin: 1.5px 0; font-size: 14px; }\n    button, select { flex: 1 1 31%; padding: 3px; border: 1px solid #ccc; border-radius: 5px; box-sizing: border-box; cursor: pointer; background-color: #f9f9f9; transition: background-color 0.3s ease; margin: 1.5px; min-width: 0; font-size: 14px; }\n    #url-select, #video-source-select { flex: 1 1 100%; margin-left: 0; margin-right: 0; text-align: center; }\n    #video-element { width: 100%; height: auto; }\n    textarea { width: 100%; height: auto; min-height: 100px; box-sizing: border-box; resize: vertical; }\n    .error, .warn { color: red; }\n</style>\n</head>\n<body>\n    <h3 id=\"title\">{{@@title@text||h1.0@text||h2.0@text||.title.0@text}}</h3>\n    <p id=\"description\">{{@@.info.0@html||.jianjie@html}}</p>\n    <p id=\"page\" style=\"display:none;\">共<span id=\"total-pages\">1</span>页</p>\n    <p id=\"loading-status\" style=\"display:none;\"></p>\n\n    <div class=\"flex-container\" id=\"loading-buttons\" style=\"display:none;\">\n        <button id=\"prev-page-btn\">上一页</button>\n        <button id=\"next-page-btn\">下一页</button>\n        <button id=\"auto-load-btn\">自&nbsp;&nbsp;动</button>\n    </div>\n    \n    <div class=\"flex-container\">\n        <select id=\"url-select\" style=\"display:none;\"></select>\n    </div>\n    \n    <div class=\"flex-container\">\n        <button id=\"toggle-urls-btn\">显/隐网址</button>\n        <button id=\"toggle-messages-btn\">显/隐信息</button>\n        <button id=\"toggle-debug-btn\">显/隐调试</button>\n    </div>\n    <div id=\"urls\"></div>\n    <div id=\"messages\"></div>\n    <div id=\"debug-info\"></div>\n    <div id=\"video-url\"></div>\n    <div id=\"video-container\" style=\"display: none;\">\n        <video id=\"video-element\" controls preload=\"auto\" width=\"640\" height=\"264\">\n            <source id=\"video-source\" src=\"\" type=\"\">您的浏览器不支持 video 标签。\n        </video>\n    </div>\n    <div class=\"flex-container\" id=\"video-source-container\" style=\"display: none;\">\n        <select id=\"video-source-select\" onchange=\"updateVideoSource()\"></select>\n    </div>\n    <div id=\"images\"></div>\n    <div id=\"text\"></div>\n\n    <script>\n        // 配置对象，包含各种选择器、延迟时间等配置项\n        const config = {    \n            videoSelector: 'body', // 视频选择器\n            imgSelector: '.gridlane-box-inside img,.photos figure img,.content p img', // 图片选择器\n            textSelector: '#content', // 文本选择器\n            debugSelector: '#content, .page, .pager, .content, script', // 调试信息选择器\n            swapImageAttributes: false, // 是否交换图片属性\n            delayTime: 1500, // 延迟提取时间\n            retryDelayTime: 1500, // 重试加载延迟时间\n            maxLoadAttempts: 3, // 最大加载次数\n            autoLoading: false, // true自动模式，false单页模式\n            debugOnce: 0, // 只在特定索引输出一次调试信息\n            totalPagesText: '{{@@.page.0@a.-2@textNodes}}', // 总页码\n            urlSuffixToRemove: /\\.html$/, // 移除url后缀\n            pageUrlText: '{urlPrefix}_{i}.html', // 拼接URL模板        \n            ListMode: true, // true网址列表模式，false网址拼接模式    \n            initialUrls: `{{@@#sort-item-5.0@a@href}}`, // 网址\n            initialUrlsName: `{{@@#sort-item-5.0@a@span@text}}`, // 网址名称\n            sourceurl: '', // 来源URL前缀\n        };\n\n        let videoSources = []; // 存储视频源数组\n        let loadAttempts = {}; // 记录每个URL的加载尝试次数\n        let urls = []; // 存储所有页面的URL\n        let imageBox;\n        let textBox;\n        let currentPageIndex = 0; // 当前页面索引\n        let canLoadNextPage = true; // 控制是否可以加载下一页\n        let autoLoadInProgress = false; // 自动加载状态\n\n        // 构建URL列表\n        function buildUrls(totalPages, baseUrl) {\n            let initialUrlsArray = config.initialUrls.trim().split('\\n').filter(url => url.trim() !== '');\n            let initialUrlsNameArray = config.initialUrlsName.trim().split('\\n').filter(name => name.trim() !== '');\n\n            if (config.ListMode && initialUrlsArray.length > 0) {\n                if (initialUrlsArray.length !== initialUrlsNameArray.length) {\n                    $('#messages').append(`<span class=\"warn\">警告：initialUrls 和 initialUrlsName 的长度不匹配。</span><br>`);\n                }\n\n                urls = initialUrlsArray.map(url => {\n                    if (config.sourceurl && url.startsWith('/') && !/^https?:\\/\\//i.test(url)) {\n                        return config.sourceurl.replace(/\\/$/, '') + url;\n                    } else {\n                        return url;\n                    }\n                });\n\n                urls.forEach((url, index) => {\n                    const name = initialUrlsNameArray[index] || `第 ${index + 1} 页`;\n                    $('#url-select').append(`<option value=\"${index}\">${name}</option>`);\n                    $('#urls').append(`<div>${name}: ${url}</div>`);\n                });\n            } else {\n                if (totalPages === 1) {\n                    urls.push(baseUrl);\n                } else {\n                    urls.push(baseUrl);\n                    for (let i = 2; i <= totalPages; i++) {\n                        urls.push(config.pageUrlText.replace('{urlPrefix}', baseUrl.replace(config.urlSuffixToRemove, '').replace(/\\/$/, '')).replace('{i}', i));\n                    }\n                }\n\n                urls.forEach((url, index) => {\n                    const name = `第 ${index + 1} 页`;\n                    $('#url-select').append(`<option value=\"${index}\">${name}</option>`);\n                    $('#urls').append(`<div>${name}: ${url}</div>`);\n                });\n            }\n\n            $('#total-pages').text(urls.length);\n            toggleNavigationButtons();\n            toggleTotalPagesDisplay();\n        }\n\n        // 规范化URL\n        function normalizeUrl(url) {\n            if (typeof url !== 'string' || !url.trim()) {\n                return '';\n            }\n            const match = url.match(/['\"](.*?)['\"]/);\n            if (match && match[1]) {\n                url = match[1];\n            }\n\n            function processUrl(str) {\n                str = str.trim();\n                str = str.replace(/\\\\u[\\dA-F]{4}/gi, match => String.fromCharCode(parseInt(match.replace(/\\\\u/g, ''), 16)));\n                str = decodeURIComponent(str);\n                str = str.replace(/^http:\\/([^/])/, 'http://$1');\n                str = str.replace(/^https:\\/([^/])/, 'https://$1');\n                return str;\n            }\n            return processUrl(url);\n        }\n\n        // 清空容器内容\n        function clearContainers() {\n            $('#messages').empty();\n            $('#images').empty();\n            $('#text').empty();\n        }\n\n        // 更新图像源\n        function updateImageSrc(elements, shouldSwap) {\n            elements.each(function () {\n                const $this = $(this);\n                const attrsToUpdate = {};\n                if (shouldSwap) {\n                    ['data-original', 'data-src', 'data-url'].forEach(attr => {\n                        if ($this.attr(attr)) {\n                            attrsToUpdate['src'] = $this.attr(attr);\n                        }\n                    });\n                }\n                $this.attr(attrsToUpdate);\n            });\n            return elements;\n        }\n\n        // 切换导航按钮显示状态\n        function toggleNavigationButtons() {\n            if ($('#url-select option').length > 1 && !config.autoLoading) {\n                $('#loading-buttons').show();\n                $('#url-select').show();\n            } else {\n                $('#loading-buttons').hide();\n                $('#url-select').hide();\n            }\n        }\n\n        // 显示加载状态\n        function showLoadingStatus(pageNumber) {\n            const selectedOption = $('#url-select option:selected').text();\n            $('#loading-status').text(`正在加载：${selectedOption}`).show();\n        }\n\n        // 隐藏加载状态\n        function hideLoadingStatus() {\n            $('#loading-status').hide();\n        }\n\n        // 加载指定索引的内容\n        function loadContent(index) {\n            if (index < 0 || index >= urls.length || !canLoadNextPage) return;\n            canLoadNextPage = false;\n            currentPageIndex = index;\n            $('#url-select').val(index);\n            $('#messages').append(`<div>当前地址: <span class=\"warn\">${urls[index]}</span></div>`);\n            if (autoLoadInProgress) {\n                showLoadingStatus(index + 1);\n            }\n            $.ajax({\n                url: urls[index],\n                type: 'GET',\n                success: function (data) {\n                    try {\n                    const $data = $(data);\n                    let updatedHtmlContent = data.replace(/(['\"])(\\/\\/)(?!\\/)/g, '$1https://')\n                        .replace(/src=\"upload/gi, 'src=\"/upload')\n                        .replace(/style=[\"'][^'\"]+[\"']/gi, '')\n                        .replace(/\\\\\\//g, '/');\n                    const parser = new DOMParser();\n                    const doc = parser.parseFromString(updatedHtmlContent, \"text/html\");\n\n                    if (config.debugOnce === index) {\n                        const debugElements = $(doc).find(config.debugSelector);\n                        if (debugElements.length > 0) {\n                            const debugContents = $('<pre>').html(debugElements.clone().wrapAll('<div/>').parent().html()).html();\n                            $('#debug-info').html(`<span class=\"warn\">调试信息: <textarea rows=\"10\" cols=\"80\">${debugContents}</textarea></span>`);\n                        } else {\n                            $('#debug-info').html(`<span class=\"warn\">调试信息: <textarea rows=\"10\" cols=\"80\">调试信息未提取到内容，请检查选择器！</textarea></span>`);\n                        }\n                    }\n                    // 方法1：提取视频\n                    const videoSources1 = [];\n                    const videoContents = $(doc).find(config.videoSelector);\n                    const videoTags = $(videoContents).find('video, source');\n                    videoTags.each(function() {\n                        const videosrc = $(this).attr('src') || \n                                     $(this).attr('data-src') || \n                                     $(this).attr('data-original') || '';\n                        \n                        if (videosrc) {\n                            videoSources1.push(videosrc);\n                        }\n                    });\n                    //反馈\n                    if (videoSources1.length > 0) {\n                        $('#messages').append(`<span>方法1，找到 ${videoSources1.length} 个视频。</span><br>`);\n                    }\n\n                    // 方法2：正则提取视频\n                    const regex = /['\"]https?[^'<>\"]+(m3u8|mp4|webm|ogg|flv|mp3|m4a|wav|ape|flac)([^'<>\"]+)?['\"]/gi;\n                    const matches = data.match(regex);\n                    const videoSources2 = [];\n\n                    if (matches) {\n                        const uniqueMatches = [...new Set(matches)];\n                    \n                        uniqueMatches.forEach(match => {\n                            const normalizedSrc = normalizeUrl(match.replace(/['\"]/g, ''));\n                            videoSources2.push(normalizedSrc);\n                        });\n                    }\n                    //反馈\n                    if (videoSources2.length > 0) {\n                        $('#messages').append(`<span>方法2，找到 ${videoSources2.length} 个视频。</span><br>`);\n                    }\n\n                    // 合并两种方法的结果\n                    videoSources = [...videoSources1, ...videoSources2];\n\n                    // 去重并标准化 URL\n                    const imageExtensions = /\\.(jpg|jpeg|png|gif|bmp|svg)$/i;\n\n                    videoSources = videoSources\n                                  .map(src => normalizeUrl(src.replace(/\\\\+/g, '')))\n                                  .filter(src => src) // 过滤空值\n                                  .filter(src => !imageExtensions.test(src)); // 移除图片地址\n                        \n                    videoSources = [...new Set(videoSources)];// 去重\n\n                    // 显示最终结果\n                    $('#messages').append(`<span>总共找到 ${videoSources.length} 个视频。</span><br>`);\n\n                    if (videoSources.length > 0) {\n                        $('#messages').append(`<span>成功提取到视频，找到 ${videoSources.length} 个视频。</span><br>`);\n                        videoSources.forEach((src, idx) => {\n                            $('#messages').append(`<div>视频地址:<span class=\"warn\"> ${src}</span><br></div>`);\n                            $('#video-source-select').append(`<option value=\"${idx}\">视频源 ${idx + 1}</option>`);\n                        });\n                    \n                        if (videoSources.length == 1) {\n                            $('#video-container').show();\n                            $('#video-url').show();\n                            $('#video-source-container').hide();\n                            updateVideoSource();\n                        } else if (videoSources.length > 1) {\n                            $('#video-container').show();\n                            $('#video-url').show();\n                            $('#video-source-container').show();\n                            updateVideoSource();\n                        } else {\n                            $('#video-container').hide();\n                            $('#video-url').hide();\n                            $('#video-source-container').hide();\n                        }\n                    } else {\n                        $('#messages').append(`<span class=\"warn\">未找到视频源。</span><br>`);\n                        $('#video-container').hide();\n                        $('#video-url').hide();\n                        $('#video-source-container').hide();\n                    }\n\n                    //提取图片\n                    const $imgContents = $(doc).find(config.imgSelector);\n                    const shouldSwap = config.swapImageAttributes;\n                    const newContents = updateImageSrc($imgContents.clone(), shouldSwap);\n                    $('#images').append(newContents).show();\n                    if (newContents.length > 0) {\n                        $('#messages').append(`<span>成功提取图片，共 ${newContents.length} 张。</span><br>`);\n                        newContents.each(function () {\n                            const imgSrc = $(this).attr('src') || $(this).attr('data-original') || $(this).attr('data-src') || $(this).attr('data-url');\n                            $('#messages').append(`<div>地址:<span class=\"warn\"> ${imgSrc}</span><br></div>`);\n                        });\n                    } else {\n                        $('#messages').append(`<span class=\"warn\">未提取到图片。</span><br>`);\n                    }\n\n                    //提取图片和文本\n                    const textContents = $(doc).find(config.textSelector).map(function () {\n                        const $currentContents = $(this);\n                        $currentContents.find('img + br, script, video, source, iframe').remove();\n                        $currentContents.html($currentContents.html().replace(/>\\s+/gi, '>').replace(/<\\/?br\\s*([^>]*)\\s*\\/?>/gi, '\\n').replace(/\\n+/g, '\\n'));\n                        return $currentContents.html();\n                    }).get().join('');\n                    if (textContents.trim()) {\n                        $('#text').append(`<span>${textContents}</span><br>`).show();\n                        $('#messages').append(`<span>成功提取图文。</span><br>`);\n                    } else {\n                        $('#messages').append(`<span class=\"warn\">未提取到图文。</span><br>`);\n                    }\n\n                    if (autoLoadInProgress && currentPageIndex < urls.length - 1) {\n                        setTimeout(() => { \n                            canLoadNextPage = true;\n                            loadContent(currentPageIndex + 1); \n                        }, config.delayTime);\n                    } else {\n                        canLoadNextPage = true;\n                        if (autoLoadInProgress) {\n                            hideLoadingStatus();\n                        }\n                    }\n                } catch (parseError) {\n                    $('#messages').append(`<span class=\"error\">解析页面内容时发生错误: ${parseError.message}</span><br>`);\n                    handleLoadFailure(urls, index);\n                } finally {\n                    if (imageBox) imageBox.viewer.update();\n                    if (textBox) textBox.viewer.update();\n                }\n            },\n            error: function (jqXHR, textStatus, errorThrown) {\n                let errorMessage = `内容加载失败: ${urls[index]}`;\n                switch (textStatus) {\n                    case 'timeout':\n                        errorMessage += ', 请求超时';\n                        break;\n                    case 'abort':\n                        errorMessage += ', 请求被取消';\n                        break;\n                    case 'parsererror':\n                        errorMessage += ', 解析响应出错';\n                        break;\n                    default:\n                        errorMessage += `, 状态码: ${jqXHR.status}, 错误信息: ${errorThrown}`;\n                        break;\n                }\n                $('#messages').append(`<span class=\"error\">${errorMessage}</span><br>`);\n                handleLoadFailure(urls, index);\n                }\n            });\n        }\n\n        // 处理加载失败的情况\n        function handleLoadFailure(urls, index) {\n            if (!loadAttempts[urls[index]]) {\n                loadAttempts[urls[index]] = 1;\n            } else {\n                loadAttempts[urls[index]]++;\n            }\n            if (loadAttempts[urls[index]] <= config.maxLoadAttempts) {\n                const retryMessage = `第${index + 1}页加载失败，正在进行第${loadAttempts[urls[index]]}次加载！`;\n                $('#messages').append(`<span class=\"error\">${retryMessage}</span><br>`);\n                setTimeout(() => { \n                    canLoadNextPage = true;\n                    loadContent(index); \n                }, config.retryDelayTime);\n            } else {\n                const finalErrorMessage = `第${index + 1}页加载失败，已达到最大尝试次数(${config.maxLoadAttempts})！`;\n                $('#messages').append(`<span class=\"error\">${finalErrorMessage}</span><br>`);\n                if (autoLoadInProgress && currentPageIndex < urls.length - 1) {\n                    setTimeout(() => { \n                        canLoadNextPage = true;\n                        loadContent(currentPageIndex + 1); \n                    }, config.delayTime);\n                } else {\n                    canLoadNextPage = true;\n                    if (autoLoadInProgress) {\n                        hideLoadingStatus();\n                    }\n                }\n            }\n        }\n\n        // 更新视频源\n        function updateVideoSource() {\n            const selectedIndex = parseInt(document.getElementById('video-source-select').value);\n            if (isNaN(selectedIndex) || !videoSources[selectedIndex]) {\n                $('#messages').append(`<span class=\"warn\">未找到有效的视频源。</span><br>`);\n                console.warn(\"Invalid or undefined video source:\", selectedIndex, videoSources);\n                return;\n            }\n\n            const selectedSource = videoSources[selectedIndex];\n            document.getElementById('video-url').textContent = `视频地址:\\n ${selectedSource}`;\n\n            const videoSourceElement = document.getElementById('video-source');\n            videoSourceElement.src = selectedSource;\n\n            const videoElement = document.getElementById('video-element');\n            videoElement.load();\n\n            $('#messages').append(`<span>更新视频源为: ${selectedSource}</span><br>`);\n            console.log(\"Updated video source to:\", selectedSource);\n        }\n\n        // 切换总页数显示状态\n        function toggleTotalPagesDisplay() {\n            if (urls.length > 1) {\n                $('#page').show();\n            } else {\n                $('#page').hide();\n            }\n        }\n\n        // 页面加载完成后执行的主要逻辑\n        $(document).ready(function () {\n            imageBox = document.getElementById('images');\n            textBox = document.getElementById('text');\n            if (imageBox && textBox) {\n                new Viewer(imageBox, { title: true, interval: 2000 });\n                new Viewer(textBox, { title: true, interval: 2000 });\n            }\n\n            const totalPagesText = config.totalPagesText;\n            const totalPages = parseInt(totalPagesText, 10) || 1;\n            const baseUrl = '{{baseUrl}}';\n\n            clearContainers();\n            $('#urls, #debug-info textarea, #video-url, #video-source-select').empty();\n            $('#urls, #messages, #debug-info, #video-url, #video-container, #video-source-container, #images, #text').hide();\n\n            buildUrls(totalPages, baseUrl);\n\n            const urlSelect = document.getElementById('url-select');\n            if (urlSelect.options.length > 0) {\n                urlSelect.value = '0'; \n\n                if (config.autoLoading) {\n                    autoLoadInProgress = true;\n                    for (let i = 0; i < urls.length; i++) {\n                        loadContent(i);\n                    }\n                } else {\n                    loadContent(0);\n                }\n            } else {\n                loadContent(0);\n            }\n\n            $('#url-select').change(function () {\n                clearContainers();\n                const selectedIndex = parseInt($(this).val());\n                loadContent(selectedIndex);\n            });\n            $('#prev-page-btn').click(function () {\n                clearContainers();\n                if (currentPageIndex > 0) {\n                    loadContent(currentPageIndex - 1);\n                }\n            });\n            $('#next-page-btn').click(function () {\n                clearContainers();\n                if (currentPageIndex < urls.length - 1) {\n                    loadContent(currentPageIndex + 1);\n                }\n            });\n            $('#auto-load-btn').click(function () {\n                autoLoadInProgress = true;\n                showLoadingStatus(1); \n                for (let i = currentPageIndex + 1; i < urls.length; i++) {\n                    loadContent(i);\n                }\n            });\n            $('#toggle-messages-btn').click(function () { $('#messages').toggle(); });\n            $('#toggle-urls-btn').click(function () { $('#urls').toggle(); });\n            $('#toggle-debug-btn').click(function () { $('#debug-info').toggle(); });\n        });\n    </script>\n</body>\n</html>",
    "ruleImage": "img@src",
    "ruleLink": "a.0@href",
    "ruleNextPage": "text.下一页@href",
    "rulePubDate": "p@text",
    "ruleTitle": "img@alt",
    "singleUrl": false,
    "sortUrl": "搜索🔍::/index.php/vod/search.html?wd={{source.getVariable()}}\n偷拍自拍::index.php/vod/type/id/1.html\n中文字幕::index.php/vod/type/id/2.html\n重口味::index.php/vod/type/id/3.html\n未分类1::index.php/vod/type/id/4.html\n未分类2::index.php/vod/type/id/5.html\n未分类2::index.php/vod/type/id/6.html\n未分类4::index.php/vod/type/id/7.html\n未分类5::index.php/vod/type/id/8.html\n未分类6::index.php/vod/type/id/9.html\n黑料打烊::index.php/vod/type/id/10.html\n未分类7::index.php/vod/type/id/11.html\n未分类8::index.php/vod/type/id/12.html\n未分类9::index.php/vod/type/id/13.html\n未分类10::index.php/vod/type/id/14.html\n未分类11::index.php/vod/type/id/15.html\n未分类12::index.php/vod/type/id/16.html\n未分类13::index.php/vod/type/id/17.html\n未分类14::index.php/vod/type/id/18.html\n未分类15::index.php/vod/type/id/19.html\n未分类16::index.php/vod/type/id/20.html\n未分类17::index.php/vod/type/id/21.html\n未分类18::index.php/vod/type/id/22.html\n未分类19::index.php/vod/type/id/23.html\n未分类20::index.php/vod/type/id/24.html\n未分类21::index.php/vod/type/id/25.html\n未分类22::index.php/vod/type/id/26.html\n未分类23::index.php/vod/type/id/27.html\n未分类24::index.php/vod/type/id/28.html\n未分类25::index.php/vod/type/id/29.html\n未分类26::index.php/vod/type/id/30.html\n未分类27::index.php/vod/type/id/31.html\n未分类28::index.php/vod/type/id/32.html\n未分类29::index.php/vod/type/id/33.html\n未分类30::index.php/vod/type/id/34.html\n未分类31::index.php/vod/type/id/35.html\n未分类32::index.php/vod/type/id/36.html\n未分类33::index.php/vod/type/id/37.html",
    "sourceComment": "www.hhgav2.xyz",
    "sourceGroup": "R18",
    "sourceIcon": "https://91ymdl.site/2025020810f8tgt.gif",
    "sourceName": "狠狠干",
    "sourceUrl": "https://www.hhgav9.xyz/"
  },
  {
    "articleStyle": 1,
    "customOrder": -10100982,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "[class=\"row col5 clearfix\"]@dl",
    "ruleContent": "<js>\np=result.match(/url\\\"\\:\\\"(.*?)\\\"\\,\\\"url/)\np=(p?p[1]:1).replace(/\\\\/g,'')\nvar p\n`<html>\n    <head>\n        <meta name=\"viewport\" content=\"width=device-width\">\n        <style>\n            body {\n                margin: 0;\n                font-family: Arial, sans-serif;\n                background: linear-gradient(135deg, #ece9e6, #ffffff);\n                display: flex;\n                flex-direction: column;\n                align-items: center;\n                justify-content: flex-start;\n                padding: 20px;\n            }\n            .container {\n                width: 100%;\n                max-width: 800px;\n                background: #fff;\n                border-radius: 10px;\n                box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);\n                overflow: hidden;\n                margin-bottom: 20px;\n            }\n            h3 {\n                margin: 0;\n                padding: 10px 20px;\n                font-size: 0.9em;\n                background: #333;\n                color: #fff;\n                border-radius: 10px 10px 0 0;\n            }\n            .video-container {\n                width: 100%;\n                background: #000;\n                position: relative;\n            }\n            video {\n                width: 100%;\n                height: auto;\n                display: block;\n            }\n            .info-container {\n                padding: 20px;\n            }\n            .info-container p {\n                margin: 10px 0;\n                color: #555;\n            }\n            .info-container p span {\n                font-weight: bold;\n                color: #000;\n            }\n        </style>\n    </head>\n    <body>\n        <div class=\"container\">\n            <div class=\"video-container\">\n                <video controls autoplay name=\"media\" id=\"videoPlayer\">\n                    <source src=\"${p}\" type=\"video/mp4\">\n                </video>\n            </div>\n            <div class=\"info-container\">\n                \n            </div>\n        </div>\n\n        <script>\n            // 获取视频元素\n            const video = document.getElementById('videoPlayer');\n            let touchStartX = 0;\n            let touchStartY = 0;\n            let touchStartTime = 0;\n            let isLongPress = false;\n\n            // 滑动快进\n            video.addEventListener('touchstart', (e) => {\n                touchStartX = e.touches[0].clientX;\n                touchStartY = e.touches[0].clientY;\n                touchStartTime = Date.now();\n                isLongPress = false;\n            });\n\n            video.addEventListener('touchmove', (e) => {\n                const deltaX = e.touches[0].clientX - touchStartX;\n                const deltaY = e.touches[0].clientY - touchStartY;\n\n                // 如果是水平滑动，且未进入长按状态\n                if (Math.abs(deltaX) > Math.abs(deltaY) && !isLongPress) {\n                    const duration = video.duration;\n                    const seekTime = video.currentTime + (deltaX / 100); // 每滑动100px快进1秒\n                    video.currentTime = Math.min(Math.max(seekTime, 0), duration);\n                }\n            });\n\n            // 长按快进\n            video.addEventListener('touchend', (e) => {\n                const touchEndTime = Date.now();\n                const touchDuration = touchEndTime - touchStartTime;\n\n                // 如果长按时间超过500ms，进入长按快进状态\n                if (touchDuration > 500) {\n                    isLongPress = true;\n\n                    // 在长按状态下，根据滑动距离快进\n                    const deltaX = e.changedTouches[0].clientX - touchStartX;\n                    const duration = video.duration;\n                    const seekTime = video.currentTime + (deltaX / 100); // 每滑动100px快进1秒\n                    video.currentTime = Math.min(Math.max(seekTime, 0), duration);\n                } else {\n                    isLongPress = false;\n                }\n            });\n\n            // 防止默认行为（如页面滚动）\n            video.addEventListener('touchmove', (e) => {\n                e.preventDefault();\n            });\n        </script>\n    </body>\n</html>`;\n</js>",
    "ruleImage": "img@data-original",
    "ruleLink": "a@href\n<js>\np=result.match(/(\\d+)/);\np=p?p[1]:1\nresult=`/index.php/vod/play/id/${p}/sid/1/nid/1.html`\n</js>",
    "ruleNextPage": "page",
    "rulePubDate": "span@text",
    "ruleTitle": "h5@text",
    "singleUrl": false,
    "sortUrl": "搜索🔍::/index.php/vod/search/page/{{page}}/wd/{{source.getVariable()}}.html\n明星换脸::/index.php/vod/type/id/29/page/{{page}}.html",
    "sourceComment": "永久页::https://feiji.huangmao.my/?mimi\nhttps://20250514.siyinyu30.buzz\nhttps://20250330.siyinyu4.buzz/",
    "sourceGroup": "R18",
    "sourceIcon": "https://xn--01w.rbdx56.buzz/upload/165824971.jpg",
    "sourceName": "思淫欲",
    "sourceUrl": "https://20250514.siyinyu30.buzz/##"
  },
  {
    "articleStyle": 1,
    "customOrder": -10100979,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "[class=\"group-contents layui-row\"]@a",
    "ruleContent": "class.player-box@all&&\nscript@all",
    "ruleImage": "img@src",
    "ruleLink": "a.0@href",
    "ruleNextPage": "page",
    "rulePubDate": "span@text",
    "ruleTitle": "p@text",
    "singleUrl": false,
    "sortUrl": "搜索🔍::/index.php/vodsearch/{{source.getVariable()}}----------{{page}}---.html\n热门视频::/index.php/vodtype/160-{{page}}.html\n麻豆视频::/index.php/vodtype/161-{{page}}.html\n91视频::/index.php/vodtype/162-{{page}}.html\n天美视频::/index.php/vodtype/163-{{page}}.html\n蜜桃视频::/index.php/vodtype/164-{{page}}.html\n皇家视频::/index.php/vodtype/165-{{page}}.html\n星空视频::/index.php/vodtype/166-{{page}}.html\n大象视频::/index.php/vodtype/168-{{page}}.html\n香蕉视频::/index.php/vodtype/174-{{page}}.html",
    "sourceComment": "https://77.wmbmtz.xyz/go/",
    "sourceGroup": "R18",
    "sourceIcon": "https://sanxing.wmbm-4ga.buzz/upload/vod/20250210-1/0a72d886eb129bc0308995244bbfd179.gif",
    "sourceName": "抖阴视频",
    "sourceUrl": "https://sanxing.wmbm-4ga.buzz"
  },
  {
    "articleStyle": 1,
    "customOrder": -10100978,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "[class=\"box\"]@a",
    "ruleContent": "<!DOCTYPE html>\n<html lang=\"zh-CN\">\n<head>\n<meta charset=\"UTF-8\">\n<title>内容提取</title>\n<!-- v2025.05.10 -->\n\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<script src=\"https://code.jquery.com/jquery-3.6.0.min.js\"></script>\n<link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/viewerjs/1.11.3/viewer.min.css\" />\n<script src=\"https://cdnjs.cloudflare.com/ajax/libs/viewerjs/1.11.3/viewer.min.js\"></script>\n<style>\n    body { font-family: Arial, sans-serif; font-size: 16px; }\n    #title, #page, #loading-status { margin: 0 auto; font-size: 20px; text-align: center; }\n    #description, #urls, #video-url, #video-sources, #messages { width: 100%; max-width: 800px; margin: 1.5px auto; font-size: 14px; text-align: left; word-wrap: break-word; white-space: pre-wrap; }\n    #text, #text :not(img), #text img + * { text-indent: 2em; width: 100%; font-size: 16px; line-height: 1.5em; margin-top: 0; margin-bottom: 0; word-wrap: break-word; white-space: pre-wrap; }\n    img, #text img { width: 100%; height: auto; display: block; margin-bottom: 1.5px; }\n    .flex-container { display: flex; justify-content: center; align-items: center; gap: 10px; margin: 1.5px 0; font-size: 14px; }\n    button, select { flex: 1 1 31%; padding: 3px; border: 1px solid #ccc; border-radius: 5px; box-sizing: border-box; cursor: pointer; background-color: #f9f9f9; transition: background-color 0.3s ease; margin: 1.5px; min-width: 0; font-size: 14px; }\n    #url-select, #video-source-select { flex: 1 1 100%; margin-left: 0; margin-right: 0; text-align: center; }\n    #video-element { width: 100%; height: auto; }\n    textarea { width: 100%; height: auto; min-height: 100px; box-sizing: border-box; resize: vertical; }\n    .error, .warn { color: red; }\n</style>\n</head>\n<body>\n    <h3 id=\"title\">{{@@title@text||h1.0@text||h2.0@text||.title.0@text}}</h3>\n    <p id=\"description\">{{@@.info.0@html||.jianjie@html}}</p>\n    <p id=\"page\" style=\"display:none;\">共<span id=\"total-pages\">1</span>页</p>\n    <p id=\"loading-status\" style=\"display:none;\"></p>\n\n    <div class=\"flex-container\" id=\"loading-buttons\" style=\"display:none;\">\n        <button id=\"prev-page-btn\">上一页</button>\n        <button id=\"next-page-btn\">下一页</button>\n        <button id=\"auto-load-btn\">自&nbsp;&nbsp;动</button>\n    </div>\n    \n    <div class=\"flex-container\">\n        <select id=\"url-select\" style=\"display:none;\"></select>\n    </div>\n    \n    <div class=\"flex-container\">\n        <button id=\"toggle-urls-btn\">显/隐网址</button>\n        <button id=\"toggle-messages-btn\">显/隐信息</button>\n        <button id=\"toggle-debug-btn\">显/隐调试</button>\n    </div>\n    <div id=\"urls\"></div>\n    <div id=\"messages\"></div>\n    <div id=\"debug-info\"></div>\n    <div id=\"video-url\"></div>\n    <div id=\"video-container\" style=\"display: none;\">\n        <video id=\"video-element\" controls preload=\"auto\" width=\"640\" height=\"264\">\n            <source id=\"video-source\" src=\"\" type=\"\">您的浏览器不支持 video 标签。\n        </video>\n    </div>\n    <div class=\"flex-container\" id=\"video-source-container\" style=\"display: none;\">\n        <select id=\"video-source-select\" onchange=\"updateVideoSource()\"></select>\n    </div>\n    <div id=\"images\"></div>\n    <div id=\"text\"></div>\n\n    <script>\n        // 配置对象，包含各种选择器、延迟时间等配置项\n        const config = {    \n            videoSelector: 'body', // 视频选择器\n            imgSelector: '.gridlane-box-inside img,.photos figure img,.content p img', // 图片选择器\n            textSelector: '#content', // 文本选择器\n            debugSelector: '#content, .page, .pager, .content, script', // 调试信息选择器\n            swapImageAttributes: false, // 是否交换图片属性\n            delayTime: 1500, // 延迟提取时间\n            retryDelayTime: 1500, // 重试加载延迟时间\n            maxLoadAttempts: 3, // 最大加载次数\n            autoLoading: false, // true自动模式，false单页模式\n            debugOnce: 0, // 只在特定索引输出一次调试信息\n            totalPagesText: '{{@@.page.0@a.-2@textNodes}}', // 总页码\n            urlSuffixToRemove: /\\.html$/, // 移除url后缀\n            pageUrlText: '{urlPrefix}_{i}.html', // 拼接URL模板        \n            ListMode: true, // true网址列表模式，false网址拼接模式    \n            initialUrls: `{{@@#sort-item-5.0@a@href}}`, // 网址\n            initialUrlsName: `{{@@#sort-item-5.0@a@span@text}}`, // 网址名称\n            sourceurl: '', // 来源URL前缀\n        };\n\n        let videoSources = []; // 存储视频源数组\n        let loadAttempts = {}; // 记录每个URL的加载尝试次数\n        let urls = []; // 存储所有页面的URL\n        let imageBox;\n        let textBox;\n        let currentPageIndex = 0; // 当前页面索引\n        let canLoadNextPage = true; // 控制是否可以加载下一页\n        let autoLoadInProgress = false; // 自动加载状态\n\n        // 构建URL列表\n        function buildUrls(totalPages, baseUrl) {\n            let initialUrlsArray = config.initialUrls.trim().split('\\n').filter(url => url.trim() !== '');\n            let initialUrlsNameArray = config.initialUrlsName.trim().split('\\n').filter(name => name.trim() !== '');\n\n            if (config.ListMode && initialUrlsArray.length > 0) {\n                if (initialUrlsArray.length !== initialUrlsNameArray.length) {\n                    $('#messages').append(`<span class=\"warn\">警告：initialUrls 和 initialUrlsName 的长度不匹配。</span><br>`);\n                }\n\n                urls = initialUrlsArray.map(url => {\n                    if (config.sourceurl && url.startsWith('/') && !/^https?:\\/\\//i.test(url)) {\n                        return config.sourceurl.replace(/\\/$/, '') + url;\n                    } else {\n                        return url;\n                    }\n                });\n\n                urls.forEach((url, index) => {\n                    const name = initialUrlsNameArray[index] || `第 ${index + 1} 页`;\n                    $('#url-select').append(`<option value=\"${index}\">${name}</option>`);\n                    $('#urls').append(`<div>${name}: ${url}</div>`);\n                });\n            } else {\n                if (totalPages === 1) {\n                    urls.push(baseUrl);\n                } else {\n                    urls.push(baseUrl);\n                    for (let i = 2; i <= totalPages; i++) {\n                        urls.push(config.pageUrlText.replace('{urlPrefix}', baseUrl.replace(config.urlSuffixToRemove, '').replace(/\\/$/, '')).replace('{i}', i));\n                    }\n                }\n\n                urls.forEach((url, index) => {\n                    const name = `第 ${index + 1} 页`;\n                    $('#url-select').append(`<option value=\"${index}\">${name}</option>`);\n                    $('#urls').append(`<div>${name}: ${url}</div>`);\n                });\n            }\n\n            $('#total-pages').text(urls.length);\n            toggleNavigationButtons();\n            toggleTotalPagesDisplay();\n        }\n\n        // 规范化URL\n        function normalizeUrl(url) {\n            if (typeof url !== 'string' || !url.trim()) {\n                return '';\n            }\n            const match = url.match(/['\"](.*?)['\"]/);\n            if (match && match[1]) {\n                url = match[1];\n            }\n\n            function processUrl(str) {\n                str = str.trim();\n                str = str.replace(/\\\\u[\\dA-F]{4}/gi, match => String.fromCharCode(parseInt(match.replace(/\\\\u/g, ''), 16)));\n                str = decodeURIComponent(str);\n                str = str.replace(/^http:\\/([^/])/, 'http://$1');\n                str = str.replace(/^https:\\/([^/])/, 'https://$1');\n                return str;\n            }\n            return processUrl(url);\n        }\n\n        // 清空容器内容\n        function clearContainers() {\n            $('#messages').empty();\n            $('#images').empty();\n            $('#text').empty();\n        }\n\n        // 更新图像源\n        function updateImageSrc(elements, shouldSwap) {\n            elements.each(function () {\n                const $this = $(this);\n                const attrsToUpdate = {};\n                if (shouldSwap) {\n                    ['data-original', 'data-src', 'data-url'].forEach(attr => {\n                        if ($this.attr(attr)) {\n                            attrsToUpdate['src'] = $this.attr(attr);\n                        }\n                    });\n                }\n                $this.attr(attrsToUpdate);\n            });\n            return elements;\n        }\n\n        // 切换导航按钮显示状态\n        function toggleNavigationButtons() {\n            if ($('#url-select option').length > 1 && !config.autoLoading) {\n                $('#loading-buttons').show();\n                $('#url-select').show();\n            } else {\n                $('#loading-buttons').hide();\n                $('#url-select').hide();\n            }\n        }\n\n        // 显示加载状态\n        function showLoadingStatus(pageNumber) {\n            const selectedOption = $('#url-select option:selected').text();\n            $('#loading-status').text(`正在加载：${selectedOption}`).show();\n        }\n\n        // 隐藏加载状态\n        function hideLoadingStatus() {\n            $('#loading-status').hide();\n        }\n\n        // 加载指定索引的内容\n        function loadContent(index) {\n            if (index < 0 || index >= urls.length || !canLoadNextPage) return;\n            canLoadNextPage = false;\n            currentPageIndex = index;\n            $('#url-select').val(index);\n            $('#messages').append(`<div>当前地址: <span class=\"warn\">${urls[index]}</span></div>`);\n            if (autoLoadInProgress) {\n                showLoadingStatus(index + 1);\n            }\n            $.ajax({\n                url: urls[index],\n                type: 'GET',\n                success: function (data) {\n                    try {\n                    const $data = $(data);\n                    let updatedHtmlContent = data.replace(/(['\"])(\\/\\/)(?!\\/)/g, '$1https://')\n                        .replace(/src=\"upload/gi, 'src=\"/upload')\n                        .replace(/style=[\"'][^'\"]+[\"']/gi, '')\n                        .replace(/\\\\\\//g, '/');\n                    const parser = new DOMParser();\n                    const doc = parser.parseFromString(updatedHtmlContent, \"text/html\");\n\n                    if (config.debugOnce === index) {\n                        const debugElements = $(doc).find(config.debugSelector);\n                        if (debugElements.length > 0) {\n                            const debugContents = $('<pre>').html(debugElements.clone().wrapAll('<div/>').parent().html()).html();\n                            $('#debug-info').html(`<span class=\"warn\">调试信息: <textarea rows=\"10\" cols=\"80\">${debugContents}</textarea></span>`);\n                        } else {\n                            $('#debug-info').html(`<span class=\"warn\">调试信息: <textarea rows=\"10\" cols=\"80\">调试信息未提取到内容，请检查选择器！</textarea></span>`);\n                        }\n                    }\n                    // 方法1：提取视频\n                    const videoSources1 = [];\n                    const videoContents = $(doc).find(config.videoSelector);\n                    const videoTags = $(videoContents).find('video, source');\n                    videoTags.each(function() {\n                        const videosrc = $(this).attr('src') || \n                                     $(this).attr('data-src') || \n                                     $(this).attr('data-original') || '';\n                        \n                        if (videosrc) {\n                            videoSources1.push(videosrc);\n                        }\n                    });\n                    //反馈\n                    if (videoSources1.length > 0) {\n                        $('#messages').append(`<span>方法1，找到 ${videoSources1.length} 个视频。</span><br>`);\n                    }\n\n                    // 方法2：正则提取视频\n                    const regex = /['\"]https?[^'<>\"]+(m3u8|mp4|webm|ogg|flv|mp3|m4a|wav|ape|flac)([^'<>\"]+)?['\"]/gi;\n                    const matches = data.match(regex);\n                    const videoSources2 = [];\n\n                    if (matches) {\n                        const uniqueMatches = [...new Set(matches)];\n                    \n                        uniqueMatches.forEach(match => {\n                            const normalizedSrc = normalizeUrl(match.replace(/['\"]/g, ''));\n                            videoSources2.push(normalizedSrc);\n                        });\n                    }\n                    //反馈\n                    if (videoSources2.length > 0) {\n                        $('#messages').append(`<span>方法2，找到 ${videoSources2.length} 个视频。</span><br>`);\n                    }\n\n                    // 合并两种方法的结果\n                    videoSources = [...videoSources1, ...videoSources2];\n\n                    // 去重并标准化 URL\n                    const imageExtensions = /\\.(jpg|jpeg|png|gif|bmp|svg)$/i;\n\n                    videoSources = videoSources\n                                  .map(src => normalizeUrl(src.replace(/\\\\+/g, '')))\n                                  .filter(src => src) // 过滤空值\n                                  .filter(src => !imageExtensions.test(src)); // 移除图片地址\n                        \n                    videoSources = [...new Set(videoSources)];// 去重\n\n                    // 显示最终结果\n                    $('#messages').append(`<span>总共找到 ${videoSources.length} 个视频。</span><br>`);\n\n                    if (videoSources.length > 0) {\n                        $('#messages').append(`<span>成功提取到视频，找到 ${videoSources.length} 个视频。</span><br>`);\n                        videoSources.forEach((src, idx) => {\n                            $('#messages').append(`<div>视频地址:<span class=\"warn\"> ${src}</span><br></div>`);\n                            $('#video-source-select').append(`<option value=\"${idx}\">视频源 ${idx + 1}</option>`);\n                        });\n                    \n                        if (videoSources.length == 1) {\n                            $('#video-container').show();\n                            $('#video-url').show();\n                            $('#video-source-container').hide();\n                            updateVideoSource();\n                        } else if (videoSources.length > 1) {\n                            $('#video-container').show();\n                            $('#video-url').show();\n                            $('#video-source-container').show();\n                            updateVideoSource();\n                        } else {\n                            $('#video-container').hide();\n                            $('#video-url').hide();\n                            $('#video-source-container').hide();\n                        }\n                    } else {\n                        $('#messages').append(`<span class=\"warn\">未找到视频源。</span><br>`);\n                        $('#video-container').hide();\n                        $('#video-url').hide();\n                        $('#video-source-container').hide();\n                    }\n\n                    //提取图片\n                    const $imgContents = $(doc).find(config.imgSelector);\n                    const shouldSwap = config.swapImageAttributes;\n                    const newContents = updateImageSrc($imgContents.clone(), shouldSwap);\n                    $('#images').append(newContents).show();\n                    if (newContents.length > 0) {\n                        $('#messages').append(`<span>成功提取图片，共 ${newContents.length} 张。</span><br>`);\n                        newContents.each(function () {\n                            const imgSrc = $(this).attr('src') || $(this).attr('data-original') || $(this).attr('data-src') || $(this).attr('data-url');\n                            $('#messages').append(`<div>地址:<span class=\"warn\"> ${imgSrc}</span><br></div>`);\n                        });\n                    } else {\n                        $('#messages').append(`<span class=\"warn\">未提取到图片。</span><br>`);\n                    }\n\n                    //提取图片和文本\n                    const textContents = $(doc).find(config.textSelector).map(function () {\n                        const $currentContents = $(this);\n                        $currentContents.find('img + br, script, video, source, iframe').remove();\n                        $currentContents.html($currentContents.html().replace(/>\\s+/gi, '>').replace(/<\\/?br\\s*([^>]*)\\s*\\/?>/gi, '\\n').replace(/\\n+/g, '\\n'));\n                        return $currentContents.html();\n                    }).get().join('');\n                    if (textContents.trim()) {\n                        $('#text').append(`<span>${textContents}</span><br>`).show();\n                        $('#messages').append(`<span>成功提取图文。</span><br>`);\n                    } else {\n                        $('#messages').append(`<span class=\"warn\">未提取到图文。</span><br>`);\n                    }\n\n                    if (autoLoadInProgress && currentPageIndex < urls.length - 1) {\n                        setTimeout(() => { \n                            canLoadNextPage = true;\n                            loadContent(currentPageIndex + 1); \n                        }, config.delayTime);\n                    } else {\n                        canLoadNextPage = true;\n                        if (autoLoadInProgress) {\n                            hideLoadingStatus();\n                        }\n                    }\n                } catch (parseError) {\n                    $('#messages').append(`<span class=\"error\">解析页面内容时发生错误: ${parseError.message}</span><br>`);\n                    handleLoadFailure(urls, index);\n                } finally {\n                    if (imageBox) imageBox.viewer.update();\n                    if (textBox) textBox.viewer.update();\n                }\n            },\n            error: function (jqXHR, textStatus, errorThrown) {\n                let errorMessage = `内容加载失败: ${urls[index]}`;\n                switch (textStatus) {\n                    case 'timeout':\n                        errorMessage += ', 请求超时';\n                        break;\n                    case 'abort':\n                        errorMessage += ', 请求被取消';\n                        break;\n                    case 'parsererror':\n                        errorMessage += ', 解析响应出错';\n                        break;\n                    default:\n                        errorMessage += `, 状态码: ${jqXHR.status}, 错误信息: ${errorThrown}`;\n                        break;\n                }\n                $('#messages').append(`<span class=\"error\">${errorMessage}</span><br>`);\n                handleLoadFailure(urls, index);\n                }\n            });\n        }\n\n        // 处理加载失败的情况\n        function handleLoadFailure(urls, index) {\n            if (!loadAttempts[urls[index]]) {\n                loadAttempts[urls[index]] = 1;\n            } else {\n                loadAttempts[urls[index]]++;\n            }\n            if (loadAttempts[urls[index]] <= config.maxLoadAttempts) {\n                const retryMessage = `第${index + 1}页加载失败，正在进行第${loadAttempts[urls[index]]}次加载！`;\n                $('#messages').append(`<span class=\"error\">${retryMessage}</span><br>`);\n                setTimeout(() => { \n                    canLoadNextPage = true;\n                    loadContent(index); \n                }, config.retryDelayTime);\n            } else {\n                const finalErrorMessage = `第${index + 1}页加载失败，已达到最大尝试次数(${config.maxLoadAttempts})！`;\n                $('#messages').append(`<span class=\"error\">${finalErrorMessage}</span><br>`);\n                if (autoLoadInProgress && currentPageIndex < urls.length - 1) {\n                    setTimeout(() => { \n                        canLoadNextPage = true;\n                        loadContent(currentPageIndex + 1); \n                    }, config.delayTime);\n                } else {\n                    canLoadNextPage = true;\n                    if (autoLoadInProgress) {\n                        hideLoadingStatus();\n                    }\n                }\n            }\n        }\n\n        // 更新视频源\n        function updateVideoSource() {\n            const selectedIndex = parseInt(document.getElementById('video-source-select').value);\n            if (isNaN(selectedIndex) || !videoSources[selectedIndex]) {\n                $('#messages').append(`<span class=\"warn\">未找到有效的视频源。</span><br>`);\n                console.warn(\"Invalid or undefined video source:\", selectedIndex, videoSources);\n                return;\n            }\n\n            const selectedSource = videoSources[selectedIndex];\n            document.getElementById('video-url').textContent = `视频地址:\\n ${selectedSource}`;\n\n            const videoSourceElement = document.getElementById('video-source');\n            videoSourceElement.src = selectedSource;\n\n            const videoElement = document.getElementById('video-element');\n            videoElement.load();\n\n            $('#messages').append(`<span>更新视频源为: ${selectedSource}</span><br>`);\n            console.log(\"Updated video source to:\", selectedSource);\n        }\n\n        // 切换总页数显示状态\n        function toggleTotalPagesDisplay() {\n            if (urls.length > 1) {\n                $('#page').show();\n            } else {\n                $('#page').hide();\n            }\n        }\n\n        // 页面加载完成后执行的主要逻辑\n        $(document).ready(function () {\n            imageBox = document.getElementById('images');\n            textBox = document.getElementById('text');\n            if (imageBox && textBox) {\n                new Viewer(imageBox, { title: true, interval: 2000 });\n                new Viewer(textBox, { title: true, interval: 2000 });\n            }\n\n            const totalPagesText = config.totalPagesText;\n            const totalPages = parseInt(totalPagesText, 10) || 1;\n            const baseUrl = '{{baseUrl}}';\n\n            clearContainers();\n            $('#urls, #debug-info textarea, #video-url, #video-source-select').empty();\n            $('#urls, #messages, #debug-info, #video-url, #video-container, #video-source-container, #images, #text').hide();\n\n            buildUrls(totalPages, baseUrl);\n\n            const urlSelect = document.getElementById('url-select');\n            if (urlSelect.options.length > 0) {\n                urlSelect.value = '0'; \n\n                if (config.autoLoading) {\n                    autoLoadInProgress = true;\n                    for (let i = 0; i < urls.length; i++) {\n                        loadContent(i);\n                    }\n                } else {\n                    loadContent(0);\n                }\n            } else {\n                loadContent(0);\n            }\n\n            $('#url-select').change(function () {\n                clearContainers();\n                const selectedIndex = parseInt($(this).val());\n                loadContent(selectedIndex);\n            });\n            $('#prev-page-btn').click(function () {\n                clearContainers();\n                if (currentPageIndex > 0) {\n                    loadContent(currentPageIndex - 1);\n                }\n            });\n            $('#next-page-btn').click(function () {\n                clearContainers();\n                if (currentPageIndex < urls.length - 1) {\n                    loadContent(currentPageIndex + 1);\n                }\n            });\n            $('#auto-load-btn').click(function () {\n                autoLoadInProgress = true;\n                showLoadingStatus(1); \n                for (let i = currentPageIndex + 1; i < urls.length; i++) {\n                    loadContent(i);\n                }\n            });\n            $('#toggle-messages-btn').click(function () { $('#messages').toggle(); });\n            $('#toggle-urls-btn').click(function () { $('#urls').toggle(); });\n            $('#toggle-debug-btn').click(function () { $('#debug-info').toggle(); });\n        });\n    </script>\n</body>\n</html>",
    "ruleImage": "img@data-src",
    "ruleLink": "a.0@href",
    "ruleNextPage": "page",
    "rulePubDate": "em@text",
    "ruleTitle": "strong@text",
    "singleUrl": false,
    "sortUrl": "\n搜索🔍::/new/index.php?mod=search&kw={{source.getVariable()}}&page={{page}}\n国产自拍::/new/index.php?mod=forumdisplay&fid=10065\n欧美极品::/new/index.php?mod=forumdisplay&fid=10066\n日韩无码::/new/index.php?mod=forumdisplay&fid=10067\n日韩有码::/new/index.php?mod=forumdisplay&fid=10068\n中文字幕::/new/index.php?mod=forumdisplay&fid=10069\n动漫精品::/new/index.php?mod=forumdisplay&fid=10070\n极品萝莉::/new/index.php?mod=forumdisplay&fid=10071\n强奸乱伦::/new/index.php?mod=forumdisplay&fid=10072\n童颜巨乳::/new/index.php?mod=forumdisplay&fid=10073",
    "sourceComment": "xxrbs.com",
    "sourceGroup": "R18",
    "sourceIcon": "https://xn--bwy.taojing62.buzz/upload/155042831.jpg",
    "sourceName": "日鲍社",
    "sourceUrl": "https://958.xxrbs28.lat/"
  },
  {
    "articleStyle": 1,
    "customOrder": -10100974,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "ul@li",
    "ruleContent": "class.player-box@all&&\nscript@all",
    "ruleImage": "img@src",
    "ruleLink": "a.0@href",
    "ruleNextPage": "page||text.下一页@href",
    "rulePubDate": "span@text",
    "ruleTitle": "img@alt",
    "singleUrl": false,
    "sortUrl": "搜索🔍::/vodsearch/-------------.html?wd={{source.getVariable()}}",
    "sourceComment": "www.mtlovervip.one",
    "sourceGroup": "R18",
    "sourceIcon": "",
    "sourceName": "uu互联网",
    "sourceUrl": "https://楠孠禕攕.mtlovergtt.buzz/"
  },
  {
    "articleStyle": 1,
    "customOrder": -10100924,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\"User-Agent\": \"Mozilla/5.0 (Linux; Android 12; 22041211AC Build/SP1A.210812.016) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.104 Mobile Safari/537.36\"}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": ".list@li",
    "ruleContent": "<js>\nvar v = result.match(/source\\s*=\\s*[\"']([^\"']*?\\.(m3u8|mp4)\\b[^\"']*)[\"']/i);\nvar p = v ? v[1].replace(/\\\\/g,'') : '';\nvar t = '@get:{t}';\nvar d = java.getString('[property=\"video:tag\"]@content');\nvar sign1 = java.base64Decode('44CQ5aSc5piO56m644CR55qE5pKt5pS+5Zmo');\nvar sign2 = java.base64Decode('5LuF5L6b5Liq5Lq65a2m5Lmg5L2/55So77yM5Lil56aB5YiG5Lqr44CB5YCS5Y2W5Y+K5Lu75L2V6L+d5rOV6KGM5Li677yB');\nvar sign3 = java.base64Decode('5L2/55So6ICF6Ieq6KGM5om/5ouF6aOO6Zmp5LiO6LSj5Lu7');\n`<!DOCTYPE html>\n<html>\n<head>\n<meta charset=\"utf-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<title>${t}</title>\n<style>\n*{margin:0;padding:0;box-sizing:border-box}\nbody{font-family:-apple-system,sans-serif;background:#f0f9ff;padding:10px}\n.v-box{max-width:800px;margin:0 auto;background:white;border-radius:12px;box-shadow:0 5px 15px rgba(0,0,0,0.1);overflow:hidden}\n.header{padding:12px;border-bottom:1px solid #eee;display:flex;flex-wrap:wrap;justify-content:space-between}\n.sign{background:#e9f7ff;padding:6px;border-radius:6px;margin-bottom:8px;font-size:14px;color:#1a73e8;width:100%}\n.title{font-size:18px;font-weight:600;margin-bottom:8px;width:100%}\n.tags{color:#5f6368;font-size:14px;flex:1;min-width:60%;word-break:break-all}\n.time{color:#5f6368;font-size:14px;text-align:right;flex-basis:35%}\n.v-wrap{position:relative;padding-top:56.25%;background:#000}\n.video{position:absolute;top:0;left:0;width:100%;height:100%}\n.footer{padding:8px;text-align:center;color:#5f6368;font-size:13px}\n.info-box{padding:15px;font-size:14px;line-height:1.6}\n.info-box p{margin:8px 0}\n.hint{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(0,0,0,0.7);color:#fff;padding:12px 20px;border-radius:20px;font-size:1.1rem;z-index:10;display:none}\n.controls{position:absolute;top:0;left:0;width:100%;height:4px;background:rgba(255,255,255,0.3);z-index:5;transition:opacity 0.3s}\n.progress{height:100%;background:#4a9eff;width:0}\n</style>\n</head>\n<body>\n<div class=\"v-box\">\n<div class=\"header\">\n<div class=\"sign\" style=\"text-align:center;padding:5px 0\">\n<div>${sign1}</div>\n<div style=\"text-align:left; padding-top:4px\">\n${sign2}<br>${sign3}</div>\n</div>\n<div class=\"title\">${t}</div>\n<div class=\"tags\">${d}</div>\n<div class=\"time\" id=\"timeDisplay\">00:00/00:00</div></div>\n<div class=\"v-wrap\">\n<div class=\"controls\"><div class=\"progress\" id=\"progressBar\"></div></div>\n<div class=\"hint\" id=\"hint\">快进中 &gt;&gt;</div>\n<video class=\"video\" id=\"v\" controls playsinline>\n<source src=\"${p}\" type=\"video/mp4\">您的浏览器不支持HTML5视频\n</video>\n</div>\n<div class=\"footer\">滑动调整进度 | 长按2倍速</div>\n</div>\n<script>\nvar v = document.getElementById('v');\nvar tDisplay = document.getElementById('timeDisplay');\nvar pBar = document.getElementById('progressBar');\nvar hint = document.getElementById('hint');\nvar startX = 0, startTime = 0;\nvar longPressTimer;\nvar sensitivity = 0.1;\nvar longPressTime = 500;\nvar hintDuration = 2000;\nfunction updateTime() {\nif (!v.duration) return;\nvar m1 = Math.floor(v.currentTime / 60);\nvar s1 = Math.floor(v.currentTime % 60);\nvar m2 = Math.floor(v.duration / 60);\nvar s2 = Math.floor(v.duration % 60);\ntDisplay.textContent = m1 + ':' + (s1 < 10 ? '0' : '') + s1 + '/' + m2 + ':' + (s2 < 10 ? '0' : '') + s2;\npBar.style.width = (v.currentTime / v.duration) * 100 + '%';}\nv.addEventListener('timeupdate', updateTime);\nv.addEventListener('loadedmetadata', updateTime);\nv.addEventListener('touchstart', function(e) {\nstartX = e.touches[0].clientX;\nstartTime = Date.now();\nif (longPressTimer) clearTimeout(longPressTimer);\nhint.style.display = 'none';\nlongPressTimer = setTimeout(function() {\nv.playbackRate = 2.0;\nhint.style.display = 'block';\nsetTimeout(function() { hint.style.display = 'none'; }, hintDuration);}, longPressTime);});\nv.addEventListener('touchmove', function(e) {\ne.preventDefault();\nclearTimeout(longPressTimer);\nvar diffX = e.touches[0].clientX - startX;\nvar change = diffX * sensitivity * v.duration / 100;\nv.currentTime = Math.max(0, Math.min(v.currentTime + change, v.duration));\nstartX = e.touches[0].clientX;updateTime();});\nv.addEventListener('touchend', function() {\nv.playbackRate = 1.0;\nclearTimeout(longPressTimer);});\n</script>\n</body>\n</html>`\n</js>",
    "ruleImage": "img@data-original",
    "ruleLink": "a.0@href",
    "ruleNextPage": "page",
    "rulePubDate": "{{@@.vodlist_img@html##(\\d+)-(\\d+)-(\\d+)##$0###}} | {{@@.vodlist_img@span.0@text}}",
    "ruleTitle": ".title@text@put:{\"t\":\"@@.title@text\"}",
    "singleUrl": false,
    "sortUrl": "搜索 🔍::/s/page/{{page}}/wd/{{source.getVariable()}}/\n最新::/label/hot/by/time/page/{{page}}/\n日榜::/label/hot/by/hits_day/page/{{page}}/\n周榜::/label/hot/by/hits_week/page/{{page}}/\n月榜::/label/hot/by/hits_month/page/{{page}}/\n国产 🎞::/t/1-{{page}}/\n自拍::/t/5-{{page}}/\n主播大秀::/t/6-{{page}}/\n主播诱惑::/t/36-{{page}}/\n探花::/t/7-{{page}}/\n偷拍::/t/8-{{page}}/\n乱伦::/t/8-{{page}}/\n吃瓜::/t/10-{{page}}/\n抖阴::/t/11-{{page}}/\nAV::/t/12-{{page}}/\n福利姬::/t/20-{{page}}/\n侵犯::/t/37-{{page}}/\n日韩 🎞::/t/2-{{page}}/\n日韩自拍::/t/13-{{page}}/\n日本无码::/t/14-{{page}}/\n字幕::/t/15-{{page}}/\n解说::/t/17-{{page}}/\n换脸::/t/18-{{page}}/\n欧美 🎞::/t/3-{{page}}/\n自拍::/t/21-{{page}}/\n字幕::/t/22-{{page}}/\n伦理 🎞::/t/4-{{page}}/\n三级::/t/29-{{page}}/\n日韩::/t/30-{{page}}/\n动漫 🎞::/t/16-{{page}}/\n剧集::/t/26-{{page}}/\n3D::/t/27-{{page}}/\n次元::/t/28-{{page}}/\n另类 🎞::/t/39-{{page}}/\n同性恋::/t/38-{{page}}/\n变性::/t/40-{{page}}/\n重口味::/t/23-{{page}}/",
    "sourceComment": "<声明>\n//2025.8.10 作者：夜明空\n//源社区：https://taoba.cf\n//仅供个人学习使用，严禁分享、倒卖及任何违法行为！使用者自行承担风险与责任\n</声明>\n\n//网址更新频繁，有需要请到发布页自行更新\n//发布页：\nhttps://18j.18hu.link/mdce\n18j.vip\n18zy.vip\n51zy.vip",
    "sourceGroup": "写源,R18",
    "sourceIcon": "https://18oc.life/18link/18j/images/favicon.ico",
    "sourceName": "18J-夜明空",
    "sourceUrl": "https://18oc.life/label/sort"
  },
  {
    "articleStyle": 1,
    "customOrder": -10100722,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "$.list",
    "ruleDescription": "<br><h3>{{$.vod_name}}</h3>\n<h6>[{{$.vod_score}}分] [{{$.vod_class ##\\,##] [}}]<b>发布于 {{$.vod_time}}</b></h6>\n\n<video src=\"{{$.vod_play_url ##^.*?\\$}}\" poster=\"{{$.vod_pic}}\" controls></video>",
    "ruleImage": "$.vod_pic",
    "ruleLink": "/api.php/provide/vod/?ac=detail&ids={{$.vod_id}}",
    "ruleNextPage": "page",
    "rulePubDate": "⏱️ {{$.vod_duration}}　{{$.vod_score}}分　{{$.vod_time}}",
    "ruleTitle": "$.vod_name",
    "singleUrl": false,
    "sortUrl": "精品推荐::https://slapibf.com/api.php/provide/vod/?ac=detail&pg={{page}}&t=20\n🔎 视频搜索::https://slapibf.com/api.php/provide/vod/?ac=detail&pg={{page}}&wd={{source.getVariable()}}\n国产视频::https://slapibf.com/api.php/provide/vod/?ac=detail&pg={{page}}&t=22\n主播直播::https://slapibf.com/api.php/provide/vod/?ac=detail&pg={{page}}&t=23\n日本无码::https://slapibf.com/api.php/provide/vod/?ac=detail&pg={{page}}&t=24\n日本有码::https://slapibf.com/api.php/provide/vod/?ac=detail&pg={{page}}&t=25\n中文字幕::https://slapibf.com/api.php/provide/vod/?ac=detail&pg={{page}}&t=26\n巨乳美乳::https://slapibf.com/api.php/provide/vod/?ac=detail&pg={{page}}&t=27\n制服丝袜::https://slapibf.com/api.php/provide/vod/?ac=detail&pg={{page}}&t=34\n角色扮演::https://slapibf.com/api.php/provide/vod/?ac=detail&pg={{page}}&t=35\n熟女人妻::https://slapibf.com/api.php/provide/vod/?ac=detail&pg={{page}}&t=28\n强奸乱伦::https://slapibf.com/api.php/provide/vod/?ac=detail&pg={{page}}&t=29\n欧美精品::https://slapibf.com/api.php/provide/vod/?ac=detail&pg={{page}}&t=30\n少女萝莉::https://slapibf.com/api.php/provide/vod/?ac=detail&pg={{page}}&t=31\n三级伦理::https://slapibf.com/api.php/provide/vod/?ac=detail&pg={{page}}&t=32\n成人动漫::https://slapibf.com/api.php/provide/vod/?ac=detail&pg={{page}}&t=33\n自拍偷拍::https://slapibf.com/api.php/provide/vod/?ac=detail&pg={{page}}&t=34\n制服丝袜::https://slapibf.com/api.php/provide/vod/?ac=detail&pg={{page}}&t=35\n口交颜射::https://slapibf.com/api.php/provide/vod/?ac=detail&pg={{page}}&t=36\n日本精品::https://slapibf.com/api.php/provide/vod/?ac=detail&pg={{page}}&t=37\nCosplay::https://slapibf.com/api.php/provide/vod/?ac=detail&pg={{page}}&t=38\n素人自拍::https://slapibf.com/api.php/provide/vod/?ac=detail&pg={{page}}&t=39\n台湾辣妹::https://slapibf.com/api.php/provide/vod/?ac=detail&pg={{page}}&t=40\n韩国御姐::https://slapibf.com/api.php/provide/vod/?ac=detail&pg={{page}}&t=41\n唯美港姐::https://slapibf.com/api.php/provide/vod/?ac=detail&pg={{page}}&t=42\n东南亚AV::https://slapibf.com/api.php/provide/vod/?ac=detail&pg={{page}}&t=43\n欺辱凌辱::https://slapibf.com/api.php/provide/vod/?ac=detail&pg={{page}}&t=44\n剧情介绍::https://slapibf.com/api.php/provide/vod/?ac=detail&pg={{page}}&t=45\n多人多P::https://slapibf.com/api.php/provide/vod/?ac=detail&pg={{page}}&t=46\n91探花::https://slapibf.com/api.php/provide/vod/?ac=detail&pg={{page}}&t=47\n网红流出::https://slapibf.com/api.php/provide/vod/?ac=detail&pg={{page}}&t=48\n野外露出::https://slapibf.com/api.php/provide/vod/?ac=detail&pg={{page}}&t=49\n古装扮演::https://slapibf.com/api.php/provide/vod/?ac=detail&pg={{page}}&t=50\n女优系列::https://slapibf.com/api.php/provide/vod/?ac=detail&pg={{page}}&t=51\n可爱学生::https://slapibf.com/api.php/provide/vod/?ac=detail&pg={{page}}&t=52\n风情旗袍::https://slapibf.com/api.php/provide/vod/?ac=detail&pg={{page}}&t=53\n兽耳系列::https://slapibf.com/api.php/provide/vod/?ac=detail&pg={{page}}&t=54\n瑜伽裤::https://slapibf.com/api.php/provide/vod/?ac=detail&pg={{page}}&t=55\n闷骚护士::https://slapibf.com/api.php/provide/vod/?ac=detail&pg={{page}}&t=56\n过膝袜::https://slapibf.com/api.php/provide/vod/?ac=detail&pg={{page}}&t=57\n网爆门::https://slapibf.com/api.php/provide/vod/?ac=detail&pg={{page}}&t=58\n传媒出品::https://slapibf.com/api.php/provide/vod/?ac=detail&pg={{page}}&t=59\n女同性恋::https://slapibf.com/api.php/provide/vod/?ac=detail&pg={{page}}&t=60\n男同性恋::https://slapibf.com/api.php/provide/vod/?ac=detail&pg={{page}}&t=61\n练腿狂魔::https://slapibf.com/api.php/provide/vod/?ac=detail&pg={{page}}&t=63",
    "sourceComment": "★源URL的填写链接为【list】格式\n\t网站网址\n\t网站网址/api.php/provide/vod/?ac=【list】\n\n例：\nhttps://apittzy.com\nhttps://apittzy.com/api.php/provide/vod/?ac=list\n\nps：\n\t使用【list】格式查看分类和分类id以组成分类URL\n\n\n\n★分类URL的填写链接为【detail】格式\n\t视频搜索::网站网址/api.php/provide/vod/?ac=【detail】&pg={{page}}&wd=关键词\n\t分类名称::网站网址/api.php/provide/vod/?ac=【detail】&pg={{page}}&t=分类id\n\n例：\n\t视频搜索::https://apittzy.com/api.php/provide/vod/?ac=detail&pg={{page}}&wd=按摩\n\t精品推荐::https://apittzy.com/api.php/provide/vod/?ac=detail&pg={{page}}&t=1\n\nps：\n\t分类URL写成【list】格式也行，但是没有详细信息。需要通过正文链接跳转正文页再填写正文规则。而且没有封面！\n\n\n\n★正文规则\n\t因为分类URL使用了【detail】格式，需要的信息都显示了。(视频链接)\n\t所以我们在描述规则填写正文规则就行了，这样子就省的再跳转一次正文链接了。\n\t但是链接规则还是要写的，不然不会加载列表。\n\n\n\n☆【vod】和【art】\n视频分类链接为【vod】格式\n\t网站网址/api.php/provide/vod/?ac=list\n图文分类链接为【art】格式\n\t网站网址/api.php/provide/art/?ac=list\n通过【list】格式查看分类和分类id以组成分类URL\n\nps：\n\t图片和小说链接都是【art】格式，这样子不好分割，建议把小说分类相关链接移除\n\t因为【art】格式的【detail】链接并不会显示全部套图，所以需要填写正确的链接规则跳转正文页再填写正文规则而不是直接在描述规则处填写规则\n\n\n\n☆详情页链接规则\n\t详情页链接仅支持【detail】格式\n网站网址/api.php/provide/(vod/art)/?ac=detail&ids=(视频id/图文id)\n\n\t如果分类URL只填写了网址，那么链接规则补充剩下的链接就行了\n例：\n\t/api.php/provide/vod/?ac=detail&ids=视频id\n❗仅限【vod】/【art】单格式使用\n\n\t如果订阅同时写了【vod】和【art】两种格式，链接就需要使用js判定\n@js:\nif(baseUrl.match(/art/)){\n\t网站网址/api.php/provide/art/?ac=detail&ids={{$.art_id}}\n}else{\n\t网站网址/api.php/provide/vod/?ac=detail&ids={{$.vod_id}}\n}\nps：\n\t使用两种格式时，此js在正文规则也会需要用到。\n\n\n\n\n\n‼️以下网址加上【list】链接可更改为json格式，查看分类及分类id\n\n\t因为json链接格式固定？\n\t所以修改一下网站之间的分类URL差别即可使用此订阅格式套用，，，大概\n\nps：\n\t注意【list】和【detail】格式以及【vod】和【art】链接的差别\n\n\n共30个网址：\n\n\t★鲨鱼::https://shayuapi.com\n\t\tps：老朋友了\n\n\n\t老鸭资源失效::http://laoyazy50.cc\n\t\tps：网站有时效性？\n\n\n\t老鸭资源2失效::https://api.apilyzy.com\n\n\n\n\t水蜜桃失效::http://51smt4.xyz\n\n\n\t99资源失效::http://99zy.pw\n\n\n\t99资源吧失效::http://99zyba.com\n\n\n\t丝袜资源失效::http://siwazyw.net\n\n\n\t浪潮资源失效::http://langchaozy6.com\n\n\n\tCK资源失效::http://www.feifei67.com\n\n\n\t大雕资源失效::http://www.dd-01.com\n\n\n\t银龙资源失效::https://yinlong.tv\n\n\n\t苍天资源失效::http://cj.cangtiancj.com\n\n\n\t骚色资源失效::http://api.saosezy.icu\n\n\n\t芒果资源失效::https://mgzyz1.com\n\n\n\t酷豆资源失效::https://kudouzy.com\n\n\n\t酷伦理资源失效::https://api.kudian70.com\n\n\n\t速播资源失效::https://api.suboapi.com\n\n\n\t国产精品::https://zy.difi.life\n\n\n\t痴汉队长失效::https://javcaptain.com\n\n\n\t秀色资源失效::https://api.xiuseapi.com\n\n\n\t苹果资源失效::https://www.pg111222.com\n\n\n\t茄子资源失效::http://www.qiezizy8.com\n\n\n\t辣椒资源失效::https://www.lajiaozy18.com\n\n\n\t花椒资源失效::https://apihjzy.com/api.php/provide/vod/?ac=list\n\t\tps：网站无法打开，json链接可以\n\n\n\t桃色资源失效::https://api.taoseapi.com/api.php/provide/vod/?ac=list\n\t\tps：网站无法打开，json链接可以\n\n\n\t乐播资源::https://lbapi9.com/api.php/provide/vod/?ac=list\n\t\tps：网站无法打开，json链接可以\n\n\n\t佳丽资源失效::https://jializyzapi.com/api.php/provide/vod/?ac=list\n\t\tps：网站无法打开，json链接可以\n\n\n\t番号资源::http://fhapi9.com/api.php/provide/vod/?ac=list\n\t\tps：网站无法打开，json链接可以\n\n\n\tx8优酷失效::https://gov.gooder.bar\n\t\tps：没有vod格式？\n\n\n\t土狗采集失效::http://vip-04.tgzy.cc\n\t\tpa：vod格式好像是音乐？\n\n\n\n☆使用【vod】和【art】两种链接的正文规则参考\n<br><h3>{{$.list..vod_name||$.list..art_name}}</h3>\n<h6>[{{$.list..type_name}}]<b>发布于 {{$.list..vod_time||$.list..art_time}}</b></h6>\n\n<video src=\"{{$.list..vod_play_url ##^.*?\\$}}\" poster=\"{{$.list..vod_pic}}\" controls>视频加载失败</video>\n\n<div id=\"TúPiàn\">\n{{$.list..art_content ##</?(br|p)>}}\n</div>\n<link rel=\"stylesheet\" href=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.2/viewer.min.css\">\n<script src=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.2/viewer.min.js\"></script>\n<script>\n  new Viewer(\n    document.getElementById(\"TúPiàn\")    ,{\n//设置图片地址来源\n    url: 'src',\n//是否显示图片标题(true/false)\n    title: false,\n//设置播放间隔(单位毫秒，1秒=1000毫秒)\n    interval: 3000\n    }\n  );\n</script>\n\n@js:\nif(baseUrl.match(/art/)){\n\tresult.replace(/<vid[\\s\\S]+deo>/,'')\n}else{\n\tresult.replace(/<div[\\s\\S]+ipt>/,'')\n}",
    "sourceGroup": "成人视频,R18",
    "sourceIcon": "https://i.postimg.cc/sXtXHZDM/IMG_20220716_190738.png",
    "sourceName": "森林资源",
    "sourceUrl": "https://slapibf.com/api.php/provide/vod/?ac=list",
    "style": "h3{text-align:center}\nh6{margin-bottom:0}\nb{float:right}\n\nvideo{width:100%;max-height:285px;border-radius:5px}"
  },
  {
    "articleStyle": 0,
    "customOrder": -10100721,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "[class=\"card-box\"] >div>a&&[class=\"hl-vod-list clearfix\"]>li&&.row>div>ul>li",
    "ruleContent": "<!DOCTYPE html>\n<html lang=\"zh-CN\">\n<head>\n<meta charset=\"UTF-8\">\n<title>内容提取</title>\n<!-- v2025.05.10 -->\n\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<script src=\"https://code.jquery.com/jquery-3.6.0.min.js\"></script>\n<link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/viewerjs/1.11.3/viewer.min.css\" />\n<script src=\"https://cdnjs.cloudflare.com/ajax/libs/viewerjs/1.11.3/viewer.min.js\"></script>\n<style>\n    body { font-family: Arial, sans-serif; font-size: 16px; }\n    #title, #page, #loading-status { margin: 0 auto; font-size: 20px; text-align: center; }\n    #description, #urls, #video-url, #video-sources, #messages { width: 100%; max-width: 800px; margin: 1.5px auto; font-size: 14px; text-align: left; word-wrap: break-word; white-space: pre-wrap; }\n    #text, #text :not(img), #text img + * { text-indent: 2em; width: 100%; font-size: 16px; line-height: 1.5em; margin-top: 0; margin-bottom: 0; word-wrap: break-word; white-space: pre-wrap; }\n    img, #text img { width: 100%; height: auto; display: block; margin-bottom: 1.5px; }\n    .flex-container { display: flex; justify-content: center; align-items: center; gap: 10px; margin: 1.5px 0; font-size: 14px; }\n    button, select { flex: 1 1 31%; padding: 3px; border: 1px solid #ccc; border-radius: 5px; box-sizing: border-box; cursor: pointer; background-color: #f9f9f9; transition: background-color 0.3s ease; margin: 1.5px; min-width: 0; font-size: 14px; }\n    #url-select, #video-source-select { flex: 1 1 100%; margin-left: 0; margin-right: 0; text-align: center; }\n    #video-element { width: 100%; height: auto; }\n    textarea { width: 100%; height: auto; min-height: 100px; box-sizing: border-box; resize: vertical; }\n    .error, .warn { color: red; }\n</style>\n</head>\n<body>\n    <h3 id=\"title\">{{@@h2.0@text}}</h3>\n    <p id=\"description\">{{@@.info.0@html||.jianjie@html}}</p>\n    <p id=\"page\" style=\"display:none;\">共<span id=\"total-pages\">1</span>页</p>\n    <p id=\"loading-status\" style=\"display:none;\"></p>\n\n    <div class=\"flex-container\" id=\"loading-buttons\" style=\"display:none;\">\n        <button id=\"prev-page-btn\">上一页</button>\n        <button id=\"next-page-btn\">下一页</button>\n        <button id=\"auto-load-btn\">自&nbsp;&nbsp;动</button>\n    </div>\n    \n    <div class=\"flex-container\">\n        <select id=\"url-select\" style=\"display:none;\"></select>\n    </div>\n    \n    <div class=\"flex-container\">\n        <button id=\"toggle-urls-btn\">显/隐网址</button>\n        <button id=\"toggle-messages-btn\">显/隐信息</button>\n        <button id=\"toggle-debug-btn\">显/隐调试</button>\n    </div>\n    <div id=\"urls\"></div>\n    <div id=\"messages\"></div>\n    <div id=\"debug-info\"></div>\n    <div id=\"video-url\"></div>\n    <div id=\"video-container\" style=\"display: none;\">\n        <video id=\"video-element\" controls preload=\"auto\" width=\"640\" height=\"264\">\n            <source id=\"video-source\" src=\"\" type=\"\">您的浏览器不支持 video 标签。\n        </video>\n    </div>\n    <div class=\"flex-container\" id=\"video-source-container\" style=\"display: none;\">\n        <select id=\"video-source-select\" onchange=\"updateVideoSource()\"></select>\n    </div>\n    <div id=\"images\"></div>\n    <div id=\"text\"></div>\n\n    <script>\n        // 配置对象，包含各种选择器、延迟时间等配置项\n        const config = {    \n            videoSelector: 'body', // 视频选择器\n            imgSelector: '.gridlane-box-inside img,.photos figure img', // 图片选择器\n            textSelector: '#content, .content', // 文本选择器\n            debugSelector: '#content, .page, .pager, .content, script', // 调试信息选择器\n            swapImageAttributes: false, // 是否交换图片属性\n            delayTime: 1500, // 延迟提取时间\n            retryDelayTime: 1500, // 重试加载延迟时间\n            maxLoadAttempts: 3, // 最大加载次数\n            autoLoading: false, // true自动模式，false单页模式\n            debugOnce: 0, // 只在特定索引输出一次调试信息\n            totalPagesText: '{{@@.pager@a.-2@textNodes}}', // 总页码\n            urlSuffixToRemove: /\\.html$/, // 移除url后缀\n            pageUrlText: '{urlPrefix}/{i}.html', // 拼接URL模板        \n            ListMode: true, // true网址列表模式，false网址拼接模式    \n            initialUrls: `{{@@#hl-plays-list.0@li@a@href}}`, // 网址\n            initialUrlsName: `{{@@#hl-plays-list.0@li@a@text}}`, // 网址名称\n            sourceurl: '', // 来源URL前缀\n        };\n\n        let videoSources = []; // 存储视频源数组\n        let loadAttempts = {}; // 记录每个URL的加载尝试次数\n        let urls = []; // 存储所有页面的URL\n        let imageBox;\n        let textBox;\n        let currentPageIndex = 0; // 当前页面索引\n        let canLoadNextPage = true; // 控制是否可以加载下一页\n        let autoLoadInProgress = false; // 自动加载状态\n\n        // 构建URL列表\n        function buildUrls(totalPages, baseUrl) {\n            let initialUrlsArray = config.initialUrls.trim().split('\\n').filter(url => url.trim() !== '');\n            let initialUrlsNameArray = config.initialUrlsName.trim().split('\\n').filter(name => name.trim() !== '');\n\n            if (config.ListMode && initialUrlsArray.length > 0) {\n                if (initialUrlsArray.length !== initialUrlsNameArray.length) {\n                    $('#messages').append(`<span class=\"warn\">警告：initialUrls 和 initialUrlsName 的长度不匹配。</span><br>`);\n                }\n\n                urls = initialUrlsArray.map(url => {\n                    if (config.sourceurl && url.startsWith('/') && !/^https?:\\/\\//i.test(url)) {\n                        return config.sourceurl.replace(/\\/$/, '') + url;\n                    } else {\n                        return url;\n                    }\n                });\n\n                urls.forEach((url, index) => {\n                    const name = initialUrlsNameArray[index] || `第 ${index + 1} 页`;\n                    $('#url-select').append(`<option value=\"${index}\">${name}</option>`);\n                    $('#urls').append(`<div>${name}: ${url}</div>`);\n                });\n            } else {\n                if (totalPages === 1) {\n                    urls.push(baseUrl);\n                } else {\n                    urls.push(baseUrl);\n                    for (let i = 2; i <= totalPages; i++) {\n                        urls.push(config.pageUrlText.replace('{urlPrefix}', baseUrl.replace(config.urlSuffixToRemove, '').replace(/\\/$/, '')).replace('{i}', i));\n                    }\n                }\n\n                urls.forEach((url, index) => {\n                    const name = `第 ${index + 1} 页`;\n                    $('#url-select').append(`<option value=\"${index}\">${name}</option>`);\n                    $('#urls').append(`<div>${name}: ${url}</div>`);\n                });\n            }\n\n            $('#total-pages').text(urls.length);\n            toggleNavigationButtons();\n            toggleTotalPagesDisplay();\n        }\n\n        // 规范化URL\n        function normalizeUrl(url) {\n            if (typeof url !== 'string' || !url.trim()) {\n                return '';\n            }\n            const match = url.match(/['\"](.*?)['\"]/);\n            if (match && match[1]) {\n                url = match[1];\n            }\n\n            function processUrl(str) {\n                str = str.trim();\n                str = str.replace(/\\\\u[\\dA-F]{4}/gi, match => String.fromCharCode(parseInt(match.replace(/\\\\u/g, ''), 16)));\n                str = decodeURIComponent(str);\n                str = str.replace(/^http:\\/([^/])/, 'http://$1');\n                str = str.replace(/^https:\\/([^/])/, 'https://$1');\n                return str;\n            }\n            return processUrl(url);\n        }\n\n        // 清空容器内容\n        function clearContainers() {\n            $('#messages').empty();\n            $('#images').empty();\n            $('#text').empty();\n        }\n\n        // 更新图像源\n        function updateImageSrc(elements, shouldSwap) {\n            elements.each(function () {\n                const $this = $(this);\n                const attrsToUpdate = {};\n                if (shouldSwap) {\n                    ['data-original', 'data-src', 'data-url'].forEach(attr => {\n                        if ($this.attr(attr)) {\n                            attrsToUpdate['src'] = $this.attr(attr);\n                        }\n                    });\n                }\n                $this.attr(attrsToUpdate);\n            });\n            return elements;\n        }\n\n        // 切换导航按钮显示状态\n        function toggleNavigationButtons() {\n            if ($('#url-select option').length > 1 && !config.autoLoading) {\n                $('#loading-buttons').show();\n                $('#url-select').show();\n            } else {\n                $('#loading-buttons').hide();\n                $('#url-select').hide();\n            }\n        }\n\n        // 显示加载状态\n        function showLoadingStatus(pageNumber) {\n            const selectedOption = $('#url-select option:selected').text();\n            $('#loading-status').text(`正在加载：${selectedOption}`).show();\n        }\n\n        // 隐藏加载状态\n        function hideLoadingStatus() {\n            $('#loading-status').hide();\n        }\n\n        // 加载指定索引的内容\n        function loadContent(index) {\n            if (index < 0 || index >= urls.length || !canLoadNextPage) return;\n            canLoadNextPage = false;\n            currentPageIndex = index;\n            $('#url-select').val(index);\n            $('#messages').append(`<div>当前地址: <span class=\"warn\">${urls[index]}</span></div>`);\n            if (autoLoadInProgress) {\n                showLoadingStatus(index + 1);\n            }\n            $.ajax({\n                url: urls[index],\n                type: 'GET',\n                success: function (data) {\n                    try {\n                    const $data = $(data);\n                    let updatedHtmlContent = data.replace(/(['\"])(\\/\\/)(?!\\/)/g, '$1https://')\n                        .replace(/src=\"upload/gi, 'src=\"/upload')\n                        .replace(/style=[\"'][^'\"]+[\"']/gi, '')\n                        .replace(/\\\\\\//g, '/');\n                    const parser = new DOMParser();\n                    const doc = parser.parseFromString(updatedHtmlContent, \"text/html\");\n\n                    if (config.debugOnce === index) {\n                        const debugElements = $(doc).find(config.debugSelector);\n                        if (debugElements.length > 0) {\n                            const debugContents = $('<pre>').html(debugElements.clone().wrapAll('<div/>').parent().html()).html();\n                            $('#debug-info').html(`<span class=\"warn\">调试信息: <textarea rows=\"10\" cols=\"80\">${debugContents}</textarea></span>`);\n                        } else {\n                            $('#debug-info').html(`<span class=\"warn\">调试信息: <textarea rows=\"10\" cols=\"80\">调试信息未提取到内容，请检查选择器！</textarea></span>`);\n                        }\n                    }\n                    // 方法1：提取视频\n                    const videoSources1 = [];\n                    const videoContents = $(doc).find(config.videoSelector);\n                    const videoTags = $(videoContents).find('video, source');\n                    videoTags.each(function() {\n                        const videosrc = $(this).attr('src') || \n                                     $(this).attr('data-src') || \n                                     $(this).attr('data-original') || '';\n                        \n                        if (videosrc) {\n                            videoSources1.push(videosrc);\n                        }\n                    });\n                    //反馈\n                    if (videoSources1.length > 0) {\n                        $('#messages').append(`<span>方法1，找到 ${videoSources1.length} 个视频。</span><br>`);\n                    }\n\n                    // 方法2：正则提取视频\n                    const regex = /['\"]https?[^'<>\"]+(m3u8|mp4|webm|ogg|flv|mp3|m4a|wav|ape|flac)([^'<>\"]+)?['\"]/gi;\n                    const matches = data.match(regex);\n                    const videoSources2 = [];\n\n                    if (matches) {\n                        const uniqueMatches = [...new Set(matches)];\n                    \n                        uniqueMatches.forEach(match => {\n                            const normalizedSrc = normalizeUrl(match.replace(/['\"]/g, ''));\n                            videoSources2.push(normalizedSrc);\n                        });\n                    }\n                    //反馈\n                    if (videoSources2.length > 0) {\n                        $('#messages').append(`<span>方法2，找到 ${videoSources2.length} 个视频。</span><br>`);\n                    }\n\n                    // 合并两种方法的结果\n                    videoSources = [...videoSources1, ...videoSources2];\n\n                    // 去重并标准化 URL\n                    const imageExtensions = /\\.(jpg|jpeg|png|gif|bmp|svg)$/i;\n\n                    videoSources = videoSources\n                                  .map(src => normalizeUrl(src.replace(/\\\\+/g, '')))\n                                  .filter(src => src) // 过滤空值\n                                  .filter(src => !imageExtensions.test(src)); // 移除图片地址\n                        \n                    videoSources = [...new Set(videoSources)];// 去重\n\n                    // 显示最终结果\n                    $('#messages').append(`<span>总共找到 ${videoSources.length} 个视频。</span><br>`);\n\n                    if (videoSources.length > 0) {\n                        $('#messages').append(`<span>成功提取到视频，找到 ${videoSources.length} 个视频。</span><br>`);\n                        videoSources.forEach((src, idx) => {\n                            $('#messages').append(`<div>视频地址:<span class=\"warn\"> ${src}</span><br></div>`);\n                            $('#video-source-select').append(`<option value=\"${idx}\">视频源 ${idx + 1}</option>`);\n                        });\n                    \n                        if (videoSources.length == 1) {\n                            $('#video-container').show();\n                            $('#video-url').show();\n                            $('#video-source-container').hide();\n                            updateVideoSource();\n                        } else if (videoSources.length > 1) {\n                            $('#video-container').show();\n                            $('#video-url').show();\n                            $('#video-source-container').show();\n                            updateVideoSource();\n                        } else {\n                            $('#video-container').hide();\n                            $('#video-url').hide();\n                            $('#video-source-container').hide();\n                        }\n                    } else {\n                        $('#messages').append(`<span class=\"warn\">未找到视频源。</span><br>`);\n                        $('#video-container').hide();\n                        $('#video-url').hide();\n                        $('#video-source-container').hide();\n                    }\n\n                    //提取图片\n                    const $imgContents = $(doc).find(config.imgSelector);\n                    const shouldSwap = config.swapImageAttributes;\n                    const newContents = updateImageSrc($imgContents.clone(), shouldSwap);\n                    $('#images').append(newContents).show();\n                    if (newContents.length > 0) {\n                        $('#messages').append(`<span>成功提取图片，共 ${newContents.length} 张。</span><br>`);\n                        newContents.each(function () {\n                            const imgSrc = $(this).attr('src') || $(this).attr('data-original') || $(this).attr('data-src') || $(this).attr('data-url');\n                            $('#messages').append(`<div>地址:<span class=\"warn\"> ${imgSrc}</span><br></div>`);\n                        });\n                    } else {\n                        $('#messages').append(`<span class=\"warn\">未提取到图片。</span><br>`);\n                    }\n\n                    //提取图片和文本\n                    const textContents = $(doc).find(config.textSelector).map(function () {\n                        const $currentContents = $(this);\n                        $currentContents.find('img + br, script, video, source, iframe').remove();\n                        $currentContents.html($currentContents.html().replace(/>\\s+/gi, '>').replace(/<\\/?br\\s*([^>]*)\\s*\\/?>/gi, '\\n').replace(/\\n+/g, '\\n'));\n                        return $currentContents.html();\n                    }).get().join('');\n                    if (textContents.trim()) {\n                        $('#text').append(`<span>${textContents}</span><br>`).show();\n                        $('#messages').append(`<span>成功提取图文。</span><br>`);\n                    } else {\n                        $('#messages').append(`<span class=\"warn\">未提取到图文。</span><br>`);\n                    }\n\n                    if (autoLoadInProgress && currentPageIndex < urls.length - 1) {\n                        setTimeout(() => { \n                            canLoadNextPage = true;\n                            loadContent(currentPageIndex + 1); \n                        }, config.delayTime);\n                    } else {\n                        canLoadNextPage = true;\n                        if (autoLoadInProgress) {\n                            hideLoadingStatus();\n                        }\n                    }\n                } catch (parseError) {\n                    $('#messages').append(`<span class=\"error\">解析页面内容时发生错误: ${parseError.message}</span><br>`);\n                    handleLoadFailure(urls, index);\n                } finally {\n                    if (imageBox) imageBox.viewer.update();\n                    if (textBox) textBox.viewer.update();\n                }\n            },\n            error: function (jqXHR, textStatus, errorThrown) {\n                let errorMessage = `内容加载失败: ${urls[index]}`;\n                switch (textStatus) {\n                    case 'timeout':\n                        errorMessage += ', 请求超时';\n                        break;\n                    case 'abort':\n                        errorMessage += ', 请求被取消';\n                        break;\n                    case 'parsererror':\n                        errorMessage += ', 解析响应出错';\n                        break;\n                    default:\n                        errorMessage += `, 状态码: ${jqXHR.status}, 错误信息: ${errorThrown}`;\n                        break;\n                }\n                $('#messages').append(`<span class=\"error\">${errorMessage}</span><br>`);\n                handleLoadFailure(urls, index);\n                }\n            });\n        }\n\n        // 处理加载失败的情况\n        function handleLoadFailure(urls, index) {\n            if (!loadAttempts[urls[index]]) {\n                loadAttempts[urls[index]] = 1;\n            } else {\n                loadAttempts[urls[index]]++;\n            }\n            if (loadAttempts[urls[index]] <= config.maxLoadAttempts) {\n                const retryMessage = `第${index + 1}页加载失败，正在进行第${loadAttempts[urls[index]]}次加载！`;\n                $('#messages').append(`<span class=\"error\">${retryMessage}</span><br>`);\n                setTimeout(() => { \n                    canLoadNextPage = true;\n                    loadContent(index); \n                }, config.retryDelayTime);\n            } else {\n                const finalErrorMessage = `第${index + 1}页加载失败，已达到最大尝试次数(${config.maxLoadAttempts})！`;\n                $('#messages').append(`<span class=\"error\">${finalErrorMessage}</span><br>`);\n                if (autoLoadInProgress && currentPageIndex < urls.length - 1) {\n                    setTimeout(() => { \n                        canLoadNextPage = true;\n                        loadContent(currentPageIndex + 1); \n                    }, config.delayTime);\n                } else {\n                    canLoadNextPage = true;\n                    if (autoLoadInProgress) {\n                        hideLoadingStatus();\n                    }\n                }\n            }\n        }\n\n        // 更新视频源\n        function updateVideoSource() {\n            const selectedIndex = parseInt(document.getElementById('video-source-select').value);\n            if (isNaN(selectedIndex) || !videoSources[selectedIndex]) {\n                $('#messages').append(`<span class=\"warn\">未找到有效的视频源。</span><br>`);\n                console.warn(\"Invalid or undefined video source:\", selectedIndex, videoSources);\n                return;\n            }\n\n            const selectedSource = videoSources[selectedIndex];\n            document.getElementById('video-url').textContent = `视频地址:\\n ${selectedSource}`;\n\n            const videoSourceElement = document.getElementById('video-source');\n            videoSourceElement.src = selectedSource;\n\n            const videoElement = document.getElementById('video-element');\n            videoElement.load();\n\n            $('#messages').append(`<span>更新视频源为: ${selectedSource}</span><br>`);\n            console.log(\"Updated video source to:\", selectedSource);\n        }\n\n        // 切换总页数显示状态\n        function toggleTotalPagesDisplay() {\n            if (urls.length > 1) {\n                $('#page').show();\n            } else {\n                $('#page').hide();\n            }\n        }\n\n        // 页面加载完成后执行的主要逻辑\n        $(document).ready(function () {\n            imageBox = document.getElementById('images');\n            textBox = document.getElementById('text');\n            if (imageBox && textBox) {\n                new Viewer(imageBox, { title: true, interval: 2000 });\n                new Viewer(textBox, { title: true, interval: 2000 });\n            }\n\n            const totalPagesText = config.totalPagesText;\n            const totalPages = parseInt(totalPagesText, 10) || 1;\n            const baseUrl = '{{baseUrl}}';\n\n            clearContainers();\n            $('#urls, #debug-info textarea, #video-url, #video-source-select').empty();\n            $('#urls, #messages, #debug-info, #video-url, #video-container, #video-source-container, #images, #text').hide();\n\n            buildUrls(totalPages, baseUrl);\n\n            const urlSelect = document.getElementById('url-select');\n            if (urlSelect.options.length > 0) {\n                urlSelect.value = '0'; \n\n                if (config.autoLoading) {\n                    autoLoadInProgress = true;\n                    for (let i = 0; i < urls.length; i++) {\n                        loadContent(i);\n                    }\n                } else {\n                    loadContent(0);\n                }\n            } else {\n                loadContent(0);\n            }\n\n            $('#url-select').change(function () {\n                clearContainers();\n                const selectedIndex = parseInt($(this).val());\n                loadContent(selectedIndex);\n            });\n            $('#prev-page-btn').click(function () {\n                clearContainers();\n                if (currentPageIndex > 0) {\n                    loadContent(currentPageIndex - 1);\n                }\n            });\n            $('#next-page-btn').click(function () {\n                clearContainers();\n                if (currentPageIndex < urls.length - 1) {\n                    loadContent(currentPageIndex + 1);\n                }\n            });\n            $('#auto-load-btn').click(function () {\n                autoLoadInProgress = true;\n                showLoadingStatus(1); \n                for (let i = currentPageIndex + 1; i < urls.length; i++) {\n                    loadContent(i);\n                }\n            });\n            $('#toggle-messages-btn').click(function () { $('#messages').toggle(); });\n            $('#toggle-urls-btn').click(function () { $('#urls').toggle(); });\n            $('#toggle-debug-btn').click(function () { $('#debug-info').toggle(); });\n        });\n    </script>\n</body>\n</html>",
    "ruleImage": "a@data-original||a@data-src||a@src",
    "ruleLink": "a.0@href",
    "ruleNextPage": "//*[contains(text(),\"下一頁\")]/../@href||//*[contains(text(),\"下一页\")]/../@href",
    "rulePubDate": ".hl-pic-text@text",
    "ruleTitle": "a.0@title",
    "singleUrl": false,
    "sortUrl": "全部::/\n短剧::/index.php/vod/show/id/5.html\n动漫::/index.php/vod/show/id/4.html\n电影::/index.php/vod/show/id/1.html\n电视剧::/index.php/vod/show/id/2.html\n中国大陆::/index.php/vod/show/area/%E4%B8%AD%E5%9B%BD%E5%A4%A7%E9%99%86/id/2.html\n中国香港::/index.php/vod/show/area/%E4%B8%AD%E5%9B%BD%E9%A6%99%E6%B8%AF/id/2.html\n中国台湾::/index.php/vod/show/area/%E4%B8%AD%E5%9B%BD%E5%8F%B0%E6%B9%BE/id/2.html\n美国::/index.php/vod/show/area/%E7%BE%8E%E5%9B%BD/id/2.html\n法国::/index.php/vod/show/area/%E6%B3%95%E5%9B%BD/id/2.html\n英国::/index.php/vod/show/area/%E8%8B%B1%E5%9B%BD/id/2.html\n日本::/index.php/vod/show/area/%E6%97%A5%E6%9C%AC/id/2.html\n韓韩国::/index.php/vod/show/area/%E9%9F%A9%E5%9B%BD/id/2.html\n德國::/index.php/vod/show/area/%E5%BE%B7%E5%9B%BD/id/2.html\n泰国::/index.php/vod/show/area/%E6%B3%B0%E5%9B%BD/id/2.html\n越南::/index.php/vod/show/area/%E8%B6%8A%E5%8D%97/id/2.html\n马来西亚::/index.php/vod/show/area/%E9%A9%AC%E6%9D%A5%E8%A5%BF%E4%BA%9A/id/2.html\n新加坡::/index.php/vod/show/area/%E6%96%B0%E5%8A%A0%E5%9D%A1/id/2.html\n西班牙::/index.php/vod/show/area/%E8%A5%BF%E7%8F%AD%E7%89%99/id/2.html\n俄罗斯::/index.php/vod/show/area/%E4%BF%84%E7%BD%97%E6%96%AF/id/2.html\n巴西::/index.php/vod/show/area/%E5%B7%B4%E8%A5%BF/id/2.html\n瑞典::/index.php/vod/show/area/%E7%91%9E%E5%85%B8/id/2.html\n丹麦::/index.php/vod/show/area/%E4%B8%B9%E9%BA%A6/id/2.html\n印度::/index.php/vod/show/area/%E5%8D%B0%E5%BA%A6/id/2.html\n加拿大::/index.php/vod/show/area/%E5%8A%A0%E6%8B%BF%E5%A4%A7/id/2.html\n爱尔兰::/index.php/vod/show/area/%E7%88%B1%E5%B0%94%E5%85%B0/id/2.html\n意大利::/index.php/vod/show/area/%E6%84%8F%E5%A4%A7%E5%88%A9/id/2.html\n澳大利亚::/index.php/vod/show/area/%E6%BE%B3%E5%A4%A7%E5%88%A9%E4%BA%9A/id/2.html",
    "sourceGroup": "视频,R18",
    "sourceIcon": "",
    "sourceName": "棒棒哒影视",
    "sourceUrl": "https://bangbangda.cc/"
  },
  {
    "articleStyle": 2,
    "customOrder": -10100720,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "$.list",
    "ruleDescription": "<br><h3>{{$.art_name}}</h3>\n<h6>[{{$.art_score}}分] [{{$.art_class ##\\,##] [}}]<b>发布于 {{$.art_time}}</b></h6>\n<div id=\"TúPiàn\">\n{{$.art_content ##</?(br|p)>}}\n</div>\n<link rel=\"stylesheet\" href=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.2/viewer.min.css\">\n<script src=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.2/viewer.min.js\"></script>\n<script>\n  new Viewer(\n    document.getElementById(\"TúPiàn\")    ,{\n//设置图片地址来源\n    url: 'src',\n//是否显示图片标题(true/false)\n    title: false,\n//设置播放间隔(单位毫秒，1秒=1000毫秒)\n    interval: 3000\n    }\n  );\n</script>",
    "ruleImage": "$.art_pic",
    "ruleLink": "/api.php/provide/art/?ac=detail&ids={{$.art_id}}",
    "ruleNextPage": "page",
    "rulePubDate": "⏱️ {{$.art_duration}}　{{$.art_score}}分　{{$.art_time}}",
    "ruleTitle": "$.art_name",
    "singleUrl": false,
    "sortUrl": "都市激情::https://beiyong.slapibf.com/api.php/provide/art/?ac=detail&pg={{page}}&t=64\n校园情色::https://beiyong.slapibf.com/api.php/provide/art/?ac=detail&pg={{page}}&t=65\n人妻激情::https://beiyong.slapibf.com/api.php/provide/art/?ac=detail&pg={{page}}&t=66\n风俗轮理::https://beiyong.slapibf.com/api.php/provide/art/?ac=detail&pg={{page}}&t=67\n另类小说::https://beiyong.slapibf.com/api.php/provide/art/?ac=detail&pg={{page}}&t=68\n武侠古典::https://beiyong.slapibf.com/api.php/provide/art/?ac=detail&pg={{page}}&t=69\n长篇连载::https://beiyong.slapibf.com/api.php/provide/art/?ac=detail&pg={{page}}&t=70\n唯美写真::https://beiyong.slapibf.com/api.php/provide/art/?ac=detail&pg={{page}}&t=71\n网友自拍::https://beiyong.slapibf.com/api.php/provide/art/?ac=detail&pg={{page}}&t=72\n露出激情::https://beiyong.slapibf.com/api.php/provide/art/?ac=detail&pg={{page}}&t=73\n街拍偷拍::https://beiyong.slapibf.com/api.php/provide/art/?ac=detail&pg={{page}}&t=74\n丝袜美腿::https://beiyong.slapibf.com/api.php/provide/art/?ac=detail&pg={{page}}&t=75\n卡通漫画::https://beiyong.slapibf.com/api.php/provide/art/?ac=detail&pg={{page}}&t=76\n欧美风情::https://beiyong.slapibf.com/api.php/provide/art/?ac=detail&pg={{page}}&t=77",
    "sourceComment": "★源URL的填写链接为【list】格式\n\t网站网址\n\t网站网址/api.php/provide/vod/?ac=【list】\n\n例：\nhttps://apittzy.com\nhttps://apittzy.com/api.php/provide/vod/?ac=list\n\nps：\n\t使用【list】格式查看分类和分类id以组成分类URL\n\n\n\n★分类URL的填写链接为【detail】格式\n\t视频搜索::网站网址/api.php/provide/vod/?ac=【detail】&pg={{page}}&wd=关键词\n\t分类名称::网站网址/api.php/provide/vod/?ac=【detail】&pg={{page}}&t=分类id\n\n例：\n\t视频搜索::https://apittzy.com/api.php/provide/vod/?ac=detail&pg={{page}}&wd=按摩\n\t精品推荐::https://apittzy.com/api.php/provide/vod/?ac=detail&pg={{page}}&t=1\n\nps：\n\t分类URL写成【list】格式也行，但是没有详细信息。需要通过正文链接跳转正文页再填写正文规则。而且没有封面！\n\n\n\n★正文规则\n\t因为分类URL使用了【detail】格式，需要的信息都显示了。(视频链接)\n\t所以我们在描述规则填写正文规则就行了，这样子就省的再跳转一次正文链接了。\n\t但是链接规则还是要写的，不然不会加载列表。\n\n\n\n☆【vod】和【art】\n视频分类链接为【vod】格式\n\t网站网址/api.php/provide/vod/?ac=list\n图文分类链接为【art】格式\n\t网站网址/api.php/provide/art/?ac=list\n通过【list】格式查看分类和分类id以组成分类URL\n\nps：\n\t图片和小说链接都是【art】格式，这样子不好分割，建议把小说分类相关链接移除\n\t因为【art】格式的【detail】链接并不会显示全部套图，所以需要填写正确的链接规则跳转正文页再填写正文规则而不是直接在描述规则处填写规则\n\n\n\n☆详情页链接规则\n\t详情页链接仅支持【detail】格式\n网站网址/api.php/provide/(vod/art)/?ac=detail&ids=(视频id/图文id)\n\n\t如果分类URL只填写了网址，那么链接规则补充剩下的链接就行了\n例：\n\t/api.php/provide/vod/?ac=detail&ids=视频id\n❗仅限【vod】/【art】单格式使用\n\n\t如果订阅同时写了【vod】和【art】两种格式，链接就需要使用js判定\n@js:\nif(baseUrl.match(/art/)){\n\t网站网址/api.php/provide/art/?ac=detail&ids={{$.art_id}}\n}else{\n\t网站网址/api.php/provide/vod/?ac=detail&ids={{$.vod_id}}\n}\nps：\n\t使用两种格式时，此js在正文规则也会需要用到。\n\n\n\n\n\n‼️以下网址加上【list】链接可更改为json格式，查看分类及分类id\n\n\t因为json链接格式固定？\n\t所以修改一下网站之间的分类URL差别即可使用此订阅格式套用，，，大概\n\nps：\n\t注意【list】和【detail】格式以及【vod】和【art】链接的差别\n\n\n共30个网址：\n\n\t★鲨鱼::https://shayuapi.com\n\t\tps：老朋友了\n\n\n\t老鸭资源::http://laoyazy50.cc\n\t\tps：网站有时效性？\n\n\n\t老鸭资源2::https://api.apilyzy.com\n\n\n\n\t水蜜桃::http://51smt4.xyz\n\n\n\t99资源::http://99zy.pw\n\n\n\t99资源吧::http://99zyba.com\n\n\n\t丝袜资源::http://siwazyw.net\n\n\n\t浪潮资源::http://langchaozy6.com\n\n\n\tCK资源::http://www.feifei67.com\n\n\n\t大雕资源::http://www.dd-01.com\n\n\n\t银龙资源::https://yinlong.tv\n\n\n\t苍天资源::http://cj.cangtiancj.com\n\n\n\t骚色资源::http://api.saosezy.icu\n\n\n\t芒果资源::https://mgzyz1.com\n\n\n\t酷豆资源::https://kudouzy.com\n\n\n\t酷伦理资源::https://api.kudian70.com\n\n\n\t速播资源::https://api.suboapi.com\n\n\n\t国产精品::https://zy.difi.life\n\n\n\t痴汉队长::https://javcaptain.com\n\n\n\t秀色资源::https://api.xiuseapi.com\n\n\n\t苹果资源::https://www.pg111222.com\n\n\n\t茄子资源::http://www.qiezizy8.com\n\n\n\t辣椒资源::https://www.lajiaozy18.com\n\n\n\t花椒资源::https://apihjzy.com/api.php/provide/vod/?ac=list\n\t\tps：网站无法打开，json链接可以\n\n\n\t桃色资源::https://api.taoseapi.com/api.php/provide/vod/?ac=list\n\t\tps：网站无法打开，json链接可以\n\n\n\t乐播资源::https://lbapi9.com/api.php/provide/vod/?ac=list\n\t\tps：网站无法打开，json链接可以\n\n\n\t佳丽资源::https://jializyzapi.com/api.php/provide/vod/?ac=list\n\t\tps：网站无法打开，json链接可以\n\n\n\t番号资源::http://fhapi9.com/api.php/provide/vod/?ac=list\n\t\tps：网站无法打开，json链接可以\n\n\n\tx8优酷::https://gov.gooder.bar\n\t\tps：没有vod格式？\n\n\n\t土狗采集::http://vip-04.tgzy.cc\n\t\tpa：vod格式好像是音乐？\n\n\n\n☆使用【vod】和【art】两种链接的正文规则参考\n<br><h3>{{$.list..vod_name||$.list..art_name}}</h3>\n<h6>[{{$.list..type_name}}]<b>发布于 {{$.list..vod_time||$.list..art_time}}</b></h6>\n\n<video src=\"{{$.list..vod_play_url ##^.*?\\$}}\" poster=\"{{$.list..vod_pic}}\" controls>视频加载失败</video>\n\n<div id=\"TúPiàn\">\n{{$.list..art_content ##</?(br|p)>}}\n</div>\n<link rel=\"stylesheet\" href=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.2/viewer.min.css\">\n<script src=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.2/viewer.min.js\"></script>\n<script>\n  new Viewer(\n    document.getElementById(\"TúPiàn\")    ,{\n//设置图片地址来源\n    url: 'src',\n//是否显示图片标题(true/false)\n    title: false,\n//设置播放间隔(单位毫秒，1秒=1000毫秒)\n    interval: 3000\n    }\n  );\n</script>\n\n@js:\nif(baseUrl.match(/art/)){\n\tresult.replace(/<vid[\\s\\S]+deo>/,'')\n}else{\n\tresult.replace(/<div[\\s\\S]+ipt>/,'')\n}https://beiyong.slapibf.com/api.php/provide/art/?ac=list",
    "sourceGroup": "成人视频,R18",
    "sourceIcon": "https://i.postimg.cc/sXtXHZDM/IMG_20220716_190738.png",
    "sourceName": "森林资源2",
    "sourceUrl": "https://beiyong.slapibf.com/api.php/provide/art/?ac=list",
    "style": "h3{text-align:center}\nh6{margin-bottom:0}\nb{float:right}\n\nvideo{width:100%;max-height:285px;border-radius:5px}"
  },
  {
    "articleStyle": 1,
    "contentBlacklist": ".*(?:pemsrv.com|mmfree3.com|magsrv.com).*,.*adcg.*gif",
    "customOrder": -10100719,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "@js:\n(()=>{\n\tlet info=cache.getFromMemory('av18info');\nif (info) source.putLoginInfo(JSON.stringify(info)),cache.deleteMemory('av18info');\nlet headerss=gethd();\nheaderss['User-Agent']=java.getWebViewUA();\n return JSON.stringify(headerss);\n})();",
    "injectJs": "function setupAutoRemoveImages() {\n    const AD_SELECTORS = [\n        'ut1_img',\n        '.ut1_img_content',\n        '.ut1_img utactivity',\n        '.ut1_img_content_js',\n        '.ut1_img_ex_content',\n        '.di_img',\n        '.di_100',\n        '[class^=\"mvspan\"]'\n    ].join(',');\n    // 使用防抖函数优化高频DOM操作\n    let cleanupTimer;\n    const debouncedRemove = () => {\n        clearTimeout(cleanupTimer);\n        cleanupTimer = setTimeout(removeAllImages, 200);\n    };\n    const removeAllImages = () => { document.querySelectorAll(AD_SELECTORS).forEach(img => img.remove()); };\n//forEach方法的回调函数是表达式，不是语句，不能加分号。\n\n    const observer = new MutationObserver(mutations => {\n        // 变化有效性检查\n        const hasValidMutation = mutations.some(mutation =>\n            mutation.type === 'childList' &&\n            mutation.addedNodes.length > 0\n        );\n\n        if (hasValidMutation) {\n            debouncedRemove();\n        }\n    });\n\n    // 监听\n    const observerConfig = {\n        childList: true,\n        subtree: true\n        // 备用attributes: true\n    };\n\n    // 初始化立即执行一次清理\n    removeAllImages();\n\n    // 启动观察\n    observer.observe(document.body, observerConfig);\n\n    window.addEventListener('error', e => {\n        console.error('广告清理出错:', e.error);\n        observer.disconnect();\n    });\n}\n\n// 自动重试机制\nlet retryCount = 0;\nfunction init() {\n    try {\n        setupAutoRemoveImages();\n    } catch (e) {\n        if (retryCount++ < 3) {\n            setTimeout(init, 1000 * retryCount);\n        }\n    }\n}\n\n// 确保DOM加载后执行\nif (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', init);\n} else {\n    init();\n}",
    "jsLib": "sleep=Packages.java.lang.Thread.sleep;\nu_a = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36 Edg/135.0.0.0';\nx_r_w = ''; //com.microsoft.emmx\ns_c_u_p = `\"Windows\"`;\ns_c_u = `\"Microsoft Edge\";v=\"135\", \"Not-A.Brand\";v=\"8\", \"Chromium\";v=\"135\"`;\na_l = 'zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7';\n\nfunction gethd(url='',ck='') {\n\tlet ck0 = this.source.getLoginHeader()||'';\n\tlet headerss = {\n\t\t  \t'User-Agent': u_a,\n\t\t  \t'Cookie': ck0,\n\t\t  \t'x-requested-with': x_r_w,\n     \t'Accept-Language': a_l\n    \t }\nif (ck==1&&url!='') return url+','+JSON.stringify({'headers':headerss,'webView':true});\nif (ck!='') headerss['Cookie']=ck;\nif (url=='') return headerss;\nreturn url+','+JSON.stringify({'headers':headerss});\n}\n\nfunction gets(x, r) {\nreturn r == undefined ? String(this.java.getString(x)) : String(this.java.getString(x,r));}\n\nfunction surl() {\n\tlet surl=(this.source.getLoginInfoMap()||{'网址':''})['网址']+''||'https://mjv006.com';\n\treturn surl.replace(/\\/$/,'');}\n\t\nfunction skey(x) {\n\treturn (this.source.getLoginInfoMap()||{'搜索1':'','搜索2':''})['搜索'+x]+[]||(x==1?'波多':'日向');}\n\nfunction tmtz() {\n\t\tlet tmt = (this.source.getLoginInfoMap()||{'双击跳转时间':''})['双击跳转时间']+[];\n\t\tif (tmt>2) return tmt;\n\t\telse return '10';\n\t}\n\nfunction tkey() {\n\tlet tkey = (this.source.getLoginInfoMap()||{'每日更新':''})['每日更新']+[];\n\tif (tkey) {\n\t\ttkey = tkey.replace(/^\\d{0,2}(\\d{2})[\\-\\ \\/](\\d{1,2})[-\\ \\/](\\d{1,2})$/, (mt, p1, p2, p3)=>{\n\t\t\tp1='20'+p1;\n\t\t\tp2=p2.padStart(2, '0');\n\t\t\tp3=p3.padStart(2, '0');\n\t\t\tp2>12&&(p2='012')\n\t\t\tp3>31&&(p3='031')\n\t\t\treturn p1+'-'+p2+'-'+p3;\n\t\t\t});\n\t\t\tif (!/^\\d{4}-\\d{2}-\\d{2}$/.test(tkey)) {\n\t\t\t\ttkey='';\n\t\t\t\tthis.java.toast('\\n❎请输入正确的时间格式');}\n}\nif (!tkey) {tkey = this.java.timeFormatUTC(Date.now(),\"yyyy-MM-dd\",6*60*60*1000)+[];}\n\treturn tkey;}\n\t\nfunction rrcheck(url, webr) {\n\tconst {java, source, cookie} = this;\n\tlet webr2 = org.jsoup.Jsoup.parse(webr);\n\tlet url19 = (webr2.select('#fwin_dialog_submit').attr('onclick')+'').match(/http[^\"']+/);\nif (url19) {\n\tlet ck=\tjava.connect(url19)\n\t.headers()\n\t.values(\"Set-Cookie\");\n\tlet cks = [];\n\tfor (let char of ck) {\n\tchar=(char+'').replace(/;.+/,'');\n\tcks.push(char);}\n\tck=cks.join('; '); //带ajax得到的会话ck访问时不会有ck返回，为激活ck(主要用于不启用jar)\n//\tcookie.replaceCookie(url,ck); //不调用startBrowser，ck不会同步到内置浏览器\nck=ck||cookie.getCookie(url)+'';\n//勾选ckjar就能getck读取本次软件会话ck(重启软件失效)，setck函数才会一直保存源ck?\nck && source.putLoginHeader(ck); //ck过期时不需要更新ck，直接再激活\n\tsleep(200); //服务器记录可能需要延时\n\twebr=java.ajax(url); //访问前会执行一次请求头规则\n\t}\n\treturn java.t2s(webr)+'';\n}\n\n\nfunction gengxin(){\nconst {java, source} = this;\n\tlet url0='https://gitee.com/lyc486/yuedu2/commits/main/订阅/18AV/18av.json?browser_history=0&page=1&per=3';\n\tlet rr0=java.get(url0,{'User-Agent': 'Mozilla/5.0 (Linux; Android 14)','X-Requested-With': 'XMLHttpRequest'}).body();\n\tlet \tgxlrr = com.jayway.jsonpath.JsonPath.read(rr0, '$.list[0:3].title');\n\tlet [gxlr, gxlr2, gxlr3] = gxlrr;\n\tlet banben =   String(source.sortUrl).match(/let banben=\"([\\d\\.]+)\"/)[1];\n\tgxlr=String(gxlr).split(/^([^\\-]+)-/);\n\tgxlr[0]=='' ? '' : gxlr=['','0',gxlr[0]];\n\tlet gxts;\n\tif (gxlr[1]>banben){gxts=['更新','0,140,186'];}\n\telse {gxts= ['导入','76,175,80'];};\n\tlet htm = `<html>\n<head>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<title>18AV ${gxts[0]}</title>\n<style>\ntable {\n\ttext-align: center;\n\tmargin: 0 auto;\n\t}\n.ann {\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\theight: 50vh;\n\t}\nbutton {\n\tbackground-color: rgb(${gxts[1]});\n\tcolor: white;\n\tborder: none;\n\tborder-radius: 4px;\n\theight: 6vh;\n\twidth: 30vw;\n\toverflow: hidden;\n\t}\nbutton span {\n  cursor: pointer;\n  display: inline-block;\n  position: relative;\n  transition: 0.4s;\n}\nbutton span:after {\n  content: '>';\n  position: absolute;\n  opacity: 0;\n  top: 0;\n  right: 30px;\n  transition: 0.2s;\n}\nbutton:active span {\n  padding-right: 20px;\n}\nbutton:active span:after {\n  opacity: 1;\n  right: -40px;\n}\n</style>\n</head>\n<body>\n<table border=\"1\" cellspacing=\"0\">\n<th colspan=\"2\">最新日志：${gxlr[2]}</th>\n<tr>\n<td>仓库版本：${gxlr[1]}</td>\n<td>本地版本：${banben}</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"text-align: left;\">往期日志：${gxlr2}<br>　　　　　${gxlr3}</td>\n</tr>\n</table>\n<div class=\"ann\">\n<a href=\"legado://import/importonline?src=https://gitee.com/lyc486/yuedu2/raw/main/订阅/18AV/18av.json\">\n<button><span>${gxts[0]}</span></button>\n</a>\n</div>\n<a href=\"legado://import/importonline?src=https://cdn.jsdelivr.net/gh/Luoyacheng/yuedu@main/订阅/18AV/18av.json\" style=\"font-size: 10px;\">备用链接</a>\n</body>\n</html>`;\njava.startBrowser(`data:text/html;base64,${java.base64Encode(htm)}`,'订阅源更新');\r\n}\n",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginUi": "[\n    {\n        name: \"网址\",\n        type: \"text\"\n    },\n    {\n        name: \"搜索1\",\n        type: \"text\"\n    },\n    {\n        name: \"搜索2\",\n        type: \"text\"\n    },\n    {\n        name: \"每日更新\",\n        type: \"text\"\n    },\n    \t{\n        name: \"📺播放器\",\n        type: \"button\",\n        action: \"bfq()\",\n        style: {\n            \"layout_flexGrow\": 0,\n            \"layout_flexBasisPercent\": -1,\n            \"layout_wrapBefore\": true\n        }\n    },\n    \t{\n        name: \"🔘继续播放\",\n        type: \"button\",\n        action: \"bfqfun('继续播放')\",\n        style: {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": 0.4,\n            \"layout_wrapBefore\": true\n        }\n    },\n    \t{\n        name: \"🔘自动播放\",\n        type: \"button\",\n        action: \"bfqfun2('自动播放')\",\n        style: {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": 0.4,\n            \"layout_wrapBefore\": flase\n        }\n    },\n    \t{\n        name: \"🔘滑动等级\",\n        type: \"button\",\n        action: \"bfqfun3('左右滑动等级',7)\",\n        style: {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": 0.4,\n            \"layout_wrapBefore\": flase\n        }\n    },\n    \t{\n        name: \"🔘显示链接\",\n        type: \"button\",\n        action: \"bfqfun('显示链接')\",\n        style: {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": 0.4,\n            \"layout_wrapBefore\": flase\n        }\n    },\n    \t{\n        name: \"🔘预览图\",\n        type: \"button\",\n        action: \"bfqfun('预览图')\",\n        style: {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": 0.4,\n            \"layout_wrapBefore\": flase\n        }\n    },\n    \t{\n        name: \"🔘外置播放器\",\n        type: \"button\",\n        action: \"bfqfun2('外置播放器')\",\n        style: {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": 0.4,\n            \"layout_wrapBefore\": flase\n        }\n    },\n    {\n        name: \"双击跳转时间\",\n        type: \"text\"\n    },\n    {\n        name: \"自定义分类\",\n        type: \"text\"\n    },\n    \t{\n        name: \"🌐网址发布\",\n        type: \"button\",\n        action: \"fabuye()\",\n        style: {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": 0.4,\n            \"layout_wrapBefore\": true\n        }\n    },\n    \t{\n        name: \"🆕版本更新\",\n        type: \"button\",\n        action: \"gengxin()\",\n        style: {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": 0.4,\n            \"layout_wrapBefore\": flase\n        }\n    }\n]",
    "loginUrl": "function login() {}\n\nfunction fabuye(){\n\tlet fbyu = source.get('fbyu')+'';\n\tlet headers = JSON.parse(eval(source.header.replace('@js:','')+''));\n\ttry {java.head(fbyu,headers);}\n\tcatch(e) {fbyu='https://mm18vc.com';}\n\tlet webr = java.startBrowserAwait(fbyu,'发布页',false).body();\n\tlet rr = org.jsoup.Jsoup.parse(webr);\n\tfbyu = rr.select('.list:nth-of-type(3) a').attr('href')+'';\n\tsource.put('fbyu',fbyu);\n\tlet surl = (rr.select('.list:nth-of-type(6) a').attr('href')+'').replace('http://','https://');\n\ttry {java.head(surl,headers);\n\tjava.longToast('已记录最新网址\\n'+surl);\n\tlet Info=source.getLoginInfoMap()||{};\n\tInfo['网址'] = surl;\n\tcache.putMemory('av18info',Info);\n\tsource.putLoginInfo(JSON.stringify(Info));\t\n} catch(e) {java.longToast('得到的网址\\n'+surl+'\\n无法访问，不进行记录');}\n}\n\nfunction bfq(){\njava.toast('正在读取播放器信息...');\njava.deleteFile('dcc1a0ac99b90ead.js');\nlet [,bb]=java.cacheFile('https://unpkg.com/artplayer/dist/artplayer.js').match(/artplayer.js.*v(.+)/i);\njava.longToast('\\n当前使用artplayer播放器\\n版本号：V'+bb);\n\t}\n\nfunction bfqfun(x) {\nlet xx = source.get('av'+x);\n//默认开启\nif(xx!=2) {source.put('av'+x,2);java.toast('⚫已关闭 '+x);}\nelse {source.put('av'+x,1);java.toast('🟢已开启 '+x);}\n\t}\nfunction bfqfun2(x) {\nlet xx = source.get('av'+x);\n//默认关闭\nif(xx!=1) {source.put('av'+x,1);java.toast('🟢已开启 '+x);}\nelse {source.put('av'+x,0);java.toast('⚫已关闭 '+x);}\n\t}\nfunction bfqfun3(x,y) {\nlet xx = source.get('av'+x);\n//等级调节\nxx=(xx==''||xx==1)?y+1:xx;\nif (xx>1) {\n\txx--;\n\tsource.put('av'+x,xx);\n\tjava.toast('🔵'+x+'：'+xx+'级');}\n}\n",
    "ruleArticles": "<js>\nlet url=surl()+java.hexDecodeToString(result);\nlet webr=cache.get(url)+'';\nif (webr.length<6999) {\nwebr=java.ajax(url);\nwebr=rrcheck(url, webr);\nif (/animation_list\\/all/.test(url))\ncache.put(url,webr,3600*24*3);\nelse if (/content_news\\/all|fc_search\\/all/.test(url))\ncache.put(url,webr,3600*24*2);\nelse if (/uncensored_list\\/all/.test(url))\ncache.put(url,webr,3600*24);\nelse\ncache.put(url,webr,3600*4);\n} else {\n\tlet mk=cache.getFromMemory(url+'2')||0;\n\tcache.putMemory(url+'2',mk+1);\n\tlet tmh = new Date().getHours();\n\tif (/content_news\\/all|animation_list\\/all|fc_search\\/all/.test(url)) {mk>3&&cache.delete(url);}\n\telse if (mk>1||tmh>1&&tmh<4) {\n\t\tcache.deleteMemory(url+'2');\n\t\tcache.delete(url);}\n}\nwebr = org.jsoup.Jsoup.parse(webr);\nwebr.select('.posts>.post')\n</js>",
    "ruleContent": "<js>\nlet uu=java.hexDecodeToString(result)+'';\nresult=uu.replace(/[\\/\\.\\_\\-\\s]|html$/g,'');\nlet ssurl = surl();\r\n  let url = ssurl + uu;\n  let webr=cache.get(url)+'';\n  if (webr.length<6999) {\r\n  webr = java.ajax(url);\r\n  webr = rrcheck(url, webr);\n  cache.put(url,webr,3600*24*20);}\r\n  let pimg = gets('#player-wrap img@src', webr);\r\n  let yimgs = gets('.ut1_img_content_smallcg@html', webr);\r\n  let jianjie = gets('.posts-inner-details-text,.actor-right-details-images,.posts-inner-details-text@html', webr).replaceAll('https://pics.','http://cdn.cdnjson.com/pic.html?url=pics.');\r\n  let srcurl = source.get('av18' + result) + '';\r\n  if (!srcurl) {\r\n      java.toast('解密本片链接中');\r\n      let webjs = `\r\njfun_show_vfc();\r\n$('body .main .container_small center').html()`;\n  try {\r\n      webr = java.webView(webr, url, webjs);\n      } catch(err) {webr='';}\r\n      srcurl = webr.match(/\\/\\/[^\"']+js\\/player\\/[^\"']+php\\?id=100_([^\"'_]+)_([^\"']+)/);\r\n      if (srcurl) {\r\n          srcurl = `/${srcurl[1]}/${srcurl[2]}/${srcurl[2]}.m3u8`;\r\n          source.put('av18' + result, srcurl);\n      }\r\n  }\n\nif (!srcurl||!pimg) {\ncache.delete(url);\njava.longToast('💔未获取到播放链接');\nresult='';}\nelse {\n\tif (/18av\\.mm\\-/.test(ssurl))\n\tsrcurl = \"https://v.imgstream2.com\"+ srcurl;\n\telse\n\tsrcurl = ssurl.replace('//', '//fc.') + srcurl;\t\n\tlet lianjie=source.get('av显示链接')!=2?\n\t`<p>播放链接：<span>${srcurl}</span><button onclick=\"copyText(this,'before')\" style=\"margin-left: 2ex;\">⎘复制</button></p>`:'';\n\tlet pyer=source.get('av外置播放器')==1;\n\tif (pyer)\tjava.openUrl(srcurl,'video/*');\n\t// 设置Cookie\nlet cks=(source.getLoginHeader()+'').split(/;\\s*/);\nlet ckjs='';\nfor (let ck of cks) {\n\tif (ck) ckjs+=`document.cookie = \"${ck}; path=/\";\n`;}\n\n\tresult=`\r\n  <!DOCTYPE html>\r\n  <html lang=\"zh-CN\">\r\n  \r\n  <head>\r\n    <meta charset=\"UTF-8\">\r\n    <title>${rssArticle.sort}</title>\r\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no\">\r\n    <style>\r\n      * {\r\n        margin: 0;\r\n        padding: 0;\r\n        box-sizing: border-box;\r\n      }\r\n  \r\n      html,\r\n      body {\r\n        width: 100%;\n        overflow-x: hidden;\n        overflow-wrap: break-word;\n        word-break: break-all;\r\n      }\r\n  \r\n      .artplayer-app {\n      \taspect-ratio: 16/9;\r\n      }\r\n  \r\n      .ut1_img_content_smallcg {\r\n        display: flex;\r\n        flex-wrap: wrap;\r\n        line-height: 0;\r\n        justify-content: space-between;\r\n      }\r\n  \r\n      .img_smallcg img {\r\n        width: 50vw;\r\n        height: auto;\r\n      }\r\n  \r\n      .posts-inner-details-text-top {\r\n        display: flex;\r\n        flex-wrap: wrap;\r\n      }\r\n  \r\n      .posts-inner-details-text-left ul {\r\n        display: flex;\r\n        width: 50vw;\r\n        flex-wrap: wrap;\r\n      }\r\n  \r\n      .posts-inner-details-text-left li {\r\n        width: 25vw;\r\n        list-style: none;\n        flex-wrap: wrap;\r\n      }\r\n  \r\n      .posts-inner-details-text-under li span {\r\n        margin-right: 1ex;\r\n      }\r\n  \r\n      h3 {\r\n        margin: 1ex;\r\n      }\r\n    </style>\r\n  </head>\r\n  \r\n  <body>\r\n    <div class=\"artplayer-${pyer?'exo':'app'}\"></div>\n    <div class=\"jianjie\">\r\n    <h3>${rssArticle.title}</h3>\r\n    ${source.get('av预览图')!=2?yimgs:''}\r\n    ${jianjie}\n    ${lianjie}\r\n    <br>\n    </div>\r\n    <script>\r\n      function hexToString(hex) {\r\n        if (hex.length % 2 !== 0) hex = '0' + hex;\r\n        const bytes = new Uint8Array(hex.length / 2);\r\n        for (let i = 0; i < hex.length; i += 2) {\r\n          bytes[i / 2] = parseInt(hex.substr(i, 2), 16);\r\n        }\r\n        return new TextDecoder('utf-8').decode(bytes);\r\n      }\neval(hexToString(\"${pyer?'':java.hexEncodeToString(java.importScript('https://unpkg.com/artplayer/dist/artplayer.js'))}\"))\r\n    </script>\r\n    <script>\n    Artplayer.PLAYBACK_RATE = [0.75, 1, 2, 4, 6];\n    Artplayer.FAST_FORWARD_TIME = 500;\n    Artplayer.MOBILE_DBCLICK_PLAY = false;\n    Artplayer.TOUCH_MOVE_RATIO = 0.${source.get('av左右滑动等级')+''||'5'};\r\n     var art = new Artplayer({\r\n        container: '.artplayer-app',\r\n        url: '${srcurl}',\n        poster: '${pimg}',\r\n        id: '${result}',\r\n        theme: '#ffad00',\r\n        autoplay: ${source.get('av自动播放')==1?true:false},\r\n        muted: ${source.get('av自动播放')==1?true:false},\r\n        fullscreen: true,\r\n        autoSize: true,\r\n        autoMini: false,\r\n        playbackRate: true,\r\n        setting: true,\r\n        lock: true,\r\n        gesture: true,\r\n        fastForward: true,\r\n        autoPlayback: ${source.get('av继续播放')!=2?true:false},\r\n        autoOrientation: true,\r\n      });\nart.on('dblclick', (event) => {\n\t const tmz = +\"${tmtz()}\";\n\t\tconst clix = event.clientX;\n\t\tconst rwid = art.rect.width;\n\t if (clix < rwid / 3) art.backward = tmz;\n\t else if (clix > rwid * 2 / 3) art.forward = tmz;\n\t else art.toggle();\n});\nart.once('ready', () => {\nlet lo=localStorage.getItem(\"artplayer_settings\")+'';\nlet slo=\\`${source.get('localS')}\\`;\nif (slo.length>lo.length)\nlocalStorage.setItem(\"artplayer_settings\",slo);\nelse\nwindow.location.href = \"yuedu://setvar/\" + encodeURIComponent(lo);\n});\n</script>\n<script>\n${ckjs}\nfunction copyText(button, weizi) {\n    const text = weizi == 'before' ?\n    button.previousElementSibling.textContent :\n        weizi == 'after' ?\n            button.nextElementSibling.textContent :\n            '异常';\n    const btext = button.textContent;\n    navigator.clipboard.writeText(text)\n        .then(() => {\n            button.textContent = \"✓已复制\";\n            setTimeout(() => {\n                button.textContent = btext;\n            }, 1500);\n        })\n        .catch(err => {\n            button.textContent = \"✗失败\";\n            setTimeout(() => {\n                button.textContent = btext;\n            }, 1500);\n        });\n}\nlet pressTimer = null;\ndocument.querySelector('.jianjie').addEventListener('touchstart', (e) => {\n\tlet ee=e.target;\n\tif (ee.tagName=='A') \n\tpressTimer = setTimeout(() => {\n\t\tlet txt=ee.textContent+\"::\"+ee.href;\nnavigator.clipboard.writeText(txt).then(()=>{alert(\"已复制到剪贴板，可填在登录界面的自定义分类或搜索处。\\\\n\\\\n\"+txt);});\n}, 1200);\n\n});\n  \ndocument.querySelector('.jianjie').addEventListener('touchend', e => {\n\tif (pressTimer) {\n\t\tclearTimeout(pressTimer);\n\t\tpressTimer = null;}\n});\r\n</script>\n  </body>\r\n  </html>\r\n  `;}\r\n</js>",
    "ruleImage": "img@src",
    "ruleLink": "a.0@href\n<js>\nlet url=java.base64Encode(result.replace(/^http.{4}[^\\/]+/,''));\nresult+`@js:'data:;base64,${url},{\"type\":\"18av\"}'`;\n</js>",
    "ruleNextPage": "page",
    "rulePubDate": ".con .meta@text",
    "ruleTitle": ".con a@text",
    "shouldOverrideUrlLoading": "if (url.startsWith('yuedu://setvar/')) {\tsource.put('localS',decodeURIComponent(url.replace('yuedu://setvar/','')));}\n!/mjv\\d+.com|mm18\\w+.com|18av.mm/.test(url)",
    "singleUrl": false,
    "sortUrl": "<js>\r\nlet banben=\"1.0.5\";\nlet fkey = (source.getLoginInfoMap()||{'自定义分类':''})['自定义分类']+[];\nfkey=fkey.trim().split(/\\s+/).map(x=>x\n\t.replace(/::https.{3}[^\\/]+/,'::data:;base64,{{java.base64Encode(\"')\n\t.replace(/(?:\\d+|page)\\.html$/,'\"+page+\".html\")')\n\t.replace(/(?:index)\\.html$/,'index.html?t=\"+page)') + '}},{\"type\":\"18av\"}').join('\\n');\n`中文字幕::data:;base64,{{java.base64Encode(\"/zh/chinese_list/all/\"+page+\".html\")}},{\"type\":\"18av\"}\n巨乳::data:;base64,{{java.base64Encode(\"//zh/chinese_category/127/%E5%B7%A8%E4%B9%B3/\"+page+\".html\")}},{\"type\":\"18av\"}\n无码AV::data:;base64,{{java.base64Encode(\"/zh/uncensored_list/all/\"+page+\".html\")}},{\"type\":\"18av\"}\nH动漫::data:;base64,{{java.base64Encode(\"/zh/animation_list/all/\"+page+\".html\")}},{\"type\":\"18av\"}\n搜索1::data:;base64,{{java.base64Encode(((y=skey(1).match(/\\\\/zh\\\\/.+(?=\\\\/1.html)/))?y[0]:(\"/zh/fc_search/all/\"+skey(1)))+\"/\"+page+\".html\")}},{\"type\":\"18av\"}\n搜索2::data:;base64,{{java.base64Encode(((y=skey(2).match(/\\\\/zh\\\\/.+(?=\\\\/1.html)/))?y[0]:(\"/zh/fc_search/all/\"+skey(2)))+\"/\"+page+\".html\")}},{\"type\":\"18av\"}\n每日更新::data:;base64,{{java.base64Encode(\"/zh/content_news/all/\"+tkey()+\".html\")}},{\"type\":\"18av\"}\n随机近作::data:;base64,{{java.base64Encode(\"/zh/chinese_random/all/index.html?t=\"+page)}},{\"type\":\"18av\"}\n随机所有::data:;base64,{{java.base64Encode(\"/zh/chinese_randomall/all/index.html?t=\"+page)}},{\"type\":\"18av\"}\n${fkey}\n国产自拍::data:;base64,{{java.base64Encode(\"/zh/dt_list/all/\"+page+\".html\")}},{\"type\":\"18av\"}\n`</js>",
    "sourceComment": "https://mjv004.com/zh/chinese_category/127/%E5%B7%A8%E4%B9%B3/1.html",
    "sourceGroup": "🙈,R18",
    "sourceIcon": "https://gitee.com/lyc486/yuedu/raw/master/0GP0yD.gif",
    "sourceName": "18AV",
    "sourceUrl": "https://18av.luoyacheng.ip-ddns.com"
  },
  {
    "articleStyle": 0,
    "customOrder": -10100718,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\n\"User-Agent\": \"Mozilla/5.0 (Linux; U; Android 8.1.0; zh-CN; MI 8 Lite Build/OPM1.171019.019) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/78.0.3904.108 UCBrowser/13.2.0.1100 Mobile Safari/537.36\"\n}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "R18",
    "sourceIcon": "https://shuyuan.yiove.com/favicon.ico",
    "sourceName": "Yiove 书源仓库",
    "sourceUrl": "https://shuyuan.yiove.com/"
  },
  {
    "articleStyle": 0,
    "customOrder": -10100717,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\n\"User-Agent\": \"Mozilla/5.0 (Linux; U; Android 8.1.0; zh-CN; MI 8 Lite Build/OPM1.171019.019) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/78.0.3904.108 UCBrowser/13.2.0.1100 Mobile Safari/537.36\"\n}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "R18",
    "sourceIcon": "http://yx.ccute.xyz/assets/iframe/images/logo.png",
    "sourceName": "YX 源仓库",
    "sourceUrl": "http://fabu.yihulove.top/"
  },
  {
    "articleStyle": 0,
    "customOrder": -10100716,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "R18",
    "sourceIcon": "https://ysqbbs.com/template/comiis_app/pic/icon114.png",
    "sourceName": "源社区地址发布页",
    "sourceUrl": "https://taoba.cf/"
  },
  {
    "articleStyle": 0,
    "concurrentRate": "",
    "contentBlacklist": "",
    "customOrder": -10100713,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "{\"User-Agent\": \"Mozilla/5.0 (Linux; Android 8.0.0; MI 5s Plus Build/OPR1.170623.032; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/71.0.3578.99 Mobile Safari/537.36\",\n\t\"upgrade-insecure-requests\": \"1\",\r\n\"accept\": \"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8\",\r\n\"accept-language\": \"zh-CN,en-US;q=0.9\",\r\n\"cookie\": \"down_ip=1\",\r\n\"x-requested-with\": \"cn.nr19.mbrowser\"\n}",
    "injectJs": "",
    "lastUpdateTime": 1739808000251,
    "loadWithBaseUrl": true,
    "loginUi": "",
    "loginUrl": "a = String(source.sourceComment);\nreg1 = /\\s*『.*?』\\s*/g\nreg2 = /.+《(.*?)》.*/\nsortName = []\n\nb = a.match(reg1);\nb = a.split(reg1).map((list, i) => {\n    if (!/^\\s*$/.test(list)) {\n        try {\n            sort = b[i - 1].match(/『(.*?)』/)[1] + \"::\";\n        }\n        catch (err) {\n            sort = \"🌟 精选推荐::\"\n        }\n\n        url = [];\n        Sort = [\"\"];\n        list.split(/\\s*\\n\\s*/).map(text => {\n            text = String(text);\n            if (text.split('::').length == 2 && /^(?!.*(&&|•)).*::/.test(text)) {\n                Sort.push(text);\n            } else {\n                text.split(/\\s*(&&|•)\\s*/).map(text => {\n                    if (text.split('::').length == 2) Sort.push(text);\n                    else if (!/^\\s*::/.test(sort) && reg2.test(text)) url.push(text);\n                });\n            }\n        });\n        return sort += url.join('•') + Sort.join('\\n');\n    }\n    return list\n}).map(text => {\n    text = String(text).replace(/^\\s*::\\s*|\\s*::\\s*$/g, '');\n    \ntext = text.split('\\n').map(text=>{\n    if (/《/.test(text)) text = text.replace(/^(.+?::)(https?\\:\\/\\/(www.)?baidu.com\\/?\\?wd=\\s*)*/, '$1https://www.baidu.com/?wd=');\n\n\n// 更改连接符\n    return text.replace(/\\s*(♞♞|★)\\s*/g, '•');\n  }).join('\\n');\n    if (/::/.test(text)) {\n        sortName.push(text.replace(/::.*/g, ''))\n        return text\n    }\n    return \"\";\n}).join('\\n');\n\n\n\n\n\n\n\n\n\n\nfunction set(json) {\n    json = JSON.stringify(json).replace(/(\".+?)(\\d[,}])/g,'\\n\\t\\t$1 $2').replace(/}$/,'\\n}');\n    return source.setVariable(json);\n}\n\nfunction get() {\n    try {\n        v = JSON.parse(source.getVariable());\n    } catch (e) {\n        v = null\n    }\n    if (v == null || Array.isArray(v)) v = {};\n}\nget()\n\nsortName = sortName.join(',').replace(/\\s*\\n\\s*/g, ',').split(',').map($ => {\n    $ = $.trim()\n    if (v[$] == undefined) v[$] = 1;\n    return $;\n}).join(',');\nb = b.split('\\n').map(text => {\n    t = text.trim()\n    return v[t.split(/\\s*::/)[0]] ? t : \"\"\n}).join('\\n');\nset(v);\n\n\n//log字符串\nfunction login(t) {\n    if (t == undefined) return true;\n    java.log(t);\n    java.toast(t);\n}\n\n\n//log当前分类状态\nfunction look(type) {\nget();\nif (JSON.stringify(v) == \"{}\") $('全部分类');\nif(type){\n\t\tt = [{name:\"　　　　    ༺ˇ»`ʚ  分类选择  ɞ´«ˇ༻   　　　　\",type:\"button\",action:\"$('全部分类')\"}\n,{name:\"　 查看分类设置 　\",type:\"button\",action:\"look(0)\"}\n,{name:\"　 格式分组名称 　\",type:\"button\",action:\"look(1)\"}];\n\t\tfor (key in v) t.push({\n\t\t\tname:key,\n\t\t\ttype:\"button\",\n\t\t\taction:\"$('\"+key+\"')\"\n\t\t});\n\t\tt.push({name: \"　　　　　　　反馈Q群：365976134　　　　　　　\",type:\"button\",action:\"http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=x8r6m0bYYon_pCgT0BRc1ohwZmkkY61Q&authKey=DpmUioCvx45WjRRBnbRT2DsJ7LL6DNY3uau%2BFKPgR%2FSKz4EgYqUjEU5tJNi%2BkNPl&noverify=0&group_code=365976134\"});\n\t\tset(t)\n\t\tt = \"【格式发现】\\n\\t❗数组是复制到登录ui的❗\\nemmm，登录日志好像没办法长按复制。\\n已保存到源变量，去源变量那里复制吧。\";\n\t}\nelse{\n    t = \"【分类状态】\";\n    for (key in v) t += '\\n\\t' + key + '=>' + (v[key] ? '启用' : '禁用');\n   }\n  return login(t);\n}\n\n\n//启用/禁用\nfunction $(sort, name) {\n    get();\n    if (name == undefined) name = sort.split(',')[0];\n    name = name.trim()\n    if (name == '全部分类') {\n        sort = sortName;\n    } else { //屏蔽错误分类\n        sort1 = []\n        sort2 = sortName.split(',')\n        sort.split(',').map(key1 => {\n            key1 = key1.trim();\n            for (i in sort2) {\n                key2 = sort2[i].trim();\n                if (key1 == key2) {\n                    sort1.push(key1);\n                    break;\n                }\n            }\n        })\n        sort = sort1.join(',')\n    }\n    if (!/^\\s*$/.test(sort)) {\n        sort = String(sort).split(',');\n        f = sort.length > 1 ? '分组' : '分类';\n        V = v[sort[0]];\n        if (name == '全部分类') v = {};\n        login('【更改成功】\\n『' + f + '』 ' + name + ': 已' + (V ? '禁用' : '启用'));\n        sort.map(key => v[key] = V ? 0 : 1);\n        return set(v);\n    }\n    return login('【无法更改】\\n原因：没有有效分类(分类名称不正确)')\n}",
    "ruleArticles": "<js>\ntry {\n    $ = JSON.parse(src).text;\n    if ($ == \"no file\") $ = [];\n} catch (err) {\n    reg = /^(https?\\:\\/\\/((www|m)\\.)?baidu\\.com\\/?\\?wd=\\s*)+/i;\n\n    if (baseUrl == source.sourceUrl) {\n        $ = [{\n            name_all: \"无法获取分类？可能没有启用\",\n            time: \"右上角 - 【登录】启用，再【刷新分类】\"\n        }]\n    }\n\n\n\n    //网站整合\n    else if (baseUrl.match(reg)) {\n        $ = [];\n        baseUrl.replace(reg, '').\n        split(/\\s*•\\s*/).map($$ => $.push({\n            name_all: $$.match(/.*?《(.*?)》/)[1],\n            time: $$.match(/◎.*?◎/) ? $$.match(/.*?◎(.*?)◎/)[1] : \"\",\n            uri: $$.match(/【.*?】/) ? $$.match(/.*?【(.*?)】/)[1] : \"\",\n            url: $$.match(/^([^【《◎]*),?/)[1]\n        }));\n    }\n\n\n\n    //蓝奏云\n    else {\n\n        //蓝奏云非分组链接\n        if (String(java.getString('text.举报文件@href')).length) {\n            $ = [{\n                name_all: String(java.getString('class.md@textNodes')),\n                icon: String(java.getString('class.md@textNodes')).replace(/.*\\./, ''),\n                size: String(java.getString('class.mtt@text')).replace(/\\( /, '').replace(/ \\)/, ''),\n                time: String(java.getString('class.mf@textNodes')).replace(/.*\\n/, ''),\n                uri: baseUrl.replace(/^(.+com).*\\/(.+)$/, '$2'),\n                url: baseUrl.replace(/^(.+com).*\\/(.+)$/, '$1/tp/$2')\n            }]\n        }\n\n\n        //取消分享\n        else if (String(java.getString('.off@text')).match(/取消分享/)) {\n            $ = [{\n                name_all: java.getString('.off@text'),\n                time: baseUrl.replace(/[#\\?].*/g, ''),\n                url: baseUrl.replace(/[#\\?].*/g, '')\n            }]\n        }\n\n\n        //蓝奏云分组链接\n        else {\n            json = [];\n            name = java.getString('.user-radio@text||title@text')\n            java.getElements('#folder .mlink').forEach(a => {\n                java.setContent(a);\n                json.push({\n                    name_all: java.getString('.filename@textNodes'),\n                    url: java.getString('a@href'),\n                    time: '🗂️ folder　📑 ' + (String(java.getString('.filesize@text')) || name)\n                })\n            })\n           java.setContent(src);\n\n\n            mat = baseUrl.match(/^(.*?\\.com)[^##]*\\/(.+)$/)\n            url = mat[1]\n            uri = mat[2]\n\n            function $(reg) {\n                return uri.match(reg) ? true : false\n            }\n\n\n            //get【pwd】(链接提取码)\n            pwd =\n                $(/##[^【]/) ? uri.match(/##(.*?)(【|$)/)[1] :\n                \"\";\n\n\n\n            head = {\n                method: \"POST\",\n                params: {\n                    uri: uri,\n                    img: $(/【[^】]/) ? uri.match(/【([^】]+)/)[1] : \"\"\n                }\n            }\n\n\n\n\n            //get 【body】\n            eval(src.match(/var pgs;([\\s\\S]*?pgs.+;)/)[1]);\n            eval('$=' + src.match(/data :([\\s\\S]*?\\})/)[1]);\n            head.body = Object.keys($).map(key => key + \"=\" + $[key]).join('&');\n\n\n            //补全【url】\n            url += \"/filemoreajax.php,\" + JSON.stringify(head);\n\n\n\n            //ajax\n            $ = JSON.parse(java.ajax(url));\n            $ = json.concat($.text != 0 ? $.text :\n\n                //密码错误提示\n                [{\n                    name_all: $.info,\n                    time: uri.replace(/[#\\?].*/, '') + $.info,\n                    url: baseUrl.replace(/[#\\?].*/, '')\n                }])\n            baseUrl = url\n        }\n    }\n}\njava.put('url', baseUrl);\nJSON.stringify($);\n</js>$.[*]",
    "ruleContent": "",
    "ruleDescription": "❗️0、0、开始❗️\n❗️0、0、结束❗️\n\n\n\n\n{{}}@js:\nurl=String(java.getString('$.url')).trim();\n\n\n\n//【..导入】\nif(url.match(/^..导入/)){\n    uri=url.replace(/导入.*/,'');\n    url=url.replace(/.*导入/,'');\n    path =\n        (uri==\"一键\"||uri==\"自动\")?\"auto\":\n            uri==\"书源\"?\"bookSource\":\n                uri==\"订阅\"?\"rssSource\":\n                    uri==\"净化\"?\"replaceRule\":\n                        \"\";\n    url=url.match(/^legado\\:\\/\\//)?url:`legado://import/${path}?src=`+url;\n    url = String(url).replace(/^(.*?src=)(.*)/,(mat, $1, $2)=>{\n        return $1+encodeURIComponent($2);\n    });\n\n\n    result=`<title>{{$.name_all}}</title>\n<iframe src=\"${url}\" hidden></iframe>\n<br><h2>{{$.name_all}}</h2>\n<h5>导入失败？多试试几次</h5>\n\n<h6><b>\n↓资源链接，点击复制\n<a href=\"${url}\">一键导入</a>\n<textarea id=\"copy\" onclick=\"copy()\">${decodeURIComponent(String(url).replace(/legado.*?src=/,''))}</textarea>\n{{$.time}}\n</b></h6>\n\n<style>\na{float:right;text-decoration:none}\nh2{text-align:center;font-size:30px }\nh5{text-align:center;font-size:20px }\nh6{margin:0 2;position:sticky;top:30%;font-size:14px}\ntextarea{width:100%;border-radius:5px}\n</style><script>\nfunction copy(){\n\tdocument.getElementById('copy').select()\n\tdocument.execCommand('copy')\n\talert(\"复制成功\")\n}\n</script>`}\n\n\n\n//【自定义html】\nelse if(url.match(/\\d+、\\d+、/)){\n    reg=new RegExp('❗️'+url+'开始❗️\\\\s*([\\\\s\\\\S]+?)\\\\s*❗️'+url+'结束❗️');\n//默认禁止放大缩小\n    result=result.match(reg)?\n        '<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no\">'+result.match(reg)[1]:'<br>未找到对应html'\n}\n\nelse{result=''}",
    "ruleImage": "$.uri@js:\nu0 = String(java.get('url'));\nu1 = u0.match(/uri\":\"([^\"]+)/);\nu2 = u0.match(/img\":\"([^\"]+)/);\nuri=String(result)||(u2?u2[1]:u1?u1[1]:\"\");\nfunction $(reg){\n\t\treturn uri.match(reg)?true:false\n\t}\n\n\nsrc =\n$(/https?:\\/\\/|^\\d{3}(\\/\\d\\d){3}$/)? uri:\n$(/【[^】]/)? baseUrl.match(/【(.*?)(】|$)/)[1]:\n\n// 默认封面\n\"\"||source.sourceIcon;\n\n// 补全链接\nsrc.match(/^\\d{3}(\\/\\d\\d){3}$/)?`http://avatar.coolapk.com/data/${src}_avatar_middle.jpg`:src",
    "ruleLink": "$.id@js:\nurl=`{{$.url}}`;\nif(result)url+=`/tp/{{$.id}}`;\nString(url).trim().replace(/^..导入/,'');",
    "ruleNextPage": "@js:\ntry {\n    url = String(java.get('url'));\n    url = url.replace(/(pg=)(\\d+)/, (mat, $1, $2) => {\n        return $1 + (~~$2 + 1)\n    }).replace(url, '');\n} catch (err) {\n    url = \"\"\n}\nurl",
    "rulePubDate": "💾 {{$.icon}}　📥 {{$.size}}　⏱️ {{$.time}}\n##💾 　📥 　⏱️\\s*",
    "ruleTitle": "$.name_all",
    "shouldOverrideUrlLoading": "",
    "singleUrl": false,
    "sortUrl": "@js:eval(String(source.loginUrl));b",
    "sourceComment": "Pixiv 书源订阅（更新📆：2025-02-18）\n\n更新后/设置源变量后，要【刷新分类】\n刷新分类，刷新分类，刷新分类\n\n\n『🅿️丨Pixiv 书源』\nhttps://github.com/windyhusky/PixivSource《⬇️ 导入 Pixiv 等书源 ⬇️》【https://github.githubassets.com/assets/GitHub-Mark-ea2971cee799.png】◎✍️ windyhusky & DowneyRem &nbsp; 🔗 长期更新◎\n\n一键导入https://cdn.jsdelivr.net/gh/windyhusky/PixivSource@main/pixiv.json《Pixiv 书源》【https://asset.brandfetch.io/idIlKj_n7C/idSsbP7h1m.png】◎🏷️ Pixiv &nbsp; ✅ 单篇 &nbsp; ✅ 系列 &nbsp; 🔗 长期更新◎\n\n一键导入https://cdn.jsdelivr.net/gh/windyhusky/PixivSource@main/linpx.json《Linpx & 兽人小说 书源》【https://furrynovel.ink/apple-touch-icon.png】◎🏷️ Linpx &nbsp; 🏷️ 兽人小说 &nbsp; ✅ 单篇 &nbsp; ✅ 系列 &nbsp; 🔗 长期更新◎\n\n一键导入https://cdn.jsdelivr.net/gh/windyhusky/PixivSource@main/btsrk.json《Pixiv & Linpx & 兽人小说 订阅源》【https://www.furrynovel.com/static/icon.png】◎🏷️Pixiv &nbsp; 🏷️ Linpx &nbsp; 🏷️ 兽人小说 &nbsp; 🔗 长期更新◎\n\n一键导入https://cdn.jsdelivr.net/gh/windyhusky/PixivSource@main/books.json《书源分享/ books 订阅源》◎🏷️ 订阅源 &nbsp; 🔗 长期更新◎\n\n一键导入https://cdn.jsdelivr.net/gh/windyhusky/PixivSource@main/import.json《检查更新 import 订阅源》◎📌 全选-确认-覆盖导入-退出-刷新分类 &nbsp; 🔗 长期更新◎\n\n\n『🅿️丨Pixiv 其他』\nhttps://github.com/Luoyacheng/yuedu《⬇️ 导入 Pixiv 书源 (APP API) ⬇️》【https://github.githubassets.com/assets/GitHub-Mark-ea2971cee799.png】◎✍️ 洛娅橙 &nbsp; 🏷️ Pixiv 书源 &nbsp;◎\n\n一键导入https://cdn.jsdelivr.net/gh/Luoyacheng/yuedu@main/%E4%B9%A6%E6%BA%90/pixiv%E5%B0%8F%E8%AF%B4/pixiv.json《Pixiv 书源(APP API)》【https://asset.brandfetch.io/idIlKj_n7C/idSsbP7h1m.png】◎✍️ 洛娅橙 &nbsp; ✅ 单篇 &nbsp; ✅ 系列 &nbsp;◎\n\n\nhttps://akaito.xyz/post/Legado《⬇️ 导入 Pixiv 小说目录规则 ⬇️》【https://akaito.xyz/favicon.ico】◎✍️ 一片痴心俱成灰 &nbsp; 🏷️ Pixiv 本地小说目录规则 &nbsp;◎\n\n一键导入https://cdn.jsdelivr.net/gh/windyhusky/PixivSource@main/pixivToc.json《Pixiv 目录规则》【https://asset.brandfetch.io/idIlKj_n7C/idSsbP7h1m.png】◎✍️ 一片痴心俱成灰 &nbsp; 🏷️ 本地小说 &nbsp; 🏷️ 目录规则 &nbsp;◎\n\n\nhttps://books.fishhawk.top/forum/66a8e77866bff10c16e51d6a《⬇️ 导入 轻小说机翻机器人 书源 ⬇️》【https://books.fishhawk.top/icon.svg】◎✍️ holzora &nbsp; 🏷️ 轻小说机翻机器人 &nbsp; ◎\n\n一键导入https://static.kksk.io/uuyr/68d13b5fa22c19c5ad2a5d08c0017f90.json《轻小说机翻机器人 书源》【https://books.fishhawk.top/icon.svg】◎✍️ holzora &nbsp; 🏷️ Pixiv 外文小说 &nbsp;◎\n\n\n『🔎丨不世玄奇』\nhttps://github.com/bushixuanqi/book-source《⬇️ 一键导入 不世玄奇 的书源 ⬇️》【https://github.githubassets.com/assets/GitHub-Mark-ea2971cee799.png】◎✍️ 不世玄奇 &nbsp; 🏷️ 通用书源 & 通用订阅 &nbsp; 📆 2023-05 &nbsp; 🔗 停更◎\n\n一键导入https://cdn.jsdelivr.net/gh/windyhusky/PixivSource@main/normal.json《通用书源 & 搜索引擎书源》【002/93/87/83】◎ 🏷️ 通用书源 &nbsp; 📆 2023-05 &nbsp; 🔗 停更◎\n\n一键导入https://bushixuanqi.oss-cn-chengdu.aliyuncs.com/通用发现v5.json【002/93/87/83】《聚合搜索 / 通用订阅》◎🏷️ 通用订阅 &nbsp; 📆 2023-04 &nbsp; 🔗 停更◎\n\n\n『📚丨书源整理』\nhttps://shuyuan.yiove.com《📖丨三千书源》◎✍️ Yiove 书源仓库◎【https://shuyuan.yiove.com/logo.jpeg】\n\nhttps://yuedu.miaogongzi.net/gx.html《🏣丨喵公子书源管理》◎✍️ 喵公子◎【003/77/52/16】\n\nhttps://legado.aoaostar.com《📕丨阅读 APP 源》◎✍️ aoaostar &nbsp; 📆 标示日期为采集刷新日期◎【https://avatars.githubusercontent.com/u/86001674】\n\nhttps://www.yckceo.com/yuedu/shuyuan/index.html《🏚️丨源仓库-阅读书源》◎✍️ 我不是木木◎【002/88/03/61】\n\nhttps://flowus.cn/ycheng/share/923f5a35-6dcf-47d1-b8eb-b9c5ef3ed39b《🗞️丨一程书源订阅源阅读合集》◎✍️ 一程 &nbsp; 🏷️ 综合 &nbsp; ◎【002/55/79/99】",
    "sourceGroup": "Pixiv,Furry,书源,R18",
    "sourceIcon": "https://cdn.jsdelivr.net/gh/windyhusky/PixivSource@main/doc/pic/Legado-Pixiv.png",
    "sourceName": "书源订阅",
    "sourceUrl": "https://github.com/windyhusky/PixivSource",
    "style": "",
    "variableComment": "【刷新分类】【刷新分类】【刷新分类】"
  },
  {
    "articleStyle": 0,
    "customOrder": -10100708,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "1,R18",
    "sourceIcon": "https://yckceo.vip/favicon.ico",
    "sourceName": "源仓库(官方纯净)",
    "sourceUrl": "https://www.yckceo.com/yuedu/shuyuan/index.html"
  },
  {
    "articleStyle": 0,
    "customOrder": -10100176,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "🍉初始,R18",
    "sourceIcon": "https://m.qpic.cn/psc?/V51d74ti341UuD2N9L3J360mPr1tUtbz/ruAMsa53pVQWN7FLK88i5tr3FzRWRRtjrR342Y9LnB1CU7bWxW4ZxaXg1qGoAqHxMNF8tBqr.XM11k*7ZauUEkQChn50J0DbpaBLnFJx76s!/b&bo=9AH0AQAAAAADByI!&rf=viewer_4",
    "sourceName": "主题",
    "sourceUrl": "https://flowus.cn/miumiu/share/69a9315e-d59d-4d95-8d0c-acd8d02ff278\n副本 副本 miumiu的主题"
  },
  {
    "articleStyle": 0,
    "customOrder": -10100175,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "🍉初始,R18",
    "sourceIcon": "https://www.yckceo.com/favicon.ico",
    "sourceName": "源仓库",
    "sourceUrl": "https://yckceo.vip/"
  },
  {
    "articleStyle": 1,
    "customOrder": -10100155,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\"User-Agent\": \"Mozilla/5.0 (Linux; Android 10;Xiaomi 10pro) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.104 Mobile Safari/537.36\"}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "$..data[*]",
    "ruleContent": "$..videopath##.*\\$\n\n@js:\nurl=result;\n\nloadding=java.get(\"pic\")\n\nhtml=\n`<link rel=\"stylesheet\" type=\"text/css\" href=\"https://muiplayer.js.org/css/mui-player.min.css\" />\n\n<script type=\"text/javascript\" src=\"https://cdn.jsdelivr.net/gh/ljun223/reader3@main/js/mui-player.min.js\"></script>\n\n<script type=\"text/javascript\" src=\"https://cdn.jsdelivr.net/gh/ljun223/reader3@main/js/mui-player-mobile-plugin.min.js\"></script>\n\n<div class=\"dz\">`+url+`</div>\n\n<div id=\"mui-player\" style=\"width:100%;height:300px\"></div>\n\n<script>\n   var mp = new MuiPlayer(\t{\n \t\t  \"container\": \"#mui-player\",\n \t\t  \"src\": \"`+url+`\",\n \t\t  \"poster\":\"`+loadding+`\",\n \t\t  \"autoFit\":false,\n \t\t  \"lang\": \"zh-cn\",\n \t  \t\"height\":\"300px\",\n \t\t  plugins: [\n \t\t    new MuiPlayerMobilePlugin({\n \t\t\t    \"key\":\n \t\t\t \"01I01I01H01J01L01K01J01I01K01J01H01D01J01G01E\",\n \t\t    \t\"showMenuButton\": true,\n \t\t\t    \"pageGesture\":true,\n \t\t\t   })\n    ]\n   }); \n </script>`",
    "ruleImage": "coverpath@put:{\"pic\":\"$.coverpath\"}",
    "ruleLink": "https://77gmk8o.com/api/videoplay/{{$.id}}?uuid=1",
    "ruleNextPage": "page",
    "rulePubDate": "authername",
    "ruleTitle": "title",
    "singleUrl": false,
    "sortUrl": "@js:\n\ndata=java.ajax(\"https://77gmk8o.com/api/videosort\");\n\njson=JSON.parse(data);\n\nvar list=[];\nvar num=json.rescont.length;\nfor(var i=1;i<num;i++){\nlist+=json.rescont[i].name+\"::\"+\"https://77gmk8o.com/api/videosort/\"+json.rescont[i].id+\"?orderby=&page={{page}}\"+\"\\n\"\n\t};\n\"搜索用::https://77gmk8o.com/api/videosort/0?page={{page}}&serach={{source.getVariable()}}\"+\"\\n\"+list",
    "sourceGroup": "ghs,R18",
    "sourceIcon": "https://img0.baidu.com/it/u=2908908160,2785784129&fm=253&fmt=auto&app=138&f=PNG",
    "sourceName": "葫芦视频",
    "sourceUrl": "https://77gmk8o.com"
  },
  {
    "articleStyle": 0,
    "customOrder": -10100145,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "@js:\ncache.putMemory('lycdrdm',String.raw`\n<html>\n<head>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=no\">\n    <title>导入</title>\n    <style>\n        body {\n            display: flex;\n            flex-direction: column;\n            align-items: center;\n            min-height: 80vh;\n        }\n        textarea {\n            font-size: 12px;\n            width: 96%;\n            margin: 16px 2%;\n            padding: 8px;\nbackground-color: rgba(80, 155, 84, 0.1);\nborder-radius: 10px;\n    border: 2px solid rgba(76, 175, 80, 0.3);\n        }\ntextarea:focus {\n    border-color: rgb(76, 175, 80);\n    outline: none;\n    box-shadow: 0 0 8px rgba(255, 107, 107, 0.3);\n  }\n        button {\n            user-select: none;\n            color: white;\n            border: none;\n            border-radius: 4px;\n            height: 40px;\n            width: 80px;\n            overflow: hidden;\n            transition: 0.3s;\n            font-size: 16px;\n        }\n        .an-s {\n        \ttransform: scale(0.8);\n        }\n        #btn1 {background-color: rgba(76, 175, 80, 0.9);}\n        #btn2 {background-color: rgba(175, 76, 80, 0.9);}\n        #btn3 {background-color: rgba(76, 80, 175, 0.9);}\n    </style>\n</head>\n<body>\n    <textarea id=\"copyt\" rows=\"9\" placeholder=\"在这里填写链接\n支持书源、订阅源、净化、字典等json或txt文件\n支持书籍网址（需要有对应的书源）\n支持data或base64加密链接\"></textarea>\n    <br>\n    <button id=\"btn1\" onclick=\"copy(1)\">导入</button>\n<br>\n<button id=\"btn2\" onclick=\"cleart()\">清空</button>\n<br>\n<button id=\"btn3\" onclick=\"copy(3)\">净化</button>\n    <script>\n        function copy(x) {\n            const btn = document.getElementById('btn'+x);\n            btn.classList.add('an-s');\n            const cpt = document.getElementById(\"copyt\");\n            let url = cpt.value;\nif (/[删除去消].*(?:[删除去掉].*[中汉我]|汉.*字|中.*文|文.*字)/.test(url)) url=url.replace(/[abphm]站|[一-ꀀ]/g,'');\n            url = url.replace(/\\n[一-ꀀ，。？！；…“‘、’”]*$/,'').replace(/\\s+|😂|🌚|🌝|🙄|😳|🙃|😊|😍|😘|😏|😱|😭|😒|🤔|😛|😅|🙈|🙊|🙉|🌸|🍀|🌹|🌷|💎|💄|💋|🉑|㊗️|💰|🌈|🦄|🥚|🥟|🌶️|🐔|🍺|🐮|🐻|🐶|🐼|🐖|🐴|🐈|🐕|🧸|🦌|🐟|🐇|🕊️|🦞|🖤|❤️|💚|💙|💕|☎️|🎁|🧧|🎉|🎊|🙋|🙆|👰|🇨🇳|🌏|🔥|🥱|😷|😴|😡|😌|😉|😎|🤓|🥳|🥺|🥰|🤒|🤐|🤭|👿|👻|💩|💊|🍉|🍔|🍋|🥭|🍓|🥒|🥠|🍇|⚽|🏀|🏓|🛀|🃏|🎲|🀄|🎹|🎧|📢|🚗|🚢|🚆|✈️|🚀|🈶|🈚|㊙️|🈲|♠️|♥️|♣️|♦️|➕|➖|✖️|➗|✔️|😮‍💨|😵‍💫|🥸|🔞|🤚|🫱|🫲|🫳|🫴|👌|👍|🤌|🫰|🫵|🫶|✌️|🤟|💪|👏|🤙|🙏|🙇‍♂️|🤷‍♂️|🤦‍♂️|🌺|\\[(?:酷币|受虐滑稽|微笑|哈哈哈|呵呵|呲牙|可爱|可怜|皱眉|惊讶|微笑|坏笑|流泪|抱拳|色|强|doge笑哭|doge原谅ta|旺财|OK)\\]/giu, '').replace(/(\\/.+\\.(?:json|txt))(?:[^\\/\\?\\-\\_\\.][\\S\\s]*)$/, '$1').replace(/^[\\S\\s]+?(?=https?:)/i,'').replace(/\\u0026/g,'%26');\nif (url.startsWith('data:')) url = atob(url.match(/^[^,]+,([^\\s,]+)/)[1]);\nif (/^[\\da-z\\+\\/]{2,}=*$/i.test(url)) url = atob(url);\n            setTimeout(() => {\n                btn.classList.remove('an-s');\n            }, 500);\n            if (url == '') {alert('请输入内容');return}\n            if (/^https?\\:/i.test(url)&&x==1) {\n                if (/\\/.+\\.(?:json|txt)/i.test(url)) {\n                    window.location.href = 'legado://import/Source?src=' + url;\n                }\n                else {\n                    window.location.href = 'legado://import/addToBookshelf?src=' + url;\n                }\n            }\n           else if (x==3) {cpt.value=url;}\n           else alert('链接格式错误');\n        }\nfunction cleart() {\nconst btn = document.getElementById('btn2');\nbtn.classList.add('an-s');\nconst cpt = document.getElementById(\"copyt\");\nsetTimeout(() => {\n                btn.classList.remove('an-s');\n            }, 300);\ncpt.value = '';\n  }\n    </script>\n</body>\n</html>\n`);\r\n''",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": false,
    "ruleArticles": "",
    "ruleLink": "",
    "ruleTitle": "",
    "singleUrl": true,
    "sourceComment": "版本：1.1.1\n——洛娅橙",
    "sourceGroup": "R18",
    "sourceIcon": "https://gitee.com/lyc486/yuedu/raw/master/drtb.gif",
    "sourceName": "导入",
    "sourceUrl": "http@js:`data:text/html;base64,${java.base64Encode(cache.getFromMemory('lycdrdm'))}`"
  },
  {
    "articleStyle": 0,
    "concurrentRate": "6/1000",
    "customOrder": -10100143,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "@js:JSON.stringify({\n\"User-Agent\":java.getWebViewUA().replaceAll(\"; wv| Version/[345].0\",''),\n\"X-Requested-With\":\"XMLHttpRequest\"\r\n})",
    "jsLib": "function gengxin(){\nconst {java, source} = this;\n\tlet url0='https://gitee.com/lyc486/yuedu2/commits/main/订阅/洛娅橙/lyc.json?browser_history=0&page=1&per=3';\n\tlet rr0=java.get(url0,{'User-Agent': 'Mozilla/5.0 (Linux; Android 14)','X-Requested-With': 'XMLHttpRequest'}).body();\n\tlet \tgxlrr = com.jayway.jsonpath.JsonPath.read(rr0, '$.list[0:3].title');\n\tlet [gxlr, gxlr2, gxlr3] = gxlrr;\n\tlet banben =   String(source.sortUrl).match(/let banben=\"([\\d\\.]+)\"/)[1];\n\tgxlr=String(gxlr).split(/^([^\\-]+)-/);\n\tgxlr[0]=='' ? '' : gxlr=['','0',gxlr[0]];\n\tlet gxts;\n\tif (gxlr[1]>banben){gxts=['更新','0,140,186'];}\n\telse {gxts= ['导入','76,175,80'];};\n\tlet htm = `<html>\n<head>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<style>\ntable {\n\ttext-align: center;\n\tmargin: 0 auto;\n\t}\n.ann {\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\theight: 50vh;\n\t}\nbutton {\n\tbackground-color: rgb(${gxts[1]});\n\tcolor: white;\n\tborder: none;\n\tborder-radius: 4px;\n\theight: 6vh;\n\twidth: 30vw;\n\toverflow: hidden;\n\t}\nbutton span {\n  cursor: pointer;\n  display: inline-block;\n  position: relative;\n  transition: 0.4s;\n}\nbutton span:after {\n  content: '>';\n  position: absolute;\n  opacity: 0;\n  top: 0;\n  right: 30px;\n  transition: 0.2s;\n}\nbutton:active span {\n  padding-right: 20px;\n}\nbutton:active span:after {\n  opacity: 1;\n  right: -40px;\n}\n</style>\n</head>\n<body>\n<table border=\"1\" cellspacing=\"0\">\n<th colspan=\"2\">最新日志：${gxlr[2]}</th>\n<tr>\n<td>仓库版本：${gxlr[1]}</td>\n<td>本地版本：${banben}</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"text-align: left;\">往期日志：${gxlr2}<br>　　　　　${gxlr3}</td>\n</tr>\n</table>\n<div class=\"ann\">\n<a href=\"legado://import/importonline?src=https://gitee.com/lyc486/yuedu2/raw/main/订阅/洛娅橙/lyc.json\">\n<button><span>${gxts[0]}</span></button>\n</a>\n</div>\n<p style=\"font-size: 16px;\">导入订阅源窗口需手动选中，然后确认</p>\n<a href=\"legado://import/importonline?src=https://cdn.jsdelivr.net/gh/Luoyacheng/yuedu@main/订阅/洛娅橙/lyc.json\" style=\"font-size: 10px;\">备用链接</a>\n</body>\n</html>`;\nif(gxts[0]=='更新') {\njava.startBrowser(`data:text/html;base64,${java.base64Encode(htm)}`,'订阅源更新');return false;}\nreturn true;\r\n}\n\nvar bl=[];\nconst setbl=(i,x)=>bl[i]=x;",
    "lastUpdateTime": 1756537481742,
    "loadWithBaseUrl": true,
    "loginUi": "[\n    {\n    \t\"name\": \"💾仓库\",\n    \t\"type\": \"button\",\n    \t\"action\": \"java.startBrowser('https://github.com/Luoyacheng/yuedu','')\",\n        \"style\": {\n            \"layout_flexGrow\": 2,\n            \"layout_flexBasisPercent\": -1,\n            \"layout_wrapBefore\": true}\n    \t},\n    \t{\n        \"name\": \"🔘樱花效果\",\n        \"type\": \"button\",\n        \"action\": \"bfqfun('樱花效果')\",\n        \"style\": {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": -1,\n            \"layout_wrapBefore\": flase}\n    },\n    \t{\n        \"name\": \"🧬激活\",\n        \"type\": \"button\",\n        \"action\": \"jihuo()\",\n        \"style\": {\n            \"layout_flexGrow\": 2,\n            \"layout_flexBasisPercent\": -1,\n            \"layout_wrapBefore\": flase}\n    }\n]",
    "loginUrl": "function login(){}\nfunction bfqfun(x) {\nlet xx = source.get('lyc'+x);\n//默认开启\nif(xx!=2) {source.put('lyc'+x,2);java.toast('⚫已关闭 '+x);}\nelse {source.put('lyc'+x,1);java.toast('🟢已开启 '+x);}\n\t}\nfunction jihuo() {\nlet sleep=Packages.java.lang.Thread.sleep;\t['　　　　　','·　　　　','··　　　','···　　','····　','·····'].forEach((_,i) =>{i+=6;cache.put('lycjihuo',Date.now()+'洛娅橙'+i);do{java.toast('\\n\\n正在激活'+_+'\\n');sleep(50);}while(--i)});\nif (+cache.get('lycjihuo').match(/\\d+/)+3e3>Date.now())\nif (cache.get('lycjihuo').endsWith(1)&&gengxin())\njava.longToast(`\n\n成功激活　　　　　\n版本号：${source.get('bb')}`);\nelse {cache.put('lycjihuo','');java.longToast('\\n\\n激活失败　　　　　\\n');}\n}",
    "ruleArticles": "<js>\nvar h=\"https://gitee.com\";\nvar i=h+\"/lyc486/yuedu/raw/master/favicon.svg\";\nif (baseUrl.includes('main/apks')) {\n\tif (Math.random()<0.5) gengxin();\nlet m='https://miaogongzi.lanzout.com/';\nlet [webr,webg] = java.ajaxAll([m+'b01rgkhhe',h+'/api/v5/repos/lyc486/legado/releases/latest']).map(x=>x.body());\n\neval(webr.match(/var pgs;(?:\\s*.+){3}/)[0]);\neval('var obj={'+webr.match(/data :\\s*\\{[^}]+\\}/)+'}');\nlet body = Object.entries(obj.data)\n.map(([key, value]) => `${key}=${value}`)\n.join('&');\nwebr = java.ajax(m+'filemoreajax.php'+`,{\"method\":\"POST\",\"body\":\"${body}\"}`);\nwebr = com.jayway.jsonpath.JsonPath.read(webr,'$.text[*]');\n\nwebg = com.jayway.jsonpath.JsonPath.parse(webg);\nlet ls=webg.read('$.created_at');\nls=java.timeFormat(new Date(ls));\nlet lb=webg.read('$..assets[0:2]');\nresult=java.getElement('$..blobs[*]');\n\t[{\n\t\tn:'主页',\n\t\tt:'个人网页',\n\t\ti:i,\n\t\tu:'data:;base64,QQ,{\"type\":\"url\"}'\n}].concat(\nArray.from(lb).map((x,y)=>{\n\tlet n=x.name;\n\tlet url=`data:;base64,${java.base64Encode(x.browser_download_url)},{\"type\":\"url\"}`;\n//setbl(y,url);\nsource.put(\"lycbl\"+y,url);\nreturn {\n\t\tn:n.includes('.apk')?('洛娅橙·改：'+n):'',\n\t\tt:ls,\n\t\ti:i,\tu:\"@js:source.get('lycbl\"+y+\"')\"};\n})\n,\nArray.from(result).map(x=>{\n\tlet n=x.name;\n\tlet t=x.last_commit.time;\n\treturn {\n\t\tn:n.includes('.apk')?n:'',\n\t\tt:t?java.timeFormat(new Date(t)):'',\n\t\ti:i,\tu:`@js:'data:;base64,${java.base64Encode(x.url)},{\"type\":\"url\"}'`};\n}).reverse()\n,\nArray.from(webr).map(x=>{\n\treturn {\n\t\tn:x.name_all,\n\t\tt:'喵公子 蓝奏云 '+x.time,\n\t\ti:i,\n\t\tu:m+x.id};\n}))\n} else {\nresult=java.getElement('$..trees[*]');\nArray.from(result).map(x=>{\n\treturn {\n\t\tn:x.name,\n\t\tt:java.timeFormat(new Date(x.last_commit.time)),\n\t\ti:i,\n\t\tu:h+x.url};\n})\n}\n</js>",
    "ruleContent": "@js:\r\nlet title,title2,durl,body='';\r\ntry {title=rssArticle.title;title2=rssArticle.sort;}\ncatch (err) {\nsource.put('bb','0.0.0');\nif (baseUrl.includes(encodeURI('字典')))\ntitle='字典';\nelse if (baseUrl.includes(encodeURI('净化')))\ntitle='净化';\nelse if (baseUrl.includes(encodeURI('目录')))\ntitle='目录';\nelse if (baseUrl.includes('miaogongzi.lanz'))\ntitle='蓝奏';\nelse title='主页',java.toast('请安装测试版');\ntitle2=title;}\ntry {durl=java.hexDecodeToString(result);\ntitle2='软件下载';\ntitle=title.replaceAll('legado_app_','');}catch(e){}\nif (baseUrl.includes('miaogongzi.lanz'))\nresult = `<html><head>\n<meta http-equiv=\"refresh\" content=\"0; url='https://miaogongzi.lanzout.com${java.getString('#downurl@href')}\">\n</head>\n</html>`;\nelse if (title == '主页')\r\nresult = `<html><head>\n<meta http-equiv=\"refresh\" content=\"0; url='https://loyc.xyz\">\n</head>\n</html>`;\nelse if (title2 == '软件下载') {\nif (!durl.startsWith(\"https:\"))\tdurl='https://yd.loyc.xyz'+durl.match(/main(.+)/)[1];\nbody=`<h3>${title}</h3><div class=\"dl\">\n<a class=\"dlb btn1\" href=\"${durl}\">立即下载</a>\n<a class=\"dlb btn2\" href=\"yuedu://opapp/${durl}\">使用下载器</a>\n</div>`;\n} else {\r\n    let nm = java.getStringList('$..blobs[*].name');\r\n    let ur = java.getStringList('$..blobs[*].url');\r\n    let tm = java.getStringList('$..blobs[*]*.time');\r\n    let re = '';\r\n    for (let i = 0; i < nm.length; i++) {\r\n        let rzurl = \"https://gitee.com\" + ur[i].replace('/blob/', '/commits/');\r\n        let url = rzurl + '?browser_history=0&page=1&per=5';\r\n        let rz = java.ajax(url);\r\n        rz = com.jayway.jsonpath.JsonPath.read(rz, '$.list[0:5].title');\r\n        let [rz1,rz2,rz3,rz4,rz5] = rz;\r\n        if (title == '洛娅橙') {\r\n            let banben1=String(rz1).match(/^([^\\-]+)-/);\r\n            banben1 = banben1 ? banben1[1] : '9.9.9';\r\n            let banben2 = String(source.sortUrl).match(/let banben=\"([\\d\\.]+)\"/)[1];\r\n            if (banben1>banben2) java.longToast('\\n订阅源本体有更新');\r\n        }\r\n        re += `<tr style=\"height: 0.1em;\"></tr>\r\n<tr>\r\n<td colspan=\"4\">${nm[i]}</td>\r\n<td class=\"time\" colspan=\"3\">${java.timeFormat(new Date(tm[i]).getTime())}</td>\r\n<td colspan=\"1\"><a href=\"${rzurl}\">查看</a></td>\r\n</tr>\r\n<tr style=\"height:3em;\" data-url=\"${ur[i]}\">\r\n<td colspan=\"2\"><button class=\"btn\" id=\"btn1\">导 入</button></td>\r\n<td colspan=\"2\"><button class=\"btn\" id=\"btn2\">导 入</button></td>\r\n<td colspan=\"2\"><button class=\"btn\" id=\"btn3\">备 用</button></td>\r\n<td colspan=\"2\"><button class=\"btn\" id=\"btn4\">备 用</button></td>\r\n</tr>\r\n<tr>\r\n<td style=\"text-align: left;\" colspan=\"8\"><p id=\"sgtxt\">${rz1}</p>${rz2?'<hr><p>'+rz2+'</p>':''}${(rz3?'<p>'+rz3+'</p>':'')+(rz4?'<p>'+rz4+'</p>':'')+(rz5?'<p>'+rz5+'</p>':'')}</td>\r\n</tr>\r\n`;\n//处理re结束\n}\nbody=`<table border=\"1\" cellpadding=\"2\" cellspacing=\"0\" align=\"center\">\n<caption><h2>${title}</h2></caption>\n<tr>\n<td colspan=\"4\">文件名</td>\n<td colspan=\"3\">更新时间</td>\n<td colspan=\"1\">日志</td>\n</tr>\n${re}\n<tr><td id=\"js\" colspan=\"4\"></td><td id=\"ts\" colspan=\"4\"></td></tr>\n</table>`;\r\n}\n\nif (body!='') {\nlet yht='',yhjs='';\nif (source.get('lyc樱花效果')!=2) {\nyht='<div id=\"gif-c\"><img id=\"yhs-gif\" src=\"https://wimg.588ku.com/gif320/24/07/09/eaa8a92d993345498c6329443903499c.gif\" alt=\"gif-yhs\"></div>';\nyhjs=source.get('yhxyapi');\nif (yhjs.length()<3999) {\n\tyhjs = java.ajax('https://gitee.com/lyc486/yuedu/raw/master/yinghua.js');\n\tif (yhjs.length()>3999)\n\tsource.put('yhxyapi',yhjs);\n\telse yhjs='';}\n\tyhjs=`<script>${yhjs}</script>`;}\n\nresult = `<!DOCTYPE html>\n<html><head>\n<title>${title2}</title>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no\">\r\n<style>\n:root {\n\t--show-color: rgba(100,100,100,0.7);}\n@media (prefers-color-scheme: dark) {\n\t:root {\n\t--show-color: rgba(250,250,250,0.9);}\n}\n@keyframes pulse {\n\t0% { box-shadow: 0 0 0 0 rgba(150, 201, 61, 0.7); }\n\t70% { box-shadow: 0 0 0 15px rgba(150, 201, 61, 0); }\n\t100% { box-shadow: 0 0 0 0 rgba(150, 201, 61, 0); }\n}        \n\nhtml {\noverflow-x: clip;}\nbody {\nuser-select: none;\nheight: -webkit-fill-available;\nposition: relative;\noverflow: hidden;}\n.dl {\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: center;\n\t}\n.btn1 {\n\t\tbackground: linear-gradient(to right, #00b09b, #96c93d);\t\n}\n.btn2 {\n\t\tbackground: linear-gradient(to right, #c93d96, #b09b00);\t\n}\n.dlb {\n\tanimation: pulse 2s infinite;\n\twidth: 33%;\n\tdisplay: inline-block;\n\tcolor: white;\n\tpadding: 18px 45px;\n\tfont-size: 1.4rem;\n\tfont-weight: 600;\n\tborder-radius: 60px;\n\ttext-decoration: none;\n\tbox-shadow: 0 10px 25px rgba(0, 176, 155, 0.4);\n\ttransition: all 0.3s ease;\n\tposition: relative;\n\tmargin: 30px 0;\n\toverflow: hidden;\n\tborder: none;\n\ttext-align: center;\n\t-webkit-tap-highlight-color: transparent;\n}\n.dlb:hover {\n\ttransform: translateY(-5px);\n\tbox-shadow: 0 15px 30px rgba(0, 176, 155, 0.6);\n}\n.dlb:active {\n\ttransform: translateY(0);\n}\n.dlb::after {\n\tcontent: \"\";\n\tposition: absolute;\n\ttop: -50%; left: -60%;\n\twidth: 20px; height: 200%;\n\tbackground: rgba(255, 255, 255, 0.3);\n\ttransform: rotate(25deg);\n\ttransition: all 0.6s;\n}\n.dlb:hover::after {\n\tleft: 120%;\n}\ntable {\nwidth: 100%;\ntable-layout: fixed;\ntext-align: center;\nmargin: 0 auto;\nword-break: break-all;}\r\n.time,.txt-s {font-size:10pt;}\na {text-decoration: none;}\np {padding-left: 5ex;\ntext-indent: -5ex;\nmargin: 0 auto;}\n#gif-c {\nposition: fixed;\ntop: -5px;\nright: 0px;\nz-index: 9;}\n#yhs-gif {\nwidth: 110px;\nheight: auto;}\n#sgtxt {\ntext-shadow: 0 0 4px var(--show-color);}\n</style></head>\n<body>\n${body}\n${yht}\n<script> \nfunction daoru(url,id,copy=false) {\n\turl = url.match(/\\\\/main\\\\/(.+)/)[1];\n\tvar yy=\"\";\n\tswitch(id) {\n\t\tcase \"1\": yy = \"https://gitee.com/lyc486/yuedu2/raw/main/\";break;\n\t\tcase \"2\": yy = \"https://yd.loyc.xyz/\";break;\n\t\tcase \"3\": yy = \"https://raw.githubusercontent.com/Luoyacheng/yuedu/main/\";break;\n\t\tcase \"4\": yy = \"https://cdn.jsdelivr.net/gh/Luoyacheng/yuedu@main/\";break;}\nyy += url;\nif (copy) return yy;\nwindow.location.href=\"legado://import/importonline?src=\"+yy;}\n\nconst js=document.getElementById('js');\nconst ts=document.getElementById('ts');\nlet Timer = null;\nlet Timer2 = null;\nlet pressTime = 0;\nlet timerInterval = null;\nconst btns = document.querySelectorAll('.btn');\nbtns.forEach(btn => {\r\nbtn.addEventListener('pointerdown', function () {\n\tconst btnId = this.id.replace('btn', '');\n\tconst url = btn.closest(\"tr\").dataset.url;\n\tpressTime = 0;\n\ttimerInterval = setInterval(() => {\n\t\tpressTime += 10;\n\t\tjs.textContent = pressTime+\"ms\";\n\t\t}, 10);\n\t\tTimer = setTimeout(() => {\n   copyToClipboard(daoru(url, btnId,true));\n }, 800);\n});\n\r\nbtn.addEventListener('pointerup', function () {\r\nclearTimeout(Timer);\nclearInterval(timerInterval);\nif (pressTime > 0 && pressTime < 800) {\nconst btnId = this.id.replace('btn', '');\nconst url = btn.closest(\"tr\").dataset.url;\ndaoru(url, btnId);}\nTimer2 = null;\nTimer2 = setTimeout(() => {\nts.textContent = js.textContent = \"\";\n }, 900);\n});\n\r\nbtn.addEventListener('pointercancel', function () {\nclearTimeout(Timer);\nclearInterval(timerInterval);\n});\n\n});\n\nfunction copyToClipboard(text) {\nnavigator.clipboard.writeText(text).then(() => {\nts.textContent = \"已复制订阅链接\";\n}).catch(err => {\n alert(\"复制失败: \" + err);\n});\n}\n</script>\n${yhjs}\r\n</body>\r\n</html>`;}\r\nresult",
    "ruleImage": "i",
    "ruleLink": "u",
    "rulePubDate": "t",
    "ruleTitle": "n",
    "shouldOverrideUrlLoading": "var k=/^yuedu:/.test(url);\nif (k)\njava.openUrl(url.replace('yuedu://opapp/',''),'application/octet-stream');\nk",
    "singleUrl": false,
    "sortUrl": "<js>\r\nlet banben=\"2.2.4\";\nsource.put('bb',banben);\r\njava.toast('\\n欢迎🎉');\nlet url = 'https://gitee.com/lyc486/yuedu2/tree/main';\r\nlet rr = java.ajax(url);\r\nlet nm = com.jayway.jsonpath.JsonPath.read(rr, \"$..trees[*].name\");\r\nlet ur = com.jayway.jsonpath.JsonPath.read(rr, '$..trees[*].url');\r\nlet re = '首页::https://gitee.com/lyc486/yuedu2/tree/main/apks\\n';\r\nfor (let i = 0, j = 0; i < nm.length; i++) {\n\tlet tt=nm[i];\nif (/^[一-ꀀ]/.test(tt)) {\nj++;re+=tt+'::https://gitee.com'+ur[i]+'\\n';}\r\n}\r\nPackages.java.lang.Thread.sleep(100);\r\nre\r\n</js>",
    "sourceGroup": "源大佬,R18",
    "sourceIcon": "https://gitee.com/lyc486/yuedu/raw/master/favicon.gif",
    "sourceName": "洛娅橙的订阅源",
    "sourceUrl": "https://www.luoyacheng.ip-ddns.com"
  },
  {
    "articleStyle": 1,
    "customOrder": -10100133,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "$.list",
    "ruleContent": "",
    "ruleDescription": "<br><h3>{{$.vod_name}}</h3>\n<h6>[{{$.vod_score}}分] [{{$.vod_class ##\\,##] [}}]<b>发布于 {{$.vod_time}}</b></h6>\n\n<video src=\"{{$.vod_play_url ##^.*?\\$}}\" poster=\"{{$.vod_pic}}\" controls></video>",
    "ruleImage": "$.vod_pic",
    "ruleLink": "/api.php/provide/vod/?ac=detail&ids={{$.vod_id}}",
    "ruleNextPage": "page",
    "rulePubDate": "⏱️ {{$.vod_duration}}　{{$.vod_score}}分　{{$.vod_time}}",
    "ruleTitle": "$.vod_name",
    "singleUrl": false,
    "sortUrl": "🔎 视频搜索::/api.php/provide/vod/?ac=detail&pg={{page}}&wd=巨乳\n\n精品推荐::/index.php/provide/vod/?ac=detail&pg={{page}}&t=1\n国产视频::/index.php/provide/vod/?ac=detail&pg={{page}}&t=2\n主播直播::/index.php/provide/vod/?ac=detail&pg={{page}}&t=3\n日本无码::/index.php/provide/vod/?ac=detail&pg={{page}}&t=4\n日本有码::/index.php/provide/vod/?ac=detail&pg={{page}}&t=5\n中文字幕::/index.php/provide/vod/?ac=detail&pg={{page}}&t=6\n巨乳美乳::/index.php/provide/vod/?ac=detail&pg={{page}}&t=7\n制服丝袜::/index.php/provide/vod/?ac=detail&pg={{page}}&t=34\n角色扮演::/index.php/provide/vod/?ac=detail&pg={{page}}&t=35\n熟女人妻::/index.php/provide/vod/?ac=detail&pg={{page}}&t=8\n强奸乱伦::/index.php/provide/vod/?ac=detail&pg={{page}}&t=9\n欧美精品::/index.php/provide/vod/?ac=detail&pg={{page}}&t=10\n少女萝莉::/index.php/provide/vod/?ac=detail&pg={{page}}&t=11\n三级伦理::/index.php/provide/vod/?ac=detail&pg={{page}}&t=12\n成人动漫::/index.php/provide/vod/?ac=detail&pg={{page}}&t=13\n成人动漫::/api.php/provide/vod/?ac=detail&pg={{page}}&t=14\n成人动漫::/api.php/provide/vod/?ac=detail&pg={{page}}&t=15\n成人动漫::/api.php/provide/vod/?ac=detail&pg={{page}}&t=16\n成人动漫::/api.php/provide/vod/?ac=detail&pg={{page}}&t=17\n成人动漫::/api.php/provide/vod/?ac=detail&pg={{page}}&t=18\n成人动漫::/api.php/provide/vod/?ac=detail&pg={{page}}&t=19\n成人动漫::/api.php/provide/vod/?ac=detail&pg={{page}}&t=20\n成人动漫::/api.php/provide/vod/?ac=detail&pg={{page}}&t=21\n成人动漫::/api.php/provide/vod/?ac=detail&pg={{page}}&t=22\n成人动漫::/api.php/provide/vod/?ac=detail&pg={{page}}&t=23\n成人动漫::/api.php/provide/vod/?ac=detail&pg={{page}}&t=24\n成人2动漫::/api.php/provide/vod/?ac=detail&pg={{page}}&t=25\n成人动漫::/api.php/provide/vod/?ac=detail&pg={{page}}&t=26\n成人动漫::/api.php/provide/vod/?ac=detail&pg={{page}}&t=27\n成人动漫::/api.php/provide/vod/?ac=detail&pg={{page}}&t=28\n成人动漫::/api.php/provide/vod/?ac=detail&pg={{page}}&t=29\n成人动漫::/api.php/provide/vod/?ac=detail&pg={{page}}&t=30\n成人动漫::/api.php/provide/vod/?ac=detail&pg={{page}}&t=31",
    "sourceComment": "★源URL的填写链接为【list】格式\n\t网站网址\n\t网站网址/api.php/provide/vod/?ac=【list】\n\n例：\nhttps://apittzy.com\nhttps://apittzy.com/api.php/provide/vod/?ac=list\n\nps：\n\t使用【list】格式查看分类和分类id以组成分类URL\n\n\n\n★分类URL的填写链接为【detail】格式\n\t视频搜索::网站网址/api.php/provide/vod/?ac=【detail】&pg={{page}}&wd=关键词\n\t分类名称::网站网址/api.php/provide/vod/?ac=【detail】&pg={{page}}&t=分类id\n\n例：\n\t视频搜索::https://apittzy.com/api.php/provide/vod/?ac=detail&pg={{page}}&wd=按摩\n\t精品推荐::https://apittzy.com/api.php/provide/vod/?ac=detail&pg={{page}}&t=1\n\nps：\n\t分类URL写成【list】格式也行，但是没有详细信息。需要通过正文链接跳转正文页再填写正文规则。而且没有封面！\n\n\n\n★正文规则\n\t因为分类URL使用了【detail】格式，需要的信息都显示了。(视频链接)\n\t所以我们在描述规则填写正文规则就行了，这样子就省的再跳转一次正文链接了。\n\t但是链接规则还是要写的，不然不会加载列表。\n\n\n\n☆【vod】和【art】\n视频分类链接为【vod】格式\n\t网站网址/api.php/provide/vod/?ac=list\n图文分类链接为【art】格式\n\t网站网址/api.php/provide/art/?ac=list\n通过【list】格式查看分类和分类id以组成分类URL\n\nps：\n\t图片和小说链接都是【art】格式，这样子不好分割，建议把小说分类相关链接移除\n\t因为【art】格式的【detail】链接并不会显示全部套图，所以需要填写正确的链接规则跳转正文页再填写正文规则而不是直接在描述规则处填写规则\n\n\n\n☆详情页链接规则\n\t详情页链接仅支持【detail】格式\n网站网址/api.php/provide/(vod/art)/?ac=detail&ids=(视频id/图文id)\n\n\t如果分类URL只填写了网址，那么链接规则补充剩下的链接就行了\n例：\n\t/api.php/provide/vod/?ac=detail&ids=视频id\n❗仅限【vod】/【art】单格式使用\n\n\t如果订阅同时写了【vod】和【art】两种格式，链接就需要使用js判定\n@js:\nif(baseUrl.match(/art/)){\n\t网站网址/api.php/provide/art/?ac=detail&ids={{$.art_id}}\n}else{\n\t网站网址/api.php/provide/vod/?ac=detail&ids={{$.vod_id}}\n}\nps：\n\t使用两种格式时，此js在正文规则也会需要用到。\n\n\n\n\n\n‼️以下网址加上【list】链接可更改为json格式，查看分类及分类id\n\n\t因为json链接格式固定？\n\t所以修改一下网站之间的分类URL差别即可使用此订阅格式套用，，，大概\n\nps：\n\t注意【list】和【detail】格式以及【vod】和【art】链接的差别\n\n\n共30个网址：\n\n\t★鲨鱼::https://shayuapi.com\n\t\tps：老朋友了\n\n\n\t老鸭资源::http://laoyazy50.cc\n\t\tps：网站有时效性？\n\n\n\t老鸭资源2::https://api.apilyzy.com\n\n\n\n\t水蜜桃::http://51smt4.xyz\n\n\n\t99资源::http://99zy.pw\n\n\n\t99资源吧::http://99zyba.com\n\n\n\t丝袜资源::http://siwazyw.net\n\n\n\t浪潮资源::http://langchaozy6.com\n\n\n\tCK资源::http://www.feifei67.com\n\n\n\t大雕资源::http://www.dd-01.com\n\n\n\t银龙资源::https://yinlong.tv\n\n\n\t苍天资源::http://cj.cangtiancj.com\n\n\n\t骚色资源::http://api.saosezy.icu\n\n\n\t芒果资源::https://mgzyz1.com\n\n\n\t酷豆资源::https://kudouzy.com\n\n\n\t酷伦理资源::https://api.kudian70.com\n\n\n\t速播资源::https://api.suboapi.com\n\n\n\t国产精品::https://zy.difi.life\n\n\n\t痴汉队长::https://javcaptain.com\n\n\n\t秀色资源::https://api.xiuseapi.com\n\n\n\t苹果资源::https://www.pg111222.com\n\n\n\t茄子资源::http://www.qiezizy8.com\n\n\n\t辣椒资源::https://www.lajiaozy18.com\n\n\n\t花椒资源::https://apihjzy.com/api.php/provide/vod/?ac=list\n\t\tps：网站无法打开，json链接可以\n\n\n\t桃色资源::https://api.taoseapi.com/api.php/provide/vod/?ac=list\n\t\tps：网站无法打开，json链接可以\n\n\n\t乐播资源::https://lbapi9.com/api.php/provide/vod/?ac=list\n\t\tps：网站无法打开，json链接可以\n\n\n\t佳丽资源::https://jializyzapi.com/api.php/provide/vod/?ac=list\n\t\tps：网站无法打开，json链接可以\n\n\n\t番号资源::http://fhapi9.com/api.php/provide/vod/?ac=list\n\t\tps：网站无法打开，json链接可以\n\n\n\tx8优酷::https://gov.gooder.bar\n\t\tps：没有vod格式？\n\n\n\t土狗采集::http://vip-04.tgzy.cc\n\t\tpa：vod格式好像是音乐？\n\n\n\n☆使用【vod】和【art】两种链接的正文规则参考\n<br><h3>{{$.list..vod_name||$.list..art_name}}</h3>\n<h6>[{{$.list..type_name}}]<b>发布于 {{$.list..vod_time||$.list..art_time}}</b></h6>\n\n<video src=\"{{$.list..vod_play_url ##^.*?\\$}}\" poster=\"{{$.list..vod_pic}}\" controls>视频加载失败</video>\n\n<div id=\"TúPiàn\">\n{{$.list..art_content ##</?(br|p)>}}\n</div>\n<link rel=\"stylesheet\" href=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.2/viewer.min.css\">\n<script src=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.2/viewer.min.js\"></script>\n<script>\n  new Viewer(\n    document.getElementById(\"TúPiàn\")    ,{\n//设置图片地址来源\n    url: 'src',\n//是否显示图片标题(true/false)\n    title: false,\n//设置播放间隔(单位毫秒，1秒=1000毫秒)\n    interval: 3000\n    }\n  );\n</script>\n\n@js:\nif(baseUrl.match(/art/)){\n\tresult.replace(/<vid[\\s\\S]+deo>/,'')\n}else{\n\tresult.replace(/<div[\\s\\S]+ipt>/,'')\n}",
    "sourceGroup": "成人视频,R18",
    "sourceIcon": "https://i.postimg.cc/sXtXHZDM/IMG_20220716_190738.png",
    "sourceName": "探探测试",
    "sourceUrl": "https://shayuapi.com",
    "style": "h3{text-align:center}\nh6{margin-bottom:0}\nb{float:right}\n\nvideo{width:100%;max-height:285px;border-radius:5px}"
  },
  {
    "articleStyle": 0,
    "customOrder": -10100131,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "@js:\nJSON.stringify({\n\t\"User-Agent\": \"Mozilla/5.0 (Linux; Android 9) Mobile Safari/537.36\",\n\t\"Referer\":baseUrl\n\t})",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginUi": "[\n{\n        name: \"---模式---\",\n        type: \"button\",\n        \"style\": {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": 1\n        },\n        action:\"Toast()\"\n    },\n{\n        \"name\": \"默认模式\",\n        \"type\": \"button\",\n        \"action\": \"DEFAULT()\",\n        \"style\": {\n            \"layout_flexGrow\": 0.5,\n            \"layout_flexBasisPercent\": 0.25\n        }\n   \n    },\n{\n        \"name\": \"简洁模式\",\n        \"type\": \"button\",\n        \"action\": \"Concise_mode()\",\n        \"style\": {\n            \"layout_flexGrow\": 0.5,\n            \"layout_flexBasisPercent\": 0.25\n        }\n   \n    },\n    {\n        \"name\": \"打开外部浏览器模式\",\n        \"type\": \"button\",\n        \"action\": \"TnEBM()\",\n        \"style\": {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": 1\n        }\n   \n    },{\n        \"name\": \"源站登录\",\n        \"type\": \"button\",\n        \"action\": \"Login()\",\n   \"style\": {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": 1\n        }\n    }\n]",
    "loginUrl": "Toast=()=>{\n\tjava.toast('当前为【'+source.getVariable()+'】')\n\t}\nConcise_mode = () =>{\nsource.setVariable(\"简洁模式\");\njava.toast(\"\\n已经切换到“简洁模式”\")\n}\nTnEBM = () =>{\nsource.setVariable(\"打开外部浏览器模式\");\njava.toast(\"\\n已经切换到“打开外部浏览器模式”\")\n}\nDEFAULT = () =>{\nsource.setVariable(\"默认模式\");\njava.toast(\"\\n已经切换到“默认模式”\")\n}\nLogin = () =>{\n\tbaseUrl=source.getKey()+\"/member.php?mod=logging&action=login&mobile=2\"\njava.startBrowser(baseUrl,'源站登录');\n}",
    "ruleArticles": "li.forumlist_li.comiis_znalist.bg_f.b_t.b_b.comiis_list_readimgs||ul@class.forumlist_li comiis_znalist bg_f b_t b_b comiis_list_readimgs||id.list_new@li||li.forumlist_li.comiis_znalist.bg_f.b_t.b_b.comiis_list_readimgs",
    "ruleContent": "<js>\nvar z = source.getVariable(); // 获取用户变量\nif (z == \"简洁模式\") {\nresult=`<!DOCTYPE html><html lang=\"en\"><head>    <meta charset=\"UTF-8\">    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">    <style>        /* 基本样式 */        body {            font-family: Arial, sans-serif;            margin: 0;            padding: 0;            background-color: #f9f9f9;            color: #333;            line-height: 1.6;            font-size: 16px;            transition: background-color 0.3s, color 0.3s;        }        /* 暗黑模式样式 */        body.dark-mode {            background-color: #121212;            color: #e0e0e0;        }        /* 标题和作者信息的框架样式 */        .header-container {            background-color: #fff;            padding: 20px;            border: 1px solid #ddd;            border-radius: 8px;            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);            margin: 20px auto;            max-width: 800px;            transition: background-color 0.3s, border-color 0.3s, box-shadow 0.3s;        }        body.dark-mode .header-container {            background-color: #202020;            border-color: #303030;            box-shadow: 0 2px 4px rgba(255, 255, 255, 0.1);        }        /* 标题样式 */        h1 {            font-size: 24px;            font-weight: bold;            margin: 0 0 10px;            color: #2c3e50;        }        body.dark-mode h1 {            color: #8e44ad;        }        /* 作者信息样式 */        h2 {            font-size: 18px;            font-weight: normal;            margin: 0 0 20px;            color: #7f8c8d;        }        body.dark-mode h2 {            color: #bdc3c7;        }        /* 图片自适应 */        img {            max-width: 100%;            height: auto;            display: block;            margin: 10px auto;        }        /* 链接样式 */        a {            color: #007bff;            text-decoration: none;            font-weight: bold;        }        a:hover {            text-decoration: underline;        }        body.dark-mode a {            color: #5588ff;        }        /* 暗黑模式切换按钮 */        .dark-mode-toggle {            position: fixed;            bottom: 10px;            right: 10px;            padding: 10px;            background-color: #333;            color: #fff;            border: none;            border-radius: 5px;            cursor: pointer;            font-size: 14px;            z-index: 1000;            display: none; /* 默认隐藏 */        }        body.dark-mode .dark-mode-toggle {            background-color: #e0e0e0;            color: #333;        }        /* 展开按钮样式 */        .toggle-button {            position: fixed;            bottom: 10px;            right: 10px;            padding: 10px;            background-color: #555;            color: #fff;            border: none;            border-radius: 5px;            cursor: pointer;            font-size: 14px;            z-index: 1001; /* 确保在暗黑模式按钮之上 */        }        body.dark-mode .toggle-button {            background-color: #aaa;            color: #333;        }        /* 打开原帖按钮样式 */        .open-original-post {            display: block;            margin: 20px auto;            padding: 10px 20px;            background-color: #007bff;            color: #fff;            border: none;            border-radius: 5px;            font-size: 16px;            text-align: center;            text-decoration: none;            cursor: pointer;            transition: background-color 0.3s;        }        .open-original-post:hover {            background-color: #0056b3;        }        body.dark-mode .open-original-post {            background-color: #5588ff;        }        body.dark-mode .open-original-post:hover {            background-color: #4078c0;        }        /* 媒体查询：小屏幕设备 */        @media (max-width: 600px) {            h1 {                font-size: 20px;            }            h2 {                font-size: 16px;            }        }    </style></head><body>    <!-- 展开按钮 -->    <button class=\"toggle-button\" onclick=\"toggleDarkModeButton()\"><</button>    <!-- 暗黑模式切换按钮 -->    <button class=\"dark-mode-toggle\" onclick=\"toggleDarkMode()\">切换暗黑模式</button>    <!-- 标题和作者信息框架 -->    <div class=\"header-container\">        <h1>{{@@class.km_tits@text}}</h1> <!-- 标题 -->        <h2>{{@@class.comiis_postli_top comiis_postli_topv1 bg_f@h2@html}}</h2> <!-- 作者信息 -->    </div>        <p>{{@@class.comiis_messages comiis_aimg_show cl.0@html##\\+淘帖.*}}</p> <!-- 正文内容 --><p style=\"text-align: center; margin: 20px 0;\">        本帖可能有付费内容，建议打开原帖       <a href=\"${baseUrl}\" class=\"open-original-post\" target=\"_blank\">打开原帖</a>    </p>        <!-- 打开原帖按钮 -->        <script>                function toggleDarkMode() {            document.body.classList.toggle('dark-mode');        }                function toggleDarkModeButton() {            const darkModeToggle = document.querySelector('.dark-mode-toggle');            if (darkModeToggle.style.display === 'none' || darkModeToggle.style.display === '') {                darkModeToggle.style.display = 'block';            } else {                darkModeToggle.style.display = 'none';            }        }    </script></body></html>`\n} else if (z == \"默认模式\") {\n\t          //不要用startBrowser，否则会多跳转 java.startBrowser(baseUrl,\"\")\n\t          result\n\t           }else if (z == \"打开外部浏览器模式\"){\n\t           \t   java.openUrl(baseUrl) \n\t           \t}\n\t           \telse{          \n\t          java.startBrowser(baseUrl,\"\")     \n\t           }\n</js>",
    "ruleDescription": "",
    "ruleImage": "img.1@comiis_loadimages||img@src",
    "ruleLink": "{{java.getString('.comiis_xznalist_bk a@textNodes')==\"灌水区\"?\"\":java.getString('a[href~=thread]@href')}}",
    "ruleNextPage": "page",
    "rulePubDate": "{{@.forumlist_li_time@text}} {{java.getString('.comiis_xznalist_bk@text').replace(\"\",\"﹟\")}} {{@.list_body.cl@text}}{{if(java.getString('span@textNodes'))java.getString('span@textNodes')+'评论'}}",
    "ruleTitle": "{{java.getString('h2.-1@text').replace(\"新人帖\",\"🆕\").replace(\"\",\"🔥\").replace(\"\",\"💴\").replace(\"精 \",\"﹝精﹞\").replace(\"荐 \",\"﹝荐﹞\").replace(\"已解决 \",\"﹝已解决﹞\").replace(\"关闭 \",\"🔒\").replace(\"红包贴\",\"🧧红包帖\")+' @'}}{{@@.top_user@text||class.f_c@text}}",
    "singleUrl": false,
    "sortUrl": "🗝️导读::/forum.php?mod=guide&view=newthread&index=1&page={{page}}\n🔍搜索::/search.php?mod=forum&srchtxt={{(source.getVariable()==''||source.getVariable()==null)?source.setVariable('订阅'):\"\"}}{{source.getVariable()}}&searchsubmit=true&source=hotsearch&mobile=2&page={{page}}\n\n📖书源发布::/forum.php?mod=forumdisplay&fid=2&page={{page}}\n📡订阅源::/forum.php?mod=forumdisplay&fid=40&page={{page}}\n🔄TTS与净化::/forum.php?mod=forumdisplay&fid=48&page={{page}}\n🎨主题发布::/forum.php?mod=forumdisplay&fid=49&page={{page}}\n\n💰问答悬赏::/forum.php?mod=forumdisplay&fid=106&page={{page}}\n🗂️网络资源::/forum.php?mod=forumdisplay&fid=39&page={{page}}\n💡技术交流::/forum.php?mod=forumdisplay&fid=38&page={{page}}\n\n💿圈子::https://ysqbbs.com/group.php?mod=index&page={{page}}&mobile=2\\n\n💧开源阅读::/forum.php?mod=forumdisplay&fid=91&page={{page}}\n\n📚黄金书屋::/forum.php?mod=forumdisplay&fid=46&page={{page}}\n♨️精校小说::/forum.php?mod=forumdisplay&fid=89&page={{page}}\n🎶音视频区::/forum.php?mod=forumdisplay&fid=113&page={{page}}\n🕹️游戏专区::/forum.php?mod=forumdisplay&fid=110&page={{page}}\n🎨漫画专区::/forum.php?mod=forumdisplay&fid=114&page={{page}}\n📱数码专区::/forum.php?mod=forumdisplay&fid=107&page={{page}}\n\n🎮休闲娱乐::/forum.php?mod=forumdisplay&fid=96&page={{page}}\n🛒情报速递::/forum.php?mod=forumdisplay&fid=98&page={{page}}\n🏮活动专区::/forum.php?mod=forumdisplay&fid=105&page={{page}}\n🗺️知识科普::/forum.php?mod=forumdisplay&fid=53&page={{page}}\n🐳灌水区::/forum.php?mod=forumdisplay&fid=97&page={{page}}\n\n📢公告::/forum.php?mod=forumdisplay&fid=42&page={{page}}\n📝投诉建议::/forum.php?mod=forumdisplay&fid=43&page={{page}}\n✅申请认证::/forum.php?mod=forumdisplay&fid=51&page={{page}}\n✨星光专区::/forum.php?mod=forumdisplay&fid=102&page={{page}}",
    "sourceComment": "/*\n\t❗注意事项:有些板块需要登录才能正常显示\n\t***\n2025/2/28by天天的鸟蛋蛋 修改\n主要修改部分正文和登录，增添三种查看模式：默认模式，简洁模式，打开外部浏览器模式\n***\n20241104修改by河鹅和\n1、在用户名前添加了@符号\n2、优化请求头Referer\n3、版块文字前添加图标，并同步为现今版块名称\n4、修复点击帖子显示评价指数加一\n5、更换了源图标\n6、修复帖子无标题时只显示用户名的问题\n7、更新时间规则，修复偶尔显示时间位置显示为lv0的问题\n8、修复🔥和🧧图标不显示，将新人帖更换成图标🆕，将精华和推荐等状态添加﹝﹞符号\n9、修复访问悬赏版块更换了地址的问题，添加灌水区\n20241108更新\n1、添加导读，并排除掉导读中灌水区的帖子\n2、添加帖子类别信息，不想要可自行删除时间规则里第二个{{}}及里面内容\n3、关闭更换为🔒\n20250217更新 by怣疯\n1.修复有些板块(休闲娱乐区，主题区，灌水区，悬赏区，申请认证区)看不了的情况，增强规则健壮性。\n2.所有板块列表正常显示图片\n3.感谢热心坛友@Sylt1122，新增板块(精校小说，星光认证，活动专区)\n20250225更新 by怣疯\n1.感谢坛友@Sylt1122，增添大量板块(圈子，开源阅读，音视频，游戏，漫画，数码专区)\n*/",
    "sourceGroup": "R18",
    "sourceIcon": "https://ysqbbs.com/template/comiis_app/pic/icon152.png",
    "sourceName": "源社区",
    "sourceUrl": "https://ysqbbs.com",
    "style": ""
  },
  {
    "articleStyle": 1,
    "concurrentRate": "20/10000",
    "contentBlacklist": "",
    "customOrder": -10100130,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "<js>\nheaders={\n    \"User-Agent\": java.getWebViewUA(),\n    \"Origin\": Get('url'),\n    \"Referer\": Get('url'),\n    \"Cookie\": cache.get(Get('url') + 'ck') || ''\n}\ncache.put(java.md5Encode16(Get('url') + \"headers\"),JSON.stringify(headers));\nJSON.stringify(headers);\n</js>",
    "injectJs": "",
    "jsLib": "{\"RULE34Ⓖ\":\"https://qyyuapi.com/dy/js/RULE34Ⓖ/jsLib.js\"}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginCheckJs": "var res = result;\nurl = java.ruleUrl;\nif(res.body().includes('cf_chl')){\n    cookie.removeCookie(Get('url'));\n    result = java.startBrowserAwait(url,\"验证\");\n    ck = cookie.getCookie(Get('url'));\n    cache.put(Get('url') + 'ck',ck);\n}\nresult;",
    "loginUi": "[\n  {\n    name: \"💡　　 源　　 站　　 测　　 试　　 💡\",\n    type: \"button\",\n    action: \"test(1)\",\n    style: {layout_flexGrow: 1, layout_flexBasisPercent: 1}\n  },\n  { name: \"查看当前\", type: \"button\", action: \"look(0)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"查看历史\", type: \"button\", action: \"look(1)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"恢复默认\", type: \"button\", action: \"test(0)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n\n  { name: \"搜索：\", type: \"text\" },\n\n  { name: \"༺ˇ»`ʚ  点击切换分类  ɞ´«ˇ༻\", type: \"button\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"主题标签\", type: \"button\", action: \"o(0)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.45} },\n  { name: \"作者标签\", type: \"button\", action: \"o(1)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.45} },\n\n  { name: \"༺ˇ»`ʚ  主题标签排序  ɞ´«ˇ༻\", type: \"button\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"标题\", type: \"button\", action: \"p(0)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.2} },\n  { name: \"浏览\", type: \"button\", action: \"p(1)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.2} },\n  { name: \"评价\", type: \"button\", action: \"p(2)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.2} },\n  { name: \"数量\", type: \"button\", action: \"p(3)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.2} },\n\n  { name: \"༺ˇ»`ʚ  切换列表排序  ɞ´«ˇ༻\", type: \"button\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"默认\", type: \"button\", action: \"q(0)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"最新\", type: \"button\", action: \"q(1)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"观看\", type: \"button\", action: \"q(2)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"好评\", type: \"button\", action: \"q(3)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"时长\", type: \"button\", action: \"q(4)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"\", type: \"button\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n\n  { name: \"༺ˇ»`ʚ  筛选上传时间  ɞ´«ˇ༻\", type: \"button\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"全部\", type: \"button\", action: \"s(0)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.2} },\n  { name: \"一天\", type: \"button\", action: \"s(1)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.2} },\n  { name: \"两天\", type: \"button\", action: \"s(2)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.2} },\n  { name: \"一周\", type: \"button\", action: \"s(3)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.2} },\n  { name: \"一月\", type: \"button\", action: \"s(4)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.2} },\n  { name: \"三月\", type: \"button\", action: \"s(5)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.2} },\n  { name: \"一年\", type: \"button\", action: \"s(6)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.2} },\n  { name: \"\", type: \"button\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.2} },\n\n  { name: \"༺ˇ»`ʚ  筛选视频时长  ɞ´«ˇ༻\", type: \"button\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"全部\", type: \"button\", action: \"t(0)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \">1m\", type: \"button\", action: \"t(1)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \">5m\", type: \"button\", action: \"t(2)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \">10m\", type: \"button\", action: \"t(3)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \">20m\", type: \"button\", action: \"t(4)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \">30m\", type: \"button\", action: \"t(5)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \">60m\", type: \"button\", action: \"t(6)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"0-10m\", type: \"button\", action: \"t(7)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"0-20m\", type: \"button\", action: \"t(8)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n\n  { name: \"༺ˇ»`ʚ  点击切换取向  ɞ´«ˇ༻\", type: \"button\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"全部\", type: \"button\", action: \"r(0)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"Straight\", type: \"button\", action: \"r(1)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"Gay\", type: \"button\", action: \"r(2)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"Futa\", type: \"button\", action: \"r(3)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"Music\", type: \"button\", action: \"r(4)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"Iwara\", type: \"button\", action: \"r(5)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n\n  { name: \"༺ˇ»`ʚ  分类加载页数  ɞ´«ˇ༻\", type: \"button\", action: \"login('【加载页数】' + n(2) + '填写数字或范围，如：15或10-20')\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"页数：\", type: \"text\" },\n\n  { name: \"༺ˇ»`ʚ  作者字母筛选  ɞ´«ˇ༻\", type: \"button\", action: \"login('【字母筛选】' + n(2) + '填写字母筛选作者')\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"字母：\", type: \"text\" },\n\n  { name: \"༺ˇ»`ʚ  填写收藏词条  ɞ´«ˇ༻\", type: \"button\", action: \"login('【收藏词条】' + n(2) + '填写搜索关键词\\\\n多个关键词用英文逗号“,”隔开')\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"收藏：\", type: \"text\" },\n\n  { name: \"长按倍速：\", type: \"text\" },\n  { name: \"跳过片头：\", type: \"text\" },\n  { name: \"跳过片尾：\", type: \"text\" },\n\n  { name: \"༺ˇ»`ʚ  主题模式切换  ɞ´«ˇ༻\", type: \"button\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"日间模式\", type: \"button\", action: \"a(0)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.45} },\n  { name: \"夜间模式\", type: \"button\", action: \"a(1)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.45} },\n\n  {\n    name: \"清除网站Cookie缓存\",\n    type: \"button\",\n    action: \"deleteCookie()\",\n    style: {layout_flexGrow: 1, layout_flexBasisPercent: 1}\n  },\n\n  { name: \"清除远程代码标识\", type: \"button\", action: \"DeleteJskey()\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n\n  {\n    name: \"💡　　 源　　 站　　 打　　 印　　 💡\",\n    type: \"button\",\n    action: \"test()\",\n    style: {layout_flexGrow: 1, layout_flexBasisPercent: 1}\n  }\n]",
    "loginUrl": "eval(String(Reload('https://qyyuapi.com/dy/js/RULE34Ⓖ/loginUrl.js')));",
    "ruleArticles": "<js>\neval(String(source.loginUrl));\neval(String(Reload('https://qyyuapi.com/dy/file/history.js')));\nresult;\n</js>\n.th",
    "ruleContent": "<js>\neval(String(Reload('https://qyyuapi.com/dy/js/RULE34Ⓖ/ruleContent.js')));\n</js>\n<!DOCTYPE html>\n<html lang=\"zh-Hans\">\n<head>\n<title>{{@@h1@text}}</title>\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no\">\n<link rel=\"stylesheet\" href=\"https://qyyuapi.com/css/plyr.css\">\n<style>\n{{String(Reload('https://qyyuapi.com/dy/file/player' + Get('a') + '.css'))}}\n</style>\n</head>\n<body>\n<p></p>\n<div class=\"video-container\">\n  <video id=\"player\" playsinline controls preload=\"auto\" poster=\"https://qyyuapi.com/img/noposter.png\">\n  </video>\n</div>\n<details>\n  <summary>\n    <h3>{{@@h1@text}}</h3>\n  </summary>\n  <img>\n</details>\n<div class=\"all-info\">\n{{JSON.parse(result).jishu}}\n<div>\n    <p>📆 更新：{{@@.item_info.0@text}}</p>\n    <p>🎥 播放：{{@@.item_info.1@text##\\s}}</p>\n    <p>👍 点赞：{{@@.voters.count@text}}</p>\n    <p>👤 上传：#{{@@.col:contains(Uploaded)@img@alt}}</p>\n    <p>🕵️‍♀️ 作者：#{{@@.col:contains(Artist)@span@text##\\n## \\#}}</p>\n    <p>📦 主题：#{{@@.col:contains(Categories)@span@text##\\n## \\#}}</p>\n    <p>🔖 标签：#{{@@.wrap:contains(Tags)@a!-1@text##\\n## \\#}}</p>\n    <p>📋 简介：{{@@#tab_video_info@.label.0@em@html}}</p>\n</div>\n</div>\n\n<script src=\"https://gcore.jsdelivr.net/npm/hls.js@canary\"></script>\n<script src=\"https://qyyuapi.com/js/plyr.js\"></script>\n\n<script>\n{{String(Reload('https://qyyuapi.com/dy/file/player.js'))}}\n\nconst JKkey = \"{{java.md5Encode16(baseUrl.replace(/.*\\/\\/[^\\/]+\\//, ''))}}\";\nconst JDkey = \"{{java.md5Encode16(baseUrl.replace(/.*\\/\\/[^\\/]+\\//, '') + 'time')}}\";\nconst PTtime = {{/^\\d+$/.test(Map('跳过片头：')) ? Map('跳过片头：') : 0}};\nconst PWtime = {{/^\\d+$/.test(Map('跳过片尾：')) ? Map('跳过片尾：') : 0}};\nconst BSspeed = {{Map('长按倍速：') || 2}};\n\n// 获取视频URL并更新视频源\nfunction geturl() {\n    let zyurl = JSON.parse($(\".jishu button.active\")[0].value);\n    let img = $('img')[0];\n    let fm = $(\".jishu button.active\")[0].dataset.fm;\n\n    // 更新详情封面\n    img.src = fm;\n\n    // 更新视频封面\n    $(\".video-container\")[0].style.background = `#000 url('${fm}') no-repeat center center / cover`;\n    let sources = zyurl;\n    return { sources: sources };\n}\n\n// 页面加载时初始化播放器\n(() => {\n    let n = $(\".jishu\")[0].dataset.n;\n    active($('.jishu button'), n);\n    const { sources } = geturl();\n    setTimeout(updatePadding, 100);\n    localStorage.setItem('HistoryTAG', 1);\n    initializePlayer(sources, JDkey, PTtime, PWtime, BSspeed);\n})();\n</script>\n</body>\n</html>\n<js>\nresult\n.replace(/：\\s*/g,'：')\n.replace(/<p>(.+)：#?<\\/p>/gm, '<p style=\"display:none;\">$1：</p>');\n</js>",
    "ruleDescription": "",
    "ruleImage": "img@data-original##\\d+x\\d+\\/\\d+##preview",
    "ruleLink": "href",
    "ruleNextPage": "page",
    "rulePubDate": "⌚️ {{@@.time@text}}    🎥 {{@@.views@text}}    👍 {{@@.rating@text}}    📅 {{@@.added@text}}",
    "ruleTitle": ".thumb_title@text",
    "shouldOverrideUrlLoading": "if (url.startsWith('legadovideo://')) {\n    java.openUrl(\n        decodeURIComponent(url.replace('legadovideo://', '')),\n        'video/*'\n    );\n    true;\n}",
    "singleUrl": false,
    "sortUrl": "<js>\neval(String(Reload('https://qyyuapi.com/dy/js/RULE34Ⓖ/sortUrl.js')));\n</js>",
    "sourceComment": "修改：1、增加点击顶部视频链接调用播放器应用播放；by：xiaohan231-2025/04/30\n\n修改：1、增加清除远程代码标识按钮；by：xiaohan231-2025/04/26\n\n修改：1、新增源变量与localStorage双向备份功能，确保清理缓存和清除WebView数据时，播放历史记录和设置信息不会丢失；by：xiaohan231-2025/04/22\n\n修改：1、播放器增加标记片头片尾功能；2、jsLib代码适配新版阅读；by：xiaohan231-2025/04/20\n\n修改：1、增加清除网站Cookie缓存按钮；2、优化详情信息高度调整；3、优化视频集数切换，结尾切换下一集时不再销毁重建播放器实例；4、增加切换下集自动播放功能；5、增加跳过片尾功能；by：xiaohan231-2025/04/17\n\n修改：1、优化播放器函数，不再直接粘贴参数，改为调用函数时引进；2、UA改为系统webView UA；by：xiaohan231-2025/04/15\n\n修改：1、优化手势控制，增加滑动进度；by：xiaohan231-2025/04/14\n\n修改：1、部分源代码改为远程获取；by：xiaohan231-2025/04/06\n\n修改：1、修复搜索；by：xiaohan231-2025/02/20\n\n新增：1、增加源站：RULE34Ⓖ；by：xiaohan231-2024/08/16\n\nby：xiaohan231-2025/02/19",
    "sourceGroup": "🔭 其他,📽 视频,R18",
    "sourceIcon": "https://qyyuapi.com/img/RULE34g.png",
    "sourceName": "RULE34Ⓖ",
    "sourceUrl": "RULE34Ⓖ@js:`{{Get('url')}}`",
    "style": "",
    "variableComment": "JspHXCgzmq549cSvxZRk3cM5EE7N5V32mKk5ZsGlzH7mB4iKPcwRvTVF+nSsYaYkyHFh6tU0uM6gAcU2LO/ZQnF45pl+sO+D+/WIYPhUQyHGEp6lyVJ7JKp9yWihRr9Al3sqXhKPltzub2PZi96Ke4YxqVZPjPSmL3O6xY025Sa7Vm1r1ZLIrgpD4Ksa99Q488bytyVS2P8fSjkQvADOECPkrKGclkhYWKWj0hAAvyDNKDxrCyqqqUjrKooVXTcQ3DDxjpsx5Wd29wdbu4YgaMwdlq7eM7Wgq20PNHRYMQv6mzqElmMn9R4S7YEaJiDpXXStroRJTJtLEB2i6pMCY4F02mndjqQW0PbM+tfwlL8BPYfaSJDdVkvSCRNfUL1rVOJY3HHHX1kAyOG/METDaU0ord6qUbQQMGQVmCgqResqjExJ6AI33IXMtAF1485MjO1nSz2Mi9jw/NoCjXBhnxv0A/3lmQZoYsdfz3LCCOOZKjZQKAZj20BFKz9CBUrmpIrzwdkA/+4vJYyZpjkvYKJAAPDIKbn/ptiK77BjLhWzc4xAW5+YsEiLS/Vl9iTyCrhnnDx4gT+dZ4gysUqfVbIb8BRFwb+B6EwyP7u8ZmtYQlzIFkk2UhZ23Kjqj82AwMsqdbKqw9FL36EVYcm2j/djgb/0W5Vs5VlKOG+hISERjLwLqzgRlOxnwG7YZZNLUE6FWafVPrlyzjhAvM62NXpWmL0GPDowm0iGtni5Tn0IJGyzWVZh5hnvTh/PwOlcJj+q5hVSaFxFK58GLc48+Fc006jvm6iDY5gNbK5xA+ZkRfniCNt49bJaAANoCEro3QFhJkn2ECoOmwN4aYdfdn3SloTv48koLVJu+0NT+AISrmVytYeRuVnqNW5GuwElvCL/i8TWro2qktUUurqvp5e4i5scrNF7gSUG053kPtbrtmCrJ28rZpXWhXIsOv46IMrTpuxpCRHooX+Hs5b+XejfLsuNnBbHE13MQn/M0ebGd9Gh+r6/lt//lgTkWigqsmTrtxhrWAZWzaW/yA+sTSedS2lJCbgNokw7qnbmxwD/P4D6808B5ilzMwLtm9SyNWTwxVkJg028edSaskigcsZ30aH6vr+W3/+WBORaKCo4UnC/XzCimn5Jr+ebXNLnJ51LaUkJuA2iTDuqdubHAJsuJSsWINcAtTK6RzhZCNSIdDbzJz55hCg3jwqPboZqC+e1/3J2yhbnCdDJw3/1qjgTOfZMAHf4HKt/RuYW81hQLJ5E0EGQvvbsJ3D+Y5Ztyka4dEMQZahWDR5hSepleBzikh2TmReB3v0T5xYid8QcPk5CBAU0mi1bSh9nnltSWr0jzsWH1Iyc3vP5hdMbiKkMzVjx7Zqcbf6rbicc76D9V4WyQxK0cSe7d9/9FB3SxZBjAiCO+KOut8Un8msxSnVVwgvKx21dER1iPoNp6UqAmZbr8z45Sy+pruQ5nsfBOQr4l7WVhNegga6nXNzj2tpHudPrDm9Wn2UR4YshDfI2BUHw5QUks0QBNocu+jfuCxNjMeNDzOk0a/ZER3ne8qP3wokNIjSKREwHnyiXZQ1K4gl90XkIKDm01NlT9vSc01Zk7dsMfDJIplEsIREkxY7JlCji8BaOGorXtveh+/8moUPA2KlwI7zMU987ZdFUGnxsnL51m1yJTBFiq8a2aINke1Zq/lQ6kGDq5VuBrM8NXrRSMPwvsGy97ZD6Zs1DHkEz+c8ALXx0yHXiXXGM15hX/P/WTzdA6WpNAYMp+onQJ/zgHvBUQ/73lul4SP+94V9kWjwkqpfw9UXK6MX44GmUMxCAIAON0fCsI/Q4azniKxqQ2LHe4jdXvxAAZ88Wt1v7sfpzBbhawep3OjLmQ86ziAOP/r8LYWw/FU/ideDjhbuSmySyvzX5alHrU+2YG2+mUPOLf6RROC1qs8z1CKGs5f3SNeieYFOFcf4OLhp+L88XhvLGgUnDEnizstIoT6dtov2RXBVVjSOYC1gXiRIiGmA/geEd3jFmxCN9gcC7CKEF7/4SX3qQ1YzcsgdlsAxGqxuXtOngwUwdrI+3+V1ZHoV8dL8D3H12J0G9zsNZjZsrd3x55Zv29ILIYBZLdg7gz2RVh0rVIJGoI/0J5SDo8A0C03S6DvLShgJt0SJyIQfxpwc9Nv/TnVir+cpOQuTkymXklBu2cCH5+aFTvqg92WzyV7mcOzWZJEqXs8E+mSOPWdCIQ6fWqEe6zQ+v/MvpVqyrIOqDQFvTJzdiJp8n/xwPHORgrY6nxhA8vAzSkfUqMkAuZ1RCW/OGXI1aoDWuQBoavZ7T5PaiP4P74hvvFscy7hXkC4btV8L/XlNW9O9EoNbSaJDx6c+MuNNNrLHZ0H+FULugcR6TQDU7/4ghGn81bo7MXxzQjv1TMDqRg3BmLpCSMQKRfh+3GyLCUc0qEASueLd2Pr/7yubOpU4+C4E+IExZRCr3XIL6Y6gvlBmpQ9+JFFSAyCRTwbJG/XQ88Va6iMp/ps3AgW3EyeuX0qPV3SfKzFh+usHgrXVa9xoMu+4u/cDvNNBuvz0czEv2WdeH6JQv37xz5Td2Ez6ZI49Z0IhDp9aoR7rND6/W/iWUCt4CpsJBgXN82HkVlLUfZ1aHOaXsdPUeEJeFitPGca4naQuMZo570DEigh5YxfQfIMxRhVezWptMkPtXvGNJ85ctTzZEcHVanMA3QNWUf/hqVFb3YP2/+RujDloqioZclJBJ3mOij0i/Q4r6oazl/dI16J5gU4Vx/g4uGmgAEPwNzpIdNSymRPqtwEUBBsfdiy6OBAPiK9dv8dv/8/uXl9RKrfUePqZ3kHvjMO14sdXSY6NeT1qBecaAeOuVVrRC0HqDIiZthvIGJg0bbTe5yst86LR1+EsJLy4EcPyeXmMw6zjA+dw1zI5mVua8O3IovWzbnAwS6+q5Sh/kG+7Ndnjv4VCp5Fx4JegvwvM/F7CmsDmgezt6oE/kSUj9Fqau9QB+NTeLHXYuRsCgVnlFEb68Tmeeonjr0hLkkaQFDo4VHzoxyqVejFJhJYZcTv43Kl0PLj8prMT+YB1o++bSkpP1JHFGOV8mVzWCPaZA2WB7jvWpl7tQOsbzX7utxh5W6GDrlsRJ2D9mtFTAWfOFu2Ntsdd+lRpDSA4b3+9a7sOlv8rmI2SKxRln6d1svWeiDow3698BkXWKtgfqlN7BT2+akmZ+TS9ZI1uuo2G6cYTJAD5ATn4xv2pL7oTMvRABb0bsp6E4P1mSln/b0iODj2CVKWZLv+BJQu8vU2o2avEIqiSTqKQqObgZFZH2pEJN0uNOoOY4tmAChfMkrnrhFaFUIUXtPARwyGbYpKn8tYUIGRpIJ9sHxqVQbQIDRUHMuRF9Z9yOStphQ7qcnebDsyTme4Dmevu73B5eSBtTX0eNwc0UrZp9bQDXGGOaZMDyuYEZVbpcaz2u8Hmc4FGQ595Q8noc/xHfqdyjMVRZBbrFeJ4LGVUb/sOj5XVJxNwud2Rx1jQxsQ3ht9GVnEfJYJnleXFiJqFs30dMRh9UlJ7brnNr7jgj2wkC7jMrhlqF1hTK6sAW9A/3EvnWcUXvRGS9tZ+yL6pkGYSTIQSREk5qBr5N7Gst7xSKi5qFDzBDp+t3huUt3gRNM0Q4mvEYTG8E/Nmsvcp1MOl6kEjdod52cb/S3INg+MOE/tqNH0Dst6Gj0mbz5DMcaDEOFFaUOr+WS1AUSAFVgrYev//quT/25ArlrqdxQ/axKibX0wiA/HpmGvj6dciub4kCWptkwzyD0Yh3k6Y8EtdcYPApaJGD7JLSDY/LJpmBTIq4zdfaZLX/Wq94MdN5UoQ13Y5WqkOsq22W/3ESLyVSVT6srKpjnEK+XcjIoDyry8UspPph8AuHGycKtSpGEq/xoovC83S0+gX+dXBNC/AXCjEGKvKXvabq4n1CyZPrSzDRL7bGUsWkTNqEBkCJwN0R6F9PpWjlBViKjGfhw6ejsVyJNbthuPkeuiP+AaWhChzBxkdCov9MpUy1On2TReqZgFEAxGy5e/T/0ec8Bhc22zBNpykuX47XvkxQbIM8r78T/GZmwcbPE6O/p3F1Kht+iFA3BHg5usLZ+cPfvu1uWasBdUDuObbVRsBcM5Wrac4PdgmxOmuvkLAQJWRhvGDnOL41vHK4U+farjjtKZKB0g21Z0qsG1LiR+7V36rKylibCN1PIEKTHN4yp4Qz/xBmsZzmD/m6iStkH++Rs0/fktigBI9XjWqbLzNZbAbHI1TleaeJnWVatGyZ795UKxKO5Yw+B5CXms3mIN5DhO75NIsEDJSTYuEGFUpV1nOy+btdZx69/+C6sf5ZoOEjwVtrTGUfFrhALvfncMTP3p07eTJFgEOd71OwSrlcf04MUPUlWIM62GtW+lDYT6wn6MIvaxD5s3Duut4kEGBLtOxHVuekeGTJGeoyjSqcJo2Cr0v/M9pz+Vc9l3HuIwIDFIhUxngWg+PVpDlHTQl7SnXl2/SaSI48lgeu/w66fSwZLAC1yZjsP8W8/jJlaxZ6ejjxr9OIXBUIPWJWzUemnN3X7ukjPlg+5c1JkFVZMv2V48mV6QeS/hg1XuL9463VNJ7LWmRe6eIRAWh2O1UVMaJ95adGhhZShR+4bq/JXN3uc6+nVtWKJE3OtXUQf97U5f1F6wm/dI1jbA/u/Afe2ig+AA=="
  },
  {
    "articleStyle": 1,
    "concurrentRate": "20/10000",
    "contentBlacklist": "",
    "customOrder": -10100129,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "<js>\nheaders={\n    \"User-Agent\": java.getWebViewUA(),\n    \"Origin\": Get('url'),\n    \"Referer\": Get('url'),\n    \"Cookie\": cache.get(Get('url') + 'ck') || ''\n}\ncache.put(java.md5Encode16(Get('url') + \"headers\"),JSON.stringify(headers));\nJSON.stringify(headers);\n</js>",
    "injectJs": "",
    "jsLib": "{\"RULE34Ⓥ\":\"https://qyyuapi.com/dy/js/RULE34Ⓥ/jsLib.js\"}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginCheckJs": "var res = result;\nurl = java.ruleUrl;\nif(res.body().includes('cf_chl')){\n    cookie.removeCookie(Get('url'));\n    result = java.startBrowserAwait(url,\"验证\");\n    ck = cookie.getCookie(Get('url'));\n    cache.put(Get('url') + 'ck',ck);\n}\nresult;",
    "loginUi": "[\n  { name: \"查看当前\", type: \"button\", action: \"look(0)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"查看历史\", type: \"button\", action: \"look(1)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"恢复默认\", type: \"button\", action: \"test(0)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n\n  { name: \"搜索：\", type: \"text\" },\n\n  { name: \"༺ˇ»`ʚ  点击切换源站  ɞ´«ˇ༻\", type: \"button\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"①RULE34Ⓥ\", type: \"button\", action: \"$(1)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.45} },\n  { name: \"②RULE34Ⓥ\", type: \"button\", action: \"$(2)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.45} },\n\n  { name: \"༺ˇ»`ʚ  点击切换分类  ɞ´«ˇ༻\", type: \"button\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"主题标签\", type: \"button\", action: \"o(0)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.45} },\n  { name: \"作者标签\", type: \"button\", action: \"o(1)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.45} },\n\n  { name: \"༺ˇ»`ʚ  主题标签排序  ɞ´«ˇ༻\", type: \"button\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"标题\", type: \"button\", action: \"p(0)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.2} },\n  { name: \"浏览\", type: \"button\", action: \"p(1)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.2} },\n  { name: \"评价\", type: \"button\", action: \"p(2)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.2} },\n  { name: \"数量\", type: \"button\", action: \"p(3)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.2} },\n\n  { name: \"༺ˇ»`ʚ  切换列表排序  ɞ´«ˇ༻\", type: \"button\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"默认\", type: \"button\", action: \"q(0)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"最新\", type: \"button\", action: \"q(1)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"观看\", type: \"button\", action: \"q(2)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"好评\", type: \"button\", action: \"q(3)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"时长\", type: \"button\", action: \"q(4)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"\", type: \"button\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n\n  { name: \"༺ˇ»`ʚ  筛选上传时间  ɞ´«ˇ༻\", type: \"button\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"全部\", type: \"button\", action: \"s(0)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.2} },\n  { name: \"一天\", type: \"button\", action: \"s(1)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.2} },\n  { name: \"两天\", type: \"button\", action: \"s(2)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.2} },\n  { name: \"一周\", type: \"button\", action: \"s(3)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.2} },\n  { name: \"一月\", type: \"button\", action: \"s(4)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.2} },\n  { name: \"三月\", type: \"button\", action: \"s(5)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.2} },\n  { name: \"一年\", type: \"button\", action: \"s(6)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.2} },\n  { name: \"\", type: \"button\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.2} },\n\n  { name: \"༺ˇ»`ʚ  筛选视频时长  ɞ´«ˇ༻\", type: \"button\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"全部\", type: \"button\", action: \"t(0)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \">1m\", type: \"button\", action: \"t(1)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \">5m\", type: \"button\", action: \"t(2)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \">10m\", type: \"button\", action: \"t(3)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \">20m\", type: \"button\", action: \"t(4)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \">30m\", type: \"button\", action: \"t(5)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \">60m\", type: \"button\", action: \"t(6)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"0-10m\", type: \"button\", action: \"t(7)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"0-20m\", type: \"button\", action: \"t(8)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n\n  { name: \"༺ˇ»`ʚ  点击切换取向  ɞ´«ˇ༻\", type: \"button\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"全部\", type: \"button\", action: \"r(0)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"Straight\", type: \"button\", action: \"r(1)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"Gay\", type: \"button\", action: \"r(2)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"Futa\", type: \"button\", action: \"r(3)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"Music\", type: \"button\", action: \"r(4)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"Iwara\", type: \"button\", action: \"r(5)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n\n  { name: \"༺ˇ»`ʚ  分类加载页数  ɞ´«ˇ༻\", type: \"button\", action: \"login('【加载页数】' + n(2) + '填写数字或范围，如：15或10-20')\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"页数：\", type: \"text\" },\n\n  { name: \"༺ˇ»`ʚ  作者字母筛选  ɞ´«ˇ༻\", type: \"button\", action: \"login('【字母筛选】' + n(2) + '填写字母筛选作者')\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"字母：\", type: \"text\" },\n\n  { name: \"༺ˇ»`ʚ  填写收藏词条  ɞ´«ˇ༻\", type: \"button\", action: \"login('【收藏词条】' + n(2) + '填写搜索关键词\\\\n多个关键词用英文逗号“,”隔开')\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"收藏：\", type: \"text\" },\n\n  { name: \"长按倍速：\", type: \"text\" },\n  { name: \"跳过片头：\", type: \"text\" },\n  { name: \"跳过片尾：\", type: \"text\" },\n\n  { name: \"༺ˇ»`ʚ  主题模式切换  ɞ´«ˇ༻\", type: \"button\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"日间模式\", type: \"button\", action: \"a(0)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.45} },\n  { name: \"夜间模式\", type: \"button\", action: \"a(1)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.45} },\n\n  {\n    name: \"清除网站Cookie缓存\",\n    type: \"button\",\n    action: \"deleteCookie()\",\n    style: {layout_flexGrow: 1, layout_flexBasisPercent: 1}\n  },\n\n  { name: \"清除远程代码标识\", type: \"button\", action: \"DeleteJskey()\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n\n  {\n    name: \"💡　　 源　　 站　　 打　　 印　　 💡\",\n    type: \"button\",\n    action: \"test()\",\n    style: {layout_flexGrow: 1, layout_flexBasisPercent: 1}\n  }\n]",
    "loginUrl": "eval(String(Reload('https://qyyuapi.com/dy/js/RULE34Ⓥ/loginUrl.js')));",
    "ruleArticles": "<js>\neval(String(source.loginUrl));\neval(String(Reload('https://qyyuapi.com/dy/file/history.js')));\nresult;\n</js>\n.th",
    "ruleContent": "<js>\neval(String(Reload('https://qyyuapi.com/dy/js/RULE34Ⓥ/ruleContent.js')));\n</js>\n<!DOCTYPE html>\n<html lang=\"zh-Hans\">\n<head>\n<title>{{@@h1@text}}</title>\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no\">\n<link rel=\"stylesheet\" href=\"https://qyyuapi.com/css/plyr.css\">\n<style>\n{{String(Reload('https://qyyuapi.com/dy/file/player' + Get('a') + '.css'))}}\n</style>\n</head>\n<body>\n<p></p>\n<div class=\"video-container\">\n  <video id=\"player\" playsinline controls preload=\"auto\" poster=\"https://qyyuapi.com/img/noposter.png\">\n  </video>\n</div>\n<details>\n  <summary>\n    <h3>{{@@h1@text}}</h3>\n  </summary>\n  <img>\n</details>\n<div class=\"all-info\">\n{{JSON.parse(result).jishu}}\n<div>\n    <p>📆 更新：{{@@.item_info.0@text}}</p>\n    <p>🎥 播放：{{@@.item_info.1@text##\\s}}</p>\n    <p>👍 点赞：{{@@.voters.count@text}}</p>\n    <p>👤 上传：#{{@@.col:contains(Uploaded)@img@alt}}</p>\n    <p>🕵️‍♀️ 作者：#{{@@.col:contains(Artist)@span@text##\\n## \\#}}</p>\n    <p>📦 主题：#{{@@.col:contains(Categories)@span@text##\\n## \\#}}</p>\n    <p>🔖 标签：#{{@@.wrap:contains(Tags)@a!-1@text##\\n## \\#}}</p>\n    <p>📋 简介：{{@@#tab_video_info@.label.0@em@html}}</p>\n</div>\n</div>\n\n<script src=\"https://gcore.jsdelivr.net/npm/hls.js@canary\"></script>\n<script src=\"https://qyyuapi.com/js/plyr.js\"></script>\n\n<script>\n{{String(Reload('https://qyyuapi.com/dy/file/player.js'))}}\n\nconst JKkey = \"{{java.md5Encode16(baseUrl.replace(/.*\\/\\/[^\\/]+\\//, ''))}}\";\nconst JDkey = \"{{java.md5Encode16(baseUrl.replace(/.*\\/\\/[^\\/]+\\//, '') + 'time')}}\";\nconst PTtime = {{/^\\d+$/.test(Map('跳过片头：')) ? Map('跳过片头：') : 0}};\nconst PWtime = {{/^\\d+$/.test(Map('跳过片尾：')) ? Map('跳过片尾：') : 0}};\nconst BSspeed = {{Map('长按倍速：') || 2}};\n\n// 获取视频URL并更新视频源\nfunction geturl() {\n    let zyurl = JSON.parse($(\".jishu button.active\")[0].value);\n    let img = $('img')[0];\n    let fm = $(\".jishu button.active\")[0].dataset.fm;\n\n    // 更新详情封面\n    img.src = fm;\n\n    // 更新视频封面\n    $(\".video-container\")[0].style.background = `#000 url('${fm}') no-repeat center center / cover`;\n    let sources = zyurl;\n    return { sources: sources };\n}\n\n// 页面加载时初始化播放器\n(() => {\n    let n = $(\".jishu\")[0].dataset.n;\n    active($('.jishu button'), n);\n    const { sources } = geturl();\n    setTimeout(updatePadding, 100);\n    localStorage.setItem('HistoryTAG', 1);\n    initializePlayer(sources, JDkey, PTtime, PWtime, BSspeed);\n})();\n</script>\n</body>\n</html>\n<js>\nresult\n.replace(/：\\s*/g,'：')\n.replace(/<p>(.+)：#?<\\/p>/gm, '<p style=\"display:none;\">$1：</p>');\n</js>",
    "ruleDescription": "",
    "ruleImage": "img@data-original##\\d+x\\d+\\/\\d+##preview",
    "ruleLink": "href##^.*\\/\\/[^\\/]+\n@js:`{{Get('url')}}/@js:\\`\\{\\{Get('url')\\}\\}${result}\\``",
    "ruleNextPage": "page",
    "rulePubDate": "⌚️ {{@@.time@text}}    🎥 {{@@.views@text}}    👍 {{@@.rating@text}}    📅 {{@@.added@text}}",
    "ruleTitle": ".thumb_title@text",
    "shouldOverrideUrlLoading": "if (url.startsWith('legadovideo://')) {\n    java.openUrl(\n        decodeURIComponent(url.replace('legadovideo://', '')),\n        'video/*'\n    );\n    true;\n}",
    "singleUrl": false,
    "sortUrl": "<js>\neval(String(Reload('https://qyyuapi.com/dy/js/RULE34Ⓥ/sortUrl.js')));\n</js>",
    "sourceComment": "修改：1、增加源站；by：xiaohan231-2025/07/24\n\n修改：1、增加点击顶部视频链接调用播放器应用播放；by：xiaohan231-2025/04/30\n\n修改：1、增加清除远程代码标识按钮；by：xiaohan231-2025/04/26\n\n修改：1、新增源变量与localStorage双向备份功能，确保清理缓存和清除WebView数据时，播放历史记录和设置信息不会丢失；by：xiaohan231-2025/04/22\n\n修改：1、播放器增加标记片头片尾功能；2、jsLib代码适配新版阅读；by：xiaohan231-2025/04/20\n\n修改：1、增加清除网站Cookie缓存按钮；2、优化详情信息高度调整；3、优化视频集数切换，结尾切换下一集时不再销毁重建播放器实例；4、增加切换下集自动播放功能；5、增加跳过片尾功能；by：xiaohan231-2025/04/17\n\n修改：1、优化播放器函数，不再直接粘贴参数，改为调用函数时引进；2、UA改为系统webView UA；by：xiaohan231-2025/04/15\n\n修改：1、优化手势控制，增加滑动进度；by：xiaohan231-2025/04/14\n\n修改：1、部分源代码改为远程获取；by：xiaohan231-2025/04/06\n\n修改：1、修复搜索；by：xiaohan231-2025/02/20\n\n新增：1、增加源站：RULE34Ⓥ；by：xiaohan231-2024/08/16\n\nby：xiaohan231-2025/02/19",
    "sourceGroup": "🔭 其他,📽 视频,R18",
    "sourceIcon": "https://qyyuapi.com/img/RULE34v.png",
    "sourceName": "RULE34Ⓥ",
    "sourceUrl": "RULE34Ⓥ@js:`{{Get('url')}}`",
    "style": "",
    "variableComment": "JspHXCgzmq549cSvxZRk3cM5EE7N5V32mKk5ZsGlzH7mB4iKPcwRvTVF+nSsYaYkyHFh6tU0uM6gAcU2LO/ZQnF45pl+sO+D+/WIYPhUQyHGEp6lyVJ7JKp9yWihRr9Al3sqXhKPltzub2PZi96Ke4YxqVZPjPSmL3O6xY025Sa7Vm1r1ZLIrgpD4Ksa99Q488bytyVS2P8fSjkQvADOECPkrKGclkhYWKWj0hAAvyDNKDxrCyqqqUjrKooVXTcQ3DDxjpsx5Wd29wdbu4YgaMwdlq7eM7Wgq20PNHRYMQv6mzqElmMn9R4S7YEaJiDpXXStroRJTJtLEB2i6pMCY4F02mndjqQW0PbM+tfwlL8BPYfaSJDdVkvSCRNfUL1rVOJY3HHHX1kAyOG/METDaU0ord6qUbQQMGQVmCgqResqjExJ6AI33IXMtAF1485MjO1nSz2Mi9jw/NoCjXBhnxv0A/3lmQZoYsdfz3LCCOOZKjZQKAZj20BFKz9CBUrmpIrzwdkA/+4vJYyZpjkvYKJAAPDIKbn/ptiK77BjLhWzc4xAW5+YsEiLS/Vl9iTyCrhnnDx4gT+dZ4gysUqfVbIb8BRFwb+B6EwyP7u8ZmtYQlzIFkk2UhZ23Kjqj82AwMsqdbKqw9FL36EVYcm2j/djgb/0W5Vs5VlKOG+hISERjLwLqzgRlOxnwG7YZZNLUE6FWafVPrlyzjhAvM62NXpWmL0GPDowm0iGtni5Tn0IJGyzWVZh5hnvTh/PwOlcJj+q5hVSaFxFK58GLc48+Fc006jvm6iDY5gNbK5xA+ZkRfniCNt49bJaAANoCEro3QFhJkn2ECoOmwN4aYdfdn3SloTv48koLVJu+0NT+AISrmVytYeRuVnqNW5GuwElvCL/i8TWro2qktUUurqvp5e4i5scrNF7gSUG053kPtbrtmCrJ28rZpXWhXIsOv46IMrTpuxpCRHooX+Hs5b+XejfLsuNnBbHE13MQn/M0ebGd9Gh+r6/lt//lgTkWigqsmTrtxhrWAZWzaW/yA+sTSedS2lJCbgNokw7qnbmxwD/P4D6808B5ilzMwLtm9SyNWTwxVkJg028edSaskigcsZ30aH6vr+W3/+WBORaKCo4UnC/XzCimn5Jr+ebXNLnJ51LaUkJuA2iTDuqdubHAJsuJSsWINcAtTK6RzhZCNSIdDbzJz55hCg3jwqPboZqC+e1/3J2yhbnCdDJw3/1qjgTOfZMAHf4HKt/RuYW81hQLJ5E0EGQvvbsJ3D+Y5Ztyka4dEMQZahWDR5hSepleBzikh2TmReB3v0T5xYid8QcPk5CBAU0mi1bSh9nnltSWr0jzsWH1Iyc3vP5hdMbiKkMzVjx7Zqcbf6rbicc76D9V4WyQxK0cSe7d9/9FB3SxZBjAiCO+KOut8Un8msxSnVVwgvKx21dER1iPoNp6UqAmZbr8z45Sy+pruQ5nsfBOQr4l7WVhNegga6nXNzj2tpHudPrDm9Wn2UR4YshDfI2BUHw5QUks0QBNocu+jfuCxNjMeNDzOk0a/ZER3ne8qP3wokNIjSKREwHnyiXZQ1K4gl90XkIKDm01NlT9vSc01Zk7dsMfDJIplEsIREkxY7JlCji8BaOGorXtveh+/8moUPA2KlwI7zMU987ZdFUGnxsnL51m1yJTBFiq8a2aINke1Zq/lQ6kGDq5VuBrM8NXrRSMPwvsGy97ZD6Zs1DHkEz+c8ALXx0yHXiXXGM15hX/P/WTzdA6WpNAYMp+onQJ/zgHvBUQ/73lul4SP+94V9kWjwkqpfw9UXK6MX44GmUMxCAIAON0fCsI/Q4azniKxqQ2LHe4jdXvxAAZ88Wt1v7sfpzBbhawep3OjLmQ86ziAOP/r8LYWw/FU/ideDjhbuSmySyvzX5alHrU+2YG2+mUPOLf6RROC1qs8z1CKGs5f3SNeieYFOFcf4OLhp+L88XhvLGgUnDEnizstIoT6dtov2RXBVVjSOYC1gXiRIiGmA/geEd3jFmxCN9gcC7CKEF7/4SX3qQ1YzcsgdlsAxGqxuXtOngwUwdrI+3+V1ZHoV8dL8D3H12J0G9zsNZjZsrd3x55Zv29ILIYBZLdg7gz2RVh0rVIJGoI/0J5SDo8A0C03S6DvLShgJt0SJyIQfxpwc9Nv/TnVir+cpOQuTkymXklBu2cCH5+aFTvqg92WzyV7mcOzWZJEqXs8E+mSOPWdCIQ6fWqEe6zQ+v/MvpVqyrIOqDQFvTJzdiJp8n/xwPHORgrY6nxhA8vAzSkfUqMkAuZ1RCW/OGXI1aoDWuQBoavZ7T5PaiP4P74hvvFscy7hXkC4btV8L/XlNW9O9EoNbSaJDx6c+MuNNNrLHZ0H+FULugcR6TQDU7/4ghGn81bo7MXxzQjv1TMDqRg3BmLpCSMQKRfh+3GyLCUc0qEASueLd2Pr/7yubOpU4+C4E+IExZRCr3XIL6Y6gvlBmpQ9+JFFSAyCRTwbJG/XQ88Va6iMp/ps3AgW3EyeuX0qPV3SfKzFh+usHgrXVa9xoMu+4u/cDvNNBuvz0czEv2WdeH6JQv37xz5Td2Ez6ZI49Z0IhDp9aoR7rND6/W/iWUCt4CpsJBgXN82HkVlLUfZ1aHOaXsdPUeEJeFitPGca4naQuMZo570DEigh5YxfQfIMxRhVezWptMkPtXvGNJ85ctTzZEcHVanMA3QNWUf/hqVFb3YP2/+RujDloqioZclJBJ3mOij0i/Q4r6oazl/dI16J5gU4Vx/g4uGmgAEPwNzpIdNSymRPqtwEUBBsfdiy6OBAPiK9dv8dv/8/uXl9RKrfUePqZ3kHvjMO14sdXSY6NeT1qBecaAeOuVVrRC0HqDIiZthvIGJg0bbTe5yst86LR1+EsJLy4EcPyeXmMw6zjA+dw1zI5mVua8O3IovWzbnAwS6+q5Sh/kG+7Ndnjv4VCp5Fx4JegvwvM/F7CmsDmgezt6oE/kSUj9Fqau9QB+NTeLHXYuRsCgVnlFEb68Tmeeonjr0hLkkaQFDo4VHzoxyqVejFJhJYZcTv43Kl0PLj8prMT+YB1o++bSkpP1JHFGOV8mVzWCPaZA2WB7jvWpl7tQOsbzX7utxh5W6GDrlsRJ2D9mtFTAWfOFu2Ntsdd+lRpDSA4b3+9a7sOlv8rmI2SKxRln6d1svWeiDow3698BkXWKtgfqlN7BT2+akmZ+TS9ZI1uuo2G6cYTJAD5ATn4xv2pL7oTMvRABb0bsp6E4P1mSln/b0iODj2CVKWZLv+BJQu8vU2o2avEIqiSTqKQqObgZFZH2pEJN0uNOoOY4tmAChfMkrnrhFaFUIUXtPARwyGbYpKn8tYUIGRpIJ9sHxqVQbQIDRUHMuRF9Z9yOStphQ7qcnebDsyTme4Dmevu73B5eSBtTX0eNwc0UrZp9bQDXGGOaZMDyuYEZVbpcaz2u8Hmc4FGQ595Q8noc/xHfqdyjMVRZBbrFeJ4LGVUb/sOj5XVJxNwud2Rx1jQxsQ3ht9GVnEfJYJnleXFiJqFs30dMRh9UlJ7brnNr7jgj2wkC7jMrhlqF1hTK6sAW9A/3EvnWcUXvRGS9tZ+yL6pkGYSTIQSREk5qBr5N7Gst7xSKi5qFDzBDp+t3huUt3gRNM0Q4mvEYTG8E/Nmsvcp1MOl6kEjdod52cb/S3INg+MOE/tqNH0Dst6Gj0mbz5DMcaDEOFFaUOr+WS1AUSAFVgrYev//quT/25ArlrqdxQ/axKibX0wiA/HpmGvj6dciub4kCWptkwzyD0Yh3k6Y8EtdcYPApaJGD7JLSDY/LJpmBTIq4zdfaZLX/Wq94MdN5UoQ13Y5WqkOsq22W/3ESLyVSVT6srKpjnEK+XcjIoDyry8UspPph8AuHGycKtSpGEq/xoovC83S0+gX+dXBNC/AXCjEGKvKXvabq4n1CyZPrSzDRL7bGUsWkTNqEBkCJwN0R6F9PpWjlBViKjGfhw6ejsVyJNbthuPkeuiP+AaWhChzBxkdCov9MpUy1On2TReqZgFEAxGy5e/T/0ec8Bhc22zBNpykuX47XvkxQbIM8r78T/GZmwcbPE6O/p3F1Kht+iFA3BHg5usLZ+cPfvu1uWasBdUDuObbVRsBcM5Wrac4PdgmxOmuvkLAQJWRhvGDnOL41vHK4U+farjjtKZKB0g21Z0qsG1LiR+7V36rKylibCN1PIEKTHN4yp4Qz/xBmsZzmD/m6iStkH++Rs0/fktigBI9XjWqbLzNZbAbHI1TleaeJnWVatGyZ795UKxKO5Yw+B5CXms3mIN5DhO75NIsEDJSTYuEGFUpV1nOy+btdZx69/+C6sf5ZoOEjwVtrTGUfFrhALvfncMTP3p07eTJFgEOd71OwSrlcf04MUPUlWIM62GtW+lDYT6wn6MIvaxD5s3Duut4kEGBLtOxHVuekeGTJGeoyjSqcJo2Cr0v/M9pz+Vc9l3HuIwIDFIhUxngWg+PVpDlHTQl7SnXl2/SaSI48lgeu/w66fSwZLAC1yZjsP8W8/jJlaxZ6ejjxr9OIXBUIPWJWzUemnN3X7ukjPlg+5c1JkFVZMv2V48mV6QeS/hg1XuL9463VNJ7LWmRe6eIRAWh2O1UVMaJ95adGhhZShR+4bq/JXN3uc6+nVtWKJE3OtXUQf97U5f1F6wm/dI1jbA/u/Afe2ig+AA=="
  },
  {
    "articleStyle": 0,
    "contentBlacklist": "",
    "contentWhitelist": "",
    "customOrder": -10100127,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\n\"User-Agent\": \"Mozilla/5.0 (Linux; U; Android 8.1.0; zh-CN; MI 8 Lite Build/OPM1.171019.019) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/78.0.3904.108 UCBrowser/13.2.0.1100 Mobile Safari/537.36\"\n}",
    "injectJs": "",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.module-item",
    "ruleContent": "<div class=\"play_video\">\n{{@@title@text}}{{@@class.player-wrapper@all}}",
    "ruleImage": "img@data-cover",
    "ruleLink": "a.0@href",
    "ruleNextPage": "page",
    "rulePubDate": "class.module-item-caption@text",
    "ruleTitle": "img@alt",
    "singleUrl": false,
    "sortUrl": "最新::https://cn1.91short.com/\n推荐::/short/recommend_home_list/\n美女正妹::/short/label_related_list/Ug_pu_kskqY%3D\n91大神::/short/label_related_list/otDa4t6lDDQ%3D\n门事件::/short/label_related_list/3QW8lOdBcls%3D\n大神::/search?wd=大神\n变量搜索::/search?wd={{java.encodeURI(source.getVariable())}}\n学生::/search?wd=学生\n91::/search?wd=91\n偷情::/search?wd=偷情\n推特::/search?wd=推特\n少女::/search?wd=少女\n贫乳::/search?wd=贫乳\n口交::/search?wd=口交\n妹妹::/search?wd=妹妹\n美女::/search?wd=美女\n\n美臀巨臀::/short/label_related_list/azG9-jZfzG0%3D?title=%E7%BE%8E%E8%87%80%E5%B7%A8%E8%87%80\n后入::/search?wd=后入\n国产高清::/short/home_category_list/hd\n排行::/short/ranking_list\n国产AV::/short/label_related_list/1Bd0Zzp8D_E%3D\n大象传媒::/short/label_related_list/F16wCJ3LmWY%3D\n情趣综艺::/short/label_related_list/-0S1LwkskU4%3D\n推荐2::/film/home_recommend_list\n专题::/film/home_subject_list\n女优::/film/home_actor_list\n无码::/film/home_category_list/coded\n中字::/film/home_category_list/chinese_subtitle\n动漫::/film/home_list/jOSxa-4E27U%3D\n经典三级::/film/home_list/uZg0vDL8P8A%3D\n欧美性爱::/film/home_list/LblejiEnM6s%3D\nAV解说::/film/home_list/vJq_GzRiesQ%3D",
    "sourceComment": "翻页和封面不会\n\n永久域名 https://cn1.91short.com",
    "sourceGroup": "③影视,R18",
    "sourceIcon": "https://cn1.91short.com/public/statics/logo.png",
    "sourceName": "91视频",
    "sourceUrl": "https://cn1.91short.com/",
    "style": "iframe{\n\theight:auto\n}\ntitle{\n\tdisplay:block\n}"
  },
  {
    "articleStyle": 2,
    "customOrder": -10099125,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "{\"User-Agent\":\"Mozilla/5.0 (Linux; U; Android 13; zh-Hans-CN; PFJM10 Build/TP1A.220905.001) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/135.0.4896.58 Quark/6.13.6.581 Mobile Safari/537.36\",\"Accept-Language\":\"zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7\"}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": ".vod-search-list||.movie-list-body@.movie-list-item",
    "ruleContent": "<!DOCTYPE html>\n<html lang=\"zh-CN\">\n<head>\n<meta charset=\"UTF-8\">\n<title>{{@title@text##在?线?播?放?(.*)\\s(.*?正|.*?第).*##$1}}</title>\n\n<script src=\"https://code.jquery.com/jquery-3.6.0.min.js\"></script>\n<link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/viewerjs/1.11.3/viewer.min.css\" />\n<script src=\"https://cdnjs.cloudflare.com/ajax/libs/viewerjs/1.11.3/viewer.min.js\"></script>\n<style>\n    body {font-family: Arial, sans-serif;font-size: 16px;}\n    #title, #page, #loading-status {margin: 0 auto;font-size: 20px;text-align: center;}\n    #description, #urls, #video-url, #video-sources, #messages {width: 100%;max-width: 800px;margin: 1.5px auto;font-size: 14px;text-align: left;word-wrap: break-word;white-space: pre-wrap;}\n    #text, #text :not(img), #text img + * {text-indent: 2em;width: 100%;font-size: 16px;line-height: 1.5em;margin-top: 0;margin-bottom: 0;word-wrap: break-word;white-space: pre-wrap;}\n    img, #text img {width: 100%;height: auto;display: block;margin-bottom: 1.5px;}\n    .flex-container {display: flex;justify-content: center;align-items: center;gap: 10px;margin: 1.5px 0;font-size: 14px;}\n    button, select {flex: 1 1 31%; padding: 3px;border: 1px solid #ccc;border-radius: 5px;box-sizing: border-box;cursor: pointer;background-color: #f9f9f9;transition: background-color 0.3s ease;margin: 1.5px;min-width: 0;font-size: 14px;}\n    #url-select, #video-source-select {flex: 1 1 100%; margin-left: 0;margin-right: 0;text-align: center;}\n    #video-element {width: 100%;height: auto;}\n    textarea {width: 100%;height: auto;min-height: 100px;box-sizing: border-box;resize: vertical;}\n    .error, .warn {color: red;}\n    #urls,#messages,#debug-info,#video-url,#video-container,#video-source-select,#images,#text {display:none;}\n</style>\n</head>\n<body>\n    <h3 id=\"title\">{{@title@text##在?线?播?放?(.*)\\s(.*?正|.*?第).*##$1}}</h3>\n    <p id=\"description\">{{@.detailsTxt@ownText}}</p>\n    <p id=\"page\">共<span id=\"total-pages\">1</span>页</p>\n    <p id=\"loading-status\" style=\"display:none;\"></p>\n    <div class=\"flex-container\" id=\"loading-buttons\" style=\"display:none;\">\n        <button id=\"prev-page-btn\">上一页</button>\n        <button id=\"next-page-btn\">下一页</button>\n        <button id=\"auto-load-btn\">自&nbsp;&nbsp;动</button>\n    </div>\n    <div class=\"flex-container\">\n        <select id=\"url-select\" style=\"display:none;\"></select>\n    </div>\n    <div class=\"flex-container\">\n        <button id=\"toggle-urls-btn\">显/隐网址</button>\n        <button id=\"toggle-messages-btn\">显/隐信息</button>\n        <button id=\"toggle-debug-btn\">显/隐调试</button>\n    </div>\n    <div id=\"urls\"></div>\n    <div id=\"messages\"></div>\n    <div id=\"debug-info\"></div>\n    <div id=\"video-url\"></div>\n    <div id=\"video-container\">\n        <video id=\"video-element\" controls preload=\"auto\" width=\"640\" height=\"264\">\n            <source id=\"video-source\" src=\"\" type=\"\">\n            您的浏览器不支持 video 标签。\n        </video>\n    </div>\n    <div class=\"flex-container\">\n        <select id=\"video-source-select\" onchange=\"updateVideoSource()\"></select>\n    </div>\n    <div id=\"images\"></div>\n    <div id=\"text\"></div>\n    <script>\nconst config = {    \n    videoSelector: 'body', // 视频选择器\n    imgSelector: '.gridlane-box-inside img', // 图片选择器\n    textSelector: '#content', // 文本选择器\n    debugSelector: '.player-wrapper', // 调试信息选择器\n    swapImageAttributes: false, // 是否交换图片属性\n    delayTime: 1500, // 延迟提取时间\n    retryDelayTime: 1500, // 重试加载延迟时间\n    maxLoadAttempts: 3, // 最大加载次数\n    autoLoading: false, // true自动模式，false单页模式\n    debugOnce: 0, // 只在特定索引输出一次调试信息\n         /* -网页拼接-*/    \n    totalPagesText: '{{@@.pager@li.-3@a@textNodes}}', // 总页码\n    urlSuffixToRemove: /\\.aspx$/, // 移除url后缀\n    pageUrlText: '{urlPrefix}p{i}.aspx', // 拼接URL模板        \n        /* -以上拼接模式（网址需要拼接）-*/\n        /* -上下分割线-*/\n        /* -以下列表模式（地址与目录对应，比如视频、漫画）-*/   \n    ListMode: true, // true网址列表模式，false网址拼接模式    \n    initialUrls: `{{@@#playsx@a@href}}`, // 网址\n    initialUrlsName: `{{@@#playsx@a@text}}`, // 网址名称\n    sourceurl: '', // 来源URL前缀\n};\n\nlet videoSources = [];\nlet loadAttempts = {};\nlet urls = [];\nlet imageBox;\nlet textBox;\nlet currentPageIndex = 0;\nlet canLoadNextPage = true;\nlet autoLoadInProgress = false;\n\n// 构建URL列表\nfunction buildUrls(totalPages, baseUrl) {\n    let initialUrlsArray = config.initialUrls.trim().split('\\n').filter(url => url.trim() !== '');\n    let initialUrlsNameArray = config.initialUrlsName.trim().split('\\n').filter(name => name.trim() !== '');\n\n    if (config.ListMode && initialUrlsArray.length > 0) {\n        if (initialUrlsArray.length !== initialUrlsNameArray.length) {\n            $('#messages').append(`<span class=\"warn\">警告：initialUrls 和 initialUrlsName 的长度不匹配。</span><br>`);\n        }\n\n        urls = initialUrlsArray.map(url => {\n            if (config.sourceurl && url.startsWith('/') && !/^https?:\\/\\//i.test(url)) {\n                return config.sourceurl.replace(/\\/$/, '') + url;\n            } else {\n                return url;\n            }\n        });\n\n        urls.forEach((url, index) => {\n            const name = initialUrlsNameArray[index] || `第 ${index + 1} 页`;\n            $('#url-select').append(`<option value=\"${index}\">${name}</option>`);\n            $('#urls').append(`<div>${name}: ${url}</div>`);\n        });\n    } else {\n        if (totalPages === 1) {\n            urls.push(baseUrl);\n        } else {\n            urls.push(baseUrl);\n            for (let i = 2; i <= totalPages; i++) {\n                urls.push(config.pageUrlText.replace('{urlPrefix}', baseUrl.replace(config.urlSuffixToRemove, '').replace(/\\/$/, '')).replace('{i}', i));\n            }\n        }\n\n        urls.forEach((url, index) => {\n            const name = `第 ${index + 1} 页`;\n            $('#url-select').append(`<option value=\"${index}\">${name}</option>`);\n            $('#urls').append(`<div>${name}: ${url}</div>`);\n        });\n    }\n\n    $('#total-pages').text(urls.length);\n    toggleNavigationButtons();\n}\n\nfunction normalizeUrl(url) {\n    if (typeof url!== 'string' ||!url.trim()) return '';\n    url = url.replace(/\\\\u[\\dA-F]{4}/gi, (match) => String.fromCharCode(parseInt(match.replace(/\\\\u/g, ''), 16)));\n    url = decodeURIComponent(url);\n    url = url.replace(/^http:\\/([^/])/, 'http://$1'); // 修正 http:/ 协议部分\n    url = url.replace(/^https:\\/([^/])/, 'https://$1'); // 修正 https:/ 协议部分\n    return url;\n}\n\n// 清空容器\nfunction clearContainers() {\n    $('#messages').empty();\n    $('#images').empty();\n    $('#text').empty();\n}\n\n// 更新图片的src属性\nfunction updateImageSrc(elements, shouldSwap) {\n    elements.each(function () {\n        const $this = $(this);\n        const attrsToUpdate = {};\n        if (shouldSwap) {\n            ['data-original', 'data-src', 'data-url'].forEach(attr => {\n                if ($this.attr(attr)) {\n                    attrsToUpdate['src'] = $this.attr(attr);\n                }\n            });\n        }\n        $this.attr(attrsToUpdate);\n    });\n    return elements;\n}\n\n// 切换导航按钮和选择框的显示\nfunction toggleNavigationButtons() {\n    if ($('#url-select option').length > 1  && !config.autoLoading) {\n        $('#loading-buttons').show();\n        $('#url-select').show();\n    } else {\n        $('#loading-buttons').hide();\n        $('#url-select').hide();\n    }\n}\n\n// 显示加载状态\nfunction showLoadingStatus(pageNumber) {\n    const selectedOption = $('#url-select option:selected').text();\n    $('#loading-status').text(`正在加载：${selectedOption}`).show();\n}\n\n// 隐藏加载状态\nfunction hideLoadingStatus() {\n    $('#loading-status').hide();\n}\n\n// 内容提取函数内容\nfunction loadContent(index) {\n    if (index < 0 || index >= urls.length || !canLoadNextPage) return;\n    canLoadNextPage = false;\n    currentPageIndex = index;\n    $('#url-select').val(index);\n    $('#messages').append(`<div>当前地址: <span class=\"warn\">${urls[index]}</span> </div>`);\n    if (autoLoadInProgress) {\n        showLoadingStatus(index + 1);\n    }\n    $.ajax({\n        url: urls[index],\n        type: 'GET',\n        success: function (data) {\n            try {\n                const $data = $(data);\n                let updatedHtmlContent = data.replace(/(['\"])(\\/\\/)(?!\\/)/g, '$1https://')\n                    .replace(/src=\"upload/gi, 'src=\"/upload')\n                    .replace(/style=[\"'][^'\"]+[\"']/gi, '')\n                    .replace(/\\\\\\//g, '/');\n                const parser = new DOMParser();\n                const doc = parser.parseFromString(updatedHtmlContent, \"text/html\");\n\n                  // 添加调试标签输出信息\n                if (config.debugOnce === index) {\n                    const debugElements = $(doc).find(config.debugSelector);\n                    if (debugElements.length > 0) {\n                        const debugContents = $('<pre>').html(debugElements.clone().wrapAll('<div/>').parent().html()).html();\n                        $('#debug-info').html(`<span class=\"warn\">调试信息: <textarea rows=\"10\" cols=\"80\">${debugContents}</textarea></span>`);\n                    } else {\n                        $('#debug-info').html(`<span class=\"warn\">调试信息: <textarea rows=\"10\" cols=\"80\">调试信息未提取到内容，请检查选择器！</textarea></span>`);\n                    }\n                }\n\n                // 方法1：video标签获取视频地址\n                const videoContents = $(doc).find(config.videoSelector);\n                const videoTags = $(videoContents).find('video');\n                videoTags.each(function () {\n                    const videosrc = $(this).attr('src') || $(this).attr('data-src') || $(this).attr('data-original') || '';\n                    if (videosrc) {\n                        videoSources.push(videosrc);\n                    }\n                });\n                \n                // 方法2：source标签获取视频地址\n                const sources = $(videoContents).find('source');\n                sources.each(function () {\n                    const sourceSrc = $(this).attr('src') || $(this).attr('data-src') || $(this).attr('data-original') || '';\n                    if (sourceSrc) {\n                        videoSources.push(sourceSrc);\n                    }\n                });\n                \n                // 方法3：正则表达式获取视频地址\n                const regex = /['\"]https?[^'<>\"]+\\.(m3u8|mp4|webm|ogg|flv|mp3|m4a|wav|ape|flac)['\"]/ig;\n                const matches = data.match(regex);\n                if (matches) {\n                    const uniqueMatches = matches.filter((value, idx, self) => self.indexOf(value) === idx);\n    videoSources = videoSources.concat(uniqueMatches.map((match) => {\n        // 使用replace删除引号\n                const urlWithoutQuotes = match.replace(/['\"]/g, '');\n                return normalizeUrl(urlWithoutQuotes);\n                          }));\n                }\n\n                videoSources = videoSources.map(src => normalizeUrl(src.replace(/\\\\+/g, '')));\n                videoSources = [...new Set(videoSources)];\n\n                if (videoSources.length > 0) {\n                    $('#messages').append(`<span>成功提取到视频，找到 ${videoSources.length} 个视频。</span><br>`);\n                    videoSources.forEach((src, idx) => {\n                        $('#messages').append(`<div>视频地址:<span class=\"warn\"> ${src}</span><br></div>`);\n                        $('#video-source-select').append(`<option value=\"${idx}\">视频源 ${idx + 1}</option>`);\n                    });\n                    \n                    if (videoSources.length == 1) {\n                        $('#video-container').show();\n                        $('#video-url').show();\n                        $('#video-source-select').hide();\n                        updateVideoSource(); // 自动更新视频源\n                    } else if (videoSources.length > 1) {\n                        $('#video-container').show();\n                        $('#video-url').show();\n                        $('#video-source-select').show();\n                        updateVideoSource(); // 默认选择第一个视频源\n                    } else {\n                        $('#video-container').hide();\n                        $('#video-url').hide();\n                        $('#video-source-select').hide();\n                    }\n                } else {\n                    $('#messages').append(`<span class=\"warn\">未找到视频源。</span><br>`);\n                    $('#video-container').hide();\n                    $('#video-url').hide();\n                    $('#video-source-select').hide();\n                }\n\n                // 标签获图片\n                const $imgContents = $(doc).find(config.imgSelector);\n                const shouldSwap = config.swapImageAttributes;\n                const newContents = updateImageSrc($imgContents.clone(), shouldSwap);\n                $('#images').append(newContents).show();\n                if (newContents.length > 0) {\n                    $('#messages').append(`<span>成功提取图片，共 ${newContents.length} 张。</span><br>`);\n                    newContents.each(function () {\n                        const imgSrc =$(this).attr('src') || $(this).attr('data-original') || $(this).attr('data-src') || $(this).attr('data-url');\n                        $('#messages').append(`<div>地址:<span class=\"warn\"> ${imgSrc}</span><br></div>`);\n                    });\n                } else {\n                    $('#messages').append(`<span class=\"warn\">未提取到图片。</span><br>`);\n                }\n\n                // 标签获图文\n                const textContents = $(doc).find(config.textSelector).map(function () {\n                    const $currentContents = $(this);\n                    $currentContents.find('img + br, script, video, source').remove();\n                    $currentContents.html($currentContents.html().replace(/>\\s+/gi, '>').replace(/<\\/?br\\s*([^>]*)\\s*\\/?>/gi, '\\n').replace(/\\n+/g, '\\n'));\n                    return $currentContents.html();\n                }).get().join('');\n                if (textContents.trim()) {\n                    $('#text').append(`<span>${textContents}</span><br>`).show();\n                    $('#messages').append(`<span>成功提取图文。</span><br>`);\n                } else {\n                    $('#messages').append(`<span class=\"warn\">未提取到图文。</span><br>`);\n                }\n                \n                \n                if (autoLoadInProgress && currentPageIndex < urls.length - 1) {\n                    setTimeout(() => { \n                        canLoadNextPage = true;\n                        loadContent(currentPageIndex + 1); \n                    }, config.delayTime);\n                } else {\n                    canLoadNextPage = true;\n                    if (autoLoadInProgress) {\n                        hideLoadingStatus();\n                    }\n                }\n            } catch (parseError) {\n                $('#messages').append(`<span class=\"error\">解析页面内容时发生错误: ${parseError.message}</span><br>`);\n                handleLoadFailure(urls, index);\n            } finally {\n                if (imageBox) imageBox.viewer.update();\n                if (textBox) textBox.viewer.update();\n            }\n        },\n        error: function (jqXHR, textStatus, errorThrown) {\n            let errorMessage = `内容加载失败: ${urls[index]}`;\n            switch (textStatus) {\n                case 'timeout':\n                    errorMessage += ', 请求超时';\n                    break;\n                case 'abort':\n                    errorMessage += ', 请求被取消';\n                    break;\n                case 'parsererror':\n                    errorMessage += ', 解析响应出错';\n                    break;\n                default:\n                    errorMessage += `, 状态码: ${jqXHR.status}, 错误信息: ${errorThrown}`;\n                    break;\n            }\n            $('#messages').append(`<span class=\"error\">${errorMessage}</span><br>`);\n            handleLoadFailure(urls, index);\n        }\n    });\n}\n\n// 处理加载失败的情况\nfunction handleLoadFailure(urls, index) {\n    if (!loadAttempts[urls[index]]) {\n        loadAttempts[urls[index]] = 1;\n    } else {\n        loadAttempts[urls[index]]++;\n    }\n    if (loadAttempts[urls[index]] <= config.maxLoadAttempts) {\n        const retryMessage = `第${index + 1}页加载失败，正在进行第${loadAttempts[urls[index]]}次加载！`;\n        $('#messages').append(`<span class=\"error\">${retryMessage}</span><br>`);\n        setTimeout(() => { \n            canLoadNextPage = true;\n            loadContent(index); \n        }, config.retryDelayTime);\n    } else {\n        const finalErrorMessage = `第${index + 1}页加载失败，已达到最大尝试次数(${config.maxLoadAttempts})！`;\n        $('#messages').append(`<span class=\"error\">${finalErrorMessage}</span><br>`);\n        if (autoLoadInProgress && currentPageIndex < urls.length - 1) {\n            setTimeout(() => { \n                canLoadNextPage = true;\n                loadContent(currentPageIndex + 1); \n            }, config.delayTime);\n        } else {\n            canLoadNextPage = true;\n            if (autoLoadInProgress) {\n                hideLoadingStatus();\n            }\n        }\n    }\n}\n\n// 更新视频源\nfunction updateVideoSource() {\n    const selectedIndex = parseInt(document.getElementById('video-source-select').value);\n    const selectedSource = videoSources[selectedIndex];\n    document.getElementById('video-url').textContent = `视频地址:\\n ${selectedSource}`;\n\n    // 设置 video-source 的 src 属性\n    const videoSourceElement = document.getElementById('video-source');\n    videoSourceElement.src = selectedSource;\n\n    // 更新 video 元素的 src 属性\n    const videoElement = document.getElementById('video-element');\n    videoElement.load();\n\n    // 添加调试信息\n    $('#messages').append(`<span>更新视频源为: ${selectedSource}</span><br>`);\n}\n\n// 函数执行主体\n$(document).ready(function () {\n    imageBox = document.getElementById('images');\n    textBox = document.getElementById('text');\n    if (imageBox && textBox) {\n        new Viewer(imageBox, { title: true, interval: 2000 });\n        new Viewer(textBox, { title: true, interval: 2000 });\n    }\n\n    const totalPagesText = config.totalPagesText;\n    const totalPages = parseInt(totalPagesText, 10) || 1;\n    const baseUrl = '{{baseUrl}}';\n    \n    clearContainers();\n    $('#urls').empty();\n    $('#debug-info textarea').empty();   \n    $('#video-url').empty().hide();\n    $('#video-container').hide();\n    $('#video-source-select').empty().hide();\n    \n    buildUrls(totalPages, baseUrl);\n\n    const urlSelect = document.getElementById('url-select');\n    if (urlSelect.options.length > 0) {\n        urlSelect.value = '0'; \n        \n        if (config.autoLoading) {\n            autoLoadInProgress = true;\n            for (let i = 0; i < urls.length; i++) {\n                loadContent(i);\n            }\n        } else {\n            loadContent(0);\n        }\n    } else {\n        loadContent(0);\n    }\n\n    $('#url-select').change(function () {\n        clearContainers();\n        const selectedIndex = parseInt($(this).val());\n        loadContent(selectedIndex);\n    });\n    $('#prev-page-btn').click(function () {\n        clearContainers();\n        if (currentPageIndex > 0) {\n            loadContent(currentPageIndex - 1);\n        }\n    });\n    $('#next-page-btn').click(function () {\n        clearContainers();\n        if (currentPageIndex < urls.length - 1) {\n            loadContent(currentPageIndex + 1);\n        }\n    });\n    $('#auto-load-btn').click(function () {\n        autoLoadInProgress = true;\n        showLoadingStatus(1); \n        for (let i = currentPageIndex + 1; i < urls.length; i++) {\n            loadContent(i);\n        }\n    });\n    $('#toggle-messages-btn').click(function () { $('#messages').toggle(); });\n    $('#toggle-urls-btn').click(function () { $('#urls').toggle(); });\n    $('#toggle-debug-btn').click(function () { $('#debug-info').toggle(); });\n});\n    </script>\n</body>\n</html>",
    "ruleImage": ".movie-post-lazyload@data-original",
    "ruleLink": "a.0@href##.*id\\/(\\d+)\\.html##/vod/play/id/$1/sid/1/nid/1.html",
    "ruleNextPage": "page",
    "rulePubDate": "评分：{{@.movie-rating@text}}",
    "ruleTitle": ".movie-title@text",
    "singleUrl": false,
    "sortUrl": "搜索::/vod/search/page/{{page}}/wd/{{(source.getVariable()==''||source.getVariable()==null)?source.setVariable('哪吒闹海'):source.getVariable()}}.html\n电影::/vod/show/id/20/page/{{page}}.html\n连续剧::/vod/show/id/37/page/{{page}}.html\n动漫::/vod/show/id/43/page/{{page}}.html\n综艺::/vod/show/id/45/page/{{page}}.html\nB站::/vod/show/id/47/page/{{page}}.html\n体育::/vod/show/id/52/page/{{page}}.html",
    "sourceComment": "2025.5.3@ffuu：非常棒的在线追剧网站，有弹幕，显示时间，更新及时，加载的快。",
    "sourceGroup": "剧,R18",
    "sourceIcon": "https://img.remit.ee/api/file/AgACAgUAAyEGAASHRsPbAAIEs2gVFoVexjtJ9ow7J92KMs1rB8lYAAIZxzEbCIOoVCruG7G3PI8hAQADAgADeQADNgQ.png",
    "sourceName": "西瓜影院#在线",
    "sourceUrl": "https://www.a6club.com"
  },
  {
    "articleStyle": 0,
    "customOrder": -10099111,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceComment": "//备用\nhttp://vip.liu16.com\nhttp://s.liu16.com\nhttp://vip.catv1.com\nhttps://www.123mfk.com",
    "sourceGroup": "③影视,R18",
    "sourceIcon": "http://cmdy.liu16.com/favicon.ico",
    "sourceName": "草民网",
    "sourceUrl": "http://cmdy.liu16.com"
  },
  {
    "articleStyle": 1,
    "customOrder": -10098697,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "ul@li",
    "ruleContent": "<js>\np=result.match(/url\\\"\\:\\\"(.*?)\\\"\\,\\\"url/)\np=(p?p[1]:1).replace(/\\\\/g,'')\nvar p\n`<html>\n    <head>\n        <meta name=\"viewport\" content=\"width=device-width\">\n        <style>\n            body {\n                margin: 0;\n                font-family: Arial, sans-serif;\n                background: linear-gradient(135deg, #ece9e6, #ffffff);\n                display: flex;\n                flex-direction: column;\n                align-items: center;\n                justify-content: flex-start;\n                padding: 20px;\n            }\n            .container {\n                width: 100%;\n                max-width: 800px;\n                background: #fff;\n                border-radius: 10px;\n                box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);\n                overflow: hidden;\n                margin-bottom: 20px;\n            }\n            h3 {\n                margin: 0;\n                padding: 10px 20px;\n                font-size: 0.9em;\n                background: #333;\n                color: #fff;\n                border-radius: 10px 10px 0 0;\n            }\n            .video-container {\n                width: 100%;\n                background: #000;\n                position: relative;\n            }\n            video {\n                width: 100%;\n                height: auto;\n                display: block;\n            }\n            .info-container {\n                padding: 20px;\n            }\n            .info-container p {\n                margin: 10px 0;\n                color: #555;\n            }\n            .info-container p span {\n                font-weight: bold;\n                color: #000;\n            }\n        </style>\n    </head>\n    <body>\n        <div class=\"container\">\n            <div class=\"video-container\">\n                <video controls autoplay name=\"media\" id=\"videoPlayer\">\n                    <source src=\"${p}\" type=\"video/mp4\">\n                </video>\n            </div>\n            <div class=\"info-container\">\n                \n            </div>\n        </div>\n\n        <script>\n            // 获取视频元素\n            const video = document.getElementById('videoPlayer');\n            let touchStartX = 0;\n            let touchStartY = 0;\n            let touchStartTime = 0;\n            let isLongPress = false;\n\n            // 滑动快进\n            video.addEventListener('touchstart', (e) => {\n                touchStartX = e.touches[0].clientX;\n                touchStartY = e.touches[0].clientY;\n                touchStartTime = Date.now();\n                isLongPress = false;\n            });\n\n            video.addEventListener('touchmove', (e) => {\n                const deltaX = e.touches[0].clientX - touchStartX;\n                const deltaY = e.touches[0].clientY - touchStartY;\n\n                // 如果是水平滑动，且未进入长按状态\n                if (Math.abs(deltaX) > Math.abs(deltaY) && !isLongPress) {\n                    const duration = video.duration;\n                    const seekTime = video.currentTime + (deltaX / 100); // 每滑动100px快进1秒\n                    video.currentTime = Math.min(Math.max(seekTime, 0), duration);\n                }\n            });\n\n            // 长按快进\n            video.addEventListener('touchend', (e) => {\n                const touchEndTime = Date.now();\n                const touchDuration = touchEndTime - touchStartTime;\n\n                // 如果长按时间超过500ms，进入长按快进状态\n                if (touchDuration > 500) {\n                    isLongPress = true;\n\n                    // 在长按状态下，根据滑动距离快进\n                    const deltaX = e.changedTouches[0].clientX - touchStartX;\n                    const duration = video.duration;\n                    const seekTime = video.currentTime + (deltaX / 100); // 每滑动100px快进1秒\n                    video.currentTime = Math.min(Math.max(seekTime, 0), duration);\n                } else {\n                    isLongPress = false;\n                }\n            });\n\n            // 防止默认行为（如页面滚动）\n            video.addEventListener('touchmove', (e) => {\n                e.preventDefault();\n            });\n        </script>\n    </body>\n</html>`;\n</js>",
    "ruleImage": "img@src",
    "ruleLink": "a@href",
    "ruleNextPage": "page||text.下一页@href",
    "rulePubDate": "p@text",
    "ruleTitle": "img@alt",
    "singleUrl": false,
    "sortUrl": "歌舞团一区::/index.php/vod/type/id/1.html\n歌舞团二区::/index.php/vod/type/id/2.html\n歌舞团三区::/index.php/vod/type/id/3.html\n歌舞团四区::/index.php/vod/type/id/42.html\n歌舞团五区::/index.php/vod/type/id/51.html\n歌舞团六区::/index.php/vod/type/id/60.html\n歌舞团七区::/index.php/vod/type/id/69.html\n歌舞团八区::/index.php/vod/type/id/78.html\n搜索🔍::/index.php/vod/search/wd/{{source.getVariable()}}.html",
    "sourceComment": "https://www.hdgwt.top/",
    "sourceGroup": "R18",
    "sourceIcon": "https://www.hdgwt31.buzz/upload/site/20250307-1/681ab74afa378480eaa60b4688a8f9c9.png",
    "sourceName": "恒大歌舞团",
    "sourceUrl": "https://www.hdgwt31.buzz/"
  },
  {
    "articleStyle": 0,
    "customOrder": -10098652,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "ul@li",
    "ruleContent": "<js>\np=result.match(/url\\\"\\:\\\"(.*?)\\\"\\,\\\"url/)[1].replace(/\\\\/g,'')\nvar p\n`<html>\n    <head>\n        <meta name=\"viewport\" content=\"width=device-width\">\n        <style>\n            body {\n                margin: 0;\n                font-family: Arial, sans-serif;\n                background: linear-gradient(135deg, #ece9e6, #ffffff);\n                display: flex;\n                flex-direction: column;\n                align-items: center;\n                justify-content: flex-start;\n                padding: 20px;\n            }\n           .container {\n                width: 100%;\n                max-width: 800px;\n                background: #fff;\n                border-radius: 10px;\n                box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);\n                overflow: hidden;\n                margin-bottom: 20px;\n            }\n            h3 {\n                margin: 0;\n                padding: 10px 20px;\n                font-size: 0.9em;\n                background: #333;\n                color: #fff;\n                border-radius: 10px 10px 0 0;\n            }\n           .video-container {\n                width: 100%;\n                background: #000;\n                position: relative;\n            }\n            video {\n                width: 100%;\n                height: auto;\n                display: block;\n            }\n           .info-container {\n                padding: 20px;\n            }\n           .info-container p {\n                margin: 10px 0;\n                color: #555;\n            }\n           .info-container p span {\n                font-weight: bold;\n                color: #000;\n            }\n        </style>\n    </head>\n    <body>\n        <div class=\"container\">\n            <div class=\"video-container\">\n                <video controls autoplay name=\"media\">\n                    <source src=\"${p}\" type=\"video/mp4\">\n                </video>\n            </div>\n            <div class=\"info-container\">\n                \n            </div>\n        </div>\n    </body>\n</html>`;\n\n</js>",
    "ruleImage": "img@data-original",
    "ruleLink": ".video-info@a@href##(\\d+)##/vodplay/$1-1-1/###",
    "ruleNextPage": "page||text.下一页@href",
    "rulePubDate": "p@text",
    "ruleTitle": "h5@text",
    "singleUrl": false,
    "sortUrl": "搜索🔍::/vodsearch/{{source.getVariable()}}----------{{page}}---.html\n萝莉少女::/vodtype/24-{{page}}.html\n首页::/",
    "sourceComment": "stasdf.cfd",
    "sourceGroup": "R18",
    "sourceIcon": "https://asdf88.cfd/upload/site/20250218-1/66bf45a3ab8345b2353775c22c982ea7.png",
    "sourceName": "水晶宫",
    "sourceUrl": "https://asdf88.cfd/"
  },
  {
    "articleStyle": 0,
    "customOrder": -10098588,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginUi": "[\n    {\n        \"name\": \"🏠源站\",\n        \"type\": \"button\",\n        \"action\": \"M()\"\n    },\n    {\n        \"name\": \"🔁更新源站数据\",\n        \"type\": \"button\",\n        \"action\": \"P()\"\n    },\n    {\n        name: \"🌟初始化\",\n        type: \"button\",\n        action: \"reset(y)\",\n        \"style\": {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": 1\n        }\n    },\n    {\n        name: \"🌕显示当前变量 \",\n        type: \"button\",\n        action: \"get(y)\",\n        \"style\": {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": 1\n        }\n    },\n    {\n        name: \"---📂分类---\",\n        type: \"button\",\n        \"style\": {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": 1\n        }\n    },\n    {\n        name: \"📂全部\",\n        type: \"button\",\n        action: \"cat(0)\",\n        \"style\": {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": 0.4\n        }\n    },\n    {\n        name: \"📂阅读\",\n        type: \"button\",\n        action: \"cat(1)\",\n        \"style\": {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": 0.4\n        }\n    },\n    {\n        name: \"📂其他\",\n        type: \"button\",\n        action: \"cat(2)\",\n        \"style\": {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": 0.4\n        }\n    },\n    {\n        name: \"📂结绳\",\n        type: \"button\",\n        action: \"cat(3)\",\n        \"style\": {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": 0.4\n        }\n    },\n    {\n        name: \"---📁归档---\",\n        type: \"button\",\n        \"style\": {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": 1\n        }\n    },\n    {\n        name: \"📁2025-02\",\n        type: \"button\",\n        action: \"Arch(0)\"\n    },\n    {\n\tname: \"by天天的鸟蛋蛋（mctiantian2501314 (2333)）\",\n\ttype: \"button\",\n\taction: \"t()\",\n   \"style\": {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": 1\n        }\n}\n]",
    "loginUrl": "M = () =>{\n\tjava.startBrowser('https://blog.ttxz.eu.org','源站');\n    }\nP = () =>{\n\ts=java.ajax('https://blog.ttxz.eu.org/json.php');\n\tjava.toast(java.log(\"\\n数据已更新...\\n当前状态为：\\n---\\n『\"+s+\"已更新完成』\\n---\\n初始化>清除>刷新分类 后生效\"))\n    }\ny = source.getVariable();\nif(!y||y==\"\"){\n  y=\"\";\n  source.setVariable(y);\n  java.toast(\"\\n首次使用\\n已初始化为空\\n---\\n默认为：“全部”\")\n  }else{y=y;}\ncategory=[\n \"\",\n  \"阅读\",\n  \"其他\",\n  \"结绳\",\n  ]\narchive=[\n \"2025-02\"\n]\nfunction cat(n){\n  show=\"\\n设置成功！\\n当前变量：\";\n  tips=\"\\n清除数据--->刷新生效！\\n 点击右上角三个点\\n---\\n清除>刷新分类 后生效\";\n y=n;  \n java.longToast(show+category[y]+tips);\n   return source.setVariable(category[y]);\n  \n  }\nfunction Arch(n){\n  show=\"\\n设置成功！\\n当前变量：\";\n  tips=\"\\n清除数据--->刷新生效！\\n 点击右上角三个点\\n---\\n清除>清除>刷新分类 后生效\";\n y=n;  \n java.longToast(show+archive[y]+tips);\n  return source.setVariable(archive[y]);\n  \n  }\nfunction reset(y){\n y=\"\"\n  source.setVariable(y);\n  java.log(\"变量已改变为空\")\n  java.toast(\"\\n已初始化为空\\n---\\n默认为：“全部”\");\n  }\nfunction get(y){\n  show=\"\\n当前变量：\";\n  return java.longToast(show+source.getVariable())\n}\nfunction t() {\n    let res = JSON.parse(\njava.ajax(\"https://www.wniui.com/api/yiyan/index.php\")\n    )\n    java.toast(res.data)\n  }",
    "ruleArticles": ".posts[*]\n<js>\nJSON.stringify(JSON.parse(result).filter(r => JSON.stringify(r).match(new RegExp(source.getVariable()))))\n</js>\n$[*]",
    "ruleContent": "<js>\ntitle= java.get(\"title\");\nvar path = java.get(\"path\");\nvar url = \"https://blog.ttxz.eu.org/?path=\" + path;\n\nfunction generateHtmlDocument(title, content) {\n    return `<!DOCTYPE html>\n<html lang=\"zh-CN\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=5.0, minimum-scale=1.0\">\n      <title>${title}-天天的小站</title>\n    \n    \n    \n    <!-- 依赖库 -->\n    <script src=\"https://cdn.bootcdn.net/ajax/libs/marked/4.0.2/marked.min.js\"></script>\n    <script src=\"https://cdn.bootcdn.net/ajax/libs/dompurify/2.3.3/purify.min.js\"></script>\n    <script src=\"https://cdn.bootcdn.net/ajax/libs/highlight.js/11.5.0/highlight.min.js\"></script>\n    <script src=\"https://cdn.bootcdn.net/ajax/libs/mathjax/3.2.0/es5/tex-mml-chtml.js\"></script>\n\n    <style>\n        :root {\n            /* 亮色模式变量 */\n            --bg-light: #ffffff;\n            --text-light: #333333;\n            --code-bg-light: #f6f8fa;\n            --border-light: #e1e4e8;\n            --btn-bg: #007bff;\n            --btn-hover-bg: #0056b3;\n            \n            /* 暗黑模式变量 */\n            --bg-dark: #1e1e1e;\n            --text-dark: #e8e8e8;\n            --code-bg-dark: #252526;\n            --border-dark: #4a4a4a;\n            --btn-dark-bg: #0056b3;\n            --btn-dark-hover-bg: #003d80;\n            --table-bg-dark: #2d2d2d;\n            --blockquote-bg-dark: rgba(255,255,255,0.03);\n            --inline-code-bg-dark: rgba(255,255,255,0.1);\n            --math-bg-dark: #2a2a2a;\n        }\n\n        /* 基础布局 */\n        body {\n            margin: 0;\n            padding: 70px 1rem 1rem;\n            font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif;\n            line-height: 1.6;\n            background: var(--bg-light);\n            color: var(--text-light);\n            transition: background 0.3s, color 0.3s;\n        }\n\n        /* 统一按钮样式 */\n        .ctrl-btn,\n        .copy-btn,\n        .open-original-post {\n            display: inline-block;\n            padding: 10px 20px;\n            background-color: var(--btn-bg);\n            color: #fff !important;\n            border: none;\n            border-radius: 5px;\n            font-size: 16px;\n            text-align: center;\n            text-decoration: none;\n            cursor: pointer;\n            transition: all 0.3s;\n            box-shadow: 0 2px 4px rgba(0,0,0,0.1);\n        }\n\n        /* 按钮交互效果 */\n        .ctrl-btn:hover,\n        .copy-btn:hover,\n        .open-original-post:hover {\n            background-color: var(--btn-hover-bg);\n            transform: translateY(-1px);\n        }\n\n        .ctrl-btn:active,\n        .copy-btn:active,\n        .open-original-post:active {\n            transform: translateY(1px);\n        }\n\n        /* 固定顶部栏 */\n        .header-bar {\n            position: fixed;\n            top: 0;\n            left: 0;\n            right: 0;\n            height: 60px;\n            background: rgba(255,255,255,0.95);\n            backdrop-filter: blur(10px);\n            z-index: 1000;\n            box-shadow: 0 2px 8px rgba(0,0,0,0.1);\n            display: flex;\n            align-items: center;\n            padding: 0 20px;\n            gap: 15px;\n        }\n\n        /* Markdown内容容器 */\n        .markdown-body {\n            max-width: 900px;\n            margin: 0 auto;\n            padding: 20px 0;\n            background-color: var(--bg-light);\n        }\n\n        /* =============== 代码框关键修复 =============== */\n        .code-wrapper {\n            position: relative;\n            margin: 1.5rem 0;\n            background: var(--code-bg-light);\n            border-radius: 8px;\n            border: 1px solid var(--border-light);\n            overflow: hidden;\n            box-shadow: 0 2px 4px rgba(0,0,0,0.05);\n        }\n\n        .code-scroll {\n            padding: 2.5rem 1.5rem 1.5rem;\n            max-height: 60vh;\n            overflow-y: auto;\n            -webkit-overflow-scrolling: touch;\n        }\n\n        .copy-btn {\n            position: absolute;\n            top: 12px;\n            right: 12px;\n            padding: 8px 16px;\n            font-size: 14px;\n            z-index: 100;\n        }\n                .hljs {\n            background: transparent !important;\n            padding: 0 !important;\n            line-height: inherit !important;\n        }\n\n        /* 亮色模式语法高亮 */\n        .hljs-keyword { color: #d73a49; }\n        .hljs-string { color: #032f62; }\n        .hljs-comment { color: #6a737d; }\n        .hljs-title { color: #6f42c1; }\n        .hljs-number { color: #005cc5; }\n        .hljs-built_in { color: #e36209; }\n\n\n        /* ====================== */\n        /* 暗黑模式全面修复 */\n        /* ====================== */\n        body.dark-mode {\n            background: var(--bg-dark);\n            color: var(--text-dark);\n\n            .header-bar {\n                background: rgba(30,30,30,0.98);\n            }\n\n            /* 强制覆盖Markdown容器 */\n            .markdown-body {\n                background-color: var(--bg-dark) !important;\n                color: var(--text-dark) !important;\n            }\n\n            /* ========= 代码框修复 ========= */\n            .code-wrapper {\n                background-color: var(--code-bg-dark) !important;\n                border-color: var(--border-dark) !important;\n\n                pre {\n                    background: transparent !important;\n                    code {\n                        background: transparent !important;\n                    }\n                }\n            }\n\n            /* 覆盖highlight.js默认主题 */\n            .hljs {\n                display: block;\n                background: var(--code-bg-dark) !important;\n                color: #dcdcdc !important;\n                padding: 1em !important;\n\n                /* 语法高亮色适配 */\n                .hljs-keyword { color: #569cd6; }\n                .hljs-string { color: #ce9178; }\n                .hljs-comment { color: #6a9955; }\n                .hljs-title { color: #dcdcaa; }\n                .hljs-number { color: #b5cea8; }\n            }\n\n            /* 行内代码 */\n            .markdown-body code:not([class*=\"language-\"]) {\n                background-color: var(--inline-code-bg-dark) !important;\n                color: #f8f8f8 !important;\n                padding: 0.2em 0.4em !important;\n                border-radius: 3px;\n            }\n\n            /* 数学公式 */\n            .MathJax_SVG {\n                background-color: var(--math-bg-dark) !important;\n                padding: 10px !important;\n                border-radius: 4px;\n            }\n\n            /* 其他元素修复 */\n            table tr:nth-child(2n) {\n                background-color: rgba(255,255,255,0.05) !important;\n            }\n            blockquote {\n                background-color: var(--blockquote-bg-dark) !important;\n            }\n            img {\n                background-color: var(--bg-dark) !important;\n            }\n        }\n\n        /* 移动端优化 */\n        @media (max-width: 768px) {\n            body {\n                padding: 60px 0.8rem 0.8rem;\n            }\n            \n            .markdown-body {\n                max-width: 100%;\n                padding: 10px;\n                font-size: 15px;\n            }\n            \n            .code-wrapper {\n                margin: 1rem 0 !important;\n                border-radius: 6px !important;\n            }\n            \n            .copy-btn {\n                top: 8px;\n                right: 8px;\n                padding: 6px 12px;\n            }\n        }\n    </style>\n</head>\n<body>\n    <!-- 固定顶部栏 -->\n    <div class=\"header-bar\">\n        <button class=\"ctrl-btn\" id=\"themeToggle\">🌓 主题切换</button>\n        <button class=\"open-original-post\" \n                onclick=\"window.open('${url}', '_blank')\">\n            📎 查看原帖\n        </button>\n    </div>\n\n    <!-- Markdown内容 -->\n    <div class=\"markdown-body\" id=\"content\"></div>\n\n    <script>\n        // 动态创建代码容器\n        function wrapCodeBlocks() {\n            document.querySelectorAll('.markdown-body pre').forEach(pre => {\n                const wrapper = document.createElement('div');\n                wrapper.className = 'code-wrapper';\n                \n                const copyBtn = document.createElement('button');\n                copyBtn.className = 'copy-btn';\n                copyBtn.textContent = '复制';\n                \n                const scrollDiv = document.createElement('div');\n                scrollDiv.className = 'code-scroll';\n                \n                pre.parentNode.replaceChild(wrapper, pre);\n                wrapper.appendChild(scrollDiv);\n                scrollDiv.appendChild(pre);\n                wrapper.appendChild(copyBtn);\n            });\n        }\n\n        // 初始化复制功能\n        function initCopyButtons() {\n            document.querySelectorAll('.copy-btn').forEach(btn => {\n                btn.addEventListener('click', () => {\n                    const code = btn.previousElementSibling.querySelector('code').innerText;\n                    navigator.clipboard.writeText(code)\n                        .then(() => {\n                            btn.textContent = '已复制!';\n                            setTimeout(() => btn.textContent = '复制', 1500);\n                        })\n                        .catch(err => console.error('复制失败:', err));\n                });\n            });\n        }\n\n        // 初始化内容\n        function initContent() {\n            try {\n                const rawContent = decodeURIComponent(escape(atob(\"${java.base64Encode(content)}\")));\n                const parsedMarkdown = marked.parse(rawContent);\n                document.getElementById('content').innerHTML = DOMPurify.sanitize(parsedMarkdown);\n                \n                wrapCodeBlocks();\n                initCopyButtons();\n                hljs.highlightAll();\n                MathJax.typesetPromise();\n            } catch (error) {\n                console.error('内容加载失败:', error);\n                document.getElementById('content').innerHTML = '<p class=\"error\">内容加载失败</p>';\n            }\n        }\n\n        // 主题切换\n        function toggleTheme() {\n            document.body.classList.toggle('dark-mode');\n            localStorage.setItem('theme', \n                document.body.classList.contains('dark-mode') ? 'dark' : 'light'\n            );\n            MathJax.typesetPromise();\n        }\n\n        // 初始化\n        window.addEventListener('DOMContentLoaded', () => {\n            if (localStorage.getItem('theme') === 'dark') {\n                document.body.classList.add('dark-mode');\n            }\n            initContent();\n            document.getElementById('themeToggle').addEventListener('click', toggleTheme);\n        });\n    </script>\n</body>\n</html>`;\n}\n\nvar fullHtmlDocument = generateHtmlDocument(title, src);\n\nfullHtmlDocument;\n\n\n</js>",
    "ruleLink": "$.path\n<js>\npathw=result\npath=java.put(\"path\",pathw)\nresult=\"https://blog.ttxz.eu.org/md/\"+result\nresult;\n</js>",
    "rulePubDate": "{{$.modified}}|{{$.created}}|分类：{{$.category}}|标签：{{$.tags}}|",
    "ruleTitle": ".title\n<js>\ntitlew=result\npath=java.put(\"title\",titlew)\n</js>",
    "singleUrl": false,
    "sortUrl": "全部::/data.json",
    "sourceComment": "by天天的鸟蛋蛋\n请用最新测试版\n\n# 介绍\n自己的个人博客，是一个静态博客所有数据都是md 记录（收集）了一些我的笔记 有些是从网上搜集，有些是自己写的\nps：访问源站会自动更新数据，在订阅源就不会自动更新，需要手动更新，如果我不及时更新的话，一般上传内容都会自己访问一下\n# 使用方法\n登录 源站 是访问源网站\n默认 全部\n通过源变量来搜索\n登录分类归档会改变源变量\n回到全部分类可以点全部按钮或者初始化\n其他的就是字面意思\n# 感谢 \nby另一个书友圈 提供登录改变变量方法\nby河鹅和 修复正文bug &nbsp;无法渲染空格  和 变量搜索\nby怣疯  提供正文思路\n\n更新日志：\n2025/3/6 更新正文 \n主要更新\n1.优化正文\n2.加入更好的高亮 \n3.加入黑暗模式\n4.加入代码框一键复制\n5.加入打开原贴",
    "sourceGroup": "R18",
    "sourceIcon": "https://blog.ttxz.eu.org/icon.png",
    "sourceName": "天天的小站",
    "sourceUrl": "https://blog.ttxz.eu.org",
    "style": ".markdown-body {\n  --base-size-4: 0.25rem;\n  --base-size-8: 0.5rem;\n  --base-size-16: 1rem;\n  --base-size-24: 1.5rem;\n  --base-size-40: 2.5rem;\n  --base-text-weight-normal: 400;\n  --base-text-weight-medium: 500;\n  --base-text-weight-semibold: 600;\n  --fontStack-monospace: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;\n  --fgColor-accent: Highlight;\n}\n@media (prefers-color-scheme: dark) {\n  .markdown-body, [data-theme=\"dark\"] {\n    /* dark */\n    color-scheme: dark;\n    --focus-outlineColor: #1f6feb;\n    --fgColor-default: #f0f6fc;\n    --fgColor-muted: #9198a1;\n    --fgColor-accent: #4493f8;\n    --fgColor-success: #3fb950;\n    --fgColor-attention: #d29922;\n    --fgColor-danger: #f85149;\n    --fgColor-done: #ab7df8;\n    --bgColor-default: #0d1117;\n    --bgColor-muted: #151b23;\n    --bgColor-neutral-muted: #656c7633;\n    --bgColor-attention-muted: #bb800926;\n    --borderColor-default: #3d444d;\n    --borderColor-muted: #3d444db3;\n    --borderColor-neutral-muted: #3d444db3;\n    --borderColor-accent-emphasis: #1f6feb;\n    --borderColor-success-emphasis: #238636;\n    --borderColor-attention-emphasis: #9e6a03;\n    --borderColor-danger-emphasis: #da3633;\n    --borderColor-done-emphasis: #8957e5;\n    --color-prettylights-syntax-comment: #9198a1;\n    --color-prettylights-syntax-constant: #79c0ff;\n    --color-prettylights-syntax-constant-other-reference-link: #a5d6ff;\n    --color-prettylights-syntax-entity: #d2a8ff;\n    --color-prettylights-syntax-storage-modifier-import: #f0f6fc;\n    --color-prettylights-syntax-entity-tag: #7ee787;\n    --color-prettylights-syntax-keyword: #ff7b72;\n    --color-prettylights-syntax-string: #a5d6ff;\n    --color-prettylights-syntax-variable: #ffa657;\n    --color-prettylights-syntax-brackethighlighter-unmatched: #f85149;\n    --color-prettylights-syntax-brackethighlighter-angle: #9198a1;\n    --color-prettylights-syntax-invalid-illegal-text: #f0f6fc;\n    --color-prettylights-syntax-invalid-illegal-bg: #8e1519;\n    --color-prettylights-syntax-carriage-return-text: #f0f6fc;\n    --color-prettylights-syntax-carriage-return-bg: #b62324;\n    --color-prettylights-syntax-string-regexp: #7ee787;\n    --color-prettylights-syntax-markup-list: #f2cc60;\n    --color-prettylights-syntax-markup-heading: #1f6feb;\n    --color-prettylights-syntax-markup-italic: #f0f6fc;\n    --color-prettylights-syntax-markup-bold: #f0f6fc;\n    --color-prettylights-syntax-markup-deleted-text: #ffdcd7;\n    --color-prettylights-syntax-markup-deleted-bg: #67060c;\n    --color-prettylights-syntax-markup-inserted-text: #aff5b4;\n    --color-prettylights-syntax-markup-inserted-bg: #033a16;\n    --color-prettylights-syntax-markup-changed-text: #ffdfb6;\n    --color-prettylights-syntax-markup-changed-bg: #5a1e02;\n    --color-prettylights-syntax-markup-ignored-text: #f0f6fc;\n    --color-prettylights-syntax-markup-ignored-bg: #1158c7;\n    --color-prettylights-syntax-meta-diff-range: #d2a8ff;\n    --color-prettylights-syntax-sublimelinter-gutter-mark: #3d444d;\n  }\n}\n@media (prefers-color-scheme: light) {\n  .markdown-body, [data-theme=\"light\"] {\n    /* light */\n    color-scheme: light;\n    --focus-outlineColor: #0969da;\n    --fgColor-default: #1f2328;\n    --fgColor-muted: #59636e;\n    --fgColor-accent: #0969da;\n    --fgColor-success: #1a7f37;\n    --fgColor-attention: #9a6700;\n    --fgColor-danger: #d1242f;\n    --fgColor-done: #8250df;\n    --bgColor-default: #ffffff;\n    --bgColor-muted: #f6f8fa;\n    --bgColor-neutral-muted: #818b981f;\n    --bgColor-attention-muted: #fff8c5;\n    --borderColor-default: #d1d9e0;\n    --borderColor-muted: #d1d9e0b3;\n    --borderColor-neutral-muted: #d1d9e0b3;\n    --borderColor-accent-emphasis: #0969da;\n    --borderColor-success-emphasis: #1a7f37;\n    --borderColor-attention-emphasis: #9a6700;\n    --borderColor-danger-emphasis: #cf222e;\n    --borderColor-done-emphasis: #8250df;\n    --color-prettylights-syntax-comment: #59636e;\n    --color-prettylights-syntax-constant: #0550ae;\n    --color-prettylights-syntax-constant-other-reference-link: #0a3069;\n    --color-prettylights-syntax-entity: #6639ba;\n    --color-prettylights-syntax-storage-modifier-import: #1f2328;\n    --color-prettylights-syntax-entity-tag: #0550ae;\n    --color-prettylights-syntax-keyword: #cf222e;\n    --color-prettylights-syntax-string: #0a3069;\n    --color-prettylights-syntax-variable: #953800;\n    --color-prettylights-syntax-brackethighlighter-unmatched: #82071e;\n    --color-prettylights-syntax-brackethighlighter-angle: #59636e;\n    --color-prettylights-syntax-invalid-illegal-text: #f6f8fa;\n    --color-prettylights-syntax-invalid-illegal-bg: #82071e;\n    --color-prettylights-syntax-carriage-return-text: #f6f8fa;\n    --color-prettylights-syntax-carriage-return-bg: #cf222e;\n    --color-prettylights-syntax-string-regexp: #116329;\n    --color-prettylights-syntax-markup-list: #3b2300;\n    --color-prettylights-syntax-markup-heading: #0550ae;\n    --color-prettylights-syntax-markup-italic: #1f2328;\n    --color-prettylights-syntax-markup-bold: #1f2328;\n    --color-prettylights-syntax-markup-deleted-text: #82071e;\n    --color-prettylights-syntax-markup-deleted-bg: #ffebe9;\n    --color-prettylights-syntax-markup-inserted-text: #116329;\n    --color-prettylights-syntax-markup-inserted-bg: #dafbe1;\n    --color-prettylights-syntax-markup-changed-text: #953800;\n    --color-prettylights-syntax-markup-changed-bg: #ffd8b5;\n    --color-prettylights-syntax-markup-ignored-text: #d1d9e0;\n    --color-prettylights-syntax-markup-ignored-bg: #0550ae;\n    --color-prettylights-syntax-meta-diff-range: #8250df;\n    --color-prettylights-syntax-sublimelinter-gutter-mark: #818b98;\n  }\n}\n\n.markdown-body {\n  -ms-text-size-adjust: 100%;\n  -webkit-text-size-adjust: 100%;\n  margin: 0;\n  color: var(--fgColor-default);\n  background-color: var(--bgColor-default);\n  font-family: -apple-system,BlinkMacSystemFont,\"Segoe UI\",\"Noto Sans\",Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\";\n  font-size: 16px;\n  line-height: 1.5;\n  word-wrap: break-word;\n}\n\n.markdown-body .octicon {\n  display: inline-block;\n  fill: currentColor;\n  vertical-align: text-bottom;\n}\n\n.markdown-body h1:hover .anchor .octicon-link:before,\n.markdown-body h2:hover .anchor .octicon-link:before,\n.markdown-body h3:hover .anchor .octicon-link:before,\n.markdown-body h4:hover .anchor .octicon-link:before,\n.markdown-body h5:hover .anchor .octicon-link:before,\n.markdown-body h6:hover .anchor .octicon-link:before {\n  width: 16px;\n  height: 16px;\n  content: ' ';\n  display: inline-block;\n  background-color: currentColor;\n  -webkit-mask-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>\");\n  mask-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>\");\n}\n\n.markdown-body details,\n.markdown-body figcaption,\n.markdown-body figure {\n  display: block;\n}\n\n.markdown-body summary {\n  display: list-item;\n}\n\n.markdown-body [hidden] {\n  display: none !important;\n}\n\n.markdown-body a {\n  background-color: transparent;\n  color: var(--fgColor-accent);\n  text-decoration: none;\n}\n\n.markdown-body abbr[title] {\n  border-bottom: none;\n  -webkit-text-decoration: underline dotted;\n  text-decoration: underline dotted;\n}\n\n.markdown-body b,\n.markdown-body strong {\n  font-weight: var(--base-text-weight-semibold, 600);\n}\n\n.markdown-body dfn {\n  font-style: italic;\n}\n\n.markdown-body h1 {\n  margin: .67em 0;\n  font-weight: var(--base-text-weight-semibold, 600);\n  padding-bottom: .3em;\n  font-size: 2em;\n  border-bottom: 1px solid var(--borderColor-muted);\n}\n\n.markdown-body mark {\n  background-color: var(--bgColor-attention-muted);\n  color: var(--fgColor-default);\n}\n\n.markdown-body small {\n  font-size: 90%;\n}\n\n.markdown-body sub,\n.markdown-body sup {\n  font-size: 75%;\n  line-height: 0;\n  position: relative;\n  vertical-align: baseline;\n}\n\n.markdown-body sub {\n  bottom: -0.25em;\n}\n\n.markdown-body sup {\n  top: -0.5em;\n}\n\n.markdown-body img {\n  border-style: none;\n  max-width: 100%;\n  box-sizing: content-box;\n}\n\n.markdown-body code,\n.markdown-body kbd,\n.markdown-body pre,\n.markdown-body samp {\n  font-family: monospace;\n  font-size: 1em;\n}\n\n.markdown-body figure {\n  margin: 1em var(--base-size-40);\n}\n\n.markdown-body hr {\n  box-sizing: content-box;\n  overflow: hidden;\n  background: transparent;\n  border-bottom: 1px solid var(--borderColor-muted);\n  height: .25em;\n  padding: 0;\n  margin: var(--base-size-24) 0;\n  background-color: var(--borderColor-default);\n  border: 0;\n}\n\n.markdown-body input {\n  font: inherit;\n  margin: 0;\n  overflow: visible;\n  font-family: inherit;\n  font-size: inherit;\n  line-height: inherit;\n}\n\n.markdown-body [type=button],\n.markdown-body [type=reset],\n.markdown-body [type=submit] {\n  -webkit-appearance: button;\n  appearance: button;\n}\n\n.markdown-body [type=checkbox],\n.markdown-body [type=radio] {\n  box-sizing: border-box;\n  padding: 0;\n}\n\n.markdown-body [type=number]::-webkit-inner-spin-button,\n.markdown-body [type=number]::-webkit-outer-spin-button {\n  height: auto;\n}\n\n.markdown-body [type=search]::-webkit-search-cancel-button,\n.markdown-body [type=search]::-webkit-search-decoration {\n  -webkit-appearance: none;\n  appearance: none;\n}\n\n.markdown-body ::-webkit-input-placeholder {\n  color: inherit;\n  opacity: .54;\n}\n\n.markdown-body ::-webkit-file-upload-button {\n  -webkit-appearance: button;\n  appearance: button;\n  font: inherit;\n}\n\n.markdown-body a:hover {\n  text-decoration: underline;\n}\n\n.markdown-body ::placeholder {\n  color: var(--fgColor-muted);\n  opacity: 1;\n}\n\n.markdown-body hr::before {\n  display: table;\n  content: \"\";\n}\n\n.markdown-body hr::after {\n  display: table;\n  clear: both;\n  content: \"\";\n}\n\n.markdown-body table {\n  border-spacing: 0;\n  border-collapse: collapse;\n  display: block;\n  width: max-content;\n  max-width: 100%;\n  overflow: auto;\n  font-variant: tabular-nums;\n}\n\n.markdown-body td,\n.markdown-body th {\n  padding: 0;\n}\n\n.markdown-body details summary {\n  cursor: pointer;\n}\n\n.markdown-body a:focus,\n.markdown-body [role=button]:focus,\n.markdown-body input[type=radio]:focus,\n.markdown-body input[type=checkbox]:focus {\n  outline: 2px solid var(--focus-outlineColor);\n  outline-offset: -2px;\n  box-shadow: none;\n}\n\n.markdown-body a:focus:not(:focus-visible),\n.markdown-body [role=button]:focus:not(:focus-visible),\n.markdown-body input[type=radio]:focus:not(:focus-visible),\n.markdown-body input[type=checkbox]:focus:not(:focus-visible) {\n  outline: solid 1px transparent;\n}\n\n.markdown-body a:focus-visible,\n.markdown-body [role=button]:focus-visible,\n.markdown-body input[type=radio]:focus-visible,\n.markdown-body input[type=checkbox]:focus-visible {\n  outline: 2px solid var(--focus-outlineColor);\n  outline-offset: -2px;\n  box-shadow: none;\n}\n\n.markdown-body a:not([class]):focus,\n.markdown-body a:not([class]):focus-visible,\n.markdown-body input[type=radio]:focus,\n.markdown-body input[type=radio]:focus-visible,\n.markdown-body input[type=checkbox]:focus,\n.markdown-body input[type=checkbox]:focus-visible {\n  outline-offset: 0;\n}\n\n.markdown-body kbd {\n  display: inline-block;\n  padding: var(--base-size-4);\n  font: 11px var(--fontStack-monospace, ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace);\n  line-height: 10px;\n  color: var(--fgColor-default);\n  vertical-align: middle;\n  background-color: var(--bgColor-muted);\n  border: solid 1px var(--borderColor-neutral-muted);\n  border-bottom-color: var(--borderColor-neutral-muted);\n  border-radius: 6px;\n  box-shadow: inset 0 -1px 0 var(--borderColor-neutral-muted);\n}\n\n.markdown-body h1,\n.markdown-body h2,\n.markdown-body h3,\n.markdown-body h4,\n.markdown-body h5,\n.markdown-body h6 {\n  margin-top: var(--base-size-24);\n  margin-bottom: var(--base-size-16);\n  font-weight: var(--base-text-weight-semibold, 600);\n  line-height: 1.25;\n}\n\n.markdown-body h2 {\n  font-weight: var(--base-text-weight-semibold, 600);\n  padding-bottom: .3em;\n  font-size: 1.5em;\n  border-bottom: 1px solid var(--borderColor-muted);\n}\n\n.markdown-body h3 {\n  font-weight: var(--base-text-weight-semibold, 600);\n  font-size: 1.25em;\n}\n\n.markdown-body h4 {\n  font-weight: var(--base-text-weight-semibold, 600);\n  font-size: 1em;\n}\n\n.markdown-body h5 {\n  font-weight: var(--base-text-weight-semibold, 600);\n  font-size: .875em;\n}\n\n.markdown-body h6 {\n  font-weight: var(--base-text-weight-semibold, 600);\n  font-size: .85em;\n  color: var(--fgColor-muted);\n}\n\n.markdown-body p {\n  margin-top: 0;\n  margin-bottom: 10px;\n}\n\n.markdown-body blockquote {\n  margin: 0;\n  padding: 0 1em;\n  color: var(--fgColor-muted);\n  border-left: .25em solid var(--borderColor-default);\n}\n\n.markdown-body ul,\n.markdown-body ol {\n  margin-top: 0;\n  margin-bottom: 0;\n  padding-left: 2em;\n}\n\n.markdown-body ol ol,\n.markdown-body ul ol {\n  list-style-type: lower-roman;\n}\n\n.markdown-body ul ul ol,\n.markdown-body ul ol ol,\n.markdown-body ol ul ol,\n.markdown-body ol ol ol {\n  list-style-type: lower-alpha;\n}\n\n.markdown-body dd {\n  margin-left: 0;\n}\n\n.markdown-body tt,\n.markdown-body code,\n.markdown-body samp {\n  font-family: var(--fontStack-monospace, ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace);\n  font-size: 12px;\n}\n\n.markdown-body pre {\n  margin-top: 0;\n  margin-bottom: 0;\n  font-family: var(--fontStack-monospace, ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace);\n  font-size: 12px;\n  word-wrap: normal;\n}\n\n.markdown-body .octicon {\n  display: inline-block;\n  overflow: visible !important;\n  vertical-align: text-bottom;\n  fill: currentColor;\n}\n\n.markdown-body input::-webkit-outer-spin-button,\n.markdown-body input::-webkit-inner-spin-button {\n  margin: 0;\n  appearance: none;\n}\n\n.markdown-body .mr-2 {\n  margin-right: var(--base-size-8, 8px) !important;\n}\n\n.markdown-body::before {\n  display: table;\n  content: \"\";\n}\n\n.markdown-body::after {\n  display: table;\n  clear: both;\n  content: \"\";\n}\n\n.markdown-body>*:first-child {\n  margin-top: 0 !important;\n}\n\n.markdown-body>*:last-child {\n  margin-bottom: 0 !important;\n}\n\n.markdown-body a:not([href]) {\n  color: inherit;\n  text-decoration: none;\n}\n\n.markdown-body .absent {\n  color: var(--fgColor-danger);\n}\n\n.markdown-body .anchor {\n  float: left;\n  padding-right: var(--base-size-4);\n  margin-left: -20px;\n  line-height: 1;\n}\n\n.markdown-body .anchor:focus {\n  outline: none;\n}\n\n.markdown-body p,\n.markdown-body blockquote,\n.markdown-body ul,\n.markdown-body ol,\n.markdown-body dl,\n.markdown-body table,\n.markdown-body pre,\n.markdown-body details {\n  margin-top: 0;\n  margin-bottom: var(--base-size-16);\n}\n\n.markdown-body blockquote>:first-child {\n  margin-top: 0;\n}\n\n.markdown-body blockquote>:last-child {\n  margin-bottom: 0;\n}\n\n.markdown-body h1 .octicon-link,\n.markdown-body h2 .octicon-link,\n.markdown-body h3 .octicon-link,\n.markdown-body h4 .octicon-link,\n.markdown-body h5 .octicon-link,\n.markdown-body h6 .octicon-link {\n  color: var(--fgColor-default);\n  vertical-align: middle;\n  visibility: hidden;\n}\n\n.markdown-body h1:hover .anchor,\n.markdown-body h2:hover .anchor,\n.markdown-body h3:hover .anchor,\n.markdown-body h4:hover .anchor,\n.markdown-body h5:hover .anchor,\n.markdown-body h6:hover .anchor {\n  text-decoration: none;\n}\n\n.markdown-body h1:hover .anchor .octicon-link,\n.markdown-body h2:hover .anchor .octicon-link,\n.markdown-body h3:hover .anchor .octicon-link,\n.markdown-body h4:hover .anchor .octicon-link,\n.markdown-body h5:hover .anchor .octicon-link,\n.markdown-body h6:hover .anchor .octicon-link {\n  visibility: visible;\n}\n\n.markdown-body h1 tt,\n.markdown-body h1 code,\n.markdown-body h2 tt,\n.markdown-body h2 code,\n.markdown-body h3 tt,\n.markdown-body h3 code,\n.markdown-body h4 tt,\n.markdown-body h4 code,\n.markdown-body h5 tt,\n.markdown-body h5 code,\n.markdown-body h6 tt,\n.markdown-body h6 code {\n  padding: 0 .2em;\n  font-size: inherit;\n}\n\n.markdown-body summary h1,\n.markdown-body summary h2,\n.markdown-body summary h3,\n.markdown-body summary h4,\n.markdown-body summary h5,\n.markdown-body summary h6 {\n  display: inline-block;\n}\n\n.markdown-body summary h1 .anchor,\n.markdown-body summary h2 .anchor,\n.markdown-body summary h3 .anchor,\n.markdown-body summary h4 .anchor,\n.markdown-body summary h5 .anchor,\n.markdown-body summary h6 .anchor {\n  margin-left: -40px;\n}\n\n.markdown-body summary h1,\n.markdown-body summary h2 {\n  padding-bottom: 0;\n  border-bottom: 0;\n}\n\n.markdown-body ul.no-list,\n.markdown-body ol.no-list {\n  padding: 0;\n  list-style-type: none;\n}\n\n.markdown-body ol[type=\"a s\"] {\n  list-style-type: lower-alpha;\n}\n\n.markdown-body ol[type=\"A s\"] {\n  list-style-type: upper-alpha;\n}\n\n.markdown-body ol[type=\"i s\"] {\n  list-style-type: lower-roman;\n}\n\n.markdown-body ol[type=\"I s\"] {\n  list-style-type: upper-roman;\n}\n\n.markdown-body ol[type=\"1\"] {\n  list-style-type: decimal;\n}\n\n.markdown-body div>ol:not([type]) {\n  list-style-type: decimal;\n}\n\n.markdown-body ul ul,\n.markdown-body ul ol,\n.markdown-body ol ol,\n.markdown-body ol ul {\n  margin-top: 0;\n  margin-bottom: 0;\n}\n\n.markdown-body li>p {\n  margin-top: var(--base-size-16);\n}\n\n.markdown-body li+li {\n  margin-top: .25em;\n}\n\n.markdown-body dl {\n  padding: 0;\n}\n\n.markdown-body dl dt {\n  padding: 0;\n  margin-top: var(--base-size-16);\n  font-size: 1em;\n  font-style: italic;\n  font-weight: var(--base-text-weight-semibold, 600);\n}\n\n.markdown-body dl dd {\n  padding: 0 var(--base-size-16);\n  margin-bottom: var(--base-size-16);\n}\n\n.markdown-body table th {\n  font-weight: var(--base-text-weight-semibold, 600);\n}\n\n.markdown-body table th,\n.markdown-body table td {\n  padding: 6px 13px;\n  border: 1px solid var(--borderColor-default);\n}\n\n.markdown-body table td>:last-child {\n  margin-bottom: 0;\n}\n\n.markdown-body table tr {\n  background-color: var(--bgColor-default);\n  border-top: 1px solid var(--borderColor-muted);\n}\n\n.markdown-body table tr:nth-child(2n) {\n  background-color: var(--bgColor-muted);\n}\n\n.markdown-body table img {\n  background-color: transparent;\n}\n\n.markdown-body img[align=right] {\n  padding-left: 20px;\n}\n\n.markdown-body img[align=left] {\n  padding-right: 20px;\n}\n\n.markdown-body .emoji {\n  max-width: none;\n  vertical-align: text-top;\n  background-color: transparent;\n}\n\n.markdown-body span.frame {\n  display: block;\n  overflow: hidden;\n}\n\n.markdown-body span.frame>span {\n  display: block;\n  float: left;\n  width: auto;\n  padding: 7px;\n  margin: 13px 0 0;\n  overflow: hidden;\n  border: 1px solid var(--borderColor-default);\n}\n\n.markdown-body span.frame span img {\n  display: block;\n  float: left;\n}\n\n.markdown-body span.frame span span {\n  display: block;\n  padding: 5px 0 0;\n  clear: both;\n  color: var(--fgColor-default);\n}\n\n.markdown-body span.align-center {\n  display: block;\n  overflow: hidden;\n  clear: both;\n}\n\n.markdown-body span.align-center>span {\n  display: block;\n  margin: 13px auto 0;\n  overflow: hidden;\n  text-align: center;\n}\n\n.markdown-body span.align-center span img {\n  margin: 0 auto;\n  text-align: center;\n}\n\n.markdown-body span.align-right {\n  display: block;\n  overflow: hidden;\n  clear: both;\n}\n\n.markdown-body span.align-right>span {\n  display: block;\n  margin: 13px 0 0;\n  overflow: hidden;\n  text-align: right;\n}\n\n.markdown-body span.align-right span img {\n  margin: 0;\n  text-align: right;\n}\n\n.markdown-body span.float-left {\n  display: block;\n  float: left;\n  margin-right: 13px;\n  overflow: hidden;\n}\n\n.markdown-body span.float-left span {\n  margin: 13px 0 0;\n}\n\n.markdown-body span.float-right {\n  display: block;\n  float: right;\n  margin-left: 13px;\n  overflow: hidden;\n}\n\n.markdown-body span.float-right>span {\n  display: block;\n  margin: 13px auto 0;\n  overflow: hidden;\n  text-align: right;\n}\n\n.markdown-body code,\n.markdown-body tt {\n  padding: .2em .4em;\n  margin: 0;\n  font-size: 85%;\n  white-space: break-spaces;\n  background-color: var(--bgColor-neutral-muted);\n  border-radius: 6px;\n}\n\n.markdown-body code br,\n.markdown-body tt br {\n  display: none;\n}\n\n.markdown-body del code {\n  text-decoration: inherit;\n}\n\n.markdown-body samp {\n  font-size: 85%;\n}\n\n.markdown-body pre code {\n  font-size: 100%;\n}\n\n.markdown-body pre>code {\n  padding: 0;\n  margin: 0;\n  word-break: normal;\n  white-space: pre;\n  background: transparent;\n  border: 0;\n}\n\n.markdown-body .highlight {\n  margin-bottom: var(--base-size-16);\n}\n\n.markdown-body .highlight pre {\n  margin-bottom: 0;\n  word-break: normal;\n}\n\n.markdown-body .highlight pre,\n.markdown-body pre {\n  padding: var(--base-size-16);\n  overflow: auto;\n  font-size: 85%;\n  line-height: 1.45;\n  color: var(--fgColor-default);\n  background-color: var(--bgColor-muted);\n  border-radius: 6px;\n}\n\n.markdown-body pre code,\n.markdown-body pre tt {\n  display: inline;\n  max-width: auto;\n  padding: 0;\n  margin: 0;\n  overflow: visible;\n  line-height: inherit;\n  word-wrap: normal;\n  background-color: transparent;\n  border: 0;\n}\n\n.markdown-body .csv-data td,\n.markdown-body .csv-data th {\n  padding: 5px;\n  overflow: hidden;\n  font-size: 12px;\n  line-height: 1;\n  text-align: left;\n  white-space: nowrap;\n}\n\n.markdown-body .csv-data .blob-num {\n  padding: 10px var(--base-size-8) 9px;\n  text-align: right;\n  background: var(--bgColor-default);\n  border: 0;\n}\n\n.markdown-body .csv-data tr {\n  border-top: 0;\n}\n\n.markdown-body .csv-data th {\n  font-weight: var(--base-text-weight-semibold, 600);\n  background: var(--bgColor-muted);\n  border-top: 0;\n}\n\n.markdown-body [data-footnote-ref]::before {\n  content: \"[\";\n}\n\n.markdown-body [data-footnote-ref]::after {\n  content: \"]\";\n}\n\n.markdown-body .footnotes {\n  font-size: 12px;\n  color: var(--fgColor-muted);\n  border-top: 1px solid var(--borderColor-default);\n}\n\n.markdown-body .footnotes ol {\n  padding-left: var(--base-size-16);\n}\n\n.markdown-body .footnotes ol ul {\n  display: inline-block;\n  padding-left: var(--base-size-16);\n  margin-top: var(--base-size-16);\n}\n\n.markdown-body .footnotes li {\n  position: relative;\n}\n\n.markdown-body .footnotes li:target::before {\n  position: absolute;\n  top: calc(var(--base-size-8)*-1);\n  right: calc(var(--base-size-8)*-1);\n  bottom: calc(var(--base-size-8)*-1);\n  left: calc(var(--base-size-24)*-1);\n  pointer-events: none;\n  content: \"\";\n  border: 2px solid var(--borderColor-accent-emphasis);\n  border-radius: 6px;\n}\n\n.markdown-body .footnotes li:target {\n  color: var(--fgColor-default);\n}\n\n.markdown-body .footnotes .data-footnote-backref g-emoji {\n  font-family: monospace;\n}\n\n.markdown-body body:has(:modal) {\n  padding-right: var(--dialog-scrollgutter) !important;\n}\n\n.markdown-body .pl-c {\n  color: var(--color-prettylights-syntax-comment);\n}\n\n.markdown-body .pl-c1,\n.markdown-body .pl-s .pl-v {\n  color: var(--color-prettylights-syntax-constant);\n}\n\n.markdown-body .pl-e,\n.markdown-body .pl-en {\n  color: var(--color-prettylights-syntax-entity);\n}\n\n.markdown-body .pl-smi,\n.markdown-body .pl-s .pl-s1 {\n  color: var(--color-prettylights-syntax-storage-modifier-import);\n}\n\n.markdown-body .pl-ent {\n  color: var(--color-prettylights-syntax-entity-tag);\n}\n\n.markdown-body .pl-k {\n  color: var(--color-prettylights-syntax-keyword);\n}\n\n.markdown-body .pl-s,\n.markdown-body .pl-pds,\n.markdown-body .pl-s .pl-pse .pl-s1,\n.markdown-body .pl-sr,\n.markdown-body .pl-sr .pl-cce,\n.markdown-body .pl-sr .pl-sre,\n.markdown-body .pl-sr .pl-sra {\n  color: var(--color-prettylights-syntax-string);\n}\n\n.markdown-body .pl-v,\n.markdown-body .pl-smw {\n  color: var(--color-prettylights-syntax-variable);\n}\n\n.markdown-body .pl-bu {\n  color: var(--color-prettylights-syntax-brackethighlighter-unmatched);\n}\n\n.markdown-body .pl-ii {\n  color: var(--color-prettylights-syntax-invalid-illegal-text);\n  background-color: var(--color-prettylights-syntax-invalid-illegal-bg);\n}\n\n.markdown-body .pl-c2 {\n  color: var(--color-prettylights-syntax-carriage-return-text);\n  background-color: var(--color-prettylights-syntax-carriage-return-bg);\n}\n\n.markdown-body .pl-sr .pl-cce {\n  font-weight: bold;\n  color: var(--color-prettylights-syntax-string-regexp);\n}\n\n.markdown-body .pl-ml {\n  color: var(--color-prettylights-syntax-markup-list);\n}\n\n.markdown-body .pl-mh,\n.markdown-body .pl-mh .pl-en,\n.markdown-body .pl-ms {\n  font-weight: bold;\n  color: var(--color-prettylights-syntax-markup-heading);\n}\n\n.markdown-body .pl-mi {\n  font-style: italic;\n  color: var(--color-prettylights-syntax-markup-italic);\n}\n\n.markdown-body .pl-mb {\n  font-weight: bold;\n  color: var(--color-prettylights-syntax-markup-bold);\n}\n\n.markdown-body .pl-md {\n  color: var(--color-prettylights-syntax-markup-deleted-text);\n  background-color: var(--color-prettylights-syntax-markup-deleted-bg);\n}\n\n.markdown-body .pl-mi1 {\n  color: var(--color-prettylights-syntax-markup-inserted-text);\n  background-color: var(--color-prettylights-syntax-markup-inserted-bg);\n}\n\n.markdown-body .pl-mc {\n  color: var(--color-prettylights-syntax-markup-changed-text);\n  background-color: var(--color-prettylights-syntax-markup-changed-bg);\n}\n\n.markdown-body .pl-mi2 {\n  color: var(--color-prettylights-syntax-markup-ignored-text);\n  background-color: var(--color-prettylights-syntax-markup-ignored-bg);\n}\n\n.markdown-body .pl-mdr {\n  font-weight: bold;\n  color: var(--color-prettylights-syntax-meta-diff-range);\n}\n\n.markdown-body .pl-ba {\n  color: var(--color-prettylights-syntax-brackethighlighter-angle);\n}\n\n.markdown-body .pl-sg {\n  color: var(--color-prettylights-syntax-sublimelinter-gutter-mark);\n}\n\n.markdown-body .pl-corl {\n  text-decoration: underline;\n  color: var(--color-prettylights-syntax-constant-other-reference-link);\n}\n\n.markdown-body [role=button]:focus:not(:focus-visible),\n.markdown-body [role=tabpanel][tabindex=\"0\"]:focus:not(:focus-visible),\n.markdown-body button:focus:not(:focus-visible),\n.markdown-body summary:focus:not(:focus-visible),\n.markdown-body a:focus:not(:focus-visible) {\n  outline: none;\n  box-shadow: none;\n}\n\n.markdown-body [tabindex=\"0\"]:focus:not(:focus-visible),\n.markdown-body details-dialog:focus:not(:focus-visible) {\n  outline: none;\n}\n\n.markdown-body g-emoji {\n  display: inline-block;\n  min-width: 1ch;\n  font-family: \"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\";\n  font-size: 1em;\n  font-style: normal !important;\n  font-weight: var(--base-text-weight-normal, 400);\n  line-height: 1;\n  vertical-align: -0.075em;\n}\n\n.markdown-body g-emoji img {\n  width: 1em;\n  height: 1em;\n}\n\n.markdown-body .task-list-item {\n  list-style-type: none;\n}\n\n.markdown-body .task-list-item label {\n  font-weight: var(--base-text-weight-normal, 400);\n}\n\n.markdown-body .task-list-item.enabled label {\n  cursor: pointer;\n}\n\n.markdown-body .task-list-item+.task-list-item {\n  margin-top: var(--base-size-4);\n}\n\n.markdown-body .task-list-item .handle {\n  display: none;\n}\n\n.markdown-body .task-list-item-checkbox {\n  margin: 0 .2em .25em -1.4em;\n  vertical-align: middle;\n}\n\n.markdown-body ul:dir(rtl) .task-list-item-checkbox {\n  margin: 0 -1.6em .25em .2em;\n}\n\n.markdown-body ol:dir(rtl) .task-list-item-checkbox {\n  margin: 0 -1.6em .25em .2em;\n}\n\n.markdown-body .contains-task-list:hover .task-list-item-convert-container,\n.markdown-body .contains-task-list:focus-within .task-list-item-convert-container {\n  display: block;\n  width: auto;\n  height: 24px;\n  overflow: visible;\n  clip: auto;\n}\n\n.markdown-body ::-webkit-calendar-picker-indicator {\n  filter: invert(50%);\n}\n\n.markdown-body .markdown-alert {\n  padding: var(--base-size-8) var(--base-size-16);\n  margin-bottom: var(--base-size-16);\n  color: inherit;\n  border-left: .25em solid var(--borderColor-default);\n}\n\n.markdown-body .markdown-alert>:first-child {\n  margin-top: 0;\n}\n\n.markdown-body .markdown-alert>:last-child {\n  margin-bottom: 0;\n}\n\n.markdown-body .markdown-alert .markdown-alert-title {\n  display: flex;\n  font-weight: var(--base-text-weight-medium, 500);\n  align-items: center;\n  line-height: 1;\n}\n\n.markdown-body .markdown-alert.markdown-alert-note {\n  border-left-color: var(--borderColor-accent-emphasis);\n}\n\n.markdown-body .markdown-alert.markdown-alert-note .markdown-alert-title {\n  color: var(--fgColor-accent);\n}\n\n.markdown-body .markdown-alert.markdown-alert-important {\n  border-left-color: var(--borderColor-done-emphasis);\n}\n\n.markdown-body .markdown-alert.markdown-alert-important .markdown-alert-title {\n  color: var(--fgColor-done);\n}\n\n.markdown-body .markdown-alert.markdown-alert-warning {\n  border-left-color: var(--borderColor-attention-emphasis);\n}\n\n.markdown-body .markdown-alert.markdown-alert-warning .markdown-alert-title {\n  color: var(--fgColor-attention);\n}\n\n.markdown-body .markdown-alert.markdown-alert-tip {\n  border-left-color: var(--borderColor-success-emphasis);\n}\n\n.markdown-body .markdown-alert.markdown-alert-tip .markdown-alert-title {\n  color: var(--fgColor-success);\n}\n\n.markdown-body .markdown-alert.markdown-alert-caution {\n  border-left-color: var(--borderColor-danger-emphasis);\n}\n\n.markdown-body .markdown-alert.markdown-alert-caution .markdown-alert-title {\n  color: var(--fgColor-danger);\n}\n\n.markdown-body>*:first-child>.heading-element:first-child {\n  margin-top: 0 !important;\n}\n\n.markdown-body .highlight pre:has(+.zeroclipboard-container) {\n  min-height: 52px;\n}\n\n"
  },
  {
    "articleStyle": 0,
    "customOrder": -10098586,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "",
    "ruleContent": "",
    "ruleImage": "",
    "ruleLink": "",
    "ruleNextPage": "",
    "ruleTitle": "",
    "singleUrl": true,
    "sourceGroup": "R18",
    "sourceIcon": "https://img2.baidu.com/it/u=2497591018,1494490685&fm=253&fmt=auto&app=138&f=JPEG?w=375&h=500",
    "sourceName": "美女直播",
    "sourceUrl": "https://zh.virtualtaboo.live/",
    "style": "video{\nwidth:100%;\nheight:auto;}"
  },
  {
    "articleStyle": 1,
    "customOrder": -10098586,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\"User-Agent\": \"Mozilla/5.0 (Linux; U; Android 14; zh-cn; M2102K1AC Build/UKQ1.231207.002) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/109.0.5414.118 Mobile Safari/537.36 MQQBrowser/10.1.0\"}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": ".thumbnail-group@li",
    "ruleContent": "<js>\np=result.match(/vod\\_data.*url\\\"\\:\\\"(.*?)\\\"\\,\\\"url/);\np=(p?p[1]:1).replace(/\\\\/g,'')||1; pi=java.getString('.breadcrumbs@span@text')||1;\n`<html>\n    <head>\n        <meta name=\"viewport\" content=\"width=device-width\">\n        <style>\n            body {\n                margin: 0;\n                font-family: Arial, sans-serif;\n                background: linear-gradient(135deg, #ece9e6, #ffffff);\n                display: flex;\n                flex-direction: column;\n                align-items: center;\n                justify-content: flex-start;\n                padding: 20px;\n            }\n            .container {\n                width: 100%;\n                max-width: 800px;\n                background: #fff;\n                border-radius: 10px;\n                box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);\n                overflow: hidden;\n                margin-bottom: 20px;\n            }\n            h3 {\n                margin: 0;\n                padding: 10px 20px;\n                font-size: 0.9em;\n                background: #333;\n                color: #fff;\n                border-radius: 10px 10px 0 0;\n            }\n            .video-container {\n                width: 100%;\n                background: #000;\n                position: relative;\n            }\n            video {\n                width: 100%;\n                height: auto;\n                display: block;\n            }\n            .info-container {\n                padding: 20px;\n            }\n            .info-container p {\n                margin: 10px 0;\n                color: #555;\n            }\n            .info-container p span {\n                font-weight: bold;\n                color: #000;\n            }\n        </style>\n    </head>\n    <body>\n        <div class=\"container\">\n        <h3>${pi}</h3>\n            <div class=\"video-container\">\n                <video controls autoplay name=\"media\" id=\"videoPlayer\">\n                    <source src=\"${p}\" type=\"video/mp4\">\n                </video>\n            </div>\n            <div class=\"info-container\">\n                \n            </div>\n        </div>\n\n        <script>\n            // 获取视频元素\n            const video = document.getElementById('videoPlayer');\n            let touchStartX = 0;\n            let touchStartY = 0;\n            let touchStartTime = 0;\n            let isLongPress = false;\n\n            // 滑动快进\n            video.addEventListener('touchstart', (e) => {\n                touchStartX = e.touches[0].clientX;\n                touchStartY = e.touches[0].clientY;\n                touchStartTime = Date.now();\n                isLongPress = false;\n            });\n\n            video.addEventListener('touchmove', (e) => {\n                const deltaX = e.touches[0].clientX - touchStartX;\n                const deltaY = e.touches[0].clientY - touchStartY;\n\n                // 如果是水平滑动，且未进入长按状态\n                if (Math.abs(deltaX) > Math.abs(deltaY) && !isLongPress) {\n                    const duration = video.duration;\n                    const seekTime = video.currentTime + (deltaX / 100); // 每滑动100px快进1秒\n                    video.currentTime = Math.min(Math.max(seekTime, 0), duration);\n                }\n            });\n\n            // 长按快进\n            video.addEventListener('touchend', (e) => {\n                const touchEndTime = Date.now();\n                const touchDuration = touchEndTime - touchStartTime;\n\n                // 如果长按时间超过500ms，进入长按快进状态\n                if (touchDuration > 500) {\n                    isLongPress = true;\n\n                    // 在长按状态下，根据滑动距离快进\n                    const deltaX = e.changedTouches[0].clientX - touchStartX;\n                    const duration = video.duration;\n                    const seekTime = video.currentTime + (deltaX / 100); // 每滑动100px快进1秒\n                    video.currentTime = Math.min(Math.max(seekTime, 0), duration);\n                } else {\n                    isLongPress = false;\n                }\n            });\n\n            // 防止默认行为（如页面滚动）\n            video.addEventListener('touchmove', (e) => {\n                e.preventDefault();\n            });\n        </script>\n    </body>\n</html>`;\n\n</js>",
    "ruleImage": "img@src",
    "ruleLink": "a@href",
    "ruleNextPage": "text.下一页@href",
    "rulePubDate": "p@text",
    "ruleTitle": "h5@text||img@alt",
    "singleUrl": false,
    "sortUrl": "网曝门::/index.php/vod/type/id/39/page/{{page}}.html\n\n搜索🔍::/index.php/vod/search/page/{{page}}/wd/{{source.getVariable()}}.html\n国产专区::/\n网曝门::/index.php/vod/type/id/39/page/{{page}}.html\n探花系列::/index.php/vod/type/id/41/page/{{page}}.html\n抖音视频::/index.php/vod/type/id/62/page/{{page}}.html\n热门头条::/index.php/vod/type/id/63/page/{{page}}.html\n伦理三级::/index.php/vod/type/id/6/page/{{page}}.html\n国产精品::/index.php/vod/type/id/7/page/{{page}}.html\n偷拍自拍::/index.php/vod/type/id/8/page/{{page}}.html\n主播大秀::/index.php/vod/type/id/9/page/{{page}}.html\n海外专区::/\n亚洲无码::/index.php/vod/type/id/25/page/{{page}}.html\n中文字幕::/index.php/vod/type/id/26/page/{{page}}.html\n熟女人妻::/index.php/vod/type/id/21/page/{{page}}.html\n亚洲有码::/index.php/vod/type/id/22/page/{{page}}.html\n强奸乱伦::/index.php/vod/type/id/23/page/{{page}}.html\n巨乳美乳::/index.php/vod/type/id/20/page/{{page}}.html\n制服丝袜::/index.php/vod/type/id/11/page/{{page}}.html\n少女萝莉::/index.php/vod/type/id/12/page/{{page}}.html\n海外二区::/\n翹臀美尻::/index.php/vod/type/id/31/page/{{page}}.html\n欧美精品::/index.php/vod/type/id/32/page/{{page}}.html\n过膝袜::/index.php/vod/type/id/38/page/{{page}}.html\n淫妻绿帽::/index.php/vod/type/id/40/page/{{page}}.html\n怀旧AV::/index.php/vod/type/id/58/page/{{page}}.html\n韩国主播::/index.php/vod/type/id/64/page/{{page}}.html\n极品媚黑::/index.php/vod/type/id/65/page/{{page}}.html\n卡通动漫::/index.php/vod/type/id/10/page/{{page}}.html\n特色一区::/\nAl换脸::/index.php/vod/type/id/28/page/{{page}}.html\n同性专区::/index.php/vod/type/id/27/page/{{page}}.html\nTS人妖::/index.php/vod/type/id/42/page/{{page}}.html\nAV解说::/index.php/vod/type/id/56/page/{{page}}.html\nVR视角::/index.php/vod/type/id/57/page/{{page}}.html\n欺辱凌辱::/index.php/vod/type/id/81/page/{{page}}.html\n福利姬::/index.php/vod/type/id/87/page/{{page}}.html\n国模私拍::/index.php/vod/type/id/88/page/{{page}}.html\n特二色区::/\n野外激情::/index.php/vod/type/id/82/page/{{page}}.html\n学生诱惑::/index.php/vod/type/id/83/page/{{page}}.html\nSM调教::/index.php/vod/type/id/84/page/{{page}}.html\n国产乱伦::/index.php/vod/type/id/85/page/{{page}}.html\n职场同事::/index.php/vod/type/id/89/page/{{page}}.html\n空姐模特::/index.php/vod/type/id/90/page/{{page}}.html\n国产名人::/index.php/vod/type/id/91/page/{{page}}.html\n小鸟酱专题::/index.php/vod/type/id/92/page/{{page}}.html\n传媒一区::/\n国产传媒::/index.php/vod/type/id/33/page/{{page}}.html\n麻豆传媒::/index.php/vod/type/id/43/page/{{page}}.html\n杏吧传媒::/index.php/vod/type/id/44/page/{{page}}.html\n兔子先生::/index.php/vod/type/id/45/page/{{page}}.html\n天美传媒::/index.php/vod/type/id/46/page/{{page}}.html\nSA国际传媒::/index.php/vod/type/id/47/page/{{page}}.html\n性世界::/index.php/vod/type/id/48/page/{{page}}.html\n扣扣传媒::/index.php/vod/type/id/49/page/{{page}}.html\n传媒二区::/\n果冻传媒::/index.php/vod/type/id/50/page/{{page}}.html\n星空无限::/index.php/vod/type/id/51/page/{{page}}.html\n精东影业::/index.php/vod/type/id/52/page/{{page}}.html\n葫芦影业::/index.php/vod/type/id/53/page/{{page}}.html\n蜜桃传媒::/index.php/vod/type/id/54/page/{{page}}.html\n起点传媒::/index.php/vod/type/id/55/{{page}}.html\nJVID::/index.php/vod/type/id/59/page/{{page}}.html\nSWAG::/index.php/vod/type/id/60/page/{{page}}.html \n日本一区::/\n口交颜射::/index.php/vod/type/id/34/page/{{page}}.html\n女优明星::/index.php/vod/type/id/35/page/{{page}}.html\n素人自拍::/index.php/vod/type/id/36/page/{{page}}.html\n多人群交::/index.php/vod/type/id/37/page/{{page}}.html\ncosplay::/index.php/vod/type/id/61/page/{{page}}.html\n素人搭讪::/index.php/vod/type/id/80/page/{{page}}.html\n",
    "sourceGroup": "R18",
    "sourceIcon": "https://ged520-github-io.pages.dev/header_2025_02_10_18_24.png",
    "sourceName": "无限臀山",
    "sourceUrl": "https://wxts.wuxiants313.com/"
  },
  {
    "articleStyle": 1,
    "customOrder": -10098584,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "@js:\nJSON.stringify({\n  'User-Agent': \"Mozilla/5.0 (Linux; Android 15; V2304A Build/AP3A.240905.015.A2; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/132.0.6834.163 Mobile Safari/537.36\",\n  'sec-ch-ua-platform': \"\\\"Android\\\"\",\n  'origin': baseUrl,\n  'x-requested-with': \"cn.mujiankeji.mbrowser\",\n  'Referer': baseUrl,\n  'Accept-language': \"zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7\"\n})",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": ".module-list@.module-search-item||.module-list@.module-item-cover",
    "ruleContent": "<js>\np=result.match(/url\\\"\\:\\\"(.*?)\\\"\\,\\\"url/)\np=(p?p[1]:1).replace(/\\\\/g,'') || 1;\npi=java.getString('.video-info-main@html') || 1;\np2 = java.getString('h1@text') || 1;\n`<html>\n    <head>\n        <meta name=\"viewport\" content=\"width=device-width\">\n        <style>\n            body {\n                margin: 0;\n                font-family: Arial, sans-serif;\n                background: linear-gradient(135deg, #ece9e6, #ffffff);\n                display: flex;\n                flex-direction: column;\n                align-items: center;\n                justify-content: flex-start;\n                padding: 20px;\n            }\n            .container {\n                width: 100%;\n                max-width: 800px;\n                background: #fff;\n                border-radius: 10px;\n                box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);\n                overflow: hidden;\n                margin-bottom: 20px;\n            }\n            h3 {\n                margin: 0;\n                padding: 10px 20px;\n                font-size: 0.9em;\n                background: #333;\n                color: #fff;\n                border-radius: 10px 10px 0 0;\n            }\n            .video-container {\n                width: 100%;\n                background: #000;\n                position: relative;\n            }\n            video {\n                width: 100%;\n                height: auto;\n                display: block;\n            }\n            .info-container {\n                padding: 20px;\n            }\n            .info-container p {\n                margin: 10px 0;\n                color: #555;\n            }\n            .info-container p span {\n                font-weight: bold;\n                color: #000;\n            }\n        </style>\n    </head>\n    <body>\n        <div class=\"container\">\n        <h3>${p2}</h3>\n            <div class=\"video-container\">\n                <video controls autoplay name=\"media\" id=\"videoPlayer\">\n                    <source src=\"${p}\" type=\"video/mp4\">\n                </video>\n            </div>\n            <div class=\"info-container\">\n             <p>简介🏷<span>${pi}</span></p>\n            </div>\n        </div>\n\n        <script>\n            // 获取视频元素\n            const video = document.getElementById('videoPlayer');\n            let touchStartX = 0;\n            let touchStartY = 0;\n            let touchStartTime = 0;\n            let isLongPress = false;\n\n            // 滑动快进\n            video.addEventListener('touchstart', (e) => {\n                touchStartX = e.touches[0].clientX;\n                touchStartY = e.touches[0].clientY;\n                touchStartTime = Date.now();\n                isLongPress = false;\n            });\n\n            video.addEventListener('touchmove', (e) => {\n                const deltaX = e.touches[0].clientX - touchStartX;\n                const deltaY = e.touches[0].clientY - touchStartY;\n\n                // 如果是水平滑动，且未进入长按状态\n                if (Math.abs(deltaX) > Math.abs(deltaY) && !isLongPress) {\n                    const duration = video.duration;\n                    const seekTime = video.currentTime + (deltaX / 100); // 每滑动100px快进1秒\n                    video.currentTime = Math.min(Math.max(seekTime, 0), duration);\n                }\n            });\n\n            // 长按快进\n            video.addEventListener('touchend', (e) => {\n                const touchEndTime = Date.now();\n                const touchDuration = touchEndTime - touchStartTime;\n\n                // 如果长按时间超过500ms，进入长按快进状态\n                if (touchDuration > 500) {\n                    isLongPress = true;\n\n                    // 在长按状态下，根据滑动距离快进\n                    const deltaX = e.changedTouches[0].clientX - touchStartX;\n                    const duration = video.duration;\n                    const seekTime = video.currentTime + (deltaX / 100); // 每滑动100px快进1秒\n                    video.currentTime = Math.min(Math.max(seekTime, 0), duration);\n                } else {\n                    isLongPress = false;\n                }\n            });\n\n            // 防止默认行为（如页面滚动）\n            video.addEventListener('touchmove', (e) => {\n                e.preventDefault();\n            });\n        </script>\n    </body>\n</html>`;\n</js>",
    "ruleDescription": "",
    "ruleImage": "img@data-src",
    "ruleLink": "a@href\n<js>\np=result.match(/(\\d+)/);\np=p?p[1]:1\nresult=`https://wangbao.erwxahtxwpsds.mom/sirpdi/index.php/vod/play/id/${p}/sid/1/nid/1.html`\n</js>",
    "ruleNextPage": "text.下一页@href",
    "rulePubDate": "<js>\np=String(java.getString('a!-1:2@text')).replace(/\\n/g, \", \");\np1=String(java.getString('.module-item-caption@span@text')).replace(/\\n/g, \", \");\nresult=p+p1\n</js>",
    "ruleTitle": "a.0@title",
    "singleUrl": false,
    "sortUrl": "搜索🔍::https://wangbao.erwxahtxwpsds.mom/sirpdi/index.php/vod/search/wd/{{source.getVariable()}}.html\nSWAG::/sirpdi/index.php/vod/show/id/63.html\n国产精品::/sirpdi/index.php/vod/show/id/64.html\n网曝门事件::/sirpdi/index.php/vod/show/id/77.html\n国产探花::/sirpdi/index.php/vod/show/id/65.html\nJVID::/sirpdi/index.php/vod/show/id/66.html\n绿帽淫妻::/sirpdi/index.php/vod/show/id/67.html\n国产乱伦::/sirpdi/index.php/vod/show/id/68.html\n美女主播::/sirpdi/index.php/vod/show/id/69.html\n明星淫梦::/sirpdi/index.php/vod/show/id/70.html\n香港三级::/sirpdi/index.php/vod/show/id/71.html\n性世界::/sirpdi/index.php/vod/show/id/73.html\n影片库::/sirpdi/index.php/vod/show/id/3.html\n国产片商::/sirpdi/index.php/vod/show/id/42.html\n麻豆传媒::/sirpdi/index.php/vod/show/id/43.html\n兔子先生::/sirpdi/index.php/vod/show/id/44.html\n蜜桃传媒::/sirpdi/index.php/vod/show/id/45.html\n精东影业::/sirpdi/index.php/vod/show/id/46.html\n天美传媒::/sirpdi/index.php/vod/show/id/47.html\n星空无限::/sirpdi/index.php/vod/show/id/48.html\n果冻传媒::/sirpdi/index.php/vod/show/id/49.html\n葫芦影业::/sirpdi/index.php/vod/show/id/50.html\n杏吧传媒::/sirpdi/index.php/vod/show/id/51.html\n扣扣传媒::/sirpdi/index.php/vod/show/id/53.html\nSA国际传媒::/sirpdi/index.php/vod/show/id/54.html\n起点传媒::/sirpdi/index.php/vod/show/id/55.html\n影片库::/sirpdi/index.php/vod/show/id/1.html\n中文字幕::/sirpdi/index.php/vod/show/id/56.html\n精品素人::/sirpdi/index.php/vod/show/id/57.html\n高清无码::/sirpdi/index.php/vod/show/id/58.html\n日本有码::/sirpdi/index.php/vod/show/id/59.html\n怀旧AV::/sirpdi/index.php/vod/show/id/60.html\nVR专区::/sirpdi/index.php/vod/show/id/61.html\nAV解说::/sirpdi/index.php/vod/show/id/62.html\n影片库::/sirpdi/index.php/vod/show/id/2.html\n",
    "sourceGroup": "R18",
    "sourceIcon": "https://ged520-github-io.pages.dev/header_2025_02_10_18_24.png",
    "sourceName": "网爆13妹",
    "sourceUrl": "https://wangbao.erwxahtxwpsds.mom/sirpdi/",
    "style": ""
  },
  {
    "articleStyle": 1,
    "customOrder": -10098583,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": ".thumb-block",
    "ruleContent": "body@all\n<js>var URL=result.match(/\\('(https:.*?\\.*mp4\\?.*?)'/)[1];\nresult = URL.replace(/\\\\/g,\"\");\nresult =\"<video src=\"+result+\" width=\\\"100%\\\" height=\\\"auto\\\" autoplay      muted controls>  </video>\"\n</js>",
    "ruleImage": "img@data-src",
    "ruleLink": "tag.a.0@href",
    "ruleNextPage": "class.no-page next-page@href",
    "rulePubDate": "交流暗号🐧892966579       🕐{{@@class.duration@text}}",
    "ruleTitle": "a@title",
    "singleUrl": false,
    "sortUrl": "//搜索一设置源变量后再重进刷新下就行\n搜索一::/?k={{(source.getVariable()==''||source.getVariable()==null)?source.setVariable('妹妹'):\"\"}}{{source.getVariable()}}&p=\n\n\n//搜索二直接改搜索栏里的“k=”后面的文字就行\n搜索二::/?k=美女\n\n\n\n\n巨乳::/?k=巨乳\n国产::/?k=国产\n欧美::/?k=欧美\n日韩::/?k=日韩\n白虎::/?k=白虎\n丝袜::/?k=丝袜\n中文::/?k=中文\n医生::/?k=医生\n护士::/?k=护士\n女仆::/?k=女仆\n偷拍::/?k=偷拍\n巨乳::/c/Big_Tits-23/{{page}}\n调教::/c/Femdom-235/{{page}}\n中出::/c/Creampie-40/{{page}}\n少女::/c/Teen-13/{{page}}\n亚洲::/c/Asian_Woman-32/{{page}}",
    "sourceComment": "https://penzu.com/public/42071993地址发布页",
    "sourceGroup": "成人视频,R18",
    "sourceIcon": "https://i.postimg.cc/NjQmTCJ5/1629968589491.png",
    "sourceName": "玉羞园(免翻已修复)",
    "sourceUrl": "https://tt.yxy91.icu"
  },
  {
    "articleStyle": 2,
    "customOrder": -10098581,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "{\n\t\"User-Agent\": \"Mozilla/5.0 (Linux; Android 9) Mobile Safari/537.36\",\"referer\": \"{{baseUrl}}\"\n\t}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "li .stui-vodlist__box",
    "ruleContent": "<js>\nplayer=result.match(\"https.*x.m3u8\")[0]\nresult = \"<video src=\\\"\" + player\n + \"\\\"width=\\\"100%\\\" height=\\\"auto\\\" controls=\\\"controls\\\" ></video>\";\nresult = \"<html><head><meta charset=\\\"utf-8\\\"><meta name=\\\"viewport\\\" content=\\\"width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no\\\" /><style>html,body{margin:0;padding:0;width:100%;}</style></head><body>\" + result + \"</body></html>\"\n</js>",
    "ruleImage": "img@style##background:url((['\"])(.*?))",
    "ruleLink": "a@href##display##detail",
    "ruleNextPage": "text.下一页@href",
    "rulePubDate": "time@text",
    "ruleTitle": "a@title",
    "singleUrl": false,
    "sortUrl": "最近更新::/show/zuixin.html\n美女巨乳::/sort/id/309.html\n搜索::https://ynhjsfz.buzz/lookup/{{(source.getVariable()==''||source.getVariable()==null)?source.setVariable('妹妹'):\"\"}}{{source.getVariable()}}.html\n无码专区::/sort/id/295.html\n制服师生::/sort/id/297.htm\n萝莉系列::/sort/id/306.html\n人妻热门::/sort/id/309.htm\n多人群交::/sort/id/308.html\n强奸热门::/sort/id/310.html\n中文字幕::/sort/id/300.html\n女优明星::/sort/id/316.html\nSM调教::/sort/id/317.html\n网红大奶::/lookup/%E5%A4%A7%E6%B3%A2.html",
    "sourceComment": "https://ynhjjikc.xyz/永久地址网址失效可替换\n图片原来规则img@style##background:url((['\"])(.*?)\\1\\)",
    "sourceGroup": "R18",
    "sourceIcon": "https://images2.imgbox.com/8c/88/yEnanNes_o.jpg",
    "sourceName": "老鸭影院",
    "sourceUrl": "https://vszynhjlbbwa.lat"
  },
  {
    "articleStyle": 1,
    "customOrder": -10098579,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "<js>\nheaders={\n    \"User-Agent\": \"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Mobile Safari/537.36 EdgA/127.0.0.0\",\n    \"Referer\": String(source.getKey()).replace(/(.*\\/\\/[a-z0-9.-]+).*/, '$1')\n}\nJSON.stringify(headers);\n</js>",
    "injectJs": "",
    "jsLib": "function get(tag,num) {\n    sort = ['','最新上市','最新上傳','本日排行','本週排行','本月排行','觀看次數','他們在看'];\n    var e = eval(tag + '[' + num + ']');\n    return e;\n}\nfunction Get(e) {\n    const { java, source, cookie, cache } = this;\n    var get = JSON.parse(source.getLoginHeader());\n    return get[e];\n}\nfunction Map(e) {\n    const { java, source, cookie, cache } = this;\n    var infomap = source.getLoginInfoMap();\n    var map = (infomap !== null && infomap.get(e)) ? infomap.get(e) : '';\n    return String(map);\n}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginCheckJs": "java.initUrl()",
    "loginUi": "[\n  { name: \"                      ༺ˇ»`ʚ  点击切换排序  ɞ´«ˇ༻                    \", type: \"button\" },\n  { name: \"  默认排序  \", type: \"button\", action: \"o(0)\" },\n  { name: \"   最新上市   \", type: \"button\", action: \"o(1)\" },\n  { name: \"  最新上傳  \", type: \"button\", action: \"o(2)\" },\n  { name: \"  本日排行  \", type: \"button\", action: \"o(3)\" },\n  { name: \"   本週排行   \", type: \"button\", action: \"o(4)\" },\n  { name: \"  本月排行  \", type: \"button\", action: \"o(5)\" },\n  { name: \"  觀看次數  \", type: \"button\", action: \"o(6)\" },\n  { name: \"   他們在看   \", type: \"button\", action: \"o(7)\" },\n  { name: \"                   \", type: \"button\" },\n\n  { name: \"                      ༺ˇ»`ʚ  筛选发布日期  ɞ´«ˇ༻                    \", type: \"button\" },\n  { name: \"年份：\", type: \"text\" },\n  { name: \"月份：\", type: \"text\" },\n\n  { name: \"                      ༺ˇ»`ʚ  填写收藏词条  ɞ´«ˇ༻                    \", type: \"button\", action: \"login('【收藏词条】' + n(2) + '填写搜索关键词\\\\n多个关键词用英文逗号”,“隔开')\" },\n  { name: \"收藏：\", type: \"text\" }\n]",
    "loginUrl": "original = {\n    'o': 0\n};\ntry {\n    $$$ = JSON.parse(source.getLoginHeader());\n    if ($$$ == null) {\n        error;\n    } else {\n        '';\n    };\n} catch (e) {\n    $$$ = original;\n    put($$$);\n}\nfunction put(data) {\n    return source.putLoginHeader(JSON.stringify(data, null, '\\t'));\n}\nfunction login(e) {\n    if (e == undefined) {\n        return;\n    }\n    java.longToast(e);\n}\nfunction n(e) {\n    n = '\\n';\n    for (m = 1; m < e; m++) {\n        n = n + '\\n';\n    }\n    return n;\n}\nfunction k(e) {\n    k = ' ';\n    for (q = 1; q < e; q++) {\n        k = k + ' ';\n    }\n    return k;\n}\nO = ['默认排序','最新上市','最新上傳','本日排行','本週排行','本月排行','觀看次數','他們在看'];\nfunction typeO(e) {\n    if (e == undefined) {\n        e = 0;\n    }\n    return O[e];\n}\nfunction o(e) {\n    if (o == undefined) {\n        o = result.o;\n    }\n    if (e == $$$.o) {\n        return login('【排序切换提示】' + n(2) + '已经选择此排序，无需更换');\n    }\n    login('【排序切换提示】' + n(2) + '已经切换到[' + typeO(e) + ']排序');\n    $$$.o = e;\n    return put($$$);\n}",
    "ruleArticles": ".col-xs-12||.home-rows-videos-wrapper a",
    "ruleContent": "<js>\n//获取集数\nvar list = java.getElements('#playlist-scroll.0@.multiple-link-wrapper');\nvar type = java.getElements('#video-artist-name').attr('href');\nlist = Array.from(list).reverse();\nvar n = '';\njishu = list.map(($, i)=>{\n    var value = '',name = '',bt = '',rq = '',bf = '',dz = '',sc = '',bq = '',jj = '',fm = '';\n    if (/videos-scroll/.test($)) {\n        n = i;\n    }\n    if (/裏番|泡麵番/.test(type) || /videos-scroll/.test($)) {\n        list0 = Array.from(java.getElements('.card-mobile-title')).reverse();\n        url = $.select('.overlay').attr('href');\n        name = /預告/.test(list0[i].text()) ? `第${i + 1}集⏳` : `第${i + 1}集`;\n        J = org.jsoup.Jsoup.parse(java.ajax(url));\n        bt = $.select('.card-mobile-title').text();\n        rq = '📆 日期：' + String(J.select('.video-description-panel div')[0].text()).replace(/.*\\s(.*?)$/,'$1');\n        bf = '🎥 播放：' + $.select('.card-mobile-duration')[1].text();\n        dz = '❤ 点赞：' + String(J.select('#video-like-btn').text()).replace(/thumb_up/,'');\n        sc = '👤 上传：' + $.select('.card-mobile-user').text();\n        bq = '🔖 标签：' + String(J.select('.single-video-tag').text()).replace(/ add| remove/g,'');\n        jj = '📋 简介：' + String(J.select('.video-description-panel div')[2].text()).replace(/add|remove|\\s$/g,'');\n        fm = $.select('img')[1].attr('src');\n        var Value = [];\n        var size = '';\n        var list1 = J.select('video source')[0] ? J.select('video source') : java.getElements('video source');\n        if (!list1[0]) {\n            res = String(java.getElements('script[type=\"application/ld+json\"]'));\n            url1 = res.match(/contentUrl\":\\s*\"(.*?)\"/)[1];\n            Value.push({src:url1,size:'0'});\n        } else {\n            for (j in list1) {\n                Value.push({src:list1[j].attr('src'),size:list1[j].attr('size')});\n            }\n        }\n        Value.sort((a, b) => parseInt(b.size) - parseInt(a.size));\n        value = JSON.stringify(Value);\n    }\n    return `<button onclick=\"jishu(this)\" value=${value} data-bt=\"${bt}\" data-rq=\"${rq}\" data-bf=\"${bf}\" data-dz=\"${dz}\" data-sc=\"${sc}\" data-bq=\"${bq}\" data-jj=\"${jj}\" data-fm=\"${fm}\"><b>${name}</b></button>`;\n}).join('\\n');\nstyle = /裏番|泡麵番/.test(type) ? '' : ' style=\"display:none;\"';\njishu = `<div class=\"jishu\" data-n=\"${n}\"${style}>\\n<p>🎬 集数：</p>\\n<p>${jishu}</p>\\n</div>\\n`;\n\n//返回json\nJSON.stringify({\n    jishu: jishu\n})\n</js>\n<!DOCTYPE html>\n<html lang=\"zh-Hans\">\n<head>\n<title></title>\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no\">\n<link rel=\"stylesheet\" href=\"https://cdn.plyr.io/3.6.12/plyr.css\">\n<style>\n* {\n    z-index: 0;\n    margin: 0;\n    padding: 0;\n}\n\nbody {\n    margin: auto;\n    background: #ccc;\n    width: 100%;\n}\n\nbody>p:first-of-type {\n    width: 100%;\n    position: sticky;\n    top: 0px;\n    text-indent: 0px;\n    height: 16px;\n    font-size: 0.7rem;\n    border-radius: 0px 0px 0px 0px;\n    background: #000;\n    color: #fff;\n    white-space: nowrap;\n    overflow: auto;\n    z-index: 4;\n}\n\nvideo {\n    visibility: hidden;\n}\n\n.video-container {\n    position: relative;\n    min-height: 56.25vw;\n    z-index: 3;\n}\n\n#player {\n    position: relative;\n    top: 0;\n    left: 0;\n    width: 100%;\n    height: 100%;\n}\n\n:root {\n    --plyr-color-main: #00aaff;/* 播放器主要颜色 */\n    --plyr-control-color: #fff;/* 播放器控件图标颜色 */\n    --plyr-control-background: transparent;/* 播放器控件背景颜色 */\n    --plyr-video-background: transparent;/* 视频背景颜色 */\n    --plyr-range-fill-background: #0099ee;/* 进度条已填充部分的颜色 */\n    --plyr-range-thumb-background: #fff;/* 进度条滑块的颜色 */\n}\n\n.plyr__control--overlaid {\n    background: transparent;\n    border: 0;\n    border-radius: 100%;\n    color: #fff;\n    left: calc(50% - 30px);\n    top: calc(50% - 45px);\n    transform: none;\n    width: 60px;\n    height: 60px;\n    padding: 0;\n    z-index: 2;\n}\n\n.plyr__control--overlaid svg {\n    width: 50px;\n    height: 50px;\n    left: calc(50% - 25px);\n    top: calc(50% - 25px);\n    transform: none;\n    fill: #fff;/* 大播放器控件图标颜色 */\n}\n\n.plyr--video .plyr__control.plyr__tab-focus,.plyr--video .plyr__control:hover,.plyr--video .plyr__control[aria-expanded=true] {\n    background: transparent;/* 播放器控件悬停/点击背景颜色 */\n    color: #00aaff;/* 播放器控件悬停/点击图标颜色 */\n}\n\n.plyr__controls .plyr__controls__item {\n    margin-left: auto;\n    margin: calc(var(--plyr-control-spacing,10px)/4);\n}\n\n.plyr__time--duration {\n    display: inline-block!important;\n}\n\n.plyr__time+.plyr__time:before {\n    margin-right: 8px!important\n}\n\n@media (max-width: 640px) {\n    .plyr__captions {\n        margin-bottom:-8px\n    }\n\n    .plyr__progress__container {\n        margin-right: 5px\n    }\n\n    .plyr__time {\n        position: absolute;\n        bottom: 29px;\n    }\n\n    .plyr__time--current {\n        left: 108px\n    }\n\n    .plyr__time+.plyr__time:before {\n        content: \"\"!important\n    }\n\n    .plyr__time--duration {\n        right: 110px;\n    }\n\n    .plyr__volume {\n        width: auto;\n        max-width: 32px!important;\n        min-width: 32px!important\n    }\n\n    input[id^=plyr-volume-] {\n        display: none!important;\n    }\n\n    .plyr--airplay-supported [data-plyr=airplay],.plyr--captions-enabled [data-plyr=captions],.plyr--pip-supported [data-plyr=pip] {\n        display: none!important;\n    }\n}\n\n.all-info {\n    position: absolute;\n    background: #ccc;/* 详情信息背景颜色 */\n    margin: auto;\n    width: 100%;\n    height: auto;\n}\n\n.all-info>div {\n    width: 100%;\n    margin: auto;\n}\n\n.all-info>p {\n    text-indent: 0px;\n}\n\n.all-info>div>p {\n    width: 90%;\n    margin: 5px 5%;\n    outline: none;\n    text-align: left;\n    word-wrap: break-word;\n}\n\ndetails {\n    width: 100%;\n    height: auto;\n    margin: auto;\n    padding: 0;\n    border-bottom: 0.5px solid #333;\n}\n\ndetails>img {\n    width: 100%;\n}\n\ndetails[open] {\n    border-bottom: none;\n}\n\nsummary {\n    width: 90%;\n    margin: 5px 3%;\n    outline: none;\n    line-height: 1.5;\n    text-align: left;\n    word-wrap: break-word;\n}\n\nsummary::-webkit-details-marker {\n    display: none;\n}\n\nbutton {\n    width: 29.5%;\n    margin: 1.25%;\n    padding: 5px;\n    outline: none;\n    border-radius: 8px;\n    font-size: 0.7rem;\n    text-overflow: ellipsis;\n    overflow: hidden;\n}\n\nbutton.active {\n    color: #166188;\n    position: sticky;\n    left: 0;\n    right: 0;\n}\n</style>\n</head>\n<body>\n<p></p>\n<div class=\"video-container\">\n  <video id=\"player\" playsinline controls preload=\"auto\" poster=\"https://qyyuapi.com/img/noposter.png\">\n  </video>\n</div>\n<div class=\"all-info\">\n<details>\n  <summary>\n    <h3></h3>\n  </summary>\n  <img>\n</details>\n{{JSON.parse(result).jishu}}\n<div>\n  <p></p>\n  <p></p>\n  <p></p>\n  <p></p>\n  <p></p>\n  <p></p>\n</div>\n</div>\n\n\n<script src=\"https://cdn.plyr.io/3.6.12/plyr.js\"></script>\n<script src=\"https://cdn.jsdelivr.net/npm/hls.js@latest\"></script>\n\n<script>\n// 选中标签\nfunction $(rule) {\n    return document.querySelectorAll(rule);\n}\n\n// 删除选中标签的class\nfunction omit(items) {\n    return Array.from(items, (item) => {\n        item.className = \"\";\n    });\n}\n\n// 选中标签的class增加active\nfunction active(items, index) {\n    items[index].className = \"active\";\n}\n\n// 播放器实例\nlet player = null;\n\n// 获取视频URL并更新视频源\nfunction geturl() {\n    let zyurl = $(\".jishu button.active\")[0].value;\n    let img = $('img')[0];\n    let bt = $(\".jishu button.active\")[0].dataset.bt;\n    let rq = $(\".jishu button.active\")[0].dataset.rq;\n    let bf = $(\".jishu button.active\")[0].dataset.bf;\n    let dz = $(\".jishu button.active\")[0].dataset.dz;\n    let sc = $(\".jishu button.active\")[0].dataset.sc;\n    let bq = $(\".jishu button.active\")[0].dataset.bq;\n    let jj = $(\".jishu button.active\")[0].dataset.jj;\n    let fm = $(\".jishu button.active\")[0].dataset.fm;\n\n    // 更新页面信息\n    $(\"title\")[0].innerText = bt;\n    $(\".all-info>details>summary>h3\")[0].innerText = bt;\n    $(\".all-info>div>p\")[2].innerText = rq;\n    $(\".all-info>div>p\")[3].innerText = bf;\n    $(\".all-info>div>p\")[4].innerText = dz;\n    $(\".all-info>div>p\")[5].innerText = sc;\n    $(\".all-info>div>p\")[6].innerText = bq;\n    $(\".all-info>div>p\")[7].innerText = jj;\n    $(\".all-info>div>p\")[2].style = /：\\s*$/.test(rq) ? \"display:none;\" : \"\";\n    $(\".all-info>div>p\")[3].style = /：\\s*$/.test(bf) ? \"display:none;\" : \"\";\n    $(\".all-info>div>p\")[4].style = /：\\s*$/.test(dz) ? \"display:none;\" : \"\";\n    $(\".all-info>div>p\")[5].style = /：\\s*$/.test(sc) ? \"display:none;\" : \"\";\n    $(\".all-info>div>p\")[6].style = /：\\s*$/.test(bq) ? \"display:none;\" : \"\";\n    $(\".all-info>div>p\")[7].style = /：\\s*$/.test(jj) ? \"display:none;\" : \"\";\n\n    // 更新详情封面\n    img.src = fm;\n\n    // 更新视频封面\n    $(\".video-container\")[0].style.background = `#000 url('${fm}') no-repeat center center / cover`;\n\n    // 设置不同分辨率的视频源\n    let sources = JSON.parse(zyurl);\n\n    return { sources: sources };\n}\n\n// 初始化播放器\nfunction initializePlayer(sources) {\n    const video = $('video')[0];\n    const qualityOptions = sources.map(source => parseInt(source.size));\n\n    // 立即重新初始化 Plyr 实例\n    player = new Plyr(video, {\n        controls: [\n            'play-large',   // 大播放按钮\n            'rewind',       // 倒退\n            'play',         // 播放\n            'fast-forward', // 快进\n            'progress',     // 进度条\n            'current-time', // 当前时间\n            'duration',     // 总时长\n            'mute',         // 静音\n            'volume',       // 音量\n            'captions',     // 字幕\n            'settings',     // 设置\n            'pip',          // 画中画\n            'airplay',      // Airplay\n            'fullscreen'    // 全屏\n        ],\n        settings: ['quality', 'speed'],\n        quality: {\n            default: qualityOptions[0],\n            options: qualityOptions,\n            forced: true,\n            onChange: (newQuality) => {\n                changeVideoQuality(newQuality, sources);\n            }\n        },\n        fullscreen: {\n            enabled: true,\n            fallback: true,\n            iosNative: true,\n            container: null,\n        },\n        speed: {\n            selected: 1, // 设置默认播放倍数\n            options: [0.25, 0.5, 1, 1.5, 2],\n        },\n        i18n: {\n            restart: '重新开始',\n            rewind: '倒退 {seektime} 秒',\n            play: '播放',\n            pause: '暂停',\n            fastForward: '快进 {seektime} 秒',\n            seek: '进度',\n            seekLabel: '{currentTime} / {duration}',\n            played: '播放',\n            buffered: '缓冲',\n            currentTime: '当前时间',\n            duration: '持续时间',\n            volume: '音量',\n            mute: '静音',\n            unmute: '取消静音',\n            enableCaptions: '启用字幕',\n            disableCaptions: '禁用字幕',\n            enterFullscreen: '进入全屏',\n            exitFullscreen: '退出全屏',\n            frameTitle: '播放器',\n            captions: '字幕',\n            settings: '设置',\n            speed: '速度',\n            normal: '正常',\n            quality: '画质',\n            qualityLabel: {\n                0: '自动',\n            },\n            pip: '画中画',\n            loop: '循环',\n            start: '开始',\n            end: '结束',\n            all: '全部',\n            reset: '重置',\n            disabled: '禁用',\n            advertisement: '广告'\n        },\n        keyboard: {\n            focused: true,\n            global: true,\n        },\n        tooltips: {\n            controls: true,\n            seek: true\n        },\n        captions: {\n            active: true,\n            update: true,\n            language: 'auto',\n        },\n    });\n\n    player.on('ready', () => {\n        video.style.visibility = 'visible';\n\n        // 添加长按倍速播放功能\n        let longPressTimeout = null;\n        let initialSpeed = 1;\n        let isLongPress = false;\n        const controls = document.querySelector('.plyr__controls');\n        const overlaid = document.querySelector('.plyr__control--overlaid');\n\n        const startLongPress = (e) => {\n            e.stopPropagation();\n            initialSpeed = player.speed;\n            longPressTimeout = setTimeout(() => {\n                setTimeout(() => {\n                    controls.style.display = 'none';\n                    overlaid.style.display = 'none';\n                }, 1000);\n                isLongPress = true;\n                player.speed = 2; // 长按时设置2倍速播放\n            }, 500);\n        };\n\n        const endLongPress = (e) => {\n            e.stopPropagation();\n            clearTimeout(longPressTimeout);\n            if (isLongPress) {\n                player.speed = initialSpeed;\n                isLongPress = false;\n                setTimeout(() => {\n                    controls.style.display = 'flex';\n                    overlaid.style.display = 'flex';\n                }, 2000);\n            }\n        };\n\n        // 监听播放器区域的pointerdown和pointerup事件\n        const playerContainer = document.querySelector('.plyr__video-wrapper');\n\n        playerContainer.addEventListener('pointerdown', startLongPress, true);\n        playerContainer.addEventListener('pointerup', endLongPress, true);\n        playerContainer.addEventListener('pointerleave', endLongPress, true);\n\n        // 处理全屏模式下的特殊情况\n        document.addEventListener('fullscreenchange', () => {\n            if (!document.fullscreenElement) {\n                endLongPress();\n            }\n        });\n    });\n}\n\n// 切换视频质量的函数\nfunction changeVideoQuality(quality, sources) {\n    const video = $('video')[0];\n    const selectedSource = sources.find(source => source.size === quality.toString());\n    const currentTime = video.currentTime;\n    const wasPlaying = !video.paused;\n\n    if (wasPlaying) {\n        $(\".video-container\")[0].style.background = '#000';\n    }\n    $(\"body>p\")[0].innerText = selectedSource.src;\n\n    if (selectedSource) {\n        if (Hls.isSupported() && selectedSource.src.endsWith('.m3u8')) {\n            const hls = new Hls();\n            hls.loadSource(selectedSource.src);\n            hls.attachMedia(video);\n            hls.on(Hls.Events.MANIFEST_PARSED, () => {\n                video.currentTime = currentTime;\n                if (wasPlaying) {\n                    video.play();\n                }\n            });\n        } else {\n            video.pause();\n            video.src = selectedSource.src;\n            video.load();\n            video.currentTime = currentTime;\n            if (wasPlaying) {\n                video.play();\n            }\n        }\n    }\n}\n\n// 点击集数按钮时调用的函数\nfunction jishu(item) {\n    if (player && typeof player.destroy === 'function') {\n        player.destroy();\n        player = null;\n    }\n    omit($('.jishu button.active'));\n    item.className = \"active\";\n    const { sources } = geturl();\n    initializePlayer(sources);\n}\n\n// 页面加载时初始化播放器\n(() => {\n    let n = $(\".jishu\")[0].dataset.n;\n    active($('.jishu button'), n);\n    const { sources } = geturl();\n    initializePlayer(sources);\n})();\n</script>\n</body>\n</html>",
    "ruleDescription": "",
    "ruleImage": "img.1@src||img@src",
    "ruleLink": ".overlay@href||href",
    "ruleNextPage": "page",
    "rulePubDate": "⌚️ {{@@.card-mobile-duration.0@text}}    🎥 {{@@.card-mobile-duration.1@text}}    👤 {{@@.card-mobile-genre-wrapper@text}}##⌚️     🎥     👤",
    "ruleTitle": ".card-mobile-title@text||.home-rows-videos-title@text",
    "singleUrl": false,
    "sortUrl": "@js:\neval(String(source.loginUrl));\nvar exploreUrl = [];\nvar Sort = `{{get('sort',Get('o'))}}`;\nvar Year = `{{Map('年份：')}}`;\nvar Month = `{{Map('月份：')}}`;\nfunction explore(e, f) {\n    if (f=='收藏') {\n        style = `${e}::/search?query=${e}&type=&genre=全部&sort=${Sort}&year=${Year}&month=${Month}&page={{page}}\\n`;\n    } else if (f=='排序') {\n        style = `${e}::/search?query=&type=&genre=全部&sort=${e}&year=${Year}&month=${Month}&page={{page}}\\n`;\n    } else if (f=='分类') {\n        style = `${e}::/search?genre=${e}&sort=${Sort}&year=${Year}&month=${Month}&page={{page}}\\n`;\n    } else {//标签\n        style = `${e}::/search?query=&type=&genre=&sort=${Sort}&tags%5B%5D=${e}&year=${Year}&month=${Month}&page={{page}}\\n`;\n    }\n    return style;\n}\n\nsc = Map('收藏：');\nscs = sc !== '' ? sc.split(\",\") : [];\nif (scs.length > 0) {\n    scs.forEach((sc) => {\n        exploreUrl.push(explore(sc, '收藏'));\n    });\n}\n\nsorts = ['最新上市','最新上傳','本日排行','本週排行','本月排行','觀看次數','他們在看'];\nfor (i in sorts) {\n    exploreUrl.push(explore(sorts[i], '排序'));\n}\n\ngenres = ['裏番','泡麵番','Motion+Anime','3D動畫','同人作品','Cosplay'];\nfor (i in genres) {\n    exploreUrl.push(explore(genres[i], '分类'));\n}\n\nJ = org.jsoup.Jsoup.parse(java.ajax(String(source.getKey()).replace(/(.*\\/\\/[a-z0-9.-]+).*/, '$1')+'/search'));\ntags = J.select('.checkmark');\nfor (i in tags) {\n    exploreUrl.push(explore(tags[i].text(), '标签'));\n}\n\n`变量搜索::/search?query={{v=source.getVariable();if(/^\\s*$/.test(v)||v==null)source.setVariable('秘密');source.getVariable()}}&type=&genre=全部&sort=${Sort}&year=${Year}&month=${Month}&page={{page}}\\n\n${exploreUrl.join('\\n')}`",
    "sourceComment": "修改：1、优化页面样式；by：xiaohan231-2024/08/25\n\n修改：1、优化长按倍速播放功能；2、增加分辨率切换功能；by：xiaohan231-2024/08/24\n\n修改：1、优化播放器样式；2、选择播放倍速后，点击屏幕不再恢复成正常；3、添加长按2倍速播放功能，想要设置成其他的可以在内容规则根据注释修改；by：xiaohan231-2024/08/21\n\n修改：1、调用Plyr插件搭建网页播放器；2、设置播放器默认比例为16/9，以防止加载时播放器高度变动；3、优化播放器样式；by：xiaohan231-2024/08/20\n\n修改：1、增加收藏关键词；2、视频不再采用第三方解析，改为调用原生播放器；3、添加视频封面；by：xiaohan231-2024/08/18\n\n修改：1、优化内容规则；by：xiaohan231-2024/08/17\n\n修改：1、修复cosplay视频链接获取bug；2、修复部分视频无法解析bug；3、优化视频链接获取，自动选择最高分辨率；4、增加排序方式切换和发布日期筛选；by：xiaohan231-2024/08/14\n\n修改：1、修复列表bug；2、修改分类地址获取；3、优化内容规则；by：xiaohan231-2024/08/11\n\nby：xiaohan231-2024/08/10",
    "sourceGroup": "成人视频,R18",
    "sourceIcon": "https://krseoul.imgtbl.com/i/2024/08/17/66bfb62154cb3.png",
    "sourceName": "Hanime1",
    "sourceUrl": "https://hanime1.me#xh",
    "style": ""
  },
  {
    "articleStyle": 2,
    "contentBlacklist": "",
    "customOrder": -10098576,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\n\"User-Agent\":\"Mozilla/5.0 (Android 14; Mobile; rv:120.0) Gecko/120.0 Firefox/120.0\"\n}",
    "injectJs": "",
    "jsLib": "",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": false,
    "loginCheckJs": "",
    "loginUi": "",
    "loginUrl": "http://bfzyapi.com",
    "ruleArticles": "$.list",
    "ruleContent": "<js>\nvar tab_name=\"\",url_list=\"\";\n$=JSON.parse(result);\nres=$.list[0].vod_play_url;\nlist=(list=res.split('$$$'))?(String(list[1]).match(/\\.(mp4|m3u8)/)?list[1]:list[0]).split('#'):res.split('#');\nfor(i in list){\n\tlist1=list[i].split('$');\n\turl_list+=`<li><a link=\"${list1[1]}\">${list1[0]}</a></li>\\n`;\n}\ntab_name=`<li>播放<span>${list.length}</span></li>\\n`;\nurl_list=`<ul class=\"play_list\">${url_list}</ul>`\n//获取简介❗️\njava.log(JSON.stringify($))\n$.list[0].vod_remarks?desc=$.list[0].vod_remarks:desc=$.list[0].vod_score+\"分\";\narea=$.list[0].vod_class;\nyear=$.list[0].vod_year;\nsort=`•${area}•${year}`;\nintro=$.list[0].vod_content;\nintro=String(intro).replace(/　　/g,'');\n\n//最后结果，拼接完整网页\nresult=`\n<html>\n<title>${java.get('title')}</title>\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no\">\n<!--引入jquery-->\n<script src=\"https://code.jquery.com/jquery-3.0.0.min.js\"></script>\n\n<!--播放器-->\n<div id=\"Player\">\n  <iframe src=\"\" border=\"0\" marginwidth=\"0\" framespacing=\"0\" marginheight=\"0\" frameborder=\"0\" scrolling=\"no\" vspale=\"0\" allowfullscreen=\"ture\" noresize=\"\"></iframe>\n</div>\n<div style=\"width:100%;height:28%\"></div>\n\n<!--简介卡片 -->\n<div class=\"card v_info mb20\">\n    <!--标题 -->\n    <h2 class=\"v_title\">${java.get('title')}</h2>\n    <!--状态、日期、分类 -->\n    <p class=\"v_desc\">\n       <span class=\"desc\">${desc}</span>\n       <span>${sort}</span>\n       <!--简介按钮 -->\n       <span class=\"open_content\" id=\"open_content\">简介</span>\n    </p>\n    <div class=\"v_content\" id=\"v_content\" style=\"display:none;\">\n      <!--封面图片 -->\n      <div class=\"cover\" style=\"\">\n         <img src=\"${java.get('pic')}\"></img>\n      </div>\n      <!--剧情信息 -->\n      <div class=\"content\" id=\"intro_content\">\n        <div id=\"intro\">\n       <p style=\"text-indent:2em;\">${intro}</p>\n       <!--简介展开 -->\n      <div class=\"show_more\" id=\"show_more\" style=\"display: block;\"></div>\n            </div>\n        </div>\n    </div>\n</div>\n\n<div class=\"card mb20\">\n    <!--线路切换-->\n    <ul class=\"tab_control play_from\">\n        ${tab_name}\n    </ul>\n    <div style=\"height:34px;\"></div>\n    <!--所有播放列表与排序-->\n    <div class=\"tab_content\" id=\"play_list\">\n        <div class=\"play_list_sort\" id=\"play_list_sort\">\n⇅ 正序/倒序</div>\n        ${url_list}\n    </div>\n</div>\n</html>\n\n<script>\n\t//tab按钮线路切换\n var $li = $('.tab_control li');\n var $ul = $('.tab_content ul');\n $li.click(function(){\n    var $this = $(this);\n    var $t = $this.index();\n    $li.removeClass('current');\n    $this.addClass('current');\n    $ul.removeClass('current');\n    $ul.eq($t).addClass('current');\n });\n //选择集数\n var $play_li= $('.play_list li');\n var play= $('#Player');\n var iframe= $('#Player iframe');\n $play_li.click(function(){\n    var $this = $(this);\n    var $t=$this.index();\n    //获取之前的播放链接\n    var bf=$('.play_list li.current');\n    bf=bf.children('a').attr('link');\n    //改变li标签的CSS样式\n    $play_li.removeClass('current');\n    $this.addClass('current');\n    //获取播放链接和标题\n    url=$this.children('a').attr('link');\n    text=$this.children('a').text();\n    //判断链接是否相同，不同就发送请求\n    if(url!=bf){\n    \treq();\n    }\n });\n //发送请求\n function req(){\n \t   jx=\"https://jiexi.modujx01.com/?url=\";\n    //给iframe的src赋值\n    iframe.attr('src',jx+url);\n  }\n //播放列表排序 \n function set_sort(){ \n \t var box = $('#play_list ul.current');\n \t var el = box.find('li');\n \t var newEl = Array.prototype.reverse.call(el);\n \t for(var i = 0 ;i<newEl.length;i++){\n \t  \t box.append(newEl[i]) \n \t }; \n \t}\n $('#play_list_sort').bind('click',function(){ \n \t  set_sort(); \n \t});\n \t\n \t//-------------详情页相关-------------- \n \tvar open_content = $('#open_content');\n \tvar intro_content = $('#intro_content'); \n \tvar show_more = $('#show_more'); \n \tvar cover = $('#v_content .cover'); \n \t//展开简历块 \n \topen_content.click(function(){ \n \t\t$('#v_content').toggle(); \n \t\tvar intro_height = $('#intro').get(0).offsetHeight; \n \t\tif(intro_height > 114){ \n \t\t\tshow_more.show(); \n \t\t}; \n \t}); \n \t//内容超出显示更多按钮 \n \tif($(\"#intro\").length>0){\n \t\t var intro_height = $('#intro').get(0).offsetHeight; \n \t\t if(intro_height > 114){\n \t\t \t show_more.show(); \n \t\t \t}; \n \t} \n \t//展开更多内容 \n \tintro_content.click(function(){\n \t\t intro_content.toggleClass('auto'); \n \t\t show_more.toggle(); \n \t\t cover.toggle(); \n \t});\n \t\n \t//初始化\n   (()=>{\n   \t $('.play_list').eq(0).addClass('current');\n\t    $('.play_list li').eq(0).addClass('current');\n\t    $('.tab_control li').eq(0).addClass('current');\n\t    url=$('.play_list li.current a').attr('link');\n\t    req();\n\t  })();\n</script>\n`\n</js>",
    "ruleDescription": "",
    "ruleImage": "$.vod_pic\n<js>\njava.put('pic',result)\n</js>",
    "ruleLink": "/api.php/provide/vod/?ac=videolist&ids={{$.vod_id}}",
    "ruleNextPage": "page",
    "rulePubDate": "类型: {{$.vod_class}} 作者: {{$.vod_actor}}",
    "ruleTitle": "$.vod_name\n<js>\njava.put('title',result)\n</js>",
    "singleUrl": false,
    "sortUrl": "@js:\napi=source.sourceUrl+\"/api.php/provide/vod\"\nurl=api+\"?ac=detail&pg={{page}\\}\";\n\n//刷新分类时弹窗当前api\njava.toast(String(api).replace(/\\/api\\.php.*/,''))\n\n\n//搜索url\nfunction surl(){\nkey=source.getVariable()\nif(key==\"\"||key==null){\nsource.setVariable('我的');//默认搜索关键词\n\t}\nkey=source.getVariable()\nreturn \"变量搜索::\"+url+\"&wd={{source.getVariable()}}\\n\";\n}\n\n\n//分类url\nsort=cache.get(api);\nif(sort==null){//分类无缓存时调用\nsort=\"\";x=0\n\n//获取分类URL\nfunction getUrls(){\ntry{\n\t\turllist = []\n\t\tI = JSON.parse(java.ajax(api)).class.map($=>{\n\t\t\t\tturl = url+\"&t=\"+$.type_id;\n\t\t\t\turllist.push(turl);\n\t\t\t\treturn $.type_name+\"::\"+turl;\n\t\t\t}).join('\\n').split('\\n');\n\t\tx = 0\n\t\tjava.toast('获取分类成功,校验中')\n\t\treturn verifyUrls()\n\t}\ncatch(e){//ajax失败会重新请求两次\n\t\tx++\n\t\tif(x<3){\n\t\t\t\tjava.toast('ajax err\\n　Try again  get Urls '+x)\n\t\t\t\treturn getUrls()\n\t\t\t}\n\t\telse{\n\t\t\t\treturn java.toast('分类获取失败')\n\t\t\t}\n\t}\n}\n\n//校验分类URL\n//加载urllist的链接，测试能否获取name，如果无法获取name就定义为失效分类，保存剩下的有效分类在sort\nfunction verifyUrls(){\ntry{\n\t\tjava.ajaxAll(urllist).map((a,i)=>{\n\t\t\t\ttry{\n\t\t\t\t\t\ta = JSON.parse(a.body()).list[0].vod_name;\n\t\t\t\t\t}\n\t\t\t\tcatch(e){\n\t\t\t\t\t\ta = undefined\n\t\t\t\t\t}\n\t\t\t\tsort += a!=undefined?\"\\n\"+I[i]:\"\";\n\t\t\t});\n\t\tcache.put(api,sort)\n\t}\ncatch(e){//ajaxAll失败会重新加载两次\n\t\tx++\n\t\tif(x<3){\n\t\t\t\tjava.toast('ajaxAll err\\n　Try again  verify Urls '+x)\n\t\t\t\treturn verifyUrls()\n\t\t\t}\n\t\telse{\n\t\t\t\treturn java.toast('No  verify Urls\\n　Sort  acquisition failure')\n\t\t\t}\n\t}\n}\n\t\tgetUrls()\n\t}\n\n\n//最后拼接，删掉\"surl()+\"可以关闭搜索\n\"最近更新::\"+url+'\\n'+\nsurl()+\nsort",
    "sourceComment": "这是某个大佬写的，这里只是代发。如果觉得不合适可以留言删除。\n\n支持苹果cms电影采集站点\n例如:\nhttps://hhzyapi.com/\nhttp://www.lzzy.tv/\nhttp://www.ffzy.tv/\n可以github搜索/api.php/provide/vod\n把喜欢的站点替换就可以用了。\n\n这些采集站与视频中的广告不要相信，都是假的、骗人的。\n这些采集站与视频中的广告不要相信，都是假的、骗人的。\n这些采集站与视频中的广告不要相信，都是假的、骗人的。",
    "sourceGroup": "R18",
    "sourceIcon": "https://img2.baidu.com/it/u=2206136128,3278772117&fm=253&fmt=auto&app=138&f=JPG?w=500&h=500",
    "sourceName": "苹果cms电影通用",
    "sourceUrl": "http://bfzyapi.com",
    "style": "*{\n\tmargin:0;padding:0;\n}\nhtml{\n\tbackground-color:#222;\n}\na{\n\ttext-decoration:none;\n\tcolor:#222;\n}\nul{\n\tlist-style:none;\n}\niframe{\n\twidth:100%;height:100%;\n}\nh1,h2,h3,h4,h5,h6{\n\tfont-size:100%;font-weight:normal;\n}\nimg,video{\n\theight:auto;max-width:100%;\n}\n#Player{\n\tposition:fixed;\n\ttop:0;left:0;\n\twidth:100%;height:28%;\n\tz-index:99999;\n\tbackground-color:black;\n}\n\n/*块通用*/ \n.card{padding:15px 15px 0 15px;}\n.card .c_header{display: flex;flex-direction: row;justify-content: space-between;padding-bottom:20px;} \n.card .c_title{font-size:18px;color:#fff;font-weight:700;} \n.card .c_title a{color:#fff;} \n.card .c_right a{color:#666;} \n.card .clear_history{color:#FDD835;display:none;}\n\n/*详情页资料卡*/ \n.v_info .v_title,.v_info .v_title{font-size:22px;color:#eee;line-height:26px;} .v_info .v_desc{position:relative;font-size:12px;color:#999;padding-top:4px;} .v_info .v_desc a{color:#999;} .v_info .v_desc .desc{color:#FF3D00;font-weight:700;} .v_info .hr{color:#666;padding:0 4px;} .v_info .open_content{position:absolute;bottom:0;right:20px;color:#FFB026;text-decoration: underline;padding-left:10px;} .v_info .v_content{display:flex;padding-top:20px;} .v_info .cover,.v_info img{width:80px;height:113px;background:#333;} .v_info .cover{margin-right:10px;} .v_info .content{height:114px;overflow:hidden;font-size:12px;flex:1;color:#999;line-height:19px;position: relative;} .v_info .show_more{position: absolute;bottom:0;right:0;width:100%;padding:38px 0 19px 0;height:19px;background: linear-gradient(to bottom, rgba(34,34,34,0) 0%,rgba(34,34,34,1) 100%);color:#eee;text-align:center;display:none;} .v_info .auto{height:auto;}\n\n/*tab */ \n.tab_control{position:absolute;display: flex;flex-direction: row;overflow-x:scroll;width:92.3%} \n.tab_control li{flex:1;position:relative;height:30px;line-height:34px;top:4px;text-align:center;color:#666;cursor:pointer;overflow: hidden;} \n.tab_control li span{display: inline-block;min-width: 10px;padding: 2px 2px;font-size: 9px;font-weight: 700;line-height: 1;color: #fff;text-align: center;white-space: nowrap;vertical-align: middle;background-color:#FFB026;border-radius: 2px;}\n.tab_control li.current{z-index:99;height:37px;font-weight:700;color:#eee;background-image:linear-gradient(180deg, #BF360C 0%, #444 90%);border-radius: 4px 4px 0 0;} \n.tab_content{padding:12px;background: #444;box-shadow: 0 2px 8px 0 rgba(0,0,0,0.50);border-radius: 5px;} \n.tab_content ul.current{display:block;} \n\n/*播放来源、地址、排序*/\n#play_list ul.current{display:flex;} .play_from li{flex:none;padding:0 10px;} .play_list{display:none;flex-flow: wrap;margin-right:-10px;} .play_list li{width:25%;margin-bottom:10px;} .play_list li a{overflow:hidden;height:40px;line-height:40px;border-radius: 5px;display:block;background:#222;color:#999;text-align:center;margin-right:10px;} .play_list li a:visited{color:#444;} .play_list li.current a{border: 1px solid #BF360C;color:#BF360C;} \n\n/*处理电影的集数宽度*/ \n.large li{width:25%;} .play_list_sort{padding-bottom:20px;color:#999;} \n\n/*遮罩*/ \n.mask{width:100%;height:100%;background:rgba(0, 0, 0, 0.5);position: fixed;left:0;top:0;display: none;} \n\n/*白天主题配色*/\n@media(prefers-color-scheme:light){\nhtml{background:#FEFEFE;}\n.v_title{color:black !important;}\n.v_desc,.v_desc a,#intro{color:#444 !important;}\n.open_content{color:#4898E0 !important;}\n#show_more{background: linear-gradient(to bottom,transparent,#FEFEFE 100%);}\n.tab_content{background:#FEFEFE;}\n.tab_control li span{background:#4898E0;}\n.tab_control li.current{color:#eee;background: linear-gradient(to bottom,black 10%,white 90%);}\n.play_list li a{color:#444;background:#eee;}\n.play_list li.current a{color:black;border:2px solid black;}\n} \n",
    "variableComment": ""
  },
  {
    "articleStyle": 1,
    "customOrder": -10098575,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.item",
    "ruleContent": "script@all<js>\nresult=result.match(/http.*m3u8/)[0]##\\</js>{{@@title@text}}\n<video src=\"{{result}}\" width=\"100%\" height=\"auto\" controls></video>",
    "ruleImage": "img@data-original",
    "ruleLink": "a.0@href",
    "ruleNextPage": "text.下一页@href",
    "rulePubDate": "📅{{@class.added@text}}   👁{{@class.views@text}}",
    "ruleTitle": "class.title@text",
    "singleUrl": false,
    "sortUrl": "首页::/\n\t搜索::/vod/search.html?wd=/{{(source.getVariable}}\n最新::/label/new.html\n巨乳::/vod/search.html?wd=%E5%B7%A8%E4%B9%B3\n热门::/label/hot.html\n中文字幕::/type/3.html\n日韩无码::/type/2.html\n日韩::/type/48.html\n엔픽컴퍼니::/type/9.html\nAV解说::/type/4.html\nAjin lookbook::/type/8.html\n母狗::/vod/search.html?wd=%E6%AF%8D%E7%8B%97",
    "sourceComment": "//正文全屏要歪头看🤣,/vod/search/page/{{page}}wd/{{source.getVariable()}}.html",
    "sourceGroup": "成人视频,R18",
    "sourceIcon": "https://www.weimei.lol/static/images/logo.jpg",
    "sourceName": "唯美视频",
    "sourceUrl": "https://www.weimei.lol/",
    "style": "video{width:100%}img{width:100%}"
  },
  {
    "articleStyle": 1,
    "concurrentRate": "20/10000",
    "contentBlacklist": "",
    "customOrder": -10098564,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "<js>\nheaders={\n    \"User-Agent\": java.getWebViewUA(),\n    \"Origin\": Get('url'),\n    \"Referer\": Get('url'),\n    \"Cookie\": cache.get(Get('url') + 'ck') || ''\n}\ncache.put(java.md5Encode16(Get('url') + \"headers\"),JSON.stringify(headers));\nJSON.stringify(headers);\n</js>",
    "injectJs": "",
    "jsLib": "{\"Jable.tv\":\"https://qyyuapi.com/dy/js/Jable.tv/jsLib.js\"}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginCheckJs": "var res = result;\nurl = java.ruleUrl;\nif(res.body().includes('cf_chl')){\n    cookie.removeCookie(Get('url'));\n    result = java.startBrowserAwait(url,\"验证\");\n    ck = cookie.getCookie(Get('url'));\n    cache.put(Get('url') + 'ck',ck);\n}\nresult;",
    "loginUi": "[\n  {\n    name: \"💡　　 源　　 站　　 更　　 新　　 💡\",\n    type: \"button\",\n    action: \"update()\",\n    style: {layout_flexGrow: 1, layout_flexBasisPercent: 1}\n  },\n  { name: \"查看当前\", type: \"button\", action: \"look(0)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"查看历史\", type: \"button\", action: \"look(1)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"恢复默认\", type: \"button\", action: \"test(0)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n\n  { name: \"搜索：\", type: \"text\" },\n  { name: \"༺ˇ»`ʚ  点击切换源站  ɞ´«ˇ༻\", type: \"button\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"①Jable①\", type: \"button\", action: \"$(1)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"②Jable②\", type: \"button\", action: \"$(2)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"③Jable③\", type: \"button\", action: \"$(3)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"④Jable④\", type: \"button\", action: \"$(4)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"⑤Jable⑤\", type: \"button\", action: \"$(5)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"⑥Jable⑥\", type: \"button\", action: \"$(6)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n\n  { name: \"༺ˇ»`ʚ  点击切换分类  ɞ´«ˇ༻\", type: \"button\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"主题标签\", type: \"button\", action: \"o(0)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.45} },\n  { name: \"女优一览\", type: \"button\", action: \"o(1)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.45} },\n\n  { name: \"༺ˇ»`ʚ  点击切换排序  ɞ´«ˇ༻\", type: \"button\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"默认\", type: \"button\", action: \"q(0)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"推荐\", type: \"button\", action: \"q(1)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"更新\", type: \"button\", action: \"q(2)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"观看\", type: \"button\", action: \"q(3)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"收藏\", type: \"button\", action: \"q(4)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"\", type: \"button\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n\n  { name: \"༺ˇ»`ʚ  分类女优排序  ɞ´«ˇ༻\", type: \"button\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"热度\", type: \"button\", action: \"p(0)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.2} },\n  { name: \"名字\", type: \"button\", action: \"p(1)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.2} },\n  { name: \"更新\", type: \"button\", action: \"p(2)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.2} },\n  { name: \"数量\", type: \"button\", action: \"p(3)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.2} },\n\n  { name: \"༺ˇ»`ʚ  女优加载页数  ɞ´«ˇ༻\", type: \"button\", action: \"login('【加载页数】' + n(2) + '填写数字或范围，如：15或10-20')\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"页数：\", type: \"text\" },\n\n  { name: \"༺ˇ»`ʚ  填写收藏词条  ɞ´«ˇ༻\", type: \"button\", action: \"login('【收藏词条】' + n(2) + '填写搜索关键词\\\\n多个关键词用英文逗号“,”隔开')\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"收藏：\", type: \"text\" },\n\n  { name: \"长按倍速：\", type: \"text\" },\n  { name: \"跳过片头：\", type: \"text\" },\n  { name: \"跳过片尾：\", type: \"text\" },\n\n  { name: \"༺ˇ»`ʚ  主题模式切换  ɞ´«ˇ༻\", type: \"button\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"日间模式\", type: \"button\", action: \"a(0)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.45} },\n  { name: \"夜间模式\", type: \"button\", action: \"a(1)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.45} },\n\n  {\n    name: \"清除网站Cookie缓存\",\n    type: \"button\",\n    action: \"deleteCookie()\",\n    style: {layout_flexGrow: 1, layout_flexBasisPercent: 1}\n  },\n\n  { name: \"清除远程代码标识\", type: \"button\", action: \"DeleteJskey()\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n\n  {\n    name: \"💡　　 源　　 站　　 打　　 印　　 💡\",\n    type: \"button\",\n    action: \"test()\",\n    style: {layout_flexGrow: 1, layout_flexBasisPercent: 1}\n  }\n]",
    "loginUrl": "eval(String(Reload('https://qyyuapi.com/dy/js/Jable.tv/loginUrl.js')));",
    "ruleArticles": "<js>\neval(String(source.loginUrl));\neval(String(Reload('https://qyyuapi.com/dy/file/history.js')));\nresult;\n</js>\n.mb-e-20",
    "ruleContent": "<js>\neval(String(Reload('https://qyyuapi.com/dy/js/Jable.tv/ruleContent.js')));\n</js>\n<!DOCTYPE html>\n<html lang=\"zh-Hans\">\n<head>\n<title>{{@@h4.0@text}}</title>\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no\">\n<link rel=\"stylesheet\" href=\"https://qyyuapi.com/css/plyr.css\">\n<style>\n{{String(Reload('https://qyyuapi.com/dy/file/player' + Get('a') + '.css'))}}\n</style>\n</head>\n<body>\n<p>{{src.match(/hlsUrl\\s*=\\s*'(.*?)'/)[1]}}</p>\n<div class=\"video-container\">\n  <video id=\"player\" playsinline controls preload=\"auto\" poster=\"https://qyyuapi.com/img/noposter.png\">\n  </video>\n</div>\n<details>\n  <summary>\n    <h3>{{@@h4.0@text}}</h3>\n  </summary>\n  <img>\n</details>\n<div class=\"all-info\">\n{{JSON.parse(result).jishu}}\n<div>\n    <p>📆 更新：{{@@.mr-3.0@text}}</p>\n    <p>🎥 播放：{{@@.mr-3.1@text##\\s}}</p>\n    <p>🧡 收藏：{{@@.count@text}}</p>\n    <p>👩‍🎤 女优：{{@@.rounded-circle@title}}</p>\n    <p>📦 主题：{{@@.tags.h6-md@text##•.*$}}</p>\n    <p>🔖 标签：{{@@.tags.h6-md@text##^.*•}}</p>\n</div>\n</div>\n\n<script src=\"https://gcore.jsdelivr.net/npm/hls.js@canary\"></script>\n<script src=\"https://qyyuapi.com/js/plyr.js\"></script>\n\n<script>\n{{String(Reload('https://qyyuapi.com/dy/file/player.js'))}}\n\nconst JKkey = \"{{java.md5Encode16(baseUrl.replace(/.*\\}([^\\}\\`]+)\\`/,'$1'))}}\";\nconst JDkey = \"{{java.md5Encode16(baseUrl.replace(/.*\\}([^\\}\\`]+)\\`/,'$1') + 'time')}}\";\nconst PTtime = {{/^\\d+$/.test(Map('跳过片头：')) ? Map('跳过片头：') : 0}};\nconst PWtime = {{/^\\d+$/.test(Map('跳过片尾：')) ? Map('跳过片尾：') : 0}};\nconst BSspeed = {{Map('长按倍速：') || 2}};\n\n// 获取视频URL并更新视频源\nfunction geturl() {\n    let zyurl = JSON.parse($(\".jishu button.active\")[0].value);\n    let img = $('img')[0];\n    let fm = $(\".jishu button.active\")[0].dataset.fm;\n\n    // 更新详情封面\n    $(\"img\")[0].src = fm;\n\n    // 更新视频封面\n    $(\".video-container\")[0].style.background = `#000 url('${fm}') no-repeat center center / cover`;\n    let sources = zyurl;\n    return { sources: sources };\n}\n\n// 页面加载时初始化播放器\n(() => {\n    let n = $(\".jishu\")[0].dataset.n;\n    active($('.jishu button'), n);\n    const { sources } = geturl();\n    setTimeout(updatePadding, 100);\n    localStorage.setItem('HistoryTAG', 1);\n    initializePlayer(sources, JDkey, PTtime, PWtime, BSspeed);\n})();\n</script>\n</body>\n</html>\n<js>\nresult\n.replace(/：\\s*/g,'：')\n.replace(/<p>(.+)：<\\/p>/gm, '<p style=\"display:none;\">$1：</p>');\n</js>",
    "ruleDescription": "",
    "ruleImage": "img@data-src\n@js:/epg.deno.dev/.test(Get('url')) ? jxapi + 'https://assets-cdn.jable.tv' + result.replace(/.*\\/\\/[^\\/]+/,'') : result",
    "ruleLink": "a.0@href##^.*\\/\\/[^\\/]+\n@js:`{{Get('url')}}/@js:\\`\\{\\{Get('url')\\}\\}${result}\\``",
    "ruleNextPage": "page",
    "rulePubDate": "⌚️ {{@@.label@text}}    🎥 {{@@.sub-title@html}}\n@js:\nresult.replace(/<p[\\s\\S]*?<\\/svg>|<\\/p>|\\n/gm,'').replace(/<svg[\\s\\S]*?<\\/svg>/m,'  ❤ ').replace(/(\\d)\\s+(\\d)/g,'$1$2')",
    "ruleTitle": ".title@text",
    "shouldOverrideUrlLoading": "if (url.startsWith('legadovideo://')) {\n    java.openUrl(\n        decodeURIComponent(url.replace('legadovideo://', '')),\n        'video/*'\n    );\n    true;\n}",
    "singleUrl": false,
    "sortUrl": "<js>\neval(String(Reload('https://qyyuapi.com/dy/js/Jable.tv/sortUrl.js')));\n</js>",
    "sourceComment": "修改：1、增加源站；by：xiaohan231-2025/07/24\n\n修改：1、增加直连源站；by：xiaohan231-2025/06/24\n\n修改：1、增加点击顶部视频链接调用播放器应用播放；by：xiaohan231-2025/04/30\n\n修改：1、增加清除远程代码标识按钮；by：xiaohan231-2025/04/26\n\n修改：1、新增源变量与localStorage双向备份功能，确保清理缓存和清除WebView数据时，播放历史记录和设置信息不会丢失；by：xiaohan231-2025/04/22\n\n修改：1、播放器增加标记片头片尾功能；2、jsLib代码适配新版阅读；by：xiaohan231-2025/04/20\n\n修改：1、增加清除网站Cookie缓存按钮；2、优化详情信息高度调整；3、优化视频集数切换，结尾切换下一集时不再销毁重建播放器实例；4、增加切换下集自动播放功能；5、增加跳过片尾功能；by：xiaohan231-2025/04/17\n\n修改：1、优化播放器函数，不再直接粘贴参数，改为调用函数时引进；2、UA改为系统webView UA；by：xiaohan231-2025/04/15\n\n修改：1、优化手势控制，增加滑动进度；by：xiaohan231-2025/04/14\n\n修改：1、部分源代码改为远程获取；by：xiaohan231-2025/04/06\n\n修改：1、简化合并列表排序切换参数；2、修复搜索；by：xiaohan231-2025/02/20\n\n修改：1、优化播放器样式；2、增加跳过片头功能；3、增加缓存播放进度功能；by：xiaohan231-2025/01/11\n\n修改：1、增加夜间主题模式切换；by：xiaohan231-2025/01/09\n\n修改：1、搜索关键词改为在登录页填写；2、设置参数改为在源变量保存；3、优化分类链接by：xiaohan231-2025/01/06\n\n修改：1、增加登录页按钮自适应宽度；by：xiaohan231-2024/12/29\n\n修改：1、优化播放器样式，固定播放器高度；by：xiaohan231-2024/12/07\n\n修改：1、登录页增加自定义长按播放倍速(默认2倍速)；2、优化播放页面样式；by：xiaohan231-2024/12/05\n\n修改：1、增加验证激活过期时间；by：xiaohan231-2024/10/20\n\n修改：1、优化人机验证检查；2、增加验证XH发布页订阅激活；by：xiaohan231-2024/10/18\n\n修改：1、优化页面样式；by：xiaohan231-2024/08/25\n\n修改：1、优化长按倍速播放功能；by：xiaohan231-2024/08/24\n\n修改：1、优化播放器样式；2、选择播放倍速后，点击屏幕不再恢复成正常；3、添加长按2倍速播放功能，想要设置成其他的可以在内容规则根据注释修改；by：xiaohan231-2024/08/21\n\n修改：1、调用Plyr插件搭建网页播放器；2、设置播放器默认比例为16/9，以防止加载时播放器高度变动；3、优化播放器样式；by：xiaohan231-2024/08/20\n\n修改：1、增加收藏关键词；2、视频不再采用第三方解析，改为调用原生播放器；3、添加视频封面；by：xiaohan231-2024/08/18\n\n修改：1、优化女优信息获取；2、优化内容规则；by：xiaohan231-2024/08/17\n\n修改：1、增加源站更新切换；2、优化分类获取；3、更换视频解析接口；by：xiaohan231-2024/08/16\n\nby：xiaohan231-2024/08/15",
    "sourceGroup": "🔭 其他,📽 视频,R18",
    "sourceIcon": "https://qyyuapi.com/img/Jable.tv.png",
    "sourceName": "Jable.tv",
    "sourceUrl": "Jable.tv@js:`{{Get('url')}}`",
    "style": "",
    "variableComment": "JspHXCgzmq549cSvxZRk3cM5EE7N5V32mKk5ZsGlzH7mB4iKPcwRvTVF+nSsYaYkyHFh6tU0uM6gAcU2LO/ZQnF45pl+sO+D+/WIYPhUQyHGEp6lyVJ7JKp9yWihRr9Al3sqXhKPltzub2PZi96Ke4YxqVZPjPSmL3O6xY025Sa7Vm1r1ZLIrgpD4Ksa99Q488bytyVS2P8fSjkQvADOECPkrKGclkhYWKWj0hAAvyDNKDxrCyqqqUjrKooVXTcQ3DDxjpsx5Wd29wdbu4YgaMwdlq7eM7Wgq20PNHRYMQv6mzqElmMn9R4S7YEaJiDpXXStroRJTJtLEB2i6pMCY4F02mndjqQW0PbM+tfwlL8BPYfaSJDdVkvSCRNfUL1rVOJY3HHHX1kAyOG/METDaU0ord6qUbQQMGQVmCgqResqjExJ6AI33IXMtAF1485MjO1nSz2Mi9jw/NoCjXBhnxv0A/3lmQZoYsdfz3LCCOOZKjZQKAZj20BFKz9CBUrmpIrzwdkA/+4vJYyZpjkvYKJAAPDIKbn/ptiK77BjLhWzc4xAW5+YsEiLS/Vl9iTyCrhnnDx4gT+dZ4gysUqfVbIb8BRFwb+B6EwyP7u8ZmtYQlzIFkk2UhZ23Kjqj82AwMsqdbKqw9FL36EVYcm2j/djgb/0W5Vs5VlKOG+hISERjLwLqzgRlOxnwG7YZZNLUE6FWafVPrlyzjhAvM62NXpWmL0GPDowm0iGtni5Tn0IJGyzWVZh5hnvTh/PwOlcJj+q5hVSaFxFK58GLc48+Fc006jvm6iDY5gNbK5xA+ZkRfniCNt49bJaAANoCEro3QFhJkn2ECoOmwN4aYdfdn3SloTv48koLVJu+0NT+AISrmVytYeRuVnqNW5GuwElvCL/i8TWro2qktUUurqvp5e4i5scrNF7gSUG053kPtbrtmCrJ28rZpXWhXIsOv46IMrTpuxpCRHooX+Hs5b+XejfLsuNnBbHE13MQn/M0ebGd9Gh+r6/lt//lgTkWigqsmTrtxhrWAZWzaW/yA+sTSedS2lJCbgNokw7qnbmxwD/P4D6808B5ilzMwLtm9SyNWTwxVkJg028edSaskigcsZ30aH6vr+W3/+WBORaKCo4UnC/XzCimn5Jr+ebXNLnJ51LaUkJuA2iTDuqdubHAJsuJSsWINcAtTK6RzhZCNSIdDbzJz55hCg3jwqPboZqC+e1/3J2yhbnCdDJw3/1qjgTOfZMAHf4HKt/RuYW81hQLJ5E0EGQvvbsJ3D+Y5Ztyka4dEMQZahWDR5hSepleBzikh2TmReB3v0T5xYid8QcPk5CBAU0mi1bSh9nnltSWr0jzsWH1Iyc3vP5hdMbiKkMzVjx7Zqcbf6rbicc76D9V4WyQxK0cSe7d9/9FB3SxZBjAiCO+KOut8Un8msxSnVVwgvKx21dER1iPoNp6UqAmZbr8z45Sy+pruQ5nsfBOQr4l7WVhNegga6nXNzj2tpHudPrDm9Wn2UR4YshDfI2BUHw5QUks0QBNocu+jfuCxNjMeNDzOk0a/ZER3ne8qP3wokNIjSKREwHnyiXZQ1K4gl90XkIKDm01NlT9vSc01Zk7dsMfDJIplEsIREkxY7JlCji8BaOGorXtveh+/8moUPA2KlwI7zMU987ZdFUGnxsnL51m1yJTBFiq8a2aINke1Zq/lQ6kGDq5VuBrM8NXrRSMPwvsGy97ZD6Zs1DHkEz+c8ALXx0yHXiXXGM15hX/P/WTzdA6WpNAYMp+onQJ/zgHvBUQ/73lul4SP+94V9kWjwkqpfw9UXK6MX44GmUMxCAIAON0fCsI/Q4azniKxqQ2LHe4jdXvxAAZ88Wt1v7sfpzBbhawep3OjLmQ86ziAOP/r8LYWw/FU/ideDjhbuSmySyvzX5alHrU+2YG2+mUPOLf6RROC1qs8z1CKGs5f3SNeieYFOFcf4OLhp+L88XhvLGgUnDEnizstIoT6dtov2RXBVVjSOYC1gXiRIiGmA/geEd3jFmxCN9gcC7CKEF7/4SX3qQ1YzcsgdlsAxGqxuXtOngwUwdrI+3+V1ZHoV8dL8D3H12J0G9zsNZjZsrd3x55Zv29ILIYBZLdg7gz2RVh0rVIJGoI/0J5SDo8A0C03S6DvLShgJt0SJyIQfxpwc9Nv/TnVir+cpOQuTkymXklBu2cCH5+aFTvqg92WzyV7mcOzWZJEqXs8E+mSOPWdCIQ6fWqEe6zQ+v/MvpVqyrIOqDQFvTJzdiJp8n/xwPHORgrY6nxhA8vAzSkfUqMkAuZ1RCW/OGXI1aoDWuQBoavZ7T5PaiP4P74hvvFscy7hXkC4btV8L/XlNW9O9EoNbSaJDx6c+MuNNNrLHZ0H+FULugcR6TQDU7/4ghGn81bo7MXxzQjv1TMDqRg3BmLpCSMQKRfh+3GyLCUc0qEASueLd2Pr/7yubOpU4+C4E+IExZRCr3XIL6Y6gvlBmpQ9+JFFSAyCRTwbJG/XQ88Va6iMp/ps3AgW3EyeuX0qPV3SfKzFh+usHgrXVa9xoMu+4u/cDvNNBuvz0czEv2WdeH6JQv37xz5Td2Ez6ZI49Z0IhDp9aoR7rND6/W/iWUCt4CpsJBgXN82HkVlLUfZ1aHOaXsdPUeEJeFitPGca4naQuMZo570DEigh5YxfQfIMxRhVezWptMkPtXvGNJ85ctTzZEcHVanMA3QNWUf/hqVFb3YP2/+RujDloqioZclJBJ3mOij0i/Q4r6oazl/dI16J5gU4Vx/g4uGmgAEPwNzpIdNSymRPqtwEUBBsfdiy6OBAPiK9dv8dv/8/uXl9RKrfUePqZ3kHvjMO14sdXSY6NeT1qBecaAeOuVVrRC0HqDIiZthvIGJg0bbTe5yst86LR1+EsJLy4EcPyeXmMw6zjA+dw1zI5mVua8O3IovWzbnAwS6+q5Sh/kG+7Ndnjv4VCp5Fx4JegvwvM/F7CmsDmgezt6oE/kSUj9Fqau9QB+NTeLHXYuRsCgVnlFEb68Tmeeonjr0hLkkaQFDo4VHzoxyqVejFJhJYZcTv43Kl0PLj8prMT+YB1o++bSkpP1JHFGOV8mVzWCPaZA2WB7jvWpl7tQOsbzX7utxh5W6GDrlsRJ2D9mtFTAWfOFu2Ntsdd+lRpDSA4b3+9a7sOlv8rmI2SKxRln6d1svWeiDow3698BkXWKtgfqlN7BT2+akmZ+TS9ZI1uuo2G6cYTJAD5ATn4xv2pL7oTMvRABb0bsp6E4P1mSln/b0iODj2CVKWZLv+BJQu8vU2o2avEIqiSTqKQqObgZFZH2pEJN0uNOoOY4tmAChfMkrnrhFaFUIUXtPARwyGbYpKn8tYUIGRpIJ9sHxqVQbQIDRUHMuRF9Z9yOStphQ7qcnebDsyTme4Dmevu73B5eSBtTX0eNwc0UrZp9bQDXGGOaZMDyuYEZVbpcaz2u8Hmc4FGQ595Q8noc/xHfqdyjMVRZBbrFeJ4LGVUb/sOj5XVJxNwud2Rx1jQxsQ3ht9GVnEfJYJnleXFiJqFs30dMRh9UlJ7brnNr7jgj2wkC7jMrhlqF1hTK6sAW9A/3EvnWcUXvRGS9tZ+yL6pkGYSTIQSREk5qBr5N7Gst7xSKi5qFDzBDp+t3huUt3gRNM0Q4mvEYTG8E/Nmsvcp1MOl6kEjdod52cb/S3INg+MOE/tqNH0Dst6Gj0mbz5DMcaDEOFFaUOr+WS1AUSAFVgrYev//quT/25ArlrqdxQ/axKibX0wiA/HpmGvj6dciub4kCWptkwzyD0Yh3k6Y8EtdcYPApaJGD7JLSDY/LJpmBTIq4zdfaZLX/Wq94MdN5UoQ13Y5WqkOsq22W/3ESLyVSVT6srKpjnEK+XcjIoDyry8UspPph8AuHGycKtSpGEq/xoovC83S0+gX+dXBNC/AXCjEGKvKXvabq4n1CyZPrSzDRL7bGUsWkTNqEBkCJwN0R6F9PpWjlBViKjGfhw6ejsVyJNbthuPkeuiP+AaWhChzBxkdCov9MpUy1On2TReqZgFEAxGy5e/T/0ec8Bhc22zBNpykuX47XvkxQbIM8r78T/GZmwcbPE6O/p3F1Kht+iFA3BHg5usLZ+cPfvu1uWasBdUDuObbVRsBcM5Wrac4PdgmxOmuvkLAQJWRhvGDnOL41vHK4U+farjjtKZKB0g21Z0qsG1LiR+7V36rKylibCN1PIEKTHN4yp4Qz/xBmsZzmD/m6iStkH++Rs0/fktigBI9XjWqbLzNZbAbHI1TleaeJnWVatGyZ795UKxKO5Yw+B5CXms3mIN5DhO75NIsEDJSTYuEGFUpV1nOy+btdZx69/+C6sf5ZoOEjwVtrTGUfFrhALvfncMTP3p07eTJFgEOd71OwSrlcf04MUPUlWIM62GtW+lDYT6wn6MIvaxD5s3Duut4kEGBLtOxHVuekeGTJGeoyjSqcJo2Cr0v/M9pz+Vc9l3HuIwIDFIhUxngWg+PVpDlHTQl7SnXl2/SaSI48lgeu/w66fSwZLAC1yZjsP8W8/jJlaxZ6ejjxr9OIXBUIPWJWzUemnN3X7ukjPlg+5c1JkFVZMv2V48mV6QeS/hg1XuL9463VNJ7LWmRe6eIRAWh2O1UVMaJ95adGhhZShR+4bq/JXN3uc6+nVtWKJE3OtXUQf97U5f1F6wm/dI1jbA/u/Afe2ig+AA=="
  },
  {
    "articleStyle": 2,
    "concurrentRate": "",
    "customOrder": -10098559,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "{\n\t\"User-Agent\": \"picasso,315,tencent\"\n}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginCheckJs": "",
    "loginUi": "",
    "loginUrl": "https://thomasyo.coding.net/p/yuedu/d/dingyue/git/raw/master/bizhimiao.jpg",
    "ruleArticles": "$.res.category||$.res.album||$.res.keyword[0].items\n@js:\njson=[]\nc1=baseUrl.match(/skip=/)\nc2=baseUrl.match(/push\\/keyword/)\nif(c1&&!c2){\n\t\tjson=result\n\t}\nelse{eval(String(source.sourceComment))\n\n\nfunction push(name,fenlei){\n\t\tjson.push(JSON.stringify({\"name\": name, \"fenlei\": fenlei, \"cover\": cover(), \"desc\": desc()}))\n\t}\nfunction unshift(name,fenlei){\n\t\tjson.unshift(JSON.stringify({\"name\": name, \"fenlei\": fenlei, \"cover\": cover(), \"desc\": desc()}))\n\t}\n\n\n\nif(c1&&c2){\n\t\tfor(i in result){push(result[i],\"随机搜索\")}\n\t}\nelse{\n\nfunction sousuo(fenlei){\n\t\turl = a+'/v1/push/keyword?uid='+uid+'&first='\n\t\tfenlei==\"热门搜索\"?url+=1:(url+=0,java.put('url', url))\n\t\titems = JSON.parse(java.ajax(url)).res.keyword[0].items\n\t\tfor(i in items){\n\t\t\t\tpush(items[i],fenlei)\n\t\t\t}\n\t}\n\n\nfunction fenlei(list,并列){$=[]\n\t\tfor(i in list){\n\t\t\t\tif(i==list.length-1){\n\t\t\t\t\t\tif(uid=='avatar'){\n\t\t\t\t\t\t\t\tlist[i]?unshift('最新',uid):''\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\telse{\n\t\t\t\t\t\t\t\tlist[i][1]?unshift('热门',uid):''\n\t\t\t\t\t\t\t\tlist[i][0]?unshift('最新',uid):''\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\telse{\n\t\t\t\t\t\tif(uid=='avatar'){\n\t\t\t\t\t\t\tlist[i]?$.push(result[i]):''\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\telse{\n\t\t\t\t\t\tresult[i].count=''\n\t\t\t\t\t\tname=result[i].name\n\t\t\t\t\t\t并列?\n\t\t\t\t\t\t\tjson.push(\n\t\t\t\t\t\t\tJSON.stringify(list[i][0]?(result[i].fenlei=\"最新\",result[i].name=name+\" ⁿᵉʷ\",result[i]):''),\n\t\t\t\t\t\t\tJSON.stringify(list[i][1]?(result[i].fenlei=\"热门\",result[i].name=name+\" ʰᵒᵗ\",result[i]):'')\n\t\t\t\t\t\t):\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\tjson.push(JSON.stringify(list[i][0]?(result[i].fenlei=\"最新\",result[i].name=name+\" ⁿᵉʷ\",result[i]):'')),\n\t\t\t\t\t\t\t$.push(list[i][1]?(result[i].fenlei=\"热门\",result[i].name=name+\" ʰᵒᵗ\",result[i]):'')\n\t\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t}\n\t\t\t}\n\t\tfor(i in $){\n\t\t\t\tjson.push(JSON.stringify($[i]))\n\t\t\t}\n\t}\n\n\nfunction zhuanji(list){$=[];url=[]\n\t\tif(!list){\n\t\t\t\t$ = JSON.parse(java.ajax(a+'/v4/homepage'+b)).res.homepage[1].items\n\t\t\t}\n\t\telse{urb=[]\n\t\t\t\tfor(i in list){\n\t\t\t\t\tif(list[i]==true){\n\t\t\t\t\t\tif(i==list.length-1){\n\t\t\t\t\t\t\tura = a+'/v2'+b\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\telse if(i==list.length-2){\n\t\t\t\t\t\t\tura = e\n\t\t\t\t\t\t\turb = '/'+key\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\telse{\n\t\t\t\t\t\t\tura = a+c+'/category/'+result[i].id\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\turl = ura+'/album'+urb+'?limit=10'\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\tif(url!=\"\"){\n\t\t\t\tjava.put('url', url)\n\t\t\t\t$ = JSON.parse(java.ajax(url)).res.album\n\t\t\t}\n\t\tfor(i in $){\n\t\t\t\tif(!list){$[i].fenlei=\"小编推荐\"}\n\t\t\t\tjson.push(JSON.stringify($[i]))\n\t\t\t}\n\t}\n\n\ns0=key;s1=\"自定义搜索\";\ns2=\"热门搜索\";s3=\"随机搜索\";\nf1=\"发现\";f2=\"热门设置\";f3=\"推荐\";\nif(uid=='vertical'){\n\t\t分类=竖屏.分类\n\t\t分类.显示?fenlei(分类.设置,分类.并列):''\n\t\t发现.竖屏?unshift(f1,f2):''\n\t\t搜索=竖屏.搜索\n\t\t搜索.显示?(搜索.自定?unshift(key,s1):''):''\n\t\t搜索.显示?(搜索.热门?sousuo(s2):''):''\n\t\t搜索.显示?(搜索.随机?sousuo(s3):''):''\n\t\t专辑=竖屏.专辑\n\t\t专辑.显示?(专辑.推荐?zhuanji():''):''\n\t\t专辑.显示?zhuanji(专辑.设置):''\n\t}\nelse if(uid=='wallpaper'){\n\t\t分类=横屏.分类\n\t\t分类.显示?fenlei(分类.设置,分类.并列):''\n\t\t发现.横屏?unshift(f1,f2):''\n\t\t搜索=横屏.搜索\n\t\t搜索.显示?(搜索.自定?unshift(key,s1):''):''\n\t\t搜索.显示?(搜索.热门?sousuo(s2):''):''\n\t\t搜索.显示?(搜索.随机?sousuo(s3):''):''\n\t\t专辑=横屏.专辑\n\t\t专辑.显示?zhuanji(专辑.设置):''\n\t}\nelse if(uid=='videowp'){\n\t\t分类=动态.分类\n\t\t分类.显示?fenlei(分类.设置,分类.并列):''\n\t\t动态.推荐?unshift(f3,f2):''\n\t\t发现.动态?unshift(f1,f2):''\n\t}\nelse{\n\t\t分类=头像.分类\n\t\t分类.显示?fenlei(分类.设置,分类.并列):''\n\t\t发现.头像?unshift(f1,f2):''\n\t}\n//去除空值\n}json=json.filter(e=>{return e!='\"\"'})}\njson",
    "ruleContent": "<title>@get:{name}</title>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\">\n<link rel=\"stylesheet\" href=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.2/viewer.min.css\">\n<script src=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.2/viewer.min.js\"></script>\n\n<button id=\"b\" onclick=\"跳转指定页数()\">></button><br>\n<h6><i><br>p1</i></h6>\n<div id=\"box\"></div>\n<h6 id=\"loads\"><i>加载中...</i></h6>\n\n<script>\n//获取源变量对应的img宽度\nv=\"{{eval(String(source.sourceComment));w}}\"\nif(v==4){\n\tw='22.5'\n}else if(v==3){\n\tw='30.8'\n}else if(v==1){\n\tw='97.5'\n}else{\n\tw='47.5'\n}\nImg = '<img onload=\"box.viewer.update()\" style=\"width:'+w+'%\" src=\"'\n\n\nbox = document.getElementById(\"box\")\nloads = document.getElementById(\"loads\")\n\na=\"{{eval(String(source.sourceComment));其他.历史浏览}}\"\nb=\"{{eval(String(source.sourceComment));其他.跳转按钮}}\"\nc=document.getElementById('b')\nif(!b==true){c.style.display='none'}\n\n\n//p1图片\nsrc = \"{{$.res.vertical[*].img||$.res.wallpaper[*].img||$.res.videowp[*].img||$.res.data[*].img||$.res.avatar[*].thumb##\\n##,}}\".split(',')\nfor(i in src){\n\tbox.innerHTML += Img+src[i]+'\">'\n}\n\n\ni=1\np=1\npg=\"{{String(java.get('pg'))/12}}\"\nu=\"{{baseUrl}}&skip=\"\n\nwindow.onload = () => {\n\tnew Viewer(box,{title:false,interval:3000})\n\tio = new IntersectionObserver(entries => {\n\t\tif(entries[0].intersectionRatio){\n\t\t\tif(i==1&&a==true){加载历史浏览()}\n\t\t\tif(p>3){i++;p=1}\n\n\t\t\turl = u+i*12\n\t\t\tif(pg!=0){\n\t\t\t\tif(i<Math.ceil(pg)){\n\t\t\t\t\tfetchJson(url)\n\t\t\t\t\t}\n\t\t\t\telse{\n\t\t\t\t\tio.unobserve(loads)\n\t\t\t\t\tloads.innerText='我是有底线的'\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\telse{\n\t\t\t\tfetchJson(url)\n\t\t\t\t}\n\t\t}\n\t},{\n\t\trootMargin:`0px 0px 100px 0px`\n\t})\n\tio.observe(loads)\n}\n\n\nfunction 加载历史浏览(){\n\ts = window.localStorage\n\tif(!s.getItem('s')){s.setItem('s',i)}\n\ts = parseInt(s.getItem('s'))+1\n\tx = window.prompt(\"检测到历史浏览，是否跳转？\",s)\n\tx = (x==''||x==null)?1:(x==1?x:x-1)\n\ti = parseInt(x)\n}\n\n\nfunction 跳转指定页数(){io.observe(loads)\n\tx = window.prompt(\"跳转到第几页？\"+(pg!=0?'最多跳转到'+Math.ceil(pg)+'? ':''),'')\n\tx = (x==''||x==null)?i:x-1\n\ti = parseInt(x)\n}\n\n\n\nfunction fetchJson(url){\n\tP = \"p\"+(parseInt(i)+1)\n\tloads.innerText = P+\"加载中...\"\n\n//加载链接( json格式\n\tfetch(url).then(res=>res.json())\n\n//加载成功\n\t.then($=>{\n\t\tsrc = ($.res.vertical||$.res.wallpaper||$.res.videowp||$.res.data||$.res.avatar)\n\t\tif(src==\"\"){\n\t\t\tio.unobserve(loads)\n\t\t\tloads.innerText='我是有底线的'\n\t\t}else{\n\t\tbox.innerHTML += '<h6><i>'+P+'</i></h6>'\n\t\tfor(I in src){\n\t\t\tbox.innerHTML += Img+(src[I].img||src[I].thumb)+'\">'\n\t\t\t}\n\t\tif(p>1){p=1}\n\t\twindow.localStorage.setItem('s',i)\n\t\ti++\n\t\t}\n\t})\n\n//加载失败\n\t.catch(x=>{\n\t\tbox.innerHTML += '<h6><i>'+P+'加载失败...<sup>'+p+'</sup></i></h6>'\n\t\tp++\n\t})\n}\n</script>\n@js:\nhtml = result\nif(String(java.getString('$.res.vertical||$.res.wallpaper||$.res.videowp||$.res.data||$.res.avatar'))==\"\"){\n\thtml = '<title>随机图片</title>\\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\"><br>\\n<h3 style=\"text-align:center\">内容为空</h3>\\n<h6>试试随机图片吧，点击刷新</h6>\\n<img width=\"100%\" src=\"http://www.dmoe.cc/random.php\" id=\"tu\" onclick=\"tu()\">\\n<script>\\nsrc = \"{{eval(String(source.sourceComment));String(u1)}}\".split(\",\")\\n\\nfunction tu(){\\n\t\tdocument.getElementById(\"tu\").src = src[Math.ceil(Math.random()*4)-1] + Math.random()\\n\t}\\n</script>'\n\t}\nhtml",
    "ruleDescription": "",
    "ruleImage": "$..cover||$.img",
    "ruleLink": "$.value.id||$.id||$._id\n@js:\nid = String(result)\nname = String(java.get('name'))\nfenlei = String(java.getString('$.fenlei'))\neval(String(source.sourceComment))\n\nif(name==\"搜索\"||fenlei.match(/搜索/)){\n\t\turl = e+'/resource/'+(fenlei!='自定义搜索'?name:key)+'?'\n\t}\n\nelse if(name==\"最新\"){\n\t\turl = a+c+b+'?'\n\t\tif(uid=='videowp'){\n\t\t\t\turl = d+b+'?'\n\t\t\t}\n\t}\n\nelse if(name==\"热门\"){\n\t\tif(uid=='videowp'){\n\t\t\t\turl = d+b+'?order=hot&'\n\t\t\t}\n\t\telse if(uid=='wallpaper'){\n\t\t\t\turl = a+'/v3/homepage?'\n\t\t\t}\n\t\telse{\n\t\t\t\turl = a+'/v4/homepage'+b+'?'\n\t\t\t}\n\t}\n\nelse if(name==\"推荐\"){\n\t\turl = d+'/featured?'\n\t}\n\nelse if(name==\"发现\"){\n\t\turl = 'http://m'+uri+'/v1/explore/set?'\n\t}\n\nelse{\n\t\tif(uid=='videowp'){\n\t\t\t\turl = d+'/category/'+id+'?'+(fenlei=='热门'?'order=hot&':'')\n\t\t\t}\n\t\telse if(uid=='avatar'){\n\t\t\t\turl = a+c+b+'?cid='+id+'&'\n\t\t\t}\n\t\telse{\n\t\t\t\turl = a+c+ ((String(java.getString('$.user')).length||fenlei=='小编推荐')?'/album/':'/category/') +id+b+'?'+(fenlei=='热门'?'order=hot&':'')\n\t\t\t}\n\t}\nurl+'limit=12'",
    "ruleNextPage": "@js:\nif(!baseUrl.match(/skip=/)){\n\t\turl = (u=String(java.get('url'))).length? u+'&skip=10':''\n\t}\nelse{\n\t\tp = baseUrl.match(/skip=(\\d+)0/)[1]\n\t\tp = 'skip='+(parseInt(p)+1)*10\n\t\turl = baseUrl.replace(/skip=(\\d+)/, p)\n\t}\nurl",
    "rulePubDate": "$..count\n@js:pg=\"\"\nif(result!=\"\"){\n\t\tpg = ' '+java.put('pg', result)+'p'\n\t}\njava.getString('$.fenlei') + pg +' &nbsp;'+ String(java.getString('$.tag[*]&&$..desc')).replace(/\\n/g,' ')",
    "ruleTitle": "$..name||$.category##\\n.*\n@js:java.put('name',result)",
    "singleUrl": false,
    "sortUrl": "竖屏::http://service.picasso.adesk.com/v1/vertical/category\n横屏::http://service.picasso.adesk.com/v1/wallpaper/category\n动态::https://service.videowp.adesk.com/v1/videowp/category\n头像::http://m.adesk.com/v1/avatar/category",
    "sourceComment": "//v3.6\n//右上角登录查看使用说明(简略, 加载比较慢\n//增加分类热门，优化搜索，正文\n\n\n\n//1启用，0禁用\n竖屏 = {\n\t\t搜索: {\n\t\t\t\t显示: 0 ,\n\t\t\t\t自定: 0 ,\n\t\t\t\t热门: 0 ,\n\t\t\t\t随机: 0\n\t\t\t},\n\t\t分类: {\n\t\t\t\t显示: 1 ,\n\t\t\t\t并列: 1 ,\n\t\t\t\t设置: [\n\t\t\t\t\t\t[ 1 , 1 ] ,//美女\n\t\t\t\t\t\t[ 1 , 1 ] ,//动漫\n\t\t\t\t\t\t[ 1 , 0 ] ,//风景\n\t\t\t\t\t\t[ 1 , 0 ] ,//游戏\n\t\t\t\t\t\t[ 1 , 0 ] ,//文字\n\t\t\t\t\t\t[ 1 , 0 ] ,//视觉\n\t\t\t\t\t\t[ 1 , 0 ] ,//情感\n\t\t\t\t\t\t[ 1 , 0 ] ,//设计\n\t\t\t\t\t\t[ 1 , 0 ] ,//明星\n\t\t\t\t\t\t[ 1 , 0 ] ,//物语\n\t\t\t\t\t\t[ 1 , 0 ] ,//男人\n\t\t\t\t\t\t[ 1 , 0 ] ,//机械\n\t\t\t\t\t\t[ 1 , 0 ] ,//城市\n\t\t\t\t\t\t[ 1 , 0 ] ,//动物\n\t\t\t\t\t\t[ 0 , 0 ] //最新, 热门\n\t\t\t\t\t]\n\t\t\t},\n\t\t专辑: {\n\t\t\t\t显示: 0 ,\n\t\t\t\t推荐: 0 ,\n\t\t\t\t设置: [\n\t\t\t\t\t\t0 ,//美女\n\t\t\t\t\t\t0 ,//动漫\n\t\t\t\t\t\t0 ,//风景\n\t\t\t\t\t\t0 ,//游戏\n\t\t\t\t\t\t0 ,//文字\n\t\t\t\t\t\t0 ,//视觉\n\t\t\t\t\t\t0 ,//情感\n\t\t\t\t\t\t0 ,//设计\n\t\t\t\t\t\t0 ,//明星\n\t\t\t\t\t\t0 ,//物语\n\t\t\t\t\t\t0 ,//男人\n\t\t\t\t\t\t0 ,//机械\n\t\t\t\t\t\t0 ,//城市\n\t\t\t\t\t\t0 ,//动物\n\t\t\t\t\t\t0 ,//搜索\n\t\t\t\t\t\t1 //最新\n\t\t\t\t\t]\n\t\t\t}\n\t}\n\n\n\n横屏 = {\n\t\t搜索: {\n\t\t\t\t显示: 0 ,\n\t\t\t\t自定: 0 ,\n\t\t\t\t热门: 0 ,\n\t\t\t\t随机: 0\n\t\t\t},\n\t\t分类: {\n\t\t\t\t显示: 1 ,\n\t\t\t\t并列: 1 ,\n\t\t\t\t设置: [\n\t\t\t\t\t\t[ 1 , 1 ] ,//美女\n\t\t\t\t\t\t[ 1 , 1 ] ,//动漫\n\t\t\t\t\t\t[ 1 , 0 ] ,//风景\n\t\t\t\t\t\t[ 1 , 0 ] ,//游戏\n\t\t\t\t\t\t[ 1 , 0 ] ,//文字\n\t\t\t\t\t\t[ 1 , 0 ] ,//视觉\n\t\t\t\t\t\t[ 1 , 0 ] ,//情感\n\t\t\t\t\t\t[ 1 , 0 ] ,//设计\n\t\t\t\t\t\t[ 1 , 0 ] ,//明星\n\t\t\t\t\t\t[ 1 , 0 ] ,//物语\n\t\t\t\t\t\t[ 1 , 0 ] ,//男人\n\t\t\t\t\t\t[ 1 , 0 ] ,//机械\n\t\t\t\t\t\t[ 1 , 0 ] ,//城市\n\t\t\t\t\t\t[ 1 , 0 ] ,//动物\n\t\t\t\t\t\t[ 0 , 0 ] //最新, 热门\n\t\t\t\t\t]\n\t\t\t},\n\t\t专辑: {\n\t\t\t\t显示: 0 ,\n\t\t\t\t设置: [\n\t\t\t\t\t\t0 ,//美女\n\t\t\t\t\t\t0 ,//动漫\n\t\t\t\t\t\t0 ,//风景\n\t\t\t\t\t\t0 ,//游戏\n\t\t\t\t\t\t0 ,//文字\n\t\t\t\t\t\t0 ,//视觉\n\t\t\t\t\t\t0 ,//情感\n\t\t\t\t\t\t0 ,//设计\n\t\t\t\t\t\t0 ,//明星\n\t\t\t\t\t\t0 ,//物语\n\t\t\t\t\t\t0 ,//男人\n\t\t\t\t\t\t0 ,//机械\n\t\t\t\t\t\t0 ,//城市\n\t\t\t\t\t\t0 ,//动物\n\t\t\t\t\t\t0 ,//搜索\n\t\t\t\t\t\t1 //最新\n\t\t\t\t\t]\n\t\t\t}\n\t}\n\n\n\n//显示的是动图封面，video无法适配？\n动态 = {\n\t\t推荐: 0 ,\n\t\t分类: {\n\t\t\t\t显示: 1 ,\n\t\t\t\t并列: 1 ,\n\t\t\t\t设置: [\n\t\t\t\t\t\t[ 1 , 1 ],//动漫新番\n\t\t\t\t\t\t[ 1 , 1 ],//网络红人\n\t\t\t\t\t\t[ 1 , 0 ],//游戏专区\n\t\t\t\t\t\t[ 1 , 0 ],//热门推荐\n\t\t\t\t\t\t[ 1 , 0 ],//风景名胜\n\t\t\t\t\t\t[ 1 , 0 ],//其他资源\n\t\t\t\t\t\t[ 1 , 0 ],//歌曲热舞\n\t\t\t\t\t\t[ 1 , 0 ],//娱乐明星\n\t\t\t\t\t\t[ 1 , 0 ],//热门影视\n\t\t\t\t\t\t[ 1 , 0 ],//动物萌宠\n\t\t\t\t\t\t[ 0 , 0 ]//最新，热门\n\t\t\t\t\t]\n\t\t\t}\n\t}\n\n\n\n头像 = {\n\t\t分类: {\n\t\t\t\t显示: 1 ,\n\t\t\t\t设置: [\n\t\t\t\t\t\t0 ,//个性男头\n\t\t\t\t\t\t1 ,//个性女头\n\t\t\t\t\t\t1 ,//动漫\n\t\t\t\t\t\t1 ,//情侣\n\t\t\t\t\t\t1 ,//有趣\n\t\t\t\t\t\t1 ,//萌宠\n\t\t\t\t\t\t1 ,//emo\n\t\t\t\t\t\t1 ,//简约\n\t\t\t\t\t\t1 ,//欧美\n\t\t\t\t\t\t1 ,//治愈\n\t\t\t\t\t\t1 ,//风景\n\t\t\t\t\t\t1 ,//古风\n\t\t\t\t\t\t1 ,//文字\n\t\t\t\t\t\t1 ,//团头\n\t\t\t\t\t\t1 ,//萌娃\n\t\t\t\t\t\t1 ,//明星\n\t\t\t\t\t\t1 ,//星座\n\t\t\t\t\t\t1 ,//节日\n\t\t\t\t\t\t0 //最新\n\t\t\t\t\t]\n\t\t\t}\n\t}\n\n\n\n//发现的路径是唯一的\n//四个分类只能存在一个发现\n发现 = {\n\t\t竖屏: 0 ,\n\t\t横屏: 0 ,\n\t\t动态: 0 ,\n\t\t头像: 1\n\t}\n\n\n\n其他 = {\n\t\t随机封面: 1 ,\n\t\t随机语句: 0 ,\n\t\t变量搜索: 1 ,\n\t\t历史浏览: 0 ,\n\t\t跳转按钮: 1\n\t}\n\n\n\nuri = '.adesk.com'\nuid = baseUrl.match(/\\/v\\d\\/([^\\/]+)/)[1]\nif(uid=='push'){\n\t\tuid = baseUrl.match(/uid=([^&]+)/)[1]\n\t}\nelse if(uid=='search'){\n\t\tuid = baseUrl.match(/\\/search\\/([^\\/]+)/)[1]\n\t}\na='http://service.picasso'+uri\nb='/'+uid\nc='/v1'+b\nd='https://service.'+uid+uri+c\ne='http://so.picasso'+uri+'/v1/search'+b\n\n\n\n//获取正文图宽，搜索关键词\nv = String(source.getVariable())\nv = (v!=\"\"&&v!=\"null\")?v:\"夏日\"\nif(uid!='wallpaper'){\n\t\tw=2\n\t\tk=竖屏.搜索.自定\n\t}\nelse{\n\t\tw=1\n\t\tk=横屏.搜索.自定\n\t}\nW = v.match(/^[1234]$/)?v:w\nw = k?(其他.变量搜索?w:W):W\nkey = 其他.变量搜索?v:String(java.getVerificationCode(\"https://thomasyo.coding.net/p/yuedu/d/dingyue/git/raw/master/yanzheng/sou.jpg\"))\n\n\n\n//随机封面和随机语句的链接\nu1 = [\n\t\t'http://www.dmoe.cc/random.php?',\n\t\t'http://api.mtyqx.cn/tapi/random.php?',\n\t\t'https://api.ixiaowai.cn/api/api.php?',\n\t\t'https://acg.toubiec.cn/random.php?'\n\t]\nu2 = [\n\t\t'http://api.guaqb.cn/v1/onesaid?',\n\t\t'https://v1.hitokoto.cn/?encode=text&',\n\t\t'https://v1.jinrishici.com/rensheng.txt?',\n\t\t'http://yijuzhan.com/api/word.php?'\n\t]\nfunction x(){\n\t\treturn Math.ceil(Math.random()*4)-1\n\t}\nfunction cover(){\n\t\treturn 其他.随机封面?u1[x()]+Math.random():''\n\t}\nfunction desc(){\n\t\treturn 其他.随机语句?java.ajax(u2[x()]+Math.random()):''\n\t}",
    "sourceGroup": "图片,R18",
    "sourceIcon": "https://image.baidu.com/search/down?thumburl=https://weibo.com&url=https://wx1.sinaimg.cn/large/006RKGBpgy1gnwmbic1qoj30lo0ug42o.jpg",
    "sourceName": "壁纸喵",
    "sourceUrl": "http://service.picasso.adesk.com/v1/lightwp/category",
    "style": "h6{\n\tmargin:0;\n\ttext-align:center;\n}\nimg,button{\n\tmargin:1.25%;\n\tborder-radius:20px;\n}\nbutton{\n\toutline:none;\n\tfloat:right;\n\tposition:sticky;\n\ttop:0;\n}"
  },
  {
    "articleStyle": 2,
    "customOrder": -10098552,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "{\n\t\"User-Agent\": \"Mozilla/5.0 (Linux; Android 9) Mobile Safari/537.36\",\"referer\": \"{{baseUrl}}\"\n\t}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": ".picture-list a",
    "ruleContent": ".picture-item-box@all##src=\".*\" data-src##src\n<js>##href##</js>",
    "ruleImage": "img@data-src",
    "ruleLink": "href",
    "ruleNextPage": "text.下一页@href",
    "rulePubDate": "span@text",
    "ruleTitle": "text",
    "singleUrl": false,
    "sortUrl": "今日最新::https://mak803-ad398-dke3e.xofulitu765.xyz/arttype/2000/\n\t热姐::https://mak803-ad398-dke3e.xofulitu765.xyz/arttype/2001/\n罗莉塔::https://mak803-ad398-dke3e.xofulitu765.xyz/arttype/2002/\n性感的::https://mak803-ad398-dke3e.xofulitu765.xyz/arttype/2003/\n杂志::https://mak803-ad398-dke3e.xofulitu765.xyz/arttype/2004/\n角色扮演::https://mak803-ad398-dke3e.xofulitu765.xyz/arttype/5001/\n美足::https://mak803-ad398-dke3e.xofulitu765.xyz/arttype/5029/\n唯美::https://mak803-ad398-dke3e.xofulitu765.xyz/arttype/2002/\n模特儿::https://mak803-ad398-dke3e.xofulitu765.xyz/arttype/5031/\n日本::https://mak803-ad398-dke3e.xofulitu765.xyz/arttype/5032/\n东盟::https://mak803-ad398-dke3e.xofulitu765.xyz/arttype/5033/\n韩国::https://mak803-ad398-dke3e.xofulitu765.xyz/t/5034/\n搜索::https://mak803-ad398-dke3e.xofulitu765.xyz/s/wd/{{(source.getVariable()==''||source.getVariable()==null)?source.setVariable('萝莉'):\"\"}}{{source.getVariable()}}/",
    "sourceComment": "",
    "sourceGroup": "图片,R18",
    "sourceIcon": "https://img2.baidu.com/it/u=2497591018,1494490685&fm=253&fmt=auto&app=138&f=JPEG?w=375&h=500",
    "sourceName": "福利兔",
    "sourceUrl": "https://mak803-ad398-dke3e.xofulitu765.xyz/xoxo"
  },
  {
    "articleStyle": 0,
    "customOrder": -10098532,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\"User-Agent\":\"\"}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginUi": "",
    "loginUrl": "",
    "ruleArticles": "<js>\nconst ori = baseUrl.slice(baseUrl.indexOf('#') + 1);\nconst sort = ori.split('★').map((item) => {\n    const parts = item.split('☆');\n    return {\n        title: parts[1],\n        date: parts[2],\n        img: parts[3],\n        link: parts[0]\n    };\n});\nJSON.stringify(sort);\n</js>\n$.[*]",
    "ruleDescription": "<!DOCTYPE html>\n<html lang=\"zh-CN\">\n\n<head>\n  <meta charset=\"UTF-8\">\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=0\">\n  <style>\n    @keyframes tip {\n      0% {\n        opacity: 0;\n        transform: translateY(-45px);\n      }\n      30%,\n      70% {\n        opacity: 1;\n        transform: translateY(0);\n      }\n      100% { opacity: 0; }\n    }\n    \n    * {\n      line-height: 1em;\n      margin: 0;\n      padding: 0;\n      word-break: break-all;\n      -webkit-tap-highlight-color: transparent;\n      -webkit-touch-callout: none;\n      -webkit-user-select: none;\n      -khtml-user-select: none;\n      -moz-user-select: none;\n      -ms-user-select: none;\n      user-select: none;\n    }\n    \n    *:focus { outline: none; }\n    \n    input,\n    textarea { -webkit-user-select: auto; }\n    \n    body {\n      background: #f4f5f7;\n      display: flex;\n      flex-wrap: wrap;\n      place-content: center;\n      place-items: start;\n      padding: 15px;\n      color: #001944;\n    }\n    \n    label:has(#y)+div {\n      opacity: 0;\n      max-height: 0;\n      overflow: hidden;\n      transition: .3s;\n    }\n    \n    label:has(#y:checked)+div {\n      opacity: 1;\n      max-height: 50px;\n    }\n    \n    .card {\n      border-top: .5px solid rgba(255, 255, 255, .9);\n      border-radius: 24px;\n      background: rgba(255, 255, 255, .8);\n      box-shadow: 0 10px 20px rgba(0, 0, 0, .05);\n      padding: 30px;\n      margin: 12.5px;\n      width: 250px;\n      height: auto;\n    }\n    \n    .card details+div {\n      overflow: hidden;\n      max-height: 0;\n      opacity: 0;\n      transition: .6s;\n    }\n    \n    .card details[open]+div {\n      max-height: 666px;\n      opacity: 1;\n    }\n    \n    .card details summary {\n      font-size: 24px;\n      font-weight: 700;\n      user-select: none;\n      outline: 0;\n      opacity: .4;\n      transition: .6s;\n      display: block;\n      list-style: none;\n    }\n    \n    .card details[open] summary {\n      opacity: 1;\n      margin-bottom: 6px;\n      font-size: 20.5px;\n    }\n    \n    .flex {\n      display: flex;\n      flex-wrap: wrap;\n    }\n    \n    .tip {\n      position: fixed;\n      z-index: 9;\n      top: 45px;\n      border-radius: .75em;\n      padding: .9em;\n      background-color: rgba(99, 99, 99, .9);\n      box-shadow: 0 5px 20px rgba(0, 0, 0, .2);\n      color: #fff;\n      opacity: 0;\n      animation: tip 1s;\n      backdrop-filter: blur(15px);\n    }\n    \n    .txt-box { position: relative; }\n    \n    .txt-box button {\n      position: absolute;\n      top: 19px;\n      margin: 0;\n      padding: .3em;\n      border-radius: .3em;\n      background: rgba(0, 0, 0, .15);\n      color: #fff;\n      font-size: 12px;\n      z-index: 9;\n      display: none;\n    }\n    \n    .clear-btn { right: 9px; }\n    \n    .copy-btn { right: 44px; }\n    \n    .txt-box:hover .clear-btn,\n    .txt-box:hover .copy-btn { display: block; }\n    \n    span {\n      background: rgba(0, 0, 0, .04);\n      padding: .15em .3em;\n      border-radius: .5em;\n      margin-left: .5em;\n      font-family: serif;\n      font-size: 12px;\n      opacity: .75;\n    }\n    \n    button {\n      font-size: 13.5px;\n      font-weight: 700;\n      color: #4360b7;\n      background: #e7eeff;\n      padding: .65em .9em;\n      margin-top: 9px;\n      margin-right: 9px;\n      opacity: .81;\n      border-radius: 2em;\n      border: none;\n      transition: .3s;\n      cursor: pointer;\n    }\n    \n    button:active {\n      background: #d6ddee;\n      transform: scale(.95);\n    }\n    \n    textarea {\n      margin-top: 9px;\n      padding: 9px;\n      width: 100%;\n      box-sizing: border-box;\n      line-height: 1.2em;\n      font-size: 14px;\n      font-family: serif;\n      resize: none;\n      border-radius: 9px;\n      color: #333;\n      border: 2px solid rgba(0, 0, 0, .1);\n      background: rgba(0, 0, 0, .006);\n    }\n    \n    input[type=\"checkbox\"],\n    input[type=\"radio\"] {\n      vertical-align: bottom;\n      appearance: none;\n      margin: 0 .5em;\n      width: 1em;\n      height: 1em;\n      box-sizing: border-box;\n      background: rgba(0, 0, 0, .006);\n      border: 2px solid rgba(0, 0, 0, .1);\n      border-radius: 9px;\n      cursor: pointer;\n      transition: .15s;\n    }\n    \n    input:checked {\n      border-color: #4360b7;\n      background: #e7eeff;\n      opacity: .81;\n    }\n    \n    label {\n      display: inline-block;\n      margin-top: 9px;\n      margin-bottom: 0;\n      font-size: 14px;\n      font-family: serif;\n      cursor: pointer;\n    }\n  </style>\n  <title>写源助手</title>\n</head>\n\n<body>\n  <div class=\"card\">\n    <details>\n      <summary>格式化发现</summary>\n    </details>\n    <div>\n      <div class=\"txt-box\">\n        <button class=\"clear-btn\" onclick=\"clearText(this)\">清空</button>\n        <textarea id=\"text\" rows=\"4\" placeholder=\"请输入要处理的内容\"></textarea>\n        <button class=\"copy-btn\" onclick=\"copyText(this)\">复制</button>\n      </div>\n      <div class=\"flex\">\n        <button onclick=\"htmlToDisc()\">html转旧发现</button>\n        <button onclick=\"switchFormat()\">新旧发现互转</button>\n      </div>\n      <label>&nbsp;每行列数<span>仅新发现</span></label>\n      <div class=\"flex\">\n        <button onclick=\"setColumn(null)\">自动</button>\n        <button onclick=\"setColumn(1)\">1</button>\n        <button onclick=\"setColumn(.4)\">2</button>\n        <button onclick=\"setColumn(.25)\">3</button>\n        <button onclick=\"setColumn(.2)\">4</button>\n      </div>\n    </div>\n  </div>\n\n  <div class=\"card\">\n    <details>\n      <summary>匹配 / 替换</summary>\n    </details>\n    <div>\n      <div class=\"txt-box\">\n        <button class=\"clear-btn\" onclick=\"clearText(this)\">清空</button>\n        <textarea id=\"text1\" rows=\"4\" placeholder=\"请输入要处理的内容\"></textarea>\n        <button class=\"copy-btn\" onclick=\"copyText(this)\">复制</button>\n      </div>\n      <div class=\"txt-box\">\n        <button class=\"clear-btn\" onclick=\"clearText(this)\">清空</button>\n        <textarea id=\"matchText\" rows=\"1\" placeholder=\"请输入正则表达式\"></textarea>\n        <button class=\"copy-btn\" onclick=\"copyText(this)\">复制</button>\n      </div>\n      <label><input id=\"g\" type=\"checkbox\" checked>全局匹配<span>g</span></label>\n      <label><input id=\"i\" type=\"checkbox\">忽略大小写<span>i</span></label>\n      <label><input id=\"m\" type=\"checkbox\">多行模式<span>m</span></label>\n      <label><input id=\"s\" type=\"checkbox\">点号通配<span>s</span></label>\n      <label><input id=\"u\" type=\"checkbox\">Unicode<span>u</span></label>\n      <label><input id=\"y\" type=\"checkbox\">粘连匹配<span>y</span></label>\n      <div class=\"txt-box\">\n        <button class=\"clear-btn\" onclick=\"clearText(this)\">清空</button>\n        <textarea id=\"lastIndex\" rows=\"1\" placeholder=\"lastIndex，用于粘连匹配\"></textarea>\n        <button class=\"copy-btn\" onclick=\"copyText(this)\">复制</button>\n      </div>\n      <div class=\"txt-box\">\n        <button class=\"clear-btn\" onclick=\"clearText(this)\">清空</button>\n        <textarea id=\"replaceText\" rows=\"1\" placeholder=\"想要替换成什么\"></textarea>\n        <button class=\"copy-btn\" onclick=\"copyText(this)\">复制</button>\n      </div>\n      <div class=\"flex\">\n        <button onclick=\"insertInReplace('{\\{page}}')\">{&#123;page}}</button>\n        <button onclick=\"insertInReplace('\\\\')\">\\</button>\n        <button onclick=\"insertInReplace('<')\">&lt;</button>\n        <button onclick=\"insertInReplace('>')\">&gt;</button>\n      </div>\n      <div class=\"flex\">\n        <button onclick=\"regexMatch()\">匹配</button>\n        <button onclick=\"regexReplace()\">替换</button>\n        <button onclick=\"resetAll()\">重置匹配替换</button>\n      </div>\n      <div class=\"txt-box\">\n        <button class=\"clear-btn\" onclick=\"clearText(this)\">清空</button>\n        <textarea id=\"matchResult\" rows=\"4\" placeholder=\"匹配结果\"></textarea>\n        <button class=\"copy-btn\" onclick=\"copyText(this)\">复制</button>\n      </div>\n      <div class=\"txt-box\">\n        <button class=\"clear-btn\" onclick=\"clearText(this)\">清空</button>\n        <textarea id=\"replaceResult\" rows=\"4\" placeholder=\"替换结果\"></textarea>\n        <button class=\"copy-btn\" onclick=\"copyText(this)\">复制</button>\n      </div>\n    </div>\n  </div>\n\n  <div class=\"card\">\n    <details>\n      <summary>编码 / 转义</summary>\n    </details>\n    <div>\n      <div class=\"txt-box\">\n        <button class=\"clear-btn\" onclick=\"clearText(this)\">清空</button>\n        <textarea id=\"text2\" rows=\"4\" placeholder=\"请输入要处理的内容\"></textarea>\n        <button class=\"copy-btn\" onclick=\"copyText(this)\">复制</button>\n      </div>\n      <label><input id=\"more\" type=\"checkbox\">处理更多字符</label>\n      <div class=\"flex\">\n        <button onclick=\"encodeURL()\">url 编码</button>\n        <button onclick=\"decodeURL()\">url 解码</button>\n        <button onclick=\"encodeHTML()\">html 转义</button>\n        <button onclick=\"decodeHTML()\">html 反转义</button>\n      </div>\n      <div id=\"temp\" hidden></div>\n    </div>\n  </div>\n\n  <div class=\"card\">\n    <details>\n      <summary>在线链接</summary>\n    </details>\n    <div>\n      <div class=\"flex\">\n        <button onclick=\"window.open('https://tool.lu/zhconvert')\">简繁转换工具</button>\n        <button onclick=\"window.open('https://www.wetools.com/js-compress')\">JS 压缩工具</button>\n        <button onclick=\"window.open('https://www.yuque.com/legado/yuan')\">写源教程①</button>\n        <button onclick=\"window.open('https://www.yuque.com/120031xufengnian/yuedu')\">写源教程②</button>\n      </div>\n    </div>\n  </div>\n\n  <script>\n    const $ = (e) => document.querySelector(e);\n    \n    const showTip = (text) => {\n      const tip = document.createElement(\"p\");\n      tip.className = \"tip\";\n      tip.textContent = text;\n      document.body.appendChild(tip);\n      setTimeout(() => tip.remove(), 1500);\n    };\n    \n    const getText = (e) => {\n      const textEl = $(e);\n      const text = textEl.value;\n      return text || textEl.focus();\n    };\n    \n    const htmlToDisc = () => {\n      const text = getText('#text');\n      if (!text) return;\n      try {\n        const links = Array.from(new DOMParser().parseFromString(text, 'text/html').querySelectorAll('a[href]'))\n          .filter(a => {\n            const url = a.getAttribute('href').trim().toLowerCase();\n            return (!url.startsWith('javascript:') && !url.startsWith('#'));\n          })\n          .map(a => a.textContent.trim() + `::` + a.getAttribute('href').trim());\n        const num = links.length;\n        if (num > 0) {\n          $(\"#text\").value = links.join('\\n');\n          showTip(`提取到 ${num} 条发现`);\n        } else showTip('未提取到发现');\n      } catch (error) {\n        showTip('提取发现失败');\n      }\n    };\n    \n    const switchFormat = () => {\n      const text = getText('#text');\n      if (!text) return;\n      const textEl = $(\"#text\");\n      try {\n        textEl.value = JSON.parse(text)\n          .map(({ title = \"\", url = \"\" }) => title + `::` + url)\n          .join('\\n');\n      } catch (error) {\n        textEl.value = JSON.stringify(text\n          .replace(/&&/g,'\\n')\n          .split(/\\s*\\n+\\s*/)\n          .map(line => {\n            const [title, ...urls] = line.split('::').map(s => s.trim());\n            const url = urls.join('::');\n            return { title: title, url: url };\n          }));\n      }\n    };\n    \n    const setColumn = (n) => {\n      const text = getText('#text');\n      if (!text) return;\n      try {\n        const json = JSON.parse(text);\n        json.forEach((item) => {\n          item.style = {\n            layout_flexGrow: 1,\n            layout_flexBasisPercent: n\n          };\n        });\n        $(\"#text\").value = JSON.stringify(json);\n      } catch (error) {\n        showTip('添加样式失败');\n      }\n    };\n    \n    const buildRegex = () => {\n      const text = getText('#text1');\n      if (!text) return;\n      const matchText = getText('#matchText');\n      if (!matchText) return;\n      let options = \"\";\n      const flags = ['g', 'i', 'm', 's', 'u', 'y'];\n      flags.forEach(flag => {\n        if ($(`#${flag}`).checked) options += flag;\n      });\n      try {\n        const regex = new RegExp(matchText, options);\n        const lastIndex = parseInt($(\"#lastIndex\").value) || 0;\n        regex.lastIndex = lastIndex;\n        return { text, regex };\n      } catch (error) {\n        showTip('构建正则表达式失败');\n      }\n    };\n    \n    const regexMatch = () => {\n      const result = buildRegex();\n      if (!result) return;\n      const { text, regex } = result;\n      const matchResultEl = $(\"#matchResult\");\n      const match = text.match(regex);\n      if (match) {\n        if ($(\"#g\").checked) {\n          showTip(`找到 ${match.length} 个匹配项`);\n          matchResultEl.value = match.join('\\n');\n        } else {\n          showTip(`匹配位置：` + match.index);\n          matchResultEl.value = match[0];\n        }\n      } else {\n        matchResultEl.value = \"\";\n        showTip('未找到匹配项');\n      }\n    };\n    \n    const insertInReplace = (text) => {\n      const replaceTextEl = $(\"#replaceText\");\n      const start = replaceTextEl.selectionStart;\n      const length = replaceTextEl.selectionEnd - start;\n      const currentValue = replaceTextEl.value;\n      replaceTextEl.value = currentValue.slice(0, start) + text + currentValue.slice(start + length);\n      replaceTextEl.focus();\n      replaceTextEl.selectionStart = start + text.length;\n      replaceTextEl.selectionEnd = start + text.length;\n    };\n    \n    const regexReplace = () => {\n      const result = buildRegex();\n      if (!result) return;\n      const { text, regex } = result;\n      regexMatch();\n      const replaceText = $(\"#replaceText\").value;\n      $(\"#replaceResult\").value = text.replace(regex, replaceText);\n    };\n    \n    const resetAll = () => {\n      const fields = ['matchText', 'matchResult', 'lastIndex', 'replaceText', 'replaceResult'];\n      fields.forEach(field => {\n        $(`#${field}`).value = \"\";\n      });\n      showTip('重置匹配替换成功');\n    };\n    \n    const encodeURL = () => {\n      const text = getText('#text2');\n      if (!text) return;\n      $(\"#text2\").value = $(\"#more\").checked? encodeURIComponent(text) : encodeURI(text);\n      showTip('URLEncode 编码成功');\n    };\n    \n    const decodeURL = () => {\n      const text = getText('#text2');\n      if (!text) return;\n      try {\n        $(\"#text2\").value = decodeURIComponent(text);\n        showTip('URLDecode 解码成功');\n      } catch (error) {\n        showTip('URLDecode 解码失败');\n      }\n    };\n    \n    const encodeHTML = () => {\n      const text = getText('#text2');\n      if (!text) return;\n      const textEl = $(\"#text2\");\n      if ($(\"#more\").checked) {\n        const chars = [];\n        for (let i = 0; i < text.length; ++i) chars.push(`&#${text.charCodeAt(i)};`);\n        textEl.value = chars.join('');\n      } else {\n        const tempEl = $(\"#temp\");\n        tempEl.textContent = text;\n        textEl.value = tempEl.innerHTML;\n      }\n      showTip('html 转义成功');\n    };\n      \n    const decodeHTML = () => {\n      const text = getText('#text2');\n      if (!text) return;\n      const tempEl = $(\"#temp\");\n      tempEl.innerHTML = text.replace(/<br\\s*\\/?>/gi, \"\\n\").replace(/</g, \"&#60;\").replace(/>/g, \"&#62;\");\n      $(\"#text2\").value = tempEl.textContent;\n      showTip('html 反转义成功');\n    };\n\n    const clearText = (button) => {\n      button.nextElementSibling.value = \"\";\n      showTip('清空成功');\n    };\n\n    const copyText = (button) => {\n      const text = button.previousElementSibling.value;\n      if (!text) return showTip('内容为空');\n      navigator.clipboard.writeText(text)\n        .then(() => {\n          showTip('复制成功');\n        })\n        .catch(() => {\n          showTip('复制失败');\n        });\n    };\n  </script>\n</body>\n\n</html>\n🔵<!DOCTYPE html>\n<html lang=\"zh-CN\">\n\n  <head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=0\">\n    <title>随心导入</title>\n    <style>\n    @keyframes tip {\n      0% {\n        opacity: 0;\n        transform: translateY(-45px);\n      }\n      30%,\n      70% {\n        opacity: 1;\n        transform: translateY(0);\n      }\n      100% { opacity: 0; }\n    }\n    \n    * {\n      line-height: 1em;\n      margin: 0;\n      padding: 0;\n      word-break: break-all;\n      -webkit-tap-highlight-color: transparent;\n      -webkit-touch-callout: none;\n      -webkit-user-select: none;\n      -khtml-user-select: none;\n      -moz-user-select: none;\n      -ms-user-select: none;\n      user-select: none;\n    }\n    \n    *:focus { outline: none; }\n    \n    input,\n    textarea { -webkit-user-select: auto; }\n    \n    body {\n      background: #f4f5f7;\n      display: flex;\n      flex-wrap: wrap;\n      place-content: center;\n      place-items: start;\n      padding: 15px;\n      color: #001944;\n    }\n    \n    label:has(#y)+div {\n      opacity: 0;\n      max-height: 0;\n      overflow: hidden;\n      transition: .3s;\n    }\n    \n    label:has(#y:checked)+div {\n      opacity: 1;\n      max-height: 50px;\n    }\n    \n    .card {\n      border-top: .5px solid rgba(255, 255, 255, .9);\n      border-radius: 24px;\n      background: rgba(255, 255, 255, .8);\n      box-shadow: 0 10px 20px rgba(0, 0, 0, .05);\n      padding: 30px;\n      margin: 12.5px;\n      width: 250px;\n      height: auto;\n    }\n    \n    .card details+div {\n      overflow: hidden;\n      max-height: 0;\n      opacity: 0;\n      transition: .6s;\n    }\n    \n    .card details[open]+div {\n      max-height: 666px;\n      opacity: 1;\n    }\n    \n    .card details summary {\n      font-size: 24px;\n      font-weight: 700;\n      user-select: none;\n      outline: 0;\n      opacity: .4;\n      transition: .6s;\n      display: block;\n      list-style: none;\n    }\n    \n    .card details[open] summary {\n      opacity: 1;\n      margin-bottom: 6px;\n      font-size: 20.5px;\n    }\n    \n    .flex {\n      display: flex;\n      flex-wrap: wrap;\n    }\n    \n    .tip {\n      position: fixed;\n      z-index: 9;\n      top: 45px;\n      border-radius: .75em;\n      padding: .9em;\n      background-color: rgba(99, 99, 99, .9);\n      box-shadow: 0 5px 20px rgba(0, 0, 0, .2);\n      color: #fff;\n      opacity: 0;\n      animation: tip 1s;\n      backdrop-filter: blur(15px);\n    }\n    \n    .txt-box { position: relative; }\n    \n    .txt-box button {\n      position: absolute;\n      top: 19px;\n      margin: 0;\n      padding: .3em;\n      border-radius: .3em;\n      background: rgba(0, 0, 0, .15);\n      color: #fff;\n      font-size: 12px;\n      z-index: 9;\n      display: none;\n    }\n    \n    .clear-btn { right: 9px; }\n    \n    .copy-btn { right: 44px; }\n    \n    .txt-box:hover .clear-btn,\n    .txt-box:hover .copy-btn { display: block; }\n    \n    span {\n      background: rgba(0, 0, 0, .04);\n      padding: .15em .3em;\n      border-radius: .5em;\n      margin-left: .5em;\n      font-family: serif;\n      font-size: 12px;\n      opacity: .75;\n    }\n    \n    button {\n      font-size: 13.5px;\n      font-weight: 700;\n      color: #4360b7;\n      background: #e7eeff;\n      padding: .65em .9em;\n      margin-top: 9px;\n      margin-right: 9px;\n      opacity: .81;\n      border-radius: 2em;\n      border: none;\n      transition: .3s;\n      cursor: pointer;\n    }\n    \n    button:active {\n      background: #d6ddee;\n      transform: scale(.95);\n    }\n    \n    textarea {\n      margin-top: 9px;\n      padding: 9px;\n      width: 100%;\n      box-sizing: border-box;\n      line-height: 1.2em;\n      font-size: 14px;\n      font-family: serif;\n      resize: none;\n      border-radius: 9px;\n      color: #333;\n      border: 2px solid rgba(0, 0, 0, .1);\n      background: rgba(0, 0, 0, .006);\n    }\n    \n    input[type=\"checkbox\"],\n    input[type=\"radio\"] {\n      vertical-align: bottom;\n      appearance: none;\n      margin: 0 .5em;\n      width: 1em;\n      height: 1em;\n      box-sizing: border-box;\n      background: rgba(0, 0, 0, .006);\n      border: 2px solid rgba(0, 0, 0, .1);\n      border-radius: 9px;\n      cursor: pointer;\n      transition: .15s;\n    }\n    \n    input:checked {\n      border-color: #4360b7;\n      background: #e7eeff;\n      opacity: .81;\n    }\n    \n    label {\n      display: inline-block;\n      margin-top: 9px;\n      margin-bottom: 0;\n      font-size: 14px;\n      font-family: serif;\n      cursor: pointer;\n    }\n\n      fieldset {\n        border: 2px solid rgba(0, 0, 0, 0.1);\n        background-color: rgba(0, 0, 0, 0.006);\n        border-radius: 9px;\n        margin-top: 9px;\n        padding: 5px 18px 18px 18px;\n      }\n\n      legend {\n        margin: 0 .5em;\n      }\n\n     legend span {\n        margin: 0;\n      }\n\n     .select-wrapper {\n        display: flex;\n        align-items: center;\n        margin-top: 9px;\n        border: 2px solid rgba(0, 0, 0, 0.1);\n        border-radius: 9px;\n        overflow: hidden;\n        font-size: 14px;\n        color: #333;\n     }\n\n     .import-select {\n        flex: 1;\n        padding: 9px;\n        border: none;\n        appearance: none;\n        font-family: serif;\n        font-size: 14px;\n        background: rgba(0, 0, 0, 0.006);\n        -webkit-appearance: none;\n        -moz-appearance: none;\n      }\n\n     .import-select::-ms-expand {\n        display: none;\n      }\n\n     .import-select + button {\n        margin: 0;\n        padding: 10px 12px;\n        border-radius: 0;\n        border-left: 1px solid rgba(0, 0, 0, 0.1);\n      }\n      \n     .import-select + button:active {\n        transform: none;\n      }\n    </style>\n  </head>\n\n  <body>\n    <div class=\"card\">\n      <details open>\n        <summary>随心导入</summary>\n      </details>\n      <div>\n        <div class=\"txt-box\">\n          <button class=\"clear-btn\" onclick=\"clearText(this)\">清空</button>\n          <textarea id=\"url\" rows=\"4\" placeholder=\"请输入资源链接\"></textarea>\n          <button class=\"copy-btn\" onclick=\"copyText(this)\">复制</button>\n        </div>\n        <div class=\"select-wrapper\">\n          <select id=\"path\" class=\"import-select\" name=\"path\">\n            <option value=\"auto\" selected>自动识别</option>\n            <option value=\"bookSource\">书源</option>\n            <option value=\"rssSource\">订阅源</option>\n            <option value=\"replaceRule\">替换规则</option>\n            <option value=\"textTocRule\">TXT目录规则</option>\n            <option value=\"httpTTS\">TTS</option>\n            <option value=\"theme\">主题</option>\n            <option value=\"readConfig\">排版</option>\n            <option value=\"dictRule\">字典规则</option>\n          </select>\n          <button id=\"import\" onclick=\"importUrl()\">导入</button>\n        </div>\n      </div>\n    </div>\n    <div class=\"card\">\n      <details open>\n        <summary>长期链接</summary>\n      </details>\n      <div>\n        <fieldset>\n          <legend><span>书源</span></legend>\n          <button onclick=\"setUrl('https://raw.githubusercontent.com/shidahuilang/shuyuan/shuyuan/good.json★1')\">大灰狼</button>\n          <button onclick=\"setUrl('https://raw.githubusercontent.com/zmn001125/booksources/master/sources/guaner.txt★1')\">关耳</button>\n          <button onclick=\"setUrl('https://raw.githubusercontent.com/yc-sy/yd/refs/heads/master/sy.json★1')\">一程</button>\n          <button onclick=\"setUrl('https://raw.githubusercontent.com/cyao2q/yuedu/master/shuyuan★1')\">漠星曜</button>\n          <button onclick=\"setUrl('https://raw.githubusercontent.com/PB-pobing/pobing/pb/sy.json★1')\">破冰</button>\n          <button onclick=\"setUrl('https://raw.githubusercontent.com/XIU2/Yuedu/master/shuyuan★1')\">XIU2</button>\n        </fieldset>\n        <fieldset>\n          <legend><span>订阅源</span></legend>\n          <button onclick=\"setUrl('https://raw.githubusercontent.com/yc-sy/yd/refs/heads/master/dy.json★2')\">一程</button>\n          <button onclick=\"setUrl('https://raw.githubusercontent.com/nrhsyd/yd/refs/heads/main/rss.json★2')\">NRHSYD</button>\n        </fieldset>\n        <fieldset>\n          <legend><span>替换规则</span></legend>\n          <button onclick=\"setUrl('https://raw.githubusercontent.com/shidahuilang/shuyuan/shuyuan/jinghua.json★3')\">大灰狼</button>\n        </fieldset>\n        <fieldset>\n          <legend><span>TTS</span></legend>\n          <button onclick=\"setUrl('https://raw.githubusercontent.com/shidahuilang/shuyuan/shuyuan/tts.json★5')\">大灰狼</button>\n        </fieldset>\n        <fieldset>\n          <legend><span>主题</span></legend>\n          <button onclick=\"setUrl('https://raw.githubusercontent.com/nrhsyd/yd/refs/heads/main/theme.json★6')\">NRHSYD</button>\n        </fieldset>\n        <fieldset>\n          <legend><span>字典规则</span></legend>\n          <button onclick=\"setUrl('https://raw.githubusercontent.com/nrhsyd/yd/refs/heads/main/dict.json★8')\">NRHSYD</button>\n        </fieldset>\n      </div>\n    </div>\n    <script>\n      const $ = (e) => document.querySelector(e);\n    \n    const showTip = (text) => {\n      const tip = document.createElement(\"p\");\n      tip.className = \"tip\";\n      tip.textContent = text;\n      document.body.appendChild(tip);\n      setTimeout(() => tip.remove(), 1500);\n    };\n\n      const importUrl = () => {\n        const urlEl = $(\"#url\");\n        const url = urlEl.value;\n        if (!url) return urlEl.focus();\n        window.open(`yuedu://import/${$('#path').value}?src=` + encodeURIComponent(url));\n      };\n\n      const setUrl = (starSplit) => {\n        const urlEl = $(\"#url\");\n        const splitEl = starSplit.split('★');\n        let newUrl = splitEl[0];\n        if (/^https:\\/\\/raw.githubusercontent.com\\//i.test(newUrl)) newUrl = \"https://gh.llkk.cc/\" + newUrl;\n        urlEl.value = newUrl;\n        $(\"#path\").selectedIndex = parseInt(splitEl[1]) || 0;\n        $(\"details\").open = true;\n        urlEl.focus();\n        showTip('请点击导入按钮');\n      };\n\n      const clearText = (button) => {\n        button.nextElementSibling.value = \"\";\n        $(\"#path\").selectedIndex = 0;\n        showTip('清空成功');\n      };\n\n      const copyText = (button) => {\n        const text = button.previousElementSibling.value;\n        if (!text) return showTip('内容为空');\n        navigator.clipboard.writeText(text).then(() => {\n          showTip('复制成功');\n        }).catch(() => {\n          showTip('复制失败');\n        });\n      };\n    </script>\n  </body>\n\n</html>\n{{}}\n@js:\nconst u = \"{{$.link}}\";\n/^\\d+$/.test(u) ? result.split('🔵')[u] : \"\";",
    "ruleImage": "$.img",
    "ruleLink": "$.link",
    "rulePubDate": "$.date",
    "ruleTitle": "$.title",
    "shouldOverrideUrlLoading": "if (/s?q=/.test(url)) {\n  java.searchBook(java.toURL(url).searchParams.get('q').split(' ')[0]);\n  1;\n}",
    "singleUrl": false,
    "sortUrl": "工具::https://qq.com#0☆写源助手☆会有用喔(大概)★1☆随心导入☆支持多种导入格式~\n\n寻书::https://qq.com#https://quark.sm.cn/api/rest?method=Novelnew.home&format=html&schema=v2&cate=全部&rank=rank_hot&gender=male☆夸克热搜-小说☆大家都在搜的热点★https://www.qidiantu.com☆起点图☆小说数据可视化分析★https://m.tuishujun.com☆推书君☆一千个人眼中有一千个哈姆雷特\n\n找源::https://qq.com#https://yckceo.vip☆源仓库☆最新地址发布页★https://ysqbbs.com☆源社区☆好人很多的论坛★https://shuyuan.yiove.com☆Yiove 书源仓库☆只为小说阅读爱好者★http://fabu.yihulove.top☆YX源仓库☆书源爱好者的收集站★https://legado.aoaostar.com☆@AOAOSTAR☆收集整理★http://yuedu.miaogongzi.net/gx.html☆@喵公子☆收集整理★https://qyyuapi.com☆@xiaohan231☆个人主页★https://skybook.pages.dev☆@明月照大江☆个人主页",
    "sourceComment": "",
    "sourceGroup": "R18",
    "sourceIcon": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGZpbGw9IiM0NDQiIGQ9Ik04LjQyMiAyMC42MThDMTAuMTc4IDIxLjU0IDExLjA1NiAyMiAxMiAyMlYxMkwyLjYzOCA3LjA3M2EzLjE5NiAzLjE5NiAwIDAgMC0uMDQuMDY3QzIgOC4xNTQgMiA5LjQxNyAyIDExLjk0MnYuMTE3YzAgMi41MjQgMCAzLjc4Ny41OTcgNC44MDFjLjU5OCAxLjAxNSAxLjY3NCAxLjU4IDMuODI1IDIuNzA5eiIvPjxwYXRoIGZpbGw9IiM0NDQiIGQ9Im0xNy41NzcgNC40MzJsLTItMS4wNUMxMy44MjIgMi40NjEgMTIuOTQ0IDIgMTIgMmMtLjk0NSAwLTEuODIyLjQ2LTMuNTc4IDEuMzgybC0yIDEuMDVDNC4zMTggNS41MzYgMy4yNDIgNi4xIDIuNjM4IDcuMDcyTDEyIDEybDkuMzYyLTQuOTI3Yy0uNjA2LS45NzMtMS42OC0xLjUzNy0zLjc4NS0yLjY0MSIgb3BhY2l0eT0iLjciLz48cGF0aCBmaWxsPSIjNDQ0IiBkPSJNMjEuNDAzIDcuMTRhMy4xNTMgMy4xNTMgMCAwIDAtLjA0MS0uMDY3TDEyIDEydjEwYy45NDQgMCAxLjgyMi0uNDYgMy41NzgtMS4zODJsMi0xLjA1YzIuMTUxLTEuMTI5IDMuMjI3LTEuNjkzIDMuODI1LTIuNzA4Yy41OTctMS4wMTQuNTk3LTIuMjc3LjU5Ny00Ljh2LS4xMTdjMC0yLjUyNSAwLTMuNzg4LS41OTctNC44MDIiIG9wYWNpdHk9Ii41Ii8+PC9zdmc+",
    "sourceName": "立方",
    "sourceUrl": "https://qq.com#立方",
    "style": ""
  },
  {
    "articleStyle": 0,
    "concurrentRate": "",
    "customOrder": -10098517,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/18.17763",
    "injectJs": "",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginUi": "",
    "loginUrl": "https://flowus.cn/youtiaoyu/share/b6a9dc79-0c12-4ae6-828a-e3e6a5cd9d3e",
    "ruleArticles": "<js>\n\tmat = baseUrl.match(/^(.*?com)[^##]*\\/(.+)$/)\n\t\turl = java.put('url', mat[1])\n\t\turi = java.put('uri', mat[2])\n\nfunction $(reg){\n\t\treturn uri.match(reg)?true:false\n\t}\n\n//get【pwd】(链接提取码)\npwd = \n$(/##[^【]/)?  baseUrl.match(/##(.*?)(【|$)/)[1]:\n\"\";\n\neval(result.match(/var pgs;([\\s\\S]*?pgs.+;)/)[1]);\neval('$='+result.match(/data :([\\s\\S]*?\\})/)[1])\n\nbody = \"\";\nfor(key in $)body += key+'='+$[key]+'&';\nbody = String(body).replace(/&$/,'');\n\nurl += `/filemoreajax.php,{\"method\":\"POST\",\"body\":\"${body}\"}`\njava.put('url', url)\njava.log('ⅹ：'+ url);\njava.ajax(url)\n</js>\n$.text",
    "ruleContent": "",
    "ruleDescription": "",
    "ruleImage": "",
    "ruleLink": "$.id@js:\nurl=`{{$.url}}`;\nif(result)url+=`/tp/{{$.id}}`;\nString(url).trim().replace(/^..导入/,'');",
    "ruleNextPage": "@js:\ntry {\n    url = String(java.get('url'));\n    url = url.replace(/(pg=)(\\d+)/, (mat, $1, $2) => {\n        return $1 + (~~$2 + 1)\n    }).replace(url, '');\n} catch (err) {\n    url = \"\"\n}\nurl",
    "rulePubDate": "💾 {{$.icon}}　📥 {{$.size}}　⏱️ {{$.time}}\n##💾 　📥 　⏱️\\s*",
    "ruleTitle": "$.name_all",
    "singleUrl": false,
    "sortUrl": "① 阅读正式版::https://busisu.lanzoub.com/b023gfq8b##777【003/73/49/21】\n\n② 阅读Pro::https://busisu.lanzoub.com/s/yuedupro##777【003/73/49/21】\n\n③ 阅读测试版::https://busisu.lanzoub.com/b023bisle##777【003/73/49/21】",
    "sourceComment": "关注公众号 < 远近物 > 查看更多\n点击登录查看更多笔记\n\n网盘密码：777",
    "sourceGroup": "封子秦,R18",
    "sourceIcon": "https://cdn.jsdelivr.net/gh/gedoor/legado@master/app/src/main/res/mipmap-hdpi/ic_launcher.png",
    "sourceName": "软件下载",
    "sourceUrl": "https://www.lanzoux.com",
    "style": "",
    "variableComment": ""
  },
  {
    "articleStyle": 0,
    "customOrder": -10098516,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "legado,R18",
    "sourceIcon": "https://cdn.jsdelivr.net/gh/gedoor/legado@master/app/src/main/res/mipmap-hdpi/ic_launcher.png",
    "sourceName": "烏雲净化",
    "sourceUrl": "https://www.lanzoux.com/b0bw8jwoh"
  },
  {
    "articleStyle": 0,
    "customOrder": -10098515,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "legado,R18",
    "sourceIcon": "https://cdn.jsdelivr.net/gh/gedoor/legado@master/app/src/main/res/mipmap-hdpi/ic_launcher.png",
    "sourceName": "使用说明",
    "sourceUrl": "https://www.yuque.com/legado"
  },
  {
    "articleStyle": 0,
    "customOrder": -10098513,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "阅读,书源,R18",
    "sourceIcon": "https://i.loli.net/2021/06/23/S7rvWRZtPIq34MJ.png",
    "sourceName": "源仓库",
    "sourceUrl": "http://www.yckceo.vip"
  },
  {
    "articleStyle": 0,
    "customOrder": -10098512,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\"User-Agent\":\"Mozilla/5.0 (Linux; Android 10; TEL-AN00 Build/HONORTEL-AN00; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/92.0.4515.105 Mobile Safari/537.36\"}",
    "injectJs": "const video = document.getElementById('video');\n        let isDragging = false;\n        let startX = 0;\n        let startTime = 0;\n\n        video.addEventListener('touchstart', (e) => {\n            isDragging = true;\n            startX = e.touches[0].clientX;\n            startTime = video.currentTime;\n            video.pause();  // 暂停视频\n        });\n\n        video.addEventListener('touchmove', (e) => {\n            if (!isDragging) return;\n            const dx = e.touches[0].clientX - startX;\n            const duration = video.duration;\n            const change = (dx / video.clientWidth) * duration;\n            video.currentTime = Math.min(Math.max(startTime + change, 0), duration);\n        });\n\n        video.addEventListener('touchend', () => {\n            if (isDragging) {\n                video.play();  // 继续播放视频\n                isDragging = false;\n            }\n        });",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "$.model.data",
    "ruleContent": "`<html>\n    <head>\n        <meta name=\"viewport\" content=\"width=device-width\">\n        <style>\n            body {\n                margin: 0;\n                font-family: Arial, sans-serif;\n                background: linear-gradient(135deg, #ece9e6, #ffffff);\n                display: flex;\n                flex-direction: column;\n                align-items: center;\n                justify-content: flex-start;\n                padding: 20px;\n            }\n            .container {\n                width: 100%;\n                max-width: 800px;\n                background: #fff;\n                border-radius: 10px;\n                box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);\n                overflow: hidden;\n                margin-bottom: 20px;\n            }\n            h3 {\n                margin: 0;\n                padding: 10px 20px;\n                font-size: 0.9em;\n                background: #333;\n                color: #fff;\n                border-radius: 10px 10px 0 0;\n            }\n            .video-container {\n                width: 100%;\n                background: #000;\n                position: relative;\n            }\n            video {\n                width: 100%;\n                height: auto;\n                display: block;\n            }\n            .info-container {\n                padding: 20px;\n            }\n            .info-container p {\n                margin: 10px 0;\n                color: #555;\n            }\n            .info-container p span {\n                font-weight: bold;\n                color: #000;\n            }\n        </style>\n    </head>\n    <body>\n        <div class=\"container\">\n            <h3>{{$.model.title}}</h3>\n            <div class=\"video-container\">\n                <video id=\"video\" src=\"{{$.model.url}}\" poster=\"{{$.model.coverUrl}}\" controls></video>\n            </div>\n        </div>\n        <div class=\"info-container\">\n            <p>⌚️ 时长：<span>{{$.model.durationFormat}}</span></p>\n            <p>📆 日期：<span>{{$.model.onlineTime##T|.000.*## }}</span></p>\n            <p>🎥 播放：<span>{{$.model.viewCount}}次</span></p>\n            <p>📩 收藏：<span>{{$.model.collectCount}}</span></p>\n            <p>🕵 片商：<span>{{$.model.authors}}</span></p>\n            <p>👤 上传：<span>{{$.model.uploader}}</span></p>\n            <p>🔖 标签：<span>{{$.model.categories}},{{$.model.tags}}</span></p>\n            <p>🏷 简介：<span>{{$.model.brief}}</span></p>\n        </div>\n        <script>\n            // 获取视频元素\n            const video = document.getElementById('video');\n            let touchStartX = 0;\n            let touchStartY = 0;\n            let touchStartTime = 0;\n            let isLongPress = false;\n\n            // 滑动快进\n            video.addEventListener('touchstart', (e) => {\n                touchStartX = e.touches[0].clientX;\n                touchStartY = e.touches[0].clientY;\n                touchStartTime = Date.now();\n                isLongPress = false;\n            });\n\n            video.addEventListener('touchmove', (e) => {\n                const deltaX = e.touches[0].clientX - touchStartX;\n                const deltaY = e.touches[0].clientY - touchStartY;\n\n                // 如果是水平滑动，且未进入长按状态\n                if (Math.abs(deltaX) > Math.abs(deltaY) && !isLongPress) {\n                    const duration = video.duration;\n                    const seekTime = video.currentTime + (deltaX / 50); // 每滑动100px快进1秒\n                    video.currentTime = Math.min(Math.max(seekTime, 0), duration);\n                }\n                e.preventDefault(); // 防止默认行为（如页面滚动）\n            });\n\n            // 长按快进\n            video.addEventListener('touchend', (e) => {\n                const touchEndTime = Date.now();\n                const touchDuration = touchEndTime - touchStartTime;\n\n                // 如果长按时间超过500ms，进入长按快进状态\n                if (touchDuration > 500) {\n                    isLongPress = true;\n\n                    // 在长按状态下，根据滑动距离快进\n                    const deltaX = e.changedTouches[0].clientX - touchStartX;\n                    const duration = video.duration;\n                    const seekTime = video.currentTime + (deltaX / 100); // 每滑动100px快进1秒\n                    video.currentTime = Math.min(Math.max(seekTime, 0), duration);\n                } else {\n                    isLongPress = false;\n                }\n            });\n        </script>\n    </body>\n    </html>`",
    "ruleImage": "$.coverUrl",
    "ruleLink": "https://www.uaa001.com/api/video/app/video/intro?force=false&id={{$.id}}&viewId=17225706561773551",
    "ruleNextPage": "page",
    "rulePubDate": "{{$.onlineTime##T.*}} {{$.tags}}",
    "ruleTitle": "$.title",
    "singleUrl": false,
    "sortUrl": "变量搜索::/api/video/app/video/search?keyword={{v=source.getVariable();if(/^\\s*$/.test(v)||v==null)source.setVariable('粉嫩');source.getVariable()}}&orderType=1&page={{page}}&searchType=1&size=40\n\n最新排行::/api/video/app/video/search?category=&orderType=1&page={{page}}&searchType=1&size=40\n\n观看排行::/api/video/app/video/search?category=&orderType=3&page={{page}}&searchType=1&size=40\n\n收藏排行::/api/video/app/video/search?category=&orderType=4&page={{page}}&searchType=1&size=40\n\n国产视频::/api/video/app/video/search?orderType=1&origin=1&page={{page}}&searchType=1&size=40\n\n日本AV::/api/video/app/video/search?orderType=1&origin=2&page={{page}}&searchType=1&size=40\n\nH动漫::/api/video/app/video/search?orderType=1&origin=3&page={{page}}&searchType=1&size=40\n\n自拍偷拍::/api/video/app/video/search?category=自拍偷拍&orderType=1&page={{page}}&searchType=1&size=40\n\n主播福利::/api/video/app/video/search?category=主播福利&orderType=1&page={{page}}&searchType=1&size=40\n\n制服诱惑\n丝袜网袜::/api/video/app/video/search?tag=丝袜网袜&page={{page}}&searchType=1&size=40\n\n泳装水着::/api/video/app/video/search?tag=泳装水着&page={{page}}&searchType=1&size=40\n\nJK制服::/api/video/app/video/search?tag=JK制服&page={{page}}&searchType=1&size=40\n\n女仆::/api/video/app/video/search?tag=女仆&page={{page}}&searchType=1&size=40\n\n吊带袜::/api/video/app/video/search?tag=吊带袜&page={{page}}&searchType=1&size=40\n\n兔女郎::/api/video/app/video/search?tag=兔女郎&page={{page}}&searchType=1&size=40\n\n身材样貌\n少女萝莉::/api/video/app/video/search?tag=少女萝莉&page={{page}}&searchType=1&size=40\n\n白虎::/api/video/app/video/search?tag=白虎&page={{page}}&searchType=1&size=40\n\n苗条::/api/video/app/video/search?tag=苗条&page={{page}}&searchType=1&size=40\n\n美腿美脚::/api/video/app/video/search?tag=美腿美脚&page={{page}}&searchType=1&size=40\n\n美臀::/api/video/app/video/search?tag=美臀&page={{page}}&searchType=1&size=40\n\n熟女::/api/video/app/video/search?tag=熟女&page={{page}}&searchType=1&size=40\n\n巨乳::/api/video/app/video/search?tag=巨乳&page={{page}}&searchType=1&size=40\n\n交合喜好\n颜射::/api/video/app/video/search?tag=颜射&page={{page}}&searchType=1&size=40\n\n肛交::/api/video/app/video/search?tag=肛交&page={{page}}&searchType=1&size=40\n\n潮吹::/api/video/app/video/search?tag=潮吹&page={{page}}&searchType=1&size=40\n\n口交::/api/video/app/video/search?tag=口交&page={{page}}&searchType=1&size=40\n\n69::/api/video/app/video/search?tag=69&page={{page}}&searchType=1&size=40\n\n乳交::/api/video/app/video/search?tag=乳交&page={{page}}&searchType=1&size=40\n\n内射中出::/api/video/app/video/search?tag=内射中出&page={{page}}&searchType=1&size=40\n\n刺激玩法\n捆绑调教::/api/video/app/video/search?tag=捆绑调教&page={{page}}&searchType=1&size=40\n\n痴女痴汉::/api/video/app/video/search?tag=痴女痴汉&page={{page}}&searchType=1&size=40\n\n强奸轮奸::/api/video/app/video/search?tag=强奸轮奸&page={{page}}&searchType=1&size=40\n\n3P群交::/api/video/app/video/search?tag=3P群交&page={{page}}&searchType=1&size=40\n\n奇异催眠::/api/video/app/video/search?tag=奇异催眠&page={{page}}&searchType=1&size=40\n\n出轨::/api/video/app/video/search?tag=出轨&page={{page}}&searchType=1&size=40\n\nNTR::/api/video/app/video/search?tag=NTR&page={{page}}&searchType=1&size=40\n\n角色扮演\n医生护士::/api/video/app/video/search?tag=医生护士&page={{page}}&searchType=1&size=40\n\n空中女郎::/api/video/app/video/search?tag=空中女郎&page={{page}}&searchType=1&size=40\n\n未亡人::/api/video/app/video/search?tag=未亡人&page={{page}}&searchType=1&size=40\n\n老师校园::/api/video/app/video/search?tag=老师校园&page={{page}}&searchType=1&size=40\n\n人妻主妇::/api/video/app/video/search?tag=人妻主妇&page={{page}}&searchType=1&size=40\n\nOL::/api/video/app/video/search?tag=OL&page={{page}}&searchType=1&size=40\n\n姐姐妹妹::/api/video/app/video/search?tag=姐姐妹妹&page={{page}}&searchType=1&size=40\n\n母亲女儿::/api/video/app/video/search?tag=母亲女儿&page={{page}}&searchType=1&size=40\n\nTS人妖::/api/video/app/video/search?tag=TS人妖&page={{page}}&searchType=1&size=40\n\n女高中生::/api/video/app/video/search?tag=女高中生&page={{page}}&searchType=1&size=40",
    "sourceGroup": "R18",
    "sourceIcon": "https://ged520-github-io.pages.dev/header_2025_02_10_18_24.png",
    "sourceName": "UAA·视频",
    "sourceUrl": "https://www.uaa001.com/##",
    "style": "body {\n            margin: 0;\n            font-family: Arial, sans-serif;\n            background: linear-gradient(135deg, #ece9e6, #ffffff);\n            display: flex;\n            flex-direction: column;\n            align-items: center;\n            justify-content: flex-start;\n            padding: 20px;\n        }\n        .container {\n            width: 100%;\n            max-width: 800px;\n            background: #fff;\n            border-radius: 10px;\n            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);\n            overflow: hidden;\n            margin-bottom: 20px;\n        }\n        h3 {\n            margin: 0;\n            padding: 10px 20px;\n            font-size: 0.9em;\n            background: #333;\n            color: #fff;\n            border-radius: 10px 10px 0 0;\n        }\n        .video-container {\n            width: 100%;\n            background: #000;\n            position: relative;\n        }\n        video {\n            width: 100%;\n            height: auto;\n            display: block;\n        }\n        .info-container {\n            padding: 20px;\n        }\n        .info-container p {\n            margin: 10px 0;\n            color: #555;\n        }\n        .info-container p span {\n            font-weight: bold;\n            color: #000;\n        }"
  },
  {
    "articleStyle": 0,
    "customOrder": -10098512,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.item",
    "ruleContent": "script@all<js>\nresult=result.match(/http.*m3u8/)[0]##\\</js>{{@@title@text##}}\n<video src=\"{{result}}\" width=\"100%\" height=\"100%\" controls></video>",
    "ruleImage": "img@data-original",
    "ruleLink": "a.0@href",
    "ruleNextPage": "text.下一页@href",
    "rulePubDate": "📅{{@class.added@text}}   👁{{@class.views@text}}",
    "ruleTitle": "class.title@text",
    "singleUrl": false,
    "sortUrl": "首页::/\n最新::/label/new.html\n热门::/label/hot.html\n엔픽컴퍼니::/type/9.html\nChoiApple ::/type/4.html\nAjin lookbook::/type/8.html",
    "sourceComment": "//正文全屏要歪头看🤣,",
    "sourceGroup": "写真,R18",
    "sourceIcon": "https://www.weimei.lol/favicon.ico",
    "sourceName": "唯美视频",
    "sourceUrl": "https://www.weimei.lol/#",
    "style": ""
  },
  {
    "articleStyle": 0,
    "customOrder": -10098509,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "🛠 工具,R18",
    "sourceIcon": "https://android-artworks.25pp.com/fs08/2021/04/28/0/2_a0c579e82074f3eca58f7dac22d16874_con_130x130.png",
    "sourceName": "美食天下",
    "sourceUrl": "https://m.meishichina.com"
  },
  {
    "articleStyle": 0,
    "customOrder": -10098508,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "1,R18",
    "sourceIcon": "",
    "sourceName": "源仓库(官方纯净)",
    "sourceUrl": "http://yckceo.vip"
  },
  {
    "articleStyle": 1,
    "customOrder": -10098491,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": ".anime-card||.col!0:1:2:3",
    "ruleContent": "<html>\n<head>\n<meta charset=\"utf-8\">\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no\"/>\n<script src=\"//cdn.staticfile.org/jquery/2.2.4/jquery.min.js\"></script>\n<script src=\"//cdn.staticfile.org/dplayer/1.25.0/DPlayer.min.js\"></script>\n<link rel =\"stylesheet\" href = \"//cdn.staticfile.org/dplayer/1.25.0/DPlayer.min.css\">\n</head>\n\n\n<div class =\"dz\" width=\"100%\"></div>\n\n<div class=\"dplayer\" id=\"dplayer\" style=\"width:100%;height:300\"></div>\n\n<div id=\"tab\"><ul>{{@@class.nav-pills@html}}</ul></div>\n{{@@class.anime-episode@html}}\n\n\n<script>\nfunction video(url){\n$.get(url,function(result){json=result.match(/var player.*?=(\\{.*\\})/)[1];\nsrc= JSON.parse(json).url;\nloadding='https://ftp.bmp.ovh/imgs/2021/05/5c31747aeb7bff4e.gif'\n//假如提取到的视频带 mp4|m3u8 就采用dp播放器播放\nif(src.match(/mp4|m3u8/)){\nvar dplayer = new DPlayer({element:document.getElementById(\"dplayer\"),autoplay: true,lang: 'zh-cn',video:{url:src,pic:loadding}});}else\n//直接提取的前面带https://jx.quanmingjiexi.com/?url= 进行播放\n{\nsrc=\"https://jx.quanmingjiexi.com/?url=\"+src;\niframe='<iframe src=\"'+src+'\" width=\"350\" height=\"280\" id=\"cciframe\" scrolling=\"no\"allowfullscreen=\"true\" webkitallowfullscreen=\"true\" autoplay=\"true\" mozallowfullscreen=\"true\"></iframe>'\n\n$(\".dplayer\").html(iframe)\n}\n$(\".dz\").html(src);\n});\n}\n\n(function(){\n$(\".anime-episode\").hide();\n$(\".anime-episode:eq(0)\").show();\n$(\"li:eq(0)\").addClass(\"active\")})();\n\n$(\"button\").click(function(){\n$(\"button\").removeClass(\"upBtn\");\n$(this).addClass(\"upBtn\");\nurl='https://acgfta.com/'+$(this).val();\nvideo(url)\n});\n\n$(\"button\").click(function(){\n$(\"button\").removeClass(\"upBtn\");\n$(this).addClass(\"upBtn\");\nurl='https://acgfta.com/'+$(this).val();\nvideo(url);\n});\n\n$(\"li\").click(function(){\n$(\"li\").removeClass(\"active\");\n$(this).addClass(\"active\");\nindex=$(this).index();\n$(\".anime-episode\").hide();\n$(\".anime-episode:eq(\"+index+\")\").show();\n})\n</script>\n</html>\n\n@js:\nresult = result.replace(/<a.*?href=\"([^\"]+)\">([^<]+)<\\/a>/g,'<button value=\"$1\">$2</button>').replace(/<a/g,'<li').replace(/<\\/a>/g,'</li>')",
    "ruleImage": "img@data-src||img@src",
    "ruleLink": "a@href",
    "ruleNextPage": "page",
    "rulePubDate": ".mb-0@text||p@text",
    "ruleTitle": "img@alt",
    "singleUrl": false,
    "sortUrl": "\n搜索::https://acgfta.com/search/page/{{page}}/wd/{{source.getVariable()}}.html\n最近更新::/ft/recent/file/recent/page/{{page}}.html\n日榜::https://acgfta.com/ft/leaderboard.html?l=day\n周榜::https://acgfta.com/ft/leaderboard.html?l=week\n月榜::https://acgfta.com/ft/leaderboard.html?l=month\n剧场版::https://acgfta.com/ft/top-movie.html",
    "sourceComment": "https://fantuantv.com/",
    "sourceGroup": "动漫,影视,R18",
    "sourceIcon": "https://acgfta.com/template/ft-v2/icon/ft-logo-f.png",
    "sourceName": "饭团动漫",
    "sourceUrl": "https://acgfta.com/",
    "style": "#tab{\nheight:75px;\nmargin-bottom:8px;\n}\n\n.dz {\npadding:5px 0;\noverflow:scroll;\nbackground:#1C1B1E;color:#D3D3D3;;\n}\n\nul{\nmargin:0;\npadding:0;\n}\n\n#tab li {\nfont-size:35px;\nlist-style:none;\nfloat:left;\nheight:30px;\nmargin-right:5px;\ncolor:#D3D3D3;\nline-height:35px;\nmargin-bottom:10px;\n}\n\n#tab li.active {\n  color: #FF8C00;\n  border-top: 2px solid #FF8C00; \n  position: relative;\n  margin-top: -2px; \n}\n\nbutton{\noutline:none;\nheight:35px; \nborder:1px solid #1C1B1E ;\nborder-radius:8px;\nmargin-bottom:8px;\nbackground:#1C1B1E;color:#A9A9A9;\nvertical-align:middle; \nwidth:75px;\noverflow:scroll\n}\n\nbutton.upBtn{\nborder:1px solid #FF8C00 ;\nbackground-color:#555555; \n}\n\nbody{\nmargin:0;\nbackground-color: #333333; \n}"
  },
  {
    "articleStyle": 0,
    "customOrder": -10098489,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\n    'User-Agent': 'Mozilla/5.0 (Linux; Android 12; BON-AL00 Build/HUAWEIBON-AL00; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/99.0.4844.88 Mobile Safari/537.36'\n}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "<js>\njson=[];\nif(baseUrl.match(/★/)){\nlist=baseUrl.replace(/http.*?wd=\\s*/,'').split('★');\nfor(i in list){\nhref=list[i].match(/【(.*?)】/)[1];\ntext=list[i].match(/《(.*?)》/)[1];\nintro=list[i].match(/◎(.*?)◎/)[1];\nindex=list[i].match(/^(\\d+、\\d+、)/)?list[i].match(/^(\\d+、\\d+、)/)[1]:list[i].match(/^(.*?)【/)[1]\njson.push({text:text,src:href,intro:intro,index:index})\n}\n}\nJSON.stringify(json)</js>\n$.[*]",
    "ruleContent": "",
    "ruleDescription": "",
    "ruleImage": "$.src",
    "ruleLink": "$.index",
    "ruleNextPage": "",
    "rulePubDate": "$.intro",
    "ruleTitle": "$.text",
    "singleUrl": false,
    "sortUrl": "📋 书单::https://m.maigoo.com/【https://gitee.com/yc-sy/yd/raw/master/dy/mt/mgw.png】《买购网》◎小说榜，搜你喜欢的小说类型或小说年度◎★https://vt.sm.cn/api/novelStarReco/index【https://gitee.com/yc-sy/yd/raw/master/dy/ts/xyts.png】《星云推书》◎书荒搜书神器◎★https://www.lkong.com/【https://gitee.com/yc-sy/yd/raw/master/dy/ts/lk.png】《龙空》◎网络文学交流互动平台◎★https://www.yousuu.com/【https://gitee.com/yc-sy/yd/raw/master/dy/ts/ysw.png】《优书网》◎优书网书单◎★https://www.tuishujun.com/【https://gitee.com/yc-sy/yd/raw/master/dy/ts/tsj.png】《推书君》◎书荒求书就找推书君◎★https://www.qidiantu.com/【https://gitee.com/yc-sy/yd/raw/master/dy/ts/qdw.png】《起点图》◎起点数据、网络小说数据可视化分析专家◎★https://m.ttwwq.com/【https://gitee.com/yc-sy/yd/raw/master/dy/ts/cstw.png】《成神推文》◎网络小说宣传推广网◎★https://quark.sm.cn/api/rest?method=Novelnew.home&format=html&schema=v2&gender=male&cate=%E5%85%A8%E9%83%A8&rank=rank_hot&pv=2420440【https://gitee.com/yc-sy/yd/raw/master/dy/ts/kkbd.png】《夸克榜单》◎夸克浏览器小说榜单◎★https://m.baidu.com/sf?openapi=1&dspName=iphone&dsp=iphone&from_sf=1&pd=bookstore&resource_id=5077&type=2&card_id=5143&word=%E5%85%A8%E9%83%A8%E5%88%86%E7%B1%BB&title=%E6%9B%B4%E5%A4%9A%E6%8E%A8%E8%8D%90&tag1=%E5%85%A8%E9%83%A8%E5%88%86%E7%B1%BB&lid=11549307334103749569&referlid=11549307334103749569&ms=1&frsrcid=5143&frorder=4【https://gitee.com/yc-sy/yd/raw/master/dy/ts/bdbd.png】《百度榜单》◎百度浏览器小说榜单◎★https://m.qidian.com/rank/【https://gitee.com/yc-sy/yd/raw/master/dy/ts/qdw.png】《起点榜单》◎起点中文网榜单◎★https://ubook.reader.qq.com/book-rank/male-monthly【https://gitee.com/yc-sy/yd/raw/master/dy/ts/qqbd.png】《QQ榜单》◎QQ阅读榜单◎★http://saowen.net/【https://gitee.com/yc-sy/yd/raw/master/dy/ts/swxy.png】《扫文小院》◎🔎登录｜耽美小说扫文网站◎★https://www.basequan.com/【https://gitee.com/yc-sy/yd/raw/master/dy/ts/bsq.png】《芭莳圈》◎好看的言情小说推荐◎\n\n\n⭐ 十一::https://data.newrank.cn/m/s.html?s=Py8yOTE5KDE4【https://gitee.com/yc-sy/yd/raw/master/dy/ts/xssy.png】《🔎小说拾遗》◎小说拾遗公众号-号内搜索◎★https://mp.weixin.qq.com/mp/appmsgalbum?action=getalbum&album_id=1319671603470581762&__biz=MzI2MDg2NjAwMg==#wechat_redirect【https://gitee.com/yc-sy/yd/raw/master/dy/ts/shudan.png】《精选书单》◎主推优质完结和连载100万字以上小说◎★https://mp.weixin.qq.com/mp/appmsgalbum?action=getalbum&album_id=1319666229510193155&__biz=MzI2MDg2NjAwMg==#wechat_redirect【https://gitee.com/yc-sy/yd/raw/master/dy/ts/xinshu.png】《潜力新书》◎主推大神新书和20～100万字的优质新书◎★http://mp.weixin.qq.com/mp/homepage?__biz=MzI2MDg2NjAwMg==&hid=11&sn=c55d27329c109430838bc5b5f5b615b7&scene=18#wechat_redirect【https://gitee.com/yc-sy/yd/raw/master/dy/ts/gaofen.png】《高分必看》◎高分完本合集◎★https://mp.weixin.qq.com/mp/appmsgalbum?action=getalbum&album_id=1319668267623170050&__biz=MzI2MDg2NjAwMg==#wechat_redirect【https://gitee.com/yc-sy/yd/raw/master/dy/ts/wanjie.png】《近期完结》◎主推近一段时间内优质的完结小说◎★https://mp.weixin.qq.com/mp/appmsgalbum?action=getalbum&album_id=1319673664333463554&__biz=MzI2MDg2NjAwMg==#wechat_redirect【https://gitee.com/yc-sy/yd/raw/master/dy/ts/nvpin.png】《女频书单》◎主推女频优质小说◎★https://mp.weixin.qq.com/mp/appmsgalbum?action=getalbum&album_id=1319675692849872897&__biz=MzI2MDg2NjAwMg==#wechat_redirect【https://gitee.com/yc-sy/yd/raw/master/dy/ts/hougong.png】《后宫精选》◎后宫精选合集◎★https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzI2MDg2NjAwMg==&action=getalbum&album_id=1651826809002328065#wechat_redirect【https://gitee.com/yc-sy/yd/raw/master/dy/ts/niantui.png】《年终推荐》◎精选优质完结和连载100万字以上小说◎\n\n\n⚡ 赤戟::https://mp.weixin.qq.com/mp/homepage?__biz=MzI5NTA4NjgwNw==&hid=1&sn=0fcecdc85b8c23e596880f8c895b901d&scene=18&devicetype=android-28&version=28000f3d&lang=zh_CN&nettype=WIFI&ascene=59&session_us=gh_2aa0f3c6dd8f&pass_ticket=B8GunWN7RjA2Q%2FaVYxT%2BSITrnCodRKKdEfgFLaYKNzv56Vgj9IUBy%2B6yzAlQVE4M&wx_header=1【https://gitee.com/yc-sy/yd/raw/master/dy/ts/cjdshjjs.png】《赤戟的书荒救济所》◎最新热门分类◎★https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzI5NTA4NjgwNw==&action=getalbum&album_id=1319454340050157569&scene=126&devicetype=android-28&version=28000f3d&lang=zh_CN&nettype=WIFI&ascene=3&pass_ticket=B8GunWN7RjA2Q%2FaVYxT%2BSITrnCodRKKdEfgFLaYKNzv56Vgj9IUBy%2B6yzAlQVE4M&wx_header=1【https://gitee.com/yc-sy/yd/raw/master/dy/ts/shudan.png】《网文书单》◎每期三本-新书速递、养肥佳作、完本好书◎★https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzI5NTA4NjgwNw==&action=getalbum&album_id=1319393737944170497&scene=126&devicetype=android-28&version=28000f3d&lang=zh_CN&nettype=WIFI&ascene=3&pass_ticket=B8GunWN7RjA2Q%2FaVYxT%2BSITrnCodRKKdEfgFLaYKNzv56Vgj9IUBy%2B6yzAlQVE4M&wx_header=1【https://gitee.com/yc-sy/yd/raw/master/dy/ts/fenlei.png】《分类推书》◎分类大盘点◎★https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzI5NTA4NjgwNw==&action=getalbum&album_id=1319471313224040448&scene=126&devicetype=android-28&version=28000f3d&lang=zh_CN&nettype=WIFI&ascene=3&pass_ticket=B8GunWN7RjA2Q%2FaVYxT%2BSITrnCodRKKdEfgFLaYKNzv56Vgj9IUBy%2B6yzAlQVE4M&wx_header=1【https://gitee.com/yc-sy/yd/raw/master/dy/ts/jingxuan.png】《澎湃精选》◎超过50万字，连载或完本的优秀作品◎★https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzI5NTA4NjgwNw==&action=getalbum&album_id=1325500020388626432&scene=126&devicetype=android-28&version=28000f3d&lang=zh_CN&nettype=WIFI&ascene=3&pass_ticket=B8GunWN7RjA2Q%2FaVYxT%2BSITrnCodRKKdEfgFLaYKNzv56Vgj9IUBy%2B6yzAlQVE4M&wx_header=1【https://gitee.com/yc-sy/yd/raw/master/dy/ts/shuju.png】《优书数据》◎月度大数据推书◎★https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzI5NTA4NjgwNw==&action=getalbum&album_id=1333946780098330626&scene=126&devicetype=android-28&version=28000f3d&lang=zh_CN&nettype=WIFI&ascene=3&pass_ticket=B8GunWN7RjA2Q%2FaVYxT%2BSITrnCodRKKdEfgFLaYKNzv56Vgj9IUBy%2B6yzAlQVE4M&wx_header=1【https://gitee.com/yc-sy/yd/raw/master/dy/ts/zatan.png】《网文杂谈》◎一些吃瓜趣闻，网文闲谈◎★https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzI5NTA4NjgwNw==&action=getalbum&album_id=1526356920989712387&scene=126&devicetype=android-28&version=28000f3d&lang=zh_CN&nettype=WIFI&ascene=3&pass_ticket=B8GunWN7RjA2Q%2FaVYxT%2BSITrnCodRKKdEfgFLaYKNzv56Vgj9IUBy%2B6yzAlQVE4M&wx_header=1【https://gitee.com/yc-sy/yd/raw/master/dy/ts/niandu.png】《年度盘点》◎年度盘点各分类中诞生的新书、完本书◎★https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzI5NTA4NjgwNw==&action=getalbum&album_id=1319335766203662337&scene=126&devicetype=android-28&version=28000f3d&lang=zh_CN&nettype=WIFI&ascene=3&pass_ticket=B8GunWN7RjA2Q%2FaVYxT%2BSITrnCodRKKdEfgFLaYKNzv56Vgj9IUBy%2B6yzAlQVE4M&wx_header=1【https://gitee.com/yc-sy/yd/raw/master/dy/ts/qushi.png】《网文趣事》◎各类和网文相关的趣事-每月一期◎\n\n\n🔆 九哥::https://mp.weixin.qq.com/mp/homepage?__biz=Mzk0NzM4NDQ1MQ==&hid=1&sn=5da30daac494ae3c63760de3f63ec71d&scene=18【https://gitee.com/yc-sy/yd/raw/master/dy/ts/dsh.png】《大书荒之三十六计》◎盘点佳作，整合书单，专注解决书荒◎★https://mp.weixin.qq.com/s/0e7bOXWYGaN_NzhaRShTDw【https://gitee.com/yc-sy/yd/raw/master/dy/ts/biaoqian.png】《标签详解》◎九哥标签流派详解！◎★https://mp.weixin.qq.com/mp/appmsgalbum?__biz=Mzk0NzM4NDQ1MQ==&action=getalbum&album_id=2443305377372241921&scene=173&subscene=&sessionid=svr_28cbb1097a4&enterid=1721635791&from_msgid=2247488104&from_itemidx=1&count=3&nolastread=1#wechat_redirect【https://gitee.com/yc-sy/yd/raw/master/dy/ts/tuishu.png】《九哥推书》◎九哥推书合集◎★https://mp.weixin.qq.com/mp/appmsgalbum?__biz=Mzk0NzM4NDQ1MQ==&action=getalbum&album_id=2473149230543732738&scene=173&subscene=&sessionid=svr_908b8b41295&enterid=1721636097&from_msgid=2247487308&from_itemidx=1&count=3&nolastread=1#wechat_redirect【https://gitee.com/yc-sy/yd/raw/master/dy/ts/fenlei.png】《分类书单》◎分类书单合集◎\n\n\n🐰 艾儿::https://mp.weixin.qq.com/mp/appmsgalbum?__biz=Mzg2ODgyNTkyNw==&action=getalbum&album_id=2472077598102421505&scene=126#wechat_redirect【https://gitee.com/yc-sy/yd/raw/master/dy/ts/aetk.png】《万订小说》◎万订小说◎★https://mp.weixin.qq.com/mp/appmsgalbum?__biz=Mzg2ODgyNTkyNw==&action=getalbum&album_id=2472077597951426561&scene=126#wechat_redirect【https://gitee.com/yc-sy/yd/raw/master/dy/ts/dashen.png】《大神作品》◎大神作品◎★https://mp.weixin.qq.com/mp/appmsgalbum?__biz=Mzg2ODgyNTkyNw==&action=getalbum&album_id=2470719187540541441&scene=126#wechat_redirect【https://gitee.com/yc-sy/yd/raw/master/dy/ts/wanjie.png】《最新完结》◎最新完结◎★https://mp.weixin.qq.com/mp/appmsgalbum?__biz=Mzg2ODgyNTkyNw==&action=getalbum&album_id=2469275510150561793&scene=126#wechat_redirect【https://gitee.com/yc-sy/yd/raw/master/dy/ts/shouding.png】《起点首订》◎起点首订◎★https://mp.weixin.qq.com/mp/appmsgalbum?__biz=Mzg2ODgyNTkyNw==&action=getalbum&album_id=2469271805875486724&scene=126#wechat_redirect【https://gitee.com/yc-sy/yd/raw/master/dy/ts/shiwan.png】《起点十万订》◎起点十万订作品◎★https://mp.weixin.qq.com/mp/appmsgalbum?__biz=Mzg2ODgyNTkyNw==&action=getalbum&album_id=2467582717124444162&scene=126#wechat_redirect【https://gitee.com/yc-sy/yd/raw/master/dy/ts/yuepiao.png】《起点月票》◎起点月票榜◎★https://mp.weixin.qq.com/mp/appmsgalbum?__biz=Mzg2ODgyNTkyNw==&action=getalbum&album_id=2467593988158816258&scene=126#wechat_redirect【https://gitee.com/yc-sy/yd/raw/master/dy/ts/qita.png】《其他资讯》◎其他资讯◎★https://mp.weixin.qq.com/mp/appmsgalbum?__biz=Mzg2ODgyNTkyNw==&action=getalbum&album_id=2470721486103019522&scene=126#wechat_redirect【https://gitee.com/yc-sy/yd/raw/master/dy/ts/xinshu.png】《新书上线》◎新书上线◎★https://mp.weixin.qq.com/mp/appmsgalbum?__biz=Mzg2ODgyNTkyNw==&action=getalbum&album_id=2673425041430446081&scene=126#wechat_redirect【https://gitee.com/yc-sy/yd/raw/master/dy/ts/wanjie.png】《每周完结》◎每周完结汇总◎★https://mp.weixin.qq.com/mp/appmsgalbum?__biz=Mzg2ODgyNTkyNw==&action=getalbum&album_id=2632993193290399745&scene=126#wechat_redirect【https://gitee.com/yc-sy/yd/raw/master/dy/ts/xinshu.png】《每周新书》◎每周新书汇总◎\n\n👩 少女::https://data.newrank.cn/m/s.html?s=Oi8xPDQ8MTs9【https://gitee.com/yc-sy/yd/raw/master/dy/ts/tyzsn.png】《拖延症少女》◎号内搜索-拖延症少女的种蘑菇日记◎★https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzUyMjEwNjg1MQ==&action=getalbum&album_id=1345594488839929857&scene=126#wechat_redirect【https://gitee.com/yc-sy/yd/raw/master/dy/ts/zhenli.png】《安利整理》◎大家的好文推荐整合◎★https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzUyMjEwNjg1MQ==&action=getalbum&album_id=1841462094366375936&scene=126#wechat_redirect【https://gitee.com/yc-sy/yd/raw/master/dy/ts/heji.png】《合集》◎合集◎★https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzUyMjEwNjg1MQ==&action=getalbum&album_id=1639972761961889797&scene=126#wechat_redirect【https://gitee.com/yc-sy/yd/raw/master/dy/ts/pandian.png】《盘点》◎盘点◎★https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzUyMjEwNjg1MQ==&action=getalbum&album_id=1296482285570686976&scene=126#wechat_redirect【https://gitee.com/yc-sy/yd/raw/master/dy/ts/qiangtui.png】《强推文》◎好文中的好文推荐◎★https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzUyMjEwNjg1MQ==&action=getalbum&album_id=1353008118996860929&scene=126#wechat_redirect【https://gitee.com/yc-sy/yd/raw/master/dy/ts/shadiao.png】《沙雕文》◎沙雕的快乐◎★https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzUyMjEwNjg1MQ==&action=getalbum&album_id=1345612926295670785&scene=126#wechat_redirect【https://gitee.com/yc-sy/yd/raw/master/dy/ts/kuaichuan.png】《快穿故事》◎快穿文和故事集◎★https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzUyMjEwNjg1MQ==&action=getalbum&album_id=1345608230420021249&scene=126#wechat_redirect【https://gitee.com/yc-sy/yd/raw/master/dy/ts/tongren.png】《HP同人文》◎本命德拉科！除了德哈其他都吃◎★http://mp.weixin.qq.com/mp/homepage?__biz=MzUyMjEwNjg1MQ==&hid=2&sn=606421437c8003bbfab3074b3cabb529&scene=18#wechat_redirect【https://gitee.com/yc-sy/yd/raw/master/dy/ts/qiuwen.png】《求文整理》◎小时光一点一滴◎★http://mp.weixin.qq.com/mp/homepage?__biz=MzUyMjEwNjg1MQ==&hid=4&sn=8d12186de8e82f98cb45f3808981a9db&scene=18#wechat_redirect【https://gitee.com/yc-sy/yd/raw/master/dy/ts/qiangtui.png】《强推文合集》◎强推文合集◎★https://mp.weixin.qq.com/s/-IUlibqIqEIqLaD2uke7zA【https://gitee.com/yc-sy/yd/raw/master/dy/ts/shudan.png】《书单合集》◎三年所有书单合集◎★https://mp.weixin.qq.com/s/xtBqdX9LHLc2TPRH25h-zw【https://gitee.com/yc-sy/yd/raw/master/dy/ts/chanshi.png】《女性常识》◎女生第一次要知道的那些事儿◎",
    "sourceComment": "",
    "sourceGroup": "📖 阅读,R18",
    "sourceIcon": "https://gitee.com/yc-sy/yd/raw/master/dy/tb/ts.png",
    "sourceName": "推书ᴛˢ",
    "sourceUrl": "推书合集",
    "style": ""
  },
  {
    "articleStyle": 0,
    "customOrder": -10098488,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "R18",
    "sourceIcon": "https://www.logosc.cn/uploads/icon/2021/01/07//c0409859-780a-4b5f-b918-d0ae879368e7.png",
    "sourceName": "星云推书",
    "sourceUrl": "https://vt.sm.cn/api/novelStarReco/index?uc_param_str=dnntnwvepffrgibijbprsvdsdicheiniu#/"
  },
  {
    "articleStyle": 2,
    "customOrder": -10098462,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.item",
    "ruleContent": "<js>\n\nfunction getNext(){\n\n//下一页url，链接不全请补全\nnextUrl = java.getString('class.next@href')\n\n\n\n\t\tif(nextUrl!=\"\"){\n\t\t\t\tp++\n\t\tjava.toast('p'+p+'加载中...')\n\t\t\t\treturn getHtml()\n\t\t\t}\n\njava.toast('加载完成')\n\t\treturn result\n\t}\n\n\n\n\n\nfunction getHtml(){\ntry{\n\t\tajax = java.ajax(nextUrl)\n\t\tjava.setContent(ajax)\n\t\tresult += ajax\n\t\treturn getNext()\n\t}\n\n//ajax下一页报错时，会重新尝试两次。\n//超过三次失败就不再加载。\ncatch (err){\n\t\tif(e<4){\n\t\t\t\te++\n\t\t\tjava.toast('p'+p+'加载中...')\n\t\t\t\treturn getHtml()\n\t\t\t}\n\t\treturn result\n\t}\n}\n\np = e = 1\ngetNext()\n</js>\n\n\ntag.noscript@tag.img@src\n<js>\nli='\\n'\nlist=result.split('\\n')\nfor(i in list){\n\t\tli += '<li><img src=\"https://www.q10drfc.com/wp-content/themes/justnews/images/logo.png\" data-src=\"'+list[i]+'\"></li>\\n'\n\t}\nli\n</js>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\">\n\n\n<ul id=\"box\">\n{{result}}\n</ul>\n\n\n<link rel=\"stylesheet\" href=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.css\">\r\n<script src=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.js\"></script>\n<script>\n\troot = document.getElementById('box')\n\tlazy = new IntersectionObserver(entires => {\n\t\tentires.forEach(item => {\n\t\t\tif(item.isIntersecting){\n\t\t\t\titem=item.target\n\t\t\t\titem.src=item.getAttribute('data-src')\n\t\t\t\tlazy.unobserve(item)\n\t\t\t}\n\t\t})\n\t}, {\n\t\troot: root,\n\t\tthreshold: [0],\n\t\trootMargin:\"0px\"\n\t})\n\nimgs = document.getElementsByTagName('img')\nArray.from(imgs).forEach(item => {\n\t\tlazy.observe(item)\n\t})\n\n//查看大图插件\nnew Viewer(root,{title:false,interval:3000})\n</script>",
    "ruleDescription": "",
    "ruleImage": "tag.img@src##.*src=|&.*",
    "ruleLink": "tag.a.0@href",
    "ruleNextPage": "class.next@href",
    "rulePubDate": "{{@@class.item-category@text}} &nbsp; {{@@class.item-meta-left@text}}",
    "ruleTitle": "class.item-title@text",
    "singleUrl": false,
    "sortUrl": "美女图片::https://www.q10drfc.com/category/mntp\n三度_69::https://www.q10drfc.com/tag/%e4%b8%89%e5%ba%a6_69\n\n变量搜索::https://www.q10drfc.com/?s={{v=source.getVariable();(v!='',v!=null)?v:(source.setVariable('青春'),source.getVariable())}}\n\n秀人网::https://www.q10drfc.com/category/mntp/%e7%a7%80%e4%ba%ba%e7%bd%91\n爱尤物::https://www.q10drfc.com/category/mntp/%e7%88%b1%e5%b0%a4%e7%89%a9\n语画界::https://www.q10drfc.com/category/mntp/%e8%af%ad%e7%94%bb%e7%95%8c\n花漾show::https://www.q10drfc.com/category/mntp/%e8%8a%b1%e6%bc%beshow\n模范学院::https://www.q10drfc.com/category/mntp/%e6%a8%a1%e8%8c%83%e5%ad%a6%e9%99%a2\n美媛馆::https://www.q10drfc.com/category/mntp/%e7%be%8e%e5%aa%9b%e9%a6%86\n喵糖映画::https://www.q10drfc.com/category/mntp/%e5%96%b5%e7%b3%96%e6%98%a0%e7%94%bb\n雅拉伊::https://www.q10drfc.com/category/mntp/%e9%9b%85%e6%8b%89%e4%bc%8a\n爱蜜社::https://www.q10drfc.com/category/mntp/%e7%88%b1%e8%9c%9c%e7%a4%be\n嗲囡囡::https://www.q10drfc.com/category/mntp/%e5%97%b2%e5%9b%a1%e5%9b%a1\n星颜社::https://www.q10drfc.com/category/mntp/%e6%98%9f%e9%a2%9c%e7%a4%be\n尤美::https://www.q10drfc.com/category/mntp/%e5%b0%a4%e7%be%8e\n尤蜜荟::https://www.q10drfc.com/category/mntp/%e5%b0%a4%e8%9c%9c%e8%8d%9f\n头条女神::https://www.q10drfc.com/category/mntp/%e5%a4%b4%e6%9d%a1%e5%a5%b3%e7%a5%9e\n糖果画报::https://www.q10drfc.com/category/mntp/%e7%b3%96%e6%9e%9c%e7%94%bb%e6%8a%a5\n魅妍社::https://www.q10drfc.com/category/mntp/%e9%ad%85%e5%a6%8d%e7%a4%be\n尤物馆::https://www.q10drfc.com/category/mntp/%e5%b0%a4%e7%89%a9%e9%a6%86\n蜜桃社::https://www.q10drfc.com/category/mntp/%e8%9c%9c%e6%a1%83%e7%a4%be\n花の颜::https://www.q10drfc.com/category/mntp/%e8%8a%b1%e3%81%ae%e9%a2%9c\nDK御女郎::https://www.q10drfc.com/category/mntp/dk%e5%be%a1%e5%a5%b3%e9%83%8e\n猫萌榜::https://www.q10drfc.com/category/mntp/%e7%8c%ab%e8%90%8c%e6%a6%9c\n尤果网::https://www.q10drfc.com/category/mntp/%e5%b0%a4%e6%9e%9c%e7%bd%91\n星乐园::https://www.q10drfc.com/category/mntp/%e6%98%9f%e4%b9%90%e5%9b%ad\n猎女神::https://www.q10drfc.com/category/mntp/%e7%8c%8e%e5%a5%b3%e7%a5%9e\n克拉女神::https://www.q10drfc.com/category/mntp/%e5%85%8b%e6%8b%89%e5%a5%b3%e7%a5%9e\n熊川纪信::https://www.q10drfc.com/category/mntp/%e7%86%8a%e5%b7%9d%e7%ba%aa%e4%bf%a1\n果团网::https://www.q10drfc.com/category/mntp/%e6%9e%9c%e5%9b%a2%e7%bd%91\n轰趴猫::https://www.q10drfc.com/category/mntp/%e8%bd%b0%e8%b6%b4%e7%8c%ab\n兔几盟::https://www.q10drfc.com/category/mntp/%e5%85%94%e5%87%a0%e7%9b%9f\n波萝社::https://www.q10drfc.com/category/mntp/%e6%b3%a2%e8%90%9d%e7%a4%be\n美腿宝贝::https://www.q10drfc.com/category/mntp/%e7%be%8e%e8%85%bf%e5%ae%9d%e8%b4%9d\n推女神::https://www.q10drfc.com/category/mntp/%e6%8e%a8%e5%a5%b3%e7%a5%9e\n模特联盟::https://www.q10drfc.com/category/mntp/%e6%a8%a1%e7%89%b9%e8%81%94%e7%9b%9f\n激萌文化::https://www.q10drfc.com/category/mntp/%e6%bf%80%e8%90%8c%e6%96%87%e5%8c%96\n优星馆::https://www.q10drfc.com/category/mntp/%e4%bc%98%e6%98%9f%e9%a6%86\n薄荷叶::https://www.q10drfc.com/category/mntp/%e8%96%84%e8%8d%b7%e5%8f%b6\n萌缚::https://www.q10drfc.com/category/mntp/%e8%90%8c%e7%bc%9a\n推女郎::https://www.q10drfc.com/category/mntp/%e6%8e%a8%e5%a5%b3%e9%83%8e\n爱丝::https://www.q10drfc.com/category/mntp/%e7%88%b1%e4%b8%9d\n影私荟::https://www.q10drfc.com/category/mntp/%e5%bd%b1%e7%a7%81%e8%8d%9f\n村长的宝物::https://www.q10drfc.com/category/mntp/%e6%9d%91%e9%95%bf%e7%9a%84%e5%ae%9d%e7%89%a9\nDDY::https://www.q10drfc.com/category/mntp/ddy\n顽味生活::https://www.q10drfc.com/category/mntp/%e9%a1%bd%e5%91%b3%e7%94%9f%e6%b4%bb\n51Modo::https://www.q10drfc.com/category/mntp/51modo\nRosi::https://www.q10drfc.com/category/mntp/rosi\nDisi::https://www.q10drfc.com/category/mntp/disi\nIShow::https://www.q10drfc.com/category/mntp/ishow\nPans::https://www.q10drfc.com/category/mntp/pans\n中国腿模::https://www.q10drfc.com/category/mntp/%e4%b8%ad%e5%9b%bd%e8%85%bf%e6%a8%a1\nVGirl::https://www.q10drfc.com/category/mntp/vgirl\nRu1mm::https://www.q10drfc.com/category/mntp/ru1mm\nSityle::https://www.q10drfc.com/category/mntp/sityle\n美女写真杂烩::https://www.q10drfc.com/category/mntp/%e7%be%8e%e5%a5%b3%e5%86%99%e7%9c%9f%e6%9d%82%e7%83%a9\n中国美女写真::https://www.q10drfc.com/category/mntp/%e4%b8%ad%e5%9b%bd%e7%be%8e%e5%a5%b3%e5%86%99%e7%9c%9f\n台湾美女写真::https://www.q10drfc.com/category/mntp/%e5%8f%b0%e6%b9%be%e7%be%8e%e5%a5%b3%e5%86%99%e7%9c%9f\n韩国美女写真::https://www.q10drfc.com/category/mntp/%e9%9f%a9%e5%9b%bd%e7%be%8e%e5%a5%b3%e5%86%99%e7%9c%9f\n日本美女写真::https://www.q10drfc.com/category/mntp/%e6%97%a5%e6%9c%ac%e7%be%8e%e5%a5%b3%e5%86%99%e7%9c%9f",
    "sourceComment": "",
    "sourceGroup": "封子秦,R18",
    "sourceIcon": "https://www.q10drfc.com/wp-includes/images/w-logo-blue-white-bg.png",
    "sourceName": "福利网",
    "sourceUrl": "https://www.q10drfc.com/category/mntp",
    "style": "*{\n\tmargin: 0;\n\tpadding: 0\n}\nul{\n\tfont-size: 0;\n\theight: 100%;\n\toverflow-y: scroll\n}\nli{\n\tlist-style: none;\n\ttext-align: center\n}\nimg{\n\twidth:100%;\n\theight:auto\n}",
    "variableComment": ""
  },
  {
    "articleStyle": 0,
    "customOrder": -10098461,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "🎞️ 影视,R18",
    "sourceIcon": "https://lso回家suyingtv点com.suyingt.com/statics/img/favicon.ico",
    "sourceName": "速影TV",
    "sourceUrl": "https://suyingtv.com"
  },
  {
    "articleStyle": 2,
    "customOrder": -10098460,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.miniatura",
    "ruleContent": "class.spotlight-group@tag.div@data-src##\\n##,\n<js>result</js>\n\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\">\n<link rel=\"stylesheet\" href=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.css\">\n<script src=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.js\"></script>\n\n<div id=\"box\"></div>\n<h6 id=\"loads\"><i>加载中...</i></h6>\n\n\n\n<script>\nvar srclist = \"{{result}}\" .split(\",\");\nvar page = srclist.length;\n\nvar box = document.getElementById(\"box\");\nvar loads = document.getElementById(\"loads\");\n\nvar h5='<h5 style=\"border-left:2px solid#000;margin-bottom:0;padding-left:5;\">'\n\n//初始加载四张图\nfor(var i=0; i<3; i++){\n\tbox.innerHTML += h5+(i+1)+\"/\"+page+\"</h5>\"\n\tbox.innerHTML += '<img onload=\"box.viewer.update()\" src=\"' + srclist[i] + '\">';\n}\n\ndocument.querySelector(\"img\").onload = () => {\n\tnew Viewer(box,{title:false,interval:3000});\n\tloads.id = \"load\";\n//从第五张图开始\n\tvar i = 3;\n\n\tio = new IntersectionObserver(x=>{\n//相交等于0时终止运行？\n\t\tif(x[0].intersectionRatio<=0) return;\n\n\t\tfor(var I=0; I<3; I++){\n\t\t\t\tgetImg(i,page,srclist)\n\t\t\t\ti+=1\n\t\t}\n\t});\n\tio.observe(load);\n};\n\nfunction getImg(i,page,srclist){\n\tif( i<=page  &&  srclist[i]!=undefined ){\n\t\tbox.innerHTML += h5+(i+1)+\"/\"+page+\"</h5>\";\n\t\tbox.innerHTML += '<img onload=\"box.viewer.update()\"  src=\"' + srclist[i] +'\">';\n\t}else{\n\t\tio.unobserve(load);\n\t\tload.innerHTML = \"\"\n\t}\n}\n</script>",
    "ruleImage": "tag.img@data-src",
    "ruleLink": "href",
    "ruleNextPage": "page",
    "rulePubDate": "div.contar_imagens@text##$## P",
    "ruleTitle": "class.titulo_video@text",
    "singleUrl": false,
    "sortUrl": "搜索::https://asiantolick.com/ajax/buscar_posts.php?post=&cat=&tag=&search={{source.getVariable()==\"\"?source.setVariable(\"柚木\"):source.getVariable()}}&index={{page-1}}\n\n首页::https://asiantolick.com/ajax/buscar_posts.php?post=&cat=&tag=&search=&index={{page-1}}\n\n性感::https://asiantolick.com/ajax/buscar_posts.php?post=&cat=&tag=1082&search=&index={{page-1}}\n\n萝莉::https://asiantolick.com/ajax/buscar_posts.php?post=&cat=&tag=1045&search=&index={{page-1}}\n\n福利姬::https://asiantolick.com/ajax/buscar_posts.php?post=&cat=&tag=1395&search=&index={{page-1}}\n\n随机::https://asiantolick.com/ajax/buscar_posts.php?post=&cat=&tag=&search=&index={{Math.ceil(Math.random()*36) }}",
    "sourceGroup": "🔞 18禁,R18",
    "sourceIcon": "https://i.postimg.cc/W1LpkLDV/y4cyUP.gif",
    "sourceName": "📖Asian.tl",
    "sourceUrl": "https://asiantolick.com"
  },
  {
    "articleStyle": 0,
    "contentBlacklist": "https://lupic.cdn.bcebos.com/,\nhttps://cpro.baidu.com/,\nhttps://eclick.baidu.com/,\nhttps://sofire.baidu.com/,\nhttps://analytics.woozooo.com/,\nhttps://statics.woozooo.com/",
    "customOrder": -10098459,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\n    'User-Agent': 'Mozilla/5.0 (Linux; Android 12; BON-AL00 Build/HUAWEIBON-AL00; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/99.0.4844.88 Mobile Safari/537.36'\n}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "<js>\njson=[];\nif(baseUrl.match(/★/)){\nlist=baseUrl.replace(/http.*?wd=\\s*/,'').split('★');\nfor(i in list){\nhref=list[i].match(/【(.*?)】/)[1];\ntext=list[i].match(/《(.*?)》/)[1];\nintro=list[i].match(/◎(.*?)◎/)[1];\nindex=list[i].match(/^(\\d+、\\d+、)/)?list[i].match(/^(\\d+、\\d+、)/)[1]:list[i].match(/^(.*?)【/)[1]\njson.push({text:text,src:href,intro:intro,index:index})\n}\n}\nJSON.stringify(json)</js>\n$.[*]",
    "ruleContent": "",
    "ruleImage": "$.src",
    "ruleLink": "$.index",
    "ruleNextPage": "",
    "rulePubDate": "$.intro",
    "ruleTitle": "$.text",
    "singleUrl": false,
    "sortUrl": "📲 导航::https://clicli.com.cn/【https://gitee.com/yc-sy/yd/raw/master/dy/ys/clicli.png】《C站-CliCli》◎二次元资源导航网站◎★http://aikeyword.yueyueyouqian.cn/【https://gitee.com/yc-sy/yd/raw/master/dy/ys/ecydh.png】《二次元导航》◎动漫、漫画网站大全◎★https://ysscj.com/【https://gitee.com/yc-sy/yd/raw/master/dy/ys/ysscj.png】《影视收藏夹》◎收藏全网影视资源◎★https://video.bqrdh.com/【https://gitee.com/yc-sy/yd/raw/master/dy/ys/bqrdh.png】《不求人导航》◎专业影视资源导航◎★http://uebjvmpk.see6th.com/【https://gitee.com/yc-sy/yd/raw/master/dy/ys/ysdh.png】《影视导航》◎精选高清电影与剧集◎★https://anee.cc/【https://gitee.com/yc-sy/yd/raw/master/dy/ys/ayys.png】《安逸影视导航》◎一家集合全网影视专业导航网站◎★https://link3.cc/bababa888/【https://gitee.com/yc-sy/yd/raw/master/dy/ys/yjs.png】《影剧搜导航》◎专注影视资源搜索◎★https://yinghe.app/【https://gitee.com/yc-sy/yd/raw/master/dy/ys/yhzn.png】《硬核指南》◎够高清才是真硬核！◎\n\n\n📺 影视::https://www.appmovie.link/【https://gitee.com/yc-sy/yd/raw/master/dy/ys/appyy.png】《APP影院》◎全网最全视频库◎★https://cupfox.love/【https://gitee.com/yc-sy/yd/raw/master/dy/ys/cbh.png】《茶杯狐》◎中国最大的影视资源聚合搜索引擎◎★https://v.ikanbot.com/【https://gitee.com/yc-sy/yd/raw/master/dy/ys/akjqr.png】《爱看机器人》◎影视资源◎★https://www.66s6.net/【https://gitee.com/yc-sy/yd/raw/master/dy/ys/xb6vdy.png】《新版6V电影》◎6V电影网◎★https://55app.shop/【https://gitee.com/yc-sy/yd/raw/master/dy/ys/555dy.png】《555电影》◎电影资源◎★http://rryss.com/【https://gitee.com/yc-sy/yd/raw/master/dy/ys/rrys.png】《仁仁影视》◎仁是由爱好者成员成立的网站◎★https://ddys.pro/【https://gitee.com/yc-sy/yd/raw/master/dy/ys/ddys.png】《低端影视》◎超清在线视频｜https://ddys.info/◎\n\n\n🎬 外影::https://wap.meijutt.net/【https://gitee.com/yc-sy/yd/raw/master/dy/ys/mjtt.png】《美剧天堂》◎美剧天堂｜https://mjtt.tv/◎★https://mjw21.com/【https://gitee.com/yc-sy/yd/raw/master/dy/ys/91mjw.png】《91美剧网》◎高清美剧在线观看◎★https://tjba.cc/【https://gitee.com/yc-sy/yd/raw/master/dy/ys/tjw.png】《泰剧网》◎泰剧天堂◎★https://www.chaospace.cc/【https://gitee.com/yc-sy/yd/raw/master/dy/ys/chaospace.png】《CHAOSPACE》◎外国影视资源站◎★https://www.han-ju.cc/【https://gitee.com/yc-sy/yd/raw/master/dy/ys/xhjw.png】《新韩剧网》◎97韩剧网◎\n\n\n🐻‍ 动漫::https://www.mxdm6.com/【https://gitee.com/yc-sy/yd/raw/master/dy/ys/mxdm.png】《MX动漫》◎专注在线动漫｜mxdm.tv◎★http://m.iyinghua.com/【https://gitee.com/yc-sy/yd/raw/master/dy/ys/yhdm.png】《樱花动漫》◎专注动漫的门户网站◎★https://dm530.org/【https://gitee.com/yc-sy/yd/raw/master/dy/ys/fcdm.png】《风车动漫》◎拥有上万集高清晰画质的在线动漫◎\n\n\n✔️ 解析::http://www.danmutv.com/【https://gitee.com/yc-sy/yd/raw/master/dy/ys/syjx.png】《鲨鱼解析》◎发布地址：https://www.ikan.club/◎★https://vip.yeyulingfeng.com/【https://gitee.com/yc-sy/yd/raw/master/dy/ys/yylf.png】《夜雨聆风》◎视频解析◎★https://superparse.com/【https://gitee.com/yc-sy/yd/raw/master/dy/ys/superparse.png】《超级解析》◎国内外知名视频、短视频网站解析◎★https://dlpanda.com/zh-CN【https://gitee.com/yc-sy/yd/raw/master/dy/ys/xmjx.png】《熊猫解析》◎抖音TikTok无水印下载◎",
    "sourceComment": "",
    "sourceGroup": "封子秦,R18",
    "sourceIcon": "https://gitee.com/yc-sy/yd/raw/master/dy/tb/ys.png",
    "sourceName": "影视ʏˢ",
    "sourceUrl": "影视合集"
  },
  {
    "articleStyle": 0,
    "customOrder": -10098457,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "",
    "ruleTitle": "",
    "singleUrl": true,
    "sourceComment": "（自用）去广绿色版意淫互动小说",
    "sourceGroup": "🔞,R18",
    "sourceIcon": "",
    "sourceName": "（自用）去广绿色版意淫互动小说",
    "sourceUrl": "http://i.sexyai.top/Avfcc"
  },
  {
    "articleStyle": 0,
    "customOrder": -10098457,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "",
    "ruleTitle": "",
    "singleUrl": true,
    "sourceComment": "（自用）精品网站合集",
    "sourceGroup": "R18",
    "sourceIcon": "",
    "sourceName": "AI自动生成可互动电子魅魔",
    "sourceUrl": "https://i.sexyai.top/Avfcc"
  },
  {
    "articleStyle": 0,
    "customOrder": -10098457,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "",
    "ruleTitle": "",
    "singleUrl": true,
    "sourceComment": "（自用）精品网站合集",
    "sourceGroup": "R18",
    "sourceIcon": "",
    "sourceName": "土豆游戏库",
    "sourceUrl": "http://tdtd.chat/inviter?id=63ce8841356847256c4a2743"
  },
  {
    "articleStyle": 0,
    "customOrder": -10098457,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceComment": "（自用）精品网站合集",
    "sourceGroup": "R18",
    "sourceIcon": "",
    "sourceName": "好用网站合集",
    "sourceUrl": "https://lkssite.vip/"
  },
  {
    "articleStyle": 0,
    "customOrder": -10098457,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceComment": "（自用）精品网站合集",
    "sourceGroup": "R18",
    "sourceIcon": "",
    "sourceName": "互联网资源",
    "sourceUrl": "https://www.lovejay.top/#"
  },
  {
    "articleStyle": 0,
    "customOrder": -10098453,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\"User-Agent\":\"\"}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "<js>\nsort = [];\nL = String(baseUrl).replace(/^h.*?\\=/,'').split('★');\nfor (i = 0; i < L.length; i ++) {\n  sort.push ({\n    title: L[i].match(/【(.*?)】/)[1],\n    date: L[i].match(/】(.*?)＃/)[1],\n    img: L[i].match(/＃(.*)/)[1],\n    link: L[i].match(/(.*?)【/)[1]\n  });\n};\nJSON.stringify(sort);\n</js>\n$.[*]",
    "ruleDescription": "🔴0<!doctype html><html><head lang=\"zh\"><meta charset=\"UTF-8\"><meta name=\"viewport\" content=\"width=device-width, initial-scale=1, user-scalable=no\"><style>*{line-height:1em;margin:0;padding:0;text-underline-offset:.2em;word-break:break-all}body{background-color:#f4f5f7;display:flex;flex-wrap:wrap;place-content:center;place-items:start;padding:15px;color:#001944}.card{border-top:.5px solid rgba(255,255,255,.7);border-radius:24px;background-color:rgba(255,255,255,.6);box-shadow:0 10px 20px rgba(0,0,0,.05);padding:30px;margin:12.5px;width:250px;height:auto}.card > details + div{overflow:hidden;max-height:0;opacity:0;transition:.6s}.card > [open] + div{max-height:888px;opacity:1}.card > details > summary::-webkit-details-marker{display:none}.card > details > summary::-moz-list-bullet{display:none}.card > details > summary{font-size:24px;font-weight:700;user-select:none;outline:0;opacity:.4;transition:.6s;display:block}.card > [open] > summary{opacity:1;margin-bottom:6px;font-size:20.5px}.flex{display:flex;flex-wrap:wrap}.text{line-height:1.4em;display:inline-block;margin-top:9px}a:not([href]){margin-top:9px;margin-right:9px;display:inline-block}a:not([href]) span{margin-left:9px}a[href]{color:#4360b7;text-decoration:none;margin:.2em}a[href]:hover{text-decoration:underline}span{background-color:rgba(0,0,0,.04);padding:.15em .3em;border-radius:.5em;margin-left:.2em;font-family:monospace;opacity:.75}button{font-size:13.5px;font-weight:700;color:#4360b7;background-color:#e7eeff;padding:.65em .9em;margin-top:9px;margin-right:10px;border-radius:2em;border:none;transition:.3s}button:active{background-color:#d6ddee}textarea{margin-top:9px;padding:9px;width:100%;box-sizing:border-box;line-height:1.2em;font-size:13px;min-height:37.6px;max-height:115.6px;resize:vertical;border-radius:9px;color:#333;border:2px solid rgba(0,0,0,.1);background-color:rgba(0,0,0,.006)}input{vertical-align:middle;appearance:none;margin:-2px 2.25px 0 0;width:15px;height:15px;box-sizing:border-box;background-color:rgba(0,0,0,.006);border:2px solid rgba(0,0,0,.1);border-radius:9px;transition:.15s}input:checked{border-color:#4360b7}label{display:inline-block;margin-top:9px;margin-right:9px;font-size:15px}</style><title>写源助手</title></head><body><div class=\"card\"><details><summary>发现格式工具</summary></details><div><textarea id=\"text\" rows=\"3\" placeholder=\"请输入要处理的内容\"></textarea><a>格式转换</a><div class=\"flex\"><button onclick=\"Format()\">html转旧发现</button><button onclick=\"Switch()\">新旧发现互转</button></div><a>每行列数<span>仅新发现</span></a><div class=\"flex\"><button onclick=\"Add(1)\">1</button><button onclick=\"Add(.4)\">2</button><button onclick=\"Add(.25)\">3</button><button onclick=\"Add(.2)\">4</button><button onclick=\"Add(.15)\">5</button></div><a>快捷功能</a><div class=\"flex\"><button onclick=\"Copy('#text')\">复制全文</button><button onclick=\"Cut('#text')\">剪切全文</button><button onclick=\"Empty('#text')\">清空</button></div></div></div><div class=\"card\"><details><summary>正则匹配替换</summary></details><div><textarea id=\"text1\" rows=\"3\" placeholder=\"请输入要处理的内容\"></textarea><a>正则匹配</a><textarea id=\"matchText\" rows=\"1\" placeholder=\"正则表达式\"></textarea><label><input id=\"global\" type=\"checkbox\" checked>全局搜索</label><label><input id=\"ignoreCase\" type=\"checkbox\">忽略大小写</label><div class=\"flex\"><button onclick=\"Match()\">进行匹配</button><button onclick=\"Copy('#matchResult')\">复制结果</button><button onclick=\"Reset()\">清空</button></div><div id=\"tip\"></div><textarea id=\"matchResult\" rows=\"3\" placeholder=\"匹配结果\"></textarea><a>正则替换</a><textarea id=\"replaceText\" rows=\"1\" placeholder=\"想要替换成什么\"></textarea><div class=\"flex\"><button onclick=\"Add1('{\\{page}}')\">&#123;&#123;page&#125;&#125;</button><button onclick=\"Add1('\\\\')\">\\</button><button onclick=\"Add1('<')\">&lt;</button><button onclick=\"Add1('>')\">&gt;</button></div><div class=\"flex\"><button onclick=\"Replace()\">进行替换</button><button onclick=\"Copy('#replaceResult')\">复制结果</button></div><textarea id=\"replaceResult\" rows=\"3\" placeholder=\"替换结果\"></textarea></div></div><div class=\"card\"><details><summary>编码格式转换</summary></details><div><textarea id=\"text2\" rows=\"3\" placeholder=\"请输入要处理的内容\"></textarea><a>url编码</a><label><input id=\"ignoreComponent\" type=\"checkbox\">编码<span>@#$&amp;=:/,;?+</span></label><div class=\"flex\"><button onclick=\"Encode()\">进行编码</button><button onclick=\"Decode()\">进行解码</button></div><a>html转义</a><label><input id=\"super\" type=\"checkbox\">转义全部字符</label><div id=\"temp\" hidden></div><div class=\"flex\"><button onclick=\"EncodeHtml()\">进行转义</button><button onclick=\"DecodeHtml()\">进行反转义</button></div><a>快捷功能</a><div class=\"flex\"><button onclick=\"Copy('#text2')\">复制全文</button><button onclick=\"Cut('#text2')\">剪切全文</button><button onclick=\"Empty('#text2')\">清空</button></div></div></div><div class=\"card\"><details><summary>外部在线工具</summary></details><div><div class=\"flex\"><button onclick=\"window.open('https://tool.lu/zhconvert')\">简繁转换</button><button onclick=\"window.open('https://www.yuque.com/legado/yuan')\">写源教程</button></div></div></div><script>$=(t=>document.querySelector(t)),$$=(t=>document.execCommand(t)),Copy=(t=>{$(t).select(),$$(\"copy\")}),Empty=(t=>{x=$(t),x.value=\"\",x.focus()}),Cut=(t=>{$(t).select(),$$(\"cut\")}),Format=(()=>{if(t=$(\"#text\"),list=t.value.match(/<[^<]*?(href|open)[=\\(]['\"]([\\s\\S]*?)['\"][\\s\\S]*?>([\\s\\S]*?)</g),list){for(html=\"\",i=0;i<list.length;++i)a=list[i].match(/<[^<]*?(href|open)[=\\(]['\"]([\\s\\S]*?)['\"][\\s\\S]*?>([\\s\\S]*?)</),html+=a[3].trim().replace(/\\n/g,\" \")+\"::\"+a[2]+\"\\r\\n\";t.value=html.replace(/\\r\\n$/,\"\")}}),Switch=(()=>{t=$(\"#text\");try{for(html=\"\",json=JSON.parse(t.value),i=0;i<json.length;++i)html+=json[i].title+\"::\"+json[i].url+\"\\r\\n\";t.value=html.replace(/\\r\\n$/,\"\")}catch(e){if(t.value.match(/\\&\\&|::/g)){for(text=t.value.replace(/\\&\\&/g,\"\\r\\n\"),list=text.match(/.*?::.*/g),html=[],i=0;i<list.length;++i)a=list[i].match(/(.*?)::(.*)/),html.push({title:a[1],url:a[2]});t.value=JSON.stringify(html)}}}),Add=(t=>{x=$(\"#text\");try{for(json=JSON.parse(x.value),i=0;i<json.length;++i)json[i].style={layout_flexGrow:1,layout_flexBasisPercent:t};x.value=JSON.stringify(json)}catch(t){}}),BuildRegex=(()=>(text=$(\"#text1\"),text.value?(match=$(\"#matchText\"),match.value?(op=$(\"#global\").checked?\"g\":\"\",op=$(\"#ignoreCase\").checked?op+\"i\":op,new RegExp(match.value,op)):(match.focus(),!1)):(text.focus(),!1))),Match=(()=>{if(regex=BuildRegex(),t=$(\"#tip\"),x=$(\"#matchResult\"),tip=text=t.textContent=t.style=x.value=\"\",match=$(\"#text1\").value.match(regex),$(\"#global\").checked){for(i=0;i<match.length;++i)text+=match[i]+\"\\r\\n\";tip=\"共找到 \"+match.length+\" 处匹配：\\r\\n\",text=text.replace(/\\r\\n$/,\"\")}else tip=\"匹配位置：\"+regex.lastIndex,text=match[0];return t.textContent=tip,t.style.marginTop=\"9px\",x.value=text,!0}),Reset=(()=>{$(\"#text1\").value=$(\"#matchText\").value=$(\"#tip\").textContent=t.style=$(\"#matchResult\").value=$(\"#replaceText\").value=$(\"#replaceResult\").value=\"\",$(\"#text1\").focus()}),Add1=(t=>{x=$(\"#replaceText\"),start=x.selectionStart,length=x.selectionEnd-start,json=x.value.split(\"\"),json.splice(start,length,t),x.value=json.join(\"\"),x.focus(),x.selectionStart=t.length+start,x.selectionEnd=t.length+start}),Replace=(()=>{regex=BuildRegex(),$(\"#replaceResult\").value=$(\"#text1\").value.replace(regex,$(\"#replaceText\").value)}),Encode=(()=>{t=$(\"#text2\"),text=t.value,t.value=$(\"#ignoreComponent\").checked?encodeURIComponent(text):encodeURI(text)}),Decode=(()=>{t=$(\"#text2\"),text=t.value,t.value=decodeURIComponent(text)}),EncodeHtml=(()=>{if(t=$(\"#text2\"),text=t.value,$(\"#super\").checked)for(u=\"\",i=0;i<text.length;++i)u+=\"&#\"+text.charCodeAt(i)+\";\";else x=$(\"#temp\"),x.textContent=text,u=x.innerHTML;t.value=u}),DecodeHtml=(()=>{t=$(\"#text2\"),text=t.value,x=$(\"#temp\"),x.innerHTML=text.replace(/<br>/g,\"\\r\\n\").replace(/</g,\"&#60;\").replace(/>/g,\"&#62;\"),t.value=x.textContent});</script></body></html>\n🔵0\n🔴1<!doctype html><html><head lang=\"zh\"><meta charset=\"UTF-8\"><meta name=\"viewport\" content=\"width=device-width, initial-scale=1, user-scalable=no\"><title>一键导入</title><style>*{line-height:1em;margin:0;padding:0;text-underline-offset:.2em;word-break:break-all}body{background-color:#f4f5f7;display:flex;flex-wrap:wrap;place-content:center;place-items:start;padding:15px;color:#001944}.card{border-top:.5px solid rgba(255,255,255,.7);border-radius:24px;background-color:rgba(255,255,255,.6);box-shadow:0 10px 20px rgba(0,0,0,.05);padding:30px;margin:12.5px;width:250px;height:auto}.card>details+div{overflow:hidden;max-height:0;opacity:0;transition:.6s}.card>[open]+div{max-height:888px;opacity:1}.card>details>summary::-webkit-details-marker{display:none}.card>details>summary::-moz-list-bullet{display:none}.card>details>summary{font-size:24px;font-weight:700;user-select:none;outline:0;opacity:.4;transition:.6s;display:block}.card>[open]>summary{opacity:1;margin-bottom:6px;font-size:20.5px}.card>b{margin-bottom:6px;font-size:20.5px;display:block}.flex{display:flex;flex-wrap:wrap}.text{line-height:1.4em;display:inline-block;margin-top:9px}a:not([href]){margin-top:9px;margin-right:9px;display:inline-block}a[href]{color:#4360b7;text-decoration:none;margin:.2em}a[href]:hover{text-decoration:underline}legend{background-color:rgba(0,0,0,.04);padding:.15em .3em;border-radius:.5em;margin-left:.2em;font-family:monospace;opacity:.75}button{font-size:13.5px;font-weight:700;color:#4360b7;background-color:#e7eeff;padding:.65em .9em;margin-top:9px;margin-right:10px;border-radius:2em;border:none;transition:.3s}button:active{background-color:#d6ddee}textarea{margin-top:9px;padding:9px;width:100%;box-sizing:border-box;line-height:1.2em;font-size:13px;min-height:37.6px;max-height:115.6px;resize:vertical;border-radius:9px;color:#333;border:2px solid rgba(0,0,0,.1);background-color:rgba(0,0,0,.006)}input{vertical-align:middle;appearance:none;margin:-2px 2.25px 0 0;width:15px;height:15px;box-sizing:border-box;background-color:rgba(0,0,0,.006);border:2px solid rgba(0,0,0,.1);border-radius:9px;transition:.15s}input:checked{border-color:#4360b7}label{display:inline-block;margin-top:9px;margin-right:9px;font-size:15px}fieldset{border:2px solid rgba(0,0,0,.1);background-color:rgba(0,0,0,.006);border-radius:9px;margin-top:9px;padding:5px 18px 18px 18px}</style></head><body><div class=\"card\"><b>一键导入</b><textarea id=\"url\" rows=\"4\" placeholder=\"请输入资源链接\"></textarea><fieldset><legend>导入格式</legend><label><input type=\"radio\" name=\"path\" value=\"auto\" checked>自动识别</label><label><input type=\"radio\" name=\"path\" value=\"bookSource\">书源</label><label><input type=\"radio\" name=\"path\" value=\"rssSource\">订阅源</label><label><input type=\"radio\" name=\"path\" value=\"replaceRule\">替换规则</label><label><input type=\"radio\" name=\"path\" value=\"textTocRule\">TXT目录规则</label><label><input type=\"radio\" name=\"path\" value=\"httpTTS\">TTS</label><label><input type=\"radio\" name=\"path\" value=\"theme\">主题</label><label><input type=\"radio\" name=\"path\" value=\"readConfig\">排版</label></fieldset><div class=\"flex\"><button onclick=\"Import()\">点击导入</button><button onclick=\"Copy()\">复制</button><button onclick=\"Empty()\">清空</button></div></div><div class=\"card\"><details><summary>长期链接</summary></details><div><fieldset><legend>书源</legend><button onclick=\"SetUrl('https://www.gitlink.org.cn/api/yi-c/yd/raw/sy.json?ref=master★1')\">一程</button><button onclick=\"SetUrl('https://ghproxy.org/https://raw.githubusercontent.com/PB-pobing/pobing/pb/sy.json★1')\">破冰</button><button onclick=\"SetUrl('https://ghproxy.org/https://raw.githubusercontent.com/zmn001125/booksources/master/sources/guaner.txt★1')\">关耳</button><button onclick=\"SetUrl('https://ghproxy.org/https://raw.githubusercontent.com/cyao2q/yuedu/master/shuyuan★1')\">漠星曜</button></fieldset><fieldset><legend>订阅源</legend><button onclick=\"SetUrl('https://www.gitlink.org.cn/api/yi-c/yd/raw/dy.json?ref=master★2')\">一程</button></fieldset></div></div><script>$=(e=>document.querySelector(e)),Copy=(()=>{$(\"#url\").select(),document.execCommand(\"copy\")}),Empty=(()=>{x=$(\"#url\"),x.value=\"\",x.focus(),$('[value=\"auto\"]').checked=!0}),Import=(()=>{if(t=$(\"#url\"),!t.value)return t.focus(),!1;path=$('[name=\"path\"]:checked').value,location=`yuedu://import/${path}?src=`+encodeURIComponent(t.value)}),SetUrl=(e=>{x=$(\"#url\"),x.value=e.split(\"★\")[0],document.querySelectorAll('[name=\"path\"]')[e.split(\"★\")[1]].checked=!0,x.focus(),Import()});</script></body></html>\n🔵1\n{{}}\n@js:\nu = \"{{$.link}}\";\nif (/^\\d+$/.test(u)) {\ntry {\n  result.match(`🔴${u}([\\\\s\\\\S]*?)🔵${u}`)[1];\n} catch (err) { \"\"; }\n} else { \"\"; }",
    "ruleImage": "$.img\n@js:\nr = result;\nr == 0 ? source.sourceIcon: r;",
    "ruleLink": "$.link",
    "rulePubDate": "$.date",
    "ruleTitle": "$.title",
    "shouldOverrideUrlLoading": "if (/s?q=/.test(url)) {\n  q = java.toURL(url).searchParams.get('q');\n  java.searchBook(q.split(' ')[0]);\n  true;\n}",
    "singleUrl": false,
    "sortUrl": "寻书::https://bing.com/search?q=https://quark.sm.cn/api/rest?method=Novelnew.home&format=html&schema=v2&cate=全部&rank=rank_hot&gender=male【夸克热搜】大家都在搜的热点＃\n\n找源::https://bing.com/search?q=https://link3.cc/yckceo【源仓库】最新地址发布页＃★https://legado.aoaostar.com【阅读APP源】@AOAOSTAR＃★http://yuedu.miaogongzi.net/gx.html【阅读书源】@喵公子＃★1【一键导入】长期链接＃\n\n杂项::https://bing.com/search?q=0【写源助手】偶尔会有用＃",
    "sourceComment": "",
    "sourceGroup": "源仓库,R18",
    "sourceIcon": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGZpbGw9IiM0NDQiIGQ9Ik04LjQyMiAyMC42MThDMTAuMTc4IDIxLjU0IDExLjA1NiAyMiAxMiAyMlYxMkwyLjYzOCA3LjA3M2EzLjE5NiAzLjE5NiAwIDAgMC0uMDQuMDY3QzIgOC4xNTQgMiA5LjQxNyAyIDExLjk0MnYuMTE3YzAgMi41MjQgMCAzLjc4Ny41OTcgNC44MDFjLjU5OCAxLjAxNSAxLjY3NCAxLjU4IDMuODI1IDIuNzA5eiIvPjxwYXRoIGZpbGw9IiM0NDQiIGQ9Im0xNy41NzcgNC40MzJsLTItMS4wNUMxMy44MjIgMi40NjEgMTIuOTQ0IDIgMTIgMmMtLjk0NSAwLTEuODIyLjQ2LTMuNTc4IDEuMzgybC0yIDEuMDVDNC4zMTggNS41MzYgMy4yNDIgNi4xIDIuNjM4IDcuMDcyTDEyIDEybDkuMzYyLTQuOTI3Yy0uNjA2LS45NzMtMS42OC0xLjUzNy0zLjc4NS0yLjY0MSIgb3BhY2l0eT0iLjciLz48cGF0aCBmaWxsPSIjNDQ0IiBkPSJNMjEuNDAzIDcuMTRhMy4xNTMgMy4xNTMgMCAwIDAtLjA0MS0uMDY3TDEyIDEydjEwYy45NDQgMCAxLjgyMi0uNDYgMy41NzgtMS4zODJsMi0xLjA1YzIuMTUxLTEuMTI5IDMuMjI3LTEuNjkzIDMuODI1LTIuNzA4Yy41OTctMS4wMTQuNTk3LTIuMjc3LjU5Ny00Ljh2LS4xMTdjMC0yLjUyNSAwLTMuNzg4LS41OTctNC44MDIiIG9wYWNpdHk9Ii41Ii8+PC9zdmc+",
    "sourceName": "立方",
    "sourceUrl": "方寸之间"
  },
  {
    "articleStyle": 0,
    "contentBlacklist": "https://lupic.cdn.bcebos.com/,\nhttps://cpro.baidu.com/,\nhttps://eclick.baidu.com/,\nhttps://sofire.baidu.com/,\nhttps://analytics.woozooo.com/,\nhttps://statics.woozooo.com/,\nhttps://hm.baidu.com/,\nhttps://wwads.cn/code/,\nhttps://cdn.wwads.cn/,\nhttps://pagead2.googlesyndication.com,\nhttps://www.qlspx.com,\nhttps://sdk.51.la,\nhttps://abk.lingsiqiwu.com,\n\nhttps://googleads4.g.doubleclick.net,\nhttps://static.googleadsserving.cn,\nhttps://s0.2mdn.net,\nhttps://tpc.googlesyndication.com,\nhttps://www.googletagservices.com,\nhttps://cm.g.doubleclick.net,,\nhttps://star.jsyunmy.com,\nhttps://p.qlogo.cn,\nhttps://partner.googleadservices.com,",
    "customOrder": -10098449,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "{\"User-Agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36\",\n\t\"upgrade-insecure-requests\": \"1\",\r\n\"accept\": \"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8\",\r\n\"accept-language\": \"zh-CN,en-US;q=0.9\",\r\n\"cookie\": \"down_ip=1\",\r\n\"x-requested-with\": \"cn.nr19.mbrowser\"\n}\n}",
    "injectJs": "// 是蓝奏云链接时\nif(/lanzou/.test(window.location.href)){\nArray.from(document.querySelectorAll(`\n\t.mt2:last-of-type,.appreport,.n_login,\n\tdiv[style*=\"color: #8a6d3b;\"]\n`),$=>$.style.display='none');\n}\n\n\n//选择需要删除的标签，以,分隔\nitems = document.querySelectorAll(`\n.stealth-scroll,\n\n#evaluate-box,\n.project-operation,\n.recommend-footer,\n\n.project-desc2,\n.side-widget,\n\n.header_nav,\n.under,\n\n.abox-item\n`)\n\n//把选择的html值改成空\nArray.from(items,(item)=>{\n\titem.innerHTML = ``\n\titem.style.display = `#m-splitter`\n})",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "<js>\ntry {\n    $ = JSON.parse(src).text;\n    if ($ == \"no file\") $ = [];\n} \n\n//♥catch。。。\ncatch (err) {\n\n    //💚💚0 网站整合\n     if (baseUrl.match(/www\\.baidu\\.com\\?wd=/)) {\n\neval(String(source.sourceComment));\n\n        $ = [];\n        baseUrl.replace(/^.*?wd=\\s*/,'').replace(/\\,/g,',{\"headers\":{\"User-Agent\": \"Mozilla/5.0 (Linux; Android 8.0.0; MI 5s Plus Build/OPR1.170623.032; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/71.0.3578.99 CatYuedu Mobile Safari/537.36\"}}').\n        split(/\\s*♞♞\\s*/).map($$ => $.push({\n            name_all: $$.match(/.*?《(.*?)》/)[1],\n            time: $$.match(/◎.*?◎/) ? $$.match(/.*?◎(.*?)◎/)[1].replace(/□/,'▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁').replace(/■/,'▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃').replace(/♡/,'作者的发布链接｜随缘更新').replace(/🦁/,'｜编程狮｜w3cschool.cn｜') : \"\",\n            uri1: $$.match(/【.*?】/) ? $$.match(/.*?【(.*?)】/)[1] : \"\",\n            url: gitsy.match(/\\/gh$/) ? \n $$.match(/^([^【《◎]*),?/)[1].replace(/💙💚/,yck).replace(/🧡💛/,gitsy).replace(/💛💚/,gitdate) : \n $$.match(/^([^【《◎]*),?/)[1].replace(/💙💚/,yck).replace(/🧡💛/,gitsy).replace(/💛💚/,gitdate).replace(/\\@/,'/')\n        }));\n    }\n    //💚💚0 网站整合结束\n\n\n    //💚💚1 【阅读.A】构建下载链接。与官方测试版中的共存版apk不能共存。\n    else if(baseUrl.match(/10bit/)){\neval(String(source.sourceComment));\nsrc=gitsy.match(/\\/gh$/) ? \nbaseUrl.match(/(🧡💛.*)/)[1].replace(/🧡💛/,gitsy) : \nbaseUrl.match(/(🧡💛.*)/)[1].replace(/🧡💛/,gitsy).replace(/\\@/,'/');\nsrc=String(java.ajax(src));\n$=json=[]\n\t\tname_all = src.match(/\\[(legado.*?)\\]\\((.*?)\\)\\s*上次(构建时间.*)/)[1]+\" ✱去18list限制 ✱与共存版同包名\"\n\t\tid =down + src.match(/\\[(legado.*?)\\]\\(.*(\\/10bits.*?)\\)\\s*上次(构建时间.*)/)[2]\n\t\ttime = src.match(/\\[(legado.*?)\\]\\((.*?)\\)\\s*上次(构建时间.*)/)[3]\n\t\turi = baseUrl.match(/【(.*?)】/)[1],\n\n$.push({name_all:name_all,id:id,time:time,uri:uri})\n\nJSON.stringify(json)\n\t}\n    //💚💚1 阅读.A去限制结束\n\n\n    //💚💚2 蓝奏云\n    else {\n\n        //🧡🧡🧡蓝奏云非分组链接\n        if (String(java.getString('text.举报文件@href')).length) {\n            $ = [{\n                name_all: String(java.getString('class.md@textNodes')),\n                icon: String(java.getString('class.md@textNodes')).replace(/.*\\./, ''),\n                size: String(java.getString('class.mtt@text')).replace(/\\( /, '').replace(/ \\)/, ''),\n                time: String(java.getString('class.mf@textNodes')).replace(/.*\\n/, ''),\n                uri: baseUrl.replace(/^(.+com).*\\/(.+)$/, '$2'),\n                url: baseUrl.replace(/^(.+com).*\\/(.+)$/, '$1/tp/$2')\n            }]\n        }\n        //🧡🧡🧡蓝奏云非分组结束\n\n\n        //🧡🧡🧡取消分享\n        else if (String(java.getString('.off@text')).match(/取消分享/)) {\n            $ = [{\n                name_all: java.getString('.off@text'),\n                time: baseUrl.replace(/[#\\?].*/g, ''),\n                url: baseUrl.replace(/[#\\?].*/g, '')\n            }]\n        }\n        //🧡🧡🧡取消结束\n\n\n        //🧡🧡🧡蓝奏云分组链接\n        else {\n            json = [];\n            name = java.getString('.user-radio@text||title@text')\n            java.getElements('#folder .mlink').forEach(a => {java.setContent(a);\n      json.push({\n      \t    name_all: java.getString('.filename@textNodes'),\n          url: java.getString('a@href'),\n          time: '🗂️ folder　📑 ' + (String(java.getString('.filesize@text')) || name) })\n    })\njava.setContent(src);\n\n\n            mat = baseUrl.match(/^(.*?\\.com)[^##]*\\/(.+)$/)\n            url = mat[1]\n            uri = mat[2]\n\n            function $(reg) {\n                return uri.match(reg) ? true : false}\n\n\n            //get【pwd】(链接提取码)\n            pwd =\n$(/##[^【]/) ? uri.match(/##(.*?)(【|$)/)[1] :\"\";\n\n\nhead = {method: \"POST\", params: {uri: uri,\nimg: $(/【[^】]/)?uri.match(/【([^】]+)/)[1] :\"\"}}\n\n\n            //get 【body】\n            eval(src.match(/var pgs;([\\s\\S]*?pgs.+;)/)[1]);\n            eval('$=' + src.match(/data :([\\s\\S]*?\\})/)[1]);\n            head.body = Object.keys($).map(key => key + \"=\" + $[key]).join('&');\n\n\n            //补全【url】\nurl += \"/filemoreajax.php,\" + JSON.stringify(head);\n\n            //ajax\n            $ = JSON.parse(java.ajax(url));\n            $ = json.concat($.text != 0 ? $.text :\n             //密码错误提示\n             [{name_all: $.info,\n               time: uri.replace(/[#\\?].*/, '') + $.info,\n               url: baseUrl.replace(/[#\\?].*/, '') }]\n                                        )\n            baseUrl = url\n        }\n        //🧡🧡🧡蓝奏分组结束\n\n    }\n    //💚💚2 蓝奏结束\n\n}\n//♥catch(err)结束\n\njava.put('url', baseUrl);\nJSON.stringify($);\n</js>$.[*]",
    "ruleDescription": "❗️0、0、开始❗️\n❗️0、0、结束❗️\n\n{{}}@js:\nurl=String(java.getString('$.url')).trim();\n\n//【..导入】\nif(url.match(/^..导入|^♥/)){\nuri=url.replace(/导入.*/,'');\nurl=url.replace(/.*导入|♥/,'');\npath =\n(uri==\"一键\"||uri==\"自动\"||url==\"♥.*\")?\"auto\":\nuri==\"书源\"?\"bookSource\":\nuri==\"订阅\"?\"rssSource\":\nuri==\"净化\"?\"replaceRule\":\n\"\";\nurl=url.match(/^legado\\:\\/\\//)?url:`legado://import/${path}?src=`+url;\nurl = String(url).replace(/^(.*?src=)(.*)/,(mat, $1, $2)=>{\n  return $1+encodeURIComponent($2);\n});\n\nresult=`<title>{{$.name_all}}</title>\n<iframe src=\"${url}\" hidden></iframe>\n<br>\n<md3><b>{{$.name_all}}</b></md3>\n\n<br>\n<br><md4>\n　　❤️导入不成功？多导几次试试。<br>\n　　💔达咩～！一滴都没有啦～！！<br>\n<br></md4>\n\n<a href=\"${url}\" class=\"button\">◎ 一键导入 ◎</a>\n\n<br>\n<br>\n<center><md4>\n⬇︎资源链接，点击复制⬇︎</md4><br>\n<textarea id=\"copy\" onclick=\"copy()\">${decodeURIComponent(String(url).replace(/legado.*?src=/,''))}</textarea>\n{{$.time}}</center>\n<br>\n<md5>\nrssSource by.Thomas.　　 md轻改&收集整理<br>\n资源取自网络，仅作参考试用，请24小时内删除<br></md5>\n\n<script>\nfunction copy(){\n\tdocument.getElementById('copy').select()\n\tdocument.execCommand('copy')\n\talert(\"复制成功\")\n}\n</script>`}\n\n\n//【自定义html】\nelse if(url.match(/\\d+、\\d+、/)){\nreg=new RegExp('❗️'+url+'开始❗️\\\\s*([\\\\s\\\\S]+?)\\\\s*❗️'+url+'结束❗️');\n//默认禁止放大缩小\nresult=result.match(reg)?\n'<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no\">'+result.match(reg)[1]:'<br>未找到对应html'\n}\n\nelse{result=''}",
    "ruleImage": "@js:\nn=`{{$.name_all}}` ;\nuri1=`{{$.uri1}}` ;\n\nsrc =\n\turi1 ? uri1 :\n\n//文件名判断使用对应图标✱\n//baseUrl.match(/【(.*?)[】$]/) ?baseUrl.match(/【(.*?)(】|$)/)[1] :\n\nbaseUrl.match(/423down/)? \"423down.png\" :\nbaseUrl.match(/lxapk/)? \"lxapk.png\" :\nbaseUrl.match(/yoyodadada/)? \"yoyo.png\" :\n\n\nn.match(/\\.zip/i)? \"zip.png\" :\nn.match(/md|迷迭/)? \"md.png\" :\nn.match(/legado|阅读Pro/i)? \"yuedu.jpg\" :\nn.match(/tts|语音|讯飞语记/i)? \"tts.png\" :\nn.match(/书源|book/)? \"sy.png\" :\nn.match(/rss|订阅/)? \"dy.png\" :\nn.match(/净化/)? \"jh.png\" :\nn.match(/漫画|comic/i)? \"mh.png\" :\nn.match(/lequ/)? \"sy.png\" :\n//文件名判断apk图标\nn.match(/\\.apk/)? \"apk.png\" :\n\n//蓝奏云盘设定的图片/为空时\nbaseUrl.match(/【[^】$]/)? baseUrl.match(/【(.*?)(】|$)/)[1]:`lan.png`;\n\n\n//md图片简写补全。\n\neval(String(source.sourceComment));\n\npic= \npic==`0` ? `/md-yd/pic@main/00rose/${src}`:\npic==`1` ? `/md-yd/pic@main/01pink/${src}` :\npic==`2` ? `/md-yd/pic@main/02blue/${src}` :\npic==`3` ? `/md-yd/pic@main/03green/${src}` :\npic==`4` ? `/md-yd/pic@main/04gear/${src}` :\npic==`5` ? `/md-yd/pic@main/05green/${src}` :\npic==`6` ? `/md-yd/pic@main/06red/${src}`:\npic==`7` ? `/md-yd/pic@main/07blackred/${src}` :\npic==`8` ? `/md-yd/pic@main/08black/${src}` :\npic==`9` ? `/md-yd/pic@main/09note/${src}` :\n\npic==`10`?`/md-yd/pic@main/03green2/${src}`:\npic==`11`?`/md-yd/pic@main/04gear2/${src}` :\n//pic==`12`?\n`/md-yd/pic@main/04gear3/${src}`;\n\n\npic=gitpic+pic;\n\npic= \nString (gitpic).match(/gitee/) ? \nString(pic).replace(/\\/md\\-yd\\/pic\\@main/,''):\nString (gitpic).match(/\\/gh$/) ? \n pic : \nString (pic).replace(/\\@/,'/');\n\nsrc=src.match(/^http/) ? src : pic ;\nsrc",
    "ruleLink": "$.id@js:\nurl=`{{$.url||$.sourceUrl}}`\n//下面这句if是为了【阅读.A去限制】\nif(result.match(/10hit/)){result}\nelse if(result){url+=`{{$.id}}`;\n}",
    "ruleNextPage": "@js:\ntry {\n    url = String(java.get('url'));\n    url = url.replace(/(pg=)(\\d+)/, (mat, $1, $2) => {\n        return $1 + (~~$2 + 1)\n    }).replace(url, '');\n} catch (err) {\n    url = \"\"\n}\nurl",
    "rulePubDate": "💾 {{$.icon}}　♥ {{$.size}}　⏱️ {{$.time}}\n##💾 　♥ 　⏱️\\s*",
    "ruleTitle": "$.name_all",
    "singleUrl": false,
    "sortUrl": "📚书源::http://www.baidu.com?wd=https://i.jandan.net/pic【b002.png】《🐣煎蛋无聊图  ‼️md订阅若出错 请修改源注释里的值‼️》◎■◎♞♞https://0427.118pan.com/o18659【yuedu.jpg】《📙阅读app｜打包&分享by遇见》◎点文件名右空白处 显示下载按钮 直接下载◎♞♞💙💚/yuedu/shuyuan/index.html【mu.jpg】《📚源仓库｜阅读书源》◎www.yckceo.vip◎♞♞💙💚/yiciyuan/tuyuan/index.html【mu.jpg】《🎨源仓库｜异次元漫画app下载 ＆ 图源 （与阅读app互不通用）》◎■◎♞♞♥https://www.gitlink.org.cn/api/yi-c/yd/raw/sy.json?ref=master【sy.png】《📚一程书源》◎♡◎♞♞♥https://www.gitlink.org.cn/api/yi-c/yd/raw/dy.json?ref=master【dy.png】《📚一程订阅》◎♡◎♞♞https://cdn05042023.gitlink.org.cn/yi-c/yd【rq.png】《＃ 查看日期》◎◎♞♞https://flowus.cn/share/923f5a35-6dcf-47d1-b8eb-b9c5ef3ed39b,【wy.png】《＃ 一程主页》◎□◎♞♞♥🧡💛/PB-pobing/pobing@pb/sy.json【sy.png】《📚破冰书源 Ⓖ》◎♡◎♞♞💛💚/PB-pobing/pobing/commits/pb/sy.json,【rq.png】《＃ 查看日期 Ⓖ》◎□◎♞♞♥🧡💛/zmn001125/booksources@master/sources/guaner.txt【sy.png】《📚关耳书源 Ⓖ》◎♡◎♞♞💛💚/zmn001125/booksources/commits/master/sources/guaner.txt,【rq.png】《＃ 查看日期 Ⓖ》◎□◎♞♞♥🧡💛/XIU2/Yuedu@master/shuyuan【sy.png】《📚XIU2书源 Ⓖ》◎♡◎♞♞💛💚/XIU2/Yuedu/commits/master/shuyuan,【rq.png】《＃ 查看日期 Ⓖ》◎□◎♞♞♥🧡💛/cyao2q/yuedu@master/shuyuan【sy.png】《📚cyao2q书源 Ⓖ》◎♡◎♞♞💛💚/cyao2q/yuedu/commits/master/shuyuan,【rq.png】《＃ 查看日期 Ⓖ》◎□◎♞♞♥https://www.gitlink.org.cn/api/haxc/book/raw/bookSource.json?ref=master【mh.png】《🎨Haxc阅读漫画源》◎♡◎♞♞https://cdn05042023.gitlink.org.cn/haxc/book【rq.png】《＃ 查看日期》◎■◎♞♞http://yuedu.miaogongzi.net/gx.html,【mgz.gif】《📚喵公子整理（一程  Haxc 破冰 不世玄奇 为作者发布链接）》◎◎♞♞https://cdn05042023.gitlink.org.cn/miaogongzi/legado/【mgz.gif】《＃ 查看日期（Namo 漫画1 漫画2 关耳 黄凡凡）》◎□◎♞♞https://legado.aoaostar.com/,【yj.png】《📚aoaostar采集｜标示的日期仅为采集刷新日期》◎□◎♞♞♥🧡💛/shidahuilang/shuyuan@shuyuan/good.json【】《📚大灰狼｜书源（采集自源仓库） Ⓖ》◎◎♞♞♥🧡💛/shidahuilang/shuyuan@shuyuan/book.json【】《📚大灰狼｜书源-未检验（采集自源仓库） Ⓖ》◎◎♞♞♥🧡💛/shidahuilang/shuyuan@shuyuan/jinghua.json【】《📚大灰狼｜净化 Ⓖ》◎大灰狼仓库github.com/shidahuilang/shuyuan/◎♞♞♥🧡💛/shidahuilang/shuyuan@shuyuan/tts.json【】《📚大灰狼｜TTS 语音引擎70 思必驰 Ⓖ》◎◎♞♞💛💚/shidahuilang/shuyuan/commits/shuyuan,【rq.png】《＃ 查看日期 Ⓖ》◎□◎♞♞https://p.20190524.xyz/,【sy.png】《📚大猫临时网盘》◎■◎♞♞https://v2.jt12.de/doc/,【md.png】《📚橘涂书源网盘（阅读app内置）设置教程》◎‼️与喵公子书源网盘2选1使用◎♞♞https://moew.yuedu.ink/,【md.png】《📚迷迭订阅》◎‼️更新后打开订阅，右上，刷新分类◎♞♞http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=a9JODTNzlrw31t0Q8AAlLOERgKBt9ms6&authKey=hDz11n4lB6Qv8R3U9acMcoYg62TwLTZc%2FbHlGIpswLsrbwtnMlOXiXb5mAQ9ZRTI&noverify=0&group_code=892966579【md.png】《QQ小说交流群892966579点我跳转加群》◎若有异常，请手动加群◎\n\n\n\n📙喵公子::https://miaogongzi.lanzout.com/b01rgkhhe\n\n📙MD.1::https://mmxmm.lanzoue.com/b0d6c09hi##iori\n\n📙Ⓖ阅读.A::🧡💛/10bits/gedoor-Build@master/README.md##【yuedu.jpg】\n\n📙不似苏::https://busisu.lanzoub.com/s/yuedupro##777\n\n//🅻乐享/黑鹰\n📙搜书大师::https://lxapk.lanzoub.com/b05sf0ngd##cpj0\n\n🅨TTS 讯飞语记::https://yoyodadada.lanzouw.com/b01co9qad##et0k\n\n土狗/M浏览器::https://www.lanzoux.com/s/tgllq##【tugou.png】\n\n🅻ES文件::https://lxapk.lanzouw.com/b05sf5etc##f5fb【es.png】\n\n④ES文件::https://423down.lanzouo.com/b0f1d7s2h\n\n④小黄鸟抓包::https://423down.lanzouv.com/b0f1b9v6j\n\n④小说软件::https://423down.lanzouv.com/b0f1cdr9i\n\n🅨笔趣阁::https://yoyodadada.lanzouw.com/b01fi8imd##4jkl\n\n\n\n📘教程1::http://www.baidu.com?wd=http://dh.sqst.xyz/,【dh.png】《ℹ️大哈导航 dh.sqst.xyz‼️优惠资讯、购物大都是推广佣金链，》◎◎♞♞https://dlidli.wang/,【dh.png】《ℹ️嘀哩导航 dlidli.wang‼️你买他赚钱。涉及资金请谨慎。》◎◎♞♞https://adzhp.net/,【dh.png】《ℹ️爱达导航 adzhp.net‼️尽量不要通过导航里的链接跳转网购。》◎■◎♞♞https://alanskycn.gitee.io/teachme/Rule/source.html,【jc.png】《〔官方〕书源规则：从入门到入土》◎□◎♞♞https://www.bilibili.com/video/BV1zk4y1T7PD/,【jc.png】《视频.关耳书源教程1▶️第一个书源。utf-8搜索地址有关键词》◎B站up主：萌芽中的男生。加音量加字幕。◎♞♞https://www.bilibili.com/video/BV1PN411Q7U6/,【jc.png】《视频.关耳书源教程2▶️第二个书源。GBK编码》◎B站up主：萌芽中的男生。加音量加字幕。◎♞♞https://www.bilibili.com/video/BV1N14y1m7iP/,【jc.png】《视频.关耳书源教程3▶️第三个书源。post搜索地址无关键词》◎B站up主：萌芽中的男生。加音量加字幕。◎♞♞https://www.bilibili.com/video/BV1ga4y1w7AB/,【jc.png】《视频.关耳书源教程4▶️发现规则、#&lrm;#替换、请求头》◎B站up主：萌芽中的男生。加音量加字幕◎♞♞https://www.bilibili.com/video/BV1cX4y1i7zz/,【jc.png】《视频.关耳书源教程5▶️常用js语法》◎B站up主：萌芽中的男生。加音量加字幕◎♞♞https://www.bilibili.com/video/BV12N411S7jd/,【jc.png】《视频.关耳书源教程6▶️漫画正文规则》◎B站up主：萌芽中的男生。加音量加字幕◎♞♞https://www.bilibili.com/video/BV1YV4y1a7cL/,【jc.png】《视频.关耳书源教程7▶️几个问题》◎□◎♞♞https://www.w3cschool.cn/regex_rmjc/regex_rmjc-n5a328cn.html,【jc.png】《📖正则表达式30分钟入门教程》◎🦁◎♞♞https://www.w3cschool.cn/regex/ogzw1nyz.html,【jc.png】《📖轻松学习正则表达式》◎🦁◎♞♞https://www.w3cschool.cn/regexp/2yjd1pq6.html,【jc.png】《📖正则表达式》◎□◎♞♞https://agit.ai/butterfly/JsoupXpath/src/branch/master/README.md,【jc.png】《　↳ XPath库的说明（官方教程里提及的github链接的镜像）》◎◎♞♞https://agit.ai/butterfly/horseshoe/src/branch/master/README.md,【jc.png】《　↳ 2018-10-Regex专题（官方教程提及的github链接的镜像）》◎■◎♞♞https://jandan.net/bbs#/topic/210,【b002.png】《ℹ️煎蛋国内图片加速》◎□◎♞♞https://www.xiaoji001.com/download.html【yx.png】《🐤小鸡模拟器xiaoji001.com （掌机、家用游戏机＆相关游戏）》◎◎♞♞http://www.ponyemu.com/index_m.html【yx.png】《🦄小马模拟器ponyemu.com （掌机、家用游戏机＆相关游戏）》◎■◎\n\n\n\n📘教程2::http://www.baidu.com?wd=https://m.runoob.com/,【jc.png】《RUNOOB [少林武功总纲] 秃子的成神之路  你秃了 但也变强了》◎www.runoob.com｜m.runoob.com◎♞♞https://c.runoob.com/,【gj.png】《菜鸟工具 c.runoob.com》◎□◎♞♞https://www.w3cschool.cn/tutorial,【jc.png】《W3Cschool [少林武功总纲] 秃子的成神之路  你秃了 但也变强了》◎🦁◎♞♞https://www.w3cschool.cn/webtools/,【gj.png】《在线工具 w3cschool.cn》◎■◎♞♞https://www.w3cschool.cn/html/html-intro.html,【jc.png】《HTML 教程》◎🦁◎♞♞https://www.w3cschool.cn/html5/html5-intro.html,【jc.png】《HTML5 教程》◎🦁◎♞♞https://www.w3cschool.cn/htmltags/html-reference.html,【jc.png】《HTML 参考手册》◎□◎♞♞https://www.w3cschool.cn/css/css-intro.html,【jc.png】《CSS 教程》◎🦁◎♞♞https://www.w3cschool.cn/css3/a2yscflg.html,【jc.png】《CSS3 教程》◎🦁◎♞♞https://www.w3cschool.cn/cssref/3ps212do.html,【jc.png】《CSS 参考手册》◎□◎♞♞https://www.w3cschool.cn/javascript/js-intro.html,【jc.png】《JavaScript 教程》◎🦁◎♞♞https://www.w3cschool.cn/nwfchn/c56iqozt.html,【jc.png】《JavaScript 标准参考教程》◎🦁◎♞♞https://www.w3cschool.cn/jsref/jsref-jsref-tutorialnmor1pl5.html,【jc.png】《JavaScript 和 HTML DOM 参考手册》◎□◎♞♞https://www.w3cschool.cn/jquery/jquery-intro.html,【jc.png】《jQuery 教程》◎🦁◎♞♞https://www.w3cschool.cn/ajax/nr583fns.html,【jc.png】《AJAX 教程》◎🦁◎♞♞https://www.w3cschool.cn/json/json-tutorial.html,【jc.png】《JSON 教程》◎🦁◎♞♞https://www.w3cschool.cn/xpath/xpath-xpath-tutorialij9m1t5i.html,【jc.png】《XPath 教程》◎□◎♞♞https://www.w3cschool.cn/python3/python3-tutorial.html,【jc.png】《Python3 教程》◎🦁◎♞♞https://www.w3cschool.cn/java/java-tutorial.html,【jc.png】《Java 教程》◎🦁◎♞♞https://www.w3cschool.cn/php/php-tutorial.html,【jc.png】《PHP 教程》◎🦁◎♞♞https://www.w3cschool.cn/aspnet/aspnet-tutorial.html,【jc.png】《ASP.NET 教程》◎🦁◎♞♞https://www.w3cschool.cn/cpp/cpp-intro.html,【jc.png】《C++ 教程》◎🦁◎♞♞https://www.w3cschool.cn/linux/linux-tutorial.html,【jc.png】《Linux 教程》◎🦁◎♞♞https://www.w3cschool.cn/git/git-tutorial.html,【jc.png】《Git 教程》◎🦁◎\n",
    "sourceComment": "yck=1\n/*▔▔▔▔▔▔▔▔\n⬆︎设置源仓库地址\n1  www.yckceo.com\n2  www.yckceo1.com\n3  www.yck2.com\n4  www.e-yck.top\nmd.24.5.1.\n▁▁▁▁▁▁▁▁*/\n\n\npic=4\n/*▔▔▔▔▔▔▔▔\n⬆︎设置图片样式\n0  红+\n1  粉++\n2  蓝++\n3  绿+  10\n4  绿齿轮  11  12\n5  绿字印章+\n6  红字印章+\n7  红字 黑白背景\n8  蓝字黑底（夜间）-\n9  卡其色 记事板-\n▁▁▁▁▁▁▁▁*/\n\n\ngitpic=17\ngitsy=0\n/*▔▔▔▔▔▔▔▔\n⬆︎gitpic（1-17）设置图片镜像链接。\n⬆︎gitsy（0-16）设置书源镜像链接（关耳、破冰、XIU2、cyao2q、大灰狼）。\n——— Ⓖ github ——\t—\n0  随机 ⬅︎ 仅gitsy可设。若随机到失效镜像，请刷新分类（再次随机）。\n1  raw.kkgithub.com\n2  github.moeyy.xyz\n3  mirror.ghproxy.com\n4  raw.cachefly.998111.xyz\n5  ghproxy.net\n6 521github.com\n7  slink.ltd\n8  gh.con.sh\n9  cors.isteed.cc\n10 hub.gitmirror.com\n11 sciproxy.com\n12 ghproxy.cc\n13 cf.ghproxy.cc\n14 gh.jiasu.in\n15 ghcy.eu.org\n16 raw.gitmirror.com\n17 gitee.com ⬅︎ 仅gitpic可设\n▁▁▁▁▁▁▁▁*/\n\n\ngitdate=4\ndown=0\n/*▔▔▔▔▔▔▔▔\n⬆︎gitdate（1-4）设置书源查看日期的链接（关耳、破冰、XIU2、cyao2q、大灰狼）\n⬆︎down（0-20）设置📚阅读.A 下载链接.\n——— Ⓖ github ——\t—\n0  随机 ⬅︎ 仅down可设。若随机到失效链接，请刷新分类（再次随机）。\n1  521github.com\n2  dgithub.xyz\n3  kkgithub.com\n4  cors.isteed.cc\n5  gh.con.sh\n6  cf.ghproxy.cc\n7  mirror.ghproxy.com\n8  github.moeyy.xyz\n9  ghproxy.cc\n10 gh.jiasu.in\n11 slink.ltd\t\t\n12 gh.ddlc.top\t\t\n13 gh.h233.eu.org\n14 dl.ghpig.top\n15 hub.gitmirror.com\n16 sciproxy.com\n17 download.nuaa.cf\n18 download.scholar.rr.nu\n19 download.yzuu.cf\n20 ghproxy.net\t\n▁▁▁▁▁▁▁▁*/\n\n\n/*▔▔▔▔▔▔▔▔\n订阅源图标可自己复制链接替换\n（拉到顶部第三项，“图标”）\n★★ github 图标★★\nhttps://521github.com/md-yd/pic/raw/main/00rose/a001b.png\nhttps://raw.gitmirror.com/md-yd/pic/main/00rose/001.png\n★★gitee图标★★\nhttps://gitee.com/visita/yd/raw/master/00rose/a001b.png\nhttps://gitee.com/visita/yd/raw/master/00rose/001.png\n▁▁▁▁▁▁▁▁*/\n\n\n/*▔▔▔▔▔▔▔▔\nrss by.Thomas。  md小改&收集整理。\n\n小说交流群892966579\nA群637775313不加人。若群炸了查看此群群资料找新家。\n\n内容取自网络，仅作学习参考，请24小时内删除。找到感兴趣内容请去支持正版。\n▁▁▁▁▁▁▁▁*/\n\n\nyck=\nyck==1 ? `https://www.yckceo.com` :\nyck==2 ? `https://www.yckceo1.com` :\nyck==3 ? `https://www.yck2.com` :\n//yck==4 ? \n`https://www.e-yck.top` ;\n\n\ngitpic=\ngitpic==1 ? \n`https://raw.kkgithub.com`:\ngitpic==2 ? \n`https://github.moeyy.xyz/https://raw.githubusercontent.com`:\ngitpic==3 ?\n`https://mirror.ghproxy.com/https://raw.githubusercontent.com`:\ngitpic==4 ? \n`https://raw.cachefly.998111.xyz`:\ngitpic==5 ?\n`https://ghproxy.net/https://raw.githubusercontent.com`:\ngitpic==6 ? \n`https://521github.com/extdomains/raw.githubusercontent.com` :\ngitpic==7 ? \n`https://slink.ltd/https://raw.githubusercontent.com` :\ngitpic==8 ? \n`https://gh.con.sh/https://raw.githubusercontent.com` :\ngitpic==9 ? \n`https://cors.isteed.cc/https://raw.githubusercontent.com` :\ngitpic==10 ? \n`https://hub.gitmirror.com/https://raw.githubusercontent.com` :\ngitpic==11 ?\n`https://sciproxy.com/https://raw.githubusercontent.com` :\ngitpic==12 ?\n`https://ghproxy.cc/https://raw.githubusercontent.com` :\ngitpic==13 ?\n`https://cf.ghproxy.cc/https://raw.githubusercontent.com` :\ngitpic==14 ?\n`https://gh.jiasu.in/https://raw.githubusercontent.com`:\ngitpic==15 ? \n`https://ghcy.eu.org/https://raw.githubusercontent.com`:\ngitpic==16 ? \n`https://raw.gitmirror.com`:\n//gitpic==17 ? \n`https://gitee.com/visita/yd/raw/master`;\n\n\ngitsy=\ngitsy==0? \nparseInt(Math.random()*16+1) : gitsy;\n\ngitsy=\ngitsy==1 ? \n`https://raw.kkgithub.com`:\ngitsy==2 ? \n`https://github.moeyy.xyz/https://raw.githubusercontent.com`:\ngitsy==3 ?\n`https://mirror.ghproxy.com/https://raw.githubusercontent.com`:\ngitsy==4 ? \n`https://raw.cachefly.998111.xyz`:\ngitsy==5 ?\n`https://ghproxy.net/https://raw.githubusercontent.com`:\ngitsy==6 ? \n`https://521github.com/extdomains/raw.githubusercontent.com` :\ngitsy==7 ? \n`https://slink.ltd/https://raw.githubusercontent.com` :\ngitsy==8 ? \n`https://gh.con.sh/https://raw.githubusercontent.com` :\ngitsy==9 ? \n`https://cors.isteed.cc/https://raw.githubusercontent.com` :\ngitsy==10 ? \n`https://hub.gitmirror.com/https://raw.githubusercontent.com` :\ngitsy==11 ?\n`https://sciproxy.com/https://raw.githubusercontent.com` :\ngitsy==12 ?\n`https://ghproxy.cc/https://raw.githubusercontent.com` :\ngitsy==13 ?\n`https://cf.ghproxy.cc/https://raw.githubusercontent.com` :\ngitsy==14 ?\n`https://gh.jiasu.in/https://raw.githubusercontent.com`:\ngitsy==15 ? \n`https://ghcy.eu.org/https://raw.githubusercontent.com`:\n//gitsy==16 ? \n`https://raw.gitmirror.com`;\n\n\ngitdate=\ngitdate==1 ? \n`https://521github.com`:\ngitdate==2 ? \n`https://dgithub.xyz`:\ngitdate==3 ? \n`https://kkgithub.com`:\n//gitdate==4 ? \n`https://cors.isteed.cc/github.com`;\n\n\ndown=\ndown==0? \nparseInt(Math.random()*20+1) : down;\n\ndown=\ndown==1 ? \n`https://521github.com`:\ndown==2 ? \n`https://dgithub.xyz`:\ndown==3 ? \n`https://kkgithub.com`:\ndown==4 ? \n`https://cors.isteed.cc/github.com`:\ndown==5 ? \n`https://gh.con.sh/https://github.com`:\ndown==6 ? \n`https://cf.ghproxy.cc/https://github.com`:\ndown==7 ? \n`https://mirror.ghproxy.com/https://github.com`:\ndown==8 ? \n`https://github.moeyy.xyz/https://github.com`:\ndown==9 ?\n`https://ghproxy.cc/https://github.com`:\ndown==10 ?\n`https://gh.jiasu.in/https://github.com`:\ndown==11 ? \n`https://slink.ltd/https://github.com`:\ndown==12 ? \n`https://gh.ddlc.top/https://github.com`:\ndown==13 ? \n`https://gh.h233.eu.org/https://github.com`:\ndown==14 ? \n`https://dl.ghpig.top/https://github.com`:\ndown==15 ? \n`https://hub.gitmirror.com/https://github.com`:\ndown==16 ?\n`https://sciproxy.com/github.com`:\ndown==17 ?\n`https://download.nuaa.cf`:\ndown==18 ?\n`https://download.scholar.rr.nu`:\ndown==19 ? \n`https://download.yzuu.cf`:\n//down==20 ? \n`https://ghproxy.net/https://github.com`;",
    "sourceGroup": "-md-,R18",
    "sourceIcon": "https://gitee.com/visita/yd/raw/master/00rose/a001b.png#",
    "sourceName": "阅读难受1",
    "sourceUrl": "https://www.lanzoux.com/#2024md1",
    "style": "body {\r\n    font-family: 'Roboto', sans-serif;\r\n    display: flex;\r\n    flex-direction: column;\r\n    height: 100vh;\r\n    margin: 5;\r\n    background-color: #F8F8F8;\r\n}\r\n\nmd1 {\n    color: #444444;\n    font-size: 2em; \r\n    margin: 40px 0;\n    font-weight: 400;\n    justify-content: center;\n    text-align: center;\r\n}\r\n\r\nmd2 {\r\n    color: #444444;\n    font-size: 1.4em; \n    margin-bottom: 40px;\n    line-height: 1.8;\n    font-weight: 400;\n    justify-content: center;\n    text-align: center;\r\n}\r\n\r\nmd3 {\n    color: #212121;\n    font-size: 1.6em; \r\n    margin: 10px 0;\n    font-weight: 400;\n    justify-content: center;\n    text-align: center;\r\n}\r\n\nmd4 {\n    font-size: 1.1em; \r\n}\n\r\nmd5 {\r\n    font-size: 1em; \n    color: #222222;\n    justify-content: center;\n    text-align: center;\r\n}\r\n\ntextarea {\n    width:98%;\r\n    height: auto;\r\n    min-height: 54px;\n    max-height: 500px;\r\n    overflow-y: auto;\n    border-radius:5px;\r\n    border: 1px solid #BDBDBD;\r\n}\r\n\r\n.button {\n    display: block; \r\n    margin-left: auto;\n    margin-right: auto;\r\n    padding: 6px 10px;\r\n    background-color: #FF5722;\r\n    border: none;\r\n    color: white;\r\n    cursor: pointer;\r\n    border-radius: 4px;\r\n    text-decoration: none;\r\n    margin-top: 1px;\r\n    font-size: 18px;\r\n    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);\r\n    transition: background-color 0.5s,\n    transform 0.4s;\r\n}\r\n\r\n.button:hover {\r\n    background-color: #FF5722;\r\n    transform: translateY(-2px);\r\n}\r\n\r\n.button:active {\r\n    box-shadow: 0 3px 5px rgba(0, 0, 0, 0.4);\r\n    transform: translateY(0);\r\n}"
  },
  {
    "articleStyle": 0,
    "concurrentRate": "",
    "contentBlacklist": "https://statics.woozooo.com/",
    "customOrder": -10098448,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "+ `,{\"headers\":{\"User-Agent\": \"Mozilla/5.0 (Windows; U; Windows NT 5.2;. en-US) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36 Quark/4.6.2.161\"}}`",
    "injectJs": "// 是蓝奏云链接时\nif(/lanzou/.test(window.location.href)){\nArray.from(document.querySelectorAll(`\n\t.mt2:last-of-type,.appreport,.n_login,\n\tdiv[style*=\"color: #8a6d3b;\"]\n`),$=>$.style.display='none');\n}\n\n//选择需要删除的标签，以,分隔\nitems = document.querySelectorAll(`\n.stealth-scroll,\n\n#evaluate-box,\n.project-operation,\n.recommend-footer,\n\n.project-desc2,\n.side-widget,\n\n.header_nav,\n.under,\n\n.layui-container layui-hide-md\n`)\n\n//把选择的html值改成空\nArray.from(items,(item)=>{\n\titem.innerHTML = ``\n\titem.style.display = `#m-splitter`\n})",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginUi": "",
    "loginUrl": "",
    "ruleArticles": "<js>\ntry {$ = JSON.parse(src).text;\n       if ($ == \"no file\") $ = []; } \n\n//catch (err)💜💜💜💜💜💜\ncatch (err) {\n\n        //取消分享🧡🧡🧡🧡🧡🧡\n        if (String(java.getString('.off@text')).match(/取消分享/)) {\n            $ = [{\n                name_all: java.getString('.off@text'),\n                time: baseUrl.replace(/[#\\?].*/g, ''),\n                url: baseUrl.replace(/[#\\?].*/g, '')\n                  }]   }\n\n\n        //蓝奏云分组🧡🧡🧡🧡🧡🧡\n        else {\n            json = [];\n            name = java.getString('.user-radio@text||title@text')\n            java.getElements('#folder .mlink').forEach(a => {         java.setContent(a);\n                json.push({\n                    name_all: java.getString('.filename@textNodes'),\n                    url: java.getString('a@href'),\n                    time: '🗂️ folder　📑 ' + (String(java.getString('.filesize@text')) || name)                      })\n     })\n\n           java.setContent(src);\n\n            mat = baseUrl.match(/^(.*?\\.com)[^##]*\\/(.+)$/)\n            url = mat[1]\n            uri = mat[2]\n\n            function $(reg) {\n                return uri.match(reg) ? true : false }\n\n            //get【pwd】(链接提取码)\npwd =\n$(/##[^【]/) ? uri.match(/##(.*?)(【|$)/)[1] : \"\";\njava.put('pwd', String(pwd));\n\nhead = { method: \"POST\",\n                params: {\n                uri: uri,\nimg: $(/【[^】]/) ? uri.match(/【([^】]+)/)[1] : \"\" \n              }}\n\n            //get 【body】\neval(src.match(/var pgs;([\\s\\S]*?pgs.+;)/)[1]);\neval('$=' + src.match(/data :([\\s\\S]*?\\})/)[1]);\nhead.body = Object.keys($).map(key => key + \"=\" + $[key]).join('&');\n\n            //补全【url】\n            url += \"/filemoreajax.php,\" + JSON.stringify(head);\n\n            //ajax。获取蓝奏云盘文件列表。\n            $ = JSON.parse(java.ajax(url));\n            $ = json.concat($.text != 0 ? $.text :\n              //密码错误提示\n              [{ name_all: $.info,\n                time: uri.replace(/[#\\?].*/, '') +$.info,\n                url: baseUrl.replace(/[#\\?].*/, '') }]\n                                         )\n            baseUrl = url\n          }\n          //蓝奏云分组结束🧡🧡🧡🧡🧡🧡\n\n}\n//catch (err)结束💜💜💜💜💜💜\n\njava.put('url', baseUrl);\nJSON.stringify($);\n</js>$.[*]",
    "ruleContent": "@js:\nname=java.get('name');\n\n//判断txt文件直链💛💛💛💛💛💛\n if(String(name).match(/\\.txt/i)){\n$=JSON.parse(src).data;\n\n    //判断msg==解析成功🖤🖤🖤🖤🖤🖤\n    //if(java.getString(\"$..msg\")==\"解析成功\"){\n    if(result.match(/解析成功/) ){\n\nurlz=java.getString(\"$..url\");\n\n$ = java.head(urlz,{\n\t\"accept-language\": \"zh-CN,en-US;q=0.9\",\n\t\"User-Agent\":\"Mozilla/5.0 (Linux; Android 8.0.0; MI 5s Plus Build/OPR1.170623.032; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/71.0.3578.99 Mobile Safari/537.36\" }).headers();\n\nurlzz = $.Location || $.location;\n\npath=String(name).match(/净化/)?\n\"replaceRule\":\nString(name).match(/订阅[^失败]/)?\n\"rssSource\": \nString(name).match(/TTS|语音|引擎|tts/i)?\n\"httpTTS\":\n//String(name).match(/阅读主题/)?\"theme\":\n//String(name).match(/阅读排版/)?\"readConfig\":\n//String(name).match(/TXT目录/i)?\"textTocRule\":\n\"bookSource\";\n\nsrc = \"legado://import/\"+path+\"?src=\";\n\n//网页▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁\n`<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\">\n<title>${name}</title>\n<br>\n<md3><b>${name}</b></md3>\n<br><md4>\n　　❤️点◎下载文件◎，底栏会弹出信息，<br>\n　　❤️再点右下角“下载”，才会开始下载。<br>\n　　❤️文件默认存放在 根目录/Download/<br></md4>\n<br>\n\n<a href=\"${urlz}\" class=\"button\">◎ 下载文件 ◎</a>\n\n<br>\n<br><md4>\n　　❤️书源仅txt文件可一键导入。<br>\n　　　（无须下载可直接导入）<br>\n　　💔zip文件只能下载到本地解压。<br>\n<br></md4>\n\n<a href=\"${src+encodeURIComponent(urlzz)}\" class=\"button\">◎ 一键导入 ◎</a>\n\n<br>\n<br><md4>\n　资源链接，点击复制▼</md4>\n<center><textarea id=\"copy\" onclick=\"copy()\">${urlzz}</textarea></center>\n<br>\n<md5>\nrssSource by.Thomas.　　 md轻改&收集整理<br>\n资源取自网络，仅作参考试用，请24小时内删除<br></md5>\n\n<script>\nfunction copy(){\n\tdocument.getElementById('copy').select()\n\tdocument.execCommand('copy')\n\talert(\"复制成功\") }\n</script>\n`\n//网页结束▔▔▔▔▔▔▔▔▔▔▔▔▔▔\n    }\n    //解析成功结束🖤🖤🖤🖤🖤🖤\n\n    //解析失败跳转蓝奏官网下载页面🖤🖤\n    //else if(result.match(/解析失败/))\n    else{\n    java.ajax(java.get('urltp'))\n    }\n    //解析失败结束🖤🖤🖤🖤🖤🖤\n\n}\n//判断txt文件结束💛💛💛💛💛💛\n\n//蓝奏分组非txt文件蓝奏官网下载页面💛💛\nelse{result}",
    "ruleDescription": "",
    "ruleImage": "@js:\nn=`{{$.name_all}}` ;\n//uri1=`{{$.uri1}}` ;\n//src =uri1 ? uri1 :\n\nsrc=\n//文件名判断使用对应图标\nn.match(/\\.zip/i)? \"zip.png\" :\nn.match(/md|迷迭/)? \"md.png\" :\nn.match(/legado|阅读Pro/i)? \"yuedu.jpg\" :\nn.match(/tts|语音|讯飞语记/)? \"tts.png\" :\nn.match(/书源[^限制]|book/)? \"sy.png\" :\nn.match(/rss|订阅/)? \"dy.png\" :\nn.match(/净化/)? \"jh.png\" :\nn.match(/漫画|comic/i)? \"mh.png\" :\nn.match(/lequ/)? \"sy.png\" :\n//文件名判断apk图标\nn.match(/apk/g)? \"apk.png\" :\n//蓝奏云盘设定的图片or为空时\nbaseUrl.match(/【[^】$]/)? \nbaseUrl.match(/【(.*?)(】|$)/)[1] : \"lan.png\";\n\n\n//md图片简写补全。\n\neval(String(source.sourceComment));\n\npic= \npic==`0` ? `/md-yd/pic@main/00rose/${src}`:\npic==`1` ? `/md-yd/pic@main/01pink/${src}` :\npic==`2` ? `/md-yd/pic@main/02blue/${src}` :\npic==`3` ? `/md-yd/pic@main/03green/${src}` :\npic==`4` ? `/md-yd/pic@main/04gear/${src}` :\npic==`5` ? `/md-yd/pic@main/05green/${src}` :\npic==`6` ? `/md-yd/pic@main/06red/${src}`:\npic==`7` ? `/md-yd/pic@main/07blackred/${src}` :\npic==`8` ? `/md-yd/pic@main/08black/${src}` :\npic==`9` ? `/md-yd/pic@main/09note/${src}` :\n\npic==`10`?`/md-yd/pic@main/03green2/${src}`:\npic==`11`?`/md-yd/pic@main/04gear2/${src}` :\n//pic==`12`?\n`/md-yd/pic@main/04gear3/${src}`;\n\n\npic=gitpic+pic;\n\npic= \nString (gitpic).match(/gitee/) ? \nString(pic).replace(/\\/md\\-yd\\/pic\\@main/,''):\nString (gitpic).match(/\\/gh$/) ? \n pic : \nString (pic).replace(/\\@/,'/');\n\nsrc=src.match(/^http/) ? src : pic ;\nsrc",
    "ruleLink": "$.id\n@js:\nurl=`{{$.url}}`;\n\n  //判断txt文件生成直链❤️❤️❤️❤️❤️❤️\n  if(String(java.get(\"name\")).match(/\\.txt/i) ){\n\nid=result.replace(/(.*)\\?.*/,\"$1\");\n\nurl= baseUrl.match(/^(.*?com)/)[1];\n\nurltp=url+`/tp/`+result;\njava.put('urltp', urltp);\n\nurlx=url+`/`+id;\n\npwd=String(java.get(`pwd`));\n\nkey= String(source.getVariable());\n\nurlo=`https://apis.jxcxin.cn/api/lanzou?apiKey=` +key+ `&url=` +urlx+ `&pwd=` +pwd;\n\nurlo;\n  }\n  //txt文件生成直链结束❤️❤️❤️❤️❤️❤️\n\n\n  //非txt文件 蓝奏官网下载页面❤️❤️❤️\n  else{\n  url+=`/tp/{{$.id}}`;\n  url\n  }\n  //非txt文件结束❤️❤️❤️❤️❤️❤️",
    "ruleNextPage": "@js:\ntry {\n    url = String(java.get('url'));\n    url = url.replace(/(pg=)(\\d+)/, (mat, $1, $2) => {\n        return $1 + (~~$2 + 1)\n    }).replace(url, '');\n} catch (err) {\n    url = \"\"\n}\nurl",
    "rulePubDate": "💾 {{$.icon}}　📥 {{$.size}}　⏱️ {{$.time}}\n##💾 　📥 　⏱️\\s*",
    "ruleTitle": "$.name_all\n<js>\njava.put('name', result)\n</js>",
    "singleUrl": false,
    "sortUrl": "📚MD.2::https://wwdn.lanzoue.com/b0d5g0tba##iori\n\n📚关耳::https://wwa.lanzoux.com/b05fs5ccd##guaner【sy.png】\n📚T1.小说::https://wwr.lanzoui.com/b03p9ftpc##read【thomas.gif】\n📚T2.影视::https://wwr.lanzoui.com/b03q7n81e##read【thomas.gif】\n📚T3.有声::https://wwr.lanzoui.com/b03qhlncd##read【thomas.gif】\n📚T4.其他::https://wwr.lanzoui.com/b03qlyydc##read【thomas.gif】\n\n📚星空看书::https://yuntuxs.lanzouj.com/b02r56jch##hdvo【sy.png】\n\n📚歌行灯_::https://xiao233666.lanzoui.com/b02q6wfuh##投币【sy.png】\n\n📚海阔小刘::https://ls125781003.lanzoum.com/b066gazed##8u15【sy.png】\n📚YELLYOO::https://wwn.lanzoub.com/b01pihymd##yuedu【sy.png】\n\n📚烏雲/淨化::https://www.lanzoux.com/b0bw8jwoh##【jh.png】\n\n✏️七十六时/字体::https://lsy-again.lanzouf.com/b01dlfjej##5tfp【zt.png】\n\n📚一程::https://y-c.lanzoui.com/b00r1ko0d##sydy",
    "sourceComment": "/*▔▔▔▔▔▔▔▔\nmd.24.5.1.\n此订阅依赖apis直链解析。\n有部分人无须申请key可直接正常使用。\n若无法正常使用，请申请获取key。\n\nhttps://apis.jxcxin.cn/user/goods.html\n1、注册账号。\n2、进绑定的邮箱激活账号。\n3、打开网站登录账号，左上，个人中心 接口列表，购买 “蓝奏云直连下载”，获取key。\n（不需要花钱，点购买即可获取）\n（拉到最右边，点购买，月付，确认）\n（不需要花钱！不需要花钱！不需要花钱！）\n\nhttps://apis.jxcxin.cn/user/owned.html\n4、个人中心，在 “我的接口” 里，复制刚获取到的key（只复制 “?apiKey=” 之后的字符）。\n5、打开此订阅，右上，“设置源变量”，粘贴key，保存。至此本订阅即可正常使用。\n\n💔直链解析配置略有点问题，\n部分链接或会解析失败，无法一键导入。\n若解析失败则转到蓝奏官方页面下载。\n💔此订阅依赖服务器直链解析，若服务器失效，则蓝奏txt一键导入功能失效。\n💔当难受云官方服务器变更规则，会导致订阅失效。请耐心等待apis服务器大佬跟进修正直链解析功能。\n▁▁▁▁▁▁▁▁*/\n\n\npic=5\n/*▔▔▔▔▔▔▔▔\n⬆︎设置图片样式\n0  红+\n1  粉++\n2  蓝++\n3  绿+  10\n4  绿齿轮  11  12\n5  绿字印章+\n6  红字印章+\n7  红字 黑白背景\n8  蓝字黑底（夜间）-\n9  卡其色 记事板-\n▁▁▁▁▁▁▁▁*/\n\n\ngitpic=17\n/*▔▔▔▔▔▔▔▔\n⬆︎gitpic 设置图片镜像链接。\n——— Ⓖ github ——\t—\n1  raw.kkgithub.com\n2  github.moeyy.xyz\n3  mirror.ghproxy.com\n4  raw.cachefly.998111.xyz\n5  ghproxy.net\n6 521github.com\n7  slink.ltd\n8  gh.con.sh\n9  cors.isteed.cc\n10 hub.gitmirror.com\n11 sciproxy.com\n12 ghproxy.cc\n13 cf.ghproxy.cc\n14 gh.jiasu.in\n15 ghcy.eu.org\n16 raw.gitmirror.com\n17 gitee.com ✱\n▁▁▁▁▁▁▁▁*/\n\n\n/*▔▔▔▔▔▔▔▔\n订阅源图标可自己复制链接替换\n（拉到顶部第三项）\n★★ github 图标★★\nhttps://521github.com/md-yd/pic/raw/main/00rose/a002b.png\nhttps://raw.gitmirror.com/md-yd/pic/main/00rose/002.png\n★★gitee图标★★\nhttps://gitee.com/visita/yd/raw/master/00rose/a002b.png\nhttps://gitee.com/visita/yd/raw/master/00rose/002.png\n▁▁▁▁▁▁▁▁*/\n\n\n/*▔▔▔▔▔▔▔▔\nrss by.Thomas。  md小改&收集整理。\n\n小说交流群892966579\nA群637775313不加人。若群炸了查看此群群资料找新家。\n\n内容取自网络，仅作学习参考，请24小时内删除。找到感兴趣内容请去支持正版。\n▁▁▁▁▁▁▁▁*/\n\n\ngitpic=\ngitpic==1 ? \n`https://raw.kkgithub.com`:\ngitpic==2 ? \n`https://github.moeyy.xyz/https://raw.githubusercontent.com`:\ngitpic==3 ?\n`https://mirror.ghproxy.com/https://raw.githubusercontent.com`:\ngitpic==4 ? \n`https://raw.cachefly.998111.xyz`:\ngitpic==5 ?\n`https://ghproxy.net/https://raw.githubusercontent.com`:\ngitpic==6 ? \n`https://521github.com/extdomains/raw.githubusercontent.com` :\ngitpic==7 ? \n`https://slink.ltd/https://raw.githubusercontent.com` :\ngitpic==8 ? \n`https://gh.con.sh/https://raw.githubusercontent.com` :\ngitpic==9 ? \n`https://cors.isteed.cc/https://raw.githubusercontent.com` :\ngitpic==10 ? \n`https://hub.gitmirror.com/https://raw.githubusercontent.com` :\ngitpic==11 ?\n`https://sciproxy.com/https://raw.githubusercontent.com` :\ngitpic==12 ?\n`https://ghproxy.cc/https://raw.githubusercontent.com` :\ngitpic==13 ?\n`https://cf.ghproxy.cc/https://raw.githubusercontent.com` :\ngitpic==14 ?\n`https://gh.jiasu.in/https://raw.githubusercontent.com`:\ngitpic==15 ? \n`https://ghcy.eu.org/https://raw.githubusercontent.com`:\ngitpic==16 ? \n`https://raw.gitmirror.com`:\n//gitpic==17 ? \n`https://gitee.com/visita/yd/raw/master`;",
    "sourceGroup": "-md-,R18",
    "sourceIcon": "https://gitee.com/visita/yd/raw/master/00rose/a002b.png#",
    "sourceName": "书源难受2",
    "sourceUrl": "https://www.lanzoux.com/#2024md2",
    "style": "body {\r\n    font-family: 'Roboto', sans-serif;\r\n    display: flex;\r\n    flex-direction: column;\r\n    height: 100vh;\r\n    margin: 5;\r\n    background-color: #F8F8F8;\r\n}\r\n\nmd1 {\n    color: #444444;\n    font-size: 2em; \r\n    margin: 40px 0;\n    font-weight: 400;\n    justify-content: center;\n    text-align: center;\r\n}\r\n\r\nmd2 {\r\n    color: #444444;\n    font-size: 1.4em; \n    margin-bottom: 40px;\n    line-height: 1.8;\n    font-weight: 400;\n    justify-content: center;\n    text-align: center;\r\n}\r\n\r\nmd3 {\n    color: #212121;\n    font-size: 1.6em; \r\n    margin: 10px 0;\n    font-weight: 400;\n    justify-content: center;\n    text-align: center;\r\n}\r\n\nmd4 {\n    font-size: 1.1em; \r\n}\n\r\nmd5 {\r\n    font-size: 1em; \n    color: #222222;\n    justify-content: center;\n    text-align: center;\r\n}\r\n\r\ntextarea {\n    width:98%;\r\n    height: auto;\r\n    min-height: 54px;\n    max-height: 500px;\r\n    overflow-y: auto;\n    border-radius:5px;\r\n    border: 1px solid #BDBDBD;\r\n}\r\n\r\n.button {\n    display: block; \r\n    margin-left: auto;\n    margin-right: auto;\r\n    padding: 6px 10px;\r\n    background-color: #FF5722;\r\n    border: none;\r\n    color: white;\r\n    cursor: pointer;\r\n    border-radius: 4px;\r\n    text-decoration: none;\r\n    margin-top: 1px;\r\n    font-size: 18px;\r\n    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);\r\n    transition: background-color 0.5s,\n    transform 0.4s;\r\n}\r\n\r\n.button:hover {\r\n    background-color: #FF5722;\r\n    transform: translateY(-2px);\r\n}\r\n\r\n.button:active {\r\n    box-shadow: 0 3px 5px rgba(0, 0, 0, 0.4);\r\n    transform: translateY(0);\r\n}\r\n\r\n",
    "variableComment": ""
  },
  {
    "articleStyle": 0,
    "contentBlacklist": "https://lupic.cdn.bcebos.com/,\nhttps://cpro.baidu.com/,\nhttps://eclick.baidu.com/,\nhttps://sofire.baidu.com/,\nhttps://analytics.woozooo.com/,\nhttps://statics.woozooo.com/,\nhttps://hm.baidu.com/,\nhttps://wwads.cn/code/,\nhttps://cdn.wwads.cn/,\nhttps://pagead2.googlesyndication.com,\nhttps://www.qlspx.com,\nhttps://sdk.51.la,\nhttps://abk.lingsiqiwu.com,\n\nhttps://googleads4.g.doubleclick.net,\nhttps://static.googleadsserving.cn,\nhttps://s0.2mdn.net,\nhttps://tpc.googlesyndication.com,\nhttps://www.googletagservices.com,\nhttps://cm.g.doubleclick.net,,\nhttps://star.jsyunmy.com,\nhttps://p.qlogo.cn,\nhttps://partner.googleadservices.com,",
    "customOrder": -10098447,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "{\"User-Agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36\"}",
    "injectJs": "// 是蓝奏云链接时\nif(/lanzou/.test(window.location.href)){\nArray.from(document.querySelectorAll(`\n\t.mt2:last-of-type,.appreport,.n_login,\n\tdiv[style*=\"color: #8a6d3b;\"]\n`),$=>$.style.display='none');\n}\n\n\n//选择需要删除的标签，以,分隔\nitems = document.querySelectorAll(`\n.stealth-scroll,\n\n#evaluate-box,\n.project-operation,\n.recommend-footer,\n\n.project-desc2,\n.side-widget,\n\n.header_nav,\n.under\n`)\n\n//把选择的html值改成空\nArray.from(items,(item)=>{\n\titem.innerHTML = ``\n\titem.style.display = `#m-splitter`\n})",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": false,
    "ruleArticles": "<js>\ntry {\n    $ = JSON.parse(src).text;\n    if ($ == \"no file\") $ = [];\n} \n\n//💙catch。。。\ncatch (err) {\n\n    //💚💚网站整合\n     if (baseUrl.match(/www\\.baidu\\.com\\?wd=/)) {\n\neval(String(source.sourceComment));\n\nversion=String(java.ajax(gitlatest + \"/Hiram-Wong/ZyPlayer/releases/latest\")).match(/(\\d+\\.\\d+\\.\\d+)\\<\\/h1/)[1] ;\n\n        $ = [];\n        baseUrl.replace(/^.*?wd=\\s*/,'').replace(/\\,/g,',{\"headers\":{\"User-Agent\": \"Mozilla/5.0 (Windows; U; Windows NT 5.2;. en-US) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36 Quark/4.6.2.161\"}}').\n        split(/\\s*♞♞\\s*/).map($$ => $.push({\n            name_all: $$.match(/.*?《(.*?)》/)[1].replace(/💜🖤/g,version),\n            time: $$.match(/◎.*?◎/) ? $$.match(/.*?◎(.*?)◎/)[1].replace(/■/,'▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁') : \"\",\n            uri1: $$.match(/【.*?】/) ? $$.match(/.*?【(.*?)】/)[1] : \"004.png\",\n            url:$$.match(/^([^【《◎]*),?/)[1].replace(/💜🖤/g,version).replace(/💙💚/,down).replace(/💛💚/,gitdate)\n        }));\n    }\n    //💚💚0 网站整合结束\n\n\n    //💚💚蓝奏云\n    else {\n\n        //🧡🧡🧡蓝奏云非分组链接\n        if (String(java.getString('text.举报文件@href')).length) {\n            $ = [{\n                name_all: String(java.getString('class.md@textNodes')),\n                icon: String(java.getString('class.md@textNodes')).replace(/.*\\./, ''),\n                size: String(java.getString('class.mtt@text')).replace(/\\( /, '').replace(/ \\)/, ''),\n                time: String(java.getString('class.mf@textNodes')).replace(/.*\\n/, ''),\n                uri: baseUrl.replace(/^(.+com).*\\/(.+)$/, '$2'),\n                url: baseUrl.replace(/^(.+com).*\\/(.+)$/, '$1/tp/$2')\n            }]\n        }\n        //🧡🧡🧡蓝奏云非分组结束\n\n\n        //🧡🧡🧡取消分享\n        else if (String(java.getString('.off@text')).match(/取消分享/)) {\n            $ = [{\n                name_all: java.getString('.off@text'),\n                time: baseUrl.replace(/[#\\?].*/g, ''),\n                url: baseUrl.replace(/[#\\?].*/g, ''),\n            }]\n        }\n        //🧡🧡🧡取消结束\n\n\n        //🧡🧡🧡蓝奏云分组链接\n        else {\n            json = [];\n            name = java.getString('.user-radio@text||title@text')\n            java.getElements('#folder .mlink').forEach(a => {java.setContent(a);\n      json.push({\n      \t    name_all: java.getString('.filename@textNodes'),\n          url: java.getString('a@href'),\n          time: '🗂️ folder　📑 ' + (String(java.getString('.filesize@text')) || name) })\n    })\njava.setContent(src);\n\n\n            mat = baseUrl.match(/^(.*?\\.com)[^##]*\\/(.+)$/)\n            url = mat[1]\n            uri = mat[2]\n            uri2=baseUrl.match(/【[^】]/)? baseUrl.match(/【(.*?)[】$]/)[1]: \"004.png\"\n\n            function $(reg) {\n                return uri.match(reg) ? true : false}\n\n\n            //get【pwd】(链接提取码)\n            pwd =\n$(/##[^【]/) ? uri.match(/##(.*?)(【|$)/)[1] :\"\";\n\n\n\nhead = {method: \"POST\", params: {uri: uri,\nimg: $(/【[^】]/)?uri.match(/【([^】]+)/)[1] :\"\"}}\n\n\n            //get 【body】\n            eval(src.match(/var pgs;([\\s\\S]*?pgs.+;)/)[1]);\n            eval('$=' + src.match(/data :([\\s\\S]*?\\})/)[1]);\n            head.body = Object.keys($).map(key => key + \"=\" + $[key]).join('&');\n\n\n            //补全【url】\nurl += \"/filemoreajax.php,\" + JSON.stringify(head);\n\n            //ajax\n            $ = JSON.parse(java.ajax(url));\n            $ = json.concat($.text != 0 ? $.text :\n             //密码错误提示\n             [{name_all: $.info,\n               time: uri.replace(/[#\\?].*/, '') + $.info,\n               url: baseUrl.replace(/[#\\?].*/, '') }]\n                                        )\n            baseUrl = url\n        }\n        //🧡🧡🧡蓝奏分组结束\n\n    }\n    //💚💚蓝奏结束\n\n}\n//💙catch(err)结束\n\njava.put('url', baseUrl);\nJSON.stringify($);\n</js>$.[*]",
    "ruleImage": "@js:\nn=`{{$.name_all}}` ;\nuri1=`{{$.uri1}}` ;\nsrc =\n\turi1 ? uri1 :\n\n//文件名判断使用对应图标\n\nbaseUrl.match(/【(.*?)[】$]/) ? baseUrl.match(/【(.*?)(】|$)/)[1] :\n\nbaseUrl.match(/423down/)? \"423down.png\" :\nbaseUrl.match(/lxapk/)? \"lxapk.png\" :\nbaseUrl.match(/yoyodadada/)? \"yoyo.png\" :\n\n!n.match(/\\.\\w\\w\\w$/)? \"0.png\" :\n\nn.match(/迷迭|md/i)? \"md.png\" :\nn.match(/单仓|215613905|taka|q版/)? \"dc1.png\" :\nn.match(/可视|影视仓|影音壳子|多仓/)? \"dc2.png\" :\nn.match(/本地/)? \"bd.png\" :\nn.match(/海阔|[^青钢承]影|视|剧|直播|tv[^b]/i)? \"ys.png\" :\n\nn.match(/\\.apk/g)? \"apk.png\" :\nn.match(/\\.zip|\\.7z|\\.rar/g)? \"zip.png\" :\n\n//为空时\n`lan.png` ;\n\n\n//md图片简写补全。\n\neval(String(source.sourceComment));\n\npic= \npic==`0` ? `/md-yd/pic@main/00rose/${src}`:\npic==`1` ? `/md-yd/pic@main/01pink/${src}` :\npic==`2` ? `/md-yd/pic@main/02blue/${src}` :\npic==`3` ? `/md-yd/pic@main/03green/${src}` :\npic==`4` ? `/md-yd/pic@main/04gear/${src}` :\npic==`5` ? `/md-yd/pic@main/05green/${src}` :\npic==`6` ? `/md-yd/pic@main/06red/${src}`:\npic==`7` ? `/md-yd/pic@main/07blackred/${src}` :\npic==`8` ? `/md-yd/pic@main/08black/${src}` :\npic==`9` ? `/md-yd/pic@main/09note/${src}` :\n\npic==`10`?`/md-yd/pic@main/03green2/${src}`:\npic==`11`?`/md-yd/pic@main/04gear2/${src}` :\n//pic==`12`?\n`/md-yd/pic@main/04gear3/${src}`;\n\n\npic=gitpic+pic;\n\npic= \nString (gitpic).match(/gitee/) ? \nString(pic).replace(/\\/md\\-yd\\/pic\\@main/,''):\nString (gitpic).match(/\\/gh$/) ? \n pic : \nString (pic).replace(/\\@/,'/');\n\nsrc=src.match(/^http/) ? src : pic ;\nsrc",
    "ruleLink": "$.id@js:\nurl=`{{$.url||$.sourceUrl}}`\n\nif(result){url+=`{{$.id}}`;\n}",
    "ruleNextPage": "@js:\ntry {\n    url = String(java.get('url'));\n    url = url.replace(/(pg=)(\\d+)/, (mat, $1, $2) => {\n        return $1 + (~~$2 + 1)\n    }).replace(url, '');\n} catch (err) {\n    url = \"\"\n}\nurl",
    "rulePubDate": "💾 {{$.icon}}　📥 {{$.size}}　⏱️ {{$.time}}\n##💾 　📥 　⏱️\\s*",
    "ruleTitle": "$.name_all",
    "singleUrl": false,
    "sortUrl": "🌎主::http://www.baidu.com?wd=https://md-yd.github.io/yd/71.html【md.png】《💔未修好💔🔥本地包说明。懒人请用在线线路http://gg.gg/00200》◎💔未修好💔◎♞♞https://0【jk.png】《💔未修好💔1.本地接口本地包gg.gg/00400 下载解压到根目录/0/》◎💔未修好💔本地接口clan://localhost/0/1◎♞♞💙💚/gaotianliuyun/gao/archive/refs/heads/master.zip【bd.png】《4.高天流云本地包gg.gg/00500 解压到根目录/00/gao-master/》◎固定链接，持续维护更新◎♞♞💛💚/gaotianliuyun/gao/commits/master/【rq.png】《🧡高天流云更新日期 Ⓖ》◎■◎♞♞💙💚/zhanghong1983/tvboxzy/archive/refs/heads/main.zip【bd.png】《6.张弘本地包gg.gg/00600 解压到根目录/00/tvboxzy-main/》◎固定链接，不怎么更新了◎♞♞💛💚/zhanghong1983/tvboxzy/commits/main/【rq.png】《🧡张弘更新日期 Ⓖ》◎■◎♞♞💙💚/PizazzGY/TVBox/archive/refs/heads/main.zip【bd.png】《7.潇洒GY本地包gg.gg/mmxmm 解压到根目录/00/TVBox-main/》◎固定链接，持续维护更新◎♞♞💛💚/PizazzGY/TVBox/commits/main/【rq.png】《🧡PizazzGY更新日期 Ⓖ》◎■◎♞♞http://饭太硬.top/tv【jk.png】《饭太硬接口http://gg.gg/448443》◎http://饭太硬.top/tv◎♞♞http://tv.nxog.top/index.html【jk.png】《欧歌 TVBox接口收集》◎■◎♞♞https://md-yd.github.io/yd/fm521.html【md.png】《🔥部分单&lrm;仓线路。》◎■◎\n\n\n2.md::https://mmxmm.lanzoue.com/b0d5kid8d##iori\n3.云星::https://wwc.lanzoub.com/b0erx68gf##4e93\n\n▶️云星::https://wwc.lanzoub.com/b0es81t8j##54jb\n▶️奇奇::https://qiqi2020.lanzouv.com/b09svqv1c\n▶️终南::https://wws.lanzouv.com/b03j4ulyh##999\n\n\n▶️FongMi::https://yoyodadada.lanzouw.com/b01emj0zc##4qnu【dc1.png】\n▶️FongMi.TV::https://yoyodadada.lanzouw.com/b01emj11e##g3r1【dc1.png】\n\n\n🎬PC-ZY新版::http://www.baidu.com?wd=https://md-yd.github.io/yd/zy.html【md.png】《🔥〔电脑版〕ZY-Player说明&源（与box系的源不通用）》◎请选择适配你系统的版本下载安装◎♞♞💙💚/Hiram-Wong/ZyPlayer/releases/download/v💜🖤/ZYPlayer-win-💜🖤-arm64.exe【ys.png】《win-💜🖤-arm64.exe》◎◎♞♞💙💚/Hiram-Wong/ZyPlayer/releases/download/v💜🖤/ZYPlayer-win-💜🖤-ia32.exe【ys.png】《win-💜🖤-ia32.exe》◎◎♞♞💙💚/Hiram-Wong/ZyPlayer/releases/download/v💜🖤/ZYPlayer-win-💜🖤-x64.exe【ys.png】《win-💜🖤-x64.exe》◎◎♞♞💙💚/Hiram-Wong/ZyPlayer/releases/download/v💜🖤/ZYPlayer-win-💜🖤.exe【ys.png】《win-💜🖤.exe》◎■◎♞♞💙💚/Hiram-Wong/ZyPlayer/releases/download/v3.2.3/ZYPlayer-win-3.2.3-win7-arm64.exe【ys.png】《旧 win7-3.2.3-arm64.exe》◎win7版官方不再打包了。◎♞♞💙💚/Hiram-Wong/ZyPlayer/releases/download/v3.2.3/ZYPlayer-win-3.2.3-win7-ia32.exe【ys.png】《旧 win7-3.2.3-ia32.exe》◎win7版官方不再打包了。◎♞♞💙💚/Hiram-Wong/ZyPlayer/releases/download/v3.2.3/ZYPlayer-win-3.2.3-win7-x64.exe【ys.png】《旧 win7-3.2.3-x64.exe》◎win7版官方不再打包了。◎♞♞💙💚/Hiram-Wong/ZyPlayer/releases/download/v3.2.3/ZYPlayer-win-3.2.3-win7.exe【ys.png】《旧 win7-3.2.3.exe》◎■◎♞♞💙💚/Hiram-Wong/ZyPlayer/releases/download/v💜🖤/ZYPlayer-linux-💜🖤-amd64.deb【ys.png】《linux-💜🖤-amd64.deb》◎◎♞♞💙💚/Hiram-Wong/ZyPlayer/releases/download/v💜🖤/ZYPlayer-linux-💜🖤-arm64.AppImage【ys.png】《linux-💜🖤-arm64.AppImage》◎◎♞♞💙💚/Hiram-Wong/ZyPlayer/releases/download/v💜🖤/ZYPlayer-linux-💜🖤-arm64.deb【ys.png】《linux-💜🖤-arm64.deb》◎◎♞♞💙💚/Hiram-Wong/ZyPlayer/releases/download/v💜🖤/ZYPlayer-linux-💜🖤-x86_64.AppImage【ys.png】《linux-💜🖤-x86_64.AppImage》◎■◎♞♞💙💚/Hiram-Wong/ZyPlayer/releases/download/v💜🖤/ZYPlayer-mac-💜🖤-arm64.dmg【ys.png】《mac-💜🖤-arm64.dmg》◎◎♞♞💙💚/Hiram-Wong/ZyPlayer/releases/download/v💜🖤/ZYPlayer-mac-💜🖤-universal.dmg【ys.png】《mac-💜🖤-universal.dmg》◎◎♞♞💙💚/Hiram-Wong/ZyPlayer/releases/download/v💜🖤/ZYPlayer-mac-💜🖤-x64.dmg【ys.png】《mac-💜🖤-x64.dmg》◎■◎\n\n\n\n🎬PC-ZY旧版::https://www.lanzoux.com/b04s6a3re##95px【ys.png】\n\n\n📺海阔视界::https://haikuo.lanzoui.com/u/GoldRiver\n\n\n//‼️423软件‼️\n❹影视软件::https://423down.lanzouv.com/b0f2x4syh\n❹TV盒子::https://423down.lanzouv.com/b0f1944aj\n\n大师兄影视::https://yoyodadada.lanzouw.com/b01caip6d##e7mc\n\n影视追剧TV::https://mrxuan.lanzoue.com/b0rbh57c##idk6\n\n",
    "sourceComment": "pic=1\n/*▔▔▔▔▔▔▔▔\n⬆︎设置图片样式\n0  红+\n1  粉++\n2  蓝++\n3  绿+  10\n4  绿齿轮  11  12\n5  绿字印章+\n6  红字印章+\n7  红字 黑白背景\n8  蓝字黑底（夜间）-\n9  卡其色 记事板-\nmd.24.5.1.\n▁▁▁▁▁▁▁▁*/\n\n\ngitpic=17\n/*▔▔▔▔▔▔▔▔\n⬆︎gitpic 设置图片镜像链接。\n——— Ⓖ github ——\t—\n1  raw.kkgithub.com\n2  github.moeyy.xyz\n3  mirror.ghproxy.com\n4  raw.cachefly.998111.xyz\n5  ghproxy.net\n6 521github.com\n7  slink.ltd\n8  gh.con.sh\n9  cors.isteed.cc\n10 hub.gitmirror.com\n11 sciproxy.com\n12 ghproxy.cc\n13 cf.ghproxy.cc\n14 gh.jiasu.in\n15 ghcy.eu.org\n16 raw.gitmirror.com\n17 gitee.com ✱\n▁▁▁▁▁▁▁▁*/\n\n\ndown=0\ngitdate=2\ngitlatest=5\n/*▔▔▔▔▔▔▔▔\n⬆︎down（0～20） 设置高天流云、张弘、潇洒GY本地包下载链接。\n⬆︎gitdate（1～4） 设置本地包查看日期的镜像链接(高天流云、张弘、潇洒GY) 。\n⬆︎gitlatest（1～10） 设置🎬PC-ZY新版(ZY-Player) 获取最新版本号。\n——— Ⓖ github ——\t—\n0  随机 ⬅︎ 仅down可设。若随机到失效链接，请刷新分类（再次随机）。\n1  521github.com\n2  dgithub.xyz\n3  kkgithub.com\n4  cors.isteed.cc\n5  gh.con.sh\n6  cf.ghproxy.cc\n7  mirror.ghproxy.com\n8  github.moeyy.xyz\n9  ghproxy.cc\n10 gh.jiasu.in\n11 slink.ltd\t\t\n12 gh.ddlc.top\t\t\n13 gh.h233.eu.org\n14 dl.ghpig.top\n15 hub.gitmirror.com\n16 sciproxy.com\n17 download.nuaa.cf\n18 download.scholar.rr.nu\n19 download.yzuu.cf\n20 ghproxy.net\t\n▁▁▁▁▁▁▁▁*/\n\n\n/*▔▔▔▔▔▔▔▔\n订阅源图标可自己复制链接替换\n（拉到顶部第三项，“图标”）\n★★ github 图标★★\nhttps://521github.com/md-yd/pic/raw/main/00rose/a003b.png\nhttps://raw.gitmirror.com/md-yd/pic/main/00rose/003.png\n★★gitee图标★★\nhttps://gitee.com/visita/yd/raw/master/00rose/a003b.png\nhttps://gitee.com/visita/yd/raw/master/00rose/003.png\n▁▁▁▁▁▁▁▁*/\n\n\n/*▔▔▔▔▔▔▔▔\nrss by.Thomas。  md小改&收集整理。\n\n小说交流群892966579\nA群637775313不加人。若群炸了查看此群群资料找新家。\n\n内容取自网络，仅作学习参考，请24小时内删除。找到感兴趣内容请去支持正版。\n▁▁▁▁▁▁▁▁*/\n\n\ngitpic=\ngitpic==1 ? \n`https://raw.kkgithub.com`:\ngitpic==2 ? \n`https://github.moeyy.xyz/https://raw.githubusercontent.com`:\ngitpic==3 ?\n`https://mirror.ghproxy.com/https://raw.githubusercontent.com`:\ngitpic==4 ? \n`https://raw.cachefly.998111.xyz`:\ngitpic==5 ?\n`https://ghproxy.net/https://raw.githubusercontent.com`:\ngitpic==6 ? \n`https://521github.com/extdomains/raw.githubusercontent.com` :\ngitpic==7 ? \n`https://slink.ltd/https://raw.githubusercontent.com` :\ngitpic==8 ? \n`https://gh.con.sh/https://raw.githubusercontent.com` :\ngitpic==9 ? \n`https://cors.isteed.cc/https://raw.githubusercontent.com` :\ngitpic==10 ? \n`https://hub.gitmirror.com/https://raw.githubusercontent.com` :\ngitpic==11 ?\n`https://sciproxy.com/https://raw.githubusercontent.com` :\ngitpic==12 ?\n`https://ghproxy.cc/https://raw.githubusercontent.com` :\ngitpic==13 ?\n`https://cf.ghproxy.cc/https://raw.githubusercontent.com` :\ngitpic==14 ?\n`https://gh.jiasu.in/https://raw.githubusercontent.com`:\ngitpic==15 ? \n`https://ghcy.eu.org/https://raw.githubusercontent.com`:\ngitpic==16 ? \n`https://raw.gitmirror.com`:\n//gitpic==17 ? \n`https://gitee.com/visita/yd/raw/master`;\n\n\ndown=\ndown==0? \nparseInt(Math.random()*20+1) : down;\n\ndown=\ndown==1 ? \n`https://521github.com`:\ndown==2 ? \n`https://dgithub.xyz`:\ndown==3 ? \n`https://kkgithub.com`:\ndown==4 ? \n`https://cors.isteed.cc/github.com`:\ndown==5 ? \n`https://gh.con.sh/https://github.com`:\ndown==6 ? \n`https://cf.ghproxy.cc/https://github.com`:\ndown==7 ? \n`https://mirror.ghproxy.com/https://github.com`:\ndown==8 ? \n`https://github.moeyy.xyz/https://github.com`:\ndown==9 ?\n`https://ghproxy.cc/https://github.com`:\ndown==10 ?\n`https://gh.jiasu.in/https://github.com`:\ndown==11 ? \n`https://slink.ltd/https://github.com`:\ndown==12 ? \n`https://gh.ddlc.top/https://github.com`:\ndown==13 ? \n`https://gh.h233.eu.org/https://github.com`:\ndown==14 ? \n`https://dl.ghpig.top/https://github.com`:\ndown==15 ? \n`https://hub.gitmirror.com/https://github.com`:\ndown==16 ?\n`https://sciproxy.com/github.com`:\ndown==17 ?\n`https://download.nuaa.cf`:\ndown==18 ?\n`https://download.scholar.rr.nu`:\ndown==19 ? \n`https://download.yzuu.cf`:\n//down==20 ? \n`https://ghproxy.net/https://github.com`;\n\n\ngitdate=\ngitdate==1 ? \n`https://521github.com`:\ngitdate==2 ? \n`https://dgithub.xyz`:\ngitdate==3 ? \n`https://kkgithub.com`:\n//gitdate==4 ? \n`https://cors.isteed.cc/github.com`;\n\n\ngitlatest=\ngitlatest==1 ? \n`https://521github.com`:\ngitlatest==2 ? \n`https://dgithub.xyz`:\ngitlatest==3 ? \n`https://kkgithub.com`:\ngitlatest==4 ? \n`https://cors.isteed.cc/github.com`:\ngitlatest==5 ? \n`https://gh.con.sh/https://github.com`:\ngitlatest==6 ? \n`https://cf.ghproxy.cc/https://github.com`:\ngitlatest==7 ? \n`https://mirror.ghproxy.com/https://github.com`:\ngitlatest==8 ? \n`https://github.moeyy.xyz/https://github.com`:\ngitlatest==9 ?\n`https://ghproxy.cc/https://github.com`:\n//gitlatest==10 ?\n`https://gh.jiasu.in/https://github.com`;",
    "sourceGroup": "-md-,R18",
    "sourceIcon": "https://gitee.com/visita/yd/raw/master/00rose/a003b.png##",
    "sourceName": "影视难受3",
    "sourceUrl": "https://www.lanzoux.com/#2024md3",
    "style": "body {\r\n    font-family: 'Roboto', sans-serif;\r\n    display: flex;\r\n    flex-direction: column;\r\n    height: 100vh;\r\n    margin: 5;\r\n    background-color: #F8F8F8;\r\n}\r\n\nmd1 {\n    color: #444444;\n    font-size: 2em; \r\n    margin: 40px 0;\n    font-weight: 400;\n    justify-content: center;\n    text-align: center;\r\n}\r\n\r\nmd2 {\r\n    color: #444444;\n    font-size: 1.4em; \n    margin-bottom: 40px;\n    line-height: 1.8;\n    font-weight: 400;\n    justify-content: center;\n    text-align: center;\r\n}\r\n\r\nmd3 {\n    color: #212121;\n    font-size: 1.6em; \r\n    margin: 10px 0;\n    font-weight: 400;\n    justify-content: center;\n    text-align: center;\r\n}\r\n\nmd4 {\n    font-size: 1.1em; \r\n}\n\r\nmd5 {\r\n    font-size: 1em; \n    color: #222222;\n    justify-content: center;\n    text-align: center;\r\n}\r\n\ntextarea {\n    width:98%;\r\n    height: auto;\r\n    min-height: 54px;\n    max-height: 500px;\r\n    overflow-y: auto;\n    border-radius:5px;\r\n    border: 1px solid #BDBDBD;\r\n}\r\n\r\n.button {\n    display: block; \r\n    margin-left: auto;\n    margin-right: auto;\r\n    padding: 6px 10px;\r\n    background-color: #FF5722;\r\n    border: none;\r\n    color: white;\r\n    cursor: pointer;\r\n    border-radius: 4px;\r\n    text-decoration: none;\r\n    margin-top: 1px;\r\n    font-size: 18px;\r\n    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);\r\n    transition: background-color 0.5s,\n    transform 0.4s;\r\n}\r\n\r\n.button:hover {\r\n    background-color: #FF5722;\r\n    transform: translateY(-2px);\r\n}\r\n\r\n.button:active {\r\n    box-shadow: 0 3px 5px rgba(0, 0, 0, 0.4);\r\n    transform: translateY(0);\r\n}\r\n\n\r\n"
  },
  {
    "articleStyle": 0,
    "contentBlacklist": "https://lupic.cdn.bcebos.com/,\nhttps://cpro.baidu.com/,\nhttps://eclick.baidu.com/,\nhttps://sofire.baidu.com/,\nhttps://analytics.woozooo.com/,\nhttps://statics.woozooo.com/,\nhttps://hm.baidu.com/,\nhttps://wwads.cn/code/,\nhttps://cdn.wwads.cn/,\nhttps://pagead2.googlesyndication.com,\nhttps://www.qlspx.com,\nhttps://sdk.51.la,\nhttps://abk.lingsiqiwu.com,\n\nhttps://googleads4.g.doubleclick.net,\nhttps://static.googleadsserving.cn,\nhttps://s0.2mdn.net,\nhttps://tpc.googlesyndication.com,\nhttps://www.googletagservices.com,\nhttps://cm.g.doubleclick.net,,\nhttps://star.jsyunmy.com,\nhttps://p.qlogo.cn,\nhttps://partner.googleadservices.com,",
    "customOrder": -10098446,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "{\"User-Agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36\"}",
    "injectJs": "// 是蓝奏云链接时\nif(/lanzou/.test(window.location.href)){\nArray.from(document.querySelectorAll(`\n\t.mt2:last-of-type,.appreport,.n_login,\n\tdiv[style*=\"color: #8a6d3b;\"]\n`),$=>$.style.display='none');\n}\n\n\n//选择需要删除的标签，以,分隔\nitems = document.querySelectorAll(`\n.stealth-scroll,\n\n#evaluate-box,\n.project-operation,\n.recommend-footer,\n\n.project-desc2,\n.side-widget,\n\n.header_nav,\n.under\n`)\n\n//把选择的html值改成空\nArray.from(items,(item)=>{\n\titem.innerHTML = ``\n\titem.style.display = `#m-splitter`\n})",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": false,
    "ruleArticles": "<js>\ntry {\n    $ = JSON.parse(src).text;\n    if ($ == \"no file\") $ = [];\n} \n\n//💙catch。。。\ncatch (err) {\n\n    //💚💚网站整合\n     if (baseUrl.match(/www\\.baidu\\.com\\?wd=/)) {\n        $ = [];\n        baseUrl.replace(/^.*?wd=\\s*/,'').replace(/\\,/g,',{\"headers\":{\"User-Agent\": \"Mozilla/5.0 (Windows; U; Windows NT 5.2;. en-US) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36 Quark/4.6.2.161\"}}').\n        split(/\\s*♞♞\\s*/).map($$ => $.push({\n            name_all: $$.match(/.*?《(.*?)》/)[1],\n            time: $$.match(/◎.*?◎/) ? $$.match(/.*?◎(.*?)◎/)[1].replace(/■/,'▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁').replace(/🦁/,'｜编程狮｜w3cschool.cn｜') : \"\",\n            uri1: $$.match(/【.*?】/) ? $$.match(/.*?【(.*?)】/)[1] : \"\",\n            url: $$.match(/^([^【《◎]*),?/)[1]\n        }));\n    }\n    //💚💚0 网站整合结束\n\n\n    //💚💚蓝奏云\n    else {\n\n        //🧡🧡🧡蓝奏云非分组链接\n        if (String(java.getString('text.侵权\\/违法投诉@href')).length) {\n            $ = [{\n                name_all: String(java.getString('class.md@textNodes')),\n                icon: String(java.getString('class.md@textNodes')).replace(/.*\\./, ''),\n                size: String(java.getString('class.mtt@text')).replace(/\\( /, '').replace(/ \\)/, ''),\n                time: String(java.getString('class.mf@textNodes')).replace(/.*\\n/, ''),\n                uri: baseUrl.replace(/^(.+com).*\\/(.+)$/, '$2'),\n                url: baseUrl.replace(/^(.+com).*\\/(.+)$/, '$1/tp/$2')\n            }]\n        }\n        //🧡🧡🧡蓝奏云非分组结束\n\n\n        //🧡🧡🧡取消分享\n        else if (String(java.getString('.off@text')).match(/取消分享/)) {\n            $ = [{\n                name_all: java.getString('.off@text'),\n                time: baseUrl.replace(/[#\\?].*/g, ''),\n                url: baseUrl.replace(/[#\\?].*/g, '')\n            }]\n        }\n        //🧡🧡🧡取消结束\n\n\n        //🧡🧡🧡蓝奏云分组链接\n        else {\n            json = [];\n            name = java.getString('.user-radio@text||title@text')\n            java.getElements('#folder .mlink').forEach(a => {java.setContent(a);\n      json.push({\n      \t    name_all: java.getString('.filename@textNodes'),\n          url: java.getString('a@href'),\n          time: '🗂️ folder　📑 ' + (String(java.getString('.filesize@text')) || name) })\n    })\njava.setContent(src);\n\n\n            mat = baseUrl.match(/^(.*?\\.com)[^##]*\\/(.+)$/)\n            url = mat[1]\n            uri = mat[2]\n\n            function $(reg) {\n                return uri.match(reg) ? true : false}\n\n\n            //get【pwd】(链接提取码)\n            pwd =\n$(/##[^【]/) ? uri.match(/##(.*?)(【|$)/)[1] :\"\";\n\n\n\nhead = {method: \"POST\", params: {uri: uri,\nimg: $(/【[^】]/)?uri.match(/【([^】]+)/)[1] :\"\"}}\n\n\n            //get 【body】\n            eval(src.match(/var pgs;([\\s\\S]*?pgs.+;)/)[1]);\n            eval('$=' + src.match(/data :([\\s\\S]*?\\})/)[1]);\n            head.body = Object.keys($).map(key => key + \"=\" + $[key]).join('&');\n\n\n            //补全【url】\nurl += \"/filemoreajax.php,\" + JSON.stringify(head);\n\n            //ajax\n            $ = JSON.parse(java.ajax(url));\n            $ = json.concat($.text != 0 ? $.text :\n             //密码错误提示\n             [{name_all: $.info,\n               time: uri.replace(/[#\\?].*/, '') + $.info,\n               url: baseUrl.replace(/[#\\?].*/, '') }]\n                                        )\n            baseUrl = url\n        }\n        //🧡🧡🧡蓝奏分组结束\n\n    }\n    //💚💚蓝奏结束\n\n}\n//💙catch(err)结束\n\njava.put('url', baseUrl);\nJSON.stringify($);\n</js>$.[*]",
    "ruleDescription": "❗️0、0、开始❗️\n❗️0、0、结束❗️\n\n\n\n\n{{}}@js:\nurl=String(java.getString('$.url')).trim();\n\n\n\n//【..导入】\nif(url.match(/^..导入|^📥/)){\nuri=url.replace(/导入.*/,'');\nurl=url.replace(/.*导入|📥/,'');\npath =\n(uri==\"一键\"||uri==\"自动\"||url==\"📥.*\")?\"auto\":\nuri==\"书源\"?\"bookSource\":\nuri==\"订阅\"?\"rssSource\":\nuri==\"净化\"?\"replaceRule\":\n\"\";\nurl=url.match(/^legado\\:\\/\\//)?url:`legado://import/${path}?src=`+url;\nurl = String(url).replace(/^(.*?src=)(.*)/,(mat, $1, $2)=>{\n  return $1+encodeURIComponent($2);\n});\n\n\nresult=`<title>{{$.name_all}}</title>\n<iframe src=\"${url}\" hidden></iframe>\n<br>\n<md3><b>{{$.name_all}}</b></md3>\n\n<br>\n<br><md4>\n　　❤️导入不成功？多导入几次试试。<br>\n<br></md4>\n\n<a href=\"${url}\" class=\"button\">◎ 一键导入 ◎</a>\n\n<br>\n<br><md4>\n　资源链接，点击复制▼</md4>\n<center><textarea id=\"copy\" onclick=\"copy()\">${decodeURIComponent(String(url).replace(/legado.*?src=/,''))}</textarea>\n{{$.time}}</center>\n<br>\n<md5>\nrssSource by.Thomas.　　 md轻改&收集整理<br>\n资源取自网络，仅作参考试用，请24小时内删除<br></md5>\n\n<script>\nfunction copy(){\n\tdocument.getElementById('copy').select()\n\tdocument.execCommand('copy')\n\talert(\"复制成功\")\n}\n</script>`}\n\n\n//【自定义html】\nelse if(url.match(/\\d+、\\d+、/)){\nreg=new RegExp('❗️'+url+'开始❗️\\\\s*([\\\\s\\\\S]+?)\\\\s*❗️'+url+'结束❗️');\n//默认禁止放大缩小\nresult=result.match(reg)?\n'<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no\">'+result.match(reg)[1]:'<br>未找到对应html'\n}\n\nelse{result=''}",
    "ruleImage": "@js:\nn=`{{$.name_all}}` ;\nuri1=`{{$.uri1}}` ;\nsrc =\n\turi1 ? uri1 :\n\n//文件名判断使用对应图标✱②\nbaseUrl.match(/【(.*?)[】$]/) ? baseUrl.match(/【(.*?)(】|$)/)[1] :\n\nbaseUrl.match(/423down/)? \"423down.png\" :\nbaseUrl.match(/lxapk/)? \"lxapk.png\" :\nbaseUrl.match(/yoyodadada/)? \"yoyo.png\" :\n\n!n.match(/\\.\\w\\w\\w$/)? \"0.png\" :\n\nn.match(/迷迭|md/i)? \"md.png\" :\nn.match(/单仓|215613905|taka|q版/)? \"dc1.png\" :\nn.match(/可视|影视仓|影音壳子|多仓/)? \"dc2.png\" :\nn.match(/本地/)? \"bd.png\" :\nn.match(/海阔|[^青钢承]影|视|剧|直播|tv[^b]/i)? \"ys.png\" :\n\nn.match(/\\.apk/g)? \"apk.png\" :\nn.match(/\\.zip|\\.7z|\\.rar/g)? \"zip.png\" :\n\n//为空时\n`lan.png` ;\n\n\n//md图片简写补全。\n\neval(String(source.sourceComment));\n\npic= \npic==`0` ? `/md-yd/pic@main/00rose/${src}`:\npic==`1` ? `/md-yd/pic@main/01pink/${src}` :\npic==`2` ? `/md-yd/pic@main/02blue/${src}` :\npic==`3` ? `/md-yd/pic@main/03green/${src}` :\npic==`4` ? `/md-yd/pic@main/04gear/${src}` :\npic==`5` ? `/md-yd/pic@main/05green/${src}` :\npic==`6` ? `/md-yd/pic@main/06red/${src}`:\npic==`7` ? `/md-yd/pic@main/07blackred/${src}` :\npic==`8` ? `/md-yd/pic@main/08black/${src}` :\npic==`9` ? `/md-yd/pic@main/09note/${src}` :\n\npic==`10`?`/md-yd/pic@main/03green2/${src}`:\npic==`11`?`/md-yd/pic@main/04gear2/${src}` :\n//pic==`12`?\n`/md-yd/pic@main/04gear3/${src}`;\n\n\npic=gitpic+pic;\n\npic= \nString (gitpic).match(/gitee/) ? \nString(pic).replace(/\\/md\\-yd\\/pic\\@main/,''):\nString (gitpic).match(/\\/gh$/) ? \n pic : \nString (pic).replace(/\\@/,'/');\n\nsrc=src.match(/^http/) ? src : pic ;\nsrc",
    "ruleLink": "$.id@js:\nurl=`{{$.url||$.sourceUrl}}`\n\nif(result){url+=`{{$.id}}`;\n}",
    "ruleNextPage": "@js:\ntry {\n    url = String(java.get('url'));\n    url = url.replace(/(pg=)(\\d+)/, (mat, $1, $2) => {\n        return $1 + (~~$2 + 1)\n    }).replace(url, '');\n} catch (err) {\n    url = \"\"\n}\nurl",
    "rulePubDate": "💾 {{$.icon}}　📥 {{$.size}}　⏱️ {{$.time}}\n##💾 　📥 　⏱️\\s*",
    "ruleTitle": "$.name_all",
    "singleUrl": false,
    "sortUrl": "MD.4::https://mmxmm.lanzoue.com/b0d6c5kkh##iori\n\n不似苏::https://busisu.lanzoub.com/s/yixie##777\n\n🅨酷我音乐::https://yoyodadada.lanzouw.com/b07ryhlg\n🅨PC-酷我音乐::https://yoyodadada.lanzouw.com/b01ay4hkh\n\n\n//‼️423软件‼️\n④系统辅助::https://423down.lanzouv.com/b0f1944od\n④视频图像::https://423down.lanzouv.com/b0f1czyjc\n④Xposed框架::https://423down.lanzouv.com/b0f1fns7a\n④资讯软件::https://423down.lanzouv.com/b0f19mgrg\n④酷安mod::https://423down.lanzouv.com/b0f2uzq2b\n④WiFi万能钥匙::https://423down.lanzouv.com/b0f1f1t5c\n④抖音mod::https://423down.lanzouv.com/b0f199a5a\n④百度地图::https://423down.lanzouv.com/b0f1f64re\n④浏览器::https://423down.lanzouv.com/b0f24u4de\n\n\n//乐享/黑鹰\n🅻太极框架::https://lxapk.lanzouw.com/b05s8e7cf##e8sx\n\n\n🅨1DM::https://yoyodadada.lanzouw.com/b07q5ehe\n🅨PC-IDM::https://yoyodadada.lanzouw.com/b01c4az3g##4v3k\n🅨ADM下载::https://yoyodadada.lanzouw.com/b07pt0kb\n\n🅨小鸡模拟器::https://yoyodadada.lanzouw.com/b01d0c7uj##7j31【yx.png】\n🅨海星模拟器::https://yoyodadada.lanzouw.com/b07psppa##【yx.png】\n\n🅨百度输入法::https://yoyodadada.lanzouw.com/b01byu8bg\n\n🅨AdGuard::https://yoyodadada.lanzouw.com/b01dqpheh##5lr9\n\n\n//yoyo\n🅨PC激活工具::https://yoyodadada.lanzouw.com/b01by283a\n🅨PC驱动精灵::https://yoyodadada.lanzouw.com/b01bwkyqf\n🅨PC硬件检测::https://yoyodadada.lanzouw.com/b01bwkyod\n",
    "sourceComment": "pic=2\n/*▔▔▔▔▔▔▔▔\n⬆︎设置图片样式\n0  红+\n1  粉++\n2  蓝++\n3  绿+  10\n4  绿齿轮  11  12\n5  绿字印章+\n6  红字印章+\n7  红字 黑白背景\n8  蓝字黑底（夜间）-\n9  卡其色 记事板-\n▁▁▁▁▁▁▁▁*/\n\n\ngitpic=17\n/*▔▔▔▔▔▔▔▔\n⬆︎gitpic 设置图片镜像链接。\n——— Ⓖ github ——\t—\n1  raw.kkgithub.com\n2  github.moeyy.xyz\n3  mirror.ghproxy.com\n4  raw.cachefly.998111.xyz\n5  ghproxy.net\n6 521github.com\n7  slink.ltd\n8  gh.con.sh\n9  cors.isteed.cc\n10 hub.gitmirror.com\n11 sciproxy.com\n12 ghproxy.cc\n13 cf.ghproxy.cc\n14 gh.jiasu.in\n15 ghcy.eu.org\n16 raw.gitmirror.com\n17 gitee.com ✱\n▁▁▁▁▁▁▁▁*/\n\n\n/*▔▔▔▔▔▔▔▔\n订阅源图标可自己复制链接替换\n（拉到顶部第三项）\n★★ github 图标★★\nhttps://521github.com/md-yd/pic/raw/main/00rose/a004.png\nhttps://521github.com/md-yd/pic/raw/main/00rose/004.png\n★★gitee图标★★\nhttps://gitee.com/visita/yd/raw/master/00rose/a004.png\nhttps://gitee.com/visita/yd/raw/master/00rose/004.png\n▁▁▁▁▁▁▁▁*/\n\n\n/*▔▔▔▔▔▔▔▔\nrss by.Thomas。  md小改&收集整理。\n\n小说交流群892966579\nA群637775313不加人。若群炸了查看此群群资料找新家。\n\n内容取自网络，仅作学习参考，请24小时内删除。找到感兴趣内容请去支持正版。\n\nxbak.PC-挂机摸鱼修仙大陆::https://wwpr.lanzout.com/b0f4v9ndg##ehxj\n▁▁▁▁▁▁▁▁*/\n\n\ngitpic=\ngitpic==1 ? \n`https://raw.kkgithub.com`:\ngitpic==2 ? \n`https://github.moeyy.xyz/https://raw.githubusercontent.com`:\ngitpic==3 ?\n`https://mirror.ghproxy.com/https://raw.githubusercontent.com`:\ngitpic==4 ? \n`https://raw.cachefly.998111.xyz`:\ngitpic==5 ?\n`https://ghproxy.net/https://raw.githubusercontent.com`:\ngitpic==6 ? \n`https://521github.com/extdomains/raw.githubusercontent.com` :\ngitpic==7 ? \n`https://slink.ltd/https://raw.githubusercontent.com` :\ngitpic==8 ? \n`https://gh.con.sh/https://raw.githubusercontent.com` :\ngitpic==9 ? \n`https://cors.isteed.cc/https://raw.githubusercontent.com` :\ngitpic==10 ? \n`https://hub.gitmirror.com/https://raw.githubusercontent.com` :\ngitpic==11 ?\n`https://sciproxy.com/https://raw.githubusercontent.com` :\ngitpic==12 ?\n`https://ghproxy.cc/https://raw.githubusercontent.com` :\ngitpic==13 ?\n`https://cf.ghproxy.cc/https://raw.githubusercontent.com` :\ngitpic==14 ?\n`https://gh.jiasu.in/https://raw.githubusercontent.com`:\ngitpic==15 ? \n`https://ghcy.eu.org/https://raw.githubusercontent.com`:\ngitpic==16 ? \n`https://raw.gitmirror.com`:\n//gitpic==17 ? \n`https://gitee.com/visita/yd/raw/master`;",
    "sourceGroup": "-md-,R18",
    "sourceIcon": "https://gitee.com/visita/yd/raw/master/00rose/a004b.png#",
    "sourceName": "软件难受4",
    "sourceUrl": "https://www.lanzoux.com/#2024md4",
    "style": "body {\r\n    font-family: 'Roboto', sans-serif;\r\n    display: flex;\r\n    flex-direction: column;\r\n    height: 100vh;\r\n    margin: 5;\r\n    background-color: #F8F8F8;\r\n}\r\n\nmd1 {\n    color: #444444;\n    font-size: 2em; \r\n    margin: 40px 0;\n    font-weight: 400;\n    justify-content: center;\n    text-align: center;\r\n}\r\n\r\nmd2 {\r\n    color: #444444;\n    font-size: 1.4em; \n    margin-bottom: 40px;\n    line-height: 1.8;\n    font-weight: 400;\n    justify-content: center;\n    text-align: center;\r\n}\r\n\r\nmd3 {\n    color: #212121;\n    font-size: 1.6em; \r\n    margin: 10px 0;\n    font-weight: 400;\n    justify-content: center;\n    text-align: center;\r\n}\r\n\nmd4 {\n    font-size: 1.1em; \r\n}\n\r\nmd5 {\r\n    font-size: 1em; \n    color: #222222;\n    justify-content: center;\n    text-align: center;\r\n}\r\n\ntextarea {\n    width:98%;\r\n    height: auto;\r\n    min-height: 54px;\n    max-height: 500px;\r\n    overflow-y: auto;\n    border-radius:5px;\r\n    border: 1px solid #BDBDBD;\r\n}\r\n\r\n.button {\n    display: block; \r\n    margin-left: auto;\n    margin-right: auto;\r\n    padding: 6px 10px;\r\n    background-color: #FF5722;\r\n    border: none;\r\n    color: white;\r\n    cursor: pointer;\r\n    border-radius: 4px;\r\n    text-decoration: none;\r\n    margin-top: 1px;\r\n    font-size: 18px;\r\n    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);\r\n    transition: background-color 0.5s,\n    transform 0.4s;\r\n}\r\n\r\n.button:hover {\r\n    background-color: #FF5722;\r\n    transform: translateY(-2px);\r\n}\r\n\r\n.button:active {\r\n    box-shadow: 0 3px 5px rgba(0, 0, 0, 0.4);\r\n    transform: translateY(0);\r\n}\r\n\n\r\n.next-link a[title] {\n\r\n    background-color: #FF5722;\r\n    \r\n    \r\n    \r\n    font-size: 18px;\r\n}\r\n\r\n.previous-link a[title] {\n    \r\n    background-color: #FF5722;\r\n    \r\n    \r\n    \r\n    font-size: 18px;\r\n}"
  },
  {
    "articleStyle": 0,
    "contentBlacklist": "https://statics.woozooo.com",
    "customOrder": -10098445,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "{\"User-Agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36\"}",
    "injectJs": "// 是蓝奏云链接时\nif(/lanzou/.test(window.location.href)){\nArray.from(document.querySelectorAll(`\n\t.mt2:last-of-type,.appreport,.n_login,\n\tdiv[style*=\"color: #8a6d3b;\"]\n`),$=>$.style.display='none');\n}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "<js>\ntry {\n    $ = JSON.parse(src).text;\n    if ($ == \"no file\") $ = [];\n} \n\n//💙catch。。。\ncatch (err) {\n\n    //💚💚网站整合\n     if (baseUrl.match(/www\\.baidu\\.com\\?wd=/)) {\n        $ = [];\n        baseUrl.replace(/^.*?wd=\\s*/,'').replace(/\\,/g,',{\"headers\":{\"User-Agent\": \"Mozilla/5.0 (Windows; U; Windows NT 5.2;. en-US) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36 Quark/4.6.2.161\"}}').\n        split(/\\s*♞♞\\s*/).map($$ => $.push({\n            name_all: $$.match(/.*?《(.*?)》/)[1],\n            time: $$.match(/◎.*?◎/) ? $$.match(/.*?◎(.*?)◎/)[1] : \"\",\n            uri1: $$.match(/【.*?】/) ? $$.match(/.*?【(.*?)】/)[1] : \"https://agit.ai/butterfly/yd/raw/branch/yd/pic/yoyoda.jpg\",\n            url: $$.match(/^([^【《◎]*),?/)[1]\n        }));\n    }\n    //💚💚0 网站整合结束\n\n\n    //💚💚蓝奏云\n    else {\n\n        //🧡🧡🧡蓝奏云非分组链接\n        if (String(java.getString('text.举报文件@href')).length) {\n            $ = [{\n                name_all: String(java.getString('class.md@textNodes')),\n                icon: String(java.getString('class.md@textNodes')).replace(/.*\\./, ''),\n                size: String(java.getString('class.mtt@text')).replace(/\\( /, '').replace(/ \\)/, ''),\n                time: String(java.getString('class.mf@textNodes')).replace(/.*\\n/, ''),\n                uri: baseUrl.replace(/^(.+com).*\\/(.+)$/, '$2'),\n                url: baseUrl.replace(/^(.+com).*\\/(.+)$/, '$1/tp/$2')\n            }]\n        }\n        //🧡🧡🧡蓝奏云非分组结束\n\n\n        //🧡🧡🧡取消分享\n        else if (String(java.getString('.off@text')).match(/取消分享/)) {\n            $ = [{\n                name_all: java.getString('.off@text'),\n                time: baseUrl.replace(/[#\\?].*/g, ''),\n                url: baseUrl.replace(/[#\\?].*/g, '')\n            }]\n        }\n        //🧡🧡🧡取消结束\n\n\n        //🧡🧡🧡蓝奏云分组链接\n        else {\n            json = [];\n            name = java.getString('.user-radio@text||title@text')\n            java.getElements('#folder .mlink').forEach(a => {java.setContent(a);\n      json.push({\n      \t    name_all: java.getString('.filename@textNodes'),\n          url: java.getString('a@href'),\n          time: '🗂️ folder　📑 ' + (String(java.getString('.filesize@text')) || name) })\n    })\njava.setContent(src);\n\n\n            mat = baseUrl.match(/^(.*?\\.com)[^##]*\\/(.+)$/)\n            url = mat[1]\n            uri = mat[2]\n\n            function $(reg) {\n                return uri.match(reg) ? true : false}\n\n\n            //get【pwd】(链接提取码)\n            pwd =\n$(/##[^【]/) ? uri.match(/##(.*?)(【|$)/)[1] :\"\";\n\n\n\nhead = {method: \"POST\", params: {uri: uri,\nimg: $(/【[^】]/)?uri.match(/【([^】]+)/)[1] :\"\"}}\n\n\n            //get 【body】\n            eval(src.match(/var pgs;([\\s\\S]*?pgs.+;)/)[1]);\n            eval('$=' + src.match(/data :([\\s\\S]*?\\})/)[1]);\n            head.body = Object.keys($).map(key => key + \"=\" + $[key]).join('&');\n\n\n            //补全【url】\nurl += \"/filemoreajax.php,\" + JSON.stringify(head);\n\n            //ajax\n            $ = JSON.parse(java.ajax(url));\n            $ = json.concat($.text != 0 ? $.text :\n             //密码错误提示\n             [{name_all: $.info,\n               time: uri.replace(/[#\\?].*/, '') + $.info,\n               url: baseUrl.replace(/[#\\?].*/, '') }]\n                                        )\n            baseUrl = url\n        }\n        //🧡🧡🧡蓝奏分组结束\n\n    }\n    //💚💚蓝奏结束\n\n}\n//💙catch(err)结束\n\njava.put('url', baseUrl);\nJSON.stringify($);\n</js>$.[*]",
    "ruleImage": "@js:\nn=`{{$.name_all}}` ;\nuri1=`{{$.uri1}}` ;\nsrc =uri1 ? uri1 :\n\nsrc=\n//文件名判断使用对应图标\n!n.match(/\\.\\w\\w\\w$/)? \"0.png\" :\n//文件名判断apk图标\nn.match(/apk/)? \"apk.png\" :\n//蓝奏云盘设定的图片or为空时\nbaseUrl.match(/【[^】$]/)? baseUrl.match(/【(.*?)(】|$)/)[1] :\n`yoyo.png`;\n\n\n//md图片简写补全。\n\neval(String(source.sourceComment));\n\npic= \npic==`0` ? `/md-yd/pic@main/00rose/${src}`:\npic==`1` ? `/md-yd/pic@main/01pink/${src}` :\npic==`2` ? `/md-yd/pic@main/02blue/${src}` :\npic==`3` ? `/md-yd/pic@main/03green/${src}` :\npic==`4` ? `/md-yd/pic@main/04gear/${src}` :\npic==`5` ? `/md-yd/pic@main/05green/${src}` :\npic==`6` ? `/md-yd/pic@main/06red/${src}`:\npic==`7` ? `/md-yd/pic@main/07blackred/${src}` :\npic==`8` ? `/md-yd/pic@main/08black/${src}` :\npic==`9` ? `/md-yd/pic@main/09note/${src}` :\n\npic==`10`?`/md-yd/pic@main/03green2/${src}`:\npic==`11`?`/md-yd/pic@main/04gear2/${src}` :\n//pic==`12`?\n`/md-yd/pic@main/04gear3/${src}`;\n\n\npic=gitpic+pic;\n\npic= \nString (gitpic).match(/gitee/) ? \nString(pic).replace(/\\/md\\-yd\\/pic\\@main/,''):\nString (gitpic).match(/\\/gh$/) ? \n pic : \nString (pic).replace(/\\@/,'/');\n\nsrc=src.match(/^http/) ? src : pic ;\nsrc",
    "ruleLink": "$.id@js:\nurl=`{{$.url}}`;\nif(result)url+=`/tp/{{$.id}}`;\nurl",
    "ruleNextPage": "@js:\ntry {\n    url = String(java.get('url'));\n    url = url.replace(/(pg=)(\\d+)/, (mat, $1, $2) => {\n        return $1 + (~~$2 + 1)\n    }).replace(url, '');\n} catch (err) {\n    url = \"\"\n}\nurl",
    "rulePubDate": "💾 {{$.icon}}　📥 {{$.size}}　⏱️ {{$.time}}\n##💾 　📥 　⏱️\\s*",
    "ruleTitle": "$.name_all",
    "singleUrl": false,
    "sortUrl": "@js:\njson = [];\n\neval(String(source.sourceComment));\n\nString(java.ajax(list)).replace(/.*超过100.*/g,\"\")\n.replace(/([^：])(http)/g,\"$1：$2\")\n    .split(/\\s*##\\s*【\\s*/).map(text => {\n        [sortName, sortList] = text.split(/】/);\n        if (sortList) {\n            list = [];\n            String(sortList).trim()\n                .split(/\\s*\\n\\s*/).map(text => {\n                    [name, url] = text.split(/\\s*：\\s*/);\n                    String(url).trim()\n                        .split(/\\s*；\\s*/).map((url, i) => {\n                            url = String(url).replace(/\\s*#.*?密码\\:\\s*/, '#\\#');\n                            //if (i) i = \"_\" + i;\n                            //else i = \"\";\n       //json.push(name+i+'::'+url);\n      json.push(name+'::'+url);\n                        });\n                });\n\n        }\n    });\n\"❤️yoyo主盘::https://yoyodadada.lanzouw.com/u/yoyodadada\\nℹ️README::http://www.baidu.com?wd=https://521github.com/yoyodadada/haoruanfenxiang/raw/master/README.md【yoyo.png】《自用‼️请勿传播‼️感谢参与yoyodadada项目的大佬们‼️》◎▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃◎♞♞https://521github.com/yoyodadada/haoruanfenxiang/raw/master/List.md#【yoyo.png】《➡︎ 软件列表 ⬅︎    右边软件从a到z排序》◎▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃◎\\n\"+ \njson.join('\\n');",
    "sourceComment": "pic=8\n/*▔▔▔▔▔▔▔▔\n⬆︎设置图片样式\n0  红+\n1  粉++\n2  蓝++\n3  绿+  10\n4  绿齿轮  11  12\n5  绿字印章+\n6  红字印章+\n7  红字 黑白背景\n8  蓝字黑底（夜间）-\n9  卡其色 记事板-\n▁▁▁▁▁▁▁▁*/\n\n\ngitpic=17\ngitsy=0\n/*▔▔▔▔▔▔▔▔\n⬆︎gitpic（1-17）设置图片镜像链接。\n⬆︎gitsy（0-16）设置yoyo软件列表链接。\n——— Ⓖ github ——\t—\n0  随机 ⬅︎ 仅gitsy可设。若随机到失效镜像，请刷新分类，或自己设置镜像。\n1  raw.kkgithub.com\n2  github.moeyy.xyz\n3  mirror.ghproxy.com\n4  raw.cachefly.998111.xyz\n5  ghproxy.net\n6 521github.com\n7  slink.ltd\n8  gh.con.sh\n9  cors.isteed.cc\n10 hub.gitmirror.com\n11 sciproxy.com\n12 ghproxy.cc\n13 cf.ghproxy.cc\n14 gh.jiasu.in\n15 ghcy.eu.org\n16 raw.gitmirror.com\n17 gitee.com ⬅︎ 仅gitpic可设\n▁▁▁▁▁▁▁▁*/\n\n\n/*▔▔▔▔▔▔▔▔\n订阅源图标可自己复制链接替换\n（拉到顶部第三项）\n★★ github 图标★★\nhttps://521github.com/md-yd/pic/raw/main/00rose/0purple.jpg\nhttps://521github.com/md-yd/pic/raw/main/00rose/004.png\n★★gitee图标★★\nhttps://gitee.com/visita/yd/raw/master/00rose/0purple.jpg\nhttps://gitee.com/visita/yd/raw/master/00rose/004.png\n▁▁▁▁▁▁▁▁*/\n\n\n/*▔▔▔▔▔▔▔▔\n‼️自用‼️请勿传播\n\n‼️感谢参与yoyodadada项目的大佬们\n\n‼️此订阅资源源自yoyodadada的项目。\nhttps://521github.com/extdomains/raw.githubusercontent.com/yoyodadada/haoruanfenxiang/master/List.md\n\nhttps://github.com/yoyodadada/haoruanfenxiang/raw/master/List.md\n\nhttps://yoyodadada.github.io/haoruanfenxiang/List.md\n\nhttps://yoyodadada.github.io/haoruanfenxiang/README.md\n\n‼️里面夹杂有123云盘，及其他盘，不会弄啦，暂时可用的只有难受盘。如有需要的请使用浏览器浏览操作。\n▁▁▁▁▁▁▁▁*/\n\n\n/*▔▔▔▔▔▔▔▔\nrss by.Thomas。  md小改&收集整理。\n\n小说交流群892966579\nA群637775313不加人。若群炸了查看此群群资料找新家。\n\n内容取自网络，仅作学习参考，请24小时内删除。找到感兴趣内容请去支持正版。\n▁▁▁▁▁▁▁▁*/\n\n\ngitpic=\ngitpic==1 ? \n`https://raw.kkgithub.com`:\ngitpic==2 ? \n`https://github.moeyy.xyz/https://raw.githubusercontent.com`:\ngitpic==3 ?\n`https://mirror.ghproxy.com/https://raw.githubusercontent.com`:\ngitpic==4 ? \n`https://raw.cachefly.998111.xyz`:\ngitpic==5 ?\n`https://ghproxy.net/https://raw.githubusercontent.com`:\ngitpic==6 ? \n`https://521github.com/extdomains/raw.githubusercontent.com` :\ngitpic==7 ? \n`https://slink.ltd/https://raw.githubusercontent.com` :\ngitpic==8 ? \n`https://gh.con.sh/https://raw.githubusercontent.com` :\ngitpic==9 ? \n`https://cors.isteed.cc/https://raw.githubusercontent.com` :\ngitpic==10 ? \n`https://hub.gitmirror.com/https://raw.githubusercontent.com` :\ngitpic==11 ?\n`https://sciproxy.com/https://raw.githubusercontent.com` :\ngitpic==12 ?\n`https://ghproxy.cc/https://raw.githubusercontent.com` :\ngitpic==13 ?\n`https://cf.ghproxy.cc/https://raw.githubusercontent.com` :\ngitpic==14 ?\n`https://gh.jiasu.in/https://raw.githubusercontent.com`:\ngitpic==15 ? \n`https://ghcy.eu.org/https://raw.githubusercontent.com`:\ngitpic==16 ? \n`https://raw.gitmirror.com`:\n//gitpic==17 ? \n`https://gitee.com/visita/yd/raw/master`;\n\n\ngitsy=\ngitsy==0? \nparseInt(Math.random()*16+1) : gitsy;\n\ngitsy=\ngitsy==1 ? \n`https://raw.kkgithub.com`:\ngitsy==2 ? \n`https://github.moeyy.xyz/https://raw.githubusercontent.com`:\ngitsy==3 ?\n`https://mirror.ghproxy.com/https://raw.githubusercontent.com`:\ngitsy==4 ? \n`https://raw.cachefly.998111.xyz`:\ngitsy==5 ?\n`https://ghproxy.net/https://raw.githubusercontent.com`:\ngitsy==6 ? \n`https://521github.com/extdomains/raw.githubusercontent.com` :\ngitsy==7 ? \n`https://slink.ltd/https://raw.githubusercontent.com` :\ngitsy==8 ? \n`https://gh.con.sh/https://raw.githubusercontent.com` :\ngitsy==9 ? \n`https://cors.isteed.cc/https://raw.githubusercontent.com` :\ngitsy==10 ? \n`https://hub.gitmirror.com/https://raw.githubusercontent.com` :\ngitsy==11 ?\n`https://sciproxy.com/https://raw.githubusercontent.com` :\ngitsy==12 ?\n`https://ghproxy.cc/https://raw.githubusercontent.com` :\ngitsy==13 ?\n`https://cf.ghproxy.cc/https://raw.githubusercontent.com` :\ngitsy==14 ?\n`https://gh.jiasu.in/https://raw.githubusercontent.com`:\ngitsy==15 ? \n`https://ghcy.eu.org/https://raw.githubusercontent.com`:\n//gitsy==16 ? \n`https://raw.gitmirror.com`;\n\n\nlist=gitsy+`/yoyodadada/haoruanfenxiang@master/List.md`\n\nlist= String(gitsy).match(/\\/gh$/) ?\nlist : String(list).replace(/\\@/,'/')\n",
    "sourceGroup": "-md-,R18",
    "sourceIcon": "https://gitee.com/visita/yd/raw/master/00rose/a005b.png#",
    "sourceName": "yoyo难受5",
    "sourceUrl": "https://www.lanzoux.com#2024md5",
    "variableComment": "【刷新分类】【刷新分类】【刷新分类】"
  },
  {
    "articleStyle": 0,
    "contentBlacklist": "https://lupic.cdn.bcebos.com/,\nhttps://cpro.baidu.com/,\nhttps://eclick.baidu.com/,\nhttps://sofire.baidu.com/,\nhttps://analytics.woozooo.com/,\nhttps://statics.woozooo.com/,\nhttps://hm.baidu.com/,\nhttps://wwads.cn/code/,\nhttps://cdn.wwads.cn/,\nhttps://pagead2.googlesyndication.com,\nhttps://www.qlspx.com,\nhttps://sdk.51.la,\nhttps://abk.lingsiqiwu.com,\n\nhttps://googleads4.g.doubleclick.net,\nhttps://static.googleadsserving.cn,\nhttps://s0.2mdn.net,\nhttps://tpc.googlesyndication.com,\nhttps://www.googletagservices.com,\nhttps://cm.g.doubleclick.net,,\nhttps://star.jsyunmy.com,\nhttps://p.qlogo.cn,\nhttps://partner.googleadservices.com,",
    "customOrder": -10098444,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "{\"User-Agent\": \"Mozilla/5.0 (Linux; Android 8.0.0; MI 5s Plus Build/OPR1.170623.032; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/71.0.3578.99 Mobile Safari/537.36\",\n\t\"upgrade-insecure-requests\": \"1\",\r\n\"accept\": \"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8\",\r\n\"accept-language\": \"zh-CN,en-US;q=0.9\",\r\n\"cookie\": \"down_ip=1\",\r\n\"x-requested-with\": \"cn.nr19.mbrowser\"\n}",
    "injectJs": "// 是蓝奏云链接时\nif(/lanzou/.test(window.location.href)){\nArray.from(document.querySelectorAll(`\n\t.mt2:last-of-type,.appreport,.n_login,\n\tdiv[style*=\"color: #8a6d3b;\"]\n`),$=>$.style.display='none');\n}\n\n\n//选择需要删除的标签，以,分隔\nitems = document.querySelectorAll(`\n.stealth-scroll,\n\n#evaluate-box,\n.project-operation,\n.recommend-footer,\n\n.project-desc2,\n.side-widget,\n\n.header_nav,\n.under\n`)\n\n//把选择的html值改成空\nArray.from(items,(item)=>{\n\titem.innerHTML = ``\n\titem.style.display = `#m-splitter`\n})",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": false,
    "ruleArticles": "<js>\ntry {\n    $ = JSON.parse(src).text;\n    if ($ == \"no file\") $ = [];\n} \n\n//💙catch。。。\ncatch (err) {\n\n    //💚💚网站整合\n     if (baseUrl.match(/www\\.baidu\\.com\\?wd=/)) {\n        $ = [];\n        baseUrl.replace(/^.*?wd=\\s*/,'').replace(/\\,/g,',{\"headers\":{\"User-Agent\": \"Mozilla/5.0 (Windows; U; Windows NT 5.2;. en-US) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36 Quark/4.6.2.161\"}}').\n        split(/\\s*♞♞\\s*/).map($$ => $.push({\n            name_all: $$.match(/.*?《(.*?)》/)[1],\n            time: $$.match(/◎.*?◎/) ? $$.match(/.*?◎(.*?)◎/)[1].replace(/■/,'▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁').replace(/🦁/,'｜编程狮｜w3cschool.cn｜') : \"\",\n            uri1: $$.match(/【.*?】/) ? $$.match(/.*?【(.*?)】/)[1] : \"004.png\",\n            url: $$.match(/^([^【《◎]*),?/)[1]\n        }));\n    }\n    //💚💚0 网站整合结束\n\n\n    //💚💚蓝奏云\n    else {\n\n        //🧡🧡🧡蓝奏云非分组链接\n        if (String(java.getString('text.举报文件@href')).length) {\n            $ = [{\n                name_all: String(java.getString('class.md@textNodes')),\n                icon: String(java.getString('class.md@textNodes')).replace(/.*\\./, ''),\n                size: String(java.getString('class.mtt@text')).replace(/\\( /, '').replace(/ \\)/, ''),\n                time: String(java.getString('class.mf@textNodes')).replace(/.*\\n/, ''),\n                uri: baseUrl.replace(/^(.+com).*\\/(.+)$/, '$2'),\n                url: baseUrl.replace(/^(.+com).*\\/(.+)$/, '$1/tp/$2')\n            }]\n        }\n        //🧡🧡🧡蓝奏云非分组结束\n\n\n        //🧡🧡🧡取消分享\n        else if (String(java.getString('.off@text')).match(/取消分享/)) {\n            $ = [{\n                name_all: java.getString('.off@text'),\n                time: baseUrl.replace(/[#\\?].*/g, ''),\n                url: baseUrl.replace(/[#\\?].*/g, ''),\n            }]\n        }\n        //🧡🧡🧡取消结束\n\n\n        //🧡🧡🧡蓝奏云分组链接\n        else {\n            json = [];\n            name = java.getString('.user-radio@text||title@text')\n            java.getElements('#folder .mlink').forEach(a => {java.setContent(a);\n      json.push({\n      \t    name_all: java.getString('.filename@textNodes'),\n          url: java.getString('a@href'),\n          time: '🗂️ folder　📑 ' + (String(java.getString('.filesize@text')) || name) })\n    })\njava.setContent(src);\n\n\n            mat = baseUrl.match(/^(.*?\\.com)[^##]*\\/(.+)$/)\n            url = mat[1]\n            uri = mat[2]\n            uri2=baseUrl.match(/【[^】]/)? baseUrl.match(/【(.*?)[】$]/)[1]: \"004.png\"\n\n            function $(reg) {\n                return uri.match(reg) ? true : false}\n\n\n            //get【pwd】(链接提取码)\n            pwd =\n$(/##[^【]/) ? uri.match(/##(.*?)(【|$)/)[1] :\"\";\n\n\n\nhead = {method: \"POST\", params: {uri: uri,\nimg: $(/【[^】]/)?uri.match(/【([^】]+)/)[1] :\"\"}}\n\n\n            //get 【body】\n            eval(src.match(/var pgs;([\\s\\S]*?pgs.+;)/)[1]);\n            eval('$=' + src.match(/data :([\\s\\S]*?\\})/)[1]);\n            head.body = Object.keys($).map(key => key + \"=\" + $[key]).join('&');\n\n\n            //补全【url】\nurl += \"/filemoreajax.php,\" + JSON.stringify(head);\n\n            //ajax\n            $ = JSON.parse(java.ajax(url));\n            $ = json.concat($.text != 0 ? $.text :\n             //密码错误提示\n             [{name_all: $.info,\n               time: uri.replace(/[#\\?].*/, '') + $.info,\n               url: baseUrl.replace(/[#\\?].*/, '') }]\n                                        )\n            baseUrl = url\n        }\n        //🧡🧡🧡蓝奏分组结束\n\n    }\n    //💚💚蓝奏结束\n\n}\n//💙catch(err)结束\n\njava.put('url', baseUrl);\nJSON.stringify($);\n</js>$.[*]",
    "ruleImage": "@js:\nn=`{{$.name_all}}` ;\nuri1=`{{$.uri1}}` ;\n\nsrc =uri1 ? uri1 :\n\n//文件名判断使用对应图标\nn.match(/\\.zip|\\.7z|\\.rar/i)? \"zip.png\" :\nn.match(/apk/g)? \"apk.png\" :\n\n!n.match(/\\.\\w\\w\\w$/)? \"0.png\" :\nn.match(/迷迭|md/i)? \"md.png\" :\nn.match(/单仓|215613905|taka|q版/)? \"dc1.png\" :\nn.match(/可视|影视仓|影音壳子|多仓/)? \"dc2.png\" :\nn.match(/本地/)? \"bd.png\" :\nn.match(/海阔|[^青钢承]影|视|剧|直播|tv[^b]/i)? \"ys.png\" :\n\nbaseUrl.match(/423down/)? \"423down.png\" :\nbaseUrl.match(/lxapk/)? \"lxapk.png\" :\nbaseUrl.match(/yoyodadada/)? \"yoyo.png\" :\n\n\n\nbaseUrl.match(/【(.*?)[】$]/) ? baseUrl.match(/【(.*?)(】|$)/)[1]:\n\n//为空时\n`lan.png` ;\n\n\n//md图片简写补全。\n\neval(String(source.sourceComment));\n\npic= \npic==`0` ? `/md-yd/pic@main/00rose/${src}`:\npic==`1` ? `/md-yd/pic@main/01pink/${src}` :\npic==`2` ? `/md-yd/pic@main/02blue/${src}` :\npic==`3` ? `/md-yd/pic@main/03green/${src}` :\npic==`4` ? `/md-yd/pic@main/04gear/${src}` :\npic==`5` ? `/md-yd/pic@main/05green/${src}` :\npic==`6` ? `/md-yd/pic@main/06red/${src}`:\npic==`7` ? `/md-yd/pic@main/07blackred/${src}` :\npic==`8` ? `/md-yd/pic@main/08black/${src}` :\npic==`9` ? `/md-yd/pic@main/09note/${src}` :\n\npic==`10`?`/md-yd/pic@main/03green2/${src}`:\npic==`11`?`/md-yd/pic@main/04gear2/${src}` :\n//pic==`12`?\n`/md-yd/pic@main/04gear3/${src}`;\n\n\npic=gitpic+pic;\n\npic= \nString (gitpic).match(/gitee/) ? \nString(pic).replace(/\\/md\\-yd\\/pic\\@main/,''):\nString (gitpic).match(/\\/gh$/) ? \n pic : \nString (pic).replace(/\\@/,'/');\n\nsrc=src.match(/^http/) ? src : pic ;\nsrc",
    "ruleLink": "$.id@js:\nurl=`{{$.url}}`\nif(result){url+=`/tp/{{$.id}}`;\nurl}",
    "ruleNextPage": "@js:\ntry {\n    url = String(java.get('url'));\n    url = url.replace(/(pg=)(\\d+)/, (mat, $1, $2) => {\n        return $1 + (~~$2 + 1)\n    }).replace(url, '');\n} catch (err) {\n    url = \"\"\n}\nurl",
    "rulePubDate": "💾 {{$.icon}}　📥 {{$.size}}　⏱️ {{$.time}}\n##💾 　📥 　⏱️\\s*",
    "ruleTitle": "$.name_all",
    "singleUrl": false,
    "sortUrl": "‼️‼️注意‼️‼️::http://www.baidu.com?wd=https://0【md.png】《⬇︎本列表仅作警示 无须点入⬇︎》◎▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁◎♞♞https://1【md.png】《‼️本订阅内的软件，皆未测试。所有软件或游戏，》◎◎♞♞https://2【md.png】《如需分享推广群才能用，点分享然后取消，不发出去，》◎◎♞♞https://4【md.png】《也算分享成功。可重复假分享满足次数，即可正常使用。》◎不清楚这个小bug是否仍有效◎♞♞https://6【md.png】《‼️软件中如有广告、优惠活动、羊毛资讯，涉及资金，请勿相信！》◎▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁◎♞♞https://7【md.png】《‼️如有在线博彩、赌博，都是诈骗，请勿尝试！》◎▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁◎\n\n\n破解游戏::https://www.lanzoui.com/b053xt4vg\nHs团队破解游戏::https://pan.lanzoui.com/b888887\n兜兜软件::https://www.lanzoui.com/b133841/\n兜兜游戏::https://www.lanzoui.com/b897234\n霖淘购软件::https://www.lanzoui.com/b252370/\n霖淘购游戏::https://www.lanzoui.com/b01zs40va\n未归类::https://www.lanzoui.com/b01b01h9a\nBhVip::https://pan.lanzoui.com/u/彪煌qq1846055318\n大肥::https://pan.lanzoui.com/u/qianxun8\n淘购街::https://pan.lanzoui.com/b165784\n软件库::https://www.lanzoui.com/u/rjk\n安卓软件::https://www.lanzoui.com/u/langman666\n滚哥new::https://ypziyuanshare.lanzoul.com/b0epegxzi\n滚哥old::https://www.lanzoux.com/b838976\n小默::https://pan.lanzoui.com/b828085\n阿友::https://pan.lanzoui.com/u/aybaba\n软件分享::https://www.lanzoui.com/u/aiwange\n动漫::https://pan.lanzoui.com/b765262/",
    "sourceComment": "pic=9\n/*▔▔▔▔▔▔▔▔\n⬆︎设置图片样式\n0  红+\n1  粉++\n2  蓝++\n3  绿+  10\n4  绿齿轮  11  12\n5  绿字印章+\n6  红字印章+\n7  红字 黑白背景\n8  蓝字黑底（夜间）-\n9  卡其色 记事板-\nv240501\n▁▁▁▁▁▁▁▁*/\n\n\ngitpic=17\n/*▔▔▔▔▔▔▔▔\n⬆︎gitpic 设置图片镜像链接。\n——— Ⓖ github ——\t—\n1  raw.kkgithub.com\n2  github.moeyy.xyz\n3  mirror.ghproxy.com\n4  raw.cachefly.998111.xyz\n5  ghproxy.net\n6 521github.com\n7  slink.ltd\n8  gh.con.sh\n9  cors.isteed.cc\n10 hub.gitmirror.com\n11 sciproxy.com\n12 ghproxy.cc\n13 cf.ghproxy.cc\n14 gh.jiasu.in\n15 ghcy.eu.org\n16 raw.gitmirror.com\n17 gitee.com ✱\n▁▁▁▁▁▁▁▁*/\n\n\n/*▔▔▔▔▔▔▔▔\n订阅源图标可自己复制链接替换\n（拉到顶部第三项）\n★★ github 图标★★\nhttps://521github.com/md-yd/pic/raw/main/00rose/0purple.jpg\nhttps://521github.com/md-yd/pic/raw/main/00rose/004.png\n★★gitee图标★★\nhttps://gitee.com/visita/yd/raw/master/00rose/0purple.jpg\nhttps://gitee.com/visita/yd/raw/master/00rose/004.png\n▁▁▁▁▁▁▁▁*/\n\n\n/*▔▔▔▔▔▔▔▔\nrss by.Thomas。  md小改&收集整理。\n\n小说交流群892966579\nA群637775313不加人。若群炸了查看此群群资料找新家。\n\n内容取自网络，仅作学习参考，请24小时内删除。找到感兴趣内容请去支持正版。\n▁▁▁▁▁▁▁▁*/\n\n\ngitpic=\ngitpic==1 ? \n`https://raw.kkgithub.com`:\ngitpic==2 ? \n`https://github.moeyy.xyz/https://raw.githubusercontent.com`:\ngitpic==3 ?\n`https://mirror.ghproxy.com/https://raw.githubusercontent.com`:\ngitpic==4 ? \n`https://raw.cachefly.998111.xyz`:\ngitpic==5 ?\n`https://ghproxy.net/https://raw.githubusercontent.com`:\ngitpic==6 ? \n`https://521github.com/extdomains/raw.githubusercontent.com` :\ngitpic==7 ? \n`https://slink.ltd/https://raw.githubusercontent.com` :\ngitpic==8 ? \n`https://gh.con.sh/https://raw.githubusercontent.com` :\ngitpic==9 ? \n`https://cors.isteed.cc/https://raw.githubusercontent.com` :\ngitpic==10 ? \n`https://hub.gitmirror.com/https://raw.githubusercontent.com` :\ngitpic==11 ?\n`https://sciproxy.com/https://raw.githubusercontent.com` :\ngitpic==12 ?\n`https://ghproxy.cc/https://raw.githubusercontent.com` :\ngitpic==13 ?\n`https://cf.ghproxy.cc/https://raw.githubusercontent.com` :\ngitpic==14 ?\n`https://gh.jiasu.in/https://raw.githubusercontent.com`:\ngitpic==15 ? \n`https://ghcy.eu.org/https://raw.githubusercontent.com`:\ngitpic==16 ? \n`https://raw.gitmirror.com`:\n//gitpic==17 ? \n`https://gitee.com/visita/yd/raw/master`;",
    "sourceGroup": "-md-,R18",
    "sourceIcon": "https://gitee.com/visita/yd/raw/master/00rose/a006b.png#",
    "sourceName": "未测难受6",
    "sourceUrl": "https://www.lanzoux.com/#2024md6",
    "style": "body {\r\n    font-family: 'Roboto', sans-serif;\r\n    display: flex;\r\n    flex-direction: column;\r\n    height: 100vh;\r\n    margin: 5;\r\n    background-color: #F8F8F8;\r\n}\r\n\nmd1 {\n    color: #444444;\n    font-size: 2em; \r\n    margin: 40px 0;\n    font-weight: 400;\n    justify-content: center;\n    text-align: center;\r\n}\r\n\r\nmd2 {\r\n    color: #444444;\n    font-size: 1.4em; \n    margin-bottom: 40px;\n    line-height: 1.8;\n    font-weight: 400;\n    justify-content: center;\n    text-align: center;\r\n}\r\n\r\nmd3 {\n    color: #212121;\n    font-size: 1.6em; \r\n    margin: 10px 0;\n    font-weight: 400;\n    justify-content: center;\n    text-align: center;\r\n}\r\n\nmd4 {\n    font-size: 1.1em; \r\n}\n\r\nmd5 {\r\n    font-size: 1em; \n    color: #222222;\n    justify-content: center;\n    text-align: center;\r\n}\r\n\ntextarea {\n    width:98%;\r\n    height: auto;\r\n    min-height: 54px;\n    max-height: 500px;\r\n    overflow-y: auto;\n    border-radius:5px;\r\n    border: 1px solid #BDBDBD;\r\n}\r\n\r\n.button {\n    display: block; \r\n    margin-left: auto;\n    margin-right: auto;\r\n    padding: 6px 10px;\r\n    background-color: #FF5722;\r\n    border: none;\r\n    color: white;\r\n    cursor: pointer;\r\n    border-radius: 4px;\r\n    text-decoration: none;\r\n    margin-top: 1px;\r\n    font-size: 18px;\r\n    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);\r\n    transition: background-color 0.5s,\n    transform 0.4s;\r\n}\r\n\r\n.button:hover {\r\n    background-color: #FF5722;\r\n    transform: translateY(-2px);\r\n}\r\n\r\n.button:active {\r\n    box-shadow: 0 3px 5px rgba(0, 0, 0, 0.4);\r\n    transform: translateY(0);\r\n}\r\n\n\r\n"
  },
  {
    "articleStyle": 2,
    "customOrder": -10098424,
    "enableJs": false,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "{\"Referer\":\"https://m.mei101.net/\"}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.update_area_lists@tag.li",
    "ruleContent": "@js:\nvar javaImport = new JavaImporter();\njavaImport.importPackage(\n    Packages.java.util\n);\nwith(javaImport){\n function ss(url,id){\n var h=new HashMap();\nh.put('referer',url)\nh.put('Accept-Language','zh-CN,zh;q=0.9')\nh.put('content-type','application/x-www-form-urlencoded')\n\n var bd ='action=mei_imageall&type=all&lazy=false&post_id='+id+'&post_url='+encodeURIComponent(url);\njava.log(bd)\n var js1=java.post('https://m.mei101.net/wp-admin/admin-ajax.php',String(bd),h).body();\n//java.log(js1);\nreturn js1\n }\n}\nvar url1=baseUrl;\nlet id=String(url1).match(/.*?\\/(\\d+).html/)[1];\nvar html='<h3>'+java.getString('tag.h1@ownText')+'</h3>'\nvar temp=ss(url1,id).replace('ul','div').replace('li','p');\n\nhtml+temp",
    "ruleDescription": "",
    "ruleImage": "@js:\nheader={\"Referer\":baseUrl};\nheaders={\"headers\":JSON.stringify(header)}\n;\njava.getString('class.waitpic@data-original').replace('m.jpg','1.jpg')+','+JSON.stringify(headers)",
    "ruleLink": "class.index_post-title@tag.a@href",
    "ruleNextPage": "class.next@href||page",
    "rulePubDate": "class.index_post_info_below_date@text",
    "ruleTitle": "tag.a@text||class.postlist-imagenum@text",
    "singleUrl": false,
    "sortUrl": "性感::https://m.mei101.net/meinvtupian/xingganmeinv/page/{{page}}\n壁纸图片::https://m.mei101.net/bizhitupian/page/{{page}}\n美女图片::https://m.mei101.net/meinvtupian/page/{{page}}\n卡通动漫::https://m.mei101.net/katongdongman/page/{{page}}\n发型图片::https://m.mei101.net/faxingtupian/page/{{page}}\n唯美图片::https://m.mei101.net/weimeitupian/page/{{page}}\n图片大全::https://m.mei101.net/tupiandaquan/page/{{page}}\n人像图片::https://m.mei101.net/touxiangtupian/page/{{page}}\n搞笑图片::https://m.mei101.net/gaoxiaotupian/page/{{page}}",
    "sourceGroup": "图片,R18",
    "sourceIcon": "https://m.mei101.net/favicon.ico",
    "sourceName": "美101",
    "sourceUrl": "https://m.mei101.net/"
  },
  {
    "articleStyle": 0,
    "customOrder": -10098351,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\"User-Agent\":\"\"}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "<js>\nsort = [];\nL = String(baseUrl).replace(/^h.*?\\=/,'').split('★');\nfor (i = 0; i < L.length; i ++) {\n  sort.push ({\n    title: L[i].match(/【(.*?)】/)[1],\n    date: L[i].match(/】(.*?)＃/)[1],\n    img: L[i].match(/＃(.*)/)[1],\n    link: L[i].match(/(.*?)【/)[1],\n  });\n};\nJSON.stringify(sort);\n</js>\n$.[*]",
    "ruleDescription": "🟩0\n<!doctype html>\n<html>\n<head lang=\"zh\">\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no\">\n<meta http-equiv=\"x-ua-compatible\" content=\"ie=edge\">\n<link rel=\"icon\" href=\"yuedu.svg\">\n<title>写源助手</title>\n<style>\nbody {\n  background-color: #f4f5f7;\n  display: flex;\n  flex-wrap: wrap;\n  place-content: center;\n  place-items: start;\n}\n.card {\n  border-top: .5px solid rgba(255,255,255,.7);\n  color: #001944;\n  border-radius: 24px;\n  background-color: rgba(255,255,255,.5);\n  box-shadow: 0px 10px 20px rgba(0,0,0,.05);\n  padding: 30px;\n  margin: 12.5px;\n  width: 250px;\n}\n.flex {\n  display: flex;\n  flex-wrap: wrap;\n}\ndetails + div {\n  overflow: hidden;\n  max-height: 0;\n  opacity: 0;\n  transition: .5s;\n}\n[open] + div {\n  max-height: 888px;\n  opacity: 1;\n}\nsummary {\n  font-size: 23px;\n  font-weight: 700;\n  user-select: none;\n  outline: 0;\n  opacity: .45;\n  transition: .5s;\n  display: block;\n}\n[open] summary {\n  opacity: 1;\n  margin-bottom: 7px;\n  font-size: 20px;\n}\na {\n  margin-top: 7px;\n  display: inline-block;\n  span { margin-left: 7px; }\n}\nspan {\n  background-color: rgba(0,0,0,.04);\n  font-family: monospace;\n  font-size: 13px;\n  padding: .125em .25em;\n  border-radius: .5em;\n  opacity: .8;\n}\nbutton {\n  font-size: 13px;\n  font-weight: 700;\n  color: #4360b7;\n  background-color: #e7eeff;\n  padding: 6.5px 13px;\n  margin-top: 7px;\n  margin-right: 7px;\n  border-radius: 28px;\n  border:none;\n  transition: .3s;\n}\nbutton:active { background-color: #d6ddee; }\ntextarea {\n  margin-top: 7px;\n  padding: 7px;\n  width: 232px;\n  min-height: 72px;\n  max-height: 143px;\n  display: block;\n  resize: vertical;\n  font-size: 13px;\n  border-radius: 8px;\n  color: #333;\n  border: 2px solid rgba(0,0,0,.1);\n  background-color: rgba(0,0,0,.01);\n}\n#matchText,\n#replaceText {\n  resize: none;\n  min-height: 17px;\n  max-height: 17px;\n}\ninput {\n  appearance: none;\n  vertical-align: middle;\n  margin-right: 3px;\n  margin-bottom: 6px;\n  width: 15px;\n  height: 15px;\n  background-color: rgba(0,0,0,.01);\n  border: 2px solid rgba(0,0,0,.1);\n  border-radius: 8px;\n  transition: .3s;\n}\ninput:checked { border-color: #4360b7; }\nlabel {\n  display: inline-block;\n  margin-top: 10px;\n  font-size: 15px;\n}\n#tip { margin-top: 7px; }\n#temp { display: none; }\n</style>\n</head>\n<body>\n<div class=\"card\">\n  <details>\n    <summary>发现格式工具</summary>\n  </details>\n  <div>\n    <textarea id=\"text\" placeholder=\"请输入要处理的内容\"></textarea>\n    <a>格式转换</a>\n    <div class=\"flex\">\n      <button onclick=\"Format()\">html转旧发现</button>\n      <button onclick=\"Switch()\">新旧发现互转</button>\n    </div>\n    <a>每行列数<span>仅新发现</span></a>\n    <div class=\"flex\">\n      <button onclick=\"Add(1)\">1</button>\n      <button onclick=\"Add(0.4)\">2</button>\n      <button onclick=\"Add(0.25)\">3</button>\n      <button onclick=\"Add(0.2)\">4</button>\n      <button onclick=\"Add(0.15)\">5</button>\n    </div>\n    <a>快捷功能</a>\n    <div class=\"flex\">\n      <button onclick=\"Copy('#text')\">复制全文</button>\n      <button onclick=\"Cut('#text')\">剪切全文</button>\n      <button onclick=\"Empty('#text')\">清空</button>\n    </div>\n  </div>\n</div>\n<div class=\"card\">\n  <details>\n    <summary>正则匹配替换</summary>\n  </details>\n  <div>\n    <textarea id=\"text1\" placeholder=\"请输入要处理的内容\"></textarea>\n    <a>正则匹配</a>\n    <textarea id=\"matchText\" placeholder=\"正则表达式\"></textarea>\n    <label>\n      <input id=\"global\" type=\"checkbox\" checked>\n      全局搜索\n    </label>\n    <label>\n      <input id=\"ignoreCase\" type=\"checkbox\">\n      忽略大小写\n    </label>\n    <div class=\"flex\">\n      <button onclick=\"Match()\">进行匹配</button>\n      <button onclick=\"Copy('#matchResult')\">复制结果</button>\n      <button onclick=\"Reset()\">清空</button>\n    </div>\n    <div id=\"tip\"></div>\n    <textarea id=\"matchResult\" placeholder=\"匹配结果\"></textarea>\n    <a>正则替换</a>\n    <textarea id=\"replaceText\" placeholder=\"想要替换成什么\"></textarea>\n    <div class=\"flex\">\n      <button onclick=\"Add1('{\\{page}}')\">{&#123;page}}</button>\n      <button onclick=\"Add1('\\\\')\">&#92;</button>\n      <button onclick=\"Add1('&#60;')\">&#60;</button>\n      <button onclick=\"Add1('&#62;')\">&#62;</button>\n    </div>\n    <div class=\"flex\">\n      <button onclick=\"Replace()\">进行替换</button>\n      <button onclick=\"Copy('#replaceResult')\">复制结果</button>\n    </div>\n    <textarea id=\"replaceResult\" placeholder=\"替换结果\"></textarea>\n  </div>\n</div>\n<div class=\"card\">\n  <details>\n    <summary>编码格式转换</summary>\n  </details>\n  <div>\n    <textarea id=\"text2\" placeholder=\"请输入要处理的内容\"></textarea>\n    <a>url编码</a>\n    <label>\n      <input id=\"ignoreComponent\" type=\"checkbox\">\n      编码<span>@#$&=:/,;?+</span>\n    </label>\n    <div class=\"flex\">\n      <button onclick=\"Encode()\">进行编码</button>\n      <button onclick=\"Decode()\">进行解码</button>\n    </div>\n    <a>html转义</a>\n    <label>\n      <input id=\"super\" type=\"checkbox\">\n      转义全部字符\n    </label>\n    <div id=\"temp\"></div>\n    <div class=\"flex\">\n      <button onclick=\"EncodeHtml()\">进行转义</button>\n      <button onclick=\"DecodeHtml()\">进行反转义</button>\n    </div>\n    <a>快捷功能</a>\n    <div class=\"flex\">\n      <button onclick=\"Copy('#text2')\">复制全文</button>\n      <button onclick=\"Cut('#text2')\">剪切全文</button>\n      <button onclick=\"Empty('#text2')\">清空</button>\n    </div>\n  </div>\n</div>\n<div class=\"card\">\n  <details>\n    <summary>外部在线工具</summary>\n  </details>\n  <div>\n    <div class=\"flex\">\n      <button onclick=\"window.location.href='https://www.iamwawa.cn/jianfanti.html'\">简繁转换</button>\n      <button onclick=\"window.location.href='https://www.yuque.com/legado/yuan'\">写源教程</button>\n    </div>\n  </div>\n</div>\n<script>\nfunction $(t) {\n  return document.querySelector(t);\n}\nfunction $$(t) {\n  document.execCommand(t);\n}\nfunction Format() {\n  t = $('#text');\n  list = t.value.match(/<[^<]+?href=['\"](.*?)['\"][^<]*?>(.*?)</g);\n  if (list) {\n    html = \"\";\n    for (i = 0; i < list.length; i++) {\n      a = list[i].match(/<[^<]+?href=['\"](.*?)['\"][^<]*?>(.*?)</g);\n      html += a[2] + \"::\" + a[1] + \"\\r\\n\"\n    };\n    t.value = html.replace(/\\r\\n$/, \"\");\n  }\n}\nfunction Switch() {\n  t = $('#text');\n  try {\n    html = \"\";\n    json = JSON.parse(t.value);\n    for (i = 0; i < json.length; i++) {\n      html += json[i].title + \"::\" + json[i].url + \"\\r\\n\"\n    };\n    t.value = html.replace(/\\r\\n$/, '');\n  } catch(err) {\n    if (t.value.match(/\\&\\&|::/g)) {\n      text = t.value.replace(/\\&\\&/g, '\\r\\n');\n      list = text.match(/.*?::.*/g);\n      html = [];\n      for (i = 0; i < list.length; i++) {\n        a = list[i].match(/(.*?)::(.*)/);\n        html.push({\n          title: a[1],\n          url: a[2],\n        });\n      };\n      t.value = JSON.stringify(html);\n    }\n  }\n}\nfunction Add(t) {\n  x = $('#text');\n  try {\n    json = JSON.parse(x.value);\n    for (i = 0; i < json.length; i++) {\n      json[i].style = {\n        layout_flexGrow: 1,\n        layout_flexBasisPercent: t,\n      }\n    };\n    x.value = JSON.stringify(json);\n  } catch(err) {\n    \"\";\n  }\n}\nfunction Copy(t) {\n  $(t).select();\n  $$('copy');\n}\nfunction Cut(t) {\n  $(t).select();\n  $$('cut');\n}\nfunction Empty(t) {\n  $(t).value = \"\";\n  $(t).focus();\n}\nfunction Reset() {\n  $('#text1').value = $('#matchText').value = $('#tip').textContent = $('#matchResult').value = $('#replaceText').value = $('#replaceResult').value = \"\";\n  $('#text1').focus();\n}\nfunction BuildRegex() {\n  text = $('#text1');\n  if (!text.value) {\n    text.focus();\n    return false;\n  }\n  match = $('#matchText');\n  if (!match.value) {\n    match.focus();\n    return false;\n  }\n  op = $('#global').checked ? \"g\": \"\";\n  op = $('#ignoreCase').checked ? op + \"i\": op;\n  return new RegExp(match.value, op);\n}\nfunction Match() {\n  regex = BuildRegex();\n  t = $('#tip');\n  x = $('#matchResult');\n  tip = text = t.textContent = x.value = \"\";\n  match = $('#text1').value.match(regex);\n  if ($('#global').checked) {\n    for (i = 0; i < match.length; i++) {\n      text += match[i] + \"\\r\\n\";\n    };\n    tip = \"共找到 \" + match.length + \" 处匹配：\\r\\n\";\n    text = text.replace(/\\r\\n$/, '');\n  } else {\n    tip = \"匹配位置：\" + regex.lastIndex;\n    text = match[0];\n  }\n  t.textContent = tip;\n  x.value = text;\n  return true;\n}\nfunction Add1(t) {\n  x = $('#replaceText');\n  start = x.selectionStart;\n  length = x.selectionEnd - start;\n  json = x.value.split('');\n  json.splice(start, length, t);\n  x.value = json.join('');\n  x.focus();\n  x.selectionStart = t.length + start;\n  x.selectionEnd = t.length + start;\n}\nfunction Replace() {\n  regex = BuildRegex();\n  $('#replaceResult').value = $('#text1').value.replace(regex, $('#replaceText').value);\n}\nfunction Encode() {\n  t = $('#text2');\n  text = t.value;\n  t.value = $('#ignoreComponent').checked ? encodeURIComponent(text): encodeURI(text);\n}\nfunction Decode() {\n  t = $('#text2');\n  text = t.value;\n  t.value = decodeURIComponent(text);\n}\nfunction EncodeHtml() {\n  t = $('#text2');\n  text = t.value;\n  if ($('#super').checked) {\n    u = \"\";\n    for (i = 0; i < text.length; i++){\n      u += \"&#\" + text.charCodeAt(i) + \";\";\n    };\n  } else {\n    x = $('#temp');\n    x.textContent = text;\n    u = x.innerHTML\n    .replace(/\"/g, '&quot;');\n  }\n  t.value = u;\n}\nfunction DecodeHtml() {\n  t = $('#text2');\n  text = t.value;\n  x = $('#temp');\n  x.innerHTML = text\n  .replace(/<br>/g, '\\r\\n')\n  .replace(/</g, '&#60;')\n  .replace(/>/g, '&#62;');\n  t.value = x.textContent;\n}\n</script>\n</body>\n</html>\n🟥0\n{{}}\n@js:\nu = \"{{$.link}}\";\nif (/^\\d+$/.test(u)) {\ntry {\n  result.match(`🟩${u}([\\\\s\\\\S]*?)🟥${u}`)[1];\n} catch (err) { \"\"; }\n} else { \"\"; }",
    "ruleImage": "$.img\n@js:\nresult != \"\" ? result: source.sourceIcon;",
    "ruleLink": "$.link",
    "rulePubDate": "$.date",
    "ruleTitle": "$.title",
    "singleUrl": false,
    "sortUrl": "默认::https://bing.com/search?q=0【写源助手】简单小工具＃",
    "sourceComment": "",
    "sourceGroup": "R18",
    "sourceIcon": "data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjUxNHB0IiBoZWlnaHQ9IjUxNHB0IiB2aWV3Qm94PSIwIDAgNTE0IDUxNCI+PHBhdGggZD0iTTIzNy4xNDYgMi4wNTdDMTYyLjc0NCA4LjY4OCA5Ni44NTIgNDQuODU1IDUyLjk3MyAxMDMuMTQ0Yy0yNi4xOSAzNC43OTEtNDIuNDEyIDczLjgxMy00OS4wNTUgMTE4LTMuMDYxIDIwLjM2MS0zLjA2NiA1MS41MS0uMDEyIDcxLjcxMkMxNi43ODggMzc4LjA3IDY3LjA3IDQ0Ny41NDEgMTQzLjUwOSA0ODUuNzM0YzM2LjY5MiAxOC4zMzQgNzEuMzYxIDI2LjM5OCAxMTMuNDkxIDI2LjM5OCA0Mi4xMyAwIDc2Ljc5OS04LjA2NCAxMTMuNDkxLTI2LjM5OCA2Mi4wNi0zMS4wMDkgMTA3LjI3NC04Mi45MDIgMTI4LjkxOC0xNDcuOTY1IDkuMjEzLTI3LjY5NCAxMi45MDctNTEuMTk2IDEyLjg1Mi04MS43NjktLjA0Mi0yMy42MDItMi4xNTUtNDAuNjk3LTcuNzA4LTYyLjM2Mi0yMy44MzMtOTIuOTkyLTk4LjMxLTE2NS4zMDMtMTkxLjU2Mi0xODUuOTkzLTIzLjY4LTUuMjU0LTU0LjI5My03LjUwOS03NS44NDUtNS41ODhNMTk2LjUgMjA4LjQxOWMyLjIuNzY0IDQuMTMyIDIuMDM4IDQuMjk0IDIuODMzLjE2Mi43OTQtMi44NzYgNC45MzQtNi43NSA5LjE5OS02Ljk4NCA3LjY4OS04LjQ5NCAxMS4wNTUtNS40OCAxMi4yMTIgMS43NDIuNjY4IDQuNjU0LS41OTkgOC40ODMtMy42OTJsMi41NDYtMi4wNTggNC43OTcgMi42ODFjNC41MTIgMi41MjIgNC43NTUgMi44NjYgNC4xIDUuNzk0LS4zODMgMS43MTEtLjk4NyA3LjgxMS0xLjM0MyAxMy41NTRsLS42NDcgMTAuNDQzLTYuNzYyLjE1MmMtNy4zMjguMTY2LTguNjI4LjY4Ni02LjkwNCAyLjc2My43MTMuODU5IDEuMjE5IDguMDQ0IDEuMzkzIDE5Ljc3NGwuMjczIDE4LjQyNiAzLjg3NS4zMThjMy4xMzUuMjU3IDQuNDM2LS4yMiA2LjgxOS0yLjVsMi45NDQtMi44MTggMi45MDIgMy41YzEuNTk3IDEuOTI1IDIuNzY3IDMuOTUgMi42MDEgNC41LS4xNjYuNTUtNS4xMjQgMS4zMjQtMTEuMDE3IDEuNzItNy4xMzguNDgtMTEuNjY0IDEuMjgyLTEzLjU1OCAyLjQtMS41NjQuOTI0LTMuNTY4IDEuNDAxLTQuNDU1IDEuMDYxLTEuNzA1LS42NTQtMS43ODYtMi4xMTktMS44MDktMzIuNjgxLS4wMDUtNi44NzUtLjQyOS0xMy4yODctLjk0MS0xNC4yNS0uNjEyLTEuMTUxLTIuMTE4LTEuNzUtNC4zOTYtMS43NS0zLjM0IDAtNC41NCAxLjIxNy0yLjQ2NSAyLjUgMS44NzIgMS4xNTcgMS4wMDcgMy43ODYtMi43NSA4LjM1OC0yLjA2MiAyLjUxLTQuMiA1LjI5NC00Ljc1IDYuMTg3LS41NS44OTMtMi43MDUgNC4wNjEtNC43ODggNy4wMzktNy40MyAxMC42MjQtOC43MjEgMTIuNDg0LTEyLjQyOSAxNy45MTYtNS42NDQgOC4yNjktNS4yODMgMy45NTYuNjYxLTcuODg5IDIuNzgxLTUuNTQxIDUuMDU2LTEwLjU1NCA1LjA1Ni0xMS4xMzkgMC0uNTg1IDEuNjI5LTQuNTMxIDMuNjE5LTguNzY4IDUuNzA1LTEyLjE0MyA0LjU5Ni0xNy42MjEtMi4zOC0xMS43NTItNS45ODkgNS4wNC02LjIzOSA0LjQ2NC02LjIzOS0xNC4zOTMgMC0xNy4xOTcuNTA0LTE5LjU0NSAzLjYzOS0xNi45NDMgMS4wMzEuODU1IDUuNTMxIDEuMzcxIDEzLjM4OCAxLjUzNWwxMS44MzYuMjQ3IDIuMTQyLTMuNjMxYzIuMTQ5LTMuNjQyIDQuMTg4LTkuMTY0IDUuNDUzLTE0Ljc2Ny43NDUtMy4yOTggMy4xNzItNy41MDkgNC4zMTUtNy40ODUuNC4wMDggMi41MjcuNjQgNC43MjcgMS40MDRtMzguNzc0LTEyLjY1MWMzLjYyOSAzLjcxNyAzLjY1OCAzLjgwOSAyLjA4NSA2Ljc1LTEuNzk0IDMuMzU0LTIuMDc3IDEyLjgzOC0yLjMxNSA3Ny40ODJsLS4xMzggMzcuNS01Ljg0NiA2LjM2LTUuODQ1IDYuMzYtOC4xNjYtOC4xMTFjLTQuNDkxLTQuNDYxLTcuODc0LTguNTgyLTcuNTE4LTkuMTU5LjM5OC0uNjQ0IDEuMDk0LS42OTcgMS44MDgtLjEzNy42MzkuNTAxIDMuMzc0IDEuMiA2LjA3OCAxLjU1MyA5LjE4OSAxLjE5OSA4LjU5MyA1LjEzOSA4LjUxMy01Ni4yNzEtLjAzOS0yOS40NzctLjM5OS01NC40My0uODAxLTU1LjQ1MS0uNDAxLTEuMDIxLTIuMTg3LTIuNDctMy45NjktMy4yMTktMS43ODEtLjc0OS0yLjk2NC0uOTE4LTIuNjI5LS4zNzUuMzk2LjY0Mi03LjQ3MS44OTMtMjIuNDYyLjcxOS0xNC41MzUtLjE3LTIzLjA3MS0uNjM5LTIzLjA3MS0xLjI2OSAwLS42MzUgOS42NzQtMS4wOTcgMjYuNDg5LTEuMjY2bDI2LjQ4OC0uMjY3IDEuNjI4LTIuNDgzYzIuMjk5LTMuNTEgNS4zOTEtMy4wOTkgOS42NzEgMS4yODRtNTUuODM2IDMyLjRjMi42OSAxLjc0MyA0Ljg5IDMuMzM0IDQuODkgMy41MzYgMCAuMjAxLS42ODIgMS40MDctMS41MTYgMi42NzktMS4yODIgMS45NTctMS40NzQgNi43NjMtMS4yNSAzMS4yMTUuMzA2IDMzLjI5NC0uMDUzIDMyLjMxMiA5LjUxNiAyNS45ODcgMi44ODgtMS45MDggNS4yNS0zLjEyNyA1LjI1LTIuNzA3IDAgLjQyLTIuNTg3IDMuNDM4LTUuNzUgNi43MDYtMy4xNjIgMy4yNjgtOS4wNDMgOS42NDgtMTMuMDY4IDE0LjE3OS00Ljg0OSA1LjQ1OC04LjAzOCA4LjIzNy05LjQ1MiA4LjIzNy0yLjUzNyAwLTguNzMtNS42OTUtOC43My04LjAyOSAwLS45IDEuOC0zLjA4MyA0LTQuODUxbDQtMy4yMTR2LTMyLjMzMWMwLTI2LjkzNS0uMjQxLTMyLjUzLTEuNDQxLTMzLjUyNi0uNzkzLS42NTgtNC41MDYtMS4yMjgtOC4yNS0xLjI2Ni02LjY1OS0uMDY3LTkuODM3LTEuMTItOC43MzktMi44OTYuMzAxLS40ODggNC4zOTEtLjg4NyA5LjA4OC0uODg3IDguMTk5IDAgOC42NTEtLjEyIDExLjM0Mi0zIDEuNTQxLTEuNjUgMy4zNDctMyA0LjAxMi0zIC42NjUgMCAzLjQwOSAxLjQyNiA2LjA5OCAzLjE2OG0tMTYxLjM2LTIwLjE5NSA0LjI1IDEuOTI5VjMxNy4xMmwtNS4xNDUgNS40NGMtMi44MyAyLjk5Mi01LjUzIDUuNDQtNiA1LjQ0LS45OTUgMC0xLjE4Mi0xMjAuMzM5LS4xODgtMTIxLjMzMyAxLjA0Mi0xLjA0MiAyLjUwMy0uNzczIDcuMDgzIDEuMzA2TTM0My41IDIzNmMuOTk1IDEuMSAyLjg0OSAyIDQuMTIgMiAzLjgyMiAwIDQuNTM3IDMuMDI0IDQuNDQ2IDE4LjgyNS0uMDQ2IDguMDcxLS4xOTIgMTUuOC0uMzI1IDE3LjE3NWwtLjI0MSAyLjUgMTIuNjM5LjI3OSAxMi42NC4yNzkgNC4wMTQtNC41NiA0LjAxNC00LjU2IDQuMzQ3IDIuOTRjNS40MzMgMy42NzYgOS40MjYgNy44NzcgOC40MjggOC44NjgtLjQxNy40MTUtNC44ODEuNzU0LTkuOTIuNzU0LTI4LjM1MiAwLTM1LjYxNS40NTEtMzcuNDEyIDIuMzIyLS45NjIgMS4wMDItNS41NzUgNi4yMTEtMTAuMjUgMTEuNTc0YTgyNjMuMjc4IDgyNjMuMjc4IDAgMCAxLTEzLjUgMTUuNDUzYy0yLjc1IDMuMTM1LTYuNDkgNy40MjQtOC4zMTIgOS41MzEtMS44MjEgMi4xMDYtMy41MzEgMy42MTEtMy43OTkgMy4zNDMtLjU1OS0uNTU5IDIuNTgxLTYuMzcyIDYuNjAxLTEyLjIyMyAxLjUxMS0yLjIgMy42NzYtNS41NzUgNC44MTEtNy41IDEuMTM0LTEuOTI1IDQuMTE4LTYuOTY3IDYuNjMxLTExLjIwMyAyLjUxMi00LjIzNyA0LjU2OC04LjM4OSA0LjU2OC05LjIyNiAwLTEuMjkyLTIuNTM4LTEuNTY0LTE2Ljc1LTEuNzk3LTE0LjEtLjIzMS0xNi43NS0uNTExLTE2Ljc1LTEuNzc0IDAtMS4yNjEgMi42MTUtMS41NDQgMTYuNDI4LTEuNzc2IDEwLjA0Mi0uMTY4IDE2Ljk0My0uNzAyIDE3Ljc1LTEuMzcyIDEuMDE0LS44NDEgMS4zMjItNS42OSAxLjMyMi0yMC44MDggMC0yMi4wOTEuMzYxLTIzLjYxOCA0LjUtMTkuMDQ0bTEuNDcyLTUwLjAxNGMyLjE0MSAxLjA5MiA0LjI2IDIuNTU0IDQuNzEgMy4yNS40NS42OTUuODE4IDQuNDE0LjgxOCA4LjI2NHY3bDguMTc1LjI4OWM3LjkzLjI4MSA4LjI2OS4xOTggMTEuMjg1LTIuNzUgMS43MS0xLjY3MSAzLjQxLTMuMDM5IDMuNzc3LTMuMDM5IDEuMjQgMCA3LjI2MyA2LjM4MiA3LjI2MyA3LjY5NiAwIDEuMDEyLTMuMjQxIDEuMzA0LTE0LjQ2NSAxLjMwNC0xNi44NTggMC0xNi4zMzEtLjM0MS0xNi4wNTUgMTAuMzg4LjIzOSA5LjI5OS43ODIgOS42MzcgMTQuMzc2IDguOTUxIDguMjI2LS40MTUgMTEuMjU5LS45NjggMTMuMzU0LTIuNDM4IDEuNDktMS4wNDUgMy4yNDMtMS45MDEgMy44OTctMS45MDEuOTY2IDAgNi42NzcgNC4xMSAxMS4zMTkgOC4xNDcgMS4wMDYuODc1LTIuMDUzIDQuODUzLTMuNzMxIDQuODUzLS41NDcgMC00LjE0OSAxLjgxOC04LjAwNCA0LjA0MS03Ljk0OCA0LjU4My0xMC4wNTggNC4yMjktNy43OTctMS4zMDUuNzI4LTEuNzggMS4zODYtNC4xMzYgMS40NjQtNS4yMzYuMTM5LTEuOTU2LS42MzEtMi4wMTEtMzQuODU4LTIuNS0yOS4xMy0uNDE2LTM1LS43MzUtMzUtMS45MDMgMC0xLjEzNSAyLjc5NC0xLjQyMSAxNC42NjctMS41IDguMDY3LS4wNTMgMTUuMDQyLS40NzIgMTUuNS0uOTI5LjQ1OC0uNDU4IDEuMDYxLTQuMjMyIDEuMzQxLTguMzg2LjY3NC0xMC4wMy4wNTItMTAuNDYzLTE0LjY3LTEwLjIxLTguNjM0LjE0OC0xMC44MzgtLjA5NS0xMC44MzgtMS4xOTMgMC0xLjA4NSAyLjcxNi0xLjQzOSAxMi43NS0xLjY1OSA3LjAxMy0uMTU0IDEyLjc2Ni0uNjA0IDEyLjc4Ni0xIC4wMi0uMzk2LjE1OS0zLjg3LjMxLTcuNzIuMjUtNi40MjQgMS43OTEtMTIuNSAzLjE2OS0xMi41LjMxMSAwIDIuMzE2Ljg5NCA0LjQ1NyAxLjk4Nm0xMi43NjIgMTA5Ljc1OWMxLjQ2NC45NiA4LjUzNiA0LjY3MiAxNS43MTQgOC4yNSA4LjMxNyA0LjE0NSAxMy4xNjkgNy4xMzkgMTMuMzc1IDguMjUzLjQ1NyAyLjQ3NS01Ljc4NSAxMS43NTItNy45MDcgMTEuNzUyLS45NjIgMC0zLjIyMi0xLjkxMi01LjAyNC00LjI1LTEuODAyLTIuMzM3LTUuNTUyLTYuODI3LTguMzM0LTkuOTc2LTEwLjMwOC0xMS42NjktMTIuNTE4LTE0LjQ4MS0xMS44NzktMTUuMTIuOTExLS45MTEgMS4wNi0uODcxIDQuMDU1IDEuMDkxTTI3NiAxOTIuMDM2YzEuMzc1Ljk0MSA1LjMxMyAzLjEyNCA4Ljc1IDQuODUyIDMuNDM4IDEuNzI3IDYuMjUgMy40OTEgNi4yNSAzLjkxOCAwIC40MjgtMS45OTIgMi43MzItNC40MjYgNS4xMjEtNi4zMTUgNi4xOTktOC4yMzggNC44NzctMTMuNTI1LTkuMjk2LTIuOTc2LTcuOTc2LTIuNjc1LTguNDQ0IDIuOTUxLTQuNTk1bS0xMjguMjIzLTEuMjUyIDguMjc3IDQuMjY1LTMuNjA4IDQuNzI2Yy0xLjk4NSAyLjU5OS00LjEwNCA0LjcyNS00LjcxIDQuNzI1LS42MDYgMC0yLjA4Ny0xLjgtMy4yOTItNC02LjQyMy0xMS43MzEtNy4yMTgtMTMuMzkyLTYuNjY4LTEzLjk0My4zMjktLjMyOS44NTItLjQ3MyAxLjE2Mi0uMzE5LjMwOS4xNTQgNC4yODcgMi4yIDguODM5IDQuNTQ2bTE3Mi4xOTMgNjYuNzMzYzMuNTU5IDEuMjY3IDYuNjIyIDIuNzYgNi44MDggMy4zMTguNjQzIDEuOTI4LTMuNzc1IDkuMTY1LTUuNTk0IDkuMTY1LTEuMDc2IDAtMy43OTgtMi45MTEtNi45MTYtNy4zOTYtNC45NTUtNy4xMjctNS42MDUtOS4zNzgtMi4zMi04LjAyOS44NTMuMzUxIDQuNDY0IDEuNjc1IDguMDIyIDIuOTQybTcuODMzLTE2LjYzNGMyLjM2Ni42NzYgNC41MjkgMS44MTggNC44MDUgMi41MzguNjI0IDEuNjI2LTIuODc5IDguMDc5LTQuMzg1IDguMDc5LTEuNzYzIDAtOS40MDgtMTEuNTc2LTguNzYtMTMuMjYzLjUwOS0xLjMyNy43ODctMS4zMzMgMi4zMDgtLjA0Ni45NTEuODA1IDMuNjY1IDIuMDE3IDYuMDMyIDIuNjkybS0xNjAuNDY2LTIzLjgyOGMzLjExNSAyLjIzIDUuNjYzIDQuMjk4IDUuNjYzIDQuNTk2IDAgMS4zNDUtNC4yNjkgNi4zNDktNS40MTYgNi4zNDktLjcwNCAwLTIuMTEyLTEuOTEyLTMuMTI4LTQuMjUtMS4wMTYtMi4zMzctMi42NDYtNS40MjYtMy42MjItNi44NjMtMS42Mi0yLjM4NS0xLjU1NC0zLjg4Ny4xNy0zLjg4Ny4zNjkgMCAzLjIxOSAxLjgyNSA2LjMzMyA0LjA1NSIgZmlsbD0iI0U3RUVGRkZGIiBzdHJva2U9IiNFN0VFRkZGRiIgb3BhY2l0eT0iLjgiLz48cGF0aCBkPSJNMTg5LjU5MSAyMDkuMjVjLS44MDEgMS4yMzgtMS43NiAzLjYtMi4xMzMgNS4yNS0xLjI2NSA1LjYwMy0zLjMwNCAxMS4xMjUtNS40NTMgMTQuNzY3bC0yLjE0MiAzLjYzMS0xMS44MzYtLjI0N2MtNy44NTctLjE2NC0xMi4zNTctLjY4LTEzLjM4OC0xLjUzNS0zLjEzNS0yLjYwMi0zLjYzOS0uMjU0LTMuNjM5IDE2Ljk0MyAwIDE4Ljg1Ny4yNSAxOS40MzMgNi4yMzkgMTQuMzkzIDYuOTc2LTUuODY5IDguMDg1LS4zOTEgMi4zOCAxMS43NTItMS45OSA0LjIzNy0zLjYxOSA4LjE4My0zLjYxOSA4Ljc2OCAwIC41ODUtMi4yNzUgNS41OTgtNS4wNTYgMTEuMTM5LTUuOTQ0IDExLjg0NS02LjMwNSAxNi4xNTgtLjY2MSA3Ljg4OSAzLjcwOC01LjQzMiA0Ljk5OS03LjI5MiAxMi40MjktMTcuOTE2IDIuMDgzLTIuOTc4IDQuMjM4LTYuMTQ2IDQuNzg4LTcuMDM5LjU1LS44OTMgMi42ODgtMy42NzcgNC43NS02LjE4NyAzLjc1Ny00LjU3MiA0LjYyMi03LjIwMSAyLjc1LTguMzU4LTIuMDc1LTEuMjgzLS44NzUtMi41IDIuNDY1LTIuNSAyLjI3OCAwIDMuNzg0LjU5OSA0LjM5NiAxLjc1LjUxMi45NjMuOTM2IDcuMzc1Ljk0MSAxNC4yNS4wMjMgMzAuNTYyLjEwNCAzMi4wMjcgMS44MDkgMzIuNjgxLjg4Ny4zNCAyLjg5MS0uMTM3IDQuNDU1LTEuMDYxIDEuODk0LTEuMTE4IDYuNDItMS45MiAxMy41NTgtMi40IDUuODkzLS4zOTYgMTAuODUxLTEuMTcgMTEuMDE3LTEuNzIuMTY2LS41NS0xLjAwNC0yLjU3NS0yLjYwMS00LjVsLTIuOTAyLTMuNS0yLjk0NCAyLjgxOGMtMi4zODMgMi4yOC0zLjY4NCAyLjc1Ny02LjgxOSAyLjVsLTMuODc1LS4zMTgtLjI3My0xOC40MjZjLS4xNzQtMTEuNzMtLjY4LTE4LjkxNS0xLjM5My0xOS43NzQtMS43MjQtMi4wNzctLjQyNC0yLjU5NyA2LjkwNC0yLjc2M2w2Ljc2Mi0uMTUyLjY0Ny0xMC40NDNjLjM1Ni01Ljc0My45Ni0xMS44NDMgMS4zNDMtMTMuNTU0LjY1NS0yLjkyOC40MTItMy4yNzItNC4xLTUuNzk0bC00Ljc5Ny0yLjY4MS0yLjU0NiAyLjA1OGMtMy44MjkgMy4wOTMtNi43NDEgNC4zNi04LjQ4MyAzLjY5Mi0zLjAxNC0xLjE1Ny0xLjUwNC00LjUyMyA1LjQ4LTEyLjIxMiAzLjg3NC00LjI2NSA2LjkxMi04LjQwNSA2Ljc1LTkuMTk5LS4yNDYtMS4yMS02LjU4NC00LjE4Ni05LjAyMS00LjIzNy0uNC0uMDA4LTEuMzgyLjk5OC0yLjE4MiAyLjIzNW0yLjIwOSAyNy45NWMxLjg2OSAxLjg2OSAxLjU4OSAxNi4yMzItLjM0OCAxNy44NC0yLjA1OCAxLjcwOC0yNi45NSAxLjYyMi0yOS4wMjUtLjEwMS0xLjAyNC0uODQ5LTEuNDI3LTMuNTA0LTEuNDI3LTkuMzk1IDAtNC41MTYuMy04LjUxMS42NjctOC44NzcgMS4yNDUtMS4yNDYgMjguODQyLS43NTggMzAuMTMzLjUzMyIgZmlsbD0iIzQzNjBCN0ZGIiBzdHJva2U9IiM0MzYwQjdGRiIvPjxwYXRoIGQ9Im0yMjUuNjAzIDE5NC40ODQtMS42MjggMi40ODMtMjYuNDg4LjI2N2MtMTYuODE1LjE2OS0yNi40ODkuNjMxLTI2LjQ4OSAxLjI2NiAwIC42MyA4LjUzNiAxLjA5OSAyMy4wNzEgMS4yNjkgMTQuOTkxLjE3NCAyMi44NTgtLjA3NyAyMi40NjItLjcxOS0uMzM1LS41NDMuODQ4LS4zNzQgMi42MjkuMzc1IDEuNzgyLjc0OSAzLjU2OCAyLjE5OCAzLjk2OSAzLjIxOS40MDIgMS4wMjEuNzYyIDI1Ljk3NC44MDEgNTUuNDUxLjA4IDYxLjQxLjY3NiA1Ny40Ny04LjUxMyA1Ni4yNzEtMi43MDQtLjM1My01LjQzOS0xLjA1Mi02LjA3OC0xLjU1My0uNzE0LS41Ni0xLjQxLS41MDctMS44MDguMTM3LS4zNTYuNTc3IDMuMDI3IDQuNjk4IDcuNTE4IDkuMTU5bDguMTY2IDguMTExIDUuODQ1LTYuMzYgNS44NDYtNi4zNi4xMzgtMzcuNWMuMjM4LTY0LjY0NC41MjEtNzQuMTI4IDIuMzE1LTc3LjQ4MiAxLjU3My0yLjk0MSAxLjU0NC0zLjAzMy0yLjA4NS02Ljc1LTQuMjgtNC4zODMtNy4zNzItNC43OTQtOS42NzEtMS4yODRNMjgxIDIyOGMtMi42OTEgMi44OC0zLjE0MyAzLTExLjM0MiAzLTQuNjk3IDAtOC43ODcuMzk5LTkuMDg4Ljg4Ny0xLjA5OCAxLjc3NiAyLjA4IDIuODI5IDguNzM5IDIuODk2IDMuNzQ0LjAzOCA3LjQ1Ny42MDggOC4yNSAxLjI2NiAxLjIuOTk2IDEuNDQxIDYuNTkxIDEuNDQxIDMzLjUyNnYzMi4zMzFsLTQgMy4yMTRjLTIuMiAxLjc2OC00IDMuOTUxLTQgNC44NTEgMCAyLjMzNCA2LjE5MyA4LjAyOSA4LjczIDguMDI5IDEuNDE0IDAgNC42MDMtMi43NzkgOS40NTItOC4yMzcgNC4wMjUtNC41MzEgOS45MDYtMTAuOTExIDEzLjA2OC0xNC4xNzkgMy4xNjMtMy4yNjggNS43NS02LjI4NiA1Ljc1LTYuNzA2IDAtLjQyLTIuMzYyLjc5OS01LjI1IDIuNzA3LTkuNTY5IDYuMzI1LTkuMjEgNy4zMDctOS41MTYtMjUuOTg3LS4yMjQtMjQuNDUyLS4wMzItMjkuMjU4IDEuMjUtMzEuMjE1LjgzNC0xLjI3MiAxLjUxNi0yLjQ3OCAxLjUxNi0yLjY3OSAwLS43MjMtOS44MDQtNi43MDQtMTAuOTg4LTYuNzA0LS42NjUgMC0yLjQ3MSAxLjM1LTQuMDEyIDNNMTIyLjY2NyAyMDYuNjY3Yy0uOTk0Ljk5NC0uODA3IDEyMS4zMzMuMTg4IDEyMS4zMzMuNDcgMCAzLjE3LTIuNDQ4IDYtNS40NGw1LjE0NS01LjQ0VjIwOS45MDJsLTQuMjUtMS45MjljLTQuNTgtMi4wNzktNi4wNDEtMi4zNDgtNy4wODMtMS4zMDYiIGZpbGw9IiM0MzYwQjdGRiIgc3Ryb2tlPSIjNDM2MEI3RkYiLz48cGF0aCBkPSJNMzM5LjY2NyAyMzQuNjY3Yy0uMzY3LjM2Ni0uNjY3IDkuNTM2LS42NjcgMjAuMzc3IDAgMTUuMTE4LS4zMDggMTkuOTY3LTEuMzIyIDIwLjgwOC0uODA3LjY3LTcuNzA4IDEuMjA0LTE3Ljc1IDEuMzcyLTEzLjgxMy4yMzItMTYuNDI4LjUxNS0xNi40MjggMS43NzYgMCAxLjI2MyAyLjY1IDEuNTQzIDE2Ljc1IDEuNzc0IDE0LjIxMi4yMzMgMTYuNzUuNTA1IDE2Ljc1IDEuNzk3IDAgLjgzNy0yLjA1NiA0Ljk4OS00LjU2OCA5LjIyNkE1NzU2LjA4NSA1NzU2LjA4NSAwIDAgMCAzMjUuODAxIDMwM2MtMS4xMzUgMS45MjUtMy4zIDUuMy00LjgxMSA3LjUtNC4wMiA1Ljg1MS03LjE2IDExLjY2NC02LjYwMSAxMi4yMjMuMjY4LjI2OCAxLjk3OC0xLjIzNyAzLjc5OS0zLjM0MyAxLjgyMi0yLjEwNyA1LjU2Mi02LjM5NiA4LjMxMi05LjUzMSAyLjc1LTMuMTM1IDguODI1LTEwLjA4OSAxMy41LTE1LjQ1MyA0LjY3NS01LjM2MyA5LjI4OC0xMC41NzIgMTAuMjUtMTEuNTc0IDEuNzk3LTEuODcxIDkuMDYtMi4zMjIgMzcuNDEyLTIuMzIyIDUuMDM5IDAgOS41MDMtLjMzOSA5LjkyLS43NTQuOTk4LS45OTEtMi45OTUtNS4xOTItOC40MjgtOC44NjhsLTQuMzQ3LTIuOTQtNC4wMTQgNC41Ni00LjAxNCA0LjU2LTEyLjY0LS4yNzktMTIuNjM5LS4yNzkuMjQxLTIuNWMuMTMzLTEuMzc1LjI3OS05LjEwNC4zMjUtMTcuMTc1LjA5MS0xNS44MDEtLjYyNC0xOC44MjUtNC40NDYtMTguODI1LTEuMjcxIDAtMy4xMjUtLjktNC4xMi0yLTEuOTItMi4xMjEtMi43NTUtMi40MTItMy44MzMtMS4zMzMiIGZpbGw9IiM0MzYwQjdGRiIgc3Ryb2tlPSIjNDM2MEI3RkYiLz48cGF0aCBkPSJNMzM4Ljc4NSAxODYuNzVjLS42NDEgMS41MTMtMS4yODkgNS45LTEuNDM5IDkuNzUtLjE1MSAzLjg1LS4yOSA3LjMyNC0uMzEgNy43Mi0uMDIuMzk2LTUuNzczLjg0Ni0xMi43ODYgMS0xMC4wMzQuMjItMTIuNzUuNTc0LTEyLjc1IDEuNjU5IDAgMS4wOTggMi4yMDQgMS4zNDEgMTAuODM4IDEuMTkzIDE0LjcyMi0uMjUzIDE1LjM0NC4xOCAxNC42NyAxMC4yMS0uMjggNC4xNTQtLjg4MyA3LjkyOC0xLjM0MSA4LjM4Ni0uNDU4LjQ1Ny03LjQzMy44NzYtMTUuNS45MjktMTEuODczLjA3OS0xNC42NjcuMzY1LTE0LjY2NyAxLjUgMCAxLjE2OCA1Ljg3IDEuNDg3IDM1IDEuOTAzIDM0LjIyNy40ODkgMzQuOTk3LjU0NCAzNC44NTggMi41LS4wNzggMS4xLS43MzYgMy40NTYtMS40NjQgNS4yMzYtMi4yNjEgNS41MzQtLjE1MSA1Ljg4OCA3Ljc5NyAxLjMwNSAzLjg1NS0yLjIyMyA3LjQ1Ny00LjA0MSA4LjAwNC00LjA0MSAxLjY3OCAwIDQuNzM3LTMuOTc4IDMuNzMxLTQuODUzLTQuNjQyLTQuMDM3LTEwLjM1My04LjE0Ny0xMS4zMTktOC4xNDctLjY1NCAwLTIuNDA3Ljg1Ni0zLjg5NyAxLjkwMS0yLjA5NSAxLjQ3LTUuMTI4IDIuMDIzLTEzLjM1NCAyLjQzOC0xMy41OTQuNjg2LTE0LjEzNy4zNDgtMTQuMzc2LTguOTUxLS4yNzYtMTAuNzI5LS44MDMtMTAuMzg4IDE2LjA1NS0xMC4zODggMTEuMjI0IDAgMTQuNDY1LS4yOTIgMTQuNDY1LTEuMzA0IDAtMS4zMTQtNi4wMjMtNy42OTYtNy4yNjMtNy42OTYtLjM2NyAwLTIuMDY3IDEuMzY4LTMuNzc3IDMuMDM5LTMuMDE2IDIuOTQ4LTMuMzU1IDMuMDMxLTExLjI4NSAyLjc1bC04LjE3NS0uMjg5di03YzAtMy44NS0uMzY4LTcuNTY5LS44MTgtOC4yNjQtLjc1NS0xLjE2OC03Ljg3OC01LjIzNi05LjE2Ny01LjIzNi0uMzEgMC0xLjA4OSAxLjIzOC0xLjczIDIuNzUiIGZpbGw9IiM0MzYwQjdGRiIgc3Ryb2tlPSIjNDM2MEI3RkYiLz48cGF0aCBkPSJNMTYxLjY2NyAyMzYuNjY3Yy0uMzY3LjM2Ni0uNjY3IDQuMzYxLS42NjcgOC44NzcgMCA1Ljg5MS40MDMgOC41NDYgMS40MjcgOS4zOTUgMi4wNzUgMS43MjMgMjYuOTY3IDEuODA5IDI5LjAyNS4xMDEgMS45MzctMS42MDggMi4yMTctMTUuOTcxLjM0OC0xNy44NC0xLjI5MS0xLjI5MS0yOC44ODgtMS43NzktMzAuMTMzLS41MzMiIGZpbGw9IiNFN0VFRkZGRiIgc3Ryb2tlPSIjRTdFRUZGRkYiIG9wYWNpdHk9Ii44Ii8+PHBhdGggZD0iTTM1My42NzkgMjk0LjY1NGMtLjYzOS42MzkgMS41NzEgMy40NTEgMTEuODc5IDE1LjEyIDIuNzgyIDMuMTQ5IDYuNTMyIDcuNjM5IDguMzM0IDkuOTc2IDEuODAyIDIuMzM4IDQuMDYyIDQuMjUgNS4wMjQgNC4yNSAyLjEyMiAwIDguMzY0LTkuMjc3IDcuOTA3LTExLjc1Mi0uMjA2LTEuMTE0LTUuMDU4LTQuMTA4LTEzLjM3NS04LjI1My03LjE3OC0zLjU3OC0xNC4yNS03LjI5LTE1LjcxNC04LjI1LTIuOTk1LTEuOTYyLTMuMTQ0LTIuMDAyLTQuMDU1LTEuMDkxTTI3My4wNDkgMTk2LjYzMWM1LjI4NyAxNC4xNzMgNy4yMSAxNS40OTUgMTMuNTI1IDkuMjk2IDIuNDM0LTIuMzg5IDQuNDI2LTQuNjkzIDQuNDI2LTUuMTIxIDAtLjQyNy0yLjgxMi0yLjE5MS02LjI1LTMuOTE4LTMuNDM3LTEuNzI4LTcuMzc1LTMuOTExLTguNzUtNC44NTItNS42MjYtMy44NDktNS45MjctMy4zODEtMi45NTEgNC41OTVNMTM3Ljc3NiAxODYuNTU3Yy0uNTUuNTUxLjI0NSAyLjIxMiA2LjY2OCAxMy45NDMgMS4yMDUgMi4yIDIuNjg2IDQgMy4yOTIgNCAuNjA2IDAgMi43MjUtMi4xMjYgNC43MS00LjcyNWwzLjYwOC00LjcyNi04LjI3Ny00LjI2NWMtNC41NTItMi4zNDYtOC41My00LjM5Mi04LjgzOS00LjU0Ni0uMzEtLjE1NC0uODMzLS4wMS0xLjE2Mi4zMTlNMzA5Ljc2MSAyNTQuNTczYy0xLjEwMiAxLjEwMSA5LjUwNyAxNS40MjcgMTEuNDIzIDE1LjQyNyAxLjgxOSAwIDYuMjM3LTcuMjM3IDUuNTk0LTkuMTY1LS4xODYtLjU1OC0zLjI0OS0yLjA1MS02LjgwOC0zLjMxOC0zLjU1OC0xLjI2Ny03LjE2OS0yLjU5MS04LjAyMi0yLjk0Mi0uODU0LS4zNS0xLjgzOC0uMzUyLTIuMTg3LS4wMDJNMzE5LjQ2MyAyMzguMjM3Yy0uNjQ4IDEuNjg3IDYuOTk3IDEzLjI2MyA4Ljc2IDEzLjI2MyAxLjUwNiAwIDUuMDA5LTYuNDUzIDQuMzg1LTguMDc5LS4yNzYtLjcyLTIuNDM5LTEuODYyLTQuODA1LTIuNTM4LTIuMzY3LS42NzUtNS4wODEtMS44ODctNi4wMzItMi42OTItMS41MjEtMS4yODctMS43OTktMS4yODEtMi4zMDguMDQ2TTE1OS42OTYgMjEzLjYzN2MtLjM1LjM1MS4xNjIgMS44MTMgMS4xMzggMy4yNS45NzYgMS40MzcgMi42MDYgNC41MjYgMy42MjIgNi44NjMgMS4wMTYgMi4zMzggMi40MjQgNC4yNSAzLjEyOCA0LjI1IDEuMTQ3IDAgNS40MTYtNS4wMDQgNS40MTYtNi4zNDkgMC0uNjY5LTExLjA3LTguNjUxLTExLjk5Ni04LjY1MS0uMzY5IDAtLjk1Ny4yODctMS4zMDguNjM3IiBmaWxsPSIjNDM2MEI3RkYiIHN0cm9rZT0iIzQzNjBCN0ZGIi8+PC9zdmc+",
    "sourceName": "写源助手",
    "sourceUrl": "简单小工具"
  },
  {
    "articleStyle": 0,
    "customOrder": -10098345,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceComment": "",
    "sourceGroup": "📖 阅读,R18",
    "sourceIcon": "https://sm01.alicdn.com/L1/272/1990/favicon/favi.ico",
    "sourceName": "星云寻书",
    "sourceUrl": "https://vt.sm.cn/api/novelStarReco/index?uc_param_str=dnntnwvepffrgibijbprsvdsdicheiniut#"
  },
  {
    "articleStyle": 2,
    "customOrder": -101073,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": ".lpic li",
    "ruleContent": "class.movurl@a@html&&class.thumb l@html&&class.info@html\n<js>\ndoc=org.jsoup.Jsoup.parse(result);\nimg=doc.select('img');\ninfo=doc.select('.info').html();\n\nzxb='';dxb='';\nlist=doc.select('a:not(:last-child)').toArray();\n\nfor(i in list){\na='http://www.iyinghua.io'+list[i].select('a').attr('href');\nb='http://www.iyinghua.io'+list[list.length-1-i].select('a').attr('href');\nzxb=zxb+'<button id=\"but'+i+'\" class=\"button\" value=\"'+a+'\">'+list[i].text()+'</button>';\ndxb=dxb+'<button id=\"dbut'+i+'\" class=\"button\" value=\"'+b+'\">'+list[list.length-1-i].text()+'</button>'\n}\n\nzx='<div id=\"zx\" style=\"display:block\">'+zxb+'</div>';\ndx='<div id=\"dx\" style=\"display:none\">'+dxb+'</div>';\n\n\nscript='(function(){$(\".button:first\").addClass(\"upBtn\");url=$(\".button:first\").val();video(url)})();\\n$(\".button\").click(function(){id=$(this).attr(\"id\");\\nid=\"#\"+id;\\n$(\".button\").removeClass(\"upBtn\");\\n$(id).addClass(\"upBtn\");\\nurl=$(id).val();video(url)});\\n$(\"li\").click(function(){id=$(this).attr(\"id\");\\nid=\"#\"+id;\\n$(\"li\").removeClass(\"active\");\\n$(id).addClass(\"active\");\\nif(id==\"#b1\"){$(\"#juji\").show();$(\"#info\").hide()}else{$(\"#info\").show();$(\"#juji\").hide()}});$(\"#dxb\").click(function(){if($(\"#dxb\").text()==\"倒序\"){$(\"#dxb\").text(\"正序\");$(\"#dx\").show();$(\"#zx\").hide();}else{$(\"#dxb\").text(\"倒序\");$(\"#dx\").hide();$(\"#zx\").show();}}) ';\n\ntap='<div id=\"tab\" style=\"display:inline;\"><ul><li id=\"b1\" class=\"active\">剧集</li><li id=\"b2\">剧情介绍</li><button id=\"dxb\" style=\"display:inline\">倒序</button></ul></div>';\n\nurl='function video(url){$.get(url,function(result){src=result.match(/data-vid=\"(.*?)\"/)[1];jx=\"https://tup.iyinghua.com/?vid=\"+src+\"&m=1\";$(\"#dd\").html(src);$(\"#ff\").attr(\"src\",jx)})};\\n'\n\njuji='<div id=\"juji\" style=\"display:block\">'+zx+dx+'</div>';\ninfo='<div id=\"info\" style=\"display:none\">'+img+info+'</div>';\n\nresult='<html><head> <script src=\"https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js\"> </script> </head>\\n<div id=\"dd\">\\n</div><iframe src=\"\" width=\"100%\" height=\"300px\" id=\"ff\" scrolling=\"no\"allowfullscreen=\"true\" webkitallowfullscreen=\"true\" frameborder=\"0\" autoplay=\"true\" mozallowfullscreen=\"true\"></iframe>\\n'+tap+'\\n<div id=\"html\" vspace=\"120\">\\n'+juji+info+'\\n</div>\\n<script>\\n'+url+script+'\\n</script>\\n</html>'\n</js>",
    "ruleDescription": "",
    "ruleImage": "//@src",
    "ruleLink": "http://www.iyinghua.io{{//h2//@href}}",
    "ruleNextPage": "text.下一页@href",
    "rulePubDate": "//p/text()",
    "ruleTitle": "//@title&&//font/text()&&//span[2]//text()##\\n##∣",
    "singleUrl": false,
    "sortUrl": "新番::http://www.iyinghua.io/{{java.timeFormat(Date.now()).match(/(\\d{4})/)[1]}}/\nOVA::http://www.iyinghua.io/36\n剧场::http://www.iyinghua.io/37\n真人::http://www.iyinghua.io/38\n搜索::http://www.iyinghua.io/search/{{source.getVariable()}}/\n日本动漫::http://www.iyinghua.io/japan/\n国产动漫::http://www.iyinghua.io/china/\n欧美动漫::http://www.iyinghua.io/american/\n动漫电影::http://www.iyinghua.io/movie/",
    "sourceGroup": "🎞️ 影视,R18",
    "sourceIcon": "http://www.iyinghua.io/js/20180601/ico.png",
    "sourceName": "樱花动漫",
    "sourceUrl": "http://www.iyinghua.io",
    "style": ".button{outline:none;width:90px; height:35px; border-radius: 10px; border:3px solid #fff; background-color: #E9E4E0; }\n.upBtn{outline:none;width:90px; height:35px; border-radius: 10px; border:3px solid #fff; background-color: #ffffcc; }\nimg {\nfloat:left;margin-right:30px;\nwidth:150px}\n\n#intro{float:left;\nborder-style:double;\nborder-color:black;padding:5px;\nborder-width:5px}\n#html{margin-top:20px}\n#dxb{border-radius: 1px; border:3px solid #fff; background-color: #E9E4E0;outline:none}\n\nul{\nborder-bottom:0;\n\theight:40px;\n}\nli {\n\tlist-style:none;\n\tfloat:left;\n\theight:34px;\n\tmargin-right:20px;\n\tcolor:#909090;\n\tline-height:34px;\n}\nli.active {\n\tcolor:#50B400;\n\tborder-bottom:3px solid #50B400;\n}\n#dd {\npadding:5px 0;\noverflow:scroll;\nbackground-color:#E9E4E0;\n}\nhtml{width:100%}"
  },
  {
    "articleStyle": 2,
    "customOrder": -101071,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\"User-Agent\": \"Mozilla/5.0 (Linux; Android 12; 2112123AC) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.104 Mobile Safari/537.36\",\"Referer\":\"https://yanetflix.me\"}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "<js>\nvar element='class.module-item';\n\nvar source=source.getVariable();\n\nif (baseUrl.match(/search/)){\n\tjava.log(String(source).length)\n\t\n\tString(source).length==0?java.longToast(\"没有搜索关键词，请在右上角源变量中输入\"):java.longToast(source+\"：搜索完成\")\n\t\n\tsearch_url=baseUrl+\"?wd=\"+source;\n\t\n\tdata=java.ajax(search_url);\n\t\n\tjava.setContent(data);\n\t\n\tresult=java.getElement(element)\n\t\n\t}else{\n\t\t\n\t\tresult=java.getElement(element)\n\t\t\n\t\t}\n\tresult\n</js>",
    "ruleContent": "<html>\n<head>\n<meta charset=\"utf-8\">\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no\"/>\n<link rel=\"stylesheet\" type=\"text/css\" href=\"https://cdn.jsdelivr.net/gh/ljun223/reader3@main/js/yingshi.css\" />\n<script src=\"//cdn.staticfile.org/jquery/2.2.4/jquery.min.js\"></script>\n</head>\n\n<div class =\"dz\" width=\"100%\"></div>\n\n<div class=\"dplayer\" id=\"dplayer\" style=\"width:100%;height:300\"></div>\n\n<div id=\"tab\"><ul>{{@@class.module-tab-item tab-item@span@html##span##a}}<a>内容简介</a></ul></div>\n<br>\n<br>\n{{@@class.module-play-list-content@html}}\n\n<ul class=\"module-play-list-content jianjie\" ><img src=\"{{@@class.module-info-poster@img@data-original}}\">{{@@class.module-info-introduction@p@html}}</ul>\n\n<script>\nfunction video(url){\n$.get(url,function(result){\njson=result.match(/var player.*?=(\\{.*?\\})</)[1];\nvar src=JSON.parse(json).url;\n\n\tvar path=\"https://yanetflix.me/static/js/playerconfig.js\";\n$.get(path,function(js){\n\tjs=js.match(/player_list=(\\{.*?\\}),MacPlayerConfig/)[1]\n\tfrom=JSON.parse(json).from;\n\tsrc=JSON.parse(js)[from].parse+src;\niframe= '<iframe width=\"100%\" height=\"100%\" src=\"'+src+'\" frameborder=\"0\" border=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" allowfullscreen=\"allowfullscreen\" mozallowfullscreen=\"mozallowfullscreen\" msallowfullscreen=\"msallowfullscreen\" oallowfullscreen=\"oallowfullscreen\" webkitallowfullscreen=\"webkitallowfullscreen\"></iframe>';\n\n$(\".dplayer\").html(iframe)\n\n$(\".dz\").html(src);\n})\n});\n}\n\n(function(){\n\t\nurl=$(\"button:first()\").val()\nvideo(\"{{source.sourceUrl}}\"+url)\n\t\n$(\".module-play-list-content\").hide();\n$(\".module-play-list-content:eq(0)\").show();\n$(\"li:eq(0)\").addClass(\"active\")})();\n\n$(\"button\").ready(function(){\nurl=$(this).val();\n$(\"button:first\").addClass(\"upBtn\");\nvideo(url);\n});\n\n$(\"button\").click(function(){\n$(\"button\").removeClass(\"upBtn\");\n$(this).addClass(\"upBtn\");\nurl='https://yanetflix.me'+$(this).val();\nvideo(url);\n});\n\n$(\"li\").click(function(){\n$(\"li\").removeClass(\"active\");\n$(this).addClass(\"active\");\nindex=$(this).index();\n$(\".module-play-list-content\").hide();\n$(\".module-play-list-content:eq(\"+index+\")\").show();\n})\n</script>\n</html>\n\n@js:\nresult = result.replace(/<a.*?href=\"([^\"]+)\".*?><span>([^<]+)<\\/span><\\/a>/g,'<button value=\"$1\">$2</button>').replace(/<a/g,'<li').replace(/<\\/a>/g,'</li>')\n",
    "ruleImage": "img@data-original",
    "ruleLink": "a.0@href",
    "ruleNextPage": "text.下一页@href",
    "rulePubDate": "class.module-item-cover@text||class.module-info-item-content@text",
    "ruleTitle": "a@title||strong@text",
    "singleUrl": false,
    "sortUrl": "搜索::https://yanetflix.me/vod/search/-------------.html\n电影::https://yanetflix.me/vod/show/1-----------.html\n电视剧::https://yanetflix.me/vod/show/2-----------.html\n综艺::https://yanetflix.me/vod/show/3-----------.html\n动漫::https://yanetflix.me/vod/show/4-----------.html",
    "sourceComment": "",
    "sourceGroup": "🎞️ 影视,R18",
    "sourceIcon": "https://ugc.hitv.com/3/22040215100116D5902FA5F85F30A2245E0DAAAAFMjky/uyu3xI0.png",
    "sourceName": "鸭奈飞",
    "sourceUrl": "https://yanetflix.me",
    "style": ".dz {\npadding:5px 0;\noverflow:scroll;\nbackground:#1C1B1E;color:#D3D3D3;\n}\nimg{\n\tfloat:left;\n\tmargin:10px;\n\twidth:50%\n\t}\np{\n\tmargin:10px;\n\tcolor:white;\n\t}"
  },
  {
    "articleStyle": 2,
    "customOrder": -101070,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\"User-Agent\": \"Mozilla/5.0 (Linux; Android 12; 2112123AC) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.104 Mobile Safari/537.36\",\n\"Referer\":\"https://www.freeok.vip\"\n}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginUrl": "https://www.freeok.vip",
    "ruleArticles": "<js>\nvar a='class.module-item';\n\nhtml=java.getElement(a);\n\n//java.log(html)\n\nif(baseUrl.match(/so/)){\n\t\n\turl=baseUrl + source.getVariable() + \"-------------.html\";\n\t\n\tdata=java.ajax(url);\n\t\n\t//java.log(data)\n\t\n\tjava.setContent(data);\n\t\n\thtml=java.getElement(a);\n\t\n\tif(data.match(\"请不要频繁操作\")){\n\t\t\n\t\tjava.longToast(\"搜索时间间隔5秒\")\n\t\t\n\t\t}\n\t\telse if(data.match(\"输入验证码\"))\n\t\t{\n\t\t\tyzm=java.getVerificationCode(\"https://www.freeok.vip/index.php/verify/index.html?\")\n\t\t\t\n\tjava.log(yzm)\n\t\n\tvar yzmurl=\"https://www.freeok.vip/index.php/ajax/verify_check?type=search&verify=\"+yzm+\",\"+JSON.stringify({\"method\": \"POST\",\"referer\":url});\n\t\n\tcookie=java.getCookie(yzmurl);\n\t\n\tjava.log(java.ajax(yzmurl))\n\t\n\turl=url+\",\"+JSON.stringify({\"cookie\":cookie})\n\t\n\tjava.log(url)\n\t\n\tdata=java.ajax(url)\n\t\n\t//java.log(data)\n\t\n\tjava.setContent(data);\n\t\n\thtml=java.getElement(a);\n}\n  \n\t}else{html=html}\n\thtml\n</js>",
    "ruleContent": "<html>\n<head>\n<meta charset=\"utf-8\">\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no\"/>\n<link rel=\"stylesheet\" type=\"text/css\" href=\"https://cdn.jsdelivr.net/gh/ljun223/reader3@main/js/yingshi.css\" />\n<script src=\"//cdn.staticfile.org/jquery/2.2.4/jquery.min.js\"></script>\n</head>\n<div class =\"dz\" width=\"100%\"></div>\n\n<div class=\"dplayer\" id=\"dplayer\" style=\"width:100%;height:350\"></div>\n\n<div id=\"tab\"><ul>{{@@class.module-tab-item@tag.span@html##span##a}}</ul></div>\n<br>\n{{@xpath://*[@class=\"module-play-list\"]/div##div##ul}}\n\n<script>\nfunction video(url){\n$.get(url,function(result){\njson=result.match(/var player.*?=(\\{.*?\\})</)[1];\n//alert (json)\nnext=JSON.parse(json).link_next;\nif(!next){next=next}else{next=\"https://www.freeok.vip\"+next}\nsrc= JSON.parse(json).url;\n//src= atob(JSON.parse(json).url);\nsrc=decodeURIComponent(src);\n//alert(src)\nvar title=result.match(/<title>(.*?)<\\/title>/)[1];\ntitle=title.split(\" -\")[0];\nif(src.match(/quark/)){\n\talert(\"复制地址栏链接，前往夸克网盘保存\")\n\t$(\".dz\").html(\"🚀 点击链接即可保存 体验4K臻享画质：\"+src)\n\t}else{\npath=\"/okplayer?url=\"+src+\"&next=\"+next+\"&title=\"+title;\n//alert (path)\nframe='<iframe border=\"0\" src=\"'+path+' \" width=\"100%\" height=\"100%\" marginwidth=\"0\" framespacing=\"0\" allowfullscreen=\"true\" marginheight=\"0\" frameborder=\"0\" scrolling=\"no\" vspale=\"0\" noresize>'\n\n$(\".dplayer\").html(frame)\n$(\".dz\").html(path);\n}\n});\n}\n\n(function(){\nurl=$(\"button:first()\").val();\nvideo(\"{{source.sourceUrl}}\"+url);\n\n$(\".module-play-list-content\").hide();\n$(\".module-play-list-content:eq(0)\").show();\n$(\"li:eq(0)\").addClass(\"active\")})();\n\n$(\"button\").ready(function(){\nurl=$(this).val();\n$(\"button:first\").addClass(\"upBtn\");\nvideo(url);\n});\n\n$(\"button\").click(function(){\n$(\"button\").removeClass(\"upBtn\");\n$(this).addClass(\"upBtn\");\nurl='https://www.freeok.vip'+$(this).val();\nvideo(url);\n});\n\n$(\"li\").click(function(){\n$(\"li\").removeClass(\"active\");\n$(this).addClass(\"active\");\nindex=$(this).index();\n$(\".module-play-list-content\").hide();\n$(\".module-play-list-content:eq(\"+index+\")\").show();\n})\n</script>\n</html>\n\n@js:\nresult = result.replace(/<a.*? href=\"([^\"]+)\".*?><span>([^<]+)<\\/span><\\/a>/g,'<button value=\"$1\">$2</button>').replace(/<a/g,'<li').replace(/<\\/a>/g,'</li>')",
    "ruleImage": "img@data-original",
    "ruleLink": "a.0@href",
    "ruleNextPage": "text.下一页@href",
    "rulePubDate": "class.module-item-note@text",
    "ruleTitle": "img@alt",
    "singleUrl": false,
    "sortUrl": "搜索::https://www.freeok.vip/so1so/\n电影::https://www.freeok.vip/vod-show/1-----------.html\n剧集::https://www.freeok.vip/vod-show/2-----------.html\n动漫::https://www.freeok.vip/vod-show/3-----------.html\n综艺::https://www.freeok.vip/vod-show/4-----------.html\n短剧::https://www.freeok.vip/vod-show/12-----------.html",
    "sourceGroup": "🎞️ 影视,R18",
    "sourceIcon": "https://www.freeok.vip/mxtheme/images/favicon.png",
    "sourceName": "Freeok",
    "sourceUrl": "https://www.freeok.vip/",
    "style": "#tab{\nheight:40px;\nmargin-bottom:8px;\n}\n\n.dz {\npadding:5px 0;\noverflow:scroll;\nbackground:#1C1B1E;color:#D3D3D3;\n}\n\nul{\nmargin:0;\npadding:0;\n}\n\n#tab li {\nfont-size:15px;\nlist-style:none;\nfloat:left;\nheight:30px;\nmargin-right:5px;\ncolor:#D3D3D3;\nline-height:25px;\n}\n\n#tab li.active {\ncolor:#FF8C00;\nborder-bottom:3px solid #FF8C00;\n}\n\nbutton{\noutline:none;\nheight:35px; \nborder:3px solid #1C1B1E ;\nborder-radius:8px;\nmargin-bottom:8px;\nbackground:#1C1B1E;color:#A9A9A9;\nvertical-align:middle; \nwidth:24%;\n}\n\nbutton.upBtn{\nborder:1px solid #FF8C00 ;\nbackground-color:#555555; \n}\n\nbody{\nmargin:0;\nbackground-color: #333333; \n}"
  },
  {
    "articleStyle": 0,
    "customOrder": -101057,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceComment": "ai交互小说软件需登录",
    "sourceGroup": "R18",
    "sourceIcon": "",
    "sourceName": "魅魔ai",
    "sourceUrl": "http://i.sexyai.top/Uc8hq"
  },
  {
    "articleStyle": 0,
    "customOrder": -101052,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "injectJs": "const host = document.location.host;\nconst path = document.location.pathname;\nconst params = new URLSearchParams(window.location.search);\nconst currentUrl = window.location.href;\nconst url = new URL(currentUrl);\n\n// 域名重定向\nif (host === 'changdunovel.com' && path.endsWith('share-v2.html')) {\n  const bookid = params.get('book_id');\n  if (bookid) {\n    document.location.href = `https://fanqienovel.com/page/${bookid}`;\n  }\n}\n\nconst adBlockSystem = setInterval(() => {\n  const shouldSkip = (el) => {\n    return el.closest('.horizontal-slip-modal-card') || \n           el.closest('.topic-comment-item.new-card-style');\n  };\n document.querySelectorAll('.page-reader-btn.download, .download-btn, .app-download-popup, .download-app')\n    .forEach(el => {\n      if (!shouldSkip(el) && el.textContent.match(/下载|APP|安装/)) {\n        el.remove();\n      }\n    });\n  document.querySelectorAll('.mask, .popup-layer, .modal-backdrop, .popup-container')\n    .forEach(el => {\n      if (!shouldSkip(el)) {\n        el.remove();\n      }\n    });\n  document.querySelectorAll('.float-ad, .bottom-ad, .fixed-ad')\n    .forEach(ad => {\n      if (!shouldSkip(ad)) {\n        ad.remove();\n      }\n    });\n}, 500);\n\nconst fixBookClick = setInterval(() => {\n  const shouldSkip = (el) => {\n    return el.closest('.horizontal-slip-modal-card') || \n           el.closest('.topic-comment-item.new-card-style');\n  };\n  \n  document.querySelectorAll('.horizontal-slip-books-item').forEach(item => {\n    if (shouldSkip(item)) return;\n    \n    item.style.pointerEvents = 'auto';\n    item.style.cursor = 'pointer';\n    \n    if (item.id && !item.hasAttribute('data-click-fixed')) {\n      item.setAttribute('data-click-fixed', 'true');\n      item.addEventListener('click', (e) => {\n        e.preventDefault();\n        window.location.href = `https://fanqienovel.com/page/${item.id}`;\n      });\n    }\n  });\n  \n  document.querySelectorAll('div.books-fold-card-book-item.marrow-book-item').forEach(item => {\n    if (shouldSkip(item)) return;\n    \n    item.style.pointerEvents = 'auto';\n    item.style.cursor = 'pointer';\n    \n    const bookId = item.getAttribute('data-book-id') || item.id;\n    if (bookId && !item.hasAttribute('data-click-fixed')) {\n      item.setAttribute('data-click-fixed', 'true');\n      item.addEventListener('click', (e) => {\n        e.preventDefault();\n        window.location.href = `https://fanqienovel.com/page/${bookId}`;\n      });\n    }\n  });\n}, 1000);\n\nconst paginationSystem = setInterval(() => {\n  const shareBottom = document.querySelector(\".share-bottom-button\");\n  const shouldSkip = (el) => {\n    return el && (el.closest('.horizontal-slip-modal-card') || \n                 el.closest('.topic-comment-item.new-card-style'));\n  };\n  \n  if (shareBottom && !shouldSkip(shareBottom)) {\n    shareBottom.remove();\n    const shareApp = document.querySelector(\".share-end-href-app\");\n    const offset = Number(url.searchParams.get('offset') || \"0\");\n    \n    if (shareApp && !shouldSkip(shareApp)) {\n      shareApp.parentNode.innerHTML = `\n        <div class=\"share-end-href-app\" style=\"display:flex;justify-content:center;gap:20px;padding:12px 0;\">\n          ${offset === 0 ? \"\" : `<a style=\"padding:8px 16px;border-radius:4px;background:#f0f0f0;color:#333;text-decoration:none;\" onclick=\"changePage(${offset-1}, url)\">上一页</a>`}\n          <span style=\"padding:8px 16px;color:#666;\">${offset+1}</span>\n          <a style=\"padding:8px 16px;border-radius:4px;background:#f0f0f0;color:#333;text-decoration:none;\" onclick=\"changePage(${offset+1}, url)\">下一页</a>\n        </div>\n      `;\n    }\n  }\n}, 1000);\n\nfunction changePage(value, url) {\n  url.searchParams.set('offset', value);\n  location.replace(url);\n}\n\nconst style = document.createElement('style');\nstyle.textContent = `\n  .page-reader-btn.download:not(.horizontal-slip-modal-card *):not(.topic-comment-item.new-card-style *),\n  .download-btn:not(.horizontal-slip-modal-card *):not(.topic-comment-item.new-card-style *),\n  .app-download-popup:not(.horizontal-slip-modal-card *):not(.topic-comment-item.new-card-style *) {\n    display: none !important;\n    visibility: hidden !important;\n    pointer-events: none !important;\n    opacity: 0 !important;\n  }\n  \n  .topic-comment-item:not(.new-card-style):not(.horizontal-slip-modal-card *) {\n    pointer-events: none !important;\n    user-select: none !important;\n  }\n  \n  .horizontal-slip-books-item:not(.horizontal-slip-modal-card *):not(.topic-comment-item.new-card-style *),\n  div.books-fold-card-book-item.marrow-book-item:not(.horizontal-slip-modal-card *):not(.topic-comment-item.new-card-style *) {\n    pointer-events: auto !important;\n    cursor: pointer !important;\n  }\n`;\ndocument.head.appendChild(style);\n\nsetTimeout(() => {\n  clearInterval(adBlockSystem);\n  clearInterval(fixBookClick);\n}, 30000);",
    "jsLib": "var  base_url = \t'https://api.langge.cf';\n\nfunction checkSum(s) {\n  return String(java.lang.String(s).hashCode())\n}\n\nfunction getKey(key) {\n  let parts = key.split(\";\");\n  for (let part of parts) {\n    if (part.includes(\"qttoken\")) {\n      return part.split(\"=\")[1];\n    }\n  }\n  return \"\";\n}\n\nvar javaImport = new JavaImporter();\njavaImport.importClass(\n  Packages.android.util.Base64,\n  Packages.java.lang.String,\n  Packages.java.net.URL,\n  Packages.okhttp3.HttpUrl\n);\nwith (javaImport) {\n  function btoa(data) {\n    return Base64.encodeToString(String(data).getBytes(\"UTF-8\"), 2);\n  }\n\n  function getSubDomain(url) {\n    let baseUrl = getBaseUrl(url);\n    if (!baseUrl) {\n      return url;\n    }\n    try {\n      let mURL = URL(baseUrl);\n      let host = mURL.host;\n      if (isIPAddress(host)) return host;\n      return HttpUrl.parse(baseUrl).topPrivateDomain() || host;\n    } catch (e) {\n      this.java.log(e);\n      return baseUrl;\n    }\n  }\n\n  function getDomain(url) {\n    let baseUrl = getBaseUrl(url);\n    if (!baseUrl) {\n      return url;\n    }\n    try {\n      return URL(baseUrl).host;\n    } catch (e) {\n      return baseUrl;\n    }\n  }\n  /**\n   * 移除cookie\n   */\n  function removeCookie(url) {\n    const { cookie } = this;\n    cookie.removeCookie(url);\n    let domains = [getDomain(url), getSubDomain(url)];\n    domains.forEach((domain) => {\n      cookie.removeCookie(domain);\n    });\n  }\n}\n\nfunction getBaseUrl(url) {\n  if (!url) {\n    return null;\n  }\n  url = String(url);\n  if (url.match(/https?:\\/\\//i)) {\n    var index = url.indexOf(\"/\", 9);\n    return index == -1 ? url : url.substring(0, index);\n  }\n  return null;\n}\n\nfunction isIPv4Address(ip) {\n  ip = String(ip);\n  let parts = ip.split(\".\");\n  if (parts.length !== 4) return false;\n\n  for (let part of parts) {\n    if (!/^\\d+$/.test(part)) return false; // 必须是数字\n    if (part.length > 1 && part[0] === \"0\") return false; // 禁止前导零\n    let num = parseInt(part, 10);\n    if (num < 0 || num > 255) return false; // 范围检查\n  }\n  return true;\n}\n\nfunction isIPv6Address(ip) {\n  ip = String(ip);\n  // 处理双冒号（最多出现一次）\n  if (ip.includes(\":::\")) return false;\n  let doubleColonCount = (ip.match(/::/g) || []).length;\n  if (doubleColonCount > 1) return false;\n\n  // 分割成组\n  let groups = ip.split(\":\");\n  let validGroupCount = 8;\n  let actualGroupCount = groups.filter((g) => g !== \"\").length;\n\n  // 验证组数\n  if (doubleColonCount === 1) {\n    if (actualGroupCount > validGroupCount - 1) return false;\n  } else {\n    if (groups.length !== validGroupCount) return false;\n  }\n\n  // 验证每组内容\n  for (let group of groups) {\n    if (group === \"\") continue; // 跳过空组（双冒号部分）\n    if (!/^[0-9a-fA-F]{1,4}$/.test(group)) return false; // 1-4位十六进制\n  }\n  return true;\n}\n\nfunction isIPAddress(input) {\n  return isIPv4Address(input) || isIPv6Address(input);\n}\n\nfunction getSessionId(cookieString) {\n    const match = cookieString.match(/sessionid=([^;]+)/);\n    return match ? match[1] : null;\n}\n",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": false,
    "loginUi": "[{\"name\": \"邮箱\", \"type\": \"text\"},\n        {\"name\": \"密码\", \"type\": \"password\"},\n        {\n            \"name\": \"♥UI登录书源\",\n            \"type\": \"button\",\n            \"action\": \"login(true)\",\n            \"style\": {\n                \"layout_flexGrow\": 1,\n                \"layout_flexBasisPercent\": 0.4\n            }\n        },\n        {\n            \"name\": \"♥网页登录书源\",\n            \"type\": \"button\",\n            \"action\": \"loginqt()\",\n            \"style\": {\n                \"layout_flexGrow\": 1,\n                \"layout_flexBasisPercent\": 0.4\n            }\n            }, {\n            \"name\": \"🍅番茄登录\",\n            \"type\": \"button\",\n            \"action\": \"webLogin()\",\n            \"style\": {\n                \"layout_flexGrow\": 1,\n                \"layout_flexBasisPercent\": 0.4\n            }\n        }, {\n            \"name\": \"🔮 检测登录\",\n            \"type\": \"button\",\n            \"action\": \"checkStatus()\",\n            \"style\": {\n                \"layout_flexGrow\": 1,\n                \"layout_flexBasisPercent\": 0.4\n            }\n\n        },\n        {\n            \"name\": \" 🔚 退出登录\",\n            \"type\": \"button\",\n            \"action\": \"logout()\",\n            \"style\": {\n                \"layout_flexGrow\": 1,\n                \"layout_flexBasisPercent\": 0.4\n            }\n        }, {\n            \"name\": \" 🗑 清除设备\",\n            \"type\": \"button\",\n            \"action\": \"clearDevice()\",\n            \"style\": {\n                \"layout_flexGrow\": 1,\n                \"layout_flexBasisPercent\": 0.4\n            }\n\n        }, {\n            \"name\": \"❇️ 书源下载\",\n            \"type\": \"button\",\n            \"action\": \"renderVersionPage()\",\n            \"style\": {\n                \"layout_flexGrow\": 1,\n                \"layout_flexBasisPercent\": 0.4\n            }\n      }, {\n            \"name\": \"♻️ 订阅源更新\",\n            \"type\": \"button\",\n            \"action\": \"renderVersionPageRss()\",\n            \"style\": {\n                \"layout_flexGrow\": 1,\n                \"layout_flexBasisPercent\": 0.4\n            }\n        },{\n            \"name\": \"☕打赏享福利\",\n            \"type\": \"button\",\n            \"action\": \"vip()\",\n            \"style\": {\n                \"layout_flexGrow\": 1,\n                \"layout_flexBasisPercent\": 1\n            }\n        },\n  {\n    \ttype: \"text\",\n    \tname: \"番茄Token\"\n  }\n]",
    "loginUrl": "const localVersion = '4.7.27';\n\nfunction webLogin() {\n    var ck = String(cookie.getKey(\"fanqienovel.com\", \"sessionid\"));\n    if (ck && ck != \"\") {\n        java.toast(\"\\n\\n请不要重复登录，请先退出登录！\")\n        return false\n    } \n    try {\n            java.startBrowserAwait(\"https://fanqienovel.com/\", \"登录\")\n    } catch (e) { java.toast(e) }\n  \n    try {\n        cookie.removeCookie(\"snssdk.com\")\n    } catch (e) {}\n    var ck = \"sessionid=\" + String(cookie.getKey(\"fanqienovel.com\", \"sessionid\"));\n    let user\n    try {\n      user = JSON.parse(java.ajax(\"https://fanqienovel.com/api/user/info/v2,\" + JSON.stringify({\n        method: \"GET\",\n        headers: {\n          \"Cookie\": ck\n        }\n      }))).data.name\n     } catch (e) {java.log(e)}\n    if (!ck || ck == \"sessionid=\" || !user) {\n        java.toast(\"\\n\\n未获取到登录凭据，登录失败\")\n        cookie.removeCookie(\"fanqienovel.com\")\n        return false\n    }\n    java.toast(\"\\n\\n欢迎 \" + user + \"\\n登录成功！\")\n    return true\n}\n\nfunction login(flag) {\n\tif (flag == undefined) {\n\t\tresult = JSON.parse(source.getLoginInfo())\n\t} else {\n\t\tjava.longToast(\"\\n\\n💞正在登录中...\")\n\t\tputLoginInfo(JSON.stringify(result))\n\t}\n\t let register_email = String(result['邮箱'])\n\tlet password = String(result['密码'])\n\tlet key = String(result['密钥']||'')\n\t\n\t//java.log(cookie.getCookie(base_url))\n\tif ((register_email && password || key)&& !String(getKey(String(cookie.getCookie(base_url))))) {\n\t\tremoveCookie(base_url)\n\t\tlet deviceKey = java.webView('', '', 'navigator.userAgent+window.screen.width+window.screen.height')\n\t\tif (String(deviceKey) == \"undefined\") {\n\t\t\ttry {\n\t\t\t\tdeviceKey = java.deviceID();\n\t\t\t} catch (e) {\n\t\t\t\tdeviceKey = java.androidId();\n\t\t\t}\n\t\t};\n\tlet deviceId = java.digestHex(deviceKey, \"SHA256\")\n\t\t  if (register_email && password){\n\t\t\tlet options = JSON.stringify({\n\t\t\t\tmethod: 'POST',\n\t\t\t\theaders: {\n\t\t\t\t\t'Content-Type': 'application/json'\n\t\t\t\t},\n\t\t\t\tbody: JSON.stringify({\n\t\t\t\t\tregister_email: result['邮箱'],\n\t\t\t\t\tpassword: result['密码']\n\t\t\t\t})\n\t\t\t})\n\t\t\ttry {\n\t\t\t\tlet data = JSON.parse(java.ajax(`${base_url}/login_api,${options}`))\n\t\t\t\tif (data.code == 0) {\n\t\t\t\t\tjava.toast(\"\\n\\n✅️登录成功\")\n\t\t\t\t\tcookie.setCookie(base_url, `qttoken=${data.key};deviceId=${deviceId}`)\n\t\t\t\t\tresult['密钥']=data.key\n\t\t\t\t\tputLoginInfo(JSON.stringify(result))\n\t\t\t\t} else {\n\t\t\t\t\tjava.toast('\\n\\n💔'+data.msg || \"登录失败，请重试！\")\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\tjava.toast(\"\\n\\n💔登录失败，请重试！\\n\" + e.message)\n\t\t\t}\n\t\t} else {\n\t\t\tcookie.setCookie(base_url, `qttoken=${key};deviceId=${deviceId}`)\n\t\t\tlet res=java.ajax(`${base_url}/user_api,{\"method\":\"POST\",\"headers\":{\"cookie\":\"${cookie.getCookie(base_url)}\"}}`)\t\t\t\n\t\t\ttry {\n\t\t\t\tres=JSON.parse(res)\n\t\t\t\tif (res.id!=undefined) {\n\t\t\t\t\tjava.toast('\\n\\n密钥登录成功')\n\t\t\t\t\tresult['邮箱'] = res.email\n\t\t\t\t\tputLoginInfo(JSON.stringify(result))\n\t\t\t\t} else {\n\t\t\t\t\tthrow new Error()\n\t\t\t\t}\n\t\t\t} catch(e) {\n\t\t\t\tjava.log(e)\n\t\t\t\tjava.toast(\"\\n\\n💔登录失败\")\n\t\t\t}\n\t\t}\n\t} else if (flag&&String(getKey(String(cookie.getCookie(base_url))))) {\n\t\tjava.toast(\"\\n\\n当前✅️已登录，请🚫退出登录后重新登录\");\n\t\t//checkStatus();\n\t} else if (flag) {\n\t\tjava.toast(\"\\n\\n⛔️请先填写邮箱和密码\");\n\t\t}\n}\n\nfunction checkStatus() {\n\tjava.longToast('\\n\\n♻️检测中...');\n\tlet res=java.ajax(`${base_url}/user_api,{\"method\":\"POST\",\"headers\":{\"cookie\":\"${cookie.getCookie(base_url)}\"}}`)\t\n\ttry {\n\t\t\t\tres=JSON.parse(res)\n\t\t\t\tif (res.id!=undefined) {\n\t\t\t\t\tresult['邮箱'] = res.email\n\t\t\t\t\tputLoginInfo(JSON.stringify(result))\n\t\t\t\t\tlet devices\n\t\t\t\t\ttry {\n\t\t\t\t\t\tdevices = JSON.parse(res.device).length;\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\tdevices = res.device ? 1 : 0;\n\t\t\t\t\t}\n\t\t\t\t\tlet isVip;\n\t\t\t\t\tif (res.is_vip==1) {\n\t\t\t\t\t\tisVip = 'VIP';\n\t\t\t\t\t} else if (res.is_vip>=2) {\n\t\t\t\t\t\tisVip = 'SVIP';\n\t\t\t\t\t} else {\n\t\t\t\t\t\tisVip = '普通会员';\n\t\t\t\t\t}\n\t\t\t\t\ttips= `\n┏┅┅┅┅┅┅┱┄┄┄┄┄┄┄┄┄┄┐\n　✉️邮箱　　　　${res.email.replace(/(.{3}).*?@/,\"$1***@\").padEnd(20,\"\\t\")}\n┣┅┅┅┅┅┅╉┄┄┄┄┄┄┄┄┄┄┤\n　🔑密钥　　　　${(`${res.user_key.substring(0,4)}***${res.user_key.slice(-4)}`).padEnd(20,\"\\t\")}\n┣┅┅┅┅┅┅╉┄┄┄┄┄┄┄┄┄┄┤\n　📅注册时间　　${java.timeFormat(res.register_time*1000).padEnd(20,\"\\t\")}\n┣┅┅┅┅┅┅╉┄┄┄┄┄┄┄┄┄┄┤\n　🗒️今日阅读　　${(java.timeFormat(new Date()).slice(0,10)==java.timeFormat(res.last_read_time * 1000).slice(0,10)?res.day_read_count:0).toString().padEnd(20,\"\\t\")}\n┣┅┅┅┅┅┅╉┄┄┄┄┄┄┄┄┄┄┤\n　📚累计阅读　　${res.all_read_count.toString().padEnd(20,\"\\t\")}\n┣┅┅┅┅┅┅╉┄┄┄┄┄┄┄┄┄┄┤\n　🕓最后阅读　　${(res.last_read_time != 0?java.timeFormat(res.last_read_time * 1000):'未阅读').padEnd(20,\"\\t\")}\n┣┅┅┅┅┅┅╉┄┄┄┄┄┄┄┄┄┄┤\n　📱关联设备　　${devices.toString().padEnd(20,\"\\t\")}\n┣┅┅┅┅┅┅╉┄┄┄┄┄┄┄┄┄┄┤\n　👑会员状态　　${isVip.padEnd(20,\"\\t\")}\n┣┅┅┅┅┅┅╉┄┄┄┄┄┄┄┄┄┄┤\n　🚫封禁状态　　${res.is_banned?'已封禁':'正常　'}　　　　　　　\n┗┅┅┅┅┅┅┹┄┄┄┄┄┄┄┄┄┄┘\n`\n\t\t\t\t\tjava.log(tips)\n\t\t\t\t\tjava.longToast(tips)\n\t\t\t\t} else {\n\t\t\t\t\tthrow new Error(res.msg)\n\t\t\t\t}\n\t\t\t} catch(e) {\n\t\t\t\t//java.log(e)\n\t\t\t\tjava.toast(\"\\n检测登录失败\\n\"+e.message)\n\t\t\t}\n}\n\nfunction clearDevice() {\n  let res=java.ajax(`${base_url}/clear,{\"method\":\"POST\",\"headers\":{\"cookie\":\"${cookie.getCookie(base_url)}\"}}`)\n\t//java.toast(res.code === 0 ? \"\\n\\n📴设备清除成功\" : res.msg)\n\tPackages.java.lang.Thread.sleep(500)\n\tcheckStatus()\n}\n// 保存登录UI信息\nfunction putLoginInfo(info) {\n\ttry {\n\t\tlet key = java.androidId()\n\t\tlet encodeStr = Packages.android.util.Base64.encodeToString(java.createSymmetricCrypto(\"AES\", key).encrypt(info), 2)\n\t\tcache.put(`userInfo_${source.getKey()}`, encodeStr)\n\t\treturn true\n\t} catch (e) {\n\t\tjava.log(e)\n\t\treturn source.putLoginInfo(info)\n\t}\n}\n\n\n\nfunction api() {\njava.startBrowserAwait('https://svip.langge.cf', \"首页\");\n}\n\n\n//打赏\nfunction vip() {\n\tjava.startBrowserAwait(base_url+ '/coffee', \"喝咖啡\");\n\t\n}\nfunction loginqt() {\n\tjava.startBrowserAwait(base_url + '/login', '登录大灰狼小说书源');\n}\n\n function logout() {\n\tcookie.removeCookie(\"fanqienovel.com\");\n\tcookie.removeCookie(\"snssdk.com\");\n\tcookie.removeCookie(base_url);\n\tcookie.removeCookie(\"czyl.cf\");\n\tcookie.removeCookie(\"langge.tk\");\n\tcookie.removeCookie(\"langge.cf\");\n\tcookie.removeCookie(\"doubi.tk\");\n\tcookie.removeCookie(\"219.154.201.122\");\n\tcookie.removeCookie(\"110.40.38.4\");\n\tcookie.removeCookie(\"dahuilang.cf\");\n\tjava.toast(\"退出登录成功\");\n}\n\nfunction renderVersionPage() {\n\tjava.longToast(\"\\n\\n请点击网页登录-书源下载进行下载/更新\");\n\t}\n\t\n\t// 订阅源更新\nfunction renderVersionPageRss() {\n\tlet yd = '';\n  let html = `\n<!DOCTYPE html>\n<html lang=\"zh-CN\">\n<head>\n  <meta charset=\"UTF-8\" />\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n  <title>订阅源更新</title>\n  <style>\n    body {\n      margin: 0;\n      padding: 1em;\n      font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\n      background: linear-gradient(135deg, #e0c3fc 0%, #8ec5fc 100%);\n      display: flex;\n      justify-content: center;\n      align-items: center;\n      min-height: 100vh;\n      color: #333;\n    }\n\n    .container {\n      width: 100%;\n      max-width: 480px;\n      background: rgba(255, 255, 255, 0.85);\n      backdrop-filter: blur(10px);\n      border-radius: 16px;\n      padding: 1em;\n      box-shadow: 0 8px 30px rgba(0, 0, 0, 0.1);\n      animation: fadeIn 0.5s ease-in-out;\n      display: none; \n          }\n\n    @keyframes fadeIn {\n      from { opacity: 0; transform: translateY(10px); }\n      to { opacity: 1; transform: translateY(0); }\n    }\n\n    h1 {\n      text-align: center;\n      font-size: 1.6em;\n      margin-bottom: 1em;\n      color: #333;\n    }\n\n    .version-info, .status {\n      text-align: center;\n      margin-bottom: 1em;\n      font-weight: 500;\n    }\n\n    .status {\n      color: #d63384;\n      font-size: 0.9em;\n    }\n\n    .button-group {\n      display: flex;\n      flex-direction: column;\n      gap: 0.75em;\n      margin-bottom: 1.5em;\n    }\n\n    .button {\n      display: block;\n      width: 90%;\n      padding: 0.85em;\n      text-align: center;\n      font-size: 1em;\n      border: none;\n      border-radius: 8px;\n      text-decoration: none;\n      background: linear-gradient(135deg, #42e695 0%, #3bb2b8 100%);\n      color: white;\n      font-weight: bold;\n      transition: all 0.25s ease;\n      box-shadow: 0 4px 14px rgba(0, 0, 0, 0.15);\n    }\n\n    .button:hover {\n      transform: translateY(-2px);\n      box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);\n    }\n\n    .logs {\n      background: #ffffffcc;\n      padding: 1em;\n      border-radius: 8px;\n      border: 1px solid #ddd;\n      box-shadow: inset 0 1px 3px rgba(0,0,0,0.05);\n    }\n\n    .logs h2 {\n      font-size: 1.2em;\n      margin-bottom: 0.8em;\n      border-bottom: 1px solid #ccc;\n      padding-bottom: 0.3em;\n      color: #222;\n    }\n\n    .log-item {\n      margin-bottom: 0.7em;\n      line-height: 1.5;\n    }\n\n    .log-item-date {\n      font-weight: bold;\n      color: #3b3b3b;\n    }\n\n    .log-item-content {\n      margin-left: 1em;\n      color: #555;\n    }\n\n    .loading {\n      text-align: center;\n      font-size: 1.1em;\n      color: #555;\n      animation: pulse 1.2s infinite;\n    }\n\n    @keyframes pulse {\n      0% { opacity: 1; }\n      50% { opacity: 0.5; }\n      100% { opacity: 1; }\n    }\n    .ad-banner {\n            background: linear-gradient(135deg, #ff9a9e 0%, #fad0c4 100%);\n            color: white;\n            padding: 10px 15px;\n            text-align: center;\n            margin-bottom: 20px;\n            cursor: pointer;\n            border-radius: 8px;\n            border: 1px solid #ddd;\n            box-shadow: inset 0 1px 3px rgba(0,0,0,0.05);\n           }\n\n        .ad-banner:hover {\n            transform: translateY(-2px);\n            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);\n        }\n\n        .ad-banner span {\n            font-weight: 500;\n            font-size: 16px;\n        }\n  </style>\n</head>\n<body>\n  <div id=\"loading\" class=\"loading\">🔍 正在拼命检查中，请稍候～ 📡</div>\n\n  <div class=\"container\" id=\"container\">\n    <h1>♻️ 订阅源版本检查</h1>\n    <div class=\"ad-banner\" onclick=\"window.location.href='https://api.langge.cf/phonecardad'\">\n        <span>📱 手机卡充值优惠活动，点击查看详情 →</span>\n    </div>\n    <div class=\"version-info\" id=\"versionInfo\">加载中...</div>\n    <div class=\"status\" id=\"statusText\"></div>\n\n    <div class=\"button-group\" id=\"buttonGroup\" style=\"display: none;\">\n          </div>\n\n    <div class=\"logs\" id=\"logs\" style=\"display: none;\">\n      <h2>📝 更新日志</h2>\n      <div id=\"logList\"></div>\n    </div>\n  </div>\n\n <script>\n(async function() {\n  const loading = document.getElementById('loading');\n  const container = document.getElementById('container');\n  const versionInfo = document.getElementById('versionInfo');\n  const statusText = document.getElementById('statusText');\n  const updateButton = document.getElementById('updateButton');\n  const buttonGroup = document.getElementById('buttonGroup');\n  const logsContainer = document.getElementById('logs');\n  const logList = document.getElementById('logList');\n\nconst localVer = '${String(localVersion)}';\n// 版本判断逻辑\nfunction compareVersions(vs) {\n  const parts1 = localVer.split('.').map(Number);\n  const parts2 = vs.split('.').map(Number);\n  const maxLength = Math.max(parts1.length, parts2.length);\n  for (let i = 0; i < maxLength; i++) {\n    const num1 = parts1[i] || 0;\n    const num2 = parts2[i] || 0;\n    if (num1 > num2) return 1;\n    if (num1 < num2) return -1;\n  }\n  return 0;\n}\n\nconst encodedEndpoints = [\n\n 'aHR0cHM6Ly9hcGkubGFuZ2dlLmNm',   \n    \n'aHR0cHM6Ly8yMC5sYW5nZ2UudGs=',  \n      \n'aHR0cHM6Ly9hcGkuZG91YmkudGs=',\n       \n'aHR0cHM6Ly92OS5jenlsLmNm',\n      \n'aHR0cHM6Ly92OC5jenlsLmNm',  \n      \n'aHR0cDovL3YyLmRhaHVpbGFuZy5jZg==', \n      \n'aHR0cDovLzExMC40MC4zOC40OjUwMDY=',\n\n'aHR0cDovL3ZpcC5sYW5nZ2UuY2Y6NDU4MDA='        \n];\n\nfunction decodeEndpoint(str) {\n  return atob(str);\n}\n\nasync function fetchVersionData() {\n  for (const b64 of encodedEndpoints) {\n    const url = decodeEndpoint(b64);\n    try {\n      const response = await fetch(url + '/version', { timeout: 2000 }); \n      if (response.ok) {\n        return await response.json();\n      }\n    } catch (e) {\n      console.warn(\\`接口失败：\\${url}\\`, e);\n    }\n  }\n  throw new Error('所有更新接口都请求失败');\n}\n  try {\n    loading.style.display = 'block';\n\n    const data = await fetchVersionData();\n    const cloudVersion = String(data.rssVersion3);\n    const updateLog = data.update_rss_log || {};\n\n    versionInfo.innerHTML = \\`🔖当前版本：v\\${localVer} <br> 🔭最新版本：v\\${cloudVersion}\\`;\n\n    logList.innerHTML = Object.entries(updateLog).map(([date, content]) => \\`\n      <div class=\"log-item\">\n        <div class=\"log-item-date\">\\${date}</div>\n        <div class=\"log-item-content\">\\${content}</div>\n      </div>\n    \\`).join('');\n    logsContainer.style.display = 'block';\n\n    if (compareVersions(cloudVersion) === -1) {\n      statusText.innerHTML = '<span>✨ 有新版本可用，建议立即更新！<br>${yd}</span>';\nconst domainMap = {\nconst encodedEndpoints = [\n\n 'aHR0cHM6Ly9hcGkubGFuZ2dlLmNm',   \n    \n'aHR0cHM6Ly8yMC5sYW5nZ2UudGs=',  \n      \n'aHR0cHM6Ly9hcGkuZG91YmkudGs=',\n       \n'aHR0cHM6Ly92OS5jenlsLmNm',\n      \n'aHR0cHM6Ly92OC5jenlsLmNm',  \n      \n'aHR0cDovL3YyLmRhaHVpbGFuZy5jZg==', \n      \n'aHR0cDovLzExMC40MC4zOC40OjUwMDY=',\n\n'aHR0cDovL3ZpcC5sYW5nZ2UuY2Y6NDU4MDA='        \n];\n\nfunction decode(b64) {\n  return atob(b64);\n}\n\nconst path = '/sy/download/大灰狼订阅源.json';\nconst mainPath = '/download/大灰狼订阅源.json';\n\nconst routes = [\n  { name: '🚀 主线路', domain: 'main', suffix: mainPath },\n  { name: '📦 备用线路1', domain: 'd1', suffix: path },\n  { name: '🛰️ 备用线路2', domain: 'd2', suffix: path },\n  { name: '🛰️ 备用线路3', domain: 'd3', suffix: path },\n  { name: '🛰️ 备用线路4', domain: 'd4', suffix: path },\n  { name: '🛰️ 备用线路5', domain: 'd5', suffix: path },\n  { name: '🛰️ 备用线路6', domain: 'd6', suffix: \npath },\n  { name: '🛰️ 备用线路7', domain: 'd7', suffix: path },\n  { name: '🛰️ 备用线路8', domain: 'd8', suffix: path }\n];\n\nbuttonGroup.innerHTML = routes.map(r => {\n  const fullUrl = decode(domainMap[r.domain]) + r.suffix;\n  return \\`<a href=\"legado://import/auto?src=\\${encodeURIComponent(fullUrl)}\" class=\"button\">\\${r.name}</a>\\`;\n}).join('');\n      buttonGroup.style.display = 'flex';\n      } else {\n      statusText.textContent = '✅ 已是最新订阅源咯～';\n    }\n\n    loading.style.display = 'none';\n    container.style.display = 'block';\n\n  } catch (err) {\n    loading.textContent = '😢 检查失败啦～ 请稍后再试==>'+err;\n    console.error('版本检查失败：', err);\n  }\n})();\n</script>\n</body>\n</html>\n`;\n  java.startBrowser(`data:text/html;base64,${java.base64Encode(html)}`, '大灰狼订阅源更新');\n}\n",
    "ruleArticles": "<js>\nif (baseUrl.includes('番茄')) {\nlet ck = (String(cookie.getKey(\"fanqienovel.com\", \"sessionid\")) ? String(cookie.getKey(\"fanqienovel.com\", \"sessionid\")) : (source.getLoginInfoMap() || {})['番茄Token']) || \"\";\nfunction getCellId() {\n  let sInfo = java.ajax(java.log(base_url + \"/book_mall_tab?ssionid=\" + ck));\n  let cell_id = \"cell_id%253D6914906572011339784%2526\"\n  let body = JSON.parse(sInfo).data.tab_item[0].cell_data[1].cell_data\n  for (let i of body) {\n    /*java.log(JSON.stringify(i))*/\n     if (typeof i.cell_url !== 'undefined') {\n       // java.log(i.cell_url)\n       cell_id = i.cell_url\n       break\n     }\n  }\n  java.log(cell_id)\n  cell_id = cell_id.split(\"cell_id%253D\")[1].split(\"%2526\")[0]\n  java.log(cell_id)\n  return cell_id\n}\nlet cell_id = getCellId();\njava.ajax(java.log(base_url + '/book_mall_y?cell_id=' + cell_id + '&ssionid='+ck));\n} else {\n\t//java.toast(baseUrl);\n\tlet other = {\n\t\t'data':{'cell_view':{'topic_data':\n\t\t[{'topic_desc':{\n\t\t\t'topic_title':'进入官网',\n\t\t\t 'topic_id':baseUrl\n\t\t\t}}]}\n\t\t}}\n\t\tother = JSON.stringify(other);\n\t\t//java.toast(other)\n\t};\n\t</js>\n$.data.cell_view.topic_data[*]",
    "ruleImage": "$.topic_desc.topic_cover",
    "ruleLink": "<js>\nlet ruleUrl;\nif (baseUrl.includes('番茄')) { \n\truleUrl = `https://reading.snssdk.com/wap/topic-share.html?topic_id={{$.topic_desc.topic_id}}&sort=smart_hot&service_id=6&session_id=0&aid=1967`\n\t} else {\n\t\truleUrl = '{{$.topic_desc.topic_id}}';\n\t\t//java.toast(ruleUrl)\n\t\t}\n\truleUrl\n</js>",
    "rulePubDate": "$.topic_desc.topic_content\n@js:\nif (baseUrl.includes('番茄')) {\n\tlet data = JSON.parse(result).skeleton.data.replace(/<\\/?search_link>/g, \" \")\nlet select = Packages.org.jsoup.Jsoup.parse(data).select(\"p, span\")\nlet final = Array.from(select).map(p => p.text()).join(\" \")\njava.timeFormat(java.getString('topic_desc.create_time')*1000) + (!Packages.android.text.TextUtils.isEmpty(final) ? (' | ' + final) : '')\n}",
    "ruleTitle": "$.topic_desc.topic_title",
    "shouldOverrideUrlLoading": "function extractBookId(url) {\n    let match = url.match(/[?&]book_id=([^&]+)/) || url.match(/page\\/(\\d+)/) || url.match(/shuku\\/(\\d+_\\d+|\\d+)(?:-\\d+)?/) || url.match(/query\\/(\\d+)/) || url.match(/book\\/(\\d+)/) || url.match(/album\\/(\\d+)/) || url.match(/reader\\/(\\d+)/) || url.match(/book-detail\\/(\\d+)/);\n    \n    if (!match) {\n    \t     return null;\n   }\n    const bookId = match[1];\n    return bookId;\n}\n\n// java.toast(url.startsWith('legadosearch://'))\nif (url.startsWith('legadosearch://')) { \n  // java.toast('ab')\n  java.searchBook(\n    decodeURIComponent(\n      url.replace('legadosearch://', '')\n    )\n  )\n}\nlet needBreak = false\nfunction isNewLegado() {\n  try {\n    return !!Packages.io.legado.app.ui.book.manga;\n  } catch(e) {\n    return false; \n  } \n}\nif (isNewLegado()) {\n\t  if (url.match(/book_id=\\d+/) || url.match(/\\/page\\/\\d+/) || url.match(/shuku\\/(\\d+_\\d+|\\d+)(?:-\\d+)?/) || url.match(/query\\/(\\d+)/) || url.match(/book\\/(\\d+)/) || url.match(/album\\/(\\d+)/) || url.match(/reader\\/(\\d+)/) || url.match(/book-detail\\/(\\d+)/)) {\n  \t//java.toast(url);\n  \t const bookId = java.encodeURI(java.base64Encode(extractBookId(url)));\n  \t //java.toast(bookId);\n  \t let url2 = `https://api.langge.cf/detail?book_id=${bookId}&source=%e7%95%aa%e8%8c%84`\n  \t if (url.includes('shuku')) {\n  \t \turl2 = `https://api.langge.cf/detail?book_id=${bookId}&source=七猫`\n  \t \t}\n  \t \tif (url.includes('tadu')) {\n  \t \turl2 = `https://api.langge.cf/detail?book_id=${bookId}&source=塔读`\n  \t \t}\n  \t \tif (url.includes('shuqi')) {\n  \t \turl2 = `https://api.langge.cf/detail?book_id=${bookId}&source=书旗`\n  \t \t}\n  \t \tif (url.includes('ximalaya')) {\n  \t \turl2 = `https://api.langge.cf/detail?book_id=${bookId}&source=喜马拉雅&tab=听书`\n  \t \t}\n  \t \tif (url.includes('qq')) {\n  \t \turl2 = `https://api.langge.cf/detail?book_id=${bookId}&source=QQ`\n  \t \t}\n  \t //java.toast(url2.replace('%3D',''));\n  \t java.addBook(url2.replace('%3D',''));\n    needBreak = true;\n  }\n}\n!(url.startsWith('http') || url.startsWith('legado')) || url.match(/\\/chapter-list\\/\\d+/) || needBreak",
    "singleUrl": false,
    "sortUrl": "番茄::番茄\n七猫::https://www.qimao.com/\n塔读::https://m.tadu.com/\n书旗::https://t.shuqi.com/",
    "sourceComment": "原作者 未知\n二改:\n  世界有多大 (翻页)\n  梓澄qwq (个人推荐, js注入, 拦截跳转)\n  Folltoshe (js注入)\n  柚屿 (完善登录)\n  清词 (失效修复,修复有书籍无法点击跳转的情况,加强过滤)\n  期待完美的自己(兼容大灰狼完全版书源)\n  大灰狼(完善大灰狼订阅源)",
    "sourceGroup": "R18",
    "sourceIcon": "https://pnglog.com/2YxTio.jpg",
    "sourceName": "大灰狼书荒广场",
    "sourceUrl": "https://www.baidu.com/大灰狼番茄书荒广场"
  },
  {
    "articleStyle": 0,
    "customOrder": -101041,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "{\n    'User-Agent': 'Mozilla/5.0 (Linux; Android 11; Pixel 3 XL Build/RQ3A.211001.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/102.0.4988.0 Mobile Safari/537.36 SearchCraft/3.9.2 (Baidu; P1 11) '\n}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginUi": "",
    "loginUrl": "https://legado.cn/member.php?mod=logging&action=login&mobile=2",
    "singleUrl": true,
    "sortUrl": "",
    "sourceGroup": "📖 阅读,R18",
    "sourceIcon": "https://i.loli.net/2021/06/23/S7rvWRZtPIq34MJ.png",
    "sourceName": "阅读论坛",
    "sourceUrl": "https://legado.cn/forum.php?mod=guide&view=hot&mobile=2"
  },
  {
    "articleStyle": 0,
    "customOrder": -101032,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceComment": "",
    "sourceGroup": "视频,R18",
    "sourceIcon": "https://m.acgnfl.com/24/07/content_33/525867/073.webp",
    "sourceName": "蜜桃视频",
    "sourceUrl": "https://www.mt314iu.vip:9527/"
  },
  {
    "articleStyle": 1,
    "customOrder": -101021,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "injectJs": "",
    "lastUpdateTime": 1676346706108,
    "loadWithBaseUrl": true,
    "ruleArticles": "$.rescont.data[*]",
    "ruleContent": "<!DOCTYPE html>\n<html lang=\"zh-CN\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>视频播放器</title>\n    <style>\n        body {\n            font-family: Arial, sans-serif;\n            margin: 0;\n            padding: 20px;\n            background: #f0f2f5;\n        }\n\n        .container {\n            max-width: 1200px;\n            margin: 0 auto;\n        }\n\n        .player-container {\n            background: #000;\n            border-radius: 8px;\n            overflow: hidden;\n            margin-bottom: 20px;\n        }\n\n        #videoPlayer {\n            width: 100%;\n            height: 600px;\n        }\n\n        .video-list {\n            display: grid;\n            grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));\n            gap: 15px;\n        }\n\n        .video-item {\n            background: #fff;\n            border-radius: 8px;\n            overflow: hidden;\n            cursor: pointer;\n            transition: transform 0.2s;\n        }\n\n        .video-item:hover {\n            transform: translateY(-5px);\n        }\n\n        .thumbnail {\n            width: 100%;\n            height: 150px;\n            object-fit: cover;\n        }\n\n        .video-info {\n            padding: 10px;\n        }\n\n        .video-title {\n            font-size: 14px;\n            margin: 0;\n            height: 40px;\n            overflow: hidden;\n            display: -webkit-box;\n            -webkit-line-clamp: 2;\n            -webkit-box-orient: vertical;\n        }\n\n        .meta {\n            display: flex;\n            justify-content: space-between;\n            font-size: 12px;\n            color: #666;\n            margin-top: 8px;\n        }\n    </style>\n</head>\n<body>\n    <div class=\"container\">\n        <div class=\"player-container\">\n            <video id=\"videoPlayer\" controls>\n                <source id=\"videoSource\" type=\"video/mp4\">\n            </video>\n        </div>\n        \n        <div class=\"video-list\" id=\"videoList\"></div>\n    </div>\n\n    <script>\n        // 模拟数据（实际应通过API获取）\n        const videoData = ${your_JSON_data_here}; // 替换为实际数据\n\n        // 初始化播放器\n        const videoPlayer = document.getElementById('videoPlayer');\n        const videoSource = document.getElementById('videoSource');\n        const videoList = document.getElementById('videoList');\n\n        // 生成视频列表\n        function renderVideoList() {\n            videoData.rescont.data.forEach(video => {\n                const item = document.createElement('div');\n                item.className = 'video-item';\n                item.innerHTML = `\n                    <img src=\"${video.coverbase64.url}\" class=\"thumbnail\">\n                    <div class=\"video-info\">\n                        <p class=\"video-title\">${video.title}</p>\n                        <div class=\"meta\">\n                            <span>${video.playtimes}</span>\n                            <span>${video.pageviews}次播放</span>\n                        </div>\n                    </div>\n                `;\n                \n                item.addEventListener('click', () => playVideo(video));\n                videoList.appendChild(item);\n            });\n        }\n\n        // 播放视频\n        function playVideo(video) {\n            videoSource.src = video.url; // 需要确认实际视频地址字段\n            videoPlayer.load();\n            videoPlayer.play();\n            \n            // 更新页面标题\n            document.title = video.title;\n        }\n\n        // 初始化加载\n        window.onload = () => {\n            renderVideoList();\n            // 自动播放第一个视频\n            if(videoData.rescont.data.length > 0) {\n                playVideo(videoData.rescont.data[0]);\n            }\n        };\n\n        // 添加响应式支持\n        window.addEventListener('resize', () => {\n            videoPlayer.style.height = `${videoPlayer.offsetWidth * 9/16}px`;\n        });\n    </script>\n</body>\n</html>",
    "ruleDescription": "",
    "ruleImage": "<js>res=java.ajax(\"{{$.coverbase64.url}}\");\nbase64img=res.substring(32);\nimgSrc=\"data:{{$.coverbase64.type}};base64,\"+base64img</js>",
    "ruleLink": "https://api.sgapi004.xyz/api/videoplay/{{$.id}}",
    "ruleNextPage": "$.rescont.next_page_url",
    "rulePubDate": "$.updated_at",
    "ruleTitle": "$.title",
    "singleUrl": false,
    "sortUrl": "最新::https://api.sgapi004.xyz/api/videosort/0?page=1\nH动漫::https://api.sgapi004.xyz/api/videosort/14?page=1\n丝瓜推荐::https://api.sgapi004.xyz/api/videosort/30?page=1\n制服诱惑::https://api.sgapi004.xyz/api/videosort/5?page=1\n淫乱师生::https://api.sgapi004.xyz/api/videosort/46?page=1\n国产自拍::https://api.sgapi004.xyz/api/videosort/10?page=1\n高清无码::https://api.sgapi004.xyz/api/videosort/1?page=1\n中文无码::https://api.sgapi004.xyz/api/videosort/57?page=1\n精彩短片::https://api.sgapi004.xyz/api/videosort/55?page=1\n外流视频::https://api.sgapi004.xyz/api/videosort/32?page=1\n当红女优::https://api.sgapi004.xyz/api/videosort/9?page=1\n长腿丝袜::https://api.sgapi004.xyz/api/videosort/11?page=1\n人妻熟女::https://api.sgapi004.xyz/api/videosort/6?page=1\n中文字幕::https://api.sgapi004.xyz/api/videosort/19?page=1\n近亲乱伦::https://api.sgapi004.xyz/api/videosort/49?page=1\n欧美AV::https://api.sgapi004.xyz/api/videosort/16?page=1\n259LUXU::https://api.sgapi004.xyz/api/videosort/36?page=1\n网红主播::https://api.sgapi004.xyz/api/videosort/17?page=1\n重咸口味::https://api.sgapi004.xyz/api/videosort/23?page=1\nAV素人::https://api.sgapi004.xyz/api/videosort/24?page=1\nAV剧情::https://api.sgapi004.xyz/api/videosort/29?page=1\n嫩模专区::https://api.sgapi004.xyz/api/videosort/37?page=1\n角色扮演::https://api.sgapi004.xyz/api/videosort/4?page=1\n青春萝莉::https://api.sgapi004.xyz/api/videosort/22?page=1\n淫荡痴女::https://api.sgapi004.xyz/api/videosort/51?page=1\n苍老师::https://api.sgapi004.xyz/api/videosort/44?page=1\n巨乳咪咪::https://api.sgapi004.xyz/api/videosort/20?page=1\n女同性爱::https://api.sgapi004.xyz/api/videosort/38?page=1\n魔镜系列::https://api.sgapi004.xyz/api/videosort/39?page=1\n三级电影::https://api.sgapi004.xyz/api/videosort/25?page=1\n明星淫梦::https://api.sgapi004.xyz/api/videosort/40?page=1\n电车之狼::https://api.sgapi004.xyz/api/videosort/52?page=1\n偷拍盗摄::https://api.sgapi004.xyz/api/videosort/53?page=1\n萌妹酱篇::https://api.sgapi004.xyz/api/videosort/54?page=1\n中外合拍::https://api.sgapi004.xyz/api/videosort/59?page=1\n鹿少女集::https://api.sgapi004.xyz/api/videosort/56?page=1\n扶她姐妹::https://api.sgapi004.xyz/api/videosort/58?page=1\n恐怖情色::https://api.sgapi004.xyz/api/videosort/35?page=1",
    "sourceComment": "<video src=\"{{$.rescont.videopath}}\" autoplay muted controls></video>内容规则\n样式video{width:100%}\n源\n<js>\njson=JSON.parse(result).rescont;\ntitle=json.title;\nvideo=json.videopath;\nimg=json.coverpath;\nresult=\"<video src=\\\"\"+video+\"\\\" width=\\\"100%\\\" height=\\\"285px\\\" controls=\\\"controls\\\"  poster=\\\"\"+img+\"\\\"></video><p style=\\\"color:\\#000000\\;text-indent: 2em\\\">\"+title+\"</p>\";\n\n\"<html><head><meta charset=\\\"utf-8\\\"><title>丝瓜影视</title><style>body\\{background-color:\\#ffffff\\}</style></head>\"+ \"<body>\"+result+\"</body></html>\"\n</js>",
    "sourceGroup": "自用一手,R18",
    "sourceIcon": "https://i.postimg.cc/sXtXHZDM/IMG_20220716_190738.png",
    "sourceName": "©自建",
    "sourceUrl": "https://api.sgapi004.xyz/api/videosort/0",
    "style": "video{width:100%}"
  },
  {
    "articleStyle": 0,
    "customOrder": -101017,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.forum-posts detail alone ajax-item",
    "ruleContent": "{{@@class.theme-box wp-posts-content@tag.p@html}}{{@@class.theme-box wp-posts-content@tag.img@html}}",
    "ruleImage": "img@data-src",
    "ruleLink": "tag.h2@a@href",
    "ruleNextPage": "",
    "rulePubDate": "class.px12-sm muted-2-color text-ellipsis@text",
    "ruleTitle": "class.forum-title flex ac@text##精",
    "singleUrl": false,
    "sortUrl": "全部::/./?index=3\n热门::/./?index=4\n精华::/./?index=5\n大神原创::/./?index=6\n吃瓜爆料::/./?index=7\n独家精选::/./?index=9\n水友自拍::/./?index=11\n福利姬::/./?index=12\n聊天灌水::/./?index=13\n草榴资讯::/./?index=15\n成人文学::/./?index=16\n",
    "sourceComment": "//正文有文本,图片,视频，技术有限,将就用",
    "sourceGroup": "自用一手,R18",
    "sourceIcon": "",
    "sourceName": "福利社区{电信}",
    "sourceUrl": "https://www.clsq.site/#",
    "style": ""
  },
  {
    "articleStyle": 2,
    "customOrder": -101015,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": ".post",
    "ruleContent": "#gallery-2@img@src\n<js>result.split('\\n').map($=>`<li><img src=\"https://yskhd.com/wp-content/themes/modown/static/img/thumbnail.png\" data-src=\"${$.replace('-285x285','')}\"></li>`).join('\\n')</js>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\">\n\n\n<ul id=\"box\">\n{{result}}\n</ul>\n\n\n<link rel=\"stylesheet\" href=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.css\">\r\n<script src=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.js\"></script>\n<script>\n\troot = document.getElementById('box')\n\tlazy = new IntersectionObserver(entires => {\n\t\tentires.forEach(item => {\n\t\t\tif(item.isIntersecting){\n\t\t\t\titem=item.target\n\t\t\t\titem.src=item.getAttribute('data-src')\n\t\t\t\tlazy.unobserve(item)\n\t\t\t}\n\t\t})\n\t}, {\n\t\troot: root,\n\t\tthreshold: [0],\n\t\trootMargin:\"0px\"\n\t})\n\nimgs = document.getElementsByTagName('img')\nArray.from(imgs).forEach(item => {\n\t\tlazy.observe(item)\n\t})\n\n//查看大图插件\nnew Viewer(root,{title:false,interval:3000})\n</script>",
    "ruleImage": "img@data-src",
    "ruleLink": "a.2@href",
    "ruleNextPage": "text.下一页@href",
    "rulePubDate": "🔖 {{@a.1@text}}　⏱️ {{@.time@text}}",
    "ruleTitle": "a.2@text",
    "singleUrl": false,
    "sortUrl": "最新::/all?o&c&c2&c3&c4&t\n搜索::/?s={{if(source.getVariable().match(/^\\s*$/))source.setVariable('妹');source.getVariable()}}\n秀人::/all?c=1&c2&c3&c4&t&paged=1\n丝模::/all?c=2&c2&c3&c4&t&paged=1\n雅拉伊::/all?c=15&c2&c3&c4&t&paged=1",
    "sourceComment": "yskhd.com",
    "sourceGroup": "🍆尤物,R18",
    "sourceIcon": "http://img.smzy.com/imges/2019/1021/20191021015913748.png",
    "sourceName": "优丝库HD",
    "sourceUrl": "https://yskhd.me/all",
    "style": "* {\n\tmargin: 0;\n\tpadding: 0\n}\nul {\n\tfont-size: 0;\n\theight: 100%;\n\toverflow-y: scroll\n}\nli {\n\tlist-style: none;\n\ttext-align: center\n}\nimg {\n\twidth: 100%;\n\theight: auto\n}"
  },
  {
    "articleStyle": 0,
    "customOrder": -101010,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "自用一手,R18",
    "sourceIcon": "https://mmjs.1vkx.cn/public/1/assets/images/header/logo.png",
    "sourceName": "猫咪社区（请制作 不要VIP分类）",
    "sourceUrl": "https://www.bec9693b2cfd.com/shipin/list-%E4%BA%9A%E6%B4%B2%E6%97%A0%E7%A0%81-1.html"
  },
  {
    "articleStyle": 2,
    "customOrder": -100998,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginUrl": "https://www.emonl.com/",
    "ruleArticles": "article",
    "ruleContent": "<js>\r\n//总页数-1(最后一页没有图\r\npage = parseInt(java.getString('class.page-links@class.post-page-numbers.-2@span@text'))\r\njava.log(\"共\"+page+\"页\")\r\nif(page>1){\nhtml = result\r\nnurl=[];\nbase=baseUrl;\r\nfor(i=2;i<=page;i++){\r\n\tnurl.push(base+\"/\"+i+\",{'retry':16}\");\r\n}\r\n\r\nres=java.ajaxAll(nurl)\r\nfor(i in res){\r\n\thtml += org.jsoup.Jsoup.parse(res[i].body())\r\n}\r\n}else{ html = result }\r\n</js>\n\nclass.single-content@tag.img@src##\\n##,\r\n\r\n<js>\r\nli='\\n'\r\nlist=result.split(',')\r\nfor(i in list){\r\n\t\tli += '<li><img src=\"https://flmfxz.com/2022/01/lmmpiclogo.png\" data-src=\"'+list[i]+'\"></li>\\n'\r\n\t}\r\n\r\n</js>\r\n\r\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\">\r\n\r\n\r\n<ul id=\"box\">\r\n{{result}}\r\n</ul>\r\n<h3>{{@@tag.h3.0@text}}</h3>\r\n<link rel=\"stylesheet\" href=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.css\">\r\n<script src=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.js\"></script>\r\n<script>\n\r\n\troot = document.getElementById('box')\r\n\tlazy = new IntersectionObserver(entires => {\r\n\t\tentires.forEach(item => {\r\n\t\t\tif(item.isIntersecting){\r\n\t\t\t\titem=item.target\r\n\t\t\t\titem.src=item.getAttribute('data-src')\r\n\t\t\t\tlazy.unobserve(item)\r\n\t\t\t}\r\n\t\t})\r\n\t}, {\r\n\t\troot: root,\r\n\t\tthreshold: [0],\r\n\t\trootMargin:\"0px 0px 500px 0px\"\r\n\t})\r\n\r\nimgs = document.getElementsByTagName('img')\r\nArray.from(imgs).forEach(item => {\r\n\t\tlazy.observe(item)\r\n\t})\r\n\r\n//查看大图插件\r\nnew Viewer(root,{title:false,interval:3000})\r\n</script>\r\n",
    "ruleImage": "img@src\\s*=\\s*['\"](?!https?:|//)([^'\"\\s>]+?\\.webp(?:\\?[^'\">]*)?)['\"][^>]*>\n",
    "ruleLink": "a@href",
    "ruleNextPage": "page",
    "rulePubDate": "time@datetime",
    "ruleTitle": "img@alt",
    "singleUrl": false,
    "sortUrl": "cosplay::cosplay/\n丝袜::siwa/page/{{page}}/\n模特::model/page/{{page}}/\n性感::goddess/page/{{page}}/\n私房::selfiephoto/page/{{page}}/\n街拍::streetphotography/page/{{page}}/\nAI::aibeauty/",
    "sourceComment": "https://www.emonl.com/",
    "sourceGroup": "🍆尤物,R18",
    "sourceIcon": "http://pp.myapp.com/ma_icon/0/icon_1168851_1660565782/256",
    "sourceName": "柠檬皮",
    "sourceUrl": "https://www.emonl.com/",
    "style": "/*标题相关*/\nh3{text-align:center}\nh6{margin-bottom:0}\n* {\n\tmargin: 0;\n\tpadding: 0\n}\nul {\n\tfont-size: 0;\n\theight: 100%;\n\toverflow-y: scroll\n}\nli {\n\tlist-style: none;\n\ttext-align: center\n}\nimg {\n\twidth: 100%;\n\theight: auto\n}"
  },
  {
    "articleStyle": 0,
    "customOrder": -100982,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "🎞️ 影视,R18",
    "sourceIcon": "https://www.wandou.la/favicon.ico",
    "sourceName": "豌豆PRO",
    "sourceUrl": "https://www.wandou.la/"
  },
  {
    "articleStyle": 2,
    "customOrder": -100951,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\n\t\"User-Agent\": \"Mozilla/5.0 (Linux; Android 9) Mobile Safari/537.36\",\"referer\": \"{{baseUrl}}\"\n\t}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": ".cl@li",
    "ruleContent": "html",
    "ruleImage": "img@data-src",
    "ruleLink": "a@href",
    "ruleNextPage": "class.pagination@tag.a.-2@href",
    "rulePubDate": "span.0:1:2@text##\\n##,",
    "ruleTitle": ".meta-title@text",
    "singleUrl": false,
    "sortUrl": "首页::/index/{{page}}.html\n变量搜索::/s/{{source.getVariable()}}.html\nXiuRen秀人网::/group/XiuRen-{{page}}.html\nMFStar模范学院::/group/MFStar-{{page}}.html\nMiStar魅妍社::/group/MiStar-{{page}}.html\nMyGirl美媛馆::/group/MyGirl-{{page}}.html\nImiss爱蜜社::/group/Imiss-{{page}}.html\nBoLoli兔几盟::/group/BoLoli-{{page}}.html\nYouWu尤物馆::/group/YouWu-{{page}}.html\nUxing优星馆::/group/Uxing-{{page}}.html\nMiiTao蜜桃社::/group/MiiTao-{{page}}.html\nFeiLin嗲囡囡::/group/FeiLin-{{page}}.html\nWingS影私荟::/group/WingS-{{page}}.html\nTaste顽味生活::/group/Taste-{{page}}.html\nLeYuan星乐园::/group/LeYuan-{{page}}.html\nHuaYan花の颜::/group/HuaYan-{{page}}.html\nDKGirl御女郎::/group/DKGirl-{{page}}.html\nMintYe薄荷叶::/group/MintYe-{{page}}.html\nYouMi尤蜜荟::/group/YouMi-{{page}}.html\nCandy糖果画报::/group/Candy-{{page}}.html\nMTMeng模特联盟::/group/MTMeng-{{page}}.html\nMicat猫萌榜::/group/Micat-{{page}}.html\nHuaYang花漾::/group/HuaYang-{{page}}.html\nXingYan星颜社::/group/XingYan-{{page}}.html\nXiaoYu画语界::/group/XiaoYu-{{page}}.html\n微博网红::https://fulitu.me/group/wanghong.html\n喵糖映画::https://fulitu.me/group/miaotangyinghua.html\n森萝财团::https://fulitu.me/group/senluocaituan.html\n风之领域::https://fulitu.me/group/fengzhilingyu.html\n轻兰映画::https://fulitu.me/group/qinglanyinghua.html\n稚乖画册::https://fulitu.me/group/zhiguaihuace.html\n少女秩序::https://fulitu.me/group/shaonvzhixu.html\n紧急企划::https://fulitu.me/group/jinjiqihua.html\n喵写真::https://fulitu.me/group/miaoxiezhen.html",
    "sourceComment": "//访问过快容易超时\n//设置源变量搜索",
    "sourceGroup": "图片,R18",
    "sourceIcon": "https://meirentu.icu/favicon.ico",
    "sourceName": "美人图",
    "sourceUrl": "https://meirentu.icu"
  },
  {
    "articleStyle": 0,
    "customOrder": -100946,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\n    'User-Agent': 'Mozilla/5.0 (Linux; Android 11; Pixel 3 XL Build/RQ3A.211001.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/102.0.4988.0 Mobile Safari/537.36 SearchCraft/3.9.2 (Baidu; P1 11) '\n}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "📖 阅读,R18",
    "sourceIcon": "https://legado.cn/template/comiis_app/pic/icon114.png",
    "sourceName": "大猫书源网盘",
    "sourceUrl": "https://p.20190524.xyz?from=VIP"
  },
  {
    "articleStyle": 1,
    "coverDecodeJs": "",
    "customOrder": -100942,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "{\"User-Agent\":\"Mozilla/5.0 (Symbian/3; Series60/5.2 NokiaN8-00/012.002; Profile/MIDP-2.1 Configuration/CLDC-1.1 ) AppleWebKit/533.4 (KHTML, like Gecko) NokiaBrowser/7.3.0 Mobile Safari/533.4 3gpp-gba\"}",
    "injectJs": "",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginCheckJs": "",
    "loginUi": "",
    "loginUrl": "https://www.yckceo.com/yuedu/shuyuan.html",
    "ruleArticles": "class.ylist",
    "ruleContent": "head@all&&class.m-top@all\n@js:sy=result.match(/<a href=\"(.*?)\"/)[1];\nsy='<iframe src=\"'+sy+'\" hidden></iframe>';\nresult=sy+'\\n'+result;",
    "ruleDescription": "",
    "ruleImage": "",
    "ruleLink": "a@href",
    "ruleNextPage": "page",
    "rulePubDate": "p@text&&span@title&&span@text##\\n##🔖",
    "ruleTitle": "名称：{{//h2/a[1]/text()##http.*}}\n网址：{{//h2/a[1]/text()##.*(http)##$1}}",
    "singleUrl": false,
    "sortUrl": "看👀\n书源📒::/yuedu/shuyuan/index.html?page={{page}}\n书源合集📒📒::/yuedu/shuyuans/index.html?page={{page}}\n\n订阅源🛎::/yuedu/rss/index.html?page={{page}}\n订阅源合集🛎🛎::/yuedu/rsss/index.html?page={{page}}\n\n异次元🗃::/yiciyuan/tuyuan/index.html?page={{page}}\n\n\n设置源变量[搜索]→::#\n书源关键词搜索📒🔍::/yuedu/shuyuan/index.html?keys={{source.getVariable()}}&uid=&order1=time&order2=1&ver=&faxian=&sousuo=&x18=<,&page={{page}}>\n书源UID搜索📒🔍::/yuedu/shuyuan/index.html?keys=&uid={{source.getVariable()}}&order1=time&order2=1&ver=&faxian=&sousuo=&x18=<,&page={{page}}>\n\n2.0书源📔::/yuedu/shuyuan/index.html?keys=&uid=&order1=time&order2=1&ver=2&faxian=&sousuo=&x18=<,&page={{page}}>\n3.0书源📔::/yuedu/shuyuan/index.html?keys=&uid=&order1=time&order2=1&ver=3&faxian=&sousuo=&x18=<,&page={{page}}>\n\n纯搜索书源📙::/yuedu/shuyuan/index.html?keys=&uid=&order1=time&order2=1&ver=&faxian=0&sousuo=1&x18=<,&page={{page}}>\n纯发现书源📗::/yuedu/shuyuan/index.html?keys=&uid=&order1=time&order2=1&ver=&faxian=1&sousuo=0&x18=<,&page={{page}}>\n搜发书源📙📗::/yuedu/shuyuan/index.html?keys=&uid=&order1=time&order2=1&ver=&faxian=1&sousuo=1&x18=<,&page={{page}}>\n\n搜🔍\n订阅源关键词搜索🛎🔍::/yuedu/rss/index.html?keys={{source.getVariable()}}&uid=&order1=time&order2=1&ver=&faxian=&sousuo=&x18=<,&page={{page}}>\n订阅源UID搜索🛎🔍::/yuedu/rss/index.html?keys=&uid={{source.getVariable()}}&order1=time&order2=1&ver=&faxian=&sousuo=&x18=<,&page={{page}}>\n异次元关键字搜索🗃🔍::/yiciyuan/tuyuan/index.html?keys={{source.getVariable()}}&uid=&order1=time&order2=1&faxian=&sousuo=&x18=<,&page={{page}}>\n异次元UID搜索🗃🔍::/yiciyuan/tuyuan/index.html?keys=&uid={{source.getVariable()}}&order1=time&order2=1&faxian=&sousuo=&x18=<,&page={{page}}>",
    "sourceComment": "by：旅途\n//发布页：https://yckceo.vip/\n//\t主站：https://www.yckceo.com\n//备用地址：https://xgf.yckceo1.com\n//可通过设置源变量搜索\n//通过切换布局，能最大范围查看分享者\n//书源搜索用的较多提到前面，订阅源搜索太少暂时用不上提前\n//书源\n//书源合集\n//订阅\n//订阅合集\n//异次元\n//可通过登录发布源",
    "sourceGroup": "阅读,R18",
    "sourceIcon": "http://www.yckceo.com/favicon.ico",
    "sourceName": "源仓库[书源-订阅-异次元-搜索]",
    "sourceUrl": "https://www.yckceo.com",
    "style": ""
  },
  {
    "articleStyle": 0,
    "customOrder": -100938,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\n    'User-Agent': 'Mozilla/5.0 (Linux; Android 11; Pixel 3 XL Build/RQ3A.211001.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/102.0.4988.0 Mobile Safari/537.36 SearchCraft/3.9.2 (Baidu; P1 11) '\n}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "合集,R18",
    "sourceIcon": "https://cdn.jsdelivr.net/gh/gedoor/legado@master/app/src/main/res/mipmap-hdpi/ic_launcher.png",
    "sourceName": "新阅读交流论坛",
    "sourceUrl": "https://legado.cn"
  },
  {
    "articleStyle": 0,
    "customOrder": -100938,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "合集,R18",
    "sourceIcon": "https://i.loli.net/2021/06/23/S7rvWRZtPIq34MJ.png",
    "sourceName": "阅读下载",
    "sourceUrl": "https://yd.mgz6.cc"
  },
  {
    "articleStyle": 0,
    "customOrder": -100772,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "{\n\t\"User-Agent\":\"Mozilla/5.0 (Linux; Android 8.0.0; MI 5s Plus Build/OPR1.170623.032; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/71.0.3578.99 Mobile Safari/537.36\"\n}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "<js>\ntry{\n\t$=JSON.parse(src).text\n\tif($==\"no file\")$=[];\n\t}\ncatch(err){\n\n\tmat = baseUrl.match(/^(.*?com)[^##]*\\/(.+)$/)\n\t\turl = java.put('url', mat[1])\n\t\turi = java.put('uri', mat[2])\n\nfunction $(reg){\n\t\treturn uri.match(reg)?true:false\n\t}\n\n//get【pwd】(链接提取码)\npwd = \n$(/##[^【]/)?  baseUrl.match(/##(.*?)(【|$)/)[1]:\n\"\";\n\neval(result.match(/var pgs;([\\s\\S]*?pgs.+;)/)[1]);\neval('$='+result.match(/data :([\\s\\S]*?\\})/)[1])\n\nbody = \"\";\nfor(key in $)body += key+'='+$[key]+'&';\nbody = String(body).replace(/&$/,'');\n\nurl += `/filemoreajax.php,{\"method\":\"POST\",\"body\":\"${body}\"}`\n\njava.ajax(url)}\n</js>\n$.text",
    "ruleContent": "@js:\n$=JSON.parse(src).data;\npath=String($.name).match(/净化/)?\n\"replaceRule\":\nString($.name).match(/订阅[^失败]/)?\n\"rssSource\": \"bookSource\";\n\nsrc = \"legado://import/\"+path+\"?src=\";\n\n//【过客】及【快乐】的蓝奏云列表，下载页面添加提示注释。其他列表则跳转到普通下载页面。\nbaseUrl.match(/lanzoul/)? \n//🧡🧡🧡🧡🧡🧡🧡🧡🧡🧡🧡🧡🧡🧡\n`\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\">\n<title>${$.name}</title>\n<br><br>\n\n<center>\n<h3>${$.name}</h3>\n</center>\n　　注：点◎下载文件◎，底栏会弹出信息，<br>\n　　再点信息右面的“下载”，才会开始下载。<br>\n　　文件下载默认存放在 根目录/Download/<br>\n<br>\n　　注：软件若有推群弹窗，分享时不发出去，<br>\n　　返回也算分享成功。勿信广告博彩诈骗。<br>\n<br>\n<h5 style=\"margin:0;padding:3% 5%\">\n\n<b style=\"float:left\"></b>\n\n<b style=\"float:right\">\n文件大小： ${$.size}\n<br><br>\n上传日期： ${$.time}\n<br><br><br>\n<a href=\"${$.url}\">◎ 下载文件 ◎　　　　　　　　　</a>\n</b>\n\n</h5>\n<br><br><br><br><br>\n<p>　　${$.describe}</p>\n\n<br>↓资源链接，点击复制<textarea id=\"copy\" onclick=\"copy()\">${$.url}</textarea>\n<br><br><center>\nrssSource by.Thomas.　　 迷迭轻改&收集整理<br><br>\n资源取自网络，仅作参考试用，请24小时内删除<br></center>\n<script>\nfunction copy(){\n\tdocument.getElementById('copy').select()\n\tdocument.execCommand('copy')\n\talert(\"复制成功\")\n}\n</script>\n`: \n//💙💙💙💙💙💙💙💙💙💙💙💙💙💙\n`\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\">\n<title>${$.name}</title>\n<br><br><br><br>\n<center>\n<h3>${$.name}</h3>\n</center>\n　　注：点◎下载文件◎，底栏会弹出信息，<br>\n　　再点信息右面的“下载”，才会开始下载。<br>\n　　文件下载默认存放在 根目录/Download/<br>\n<br>\n<h5 style=\"margin:0;padding:3% 5%\">\n\n<b style=\"float:left\"></b>\n\n<b style=\"float:right\">\n文件大小： ${$.size}\n<br><br>\n上传日期： ${$.time}\n<br><br><br>\n<a href=\"${$.url}\">◎ 下载文件 ◎　　　　　　　　　</a>\n</b>\n\n</h5>\n<br><br><br><br><br>\n<p>　　${$.describe}</p>\n\n<br>↓资源链接，点击复制<textarea id=\"copy\" onclick=\"copy()\">${$.url}</textarea>\n<br><br><center>\nrssSource by.Thomas.　　 迷迭轻改&收集整理<br><br>\n资源取自网络，仅作参考试用，请24小时内删除<br></center>\n<script>\nfunction copy(){\n\tdocument.getElementById('copy').select()\n\tdocument.execCommand('copy')\n\talert(\"复制成功\")\n}\n</script>\n`##　　(null|undefined)|null|获取失败",
    "ruleImage": "@js:\nsrc =\nbaseUrl.match(/【http/)?  baseUrl.match(/【(.*?)(】|$)/)[1]:\n\n//一程图标简写补全\nbaseUrl.match(/【\\//)?  \"https://gitee.com/i-c/tc/raw/master/dy/yd\"+baseUrl.match(/【(.*?)(】|$)/)[1]:\n\n//4⃣️423 简写补全\n//baseUrl.match(/【4】/)?  \"https://pic.616pic.com/ys_b_img/00/04/50/svvOHW89bj.jpg\":\n\nbaseUrl.match(/423down/)?  \"https://img2.baidu.com/it/u=2176863467,1140264399&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=501\":\n\n\n//‼️蝶图标 简写补全\n//‼️baseUrl.match(/【md】/)? \"http://pp.myapp.com/ma_icon/0/icon_52437554_1640934578/256\":\n\n//‼️默认图标：粉色小鸟图标\n//‼️\"https://android-artworks.25pp.com/fs08/2023/01/03/9/110_03e44582413966c9a6310cf847cc08ba_con_130x130.png\"\n\n//默认图标：apk图标\n\"https://android-artworks.25pp.com/fs08/2021/08/02/7/110_578817aeea22639f2b3e99603deae43d_con_130x130.png\"",
    "ruleLink": "@js:\n//key=0;\nkey=String(source.getVariable());\nkey=key.match(/^[12]/)? key:\"0\";\n\nkey.match(/^1/)? \"https://lanzou.baihe.gay/?url=@get:{url}/{{$.id}}\" :\n//key.match(/^2/)?\"https://tool.bitefu.net/lanzou?url=@get:{url}/{{$.id}}\" :\n\"https://apis.jxcxin.cn/api/lanzou?url=@get:{url}/{{$.id}}\";",
    "ruleNextPage": "@js:\ntry{\n\t\tu = String(java.get('url'))\n\t\tp = u.match(/pg=(\\d+)&/)[1]\n\t\tp = 'pg='+(parseInt(p)+1)+'&'\n\t\turl = u.replace(/pg=(\\d+)&/,p)\n\t}\ncatch(err){url=\"\"}\nurl",
    "rulePubDate": "💾 {{$.icon}}　📥 {{$.size}}　⏱️ {{$.time}}",
    "ruleTitle": "$.name_all",
    "singleUrl": false,
    "sortUrl": "▶️多仓本地包/云星::https://wwc.lanzoub.com/b0erx68gf##4e93【https://image.28283.com/attachment/soft/2022/0920/101944_94931889.png】\n▶️可视TV/多仓/云星::https://wwc.lanzoub.com/b0es81t8j##54jb【https://image.28283.com/attachment/soft/2022/0920/101944_94931889.png】\n▶️影视仓/多仓/奇奇::https://qiqi2020.lanzouv.com/b09svqv1c##666【http://pic.y8l.com/up/2022-6/202262415595588.png】\n\n▶️TVBox/终南::https://wws.lanzouv.com/b03j4ulyh##999【https://pic.yidown.com/uploadfile/2022/1129/20221129010510248.png】\n▶️TVbox/神器::https://tsq.lanzouv.com/b0c4nr91c##123【https://pic.yidown.com/uploadfile/2022/1129/20221129010510248.png】\n\n🎬海阔视界::https://haikuo.lanzoui.com/u/GoldRiver##【http://image.coolapk.com/apk_logo/2021/0725/14/ic_launcher-286481-o_1fbe4snlg1r9n1vfokun2st7c3r-uid-726186@192x192.png】\n🎨异次元/漫画::https://yiciyuan.lanzoui.com/b00ej0kba##【https://mmbiz.qlogo.cn/mmbiz_jpg/GwqVApVbd26P0XRjNg7FOdcy1kBEBfNV6PhmNPdMxGrejHxe7cibbbLE5msAj3x5KtPo2FxdI7XPFOcGsW43Zzg/300】\n\n🐶土狗浏览器::https://www.lanzoux.com/s/tgllq##【https://files.youxibao.com/imgfile/20220918/180828286hk7.png】\n\n//‼️423软件‼️\n4⃣️洛雪音乐多版本::https://pan.lanzouo.com/b0bf2cfa/##glqw\n4⃣️小黄鸟::https://423down.lanzouv.com/b0f1b9v6j\n4⃣️影视软件::https://423down.lanzouv.com/b0f2x4syh\n4⃣️系统辅助::https://423down.lanzouv.com/b0f1944od\n4⃣️视频图像::https://423down.lanzouv.com/b0f1czyjc\n4⃣️Xposed框架::https://423down.lanzouv.com/b0f1fns7a\n4⃣️TV盒子::https://423down.lanzouv.com/b0f1944aj\n4⃣️资讯软件::https://423down.lanzouv.com/b0f19mgrg\n4⃣️酷安mod::https://423down.lanzouv.com/b0f2uzq2b\n4⃣️WiFi万能钥匙::https://423down.lanzouv.com/b0f1f1t5c\n4⃣️抖音mod::https://423down.lanzouv.com/b0f199a5a\n4⃣️百度地图::https://423down.lanzouv.com/b0f1f64re\n4⃣️浏览器::https://423down.lanzouv.com/b0f24u4de\n4⃣️计算器::https://423down.lanzouv.com/b0f21mrtc\n\napk/不似苏::https://busisu.lanzoub.com/s/yixie\n\n//‼️过客‼️\n✈️飞机::https://lanzoul.com/b0eaqzjgb\nℹ️软件1::https://lanzoul.com/s/gk123\n🎮破解游戏::https://lanzoul.com/b0e94dqob##【https://android-artworks.25pp.com/fs08/2022/09/01/10/110_e567c7eefee644e1206852e8b574f5c1_con_130x130.png】\n💀🎮游戏1::https://lanzoul.com/b0ea7uq6j##【https://android-artworks.25pp.com/fs08/2022/01/13/5/123_4354f8163cf3b486a8451db4a93adc71_con_130x130.png】\n💀视频1::https://lanzoul.com/b0eaqzimb##【https://android-artworks.25pp.com/fs08/2023/01/03/9/110_03e44582413966c9a6310cf847cc08ba_con_130x130.png】\n\n//‼️快乐分享者‼️\nℹ️软件2::https://lanzoul.com/b02e5e9sd\nxℹ️软件::https://lanzoul.com/b02damfkd\nx💀🎮游戏::https://lanzoul.com/b02cy01di##【https://android-artworks.25pp.com/fs08/2022/01/13/5/123_4354f8163cf3b486a8451db4a93adc71_con_130x130.png】\n💀🎮游戏2::https://lanzoul.com/b02e5e9je##【https://android-artworks.25pp.com/fs08/2022/01/13/5/123_4354f8163cf3b486a8451db4a93adc71_con_130x130.png】\n💀视频2::https://lanzoul.com/b02cy1lzg##【https://android-artworks.25pp.com/fs08/2023/01/03/9/110_03e44582413966c9a6310cf847cc08ba_con_130x130.png】\n\n♟ps2模拟器::https://xianuani.lanzoux.com/b02in8lqj##5fxg\n♟李跳跳::https://wwe.lanzouw.com/b01v0g3wj##1233\n♟ES浏览器::https://lanzoui.com/b00ze62be\n♟幸运破解器::https://ghpym.lanzouo.com/b011ah2ah##byfa",
    "sourceComment": "切换解析线路：如果出现问题页面打不开，点右上角 ->“设置源变量”-> 输入数字。确认。\n（刷新 重新加载列表）\n\n额，测试频繁玩坏了，被封ip了。。\n不知源变量判断语句有没有问题。\n如果仍然打不开网页，请修改“列表”->最下面那项“链接规则”里的语句全删了，换下面3个线路中的一个。‼️bitefu线路参数略不同，就不用也这个订阅源里了。\nhttps://tool.bitefu.net/lanzou?url=@get:{url}/{{$.id}}\nhttps://apis.jxcxin.cn/api/lanzou?url=@get:{url}/{{$.id}}\nhttps://lanzou.baihe.gay/?url=@get:{url}/{{$.id}}\n\n————————\nhttps://tool.bitefu.net/lanzou?type=down&url=\nhttps://apis.jxcxin.cn/api/lanzou?type=down&url=\nhttps://lanzou.baihe.gay/?type=down&url=\n————————\n@js:\n//key=0;\nkey=String(source.getVariable());\nkey=key.match(/^[12]/)? key:\"0\";\n\nkey.match(/^1/)? \"https://tool.bitefu.net/lanzou?url=@get:{url}/{{$.id}}\" : \nkey.match(/^2/)? \"https://apis.jxcxin.cn/api/lanzou?url=@get:{url}/{{$.id}}\" : \"https://lanzou.baihe.gay/?url=@get:{url}/{{$.id}}\";\n————————\nby. Thomas\n\n云图标\nhttp://i-1.emu999.net/2105/2148/6559a00508a842a0ab5ccdb7f74ca7f2.png\n蝶图标\nhttp://pp.myapp.com/ma_icon/0/icon_52437554_1640934578/256\n\n\n\n\n\nhttps://i01piccdn.sogoucdn.com/ccfccb7297e21f01\n\n‼️若无法跳转到下载页面，请刷新列表（右上角，“刷新分类”。或下拉屏幕也可刷新）。\n————————\n本订阅源套用了第三方直链生成工具。\nby. Thomas\nmd轻改及收集整理列表。\n————————\n小说交流群462030508\nA群637775313不加人。若群炸了查看此群群资料找新家。\n\n内容取自网络，仅供学习参考，请同学们在24小时内删除\n————————\n云图标\nhttp://i-1.emu999.net/2105/2148/6559a00508a842a0ab5ccdb7f74ca7f2.png\n蝶图标\nhttp://pp.myapp.com/ma_icon/0/icon_52437554_1640934578/256\n————————\n4⃣️小说软件::https://423down.lanzouv.com/b0f1cdr9i\n📙阅读3.0::https://kunfei.lanzoui.com/b0f810h4b##【https://i.loli.net/2021/06/23/S7rvWRZtPIq34MJ.png】\n📙阅读pro/不似苏::https://busisu.lanzoub.com/s/yuedupro##【https://i.loli.net/2021/06/23/S7rvWRZtPIq34MJ.png】\n📙阅读X 3.0 已不更::https://hahahahahaha.lanzoux.com/b08rjey5i##no18ls【https://i.loli.net/2021/06/23/S7rvWRZtPIq34MJ.png】\n📙阅读2.0 已不更::https://kunfei.lanzoui.com/b0f7pt4hi##【https://i.loli.net/2021/06/23/S7rvWRZtPIq34MJ.png】\n\n▶️多仓本地包/云星::https://wwc.lanzoub.com/b0erx68gf##4e93【https://image.28283.com/attachment/soft/2022/0920/101944_94931889.png】\n▶️可视TV/多仓/云星::https://wwc.lanzoub.com/b0es81t8j##54jb【https://image.28283.com/attachment/soft/2022/0920/101944_94931889.png】\n▶️影视仓/多仓/奇奇::https://qiqi2020.lanzouv.com/b09svqv1c##666【http://pic.y8l.com/up/2022-6/202262415595588.png】",
    "sourceGroup": "合集,R18",
    "sourceIcon": "https://agit.ai/butterfly/yd/raw/branch/yd/pic/purple2.jpg",
    "sourceName": "box+apk 蓝奏直链√",
    "sourceUrl": "https://www.lanzoux.com#d1",
    "style": "a{text-decoration:none}\nimg{width:20%;height:auto;border-radius:50%}\ntextarea{width:100%;border-radius:5px}"
  },
  {
    "articleStyle": 0,
    "customOrder": -100771,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "<js>\njson=[];\nif(baseUrl.match(/•/)){\nlist=baseUrl.replace(/http.*?wd=\\s*/,'').split('•');\nfor(i in list){\ntext=list[i].match(/《(.*?)》/)[1];\nindex=list[i].match(/^(\\d+、\\d+、)/)?list[i].match(/^(\\d+、\\d+、)/)[1]:list[i].match(/^(.*?)《/)[1]\njson.push({text:text,index:index})\n}\n}else{\nlist=baseUrl.replace(/http.*?wd=/,'');\ntext=list.match(/《(.*?)》/)[1];\nindex=list.match(/^(\\d+、\\d+、)/)?list.match(/^(\\d+、\\d+、)/)[1]:list.match(/^(.*?)《/)[1];\njson.push({text:text,index:index})\n}\nJSON.stringify(json)</js>\n$.[*]",
    "ruleContent": "@js:\nif(baseUrl.match(/(?:\\d+\\.){3}\\d+:\\d+/)){\nbutton='<button id=\"bian\" onclick=\"javascript:document.getElementById(\\'rules\\').style.display=\\'inline\\'\";document.getElementById(\\'outbox\\').style.display=\\'none\\'\">编辑</button><button  id=\"tiao\" onclick=\"javascript:document.getElementById(\\'rules\\').style.display=\\'none\\'\";document.getElementById(\\'outbox\\').style.display=\\'inline\\'\">调试</button>';\n\n\nhtml=button+String(java.getString(\"@@tag.script@html&&tag.body@children@html\",false)).replace(/rows=\"1\"/g,'rows=\"3\"').replace(/textarea(?!\\srow)/g,'textarea rows=\"30\" readonly').replace(/<\\/div>\\s+?<div>/g,'</div><p></p><div>').replace(/class=\"rules\"/,'class=\"rules\" id=\"rules\"').replace(/outbox\"/,'outbox\" id=\"outbox\"')}else{html=java.getString(\"@@all\",false)}\nresult=String(html).replace(/极光/,'影音猎手')",
    "ruleDescription": "❗️0、1、开始❗️\n<style>\nbutton,input{\nmargin:5px\n}\n#basic-addon1,#replaceSpan1{\nbackground-color:Azure;\npadding:3px\n}\ntextarea{\nbackground-color:GhostWhite;\nborder:0px solid black\n}\n</style>\n<script>function $(selector) { return document.querySelector(selector); }\nfunction $$(selector) { return document.querySelectorAll(selector); }</script>\n<a href=\"https://www.sojson.com/rehtml\">html转义</a>&nbsp;&nbsp;<a href=\"http://www.jsons.cn/urlencode/\">URL解码</a>\n<textarea rows=\"10\" id=\"input\" onfocus=\"di()\" placeholder=\"   ——＞ 复制发现列表到这里 ＜——\n  （此工具用2个共存的阅读app切换编辑测试比较方便）\n■■格式化发现：请复制分类网页榜单网页的源代码里的列表部分到此处。\n■■复制粘贴发现列表后，点“发现格式互转”按钮，再点“全局平铺”按钮，最后点“一键复制”复制按钮，然后切换到书源编辑，粘贴保存就完成啦！（进阶玩法是点“全局平铺”按钮后，再强制全局x个一行，再复制粘贴到书源再手工调整参数。[迷迭小改按钮说明]\"></textarea>\n<button onclick=\"getInput();dis()\" id=\"bt1\">格式化发现</button>\n<button onclick=\"getInput2();dis()\" id=\"bt2\">格式化发现2</button>\n<button onclick=\"getInput3();\" id=\"bt3\">★发现格式互转★</button>\n\n<button onclick=\"getInput4(1);\" id=\"bt4\">★必选项★全局平铺★（参数flexGrow: 1）</button>\n<button onclick=\"getInput4(2);\" id=\"bt4\">强制全局5个一行【2字】 （参数 0.15）</button>\n<button onclick=\"getInput4(3);\" id=\"bt4\">强制全局4个一行【3字或3字以下】（参数 0.2）</button>\n<button onclick=\"getInput4(4);\" id=\"bt4\">强制全局3个一行【5字或5字以下】（参数 0.25）</button>\n<button onclick=\"getInput4(5);\" id=\"bt4\">强制全局2个一行 （参数 0.4）</button>\n<button onclick=\"copyText()\">★一键复制★</button>\n<p></p><br><br><br>\n<p>正则表达式匹配替换</p>\n <div class=\"form-group\">\n                    <div class=\"col-sm-12\">\n                        <textarea class=\"form-control\" onmouseover=\"this.focus();\" id=\"textSour\" name=\"textSour\" rows=\"10\" style=\"max-height: 2222px;\" placeholder=\"请输入要验证的文本\"></textarea>\n                    </div>\n                </div>\n                <div class=\"form-group\">\n                    <div class=\"col-sm-12\">\n                        <div class=\"input-group\">\n                            <span class=\"input-group-addon\" id=\"basic-addon1\">正则表达式</span>\n                            <input type=\"text\" class=\"form-control\" id=\"textPattern\" name=\"textPattern\" placeholder=\"请输入自定义正则表达式 例如：\\d{6}\" aria-describedby=\"basic-addon1\" style=\"width: 65%;\">\n                        </div>\n                    </div>\n                </div>\n                <div class=\"form-group\">\n                    <div class=\"col-sm-2\">\n                        <div class=\"input-group\" style=\"margin-left: 20px;\">\n                            <label class=\"checkbox\" style=\"cursor: pointer;\">\n                                <input type=\"checkbox\" value=\"global\" checked=\"checked\" id=\"optionGlobal\" name=\"optionGlobl\">全局搜索</label>\n                        </div>\n                    </div>\n                    <div class=\"col-sm-2\">\n                        <div class=\"input-group\" style=\"margin-left: 20px;\">\n                            <label class=\"checkbox\" style=\"cursor: pointer;\">\n                                <input type=\"checkbox\" value=\"ignoreCase\" id=\"optionIgnoreCase\" name=\"optionIgnoreCase\">忽略大小写</label>\n                        </div>\n                    </div>\n                    <div class=\"col-sm-8\">\n                        <input type=\"button\" onclick=\"return onMatch();\" value=\"验证匹配内容\" class=\"btn btn-success\">\n                        <input type=\"button\" onclick=\"Empty();\" value=\"清空输入框\" class=\"btn btn-danger\">\n<button onclick=\"copyText3()\">一键复制</button>\n                    </div>\n                </div>\n                <div class=\"form-group\">\n                    <div class=\"col-sm-12\">\n<div id=\"textResult\"></div>\n                        <textarea onmouseover=\"this.focus();\" id=\"textMatchResult\" class=\"form-control\" rows=\"10\" style=\"max-height: 2222px;\" placeholder=\"得到验证后内容，内容为空为验证失败\" readonly=\"readonly\"></textarea>\n                    </div>\n                </div>\n                <div class=\"form-group\">\n                    <div class=\"col-sm-4\">\n                        <div class=\"input-group\" style=\"width: 98%;\">\n                            <span class=\"input-group-addon\" id=\"replaceSpan1\">替换文本</span>\n                            <input type=\"text\" class=\"form-control\" id=\"textReplace\" name=\"textReplace\" placeholder=\"请输入替换内容\" aria-describedby=\"replaceSpan1\" style=\"width: 70%;\">\n<button value=\"{\\{page}}\" onclick=\"pp(this.value)\">page</button>\n\n<button value=\"$\" onclick=\"pp(this.value)\">$</button>\n\n<button value=\"'\" onclick=\"pp(this.value)\">'</button>\n<button value=\"/\" onclick=\"pp(this.value)\">/</button>\n<button value=\"_\" onclick=\"pp(this.value)\">_</button>\n<button value=\"-\" onclick=\"pp(this.value)\">-</button>\n                        </div>\n                    </div>\n                    <div class=\"col-sm-2\">\n                        <div class=\"input-group\">\n                            <button onclick=\"return onReplace()\" class=\"btn btn-success\">替换匹配内容</button>\n<button onclick=\"copyText2()\">一键复制</button>\n                        </div>\n                    </div>\n                    <div class=\"col-sm-6\">\n                    </div>\n                </div>\n                <div class=\"form-group\">\n                    <div class=\"col-sm-12\">\n                        <textarea readonly=\"readonly\" id=\"textReplaceResult\" class=\"form-control\" rows=\"10\" placeholder=\"此处为替换后内容\"></textarea>\n                    </div>\n                </div>\n                </form>\n            </div>\n        </div>\n<script>\nvar copyText = function() {\n    var text = document.getElementById('input');\n    // 选中文本\n    text.select()\n    // 复制\n    document.execCommand('copy')\n}\nvar copyText2 = function() {\n    var text = document.getElementById('textReplaceResult');\n    // 选中文本\n    text.select()\n    // 复制\n    document.execCommand('copy')\n}\nvar copyText3 = function() {\n    var text = document.getElementById('textMatchResult');\n    // 选中文本\n    text.select()\n    // 复制\n    document.execCommand('copy')\n}\n\n</script>\n<script>\nfunction pp(a){\n$(\"#textReplace\").value+=a.replace(/\\\\/,'');\n$(\"#textReplace\").focus()\n}\nfunction dis(){\ndocument.getElementById(\"bt1\").disabled=true;\ndocument.getElementById(\"bt2\").disabled=true\n}\nfunction di(){\ndocument.getElementById(\"bt1\").disabled=false;\ndocument.getElementById(\"bt2\").disabled=false\n}\nfunction getInput(){\ntext=$(\"#input\").value;\nlist=text.match(/<a.*?href=\"([^\"]+)\".*?>([\\s\\S]+?)<\\/a>/g);\nhtml=\"\"\nif(list.length==0){\nhtml=\"格式化失败！！！请检查是否为带html标签\"\n}else{\nhtml=\"\"\n}\nfor(i in list){\na=list[i].match(/<a.*?href=\"([^\"]+)\".*?>([\\s\\S]+?)<\\/a>/);\nhtml+=a[2]+\"::\"+a[1]+\"\\n\"\n}\n$(\"#input\").value=html\n}\n\nfunction getInput2(){\ntext=$(\"#input\").value;\nlist=text.match(/<a.*?href=\"([^\"]+)\".*?>([\\s\\S]+?)<\\/a>/g);\nhtml=\"\";\nif(list.length==0){\nhtml=\"格式化失败！！！请检查是否为带html标签\"\n}else{\nhtml=\"\"\n}\nfor(i in list){\na=list[i].match(/<a.*?href=\"([^\"]+)\".*?>([\\s\\S]+?)<\\/a>/);\nhtml+=\"{'title':'\"+a[2]+\"','url':'\"+a[1]+\"','style':{}},\\n\"}\n\n$(\"#input\").value=html\n}\n\nfunction getInput3(){\ntext=$(\"#input\").value;\nif(text.match(/\\&\\&|::/g)){\ntext=text.replace(/\\&\\&/g,'\\n');\nlist=text.match(/.*::.*/g);\nhtml=[];\nfor(i=0;i<list.length;i++){\nl=list[i].match(/(.*)::(.*)/);\ntitle=l[1];url=l[2]\nhtml.push({\ntitle:title,\nurl:url,\nstyle:{}\n})\n}\n$(\"#input\").value=JSON.stringify(html)\n}else{\nhtml=\"\";\njson=JSON.parse(text);\nfor(i in json){\nhtml+=json[i].title+\"::\"+json[i].url+\"\\n\"\n}\n$(\"#input\").value=html\n}\n}\nfunction getInput4(flag){\ntext=$(\"#input\").value;\nif(flag==1){\njson=JSON.parse(text);\nfor(i in json){\njson[i].style.layout_flexGrow=1\n}\n}else if(flag==2){\njson=JSON.parse(text);\nfor(i in json){\njson[i].style.layout_flexBasisPercent=0.15\n}\n}else if(flag==3){\njson=JSON.parse(text);\nfor(i in json){\njson[i].style.layout_flexBasisPercent=0.2\n}\n}else if(flag==4){\njson=JSON.parse(text);\nfor(i in json){\njson[i].style.layout_flexBasisPercent=0.25\n}\n}else if(flag==5){\njson=JSON.parse(text);\nfor(i in json){\njson[i].style.layout_flexBasisPercent=0.4\n}\n}\n$(\"#input\").value=JSON.stringify(json)\n}\nfunction setVisible(idElement, visible) {\n    var obj = document.getElementById(idElement);\n    obj.style.visibility = visible ? \"visible\" : \"hidden\";\n}\nfunction isValidFields() {\n    var textSour = document.getElementById(\"textSour\");\n    if (null == textSour.value || textSour.value.length < 1) {\n        textSour.focus();\n        JsonsMessageBox($(\"#textSour\"), \"请输入待匹配文本\");\n        return false;\n    }\n    var textPattern = document.getElementById(\"textPattern\");\n    if (null == textPattern.value || textPattern.value.length < 1) {\n        textPattern.focus();\n        JsonsMessageBox($(\"#textPattern\"), \"请输入正则表达式\");\n        return false;\n    }\n    return true;\n}\nfunction buildRegex() {\n    var op = \"\";\n    if (document.getElementById(\"optionGlobal\").checked) op = \"g\";\n    if (document.getElementById(\"optionIgnoreCase\").checked) op = op + \"i\";\n    return new RegExp(document.getElementById(\"textPattern\").value, op);\n}\nfunction onMatch() {\n    if (!isValidFields())\n        return false;\n    document.getElementById(\"textMatchResult\").value = \"\";\n    var regex = buildRegex();\n    var result = document.getElementById(\"textSour\").value.match(regex);\n    if (null == result || 0 == result.length) {\n        document.getElementById(\"textMatchResult\").value = \"（没有匹配）\";\n        return false;\n    }\n    if (document.getElementById(\"optionGlobal\").checked) {\nvar re=\"\";\n        var strResult = \"共找到 \" + result.length + \" 处匹配：\\r\\n\";\ndocument.getElementById(\"textResult\").innerText=strResult;\nfor (var i = 0; i < result.length; ++i){ re += result[i] + \"\\r\\n\";}\n        document.getElementById(\"textMatchResult\").value = re;\n    }\n    else {\n   document.getElementById(\"textMatchResult\").value = \"匹配位置：\" + regex.lastIndex + \"\\r\\n匹配结果：\"+result[0];\n    }\n    return true;\n}\nfunction onReplace() {\n    var str = document.getElementById(\"textSour\").value;\n    var regex = buildRegex();\n    document.getElementById(\"textReplaceResult\").value = str.replace(regex, document.getElementById(\"textReplace\").value);\n}\nfunction reset() {\n     $(\"#textSour\").value=\"\";\n    $(\"#textPattern\").value=\"\";\n    $(\"#textMatchResult\").value=\"\";\n    $(\"#textReplace\").value=\"\";\n    $(\"#textReplaceResult\").value=\"\";\n}\n$(\"#regCommon a\").click(function () {\n    $(\"#textPattern\").val($(this).attr(\"t\"));\n    onMatch();\n});\nfunction Empty() {\n $(\"#textSour\").value=\"\";\n    $(\"#textMatchResult\").value=\"\";\n    $(\"#textReplace\").value=\"\";\n    $(\"#textReplaceResult\").value=\"\";\n    $(\"#textSour\").select();\n}\n</script>\n❗️0、1、结束❗️\n❗️0、0、开始❗️\n<!DOCTYPE html>\n<html>\n<head>\n    <meta charset=\"UTF-8\"/>\n    <title>规则编辑器</title>\n    <script>function $(selector) { return document.querySelector(selector); }\nfunction $$(selector) { return document.querySelectorAll(selector); }</script>\n<style>\n.editor a{\ncolor:#888;\nfor-size:12px\n}</style>\n</head>\n<body>\n\n<div class=\"editor\">\n规则例子\n<textarea readonly rows=\"10\" placeholder=\"例子\">POST\n说明：需要在url前加入POST:\nPostBody={}字符串\nJsonBody={}jsoup数据\n示例：POST:http://www.abc.com/search?PostBody={\"searchword\":\"阿凡达\",\"time\":\"123456\"}\n\n{SearchWord}是utf-8编码\n{SearchWordGB2312}是gb-2312编码\n{SearchWordGBK}是gbk编码\n\n{SystemUserAgent}\n含义：用户手机系统的User-Agent\n\nHeader\n含义：请求头\n示例：http://www.abc.com?Header={\"User-Agent\":\"xxx\"}\n\n</textarea>\n    <div class=\"setbox\">\n        <div class=\"rules\">\n            <div>\n                <b>基础信息</b>\n            </div><p></p><div>\n                <div>\n                    规则名称:\n                </div>\n                <textarea rows=\"3\" id=\"configName\" placeholder=\"源名称(SourceName)\"></textarea>\n            </div><p></p><div>\n                <div>\n                    解析类型:<a>静态WebPage  动态WebPage2</a>\n                </div>\n                <textarea rows=\"3\" id=\"configType\"\n                          placeholder=\"必选\">WebPage</textarea>\n            </div><p></p><div>\n                <div>\n                    视频扩展名:<a>unknown | undetermined | mp4 | m3u8</a>\n                </div>\n                <textarea rows=\"3\" id=\"extensions\" placeholder=\"必选\">unknown</textarea>\n            </div><p></p><div>\n                <div>\n                    嗅探排除表达式:\n                </div>\n                <textarea rows=\"3\" id=\"sniffExcludeRegex\" placeholder=\"嗅探排除表达式，非必要参数\"></textarea>\n            </div><p></p><div>\n                <div>\n                    等待时间:\n                </div>\n                <textarea rows=\"3\" id=\"waitTime\"\n                          placeholder=\"全局网页源码获取前的等待时间，非必要参数，单位毫秒\"></textarea>\n            </div><p></p><div>\n                <div>\n                    登录网页:\n                </div>\n                <textarea rows=\"3\" id=\"loginUrl\"\n                          placeholder=\"登录URL | 用于获取Cookie\"></textarea>\n            </div>\n             <p></p>\n            <div>            \n                <b>搜索规则</b>\n            </div><p></p><div>\n                <div>\n                    搜索URL:\n                </div>\n                <textarea rows=\"3\" id=\"searchUrl\" placeholder=\"搜索URL(RuleSearchUrl)\"></textarea>\n            </div><p></p><div>\n                <div>\n                    搜索名称列表:\n                </div>\n                <textarea rows=\"3\" id=\"searchNameRegex\"\n                          placeholder=\"搜索名称表达式，必要\"></textarea>\n            </div><p></p><div>\n                <div>\n                    搜索链接列表:\n                </div>\n                <textarea rows=\"3\" id=\"searchUrlRegex\" placeholder=\"搜索链接表达式，必要\"></textarea>\n            </div><p></p><div>\n                <div>\n                    视频图片:\n                </div>\n                <textarea rows=\"3\" id=\"searchPictureRegex\"\n                          placeholder=\"图片获取规则(RuleSearchCoverUrl)\"></textarea>\n            </div><p></p><div>\n                <div>\n                    视频类型:\n                </div>\n                <textarea rows=\"3\" id=\"searchTypeRegex\" placeholder=\"类型获取规则\"></textarea>\n            </div><p></p><div>\n                <div>\n                    视频状态:\n                </div>\n                <textarea rows=\"3\" id=\"searchStateRegex\"\n                          placeholder=\"状态获取规则\"></textarea>\n            </div><p></p><div>\n                <div>\n                    视频年份:\n                </div>\n                <textarea rows=\"3\" id=\"searchYearRegex\" placeholder=\"年份获取规则\"></textarea>\n            </div><p></p><div>\n                <div>\n                    选集url:\n                </div>\n                <textarea rows=\"3\" id=\"itemSkipRegex\" placeholder=\"跳转选集的Url，非必要\"></textarea>\n            </div><p></p><div>\n                <div>\n                    选集跳过url:\n                </div>\n                <textarea rows=\"3\" id=\"itemSkipRegex\"\n                          placeholder=\"选集跳过页表达式，非必要。---在itemUrl获取选集页代码后，如果选集页没有选集，选集数据在下一级页面才有时可使用此参数，匹配下一级页面的链接，自动完成跳转并获取下一级页面的源码，用于匹配选集信息\"></textarea>\n            </div><p></p>\n<div>\n                <b>线路与播放地址规则</b>\n            </div><p></p><div>\n                <div>\n                    选集名称列表:\n                </div>\n                <textarea rows=\"3\" id=\"itemNameRegex\"\n                          placeholder=\"选集名称表达式，必要。\"></textarea>\n            </div><p></p><div>\n                <div>\n                    选集链接列表:\n                </div>\n                <textarea rows=\"3\" id=\"itemUrlRegex\" placeholder=\"选集链接表达式，必要\"></textarea>\n            </div><p></p><div>\n                <div>\n                    真实链接的Url:\n                </div>\n                <textarea rows=\"3\" id=\"realUrl\"\n                          placeholder=\"选集播放器获取真实链接的Url，非必要。此参数可以为选集链接设置解析接口等，也支持单独设置请求---例如：'realUrl':'http://www.jx.com/?url={ItemUrlOrId}'\"></textarea>\n            </div><p></p><div>\n                <div>\n                    真实链接:\n                </div>\n                <textarea rows=\"3\" id=\"realUrlRegex\"\n                          placeholder=\"选集真实链接表达式，必要。---必须使用过realUrl后才有效，填写此参数后realUrl将不是直接调用播放器，而是获取链接对应的网页源码\"></textarea>\n            </div><p></p><div>\n                <div>\n                    选集真实类型（拓展名）:\n                </div>\n                <textarea rows=\"3\" id=\"realExtensionsRegex\"\n                          placeholder=\"选集真实类型（拓展名）表达式，非必要。---使用realUrl和realUrlRegex后才能使用此参数。用于获取视频类型。\n\"></textarea>\n            </div>\n    </div>\n </div>\n    <div class=\"menu\">    \n        <svg class=\"button\" onclick=\"ddd()\">\n            <text x=\"50%\" y=\"55%\">\n                ⋙生成规则\n            </text>            \n        </svg>\n\n        <svg class=\"button\" onclick=\"ccc()\">\n            <text x=\"50%\" y=\"55%\">\n                ✗清空表单\n            </text>\n        </svg>            \n\n    </div>\n\n    <div class=\"outbox\">\n        \n                    <textarea  rows=\"20\" class=\"context\" id=\"RuleJsonString\"\n                              placeholder=\"这里输出序列化的JSON数据\"></textarea>\n                </div>\n                \n                \n</div>\n\n<script>\nconst RuleJSON = (() => {\n\tlet ruleJson = {};\n\t$$('.rules textarea').forEach(item => ruleJson[item.id] = '');\n//\tfor (let item of $$('.rules textarea')) ruleJson[item.id] = '';\n\treturn ruleJson;\n})();\n\nfunction rule2json() {\n\tObject.keys(RuleJSON).forEach((key) => RuleJSON[key] = $('#' + key).value);\n\treturn RuleJSON;\n}\n\nfunction ddd(){\n$('#RuleJsonString').value = JSON.stringify(rule2json(), null, 4);\n}\nfunction ccc(){\n\t$$('.rules textarea').forEach(item => { item.value = '' });\n}\n</script>\n</body>\n</html>\n❗️0、0、结束❗️\n\n\n——————分割线————————\n{{}}\n<js>\nindex='{{$.index}}';\nif(index.match(/\\d+、\\d+、/)){\nreg=eval('/❗️'+index+'开始❗️[\\\\s\\\\S]+?❗️'+index+'结束❗️/g');\nreg2=eval('/❗️'+index+'..❗️/g');\nresult=result.match(reg)?result.match(reg)[0]:'<br/>'\nresult.replace(reg2,'')}else{result=''}\n</js>",
    "ruleImage": "<js>src=\"https://android-artworks.25pp.com/fs08/2023/01/03/9/110_03e44582413966c9a6310cf847cc08ba_con_130x130.png\"</js>",
    "ruleLink": "$.index",
    "rulePubDate": "$.intro",
    "ruleTitle": "$.text",
    "singleUrl": false,
    "sortUrl": "🔎 常用网站::http://www.baidu.com/wd=0、1、《📝 | 发现规则 正则匹配》◎◎•0、0、《📝 | 搜视pro》",
    "sourceComment": "by.关耳\n\n小说交流群462030508。\nA群637775313不加人。若群炸了查看此群群资料找新家。\n\n内容取自网络，仅供学习参考，请同学们在24小时内删除\n\n图标\nhttps://img0.baidu.com/it/u=3218949416,880686412&fm=253&fmt=auto&app=138&f=JPEG?w=140&h=140\n图标 齿轮动图\nhttps://z3.ax1x.com/2021/06/21/RVQ7Ue.gif",
    "sourceGroup": "-暗香迷蝶-,﹅ ♚常用榜单,R18",
    "sourceIcon": "https://i01piccdn.sogoucdn.com/33bd8163a946224d",
    "sourceName": "发现规则♛by关耳",
    "sourceUrl": "规则-正则匹配#迷迭edit2",
    "style": "#jhss a{\nfont-size:10px;\ncolor:red;\ntext-decoration:none;\n}\n\n#jhss p{\ndisplay:inline-block;\nwidth:8em;\n}\n\n#jhss p{\nmargin:0;\npadding:0;\ncolor:#666;\n}\n\n#jhss div{\nmargin:0;\npadding:10px;\n}\n\n#jhss h1{\nmargin:0;\npadding:9px;\nfont-size:20px;\n}\n\n#jhss input{\nmargin:2px;\npadding:2px 6px;\nfont-size: 1em;\nbackground-color:rgba(200,200,200,0.5);\ncolor:#A00;\nborder:0;\nborder-radius: 3px;\ntext-decoration: none;\ntext-align:center;\n}\ntextarea{\nwidth:100%\n}\n.menu {\n\tjustify-content: space-between;\n\tmax-width: 900px;\n\tmargin: 0 5px;\n}\n.menu .button {\n\twidth: 55px;\n\theight: 15px;\n\tmin-height: 5px;\n\tmargin: 5px 0px;\n\tcursor: pointer;\n}\n.button text {\n\ttext-anchor: middle;\n\tdominant-baseline: middle;\n}\n\n.button rect {\n\twidth: 100%;\n\theight: 100%;\n\tfill: transparent;\n\tstroke: #666;\n\tstroke-width: 2px;\n}\n.button rect.busy {\n\tstroke: #fD1850;\n\tstroke-dasharray: 30 90;\n\tanimation: stroker 1s linear infinite;\n}\n.tabbox {\n\tflex: 1;\n\tdisplay: flex;\n\tflex-flow: column;\n}\n.tabtitle {\n\tdisplay: flex;\n\tz-index: 1;\n\tjustify-content: center;\n}\n.tabtitle>div {\n\tcursor: pointer;\n\tpadding: 1px 10px 0 10px;\n\tborder-bottom: 3px solid transparent;\n\tfont-weight: bold;\n}\n.tabtitle>.this {\n\tcolor: #4f9da6;\n\tborder-bottom-color: #4EBBE4;\n}\n.tabbody {\n\tflex: 1;\n\tdisplay: flex;\n\tmargin-top: -1px;\n\tborder: 1px solid #A9A9A9;\n\theight: 0;\n}\n.tabbody>* {\n\tflex: 1;\n\tflex-flow: column;\n\tdisplay: none;\n}\n.tabbody>.this {\n\tdisplay: flex;\n}\n.tabbody>*>.titlebar{\n\tdisplay: flex;\n}\n.tabbody>*>.titlebar>*{\n\tflex: 1;\n\tmargin: 1px 1px 1px 1px;\n}\n.tabbody>*>.context {\n\tflex: 1;\n\tflex-flow: column;\n\tborder: 0;\n\tpadding: 5px;\n\toverflow-y: auto;\n}\n.tabbody>*>.inputbox{\n\tborder: 0;\n\tborder-bottom: #A9A9A9 solid 1px;\n\theight: 15px;\n\ttext-align:center;\n}\n.link>* {\n\tdisplay: flex;\n\tmargin: 5px;\n\tborder-bottom: 1px solid;\n\ttext-decoration: none;\n}\n#RuleList>label>* {\n\tbackground: #eee;\n\tpadding-left: 3px;\n\tmargin: 2px 0;\n\tcursor: pointer;\n}\n#RuleList input[type=radio] {\n\tdisplay: none;\n}\n#RuleList input[type=\"radio\"]:checked+* {\n\tbackground: #15cda8;\n}\n.isError {\n\tcolor: #FF0000;\n}\n#RuleJsonString{\nheight:600px\n}\nsvg text{\nfont-size:10px\n}"
  },
  {
    "articleStyle": 0,
    "customOrder": -100770,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "<js>\njson=[];\nif(baseUrl.match(/•/)){\nlist=baseUrl.replace(/http.*?wd=\\s*/,'').split('•');\nfor(i in list){\nhref=list[i].match(/【(.*?)】/)[1];\ntext=list[i].match(/《(.*?)》/)[1];\nintro=list[i].match(/◎(.*?)◎/)[1];\nindex=list[i].match(/^(\\d+、\\d+、)/)?list[i].match(/^(\\d+、\\d+、)/)[1]:list[i].match(/^(.*?)【/)[1]\njson.push({text:text,src:href,intro:intro,index:index})\n}\n}else{\nlist=baseUrl.replace(/http.*?wd=/,'');\nhref=list.match(/【(.*?)】/)[1];\ntext=list.match(/《(.*?)》/)[1];\nintro=list.match(/◎(.*?)◎/)[1];\nindex=list.match(/^(\\d+、\\d+、)/)?list.match(/^(\\d+、\\d+、)/)[1]:list.match(/^(.*?)【/)[1];\njson.push({text:text,src:href,intro:intro,index:index})\n}\nJSON.stringify(json)</js>\n$.[*]",
    "ruleContent": "all",
    "ruleDescription": "❗️0、1、开始❗️\n <script>function $(selector) { return document.querySelector(selector); }\nfunction $$(selector) { return document.querySelectorAll(selector); }</script>\n\n<style>\nbutton,input{\nmargin:5px\n}\n#basic-addon1,#replaceSpan1{\nbackground-color:Azure;\npadding:3px\n}\nbutton,input[type=\"button\"]{\n\toutline:none;\n\theight:30px;\n\tbox-shadow:2px 1px #CFD8DC;\n\tbackground:#fff;\n\tborder:1px solid #607D8B;\n\tborder-radius:6px;\n\t}\ntextarea{\nbackground-color:GhostWhite;\nborder:0px solid black\n}\n.bt1,.bt4{\n\tbackground:#fff;\n\twidth:30%;\n\tborder:1px solid green;\n\tborder-radius:10px;\n\t}\n#bt4:active,#bt2:active{\n\tbackground:#CFD8DC\n\t}\n\t#bt4,#bt2{\n\t\tbackground:#fff;\n\twidth:100%;\n\tborder:1px solid #607D8B;\n\tborder-radius:6px;\n\t\t}\n\t\tbutton:active,input[type=\"button\"]:active{\n\tbackground:#C8E6C9\n\t}\n\t#success{\n\t\ttext-align:center;\n\t\tborder:1px solid green;\n\t\tposition:fixed;\n\t\tleft:40%;\n\t\twidth:20%;\n\t\tbackground:#fff;\n\t\tborder-radius:5px;\n\t\tdisplay:none;\n\t\ttop:2px;\n\t\tbox-shadow:2px 1px 3px #CFD8DC;\n\t\t}\n\t\t#pageclass,#pageclass2{\n\t\t\twidth:100%\n\t\t\t}\n\t\t\t.pageclass{\n\t\t\t\tfont-size:10px\n\t\t\t\t}\n</style>\n \n<a href=\"https://www.sojson.com/rehtml\">html转义</a>&nbsp;&nbsp;<a href=\"http://www.jsons.cn/urlencode/\">URL解码</a>\n<textarea rows=\"10\" id=\"input\" onfocus=\"di()\" placeholder=\"输入带html标签的发现内容\"></textarea>\n<button onclick=\"getInput();dis()\" class=\"bt1\">格式化发现[旧]</button>\n<button onclick=\"getInput2();dis()\" class=\"bt1\">格式化发现[新]</button>\n<button onclick=\"getInput3();\" class=\"bt1\">发现格式互转</button>\n\n<button onclick=\"getInput4(1);\" id=\"bt4\">（新发现）改样式先点这个</button>\n<button onclick=\"getInput4(2,1);\" class=\"bt4\">一排一个</button>\n<button onclick=\"getInput4(2,2);\" class=\"bt4\">一排两个</button>\n<button onclick=\"getInput4(2,3);\" class=\"bt4\">一排三个</button>\n<button onclick=\"getInput4(2,4);\" class=\"bt4\">一排四个</button>\n\n<button onclick=\"copyText()\" id=\"bt2\">一键复制</button>\n\n<div class=\"pageclass\">输入分类里的链接，如：\n/sort/xuanhuan/\n写成\n/sort/分类/\n</div>\n<input id=\"pageclass\">\n<div class=\"pageclass\">输入带有翻页的链接，如：\n/sort/xuanhuan/2.html\n写成\n/sort/分类/页码.html\n</div>\n<input id=\"pageclass2\">\n\n<div class=\"pageclass\">\n第一页跟第二页不一样？\n输入不一样的部分（第二页比第一页多出来的部分）\n如\nindex_页码.html\n</div>\n<input id=\"pageclass3\">\n\n\n<button onclick=\"okpage()\">确认加入翻页（仅旧发现）</button>\n\n\n<p id=\"success\">复制成功！</p><br><br><br>\n<p>正则表达式匹配替换</p>\n <div class=\"form-group\">\n                    <div class=\"col-sm-12\">\n                        <textarea class=\"form-control\" onmouseover=\"this.focus();\" id=\"textSour\" name=\"textSour\" rows=\"10\" style=\"max-height: 2222px;\" placeholder=\"请输入要验证的文本\"></textarea>\n                    </div>\n                </div>\n                <div class=\"form-group\">\n                    <div class=\"col-sm-12\">\n                        <div class=\"input-group\">\n                            <span class=\"input-group-addon\" id=\"basic-addon1\">正则表达式</span>\n                            <input type=\"text\" class=\"form-control\" id=\"textPattern\" name=\"textPattern\" placeholder=\"请输入自定义正则表达式 例如：\\d{6}\" aria-describedby=\"basic-addon1\" style=\"width: 65%;\">\n                        </div>\n                    </div>\n                </div>\n                <div class=\"form-group\">\n                    <div class=\"col-sm-2\">\n                        <div class=\"input-group\" style=\"margin-left: 20px;\">\n                            <label class=\"checkbox\" style=\"cursor: pointer;\">\n                                <input type=\"checkbox\" value=\"global\" checked=\"checked\" id=\"optionGlobal\" name=\"optionGlobl\">全局搜索</label>\n                        </div>\n                    </div>\n                    <div class=\"col-sm-2\">\n                        <div class=\"input-group\" style=\"margin-left: 20px;\">\n                            <label class=\"checkbox\" style=\"cursor: pointer;\">\n                                <input type=\"checkbox\" value=\"ignoreCase\" id=\"optionIgnoreCase\" name=\"optionIgnoreCase\">忽略大小写</label>\n                        </div>\n                    </div>\n                    <div class=\"col-sm-8\">\n                        <input type=\"button\" onclick=\"return onMatch();\" value=\"验证匹配内容\" class=\"btn btn-success\">\n                        <input type=\"button\" onclick=\"Empty();\" value=\"清空输入框\" class=\"btn btn-danger\">\n<button onclick=\"copyText3()\">一键复制</button>\n                    </div>\n                </div>\n                <div class=\"form-group\">\n                    <div class=\"col-sm-12\">\n<div id=\"textResult\"></div>\n                        <textarea onmouseover=\"this.focus();\" id=\"textMatchResult\" class=\"form-control\" rows=\"10\" style=\"max-height: 2222px;\" placeholder=\"得到验证后内容，内容为空为验证失败\" readonly=\"readonly\"></textarea>\n                    </div>\n                </div>\n                <div class=\"form-group\">\n                    <div class=\"col-sm-4\">\n                        <div class=\"input-group\" style=\"width: 98%;\">\n                            <span class=\"input-group-addon\" id=\"replaceSpan1\">替换文本</span>\n                            <input type=\"text\" class=\"form-control\" id=\"textReplace\" name=\"textReplace\" placeholder=\"请输入替换内容\" aria-describedby=\"replaceSpan1\" style=\"width: 70%;\">\n<button value=\"{\\{page}}\" onclick=\"pp(this.value)\">page</button>\n\n<button value=\"$\" onclick=\"pp(this.value)\">$</button>\n\n<button value=\"'\" onclick=\"pp(this.value)\">'</button>\n<button value=\"/\" onclick=\"pp(this.value)\">/</button>\n<button value=\"_\" onclick=\"pp(this.value)\">_</button>\n<button value=\"-\" onclick=\"pp(this.value)\">-</button>\n                        </div>\n                    </div>\n                    <div class=\"col-sm-2\">\n                        <div class=\"input-group\">\n                            <button onclick=\"return onReplace()\" class=\"btn btn-success\">替换匹配内容</button>\n<button onclick=\"copyText2()\">一键复制</button>\n                        </div>\n                    </div>\n                    <div class=\"col-sm-6\">\n                    </div>\n                </div>\n                <div class=\"form-group\">\n                    <div class=\"col-sm-12\">\n                        <textarea readonly=\"readonly\" id=\"textReplaceResult\" class=\"form-control\" rows=\"10\" placeholder=\"此处为替换后内容\"></textarea>\n                    </div>\n                </div>\n                </form>\n            </div>\n        </div>\n<script>\n var copyText = function() {\n\tvar text = document.getElementById('input');\n    // 选中文本\n    text.select()\n    // 复制\n    document.execCommand('copy')\n    text.blur()\n    $(\"#success\").style.display = \"block\";\n    setTimeout(function(){\n                $(\"#success\").style.display = \"none\";\n          },500)\n}\n\nvar copyText2 = function() {\n    var text = document.getElementById('textReplaceResult');\n    // 选中文本\n    text.select()\n    // 复制\n    document.execCommand('copy')\n    text.blur()\n    $(\"#success\").style.display = \"block\";\n    setTimeout(function(){\n                $(\"#success\").style.display = \"none\";\n          },500)\n}\n\nvar copyText3 = function() {\n    var text = document.getElementById('textMatchResult');\n    // 选中文本\n    text.select()\n    // 复制\n    document.execCommand('copy')\n    text.blur()\n    $(\"#success\").style.display = \"block\";\n    setTimeout(function(){\n                $(\"#success\").style.display = \"none\";\n          },500)\n}\n\n</script>\n\n\n<script>\nfunction pp(a){\n\tb=a.replace(/\\\\/,'');\n$(\"#textReplace\").value+=b;\n$(\"#textReplace\").focus()\n}\nfunction dis(){\ndocument.getElementById(\"bt1\").disabled=true;\ndocument.getElementById(\"bt2\").disabled=true\n}\nfunction di(){\ndocument.getElementById(\"bt1\").disabled=false;\ndocument.getElementById(\"bt2\").disabled=false\n}\n\nfunction parseToDOM(str){\n   var div = document.createElement(\"div\");\n   if(typeof str == \"string\")\n       div.innerHTML = str;\n   return div.querySelectorAll(\"a\"); ;\n}\n\n\nfunction okpage(){\n\tpageclass = $(\"#pageclass\").value.replace(/(\\+|\\?)/g,'\\\\$1');\n\n\tpageclass=pageclass.replace(/分类$/g,'(.*)').replace(/分类(?!$)/g,'(.*?)');\n\t\n\treg = new RegExp(pageclass)\n\tpageclass2 = $(\"#pageclass2\").value;\n\thtml = $(\"#input\").value;\n\tpageclass2=pageclass2.replace(/页码/g,'{\\{page}}');\n\t\n\tpageclass3 =$(\"#pageclass3\").value.replace(/(\\+|\\?)/g,'\\\\$1').replace(/页码/,'{\\{page}}')\n\n\th = \"\";\n\tif(html.match(/::/) && pageclass!=\"\" && pageclass2!=\"\" && !/{\\{page}}/.test(html)){\n\t\tlist = html.split(/\\n|&&/);\n\t  for(i in list){\n\t  \tif(list[i].match(/::/)){\n\t       \ttext = list[i].match(/(.*?)::/)[1];\n\t       \thref=list[i].match(/::(.*)/)[1]\n\t       \tif(href.match(reg)){\n\t  \t        \thref = pageclass2.replace(/分类/g,href.match(reg)[1])\n\t  \t\t   }else{href=href}\t\n\t      \t\th+=text+\"::\"+href+\"\\n\"\n\t  \t }\n\t  \t}\n\t  \t$(\"#input\").value = h\n\t\t}\n\t\t\n\t\thtml = $(\"#input\").value\n\t\tif(pageclass3!=\"\" && !/<,.*?>/.test(html)){\n\t\t\t reg=new RegExp(\"(\"+pageclass3+\")\",'g');\n\t\t  $(\"#input\").value =\thtml.replace(reg,'<,$1>')\n\t\t\t\n\t\t\t}\n\t\t\n\t\t\n\t}\n\n\n\nfunction getInput(){\nvar str=$(\"#input\").value;\nvar list = parseToDOM(str);\nif(list.length==0){\n\t$(\"#input\").placeholder = \"格式化失败！！！请检查是否为带html标签的文本\"\n\t}else{\n\t\t\nvar html = \"\";\nfor (let i=0;i<list.length;i++){\n\tlet text = list[i].innerText;\n\tlet href = list[i].getAttribute(\"href\");\n\thtml += text + \"::\" + href +\"\\n\"\n\t}\n$(\"#input\").value = html\n}\n}\n\nfunction getInput2(){\nvar str=$(\"#input\").value;\nvar list = parseToDOM(str);\nif(list.length==0){\n\t$(\"#input\").placeholder = \"格式化失败！！！请检查是否为带html标签的文本\"\n\t}else{\nvar html = [];\nfor (let i=0;i<list.length;i++){\n\tlet text = list[i].innerText;\n\tlet href = list[i].getAttribute(\"href\");\n\thtml.push({\n\t\ttitle:text,\n\t\turl : href\n\t\t})\n\t}\n$(\"#input\").value = JSON.stringify(html)\n}\n}\n\nfunction getInput3(){\ntext=$(\"#input\").value;\nif(text.match(/\\&\\&|::/g)){\ntext=text.replace(/\\&\\&/g,'\\n');\nlist=text.match(/.*::.*/g);\nhtml=[];\nfor(i=0;i<list.length;i++){\nl=list[i].match(/(.*)::(.*)/);\ntitle=l[1];url=l[2]\nhtml.push({\ntitle:title,\nurl:url\n})\n}\n$(\"#input\").value=JSON.stringify(html)\n}else{\nhtml=\"\";\njson=eval(text);\nfor(i in json){\nhtml+=json[i].title+\"::\"+json[i].url+\"\\n\"\n}\n$(\"#input\").value=html\n}\n}\n\n\nfunction getInput4(flag,x){\ntext=$(\"#input\").value;\nif(flag==1){\njson=JSON.parse(text);\nfor(i in json){\njson[i].style={}\njson[i].style.layout_flexGrow=1\n}\n}else if(flag==2){\n\tdata={1:1,2:0.4,3:0.25,4:0.2}\njson=JSON.parse(text);\nfor(i in json){\njson[i].style.layout_flexBasisPercent=data[x]\n}\n}\n$(\"#input\").value=JSON.stringify(json)\n}\n\n\n\n\nfunction setVisible(idElement, visible) {\n    var obj = document.getElementById(idElement);\n    obj.style.visibility = visible ? \"visible\" : \"hidden\";\n}\nfunction isValidFields() {\n    var textSour = document.getElementById(\"textSour\");\n    if (null == textSour.value || textSour.value.length < 1) {\n        textSour.focus();\n        JsonsMessageBox($(\"#textSour\"), \"请输入待匹配文本\");\n        return false;\n    }\n    var textPattern = document.getElementById(\"textPattern\");\n    if (null == textPattern.value || textPattern.value.length < 1) {\n        textPattern.focus();\n        JsonsMessageBox($(\"#textPattern\"), \"请输入正则表达式\");\n        return false;\n    }\n    return true;\n}\nfunction buildRegex() {\n    var op = \"\";\n    if (document.getElementById(\"optionGlobal\").checked) op = \"g\";\n    if (document.getElementById(\"optionIgnoreCase\").checked) op = op + \"i\";\n    return new RegExp(document.getElementById(\"textPattern\").value, op);\n}\nfunction onMatch() {\n    if (!isValidFields())\n        return false;\n    document.getElementById(\"textMatchResult\").value = \"\";\n    var regex = buildRegex();\n    var result = document.getElementById(\"textSour\").value.match(regex);\n    if (null == result || 0 == result.length) {\n        document.getElementById(\"textMatchResult\").value = \"（没有匹配）\";\n        return false;\n    }\n    if (document.getElementById(\"optionGlobal\").checked) {\nvar re=\"\";\n        var strResult = \"共找到 \" + result.length + \" 处匹配：\\r\\n\";\ndocument.getElementById(\"textResult\").innerText=strResult;\nfor (var i = 0; i < result.length; ++i){ re += result[i] + \"\\r\\n\";}\n        document.getElementById(\"textMatchResult\").value = re;\n    }\n    else {\n   document.getElementById(\"textMatchResult\").value = \"匹配位置：\" + regex.lastIndex + \"\\r\\n匹配结果：\"+result[0];\n    }\n    return true;\n}\nfunction onReplace() {\n    var str = document.getElementById(\"textSour\").value;\n    var regex = buildRegex();\n    document.getElementById(\"textReplaceResult\").value = str.replace(regex, document.getElementById(\"textReplace\").value);\n}\nfunction reset() {\n     $(\"#textSour\").value=\"\";\n    $(\"#textPattern\").value=\"\";\n    $(\"#textMatchResult\").value=\"\";\n    $(\"#textReplace\").value=\"\";\n    $(\"#textReplaceResult\").value=\"\";\n}\n$(\"#regCommon a\").click(function () {\n    $(\"#textPattern\").val($(this).attr(\"t\"));\n    onMatch();\n});\nfunction Empty() {\n    $(\"#textSour\").value=\"\";\n    $(\"#textMatchResult\").value=\"\";\n    $(\"#textReplace\").value=\"\";\n    $(\"#textReplaceResult\").value=\"\";\n    $(\"#textSour\").select();\n}\n</script>\n\n\n❗️0、1、结束❗️\n\n——————分割线————————\n{{}}\n<js>\nindex='{{$.index}}';\nif(index.match(/\\d+、\\d+、/)){\nreg=eval('/❗️'+index+'开始❗️[\\\\s\\\\S]+?❗️'+index+'结束❗️/g');\nreg2=eval('/❗️'+index+'..❗️/g');\nresult=result.match(reg)?result.match(reg)[0]:'<br/>'\nresult.replace(reg2,'')}else{result=''}\n</js>",
    "ruleImage": "<js>\"https://android-artworks.25pp.com/fs08/2023/01/03/9/110_03e44582413966c9a6310cf847cc08ba_con_130x130.png\"</js>",
    "ruleLink": "$.index",
    "rulePubDate": "$.intro",
    "ruleTitle": "$.text",
    "singleUrl": false,
    "sortUrl": "🔎 常用网站::http://www.baidu.com/wd=0、1、【】《📝 | 发现规则》◎◎",
    "sourceComment": "https://img0.baidu.com/it/u=3218949416,880686412&fm=253&fmt=auto&app=138&f=JPEG?w=140&h=140",
    "sourceGroup": "合集,R18",
    "sourceIcon": "https://i01piccdn.sogoucdn.com/33bd8163a946224d",
    "sourceName": "发现规则new关耳",
    "sourceUrl": "发现规则new关耳",
    "style": "#jhss a{\nfont-size:10px;\ncolor:red;\ntext-decoration:none;\n}\n\n#jhss p{\ndisplay:inline-block;\nwidth:8em;\n}\n\n#jhss p{\nmargin:0;\npadding:0;\ncolor:#666;\n}\n\n#jhss div{\nmargin:0;\npadding:10px;\n}\n\n#jhss h1{\nmargin:0;\npadding:9px;\nfont-size:20px;\n}\n\n#jhss input{\nmargin:2px;\npadding:2px 6px;\nfont-size: 1em;\nbackground-color:rgba(200,200,200,0.5);\ncolor:#A00;\nborder:0;\nborder-radius: 3px;\ntext-decoration: none;\ntext-align:center;\n}\ntextarea{\nwidth:100%\n}\n.menu {\n\tjustify-content: space-between;\n\tmax-width: 900px;\n\tmargin: 0 5px;\n}\n.menu .button {\n\twidth: 55px;\n\theight: 15px;\n\tmin-height: 5px;\n\tmargin: 5px 0px;\n\tcursor: pointer;\n}\n.button text {\n\ttext-anchor: middle;\n\tdominant-baseline: middle;\n}\n\n.button rect {\n\twidth: 100%;\n\theight: 100%;\n\tfill: transparent;\n\tstroke: #666;\n\tstroke-width: 2px;\n}\n.button rect.busy {\n\tstroke: #fD1850;\n\tstroke-dasharray: 30 90;\n\tanimation: stroker 1s linear infinite;\n}\n.tabbox {\n\tflex: 1;\n\tdisplay: flex;\n\tflex-flow: column;\n}\n.tabtitle {\n\tdisplay: flex;\n\tz-index: 1;\n\tjustify-content: center;\n}\n.tabtitle>div {\n\tcursor: pointer;\n\tpadding: 1px 10px 0 10px;\n\tborder-bottom: 3px solid transparent;\n\tfont-weight: bold;\n}\n.tabtitle>.this {\n\tcolor: #4f9da6;\n\tborder-bottom-color: #4EBBE4;\n}\n.tabbody {\n\tflex: 1;\n\tdisplay: flex;\n\tmargin-top: -1px;\n\tborder: 1px solid #A9A9A9;\n\theight: 0;\n}\n.tabbody>* {\n\tflex: 1;\n\tflex-flow: column;\n\tdisplay: none;\n}\n.tabbody>.this {\n\tdisplay: flex;\n}\n.tabbody>*>.titlebar{\n\tdisplay: flex;\n}\n.tabbody>*>.titlebar>*{\n\tflex: 1;\n\tmargin: 1px 1px 1px 1px;\n}\n.tabbody>*>.context {\n\tflex: 1;\n\tflex-flow: column;\n\tborder: 0;\n\tpadding: 5px;\n\toverflow-y: auto;\n}\n.tabbody>*>.inputbox{\n\tborder: 0;\n\tborder-bottom: #A9A9A9 solid 1px;\n\theight: 15px;\n\ttext-align:center;\n}\n.link>* {\n\tdisplay: flex;\n\tmargin: 5px;\n\tborder-bottom: 1px solid;\n\ttext-decoration: none;\n}\n#RuleList>label>* {\n\tbackground: #eee;\n\tpadding-left: 3px;\n\tmargin: 2px 0;\n\tcursor: pointer;\n}\n#RuleList input[type=radio] {\n\tdisplay: none;\n}\n#RuleList input[type=\"radio\"]:checked+* {\n\tbackground: #15cda8;\n}\n.isError {\n\tcolor: #FF0000;\n}\n#RuleJsonString{\nheight:600px\n}\nsvg text{\nfont-size:10px\n}"
  },
  {
    "articleStyle": 0,
    "customOrder": -100758,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": ".aui-scrollView-type-left a!0",
    "ruleContent": "",
    "ruleImage": "",
    "ruleLink": "href",
    "ruleNextPage": "",
    "rulePubDate": "",
    "ruleTitle": "text",
    "singleUrl": false,
    "sortUrl": "",
    "sourceGroup": "-暗香迷蝶-,📥 下载,R18",
    "sourceIcon": "https://sf3-ttcdn-tos.pstatp.com/obj/labis/80479409c0f77b09a5c1855522196e7c",
    "sourceName": "🌺m知轩精校info",
    "sourceUrl": "https://m.zxcs.info#"
  },
  {
    "articleStyle": 0,
    "customOrder": -32179,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "{\n\t\"User-Agent\":\"Mozilla/5.0 (Linux; Android 8.0.0; MI 5s Plus Build/OPR1.170623.032; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/71.0.3578.99 Mobile Safari/537.36\"\n}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.item",
    "ruleContent": "tag.link@html&&class.entry@html\n##^##<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\">",
    "ruleImage": "tag.img@src",
    "ruleLink": "class.item-title@tag.a@href",
    "ruleNextPage": "page",
    "rulePubDate": "🏷️ {{@@class.item-category@text}}　　　　⏱️ {{@@class.date@text}}",
    "ruleTitle": "class.item-title@tag.a@title",
    "singleUrl": false,
    "sortUrl": "Android::https://www.423down.com/wp-admin/admin-ajax.php,{\"body\": \"type=cat&page={{page}}&id=11&action=mobx_load_more\",\"method\": \"POST\"}\n搜索.右上.源变量::https://www.423down.com/search/{{key=source.getVariable();if(key==\"\"||key==null)source.setVariable('破解');source.getVariable()}}/page/{{page}}",
    "sourceComment": "频繁搜索有限制，当被限后，只能3分钟后再搜索。\n预设搜索词为“破解”。可在右上、设置源变量，输入你想搜索的软件，确定，然后下拉刷新，得到搜索结果。\n————————\n✱✱小说交流群462030508。\nA群637775313不加人。若家炸了查看此群群资料找新家。\n\n✱✱内容取自网络，仅供学习参考，请同学们在24小时内删除✱✱\n————————\n图标\nhttps://www.423down.com/favicon.ico\nlogo不适用\nhttps://www.423down.com/wp-content/plugins/wp-mobile-x/themes/mobx-default/images/newlogo.png\n————————\n📑 安卓软件下载：\n　　知名软件达人|423DOWN.COM,更新快、专注去广告类软件输出10年、个人IP品牌软件分享站\n————————\n\nAndroid::https://www.423down.com/wp-admin/admin-ajax.php,{\"body\": \"type=cat&page={{page}}&id=11&action=mobx_load_more\",\"method\": \"POST\"}\napk::https://www.423down.com/apk/page/{{page}}\n搜索0.右上.源变量::https://www.423down.com/search/{{key=source.getVariable();if(key==\"\"||key==null)source.setVariable('破解');source.getVariable()}}/page/{{page}}\n搜索1.右上.源变量::https://www.423down.com/search/{{source.getVariable()}}/page/{{page}}\n搜索2.改源分类URL::https://www.423down.com/search/破解/page/{{page}}",
    "sourceGroup": "合集,R18",
    "sourceIcon": "https://www.423down.com/favicon.ico",
    "sourceName": "㊦♛423 Down",
    "sourceUrl": "https://www.423down.com/wp-admin/admin-ajax.php,{\n  \"body\": \"type=index&page={{page}}&id=&action=mobx_load_more\",\n  \"method\": \"POST\"\n}"
  },
  {
    "articleStyle": 2,
    "customOrder": -32179,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "{\n\t\"access-token\": \"\",\n\t\"content-type\": \"application/json; charset=UTF-8\",\n\t\"user-agent\": \"okhttp/4.10.0\"\n}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "data||data.list",
    "ruleContent": "$..vodPlayUrl\n<js>\n// 更新状态\na = \"{{$..vodRemarks}}\";\nb = \"{{$..vodTotal}}\";\nif(!a.match(/完结/)&&!b.match(/^0*$/))a+=\"(共\"+b+\"集)\";\ngx = a+\"{{$..vodPubdate##(.+)## ∙ $1}}\";\n\n\n// 格式化解析\njiexi = eval(String(source.sourceComment)).map($=>'<button onclick=\"xuan(this,\\'.jiexi\\')\" value=\"'+$[1]+'\"><b>'+$[0]+'</b></button>');\n\n\n// 格式化集数\njishu = result.split('#').map($=>{\n\t\t$ = $.split('$');\n\t\treturn '<button onclick=\"xuan(this,\\'.jishu\\')\" value=\"'+$[1]+'\"><b>'+$[0]+'</b></button>'\n\t});\n\n\n\n// 返回json\nJSON.stringify({\n\tgx: gx,\n\tjiexi: '<div>\\n\\t\\t'+jiexi.join('\\n\\t\\t')+'\\n</div>',\n\tjishu: '<div>\\n\\t\\t'+jishu.join('\\n\\t\\t')+'\\n</div>'\n});\n</js>\n<title>{{$..vodName}}</title>\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no\">\n<iframe frameborder=\"no\" allowfullscreen></iframe>\n<p></p>\n<hr>\n\n\n<details>\n<summary><h3>{{$..vodName}}</h3></summary>\n<br>\n\n<!--\n<img src=\"{{$..vodPic}}\" onerror=\"this.src='{{source.sourceIcon}}'\">\n<p>片名：{{$..vodName}}</p>\n<p>导演：{{$..vodDirector##,##, }}</p>\n<p>编剧：{{$..vodWriter##,##, }}</p>\n<p>主演：{{$..vodActor##,##, }}</p>\n-->\n\n\n<p>📜 又名：{{$..vodSub}}</p>\n<p>🔮 类型：{{$..vodArea&&$..vodLang&&$..vodYear##\\n## ∙ }}</p>\n<p>🔥 热度：{{$..vodHits}}</p>\n<p>📝 评分：网站{{$..vodScore}} | 豆瓣{{$..vodDoubanScore}}</p>\n<p>🔖 更新：{{JSON.parse(result).gx}}</p>\n<p>🏷️ 标签：{{$..vodClass&&$..vodTag##\\n|,##, }}</p>\n<br>\n<p>📑 简介：{{$..vodContent##\\s*(^|[。！？]+[”」）】]?)\\s*##$1<br>}}</p>\n<br>\n</details>\n<hr>\n\n\n<div class=\"jiexi\">\n<p>解析</p>\n{{JSON.parse(result).jiexi}}\n</div>\n<hr>\n\n\n<div class=\"jishu\">\n<p>集数</p>\n{{JSON.parse(result).jishu}}\n</div>\n<hr>\n\n\n\n\n\n<script>\n//选中标签\n$=(rule)=>document.querySelectorAll(rule);\n\n//删除active\nomit=(A)=>Array.from(A,a=>a.className='');\n\n//增加active\nactive=($,i)=>$[i].className='active';\n\n//选择集数\nxuan = (item,type)=>{\n\t\tbtn = $(type+' button.active');\n\n\t\tif(item.value==btn[0].value)return;\n\t\tomit(btn); item.className='active'\n\t\treturn geturl()\n\t}\n\n\n//拼接链接\nval=(type)=>$(type+' button.active')[0].value.trim();\ngeturl=()=>\n\t$('iframe')[0].src=$('p')[0].innerText=\n\t\tval('.jiexi') + val('.jishu');\n\n\n//初始化\n(()=>{\n\t\tactive($('.jiexi button'),0)\n\t\tactive($('.jishu button'),0)\n\t\treturn geturl()\n\t})()\n</script>## ∙ 0+(\\s*)##$1",
    "ruleImage": "vodPic",
    "ruleLink": "https://api.xmvod520.com/api/v1/video/detail,{\"body\":{\"videoId\":{{$.vodId}}},\"method\":\"POST\"}",
    "ruleNextPage": "page",
    "rulePubDate": "🔖 {{$.vodRemarks##更新至}}　📆 {{java.timeFormatUTC(java.getString('$.vodTime')*1000,'yyyy-MM-dd',8)}}",
    "ruleTitle": "vodName",
    "singleUrl": false,
    "sortUrl": "正在热映::https://api.xmvod520.com/api/v1/video/playingNow,{\"body\":{},\"method\":\"POST\"}\n推荐影视::https://api.xmvod520.com/api/v1/video/recommendList,{\"body\":{},\"method\":\"POST\"}\n\n\n变量搜索::https://api.xmvod520.com/api/v1/video/search,{\"body\":{\"keyWord\":\"{{v=source.getVariable();if(!v||/^\\s*$/.test(v))source.setVariable('狂飙');source.getVariable()}}\"},\"method\":\"POST\"}\n\n\n电影∙最新::https://api.xmvod520.com/api/v1/video/list,{\"body\":{\"page\":{{page}},\"pageSize\":20,\"sort\":1,\"typeId\":0,\"typeTopId\":52,\"year\":\"\"},\"method\":\"POST\"}\n电影∙热播::https://api.xmvod520.com/api/v1/video/list,{\"body\":{\"page\":{{page}},\"pageSize\":20,\"sort\":2,\"typeId\":0,\"typeTopId\":52,\"year\":\"\"},\"method\":\"POST\"}\n电影∙评分::https://api.xmvod520.com/api/v1/video/list,{\"body\":{\"page\":{{page}},\"pageSize\":20,\"sort\":3,\"typeId\":0,\"typeTopId\":52,\"year\":\"\"},\"method\":\"POST\"}\n\n\n连续剧∙最新::https://api.xmvod520.com/api/v1/video/list,{\"body\":{\"page\":{{page}},\"pageSize\":20,\"sort\":1,\"typeId\":0,\"typeTopId\":69,\"year\":\"\"},\"method\":\"POST\"}\n连续剧∙热播::https://api.xmvod520.com/api/v1/video/list,{\"body\":{\"page\":{{page}},\"pageSize\":20,\"sort\":2,\"typeId\":0,\"typeTopId\":69,\"year\":\"\"},\"method\":\"POST\"}\n连续剧∙评分::https://api.xmvod520.com/api/v1/video/list,{\"body\":{\"page\":{{page}},\"pageSize\":20,\"sort\":3,\"typeId\":0,\"typeTopId\":69,\"year\":\"\"},\"method\":\"POST\"}\n\n\n动漫∙最新::https://api.xmvod520.com/api/v1/video/list,{\"body\":{\"page\":{{page}},\"pageSize\":20,\"sort\":1,\"typeId\":76,\"typeTopId\":75,\"year\":\"\"},\"method\":\"POST\"}\n动漫∙热播::https://api.xmvod520.com/api/v1/video/list,{\"body\":{\"page\":{{page}},\"pageSize\":20,\"sort\":2,\"typeId\":76,\"typeTopId\":75,\"year\":\"\"},\"method\":\"POST\"}\n动漫∙评分::https://api.xmvod520.com/api/v1/video/list,{\"body\":{\"page\":{{page}},\"pageSize\":20,\"sort\":3,\"typeId\":76,\"typeTopId\":75,\"year\":\"\"},\"method\":\"POST\"}\n\n\n综艺∙最新::https://api.xmvod520.com/api/v1/video/list,{\"body\":{\"page\":{{page}},\"pageSize\":20,\"sort\":1,\"typeId\":78,\"typeTopId\":77,\"year\":\"\"},\"method\":\"POST\"}\n综艺∙热播::https://api.xmvod520.com/api/v1/video/list,{\"body\":{\"page\":{{page}},\"pageSize\":20,\"sort\":2,\"typeId\":78,\"typeTopId\":77,\"year\":\"\"},\"method\":\"POST\"}\n综艺∙评分::https://api.xmvod520.com/api/v1/video/list,{\"body\":{\"page\":{{page}},\"pageSize\":20,\"sort\":3,\"typeId\":78,\"typeTopId\":77,\"year\":\"\"},\"method\":\"POST\"}",
    "sourceComment": "[//解析列表_开始\n[\"Ⓧ 禁用\",\"\"],\n[\"Ⓐ 小白\",\"https://www.mtosz.com/erzi.php?url=\"],\n[\"Ⓑ 战狼\",\"https://jx.zhanlangbu.com/?url=\"],\n[\"Ⓒ 阿狸\",\"https://zy.aoxtv.com/m3u8.php?url=\"],\n[\"Ⓓ 神马\",\"https://api.tinga88.com/?url=\",\"次选\"],\n[\"Ⓔ 人人\",\"https://vip.mpos.ren/v/?url=\",\"次选\"],\n]//解析列表_结束",
    "sourceGroup": "🎞️ 影视,R18",
    "sourceIcon": "https://xmvod520.com/upload/mxprocms/20230516-1/dea4cd788f79083997356f5903cc6102.png",
    "sourceName": "熊猫影院",
    "sourceUrl": "https://api.xmvod520.com",
    "style": "*{\n\tz-index:0;\n\tmargin:0;\n\tpadding:0;\n\twidth:100%;\n\theight:auto;\n}\np{\n\ttext-indent:5px;\n}\nbody>p:first-of-type{\n\twidth:100.05%;\n\tposition:sticky;top:285px;\n\theight:15px;font-size:0.7rem;\n\tborder-bottom-right-radius:5px;\n\tborder-bottom-left-radius:5px;\n\tbackground:#000;color:#fff;\n\twhite-space:nowrap;\n\toverflow:hidden;\n\ttext-overflow:ellipsis;\n\tz-index:2;\n}\niframe{\n\tposition:sticky;top:0;\n\tbackground:#000;color:#fff;\n\theight:285px;\n\tz-index:2;\n}\n\n\ndetails{\n\twidth:90%;\n\tmargin:0 5%;\n\tpadding:10 0;\n}\nsummary{\n\twidth:90%;\n\tmargin:0 5%;\n\toutline:none;\n\ttext-align:center;\n}\nsummary::-webkit-details-marker{\n\tdisplay:none;\n}\n\n\n.jiexi>div{\n\toverflow-x:auto;\n\toverflow-y:hidden;\n\twhite-space:nowrap;\n}\nbutton{\n\twidth:21.65%;\n\tmargin:1.25%;\n\tpadding:5px;\n\toutline:none;\n\tborder-radius:8px;\n\tfont-size:0.7rem;\n\ttext-overflow:ellipsis;\n  overflow:hidden;\n\tposition:sticky;\n}\nbutton.active{\n\tz-index:1;\n\tcolor:#166188;\n\tleft:0;right:0;\n}\n.jishu button.active{\n\ttop:300;bottom:0;\n}"
  },
  {
    "articleStyle": 0,
    "customOrder": -32179,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "{\"User-Agent\":\"Mozilla/5.0 (Linux; Android 8.0.0; MI 5s Plus Build/OPR1.170623.032; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/71.0.3578.99 Mobile Safari/537.36\"}",
    "injectJs": "",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": false,
    "ruleArticles": "<js>\n\tmat = baseUrl.match(/^(.*?com)[^##]*\\/(.+)$/)\n\t\turl = java.put('url', mat[1])\n\t\turi = java.put('uri', mat[2])\n\nfunction $(reg){\n\t\treturn uri.match(reg)?true:false\n\t}\n\n//get【pwd】(链接提取码)\npwd = \n$(/##[^【]/)?  baseUrl.match(/##(.*?)(【|$)/)[1]:\n\"\";\n\neval(result.match(/var pgs;([\\s\\S]*?pgs.+;)/)[1]);\neval('$='+result.match(/data :([\\s\\S]*?\\})/)[1])\n\nbody = \"\";\nfor(key in $)body += key+'='+$[key]+'&';\nbody = String(body).replace(/&$/,'');\n\nurl += `/filemoreajax.php,{\"method\":\"POST\",\"body\":\"${body}\"}`\n\njava.ajax(url)\n</js>\n$.text",
    "ruleContent": "@js:\n$=JSON.parse(src).data;\npath=String($.name).match(/净化/)?\n\"replaceRule\":\nString($.name).match(/订阅[^失败]/)?\n\"rssSource\": \"bookSource\";\n\nsrc = \"legado://import/\"+path+\"?src=\";\n\n\n//🧡🧡🧡🧡🧡🧡🧡🧡🧡🧡🧡🧡🧡\n`<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\">\n<title>${$.name}</title>\n<br>\n<center>\n<h3>${$.name}</h3>\n</center>\n\n　　　　　　　文件大小： ${$.size}<br>\n　　　　　　　上传日期： ${$.time}<br>\n<br>\n\n　　❤️点◎下载文件◎，底栏会弹出信息，<br>\n　　❤️再点右下角“下载”，才会开始下载。<br>\n　　❤️文件默认存放在 根目录/Download/<br>\n<br>\n\n<center><b><a href=\"${$.url}\">◎ 下载文件 ◎</a></b></center>\n\n<br>\n<br>\n　　❤️书源仅txt文件可一键导入。<br>\n　　　（无须下载可直接导入）<br>\n　　💔zip文件只能下载到本地解压。<br>\n<br>\n\n<center><b><a href=\"${ src+encodeURIComponent($.url) }\">◎ 一键导入 ◎</a></b></center>\n\n<br>\n<p>　上传者说：${$.describe}</p>\n\n<br>↓资源链接，点击复制<textarea id=\"copy\" onclick=\"copy()\">${$.url}</textarea>\n\n<br><br>\n<center>\nrssSource by.Thomas.　　 md轻改&收集整理<br>\n资源取自网络，仅作参考试用，请24小时内删除<br></center>\n\n<script>\nfunction copy(){\n\tdocument.getElementById('copy').select()\n\tdocument.execCommand('copy')\n\talert(\"复制成功\")\n}\n</script>`\n##　上传者说：(null|undefined)|null|获取失败",
    "ruleImage": "@js:\nsrc =\n//蓝奏云列表图标\nbaseUrl.match(/【[^】]/)? baseUrl.match(/【(.*?)(】|$)/)[1]:\n\"\" ;\n\nsrc =\n//标题名含“书源”一词则用“书源”图标\n//lequ云兔标题名含订阅强制设定\njava.getString(\"$.name_all\").match(/lequ/)? \"sy.png\" :\njava.getString(\"$.name_all\").match(/订阅/)? \"dy.png\" :\njava.getString(\"$.name_all\").match(/净化/)? \"jh.png\" : \njava.getString(\"$.name_all\").match(/漫画/)? \"mh.png\" :\njava.getString(\"$.name_all\").match(/书源/)? \"sy.png\" : src ;\n\nsrc.match(/http/)?  src:\n\n//一程图标简写补全\nsrc.match(/^\\//)?  `https://gitee.com/i-c/tc/raw/master/dy/yd${src}` :\n\n//md agit仓图片简写补全\nsrc.match(/^[^/]*\\./)? `https://agit.ai/yd/red/raw/branch/o/${src}`:\n\n//默认封面\n\"https://android-artworks.25pp.com/fs08/2023/01/03/9/110_03e44582413966c9a6310cf847cc08ba_con_130x130.png\"",
    "ruleLink": "https://apis.jxcxin.cn/api/lanzou?url=@get:{url}/{{$.id}}",
    "ruleNextPage": "@js:\ntry{\n\t\tu = String(java.get('url'))\n\t\tp = u.match(/pg=(\\d+)&/)[1]\n\t\tp = 'pg='+(parseInt(p)+1)+'&'\n\t\turl = u.replace(/pg=(\\d+)&/,p)\n\t}\ncatch(err){url=\"\"}\nurl",
    "rulePubDate": "💾 {{$.icon}}　📥 {{$.size}}　⏱️ {{$.time}}",
    "ruleTitle": "$.name_all\n##\\(订阅失败请.*",
    "singleUrl": false,
    "sortUrl": "<js>`\n//‼️↓可自己加列表到这里\n\n\n\n//‼️↑可自己加列表到这里\n`+JSON.parse(java.ajax(\"https://agit.ai/butterfly/yd/raw/branch/yd/local.json\"))[1].sortUrl\n</js>",
    "sourceComment": "‼️此源为难受直链。仅支持难受分组，不支持普通网页分组。\n‼️online版订阅源，无需手动更新，自动读取线上最新版本分类列表。\n‼️online版依赖agit，agit挂了会导致订阅源失效（agit偶尔会抽风）\n————————\n23.5.14 感谢Thomas提供提取线上分类列表的写法。\nrss by.Thomas。  md小改&收集整理。\n\n小说交流群462030508\nA群637775313不加人。若群炸了查看此群群资料找新家。\n\n内容取自网络，仅供学习参考试用，请24小时内删除。找到感兴趣的书籍请支持正版。\n————————\n\n分类列表格式：\n\n✱✱难受云列表。\n\n分类名::链接##密码【图标链接】\n\n✱✱例：\n\n阅读X 3.0 ::https://hahahahahaha.lanzoux.com/b08rjey5i##no18ls【yuedu.jpg】\n",
    "sourceGroup": "-md-,R18",
    "sourceIcon": "https://agit.ai/butterfly/yd/raw/branch/yd/pic/0yellow.jpg",
    "sourceName": "阅读难受 online2",
    "sourceUrl": "https://www.lanzoux.com#b1",
    "style": "a{text-decoration:none}\nimg{width:20%;height:auto;border-radius:50%}\ntextarea{width:100%;border-radius:5px}",
    "variableComment": ""
  },
  {
    "articleStyle": 0,
    "concurrentRate": "",
    "contentBlacklist": "https://lupic.cdn.bcebos.com/,\nhttps://cpro.baidu.com/,\nhttps://eclick.baidu.com/,\nhttps://sofire.baidu.com/,\nhttps://analytics.woozooo.com/,\nhttps://statics.woozooo.com/",
    "customOrder": -32178,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "{\"User-Agent\": \"Mozilla/5.0 (Linux; Android 8.0.0; MI 5s Plus Build/OPR1.170623.032; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/71.0.3578.99 Mobile Safari/537.36\"}",
    "injectJs": "",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": false,
    "loginUi": "",
    "loginUrl": "",
    "ruleArticles": "@js:\ntry{\n\t$=JSON.parse(src).text\n\tif($==\"no file\")$=[];\n\t}\ncatch(err){\n\n\n//💚💚0 agit仓里的列表文件\nif(baseUrl.match(/\\/yd\\/sort/)){\n\t\t$=[]\nString(java.ajax(baseUrl)).replace(/♞♞【】《》◎◎\\n/g,'').replace(/\\n/g,'').replace(/^SORT♞♞/,'').replace(/\\,/g,',{\"headers\":{\"User-Agent\": \"Mozilla/5.0 (Windows; U; Windows NT 5.2;. en-US) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36 Quark/4.6.2.161\"}}').\n\n\t\tsplit('♞♞').map($$=>$.push({\n\t\t\t\tname_all: $$.match(/《(.*?)》/)[1],\n\t\t\t\ttime: $$.match(/◎(.*?)◎/)[1].replace(/■/,'▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁'),\n\t\t\t\turi: $$.match(/【(.*?)】/)[1],\n\t\t\t\turl: $$.match(/^(.*?)【/)[1]\n\t\t\t}));\n\n}\n//💚💚0 网站整合结束\n\n\n//网站整合\nelse if(baseUrl.match(/^https?\\:\\/\\/(www.)?baidu.com\\?wd=\\s*/)){\n\t\t$=[]\n\t\tbaseUrl.replace(/^.*?wd=\\s*/,'').\n\t\tsplit('♞♞').map($$=>$.push({\n\t\t\t\tname_all: $$.match(/《(.*?)》/)[1],\n\t\t\t\ttime: $$.match(/◎(.*?)◎/)[1].replace(/■/,'▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁'),\n\t\t\t\turi: $$.match(/【(.*?)】/)[1],\n\t\t\t\turl: $$.match(/^(.*?)【/)[1]\n\t\t\t}));\n\t}\n\n\n//蓝奏云\nelse{\n\n//蓝奏云非分组链接\nif(String(java.getString('text.举报文件@href')).length){$=[{\n\t\tname_all: String(java.getString('class.md@textNodes')),\n\t\ticon: String(java.getString('class.md@textNodes')).replace(/.*\\./,''),\n\t\tsize: String(java.getString('class.mtt@text')).replace(/\\( /,'').replace(/ \\)/,''),\n\t\ttime: String(java.getString('class.mf@textNodes')).replace(/.*\\n/,''),\n\t\turi: baseUrl.replace(/^(.+com).*\\/(.+)$/,'$2'),\n\t\turl: baseUrl.replace(/^(.+com).*\\/(.+)$/,'$1/tp/$2')\n\t}]}\n\n\n//蓝奏云分组链接\nelse{\nmat = baseUrl.match(/^(.*?com)[^##]*\\/(.+)$/)\n\t\turl = mat[1]\n\t\turi = mat[2]\nfunction $(reg){\n\t\treturn uri.match(reg)?true:false\n\t}\n\n\n//get【pwd】(链接提取码)\npwd = \n\n//蓝奏云密码\n$(/##.*/)?  baseUrl.match(/##(.*?)(【|\\,|$)/)[1]:\n\n//‼️Thomas密码。密码写这里也行，列表链接那里不写。\n//‼️$(/b03p9ftpc/)?  \"read\":\n\n\"\";\n\n\n//get 【body】\neval(src.match(/var pgs;([\\s\\S]*?pgs.+;)/)[1])\neval('body=\"\";$='+src.match(/data :([\\s\\S]*?\\})/)[1])\nfor(key in $)body+=key+'='+$[key]+'&';\nbody=String(body).replace(/&$/,'')\n\n\n//补全【url】\nurl += `/filemoreajax.php,{\"method\":\"POST\",\"body\":\"${body}\",\"uri\":\"${uri}\"}`\n\n\n//ajax\n$=JSON.parse(java.ajax(baseUrl=url));\n$=$.text!=0?$.text:\n\n//密码错误提示\n[{name_all:$.info,time:uri+$.info,url:uri+$.info}];\n}\n\n}}\njava.put('url', baseUrl)\n$.map($=>JSON.stringify($))",
    "ruleContent": "",
    "ruleDescription": "❗️0、0、开始❗️\n111\n❗️0、0、结束❗️❗️0、1、开始❗️\n<title>{{$.name_all}}</title><style>\ninput{\n\toutline:0;\n\ttext-indent:10px;\n\tborder:1px solid #000;\n\twidth:60%;\n\theight:35px;\n\tposition:absolute;\n\ttop:35%;\n\tleft:10%;\n\tborder-top-left-radius:10px;\n\tborder-bottom-left-radius:10px\n}\nbutton{\n\toutline:none;\n\twidth:20%;\n\theight:35px;\n\tposition:absolute;\n\ttop:35%;\n\tright:10%;\n\tborder-top-right-radius:10px;\n\tborder-bottom-right-radius:10px\n}\nh3{text-align:center}\n</style>\n\n\n<br><h3>帮你导入</h3>\n<input type=\"text\" id=\"src\" placeholder=\"输入正确的资源链接...\">\n<button onclick=\"clickme()\">一键导入</button>\n<iframe id=\"iframe\" src=\"\" hidden></iframe>\n\n<script>\nfunction clickme(){\n\tdocument.getElementById('iframe').src = \"legado://import/auto?src=\"+document.getElementById('src').value\n}\n</script>\n❗️0、1、结束❗️\n\n{{}}@js:\nurl=String(java.getString('$.url'))\n\n//一键导入html\nif(url.match(/^📥/)){\nurl=String(url).replace('📥','')\n\nurl=url.match(/^legado\\:\\/\\//)?url:'legado://import/auto?src='+url\n\n\nresult=`<title>{{$.name_all}}</title>\n<iframe src=\"${url}\" hidden></iframe>\n<br><h3>{{$.name_all}}</h3>\n<h5>导入不成功？多导入几次试试</h5>\n<h6><b>\n↓资源链接，点击复制\n<a href=\"${url}\">一键导入</a>\n<textarea id=\"copy\" onclick=\"copy()\">${String(url).replace(/legado.*?src=/,'')}</textarea>\n{{$.time}}\n</b></h6><style>\na{float:right;text-decoration:none}\nh3,h5{text-align:center}\nh6{margin:0 2;position:sticky;top:30%}\ntextarea{width:100%;border-radius:5px}\n</style><script>\nfunction copy(){\n\tdocument.getElementById('copy').select()\n\tdocument.execCommand('copy')\n\talert(\"复制成功\")\n}\n</script>`}\n\n//自定义html\nelse if(url.match(/\\d+、\\d+、/)){\nreg=new RegExp('❗️'+url+'开始❗️\\\\s*([\\\\s\\\\S]+?)\\\\s*❗️'+url+'结束❗️')\n\n//默认禁用放大缩小按钮\nresult=result.match(reg)?'<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no\">'+result.match(reg)[1]:'<br>未找到对应html'\n}else{result=''}",
    "ruleImage": "$.uri\n@js:\n\nu=String(java.get('url'));\nuri = String(result) || (u.match(/uri\":\"([^\"]+)/)?u.match(/uri\":\"([^\"]+)/)[1]:\"\");\n\nfunction $(reg){\n\t\treturn uri.match(reg)?true:false\n\t}\n\nsrc =\n//蓝奏云列表图标\n$(/【[^】]/)? baseUrl.match(/【(.*?)(】|$)/)[1]:\nuri ;\n\n\nsrc.match(/http/)?  src:\n\njava.getString(\"$.name_all\").match(/单仓|215613905|taka|q版/) ? \"https://agit.ai/yd/red/raw/branch/o/dc1.png\" :\n\njava.getString(\"$.name_all\").match(/可视|影视仓|影音壳子|多仓/) ? \"https://agit.ai/yd/red/raw/branch/o/dc2.png\" :\n\n//4⃣️423 简写补全\nbaseUrl.match(/423down/)?  \"https://agit.ai/yd/red/raw/branch/o/4.jpg\":\n\n//一程图标简写补全\nsrc.match(/^\\//)?  `https://gitee.com/i-c/tc/raw/master/dy/yd${src}` :\n\n//md agit仓图片简写补全\nsrc.match(/^[^/]*\\./)? `https://agit.ai/yd/red/raw/branch/o/${src}`:\n\n//默认图标：APK图标\n\"https://agit.ai/yd/red/raw/branch/o/apk.jpg\"",
    "ruleLink": "$.id@js:\nurl=`{{$.url}}`\nif(result)url+=`/tp/{{$.id}}`;\nString(url).replace(/^蓝奏链接(.+com).*\\/(.+)/,'$1/tp/$2').replace(/^..导入/,'')",
    "ruleNextPage": "@js:\ntry{\n\t\tu = String(java.get('url'))\n\t\tp = u.match(/pg=(\\d+)&/)[1]\n\t\tp = 'pg='+(parseInt(p)+1)+'&'\n\t\turl = u.replace(/pg=(\\d+)&/,p)\n\t}\ncatch(err){url=\"\"}\nurl",
    "rulePubDate": "💾 {{$.icon}}　📥 {{$.size}}　⏱️ {{$.time}}\n##💾 　📥 　⏱️\\s*",
    "ruleTitle": "$.name_all",
    "singleUrl": false,
    "sortUrl": "<js>`\n//‼️↓可自己加列表到这里\n\n\n\n//‼️↑可自己加列表到这里\n`+JSON.parse(java.ajax(\"https://agit.ai/butterfly/yd/raw/branch/yd/local.json\"))[2].sortUrl\n</js>",
    "sourceComment": "‼️online版订阅源，无需手动更新，自动读取线上最新版本分类列表。\n‼️online版依赖agit，agit挂了会导致订阅源失效（agit偶尔会抽风）\n————————\n23.5.14 感谢Thomas提供提取线上分类列表的写法。\nrss by.Thomas。  md小改&收集整理。\n\n小说交流群462030508\nA群637775313不加人。若群炸了查看此群群资料找新家。\n\n内容取自网络，仅供学习参考试用，请24小时内删除。找到感兴趣的书籍请支持正版。\n————————\n\n分类列表2种格式：\n\n✱✱①难受云列表。\n\n分类名::链接##密码【图标链接】\n\n\n✱✱②整合类的列表。\n开头链接必须加http://www.baidu.com?wd=\n每一个网页项之间用♞♞拼接。\n\n分类名::http://www.baidu.com?wd=网页链接【图标链接】《项的名字》◎小字注明◎\n\n\n✱✱例：\n\n阅读X 3.0 ::https://hahahahahaha.lanzoux.com/b08rjey5i##no18ls【yuedu.jpg】\n\nℹ️教程::http://www.baidu.com?wd=https://www.w3cschool.cn/python3/【ojc.jpg】《Python3 教程》◎从入门到放弃◎♞♞https://www.w3cschool.cn/php/【】《PHP 教程》◎■◎♞♞https://tool.oschina.net/【owy.jpg】《开源中国 在线工具》◎◎",
    "sourceGroup": "-md-,R18",
    "sourceIcon": "https://agit.ai/butterfly/yd/raw/branch/yd/pic/0pink.jpg",
    "sourceName": "软件难受 online3",
    "sourceUrl": "https://www.lanzoux.com/#c0",
    "style": ""
  },
  {
    "articleStyle": 0,
    "customOrder": -32119,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceComment": "套娃。点此源获取本体。\n\n指向的地址是固定链接，使用此订阅源导入的即为最新版本。\n————————\n小说交流裙462030508。\nA裙637775313不加人。若裙炸了查看此裙裙资料找新家。\n\n内容取自网络，仅供学习参考试用，请在24小时内删除。\n————————\nlegado://import/auto?src=https://agit.ai/butterfly/yd/raw/branch/yd/迷迭订阅源.json",
    "sourceGroup": "-md-,R18",
    "sourceIcon": "http://pp.myapp.com/ma_icon/0/icon_52437554_1640934578/256",
    "sourceName": "订阅v0  暗香迷蝶",
    "sourceUrl": "legado://import/rsssource?src=https://agit.ai/butterfly/yd/raw/branch/yd/迷迭订阅源.json"
  },
  {
    "articleStyle": 0,
    "customOrder": -31763,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceComment": "套娃，这个订阅源不是本体。\n\n指向的链接是固定链接，因此使用此订阅源导入的即为最新版本。\n————————\n小说交流裙462030508。\nA裙637775313不加人。若裙炸了查看此裙裙资料找新家。\n\n内容取自网络，仅供学习参考，请同学们在24小时内删除。\n————————",
    "sourceGroup": "-暗香迷蝶-,R18",
    "sourceIcon": "https://android-artworks.25pp.com/fs08/2023/01/03/9/110_03e44582413966c9a6310cf847cc08ba_con_130x130.png",
    "sourceName": "迷迭常用订阅更新",
    "sourceUrl": "legado://import/rssSource?src=https://agit.ai/butterfly/yd/raw/branch/yd/迷迭订阅源.json"
  },
  {
    "articleStyle": 1,
    "customOrder": -31192,
    "enableJs": false,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": false,
    "ruleArticles": "$.list",
    "ruleDescription": "$.vod_play_url\n@js:\nresult=result.replace('在线播放$','');\nresult=\"<video src=\\\"\"+result+\"\\\" width=\\\"100%\\\" controls height=\\\"285px\\\"></video>\";\nresult=\"<html><head><meat charset=\\\"utf-8\\\"><meat name=\\\"viewport\\\" content=\\\"width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no\\\"/><style>html,body{margin:0;padding:0;width:100%;}</style></head><body>\"+result+\"</body></html>\"",
    "ruleImage": "$.vod_pic",
    "ruleLink": "$.vod_id",
    "ruleNextPage": "page",
    "rulePubDate": "$.vod_time",
    "ruleTitle": "$.vod_name",
    "singleUrl": false,
    "sortUrl": "搜索::https://shayuapi.com/api.php/provide/vod/at/json/?ac=detail&wd=全裸&pg={{page}}\n推荐::https://shayuapi.com/api.php/provide/vod/at/json/?ac=detail&pg={{page}}\n国产::https://shayuapi.com/api.php/provide/vod/at/json/?ac=detail&t=1&pg={{page}}\n精品::https://shayuapi.com/api.php/provide/vod/at/json/?ac=detail&t=31&pg={{page}}\n日无::https://shayuapi.com/api.php/provide/vod/at/json/?ac=detail&t=2&pg={{page}}\n日有::https://shayuapi.com/api.php/provide/vod/at/json/?ac=detail&t=3&pg={{page}}\n中字::https://shayuapi.com/api.php/provide/vod/at/json/?ac=detail&t=20&pg={{page}}\n主播::https://shayuapi.com/api.php/provide/vod/at/json/?ac=detail&t=21&pg={{page}}\n动漫::https://shayuapi.com/api.php/provide/vod/at/json/?ac=detail&t=22&pg={{page}}\n欧美::https://shayuapi.com/api.php/provide/vod/at/json/?ac=detail&t=23&pg={{page}}\n私拍::https://shayuapi.com/api.php/provide/vod/at/json/?ac=detail&t=24&pg={{page}}\n丝袜::https://shayuapi.com/api.php/provide/vod/at/json/?ac=detail&t=25&pg={{page}}\n人妻::https://shayuapi.com/api.php/provide/vod/at/json/?ac=detail&t=26&pg={{page}}\n韩国::https://shayuapi.com/api.php/provide/vod/at/json/?ac=detail&t=27&pg={{page}}\n香港::https://shayuapi.com/api.php/provide/vod/at/json/?ac=detail&t=28&pg={{page}}",
    "sourceComment": "",
    "sourceGroup": "🎬 18禁,R18",
    "sourceIcon": "https://z3.ax1x.com/2021/02/07/ytBxSK.gif",
    "sourceName": "©Tikhub",
    "sourceUrl": "https://shayuapi.com/api.php/provide/vod/at/json/?ac=detail&pg={{page}}"
  },
  {
    "articleStyle": 1,
    "customOrder": -31161,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "{\n\t\"User-Agent\":\"Mozilla/5.0 (Linux; Android 10; MI 8 Build/QKQ1.190828.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/100.0.4896.127 Mobile Safari/537.36\"\n\t}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.v-item",
    "ruleContent": "{{@@class.player@all}}\n{{@@title@all}}",
    "ruleImage": "class.v-cover@data-original",
    "ruleLink": "a.0@href##detail##conter",
    "ruleNextPage": "page",
    "rulePubDate": "播放：{{@@class.uk-float-left.0@text}}  点赞：{{@@class.uk-float-left.1@text}}",
    "ruleTitle": "class.v-title@text",
    "singleUrl": false,
    "sortUrl": "4K岛国::http://jingtou.cc/vod_list-12-{{page}}/index.html\n热门女优::http://jingtou.cc/vod_list-2-{{page}}/index.html\n中文字幕::http://jingtou.cc/vod_list-3-{{page}}/index.html\n无码专区::http://jingtou.cc/vod_list-5-{{page}}/index.html\n韩日三级::http://jingtou.cc/vod_list-6-{{page}}/index.html\n人妻熟女::http://jingtou.cc/vod_list-10-{{page}}/index.html\n制服师生::http://jingtou.cc/vod_list-7-{{page}}/index.html\n丝袜美腿::http://jingtou.cc/vod_list-9-{{page}}/index.html\n欧美性爱::http://jingtou.cc/vod_list-11-{{page}}/index.html\n卡通动漫::http://jingtou.cc/vod_list-14-{{page}}/index.html\nVR资源::http://jingtou.cc/vod_list-17-{{page}}/index.html\nJav高清::http://jingtou.cc/vod_list-18-{{page}}/index.html",
    "sourceComment": "",
    "sourceGroup": "©视频,R18",
    "sourceIcon": "https://i.postimg.cc/mgsrMMnJ/1658228022914.png",
    "sourceName": "©七福利",
    "sourceUrl": "http://jingtou.cc/",
    "style": "iframe{\n\theight:240px\n}\ntitle{\n\tdisplay:block\n}"
  },
  {
    "articleStyle": 1,
    "customOrder": -30623,
    "enableJs": true,
    "enabled": false,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.video",
    "ruleContent": "id.a1@script.0@all##url\":\"([^\"]+.m3u8)##$1##\n<js>\nresult=result.replace(/\\\\/g,\"\")\r\nresult = \"<video src=\\\"\" + result + \"\\\" width=\\\"100%\\\" height=\\\"285px\\\" controls=\\\"controls\\\" ></video>\";\r\nresult = \"<html><head><meta charset=\\\"utf-8\\\"><meta name=\\\"viewport\\\" content=\\\"width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no\\\" /><style>html,body{margin:0;padding:0;width:100%;}</style></head><body>\" + result + \"</body></html>\"\n result\n</js>",
    "ruleImage": "img@src",
    "ruleLink": "a@href@js:'https://ads54t56ijn--5165fa14s--042420.cdcd0725.dinotalesonline.com:21726'.concat(result)",
    "ruleNextPage": "id.long-page@ul@b@li.-2@a@href",
    "rulePubDate": "class.video-overlay badge transparent@text",
    "ruleTitle": "class.video-title@text",
    "singleUrl": false,
    "sortUrl": "乱伦::https://ads54t56ijn--5165fa14s--042420.cdcd0725.dinotalesonline.com:21726/vodtype/193.html\n制服::https://ads54t56ijn--5165fa14s--042420.cdcd0725.dinotalesonline.com:21726/vodtype/196.html\n亚洲::https://ads54t56ijn--5165fa14s--042420.cdcd0725.dinotalesonline.com:21726/vodtype/195.html\nSM::https://ads54t56ijn--5165fa14s--042420.cdcd0725.dinotalesonline.com:21726/vodtype/197.html\n自慰::https://ads54t56ijn--5165fa14s--042420.cdcd0725.dinotalesonline.com:21726/vodtype/198.html\n拳交::https://ads54t56ijn--5165fa14s--042420.cdcd0725.dinotalesonline.com:21726/vodtype/199.html\n无码::https://ads54t56ijn--5165fa14s--042420.cdcd0725.dinotalesonline.com:21726/vodtype/191.html\n人妻::https://ads54t56ijn--5165fa14s--042420.cdcd0725.dinotalesonline.com:21726/vodtype/194.html",
    "sourceComment": "",
    "sourceGroup": "封子秦,R18",
    "sourceIcon": "https://img2.baidu.com/it/u=674439633,2502913322&fm=253&fmt=auto&app=120&f=JPEG?w=1280&h=800",
    "sourceName": "©女仆®",
    "sourceUrl": "AVmaid"
  },
  {
    "articleStyle": 2,
    "customOrder": -24817,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "{\n    'User-Agent': 'Dalvik/2.1.0 (Linux; U; Android 12; M2012K11AC Build/SKQ1.211006.001)'\n}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "$.res.vertical[*]",
    "ruleContent": "@js:\na=baseUrl;\nb='<img src=\"'+a+'\"';\nc='<html><head><meta charset=\"utf-8\"><title>壁纸喵</title><style>body{background-color:#ffffff}</style></head><body>'+b+' width=\"100%\" height=\"auto\" controls=\"controls\" <\"></video></body></html>'",
    "ruleImage": "$.img",
    "ruleLink": "$.img",
    "ruleNextPage": "page",
    "rulePubDate": "❤️{{$.favs}}",
    "ruleTitle": "$.store",
    "singleUrl": false,
    "sortUrl": "首页::http://service.picasso.adesk.com/v1/vertical/vertical?disorder=true&limit=16&skip={{(page-1)*16}}&adult=false&first=1&url=http%3A%2F%2Fservice.picasso.adesk.com%2Fv1%2Fvertical%2Fvertical&order=hot\n美女::http://service.picasso.adesk.com/v1/vertical/category/4e4d610cdf714d2966000000/vertical?limit=16&skip={{(page-1)*16}}&adult=false&first=1&url=http%3A%2F%2Fservice.picasso.adesk.com%2Fv1%2Fvertical%2Fcategory%2F4e4d610cdf714d2966000000%2Fvertical&order=new\n动漫::http://service.picasso.adesk.com/v1/vertical/category/4e4d610cdf714d2966000003/vertical?limit=16&skip={{(page-1)*16}}&adult=false&first=1&url=http%3A%2F%2Fservice.picasso.adesk.com%2Fv1%2Fvertical%2Fcategory%2F4e4d610cdf714d2966000003%2Fvertical&order=new\n风景::http://service.picasso.adesk.com/v1/vertical/category/4e4d610cdf714d2966000002/vertical?limit=16&skip={{(page-1)*16}}&adult=false&first=1&url=http%3A%2F%2Fservice.picasso.adesk.com%2Fv1%2Fvertical%2Fcategory%2F4e4d610cdf714d2966000002%2Fvertical&order=new\n游戏::http://service.picasso.adesk.com/v1/vertical/category/4e4d610cdf714d2966000007/vertical?limit=16&skip={{(page-1)*16}}&adult=false&first=1&url=http%3A%2F%2Fservice.picasso.adesk.com%2Fv1%2Fvertical%2Fcategory%2F4e4d610cdf714d2966000007%2Fvertical&order=new\n文字::http://service.picasso.adesk.com/v1/vertical/category/5109e04e48d5b9364ae9ac45/vertical?limit=16&skip={{(page-1)*16}}&adult=false&first=1&url=http%3A%2F%2Fservice.picasso.adesk.com%2Fv1%2Fvertical%2Fcategory%2F5109e04e48d5b9364ae9ac45%2Fvertical&order=new",
    "sourceComment": "\"700px\"",
    "sourceGroup": "图片,R18",
    "sourceIcon": "http://gchat.qpic.cn/gchatpic_new/0/0-0-91D8938EB5E07D8E301B9A48885928C7/0?term=2",
    "sourceName": "壁纸喵",
    "sourceUrl": "http://service.picasso.adesk.com",
    "style": ""
  },
  {
    "articleStyle": 2,
    "customOrder": -24383,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "pins[?(!( @.board.title =~ /.*(?:营销|元素|其他图片|文|教程|ps|Adobe|全家桶|首页|广告|海报|美容|图标|教育|纹理|详情|免|排版|我的|学习|自拍).*/i  ||  @.board.category_id in ['web_app_icon','design','architecture','industrial_design','home','desire','data_presentation','tips','education','other','']))]",
    "ruleContent": "{{$.pin.file.key##\\n##\\$}}${{$..pins..file.key##\\n##\\$}}\r\n\r\n<js>\r\nli='\\n'\r\nlist=result.split('$')\r\nfor(i in list){\r\n\t\tli += '<li><img src=\"https://gd-hbimg.huaban.com/'+list[i]+'\"></li>\\n'\r\n\t}\r\n\r\n</js>\r\n\r\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\">\n<title>{{$.board.title}}</title>\r\n<ul id=\"box\">\r\n{{result}}\r\n</ul>\r\n<link rel=\"stylesheet\" href=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.css\">\r\n<script src=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.js\"></script>\n<script src=\"http://lib.sinaapp.com/js/jquery/2.0.2/jquery-2.0.2.min.js\"></script>\r\n<script>\nvar i = 1 ;\n$(document).ready(function () {\r\nroot = document.getElementById('box');\r\n//查看大图插件\r\nnew Viewer(root,{title:false,interval:3000});\nvar url = '{{baseUrl}}/relatedboards';\nfetchHtml(3, url)\n });\nfunction fetchHtml(i, url) {\r\n            nurl = url + \"?limit=\" + i;\r\n            $.ajax({\r\n                url: nurl,\r\n                dataType: 'json',\r\n                success: function (json) {\r\n                    for (var k = 0; k < json.boards.length; k++) {\r\n                        for (var q = 0; q < json.boards[k].pins.length; q++) {\r\n                            $('#box').append('<li><img src=\\\"https://gd-hbimg.huaban.com/' + json.boards[k].pins[q].file.key + '\\\"></li>\\n');\r\n                        }\r\n                    }\r\n                    box.viewer.update();\r\n                },\r\n                error: function (xhr) { }\r\n            });\r\n        }\r\n</script>",
    "ruleDescription": "",
    "ruleImage": "https://gd-hbimg.huaban.com/{{$.file.key}}",
    "ruleLink": "https://api.huaban.com/pins/{{$.pin_id}}",
    "ruleNextPage": "@js:\nresult = '{{baseUrl}}'.replace(/\\&max=\\d{7,}$/,'')+'&max={{$.pins[-1].pin_id}}'",
    "rulePubDate": "{{java.timeFormatUTC(java.getString(\"created_at\")*1000,\"YYYY-MM-dd HH:mm:ss\",8)}}",
    "ruleTitle": "{{$.board.title}}❤️{{$..board.like_count}}",
    "singleUrl": false,
    "sortUrl": "推荐::/discovery/?limit=40\n插画::/discovery/illustration?limit=20\n热门::/popular?limit=40\n最新::/all?limit=40\n搜索::/search/file?sort=created_at&limit=62&text={{source.getVariable().length()<1? source.setVariable(\"ai\") : source.getVariable() }}&page={{page}}&position=search_pin{{java.toast(\"第\"+page+\"页\")}}\n极客::/discovery/geek?limit=40\n美图::/discovery/quotes?limit=40\n美女::/discovery/beauty?limit=40\r\n搞笑::/discovery/funny?limit=40\r\n动漫::/discovery/anime?limit=40\r\n摄影::/discovery/photography?limit=40\r\n人文艺术::/discovery/art?limit=40\r\n游戏::/discovery/games?limit=40\r\n手工::/discovery/diy_crafts?limit=40\r\n运动::/discovery/sports?limit=40\r\n电影::/discovery/film_music_books?limit=40",
    "sourceGroup": "💠 其他,R18",
    "sourceIcon": "https://api.huaban.com/favicon.ico",
    "sourceName": "花瓣",
    "sourceUrl": "https://api.huaban.com/",
    "style": "/*标题相关*/\nh3{text-align:center}\nh6{margin-bottom:0}\n* {\n\tmargin: 0;\n\tpadding: 0\n}\nul {\n\tfont-size: 0;\n\theight: 100%;\n\toverflow-y: scroll\n}\nli {\n\tlist-style: none;\n\ttext-align: center\n}\nimg {\n\twidth: 100%;\n\theight: auto\n}",
    "variableComment": "搜索关键字"
  },
  {
    "articleStyle": 0,
    "customOrder": -24365,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "{\n\t\"User-Agent\":\"Mozilla/5.0 (Linux; Android 8.0.0; MI 5s Plus Build/OPR1.170623.032; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/71.0.3578.99 Mobile Safari/537.36\"\n}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginCheckJs": "",
    "ruleArticles": "$.data",
    "ruleContent": "<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no\">\n<br>\n<h3>{{$..title}}</h3>\n<h6>\n\t<a href=\"{{$..url}}\">{{$..source}}</a>\n\t<i>{{$..date}}</i>\n</h6>\n<p>{{$..content}}</p>",
    "ruleDescription": "",
    "ruleImage": "$.img",
    "ruleLink": "/detail?id={{$.id}}",
    "ruleNextPage": "@js:\nresult = '{{baseUrl}}'.replace(/&id=\\d{7,}$/,'')+'&id={{$.data[24].id}}'",
    "rulePubDate": "🌐 {{$.source}} &nbsp; ⏱️ {{$.date##T|\\.\\d{3}[zZ]$## }}",
    "ruleTitle": "$.title",
    "singleUrl": false,
    "sortUrl": "首页::https://api.yinrss.com/feed?limit=25&media=&keyword=\n搜索::https://api.yinrss.com/feed?limit=25&keyword={{source.getVariable().length()<1? source.setVariable(\"ai\") : source.getVariable()}}\n人民网::https://api.yinrss.com/feed?limit=25&media=88\n投中网::https://api.yinrss.com/feed?limit=25&media=89\n新华社::https://api.yinrss.com/feed?limit=25&media=90\n澎湃新闻::https://api.yinrss.com/feed?limit=25&media=17\n小众软件::https://api.yinrss.com/feed?limit=25&media=46\nDoNews::https://api.yinrss.com/feed?limit=25&media=1\n机器之心::https://api.yinrss.com/feed?limit=25&media=2\n游戏时光::https://api.yinrss.com/feed?limit=25&media=3\n36氪::https://api.yinrss.com/feed?limit=25&media=4\n钛媒体::https://api.yinrss.com/feed?limit=25&media=5\nIT之家::https://api.yinrss.com/feed?limit=25&media=6\n少数派::https://api.yinrss.com/feed?limit=25&media=7\n游研社::https://api.yinrss.com/feed?limit=25&media=8\n爱范儿::https://api.yinrss.com/feed?limit=25&media=10\n理想生活实验室::https://api.yinrss.com/feed?limit=25&media=11\n虎嗅网::https://api.yinrss.com/feed?limit=25&media=12\nFT中文网::https://api.yinrss.com/feed?limit=25&media=16\n澎湃评论::https://api.yinrss.com/feed?limit=25&media=18\n品玩::https://api.yinrss.com/feed?limit=25&media=19\n极客公园::https://api.yinrss.com/feed?limit=25&media=20\n威锋网::https://api.yinrss.com/feed?limit=25&media=21\nReadhub::https://api.yinrss.com/feed?limit=25&media=22\n快科技::https://api.yinrss.com/feed?limit=25&media=23\nTechWeb::https://api.yinrss.com/feed?limit=25&media=24\n雷锋网::https://api.yinrss.com/feed?limit=25&media=25\n触乐::https://api.yinrss.com/feed?limit=25&media=26\n猎云网::https://api.yinrss.com/feed?limit=25&media=31\n站长之家::https://api.yinrss.com/feed?limit=25&media=32\n奇客Solidot::https://api.yinrss.com/feed?limit=25&media=33\ncnBeta::https://api.yinrss.com/feed?limit=25&media=34\n动点科技::https://api.yinrss.com/feed?limit=25&media=35\n机核网::https://api.yinrss.com/feed?limit=25&media=37\n游戏邦::https://api.yinrss.com/feed?limit=25&media=38\n游戏葡萄::https://api.yinrss.com/feed?limit=25&media=39\nGameLook::https://api.yinrss.com/feed?limit=25&media=40\n拆盒网::https://api.yinrss.com/feed?limit=25&media=41\nVOICER::https://api.yinrss.com/feed?limit=25&media=42\nMac玩儿法::https://api.yinrss.com/feed?limit=25&media=44\n异次元软件世界::https://api.yinrss.com/feed?limit=25&media=45\nxclient::https://api.yinrss.com/feed?limit=25&media=49\n优设网::https://api.yinrss.com/feed?limit=25&media=53\n开源中国::https://api.yinrss.com/feed?limit=25&media=54\n技术小黑屋::https://api.yinrss.com/feed?limit=25&media=55\n美团技术团队::https://api.yinrss.com/feed?limit=25&media=56\n煎蛋::https://api.yinrss.com/feed?limit=25&media=58\nYOHO!潮流资讯::https://api.yinrss.com/feed?limit=25&media=59\nHYPEBEAST::https://api.yinrss.com/feed?limit=25&media=60\nACG批评::https://api.yinrss.com/feed?limit=25&media=61\n苹果fans博客::https://api.yinrss.com/feed?limit=25&media=62\n知乎每日精选::https://api.yinrss.com/feed?limit=25&media=64\n界面::https://api.yinrss.com/feed?limit=25&media=65\n超能网::https://api.yinrss.com/feed?limit=25&media=66\n锋潮科技::https://api.yinrss.com/feed?limit=25&media=67\n游戏动力::https://api.yinrss.com/feed?limit=25&media=68\nindienova::https://api.yinrss.com/feed?limit=25&media=69\n二柄::https://api.yinrss.com/feed?limit=25&media=70\n鲸媒体::https://api.yinrss.com/feed?limit=25&media=71\n芥末堆::https://api.yinrss.com/feed?limit=25&media=72\n电脑爱好者::https://api.yinrss.com/feed?limit=25&media=73\n新闻联播::https://api.yinrss.com/feed?limit=25&media=79\n多知网::https://api.yinrss.com/feed?limit=25&media=84\n蓝鲸财经::https://api.yinrss.com/feed?limit=25&media=85\n量子位::https://api.yinrss.com/feed?limit=25&media=86\n新智元::https://api.yinrss.com/feed?limit=25&media=87\n果壳::https://api.yinrss.com/feed?limit=25&media=91\n晚点LatePost::https://api.yinrss.com/feed?limit=25&media=92\n芯东西::https://api.yinrss.com/feed?limit=25&media=93\nVOGUE中国::https://api.yinrss.com/feed?limit=25&media=94\n时尚芭莎::https://api.yinrss.com/feed?limit=25&media=95\n时尚COSMO::https://api.yinrss.com/feed?limit=25&media=96\niOS老司机周报::https://api.yinrss.com/feed?limit=25&media=97\n安全客::https://api.yinrss.com/feed?limit=25&media=100\nFreeBuf::https://api.yinrss.com/feed?limit=25&media=101\n晚点早知道::https://api.yinrss.com/feed?limit=25&media=102\n财联社::https://api.yinrss.com/feed?limit=25&media=103\n映维网::https://api.yinrss.com/feed?limit=25&media=104\nVR陀螺::https://api.yinrss.com/feed?limit=25&media=105\n新浪VR::https://api.yinrss.com/feed?limit=25&media=106",
    "sourceComment": "原作者ThomasYou-red\n修复了获取下一页的规则\n\n\n//设置源变量搜索\n\n\n//关于\"订阅\"\n固定搜索关键词即可\n\n例：\n新冠疫情::https://api.yinrss.com/feed?limit=25&keyword=新冠疫情\n\n游戏::https://api.yinrss.com/feed?limit=25&keyword=游戏\n\n\n//网站主页\nhttps://yinrss.com\n\n\n//全部分类地址\nhttps://api.yinrss.com/source\n<js>\nlist=\"\"\n$=JSON.parse(java.ajax(\"https://api.yinrss.com/source\")).data\nfor(i=0;i<$.length;i++){\n\tlist += \"\\n\"+$[i].name+\"::https://api.yinrss.com/feed?limit=25&media=\"+$[i].id\n}\nlist\n</js>",
    "sourceGroup": "合集,R18",
    "sourceIcon": "https://yinrss.com/favicon.ico",
    "sourceName": "隐订阅",
    "sourceUrl": "https://api.yinrss.com/feed",
    "style": "*{max-width:100%}\nh3{text-align:center}\nh6{margin-bottom:0}\na{text-decoration:none}\ni{float:right}\ntextarea { width: 100%; height: 100%;  }",
    "variableComment": "搜索"
  },
  {
    "articleStyle": 0,
    "customOrder": -17522,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "@js:\njson=[];\nif(baseUrl.match(/ /)){\nlist=baseUrl.replace(/http.*?wd=/,'').split(' ');\nfor(i in list){\nhref=list[i].match(/.*?:(.*)/)[1];\ntext=list[i].match(/(.*?):.*/)[1];\njson.push({text:text,href:href})\n}\n}else{\nlist=baseUrl.replace(/http.*?wd=/,'');\nhref=list.match(/.*?:(.*)/)[1];\ntext=list.match(/(.*?):.*/)[1];\njson.push({text:text,href:href})\n}\njson",
    "ruleLink": "href",
    "rulePubDate": "href",
    "ruleTitle": "text",
    "singleUrl": false,
    "sortUrl": "dss::http://www.baidu.com?wd=Leoxxxtv:http://213.151.233.20:8000/dna-6233-tv-pc/hls/4004v105.m3u8 Shelksd:http://live-1.otcnet.ru/shelksd/tracks-v1a1/mono.m3u8 xxxpcTV:http://213.151.233.20:8000/dna-6233-tv-pc/hls/4004v105.m3u8 Xreme:http://170.79.233.222:8500/play/a0gq/index.m3u8 LiveCams:http://cdn.adultiptv.net/livecams.m3u8 AdultIPTVnetAnal:http://cdn.adultiptv.net/anal.m3u8 AdultIPTV.netBigAss:http://cdn.adultiptv.net/bigass.m3u8 AdultIPTVnetBigDick:http://cdn.adultiptv.net/bigdick.m3u8 AdultIPTVnetBigTits:http://cdn.adultiptv.net/bigtits.m3u8 AdultIPTVnetBlonde:http://cdn.adultiptv.net/blonde.m3u8 AdultIPTVnetBlowjob:http://cdn.adultiptv.net/blowjob.m3u8 AdultIPTVnetBrunette:http://cdn.adultiptv.net/brunette.m3u8 AdultIPTVnetCompilation:http://cdn.adultiptv.net/compilation.m3u8 AdultIPTVnetCuckold:http://cdn.adultiptv.net/cuckold.m3u8 AdultIPTVnetFetish:http://cdn.adultiptv.net/fetish.m3u8 AdultIPTVnetGangbang:http://cdn.adultiptv.net/gangbang.m3u8 AdultIPTVnetHardcore:http://cdn.adultiptv.net/hardcore.m3u8 AdultIPTVnetInterracial:http://cdn.adultiptv.net/interracial.m3u8 AdultIPTVnetLatina:http://cdn.adultiptv.net/latina.m3u8 AdultIPTVnetLesbian:http://cdn.adultiptv.net/lesbian.m3u8 AdultIPTVnetMILF:http://cdn.adultiptv.net/milf.m3u8 AdultIPTVnetPornstar:http://cdn.adultiptv.net/pornstar.m3u8 AdultIPTVnetPOV:http://cdn.adultiptv.net/pov.m3u8 AdultIPTVnetRough:http://cdn.adultiptv.net/rough.m3u8 AdultIPTVnetRussian:http://cdn.adultiptv.net/russian.m3u8 AdultIPTVnetTeen:http://cdn.adultiptv.net/teen.m3u8 AdultIPTVnetThreesome:http://cdn.adultiptv.net/threesome.m3u8 JasminTV:http://109.71.162.112:1935/live/sd.jasminchannel.stream/playlist.m3u8 MiamiTV:https://59ec5453559f0.streamlock.net/miamitv/smil:miamitvROKU/chunklist_w1195980091_b2592000.m3u8 MiamiTVLatino:https://59ec5453559f0.streamlock.net/canal18/smil:canal18/chunklist_w577650521_b2592000.m3u8 PrivéTV:http://08139e2f.ottv.info/iptv/S9824PT3RW2E72/877/index.m3u8 Visit-XTV:http://stream.visit-x.tv:1935/vxtv/live_720p/playlist.m3u8 GratisJasminTV:http://109.71.162.112/live/sd.jasminchannel.stream/chunklist_w233748568.m3u8 ADULTOSGratisJasminTV:http://109.71.162.112:1935/live/hd.jasminchannel.stream/chunklist_w1190948669.m3u8 JasminTV2:http://109.71.162.112:1935/live/hd.jasminchannel.stream/chunklist_w1639491303.m3u8 JasminTV3:http://109.71.162.112:1935/live/hd.jasminchannel.stream/chunklist_w1770948941.m3u8 JasminTV4:http://109.71.162.112:1935/live/hd.jasminchannel.stream/chunklist_w815696992.m3u8 JasminTV5:http://109.71.162.112:1935/live/hd.jasminchannel.stream/chunklist_w934179313.m3u8 JasminTV6:http://109.71.162.112:1935/live/hd.jasminchannel.stream/playlist.m3u8 JasminTV7:http://109.71.162.112:1935/live/sd.jasminchannel.stream/chunklist_w513145911.m3u8 JasminTV8:http://109.71.162.112:1935/live/sd.jasminchannel.stream/media_w852484650_6656.m3u8 JasminTV9:http://109.71.162.112:1935/live/sd.jasminchannel.stream/PAZ_Chega_de_Guerras.m3u8 JasminTV10:http://109.71.162.112:1935/live/sd.jasminchannel.stream/playlist.m3u8 MiamiTVxxx:https://59ec5453559f0.streamlock.net/miamitv/smil:miamitvROKU/chunklist_w1195980091_b2592000.m3u8 MiamiTVJennyLive:https://59ec5453559f0.streamlock.net/mexicotv/smil:miamitvmexicoROKU/chunklist_w1869403172_b1896000.m3u8 MiamiTVLatino:https://59ec5453559f0.streamlock.net/canal18/smil:canal18/chunklist_w577650521_b2592000.m3u8 BIGASS:http://live.redtraffic.xyz/bigass.m3u8 BIGDICK:http://live.redtraffic.xyz/bigdick.m3u8 BIGTITS:http://live.redtraffic.xyz/bigtits.m3u8 BLOWJOB:http://live.redtraffic.xyz/blowjob.m3u8 BIGASS:http://live.redtraffic.xyz/bigass.m3u8 HARDRAFFIC:http://live.redtraffic.xyz/hardcore.m3u8 THREESOME:http://live.redtraffic.xyz/threesome.m3u8 BLOWJOB:http://live.redtraffic.xyz/blowjob.m3u8 CUCKOLD:http://live.redtraffic.xyz/cuckold.m3u8 LESBIAN:http://live.redtraffic.xyz/lesbian.m3u8 INTERRACIAL:http://live.redtraffic.xyz/interracial.m3u8 FETISH:http://live.redtraffic.xyz/fetish.m3u8 LATNA:http://live.redtraffic.xyz/latina.m3u8 MILF:http://live.redtraffic.xyz/milf.m3u8 PORNSTAR:http://live.redtraffic.xyz/pornstar.m3u8 POV:http://live.redtraffic.xyz/pov.m3u8 RUSSIAN:http://live.redtraffic.xyz/russian.m3u8 TEEN:http://live.redtraffic.xyz/teen.m3u8",
    "sourceComment": "所有直播源来自网络收集整理，仅供学习各国语言之中。",
    "sourceGroup": "直播,R18",
    "sourceIcon": "https://img0.baidu.com/it/u=2874790938,228875074&fm=253&fmt=auto&app=120&f=JPEG?w=800&h=1149",
    "sourceName": "国外电视台（学习外语）",
    "sourceUrl": "各国语言"
  },
  {
    "articleStyle": 0,
    "coverDecodeJs": "",
    "customOrder": -11303,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\"User-Agent\":\"Mozilla/5.0 (Symbian/3; Series60/5.2 NokiaN8-00/012.002; Profile/MIDP-2.1 Configuration/CLDC-1.1 ) AppleWebKit/533.4 (KHTML, like Gecko) NokiaBrowser/7.3.0 Mobile Safari/533.4 3gpp-gba\"}",
    "injectJs": "",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginCheckJs": "",
    "loginUi": "",
    "loginUrl": "http://www.yckceo1.com/yuedu/shuyuan.html",
    "ruleArticles": "class.ylist",
    "ruleContent": "head@all&&class.m-top@all",
    "ruleDescription": "",
    "ruleImage": "",
    "ruleLink": "a@href",
    "ruleNextPage": "page",
    "rulePubDate": "{{@@h2@p@text}}\n🔖{{@@.bg3@text##([\\s\\S]+)##[$1]}}\n🔖{{@@.bg1@text##\\n|下载##}}\n🔖{{@@.bg4@text}}\n🔖下载:{{@@.bg6@text}}\n🔖分享者:{{@@.bg2@text}}🔖\n\n<js>##UID##UID:</js>\n<js>##(\\d.0)UID##[$1] 🔖UID</js>\n<js>##\\n</js>\n<js>##(源数量)(🔖)## $2$1:</js>\n<js>##🔖(🔖)##$1</js>\n<js>##🔖\\[.*18\\]</js>",
    "ruleTitle": "名称：{{//h2/a[1]/text()##http.*}}\n网址：{{//h2/a[1]/text()##.*(http)##$1}}",
    "singleUrl": false,
    "sortUrl": "看👀\n书源📒::/yuedu/shuyuan/index.html?page={{page}}\n书源合集📒📒::https://www.yckceo.com/yuedu/shuyuans/index.html?page={{page}}\n\n\n订阅源🛎::/yuedu/rss/index.html?page={{page}}\n订阅源合集🛎🛎::/yuedu/rsss/index.html?page={{page}}\n\n异次元🗃::/yiciyuan/tuyuan/index.html?page={{page}}\n\n\n设置源数量[搜索]→::#\n书源关键词搜索📒🔍::/yuedu/shuyuan/index.html?keys={{source.getVariable()}}&uid=&order1=time&order2=1&ver=&faxian=&sousuo=&x18=<,&page={{page}}>\n书源UID搜索📒🔍::/yuedu/shuyuan/index.html?keys=&uid={{source.getVariable()}}&order1=time&order2=1&ver=&faxian=&sousuo=&x18=<,&page={{page}}>\n\n2.0书源📔::/yuedu/shuyuan/index.html?keys=&uid=&order1=time&order2=1&ver=2&faxian=&sousuo=&x18=<,&page={{page}}>\n3.0书源📔::/yuedu/shuyuan/index.html?keys=&uid=&order1=time&order2=1&ver=3&faxian=&sousuo=&x18=<,&page={{page}}>\n\n纯搜索书源📙::/yuedu/shuyuan/index.html?keys=&uid=&order1=time&order2=1&ver=&faxian=0&sousuo=1&x18=<,&page={{page}}>\n纯发现书源📗::/yuedu/shuyuan/index.html?keys=&uid=&order1=time&order2=1&ver=&faxian=1&sousuo=0&x18=<,&page={{page}}>\n搜发书源📙📗::/yuedu/shuyuan/index.html?keys=&uid=&order1=time&order2=1&ver=&faxian=1&sousuo=1&x18=<,&page={{page}}>\n\n搜🔍\n订阅源关键词搜索🛎🔍::/yuedu/rss/index.html?keys={{source.getVariable()}}&uid=&order1=time&order2=1&ver=&faxian=&sousuo=&x18=<,&page={{page}}>\n订阅源UID搜索🛎🔍::/yuedu/rss/index.html?keys=&uid={{source.getVariable()}}&order1=time&order2=1&ver=&faxian=&sousuo=&x18=<,&page={{page}}>\n异次元关键字搜索🗃🔍::/yiciyuan/tuyuan/index.html?keys={{source.getVariable()}}&uid=&order1=time&order2=1&faxian=&sousuo=&x18=<,&page={{page}}>\n异次元UID搜索🗃🔍::/yiciyuan/tuyuan/index.html?keys=&uid={{source.getVariable()}}&order1=time&order2=1&faxian=&sousuo=&x18=<,&page={{page}}>",
    "sourceComment": "by：旅途\n//可通过设置源变量搜索\n//通过切换布局，能最大范围查看分享者\n//书源搜索用的较多提到前面，订阅源搜索太少暂时用不上提前\n//书源\n//书源合集\n//订阅\n//订阅合集\n//异次元\n//可通过登录发布源",
    "sourceGroup": "阅读,R18",
    "sourceIcon": "http://www.yckceo1.com/favicon.ico",
    "sourceName": "源仓库[书源-订阅-异次元-搜索]",
    "sourceUrl": "http://www.yckceo1.com",
    "style": ""
  },
  {
    "articleStyle": 0,
    "customOrder": -11257,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "id.content@h3",
    "ruleLink": "a@href",
    "ruleTitle": "a@textNodes",
    "singleUrl": true,
    "sortUrl": "首页::http://yuedu.miaogongzi.site/gx.html",
    "sourceGroup": "书源,R18",
    "sourceIcon": "https://i.loli.net/2021/06/23/S7rvWRZtPIq34MJ.png",
    "sourceName": "备用·喵公子书源管理",
    "sourceUrl": "http://yuedu.miaogongzi.site/gx.html"
  },
  {
    "articleStyle": 0,
    "customOrder": -106,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\n  \"User-Agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36\"\n}",
    "injectJs": "var wrapElements = document.querySelectorAll('div.wrap');\nvar adWrapElements = document.getElementsByClassName('ad-wrap');\n\nfor (var i = 0; i < wrapElements.length; i++) {\n  var wrapElement = wrapElements[i];\n  wrapElement.parentNode.removeChild(wrapElement);\n}\n\nwhile (adWrapElements.length > 0) {\n  var adWrapElement = adWrapElements[0];\n  adWrapElement.parentNode.removeChild(adWrapElement);\n}\n\nlet aaaa = window.location.href;\n\nif(/\\/a\\/\\d+/.test(aaaa)){\n\twindow.location.href = window.location.href.replace(/a/,'detail')\n\t}\n\n\nif(/ttarticle/.test(aaaa)){\n\nfunction styleExtractedContent() {\n  \n  const originalContent = document.querySelector(\".main_editor\").innerHTML.replace(/style=\"opacity.*?\"|&nbsp;/g,'').replace(/<br>/g,'<br>&emsp;&emsp;');\n  document.body.innerHTML = '';\n  \n  const styledContainer = document.createElement('div');\n  styledContainer.className = 'styled-article';\n  \n  \n  styledContainer.innerHTML = originalContent;\n  \n  \n  \n  document.body.appendChild(styledContainer);\n  \n  \n  const style = document.createElement('style');\n  style.textContent = `\n    .styled-article {\n      max-width: 800px;\n      margin: 0 auto;\n      padding: 20px;\n      font-family: \"PingFang SC\", \"Hiragino Sans GB\", \"Microsoft YaHei\", sans-serif;\n      line-height: 1.8;\n      color: #333;\n      background: #fff;\n    }\n    \n    .styled-article .title {\n      font-size: 24px;\n      font-weight: bold;\n      margin-bottom: 20px;\n      color: #222;\n      text-align: center;\n      padding-bottom: 10px;\n      border-bottom: 1px solid #eee;\n    }\n    \n    .styled-article .authorinfo {\n      display: flex;\n      justify-content: space-between;\n      align-items: center;\n      margin-bottom: 20px;\n      padding-bottom: 15px;\n      border-bottom: 1px solid #f5f5f5;\n    }\n    \n    .styled-article .W_face_radius {\n      width: 40px;\n      height: 40px;\n      border-radius: 50%;\n      margin-right: 10px;\n      vertical-align: middle;\n    }\n    \n    .styled-article .author1 a {\n      font-size: 16px;\n      color: #333;\n      text-decoration: none;\n    }\n    \n    .styled-article .time {\n      color: #999;\n      font-size: 14px;\n    }\n    \n    .styled-article .preface_v2 {\n      font-style: italic;\n      color: #666;\n      margin-bottom: 25px;\n      padding: 15px;\n      background: #f9f9f9;\n      border-left: 3px solid #ddd;\n    }\n    \n    .styled-article *[node-type=\"contentBody\"] p {\n      margin-bottom: 25px;\n      text-align: justify;\n      font-size: 16px;\n      color: #222; \n      text-indent: 1.7em; \n    }\n    \n    .styled-article .artical_add_box {\n      margin-top: 40px;\n      padding: 20px;\n      background: #fafafa;\n      border-radius: 8px;\n    }\n    \n    .styled-article .btn_bed a {\n      display: inline-block;\n      padding: 8px 15px;\n      background: #ff8200;\n      color: white;\n      border-radius: 4px;\n      text-decoration: none;\n    }\n    \n    \n    @media (max-width: 600px) {\n      .styled-article {\n        padding: 15px;\n      }\n      \n      .styled-article .title {\n        font-size: 20px;\n      }\n      \n      .styled-article .WB_editor_iframe_new p {\n        font-size: 15px;\n      }\n    }\n  `;\n  \n  document.head.appendChild(style);\n}\n\n\nstyleExtractedContent();\n\n\n\t\n\t\n\t}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginUi": "[\n{\n    \t  name:\"☕️支持源作者\",\n    \t  type: \"button\",\n       action: \"toThank()\",\n       \"style\": {\n      \"layout_flexGrow\": 1,\n      \"layout_flexBasisPercent\": 0.4\n    }\n    \t},\n    \t{\n    \t  name:\"👤登  录\",\n    \t  type: \"button\",\n       action: \"toLogin()\",\n       \"style\": {\n      \"layout_flexGrow\": 1,\n      \"layout_flexBasisPercent\": 0.4\n    }\n    \t}\n]",
    "loginUrl": "function toThank(){\n\tjava.startBrowser(\"data:text/html;base64,PGltZyBzdHlsZT0id2lkdGg6MTAwJSIgc3JjPSJhYm91dDpibGFuayIgb25lcnJvcj0idGhpcy5zcmM9YXRvYignYUhSMGNITTZMeTluYVhSbFpTNWpiMjB2WjNWaGJtVnlNREF4TVRJMUwySnZiMnR6YjNWeVkyVXZjbUYzTDIxaGMzUmxjaThsUlRVbE9VSWxRa1VsUlRjbE9Ea2xPRGN2WjNWaGJtVnlMbmRsWW5BPScpIj4KCg==\",\"感谢你的支持\");\t\n\t}\nfunction toLogin(){\n\tjava.startBrowser(\"https://weibo.com\",\"登录\");\n\tjava.startBrowser(\"http://m.weibo.cn\",\"登录\")\n\t\n\t}",
    "ruleArticles": "<js>\nlet search = String(source.getVariable());\nlet f = /page_type=searchall/.test(baseUrl);\nlet baseUrl = String(f?baseUrl:java.hexDecodeToString(result));\nif(search!==\"\"&search!==\"null\"&&!f){\n\tid = baseUrl.match(/107603(\\d+)/)[1];\n\tpage = baseUrl.match(/page=(\\d+)/)[1]\n\tif(page==1)java.toast(\"搜索中\")\n\turl = `https://m.weibo.cn/api/container/getIndex?disable_sug=1&diabled_eject_animation=1&disable_hot=0&trans_bg=0&disable_history=1&container_ext=profile_uid%3A${id}%7Cgps_timestamp%3A${Math.ceil(Date.now()/1000)}&containerid=100103type%3D401%26t%3D10%26q%3D${search}&page_type=searchall&page=${page}`;\n\tresult = java.ajax(url)\n\t}else if(!f){\n\t\tresult = java.ajax(baseUrl);\n\t\t}\nresult\n</js>\n$.data.cards[*].card_group[*]||$.data.cards",
    "ruleContent": "@js:\nfunction formatTime(dateStr) {\n    const date = new Date(dateStr);\n    const year = date.getFullYear();\n    const month = date.getMonth() + 1; \n    const day = date.getDate();\n    const hours = date.getHours().toString().padStart(2, '0');\n    const minutes = date.getMinutes().toString().padStart(2, '0');\n    \n    return `${year}年${month}月${day}日 ${hours}:${minutes}`;\n}\nfunction formatCount(count) {\n  if (count < 10000) return count.toString();  \n  const inWan = (count / 10000).toFixed(2);\n  return inWan.endsWith('.00') \n    ? `${inWan.split('.')[0]}万` \n    : `${inWan}万`;\n}\n\nfunction getContent($) {\n    let galleryItems = \"\",videos=\"\";\n    let long_imgs = ($.pic_num??0)?($.pics??[]):[];\n    let long_video = $.page_info?.type===\"video\"?$.page_info:{};\n    \n    if(long_imgs.length){\n        galleryItems = long_imgs.map((img, i) => `\n        <div class=\"gallery-item\">\n            <img src=\"${img.url}\" data-original=\"${img?.large?.url}\" loading=\"lazy\">\n            <div class=\"zoom-icon\">🔍</div>\n        </div>`).join('');\n       galleryItems = `<div class=\"image-gallery\">${galleryItems}</div>`;\n    }\n    if(JSON.stringify(long_video)!==\"{}\"){\n        if(long_video.urls){\n        long_video = long_video.urls;\n        videos = long_video.hevc_mp4_hd || long_video.mp4_720p_mp4 || long_video.mp4_hd_mp4 || long_video.mp4_ld_mp4\n        }else{\n        long_video = long_video.media_info;\n        videos = long_video.stream_url_hd || long_video.stream_url\n        }\n        \n        videos = `<div class=\"media-container\"><video src=\"${videos}\" controls poster=\"${$.page_info.page_pic.url}\"></video></div>`\n    }\n     \n    return `\n      <div class=\"comment-item\">\n        <div class=\"comment-user\">\n          <img class=\"user-avatar\" src=\"${$?.user?.avatar_hd}\" onclick=\"window.open('https://m.weibo.cn/n/${$?.user?.screen_name}')\">\n          <div class=\"user-info\">\n            <span class=\"user-name\" onclick=\"window.open('https://m.weibo.cn/n/${$?.user?.screen_name}')\">${$?.user?.screen_name}</span>\n            <span class=\"comment-time\">${formatTime($.created_at)}</span>\n          </div>\n          <div class=\"like_counts\"><span>♡${formatCount($.attitudes_count)}</span></div>\n        </div>\n        <div class=\"comment-text\">${$.text.replace(/https?:\\/\\/m.weibo.cn\\/\\d+\\/(\\d+)/g,'https://m.weibo.cn/a/$1').replace(/'\\/n\\//g,\"'https://m.weibo.cn/n/\")}</div>\n        ${videos}\n        ${galleryItems}\n      </div>`;\n}\n\nlet id = baseUrl.match(/(\\d+)/)[1];\nlet b = baseUrl.replace(/weibo.com/,'m.weibo.cn');\nvar html = java.ajax(b);\n\ntry{\nvar render_data = html.match(/var \\$(render_data = \\[\\{[\\s\\S]+?\\|\\| \\{\\});/)[1];\neval(render_data);\nlet $ = render_data.status;\nlet longText = getContent($);\nlet retweeted_status = $.retweeted_status??\"\";\nif(retweeted_status){\n   retweeted_status = getContent(retweeted_status)\n}\n\nretweeted_status = retweeted_status ? \"<div class='retweeted_status'>\" + retweeted_status+\"</div>\":\"\";\nresult = longText + retweeted_status;\n}catch(e){\n\tjava.log(e);\n\tresult = html;\n\t\n\t}\nresult = `<a href=\"${b.replace(/detail/,'a')}\" class=\"original-link\">原文地址</a><div class=\"main-content\">${result}</div><div id=\"container\"></div>`;\n\nresult = `<!DOCTYPE html>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n   \n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>微博详情</title>\n    <link rel=\"stylesheet\" href=\"https://cdn.jsdelivr.net/npm/viewerjs@1.10.5/dist/viewer.min.css\">\n    <style>      \n       * { margin: 0; padding: 0; box-sizing: border-box; }\n        body { \n            font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif; \n            line-height: 1.6; color: #333; background-color: #f5f5f5; \n            padding: 15px; max-width: 750px; margin: 0 auto; \n        }\n        .original-link { \n            display: block; padding: 12px; background: #fff; border-radius: 8px; \n            margin-bottom: 10px; text-decoration: none; color: #1E88E5; \n            font-weight: 500; box-shadow: 0 1px 3px rgba(0,0,0,0.05); \n        }\n        .main-content { \n            background: #fff; padding: 15px; border-radius: 8px; \n            margin-bottom: 15px; box-shadow: 0 1px 3px rgba(0,0,0,0.05); \n        }\n        .divider { border: none; height: 1px; background-color: #eee; margin: 15px 0; }\n        .media-container { margin: 15px 0; border-radius: 8px; overflow: hidden; }\n        .media-container video { width: 100%; border-radius: 8px; }\n        .image-gallery { \n            display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; margin: 15px 0; \n            max-width:100%\n        }\n        .gallery-item { \n            aspect-ratio: 1; overflow: hidden; border-radius: 8px; \n            position: relative; cursor: pointer; \n        }\n        .gallery-item img { \n            width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s; \n        }\n        .gallery-item:hover img { transform: scale(1.05); }\n        .zoom-icon { \n            position: absolute; top: 5px; right: 5px; background: rgba(0,0,0,0.5); \n            color: white; width: 20px; height: 20px; border-radius: 50%; \n            display: flex; align-items: center; justify-content: center; \n            font-size: 12px; opacity: 0; transition: opacity 0.3s; \n        }\n        .retweeted_status{\n        background:#ECECEC;\n        padding:15px;\n        border-radius:8px;\n        }\n        .gallery-item:hover .zoom-icon { opacity: 1; }\n        .comments-section { \n            background: #fff; padding: 15px; border-radius: 8px; \n            box-shadow: 0 1px 3px rgba(0,0,0,0.05); \n        }\n        .comment-replies{\n            \tbackground:#efefef;\n            \tpadding:5px 5px 5px 20px;\n            \tmargin-left:42px;\n            \tborder-radius: 8px;\n            \tbox-shadow: 0 1px 3px rgba(0,0,0,0.05);\n            \t\n        \t}\n        \t\n.comments-header {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  margin-bottom:10px\n}\n\n.comments-title {\n  margin: 0;\n  font-size: 18px; \n  color: #333; \n}\n\n.sort-controls {\n  display: flex;\n  align-items: center;\n}\n\n.sort-btn {\n  padding: 4px 12px;\n  border: 1px solid #e0e0e0;\n  background: #f5f5f5;\n  border-radius: 15px;\n  font-size: 12px;\n  cursor: pointer;\n  margin-right: 8px; \n  transition: all 0.3s;\n}\n\n\n.sort-btn:last-child {\n  margin-right: 0;\n}\n\n.sort-btn.active {\n  background: #1d9bf0;\n  color: white;\n  border-color: #1d9bf0;\n}\n\n     \n        .comment-item { padding: 12px 0;  }\n           \n        .comment-user { display: flex; align-items: flex-start; margin-bottom: 8px; }\n        .user-avatar { \n            width: 32px; height: 32px; border-radius: 50%; \n            margin-right: 10px; object-fit: cover; \n        }\n        .user-info {\n    display: flex;\n    flex-direction: column;\n}\n        .user-name { \n        font-weight: 500; \n        font-size: 15px;\n        color:#1E88E5\n          }\n        .comment-text { \n            margin-left: 42px;\n            margin-bottom: 8px; font-size: 15px; line-height: 1.5; word-break: break-word; \n        }\n        .comment-time { font-size: 12px; color: #999; }\n        .comment-media { \n            margin-left:42px;\n            margin-bottom:10px;\n            margin-top:10px;\n            margin-right:8px;\n            position: relative; cursor: pointer; \n            border-radius: 6px; overflow: hidden;\n            max-width:100%\n        }\n        .comment-media details {\n            margin: 8px 0;\n            border-radius: 6px;\n            overflow: hidden;\n        }\n        .comment-media summary {\n            padding: 6px 12px;\n            background: #f5f5f5;\n            border-radius: 4px;\n            cursor: pointer;\n            list-style: none;\n            font-size: 14px;\n            color: #1E88E5;\n            transition: background 0.2s;\n        }\n        .comment-media summary:hover {\n            background: #e8f0fe;\n        }\n        .comment-media summary::-webkit-details-marker {\n            display: none;\n        }\n        .comment-media div {\n            margin-top: 8px;\n            position: relative;\n            cursor: pointer;\n        }\n        .comment-media img {\n            max-width: 100%;\n            border-radius: 4px;\n            display: block;\n        }\n.active {\n  pointer-events: none; \n}\n\n   .float-buttons {\n      position: fixed;\n      right: 20px;\n      bottom: 20px;\n      display: flex;\n      flex-direction: column;\n      gap: 10px;\n      z-index: 1001;\n    }\n    .reply-modal {\n  position: fixed;\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  background: rgba(0,0,0,0.5);\n  z-index: 1000;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n}\n.modal-content {\n  width: 80%;\n  max-width: 600px;\n  max-height: 80vh;\n  background: white;\n  border-radius: 8px;\n  overflow: hidden;\n  display: flex;\n  flex-direction: column;\n}\n.modal-header {\n  padding: 15px;\n  border-bottom: 1px solid #eee;\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n}\n.modal-body {\n  flex: 1;\n  overflow-y: auto;\n  padding: 15px;\n}\n.modal-footer {\n  padding: 10px;\n  text-align: center;\n}\n.loading-spinner {\n  display: none;\n  width: 20px;\n  height: 20px;\n  border: 3px solid rgba(0,0,0,0.1);\n  border-radius: 50%;\n  border-top-color: #1d9bf0;\n  animation: spin 1s linear infinite;\n  margin: 0 auto;\n}\n@keyframes spin {\n  to { transform: rotate(360deg); }\n}\n.reply-sort {\n  display: flex;\n  gap: 10px;\n  align-items: center;\n}\n.close-btn {\n  cursor: pointer;\n  font-size: 20px;\n}\n.like_counts{\ncolor:#999;\nfont-size:12px;\nmargin-left:auto;\npadding-right:8px\n}\n    .float-btn {\n      width: 25px;\n      height: 25px;\n      border-radius: 50%;\n      background: rgba(0, 0, 0, 0.5);\n      color: white;\n      border: none;\n      cursor: pointer;\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      font-size: 15px;\n      transition: all 0.3s ease;\n      box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);\n      -webkit-tap-highlight-color: transparent !important;\n  tap-highlight-color: transparent !importan;\n  outline: none !important;\n  -webkit-tap-highlight-color: transparent !important;\n    }\n   \n.float-btn:focus,\n.float-btn:focus-visible,\n.float-btn:active,\n.float-btn:-moz-focusring {\n  outline: none !important;\n  box-shadow: none !important;\n}\n.morerep{\ntext-align:right;\ncolor:#4590B5;\nfont-size:13px\n}\n    .float-btn:hover {\n      background: rgba(0, 0, 0, 0.7);\n      transform: scale(1.1);\n    }\n       .error-message{\n       \tbackground:#eee;\n        padding:15px;\n        font-size:18px;\n       \t}\n\n        .media-preview::before {\n            content: \"⬇️ \";\n        }\n        .comment-media[open] summary .media-preview::before {\n            content: \"⬆️ \";\n        }\n        .url-icon img { vertical-align: middle; margin: 0 1px;width:1em; height:1em}\n        .surl-text { color: #1E88E5; margin-right: 5px; }\n        @media (max-width: 500px) {\n            .image-gallery { grid-template-columns: repeat(2, 1fr); }\n            body { padding: 10px; }\n            .main-content, .comments-section { padding: 12px; }\n        }     \n         \n        .viewer-open {\n            overflow: hidden;\n            position: fixed;\n            width: 100%;\n        }\n    </style>\n    <script>\n    function formatTime(dateStr) {\n    const date = new Date(dateStr);\n    const year = date.getFullYear();\n    const month = date.getMonth() + 1;     const day = date.getDate();\n    const hours = date.getHours().toString().padStart(2, '0');\n    const minutes = date.getMinutes().toString().padStart(2, '0');\n    \n    return \\`\\${year}年\\${month}月\\${day}日 \\${hours}:\\${minutes}\\`;\n}\n\nfunction replaceurl(t){\nlet \ttext = String(t).replace(/href=(\\\\/n\\\\/[^\\\\s]+)/g,'href=\\\"https://m.weibo.cn$1\\\"').replace(/\\\\/\\\\/s.weibo.com\\\\/weibo\\\\?q=/g,\"https://m.weibo.cn/search?containerid=100103type%3D1%26q%3D\").replace(/https?:\\\\/\\\\/weibo.com\\\\/\\\\d+\\\\/(\\\\d+)/g,'https://m.weibo.cn/a/$1');\n\treturn text\n\t}\n\n   function getcomments(list, isReply = false) {\n  return list.map(item => {\n    let details = \"\";\n    if (item.pic_num !== 0) {\n     let pic_ids =  item.url_struct[0].pic_ids;      \n      const pic = item?.url_struct[0]?.pic_infos[pic_ids]?.large?.url.replace(/https?/,'https');\n      details = \\`\n        <details class=\"comment-media\">\n          <summary><span class=\"media-preview\">📷 查看图片</span></summary>\n          <div class=\"comment_pic\">\n            <img src=\"\\${pic}\" alt=\"评论图片\">\n          </div>\n        </details>\\`;\n    }\n    \n    let replies = \"\";\n    if (item.comments && item.comments.length > 0) {\n      replies = \\`\n        <div class=\"comment-replies\">\n          \\${getcomments(item.comments, true)}\n          \\${item.total_number > 1 ? \\`\n            <div class=\"morerep\" onclick=\"loadComments({id:'\\${item.id}',isReply:true})\">\n              共\\${item.total_number}条回复\n            </div>\\` : ''}\n        </div>\\`;\n    }\n    \n    return \\`\n      <div class=\"comment-item\">\n        <div class=\"comment-user\">\n          <img class=\"user-avatar\" src=\"\\${item.user.avatar_hd}\" onclick=\"window.open('https://m.weibo.cn/n/\\${item.user.screen_name}')\">\n          <div class=\"user-info\">\n            <span class=\"user-name\" onclick=\"window.open('https://m.weibo.cn/n/\\${item.user.screen_name}')\">\\${item.user.screen_name}</span>\n            <span class=\"comment-time\">\\${formatTime(item.created_at)}</span>\n          </div>\n          <div class=\"like_counts\"><span>♡\\${formatCount(item.like_counts)}</span></div>\n        </div>\n        <div class=\"comment-text\">\\${replaceurl(item.text).replace(/(<img.*?>)/g,'<span class=\"url-icon\">$1</span>')}</div>\n        \\${details}\n        \\${replies}\n      </div>\\`;\n  }).join('');\n}\n    </script>\n       \n</head>\n<body>\n    ${result}\n  <div class=\"float-buttons\">\n    <button class=\"float-btn\" id=\"toTop\" title=\"回到顶部\">↑</button>\n    <button class=\"float-btn\" id=\"toBottom\" title=\"回到底部\">↓</button>\n  </div>\n    <script src=\"https://cdn.jsdelivr.net/npm/viewerjs@1.10.5/dist/viewer.min.js\"></script>\n    <script>\n    // 全局变量\n     let MaxId = [];     \n     let repMaxId = [];      \n     let currentMaxId = null;\n     let repCurrentMaxId = null;\n     let isLoading = false;\n     let repLoading = false;\n     const weiboId = \"${id}\";\n     let sortType = 0;\n     let repSortType = 0;\n     \n     function formatCount(count) {\n  if (count < 10000) return count.toString();  \n  const inWan = (count / 10000).toFixed(2);\n  return inWan.endsWith('.00') \n    ? \\`\\${inWan.split('.')[0]}万\\` \n    : \\`\\${inWan}万\\`;\n}\n\n        //图片加载器\n        function initImageViewer() {\n        \tvar option = {\n        \t\t          url: 'data-original',\n        \t          \tmaxZoomRatio: 0.9,\n                    inline: false,\n                    movable: true,\n                    zoomable: true,\n                    \n                    toolbar: {\n                        zoomIn: 1,\n                        zoomOut: 1,\n                        oneToOne: 0,\n                        reset: 1,\n                        prev: 1,\n                        next: 1,\n                        rotateLeft: 0,\n                        rotateRight: 0,\n                        flipHorizontal: 0,\n                        flipVertical: 0\n                    }    \n                };                          \n            try {                       \n             new Viewer(document.querySelector('.image-gallery'),option);          \n  document.querySelectorAll('.comment-media').forEach(x=>{new Viewer(x,option)})                   \n            } catch (e) {\n                                 \n                }\n            \n        }\n        \n// 获取评论函数\nasync function loadComments(options = {}) {\n  const {\n    id = weiboId,\n    isReply = false,\n    isLoadMore = false,\n    targetElement = isReply ? '#reply-list' : '#container',\n    tElement = isReply ? '#reply-list .comments-list' : '.comments-list',\n    containerTemplate = null,\n    sort = isReply ? repSortType : sortType\n  } = options;\n\n  \n  const loadingFlag = isReply ? repLoading : isLoading;\n  if (loadingFlag) return;\n  isReply ? repLoading = true : isLoading = true;\n\n  \n  let url;\n  if (isReply) {\n    url = \\`https://weibo.com/ajax/statuses/buildComments?flow=\\${sort}&is_reload=1&id=\\${id}&is_show_bulletin=2&is_mix=1&fetch_level=1&max_id=\\${isLoadMore ? repCurrentMaxId : 0}&count=20&locale=zh-CN\\`\n  } else {\n   url =\\`https://weibo.com/ajax/statuses/buildComments?flow=\\${sort}&is_reload=1&id=\\${id}&is_show_bulletin=2&is_mix=0&count=20&fetch_level=0&locale=zh-CN\\`;\n  \n  \n    //url = \\`https://m.weibo.cn/comments/hotflow?id=\\${id}&mid=\\${id}&max_id_type=\\${sort}\\`;\n    if (isLoadMore && currentMaxId) {\n      url += \\`&max_id=\\${currentMaxId}\\`;\n    }\n  }\n\n  try {\n    const response = await fetch(url, {\n      headers: {\n        'Accept': 'application/json',\n        'X-Requested-With': 'XMLHttpRequest'\n      },\n      credentials: 'include'\n    });\n\n    const data = await response.json();\n    \n    \n    if (data.ok === -100) {\n      if (/error-message/.test(document.querySelector(targetElement).innerHTML)) {\n        throw new Error(\"需要登录\");\n      }\n      document.querySelector(targetElement).innerHTML += \\`\n        <div class=\"error-message\">\n          评论加载失败:请<a href=\"\\${data.url}\">访问首页或登录</a>后重试\n        </div>\n      \\`;\n      throw new Error(\"需登录\");\n    }\n\n    \n    const currentIdArray = isReply ? repMaxId : MaxId;\n    const newMaxId = data.max_id;\n    \n    if (currentIdArray.includes(newMaxId)) {\n      throw new Error(\"没有更多内容了\");\n    }\n    \n    if (isReply) {\n      repCurrentMaxId = newMaxId;\n      repMaxId.push(newMaxId);\n    } else {\n      currentMaxId = newMaxId;\n      MaxId.push(newMaxId);\n    }\n    \n    \n    const commentsData = data.data;\n        \n    if (isReply && !isLoadMore && !document.querySelector('.reply-modal')) {\n      initReplyModal(id);\n    }\n\n    if (isLoadMore) {\n      document.querySelector(tElement).innerHTML += getcomments(commentsData, isReply);\n    } else {\n      if (data.ok === 0) throw new Error(\"没有内容\");\n        \n      \n      let content = \\`<div class=\"comments-header\">\n            <div class=\"comments-title\"><h3>评论（\\${formatCount(data.total_number)}）</h3></div>\n            <div class=\"sort-controls\">\n              <button id=\"sortHot\" class=\"sort-btn \\${sortType===0?'active':''}\" \n                onclick=\"loadComments({sort:0})\">热度</button>\n              <button id=\"sortTime\" class=\"sort-btn \\${sortType===1?'active':''}\" \n                onclick=\"loadComments({sort:1})\">时间</button>\n            </div>\n          </div>\\`;\n            \n      const html =  \\`\n        <div class=\"comments-section\">\n           \\${isReply?\"\":content}        \n          <div class=\"comments-list\">\\${getcomments(commentsData)}</div>\n        </div>\n      \\`;\n      document.querySelector(targetElement).innerHTML = html;\n    }\n\n\n  } catch (error) {\n    if (isLoadMore) {\n      showToast(/没有更多/.test(error.message)?error.message:\"评论加载失败\")\n    } else if (!/没有内容|登录/.test(error.message)) {\n      document.querySelector(targetElement).innerHTML = \\`\n        <div class=\"error-message\">\n          评论加载失败: \\${error.message}\n          <button onclick=\"loadComments(\\${JSON.stringify(options)})\">重试</button>\n        </div>\n      \\`;\n    }\n  } finally {\n    isReply ? repLoading = false : isLoading = false;\n  }\n}\n\n\nfunction initReplyModal(id) {\n  const modal = document.createElement('div');\n  modal.className = 'reply-modal';\n  modal.dataset.commentId = id;\n  modal.innerHTML = \\`\n    <div class=\"modal-content\">\n      <div class=\"modal-header\">\n        <h4>回复列表</h4>\n        <div class=\"reply-sort\">\n          <button class=\"sort-btn \\${repSortType===0?'active':''}\" \n            onclick=\"loadComments({id:'\\${id}',isReply:true,sort:0});repSortType=0\" data-sort-type=0>热度</button>\n          <button class=\"sort-btn \\${repSortType===1?'active':''}\" \n            onclick=\"loadComments({id:'\\${id}',isReply:true,sort:1});repSortType=1\" data-sort-type=1>时间</button>\n          <span class=\"close-btn\" onclick=\"this.closest('.reply-modal').remove();repMaxId=[];repSortType=0;repCurrentMaxId=null\">×</span>\n        </div>\n      </div>\n      <div class=\"modal-body\" id=\"reply-list\"></div>\n    </div>\n  \\`;\n  document.body.appendChild(modal);\n  modal.addEventListener('click', function(e) {\n  \n  if (e.target === modal) {\n    modal.remove();\n    repMaxId = [];\n    repSortType = 0;\n    repCurrentMaxId = null;\n  }\n});\n\n  \n  const replyList = document.querySelector(\"#reply-list\");\nif (replyList) {\n  replyList.addEventListener('scroll', () => {\n    if (replyList.scrollTop + replyList.clientHeight >= replyList.scrollHeight - 15) {\n      loadComments({id:id,isLoadMore: true, isReply: true }); \n    }\n  });\n}\n  \n}\n\n\nfunction showToast(message) {\n  const toast = document.createElement('div');\n  toast.textContent = message;\n  toast.style.position = 'fixed';\n  toast.style.bottom = '50px';\n  toast.style.left = '50%';\n  toast.style.transform = 'translateX(-50%)';\n  toast.style.backgroundColor = 'rgba(0,0,0,0.7)';\n  toast.style.color = 'white';\n  toast.style.padding = '5px 5px';\n  toast.style.borderRadius = '5px';\n  toast.style.zIndex = '1000';\n  \n  document.body.appendChild(toast);\n  setTimeout(() => {\n    document.body.removeChild(toast);\n  }, 1000);\n}\n\ndocument.getElementById('toTop').addEventListener('click', function() {\n      if(document.querySelector(\"#reply-list\")){\n      document.querySelector(\"#reply-list\").scrollTo({\n        top: 0,\n        behavior: 'smooth'\n      });\n      }else{\n      window.scrollTo({\n        top: 0,\n        behavior: 'smooth'\n      });\n      }\n      \n    });\n    \n    document.getElementById('toBottom').addEventListener('click', function() {\n    if(document.querySelector(\"#reply-list\")){\n      document.querySelector(\"#reply-list\").scrollTo({\n        top: document.querySelector(\"#reply-list\").scrollHeight,\n        behavior: 'smooth'\n      });\n      }else{\n      window.scrollTo({\n        top: document.body.scrollHeight,\n        behavior: 'smooth'\n      });\n      }\n    });\n    \n    \n    window.addEventListener('scroll', function() {\n      const toTopBtn = document.getElementById('toTop');\n      const toBottomBtn = document.getElementById('toBottom');\n      const scrollPosition = window.scrollY;\n      \n      \n      if (scrollPosition === 0) {\n        toTopBtn.style.opacity = '0.5';\n        toTopBtn.style.pointerEvents = 'none';\n      } else {\n        toTopBtn.style.opacity = '1';\n        toTopBtn.style.pointerEvents = 'auto';\n      }\n      \n      \n      if (window.innerHeight + scrollPosition >= document.body.scrollHeight - 50) {\n        toBottomBtn.style.opacity = '0.5';\n        toBottomBtn.style.pointerEvents = 'none';\n      } else {\n        toBottomBtn.style.opacity = '1';\n        toBottomBtn.style.pointerEvents = 'auto';\n      }\n    });\n\n\n\n\n\n\ndocument.addEventListener('DOMContentLoaded', () => {\n  \n  document.addEventListener('click', (e) => {\n    \n    if (e.target.id === 'sortHot') {\n      if (sortType !== 0) {\n        sortType = 0;\n        e.target.classList.add('active');\n        document.getElementById('sortTime').classList.remove('active');\n        currentMaxId = null;\n        MaxId = [];\n        loadComments({sort:0}); \n      }\n    }\n    \n    if (e.target.id === 'sortTime') {\n      if (sortType !== 1) {\n        sortType = 1;\n        e.target.classList.add('active');\n        document.getElementById('sortHot').classList.remove('active');\n        currentMaxId = null;\n        MaxId = [];\n        loadComments({sort:1}); \n      }\n    }\n\n    \n    if (e.target.classList.contains('sort-btn')) {\n      const modal = e.target.closest('.reply-modal');\n      if (modal) {\n        const id = modal.dataset.commentId;\n        repSortType = parseInt(e.target.dataset.sortType);\n        \n        document.querySelectorAll('.reply-modal .sort-btn').forEach(btn => {\n          btn.classList.toggle('active', parseInt(btn.dataset.sortType) === repSortType);\n        });\n        repCurrentMaxId = null;\n        repMaxId = [];\n      }\n    }\n  });\n  \n  \n  loadComments();\n  \n  \n  window.addEventListener('scroll', () => {\n    if ((window.innerHeight + window.scrollY) >= document.body.offsetHeight - 50) {\n      loadComments({ isLoadMore: true });\n    }\n  });\n  \n  function findScrollingElement() {\n  const elements = document.querySelectorAll('*');\n  for (const el of elements) {\n    if (el.scrollHeight > el.clientHeight && el.scrollTop > 0) {\n      return el;\n    }\n  }\n  return document.documentElement; \n}\n  initImageViewer();\n});\n     \n    </script>\n</body>\n</html>`;\nresult;",
    "ruleDescription": "$.user.id\n@js:\nif (result) {\n  var userInfo = `\n    <div class=\"user-card\">\n      <img src=\"{{$.user.avatar_hd}}\" class=\"user-avatar\">\n      <div class=\"user-info\">\n        <h3 class=\"username\">{{$.user.screen_name}}</h3>\n        <p class=\"user-desc\">${java.getString(\"$.desc1&&$.desc2\")}</p>\n      </div>\n    </div>\n  `;\n  \n  var textContent = `\n    <div class=\"copy-section\">\n \n      <div class=\"copy-content\" id=\"copyContent\">{{$.user.screen_name}}::data:page=1;base64,{\\{java.base64Encode(\"https://m.weibo.cn/api/container/getIndex?containerid=107603${result}_-_WEIBO_SECOND_PROFILE_WEIBO&luicode=10000011&lfid=107603${result}_-_WEIBO_SECOND_PROFILE_WEIBO&page_type=03&page=1\")}},{\"type\":\"\"}          </div>\n      <button class=\"copy-btn\" onclick=\"handleCopy()\">\n        <span class=\"copy-icon\">⎘</span>\n        <span class=\"copy-text\">一键复制够粘贴至分类URL</span>\n      </button>\n      <div class=\"copy-feedback\" id=\"copyFeedback\"></div>\n    </div>\n  `;\n  \n  var copyScript = `\n    <script>\n      function handleCopy() {\n        const content = document.getElementById('copyContent');\n        const feedback = document.getElementById('copyFeedback');\n        \n        // 创建范围并选择文本\n        const range = document.createRange();\n        range.selectNode(content);\n        window.getSelection().removeAllRanges();\n        window.getSelection().addRange(range);\n        \n        try {\n          // 执行复制命令\n          const successful = document.execCommand('copy');\n          if(successful) {\n            feedback.textContent = '复制成功！';\n            feedback.style.color = '#4CAF50';\n          } else {\n            feedback.textContent = '复制失败，请手动选择文本';\n            feedback.style.color = '#F44336';\n          }\n        } catch(err) {\n          feedback.textContent = '复制错误: ' + err;\n          feedback.style.color = '#F44336';\n        }\n        \n        // 清除选择\n        window.getSelection().removeAllRanges();\n        \n        // 3秒后隐藏反馈\n        setTimeout(() => {\n          feedback.textContent = '';\n        }, 3000);\n      }\n    </script>\n  `;\n  \n  var styles = `\n    <style>\n      .user-card {\n        display: flex;\n        align-items: center;\n        padding: 15px;\n        background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);\n        border-radius: 10px;\n        margin-bottom: 20px;\n        box-shadow: 0 2px 10px rgba(0,0,0,0.1);\n      }\n      \n      .user-avatar {\n        width: 60px;\n        height: 60px;\n        border-radius: 50%;\n        object-fit: cover;\n        border: 3px solid white;\n        box-shadow: 0 2px 5px rgba(0,0,0,0.1);\n      }\n      \n      .user-info {\n        margin-left: 15px;\n      }\n      \n      .username {\n        margin: 0;\n        color: #333;\n        font-size: 18px;\n        font-weight: 600;\n      }\n      \n      .user-desc {\n        margin: 5px 0 0;\n        color: #666;\n        font-size: 14px;\n      }\n      \n      .copy-section {\n        padding: 20px;\n        background: white;\n        border-radius: 10px;\n        box-shadow: 0 2px 10px rgba(0,0,0,0.05);\n        margin-bottom: 20px;\n      }\n      \n      .section-title {\n        margin: 0 0 15px;\n        color: #555;\n        font-size: 15px;\n      }\n      \n      .copy-content {\n        padding: 15px;\n        background: #f8f9fa;\n        border-radius: 8px;\n        border: 1px solid #eee;\n        font-family: 'Courier New', monospace;\n        font-size: 14px;\n        line-height: 1.5;\n        word-break: break-all;\n        white-space: pre-wrap;\n        margin-bottom: 15px;\n      }\n      \n      .copy-btn {\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        padding: 10px 20px;\n        background: linear-gradient(135deg, #4b6cb7 0%, #182848 100%);\n        color: white;\n        border: none;\n        border-radius: 6px;\n        font-size: 15px;\n        cursor: pointer;\n        transition: all 0.3s;\n        width: 100%;\n      }\n      \n      .copy-btn:hover {\n        transform: translateY(-2px);\n        box-shadow: 0 4px 8px rgba(0,0,0,0.1);\n      }\n      \n      .copy-icon {\n        font-size: 18px;\n        margin-right: 8px;\n      }\n      \n      .copy-feedback {\n        height: 20px;\n        margin-top: 10px;\n        text-align: center;\n        font-size: 14px;\n        transition: all 0.3s;\n      }\n      \n      @media (max-width: 600px) {\n        .user-card {\n          flex-direction: column;\n          text-align: center;\n        }\n        \n        .user-info {\n          margin-left: 0;\n          margin-top: 10px;\n        }\n        \n        .copy-content {\n          font-size: 13px;\n          padding: 12px;\n        }\n      }\n    </style>\n  `;\n  result = styles + userInfo + textContent + copyScript;\n}",
    "ruleImage": "{{$..bmiddle_pic||$..thumbnail_pic||$..bmiddle.url||$..thumbnail.url||$..page_pic.url||$.mblog.page_info.page_pic.url||$.mblog.user.avatar_hd||$.avatar_hd||$.user.avatar_hd||$.left_tag_img||$.pic##.*\\n+}},{\"headers\":{\"referer\":\"https://m.weibo.cn\"}}",
    "ruleLink": "$.mblog.id||$.user.id||$.id@js:\"https://weibo.com/detail/\"+result",
    "ruleNextPage": "@js:\nlet f =/page_type=searchall/.test(baseUrl);\nlet baseUrl = String(f?baseUrl:java.hexDecodeToString(result));\npage = Number(baseUrl.match(/page=(\\d+)/)[1])+1;\nbaseUrl = baseUrl.replace(/page=\\d+/,'page='+page);\nresult = f?baseUrl:`data:page=${page};base64,${java.base64Encode(baseUrl)},{\"type\":\"\"}`",
    "rulePubDate": "$.mblog.created_at||$.desc1\n@js:\nif(/\\+0800/.test(result)){\ndate=new Date(result);\ntime=date.getTime();\nfunction formatDate2(inputTime) {\n    var date = new Date(inputTime);\n    var y = date.getFullYear();\n    var m = date.getMonth() + 1;\n    m = m < 10 ? ('0' + m) : m;\n    var d = date.getDate();\n    d = d < 10 ? ('0' + d) : d;\n    return y +'-' + m + '-' + d;\n};\n\nfunction formatDate(now) {\n    var time = formatDate2(now)\n    var date1 = new Date(now)\n    var date2 = new Date()\n    var date3 = date2.getTime() - date1.getTime()\n    var days = Math.floor(date3 / (24 * 3600 * 1000))\n    var leave1 = date3 % (24 * 3600 * 1000) \n    var hours = Math.floor(leave1 / (3600 * 1000))\n    var leave2 = leave1 % (3600 * 1000)\n    var minutes = Math.floor(leave2 / (60 * 1000))\n    var leave3 = leave2 % (60 * 1000)\n    if (days < 1 && hours < 1) { return minutes + \"分前\" } else if (days < 1) { return hours + \"小时 \" + minutes + \"分前\" } else {\n        if (days < 7) {\n            return days + \"天 \" + hours + \"小时前 \"\n        } else { return time }\n    }\n}\n\nfunction formatCount(count) {\n  if (count < 10000) return count.toString();\n  const inWan = (count / 10000).toFixed(2);\n  return inWan.endsWith('.00') \n    ? `${inWan.split('.')[0]}万` \n    : `${inWan}万`;\n}\n\nresult = '📅 '+formatDate(time)+\"  📝\"+formatCount(java.getString(\"$.mblog.comments_count\"))+\"  ❤️\"+formatCount(java.getString(\"$.mblog.attitudes_count\"));\n}else{result=result}",
    "ruleTitle": "{{$.profile_type_id##proweibotop_##🔝###}}{{$.mblog.text||$.user.screen_name||$.title##<.*?>}}",
    "singleUrl": false,
    "sortUrl": "笋沙丁::data:page=1;base64,{{java.base64Encode(\"https://m.weibo.cn/api/container/getIndex?containerid=1076033963004251_-_WEIBO_SECOND_PROFILE_WEIBO&luicode=10000011&lfid=1076033963004251_-_WEIBO_SECOND_PROFILE_WEIBO&page_type=03&page=1\")}},{\"type\":\"\"} \n\n\n七小皇叔On-The-Way::data:page=1;base64,{{java.base64Encode(\"https://m.weibo.cn/api/container/getIndex?containerid=1076037729250971_-_WEIBO_SECOND_PROFILE_WEIBO&luicode=10000011&lfid=1076037729250971_-_WEIBO_SECOND_PROFILE_WEIBO&page_type=03&page=1\")}},{\"type\":\"\"}\n\n乎肥棠瘦::data:page=1;base64,{{java.base64Encode(\"https://m.weibo.cn/api/container/getIndex?containerid=1076036992385346_-_WEIBO_SECOND_PROFILE_WEIBO&luicode=10000011&lfid=1076036992385346_-_WEIBO_SECOND_PROFILE_WEIBO&page_type=03&page=1\")}},{\"type\":\"\"}\n\n西凌萝卜::data:page=1;base64,{{java.base64Encode(\"https://m.weibo.cn/api/container/getIndex?containerid=1076032141864060_-_WEIBO_SECOND_PROFILE_WEIBO&luicode=10000011&lfid=1076035239650586_-_WEIBO_SECOND_PROFILE_WEIBO&page_type=03&page=1\")}},{\"type\":\"\"}\n\n\n\nIcaRus LeBlanc::data:page=1;base64,{{java.base64Encode(\"https://m.weibo.cn/api/container/getIndex?containerid=1076035034515815_-_WEIBO_SECOND_PROFILE_WEIBO&luicode=10000011&lfid=1076035034515815_-_WEIBO_SECOND_PROFILE_WEIBO&page_type=03&page=1\")}},{\"type\":\"\"}\n\n佑淮::data:page=1;base64,{{java.base64Encode(\"https://m.weibo.cn/api/container/getIndex?containerid=1076036269361340_-_WEIBO_SECOND_PROFILE_WEIBO&luicode=10000011&lfid=1076036269361340_-_WEIBO_SECOND_PROFILE_WEIBO&page_type=03&page=1\")}},{\"type\":\"\"}\n\n砂上雪::data:page=1;base64,{{java.base64Encode(\"https://m.weibo.cn/api/container/getIndex?containerid=1076035239650586_-_WEIBO_SECOND_PROFILE_WEIBO&luicode=10000011&lfid=1076035239650586_-_WEIBO_SECOND_PROFILE_WEIBO&page_type=03&page=1\")}},{\"type\":\"\"}\n\nWhisky老鹿::data:page=1;base64,{{java.base64Encode(\"https://m.weibo.cn/api/container/getIndex?containerid=1076036537563116_-_WEIBO_SECOND_PROFILE_WEIBO&luicode=10000011&lfid=1076036537563116_-_WEIBO_SECOND_PROFILE_WEIBO&page_type=03&page=1\")}},{\"type\":\"\"}\n\t\n郭斯特::data:page=1;base64,{{java.base64Encode(\"https://m.weibo.cn/api/container/getIndex?containerid=1076031907542963_-_WEIBO_SECOND_PROFILE_WEIBO&luicode=10000011&lfid=1076031907542963_-_WEIBO_SECOND_PROFILE_WEIBO&page_type=03&page=1\")}},{\"type\":\"\"}\n\t\n你好好好菌::data:page=1;base64,{{java.base64Encode(\"https://m.weibo.cn/api/container/getIndex?containerid=1076032673967277_-_WEIBO_SECOND_PROFILE_WEIBO&luicode=10000011&lfid=1076032673967277_-_WEIBO_SECOND_PROFILE_WEIBO&page_type=03&page=1\")}},{\"type\":\"\"}\n\t\n薛之谦::data:page=1;base64,{{java.base64Encode(\"https://m.weibo.cn/api/container/getIndex?containerid=1076031239246050_-_WEIBO_SECOND_PROFILE_WEIBO&luicode=10000011&lfid=1076031239246050_-_WEIBO_SECOND_PROFILE_WEIBO&page_type=03&page=1\")}},{\"type\":\"\"}\n\t\nTED to China::data:page=1;base64,{{java.base64Encode(\"https://m.weibo.cn/api/container/getIndex?containerid=1076031666109895_-_WEIBO_SECOND_PROFILE_WEIBO&luicode=10000011&lfid=1076031666109895_-_WEIBO_SECOND_PROFILE_WEIBO&page_type=03&page=1\")}},{\"type\":\"\"}\n\n一条废狗狗狗狗::data:page=1;base64,{{java.base64Encode(\"https://m.weibo.cn/api/container/getIndex?containerid=1076036055804589_-_WEIBO_SECOND_PROFILE_WEIBO&luicode=10000011&lfid=1076036055804589_-_WEIBO_SECOND_PROFILE_WEIBO&page_type=03&page=1\")}},{\"type\":\"\"}\n\n搜索用户::https://m.weibo.cn/api/container/getIndex?containerid=100103type%3D3%26q={{svg=String(java.base64Encode(`<svg width=\"1190\" height=\"300\" xmlns=\"http://www.w3.org/2000/svg\"><rect width=\"100%\" height=\"100%\" fill=\"#ffffff\"/><text x=\"200\" y=\"100\" font-family=\"Arial, sans-serif\" font-size=\"70\" fill=\"#333\" font-weight=\"bold\">输入要搜索的用户</text></svg>`));if(page==1){let a=\"\";try{a=java.getVerificationCode('data:image/svg+xml;base64,'+svg);}catch(e){java.log(e)};if(a==\"\"){a=source.getLoginHeader()}source.putLoginHeader(a);a}else{source.getLoginHeader()};}}%26t%3D&page_type=searchall&page=1\n",
    "sourceComment": "1、在【搜索用户】点击右上角三点刷新分类会弹出输入框，将复制的内容换行粘贴进分类URL\n2、设置源变量处填写内容后刷新或清除可以搜索用户内的微博，删除源变量设置才能显示全部微博内容",
    "sourceGroup": "阅读,R18",
    "sourceIcon": "https://is1-ssl.mzstatic.com/image/thumb/Purple221/v4/52/6a/04/526a04f7-ccfd-612e-64cb-ece08b01b4e6/WeiboAppIcon-0-0-1x_U007epad-0-1-0-0-85-220.png/492x0w.webp",
    "sourceName": " 📖\n微博博主",
    "sourceUrl": "https://m.weibo.cn#微博博主"
  },
  {
    "articleStyle": 0,
    "customOrder": -105,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\n  \"User-Agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36\"\n}",
    "injectJs": "var wrapElements = document.querySelectorAll('div.wrap');\nvar adWrapElements = document.getElementsByClassName('ad-wrap');\n\nfor (var i = 0; i < wrapElements.length; i++) {\n  var wrapElement = wrapElements[i];\n  wrapElement.parentNode.removeChild(wrapElement);\n}\n\nwhile (adWrapElements.length > 0) {\n  var adWrapElement = adWrapElements[0];\n  adWrapElement.parentNode.removeChild(adWrapElement);\n}\n\nlet aaaa = window.location.href;\n\nif(/\\/a\\/\\d+/.test(aaaa)){\n\twindow.location.href = window.location.href.replace(/a/,'detail')\n\t}\n\n\nif(/ttarticle/.test(aaaa)){\n\nfunction styleExtractedContent() {\n  \n  const originalContent = document.querySelector(\".main_editor\").innerHTML.replace(/style=\"opacity.*?\"|&nbsp;/g,'').replace(/<br>/g,'<br>&emsp;&emsp;');\n  document.body.innerHTML = '';\n  \n  const styledContainer = document.createElement('div');\n  styledContainer.className = 'styled-article';\n  \n  \n  styledContainer.innerHTML = originalContent;\n  \n  \n  \n  document.body.appendChild(styledContainer);\n  \n  \n  const style = document.createElement('style');\n  style.textContent = `\n    .styled-article {\n      max-width: 800px;\n      margin: 0 auto;\n      padding: 20px;\n      font-family: \"PingFang SC\", \"Hiragino Sans GB\", \"Microsoft YaHei\", sans-serif;\n      line-height: 1.8;\n      color: #333;\n      background: #fff;\n    }\n    \n    .styled-article .title {\n      font-size: 24px;\n      font-weight: bold;\n      margin-bottom: 20px;\n      color: #222;\n      text-align: center;\n      padding-bottom: 10px;\n      border-bottom: 1px solid #eee;\n    }\n    \n    .styled-article .authorinfo {\n      display: flex;\n      justify-content: space-between;\n      align-items: center;\n      margin-bottom: 20px;\n      padding-bottom: 15px;\n      border-bottom: 1px solid #f5f5f5;\n    }\n    \n    .styled-article .W_face_radius {\n      width: 40px;\n      height: 40px;\n      border-radius: 50%;\n      margin-right: 10px;\n      vertical-align: middle;\n    }\n    \n    .styled-article .author1 a {\n      font-size: 16px;\n      color: #333;\n      text-decoration: none;\n    }\n    \n    .styled-article .time {\n      color: #999;\n      font-size: 14px;\n    }\n    \n    .styled-article .preface_v2 {\n      font-style: italic;\n      color: #666;\n      margin-bottom: 25px;\n      padding: 15px;\n      background: #f9f9f9;\n      border-left: 3px solid #ddd;\n    }\n    \n    .styled-article *[node-type=\"contentBody\"] p {\n      margin-bottom: 25px;\n      text-align: justify;\n      font-size: 16px;\n      color: #222; \n      text-indent: 1.7em; \n    }\n    \n    .styled-article .artical_add_box {\n      margin-top: 40px;\n      padding: 20px;\n      background: #fafafa;\n      border-radius: 8px;\n    }\n    \n    .styled-article .btn_bed a {\n      display: inline-block;\n      padding: 8px 15px;\n      background: #ff8200;\n      color: white;\n      border-radius: 4px;\n      text-decoration: none;\n    }\n    \n    \n    @media (max-width: 600px) {\n      .styled-article {\n        padding: 15px;\n      }\n      \n      .styled-article .title {\n        font-size: 20px;\n      }\n      \n      .styled-article .WB_editor_iframe_new p {\n        font-size: 15px;\n      }\n    }\n  `;\n  \n  document.head.appendChild(style);\n}\n\n\nstyleExtractedContent();\n\n\n\t\n\t\n\t}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginUi": "[\n{\n    \t  name:\"☕️支持源作者\",\n    \t  type: \"button\",\n       action: \"toThank()\",\n       \"style\": {\n      \"layout_flexGrow\": 1,\n      \"layout_flexBasisPercent\": 0.4\n    }\n    \t},\n    \t{\n    \t  name:\"👤登  录\",\n    \t  type: \"button\",\n       action: \"toLogin()\",\n       \"style\": {\n      \"layout_flexGrow\": 1,\n      \"layout_flexBasisPercent\": 0.4\n    }\n    \t}\n]",
    "loginUrl": "function toThank(){\n\tjava.startBrowser(\"data:text/html;base64,PGltZyBzdHlsZT0id2lkdGg6MTAwJSIgc3JjPSJhYm91dDpibGFuayIgb25lcnJvcj0idGhpcy5zcmM9YXRvYignYUhSMGNITTZMeTluYVhSbFpTNWpiMjB2WjNWaGJtVnlNREF4TVRJMUwySnZiMnR6YjNWeVkyVXZjbUYzTDIxaGMzUmxjaThsUlRVbE9VSWxRa1VsUlRjbE9Ea2xPRGN2WjNWaGJtVnlMbmRsWW5BPScpIj4KCg==\",\"感谢你的支持\");\t\n\t}\nfunction toLogin(){\n\tjava.startBrowser(\"https://weibo.com\",\"登录\");\n\tjava.startBrowser(\"http://m.weibo.cn\",\"登录\")\n\t\n\t}",
    "ruleArticles": "$.data.cards&&$.data.cards[*].card_group[*]",
    "ruleContent": "@js:\nfunction formatTime(dateStr) {\n    const date = new Date(dateStr);\n    const year = date.getFullYear();\n    const month = date.getMonth() + 1; \n    const day = date.getDate();\n    const hours = date.getHours().toString().padStart(2, '0');\n    const minutes = date.getMinutes().toString().padStart(2, '0');\n    \n    return `${year}年${month}月${day}日 ${hours}:${minutes}`;\n}\nfunction formatCount(count) {\n  if (count < 10000) return count.toString();  \n  const inWan = (count / 10000).toFixed(2);\n  return inWan.endsWith('.00') \n    ? `${inWan.split('.')[0]}万` \n    : `${inWan}万`;\n}\n\nfunction getContent($) {\n    let galleryItems = \"\",videos=\"\";\n    let long_imgs = ($.pic_num??0)?($.pics??[]):[];\n    let long_video = $.page_info?.type===\"video\"?$.page_info:{};\n    \n    if(long_imgs.length){\n        galleryItems = long_imgs.map((img, i) => `\n        <div class=\"gallery-item\">\n            <img src=\"${img.url}\" data-original=\"${img?.large?.url}\" loading=\"lazy\">\n            <div class=\"zoom-icon\">🔍</div>\n        </div>`).join('');\n       galleryItems = `<div class=\"image-gallery\">${galleryItems}</div>`;\n    }\n    if(JSON.stringify(long_video)!==\"{}\"){\n        if(long_video.urls){\n        long_video = long_video.urls;\n        videos = long_video.hevc_mp4_hd || long_video.mp4_720p_mp4 || long_video.mp4_hd_mp4 || long_video.mp4_ld_mp4\n        }else{\n        long_video = long_video.media_info;\n        videos = long_video.stream_url_hd || long_video.stream_url\n        }\n        \n        videos = `<div class=\"media-container\"><video src=\"${videos}\" controls poster=\"${$.page_info.page_pic.url}\"></video></div>`\n    }\n     \n    return `\n      <div class=\"comment-item\">\n        <div class=\"comment-user\">\n          <img class=\"user-avatar\" src=\"${$.user.profile_image_url}\" onclick=\"window.open('https://m.weibo.cn/n/${$.user.screen_name}')\">\n          <div class=\"user-info\">\n            <span class=\"user-name\" onclick=\"window.open('https://m.weibo.cn/n/${$.user.screen_name}')\">${$.user.screen_name}</span>\n            <span class=\"comment-time\">${formatTime($.created_at)}</span>\n          </div>\n          <div class=\"like_counts\"><span>♡${formatCount($.attitudes_count)}</span></div>\n        </div>\n        <div class=\"comment-text\">${$.text}</div>\n        ${videos}\n        ${galleryItems}\n      </div>`;\n}\n\nlet id = baseUrl.match(/(\\d+)/)[1];\nlet b = baseUrl.replace(/weibo.com/,'m.weibo.cn');\nvar html = java.ajax(b);\n\ntry{\nvar render_data = html.match(/var \\$(render_data = \\[\\{[\\s\\S]+?\\|\\| \\{\\});/)[1];\neval(render_data);\nlet $ = render_data.status;\nlet longText = getContent($);\nlet retweeted_status = $.retweeted_status??\"\";\nif(retweeted_status){\n   retweeted_status = getContent(retweeted_status)\n}\n\nretweeted_status = retweeted_status ? \"<div class='retweeted_status'>\" + retweeted_status+\"</div>\":\"\";\nresult = longText + retweeted_status;\n}catch(e){\n\tresult = html;\n\t\n\t}\nresult = `<a href=\"${b.replace(/detail/,'a')}\" class=\"original-link\">原文地址</a><div class=\"main-content\">${result}</div><div id=\"container\"></div>`;\n\nresult = `<!DOCTYPE html>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n   \n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>微博详情</title>\n    <link rel=\"stylesheet\" href=\"https://cdn.jsdelivr.net/npm/viewerjs@1.10.5/dist/viewer.min.css\">\n    <style>      \n       * { margin: 0; padding: 0; box-sizing: border-box; }\n        body { \n            font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif; \n            line-height: 1.6; color: #333; background-color: #f5f5f5; \n            padding: 15px; max-width: 750px; margin: 0 auto; \n        }\n        .original-link { \n            display: block; padding: 12px; background: #fff; border-radius: 8px; \n            margin-bottom: 10px; text-decoration: none; color: #1E88E5; \n            font-weight: 500; box-shadow: 0 1px 3px rgba(0,0,0,0.05); \n        }\n        .main-content { \n            background: #fff; padding: 15px; border-radius: 8px; \n            margin-bottom: 15px; box-shadow: 0 1px 3px rgba(0,0,0,0.05); \n        }\n        .divider { border: none; height: 1px; background-color: #eee; margin: 15px 0; }\n        .media-container { margin: 15px 0; border-radius: 8px; overflow: hidden; }\n        .media-container video { width: 100%; border-radius: 8px; }\n        .image-gallery { \n            display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; margin: 15px 0; \n            max-width:100%\n        }\n        .gallery-item { \n            aspect-ratio: 1; overflow: hidden; border-radius: 8px; \n            position: relative; cursor: pointer; \n        }\n        .gallery-item img { \n            width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s; \n        }\n        .gallery-item:hover img { transform: scale(1.05); }\n        .zoom-icon { \n            position: absolute; top: 5px; right: 5px; background: rgba(0,0,0,0.5); \n            color: white; width: 20px; height: 20px; border-radius: 50%; \n            display: flex; align-items: center; justify-content: center; \n            font-size: 12px; opacity: 0; transition: opacity 0.3s; \n        }\n        .retweeted_status{\n        background:#ECECEC;\n        padding:15px;\n        border-radius:8px;\n        }\n        .gallery-item:hover .zoom-icon { opacity: 1; }\n        .comments-section { \n            background: #fff; padding: 15px; border-radius: 8px; \n            box-shadow: 0 1px 3px rgba(0,0,0,0.05); \n        }\n        .comment-replies{\n            \tbackground:#efefef;\n            \tpadding:5px 5px 5px 20px;\n            \tmargin-left:42px;\n            \tborder-radius: 8px;\n            \tbox-shadow: 0 1px 3px rgba(0,0,0,0.05);\n            \t\n        \t}\n        \t\n.comments-header {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  margin-bottom:10px\n}\n\n.comments-title {\n  margin: 0;\n  font-size: 18px; \n  color: #333; \n}\n\n.sort-controls {\n  display: flex;\n  align-items: center;\n}\n\n.sort-btn {\n  padding: 4px 12px;\n  border: 1px solid #e0e0e0;\n  background: #f5f5f5;\n  border-radius: 15px;\n  font-size: 12px;\n  cursor: pointer;\n  margin-right: 8px; \n  transition: all 0.3s;\n}\n\n\n.sort-btn:last-child {\n  margin-right: 0;\n}\n\n.sort-btn.active {\n  background: #1d9bf0;\n  color: white;\n  border-color: #1d9bf0;\n}\n\n     \n        .comment-item { padding: 12px 0;  }\n           \n        .comment-user { display: flex; align-items: flex-start; margin-bottom: 8px; }\n        .user-avatar { \n            width: 32px; height: 32px; border-radius: 50%; \n            margin-right: 10px; object-fit: cover; \n        }\n        .user-info {\n    display: flex;\n    flex-direction: column;\n}\n        .user-name { \n        font-weight: 500; \n        font-size: 15px;\n        color:#1E88E5\n          }\n        .comment-text { \n            margin-left: 42px;\n            margin-bottom: 8px; font-size: 15px; line-height: 1.5; word-break: break-word; \n        }\n        .comment-time { font-size: 12px; color: #999; }\n        .comment-media { \n            margin-left:42px;\n            margin-bottom:10px;\n            margin-top:10px;\n            margin-right:8px;\n            position: relative; cursor: pointer; \n            border-radius: 6px; overflow: hidden;\n            max-width:100%\n        }\n        .comment-media details {\n            margin: 8px 0;\n            border-radius: 6px;\n            overflow: hidden;\n        }\n        .comment-media summary {\n            padding: 6px 12px;\n            background: #f5f5f5;\n            border-radius: 4px;\n            cursor: pointer;\n            list-style: none;\n            font-size: 14px;\n            color: #1E88E5;\n            transition: background 0.2s;\n        }\n        .comment-media summary:hover {\n            background: #e8f0fe;\n        }\n        .comment-media summary::-webkit-details-marker {\n            display: none;\n        }\n        .comment-media div {\n            margin-top: 8px;\n            position: relative;\n            cursor: pointer;\n        }\n        .comment-media img {\n            max-width: 100%;\n            border-radius: 4px;\n            display: block;\n        }\n.active {\n  pointer-events: none; \n}\n\n   .float-buttons {\n      position: fixed;\n      right: 20px;\n      bottom: 20px;\n      display: flex;\n      flex-direction: column;\n      gap: 10px;\n      z-index: 1001;\n    }\n    .reply-modal {\n  position: fixed;\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  background: rgba(0,0,0,0.5);\n  z-index: 1000;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n}\n.modal-content {\n  width: 80%;\n  max-width: 600px;\n  max-height: 80vh;\n  background: white;\n  border-radius: 8px;\n  overflow: hidden;\n  display: flex;\n  flex-direction: column;\n}\n.modal-header {\n  padding: 15px;\n  border-bottom: 1px solid #eee;\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n}\n.modal-body {\n  flex: 1;\n  overflow-y: auto;\n  padding: 15px;\n}\n.modal-footer {\n  padding: 10px;\n  text-align: center;\n}\n.loading-spinner {\n  display: none;\n  width: 20px;\n  height: 20px;\n  border: 3px solid rgba(0,0,0,0.1);\n  border-radius: 50%;\n  border-top-color: #1d9bf0;\n  animation: spin 1s linear infinite;\n  margin: 0 auto;\n}\n@keyframes spin {\n  to { transform: rotate(360deg); }\n}\n.reply-sort {\n  display: flex;\n  gap: 10px;\n  align-items: center;\n}\n.close-btn {\n  cursor: pointer;\n  font-size: 20px;\n}\n.like_counts{\ncolor:#999;\nfont-size:12px;\nmargin-left:auto;\npadding-right:8px\n}\n    .float-btn {\n      width: 25px;\n      height: 25px;\n      border-radius: 50%;\n      background: rgba(0, 0, 0, 0.5);\n      color: white;\n      border: none;\n      cursor: pointer;\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      font-size: 15px;\n      transition: all 0.3s ease;\n      box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);\n      -webkit-tap-highlight-color: transparent !important;\n  tap-highlight-color: transparent !importan;\n  outline: none !important;\n  -webkit-tap-highlight-color: transparent !important;\n    }\n   \n.float-btn:focus,\n.float-btn:focus-visible,\n.float-btn:active,\n.float-btn:-moz-focusring {\n  outline: none !important;\n  box-shadow: none !important;\n}\n.morerep{\ntext-align:right;\ncolor:#4590B5;\nfont-size:13px\n}\n    .float-btn:hover {\n      background: rgba(0, 0, 0, 0.7);\n      transform: scale(1.1);\n    }\n       .error-message{\n       \tbackground:#eee;\n        padding:15px;\n        font-size:18px;\n       \t}\n\n        .media-preview::before {\n            content: \"⬇️ \";\n        }\n        .comment-media[open] summary .media-preview::before {\n            content: \"⬆️ \";\n        }\n        .url-icon img { vertical-align: middle; margin: 0 1px;width:1em; height:1em}\n        .surl-text { color: #1E88E5; margin-right: 5px; }\n        @media (max-width: 500px) {\n            .image-gallery { grid-template-columns: repeat(2, 1fr); }\n            body { padding: 10px; }\n            .main-content, .comments-section { padding: 12px; }\n        }     \n         \n        .viewer-open {\n            overflow: hidden;\n            position: fixed;\n            width: 100%;\n        }\n    </style>\n    <script>\n    function formatTime(dateStr) {\n    const date = new Date(dateStr);\n    const year = date.getFullYear();\n    const month = date.getMonth() + 1;     const day = date.getDate();\n    const hours = date.getHours().toString().padStart(2, '0');\n    const minutes = date.getMinutes().toString().padStart(2, '0');\n    \n    return \\`\\${year}年\\${month}月\\${day}日 \\${hours}:\\${minutes}\\`;\n}\n\nfunction replaceurl(t){\nlet \ttext = String(t).replace(/href=(\\\\/n\\\\/[^\\\\s]+)/g,'href=\\\"https://m.weibo.cn$1\\\"').replace(/\\\\/\\\\/s.weibo.com\\\\/weibo\\\\?q=/g,\"https://m.weibo.cn/search?containerid=100103type%3D1%26q%3D\").replace(/https?:\\\\/\\\\/weibo.com\\\\/\\\\d+\\\\/(\\\\d+)/g,'https://m.weibo.cn/a/$1');\n\treturn text\n\t}\n\n   function getcomments(list, isReply = false) {\n  return list.map(item => {\n    let details = \"\";\n    if (item.pic_num !== 0) {\n     let pic_ids =  item.url_struct[0].pic_ids;      \n      const pic = item?.url_struct[0]?.pic_infos[pic_ids]?.large?.url.replace(/https?/,'https');\n      details = \\`\n        <details class=\"comment-media\">\n          <summary><span class=\"media-preview\">📷 查看图片</span></summary>\n          <div class=\"comment_pic\">\n            <img src=\"\\${pic}\" alt=\"评论图片\">\n          </div>\n        </details>\\`;\n    }\n    \n    let replies = \"\";\n    if (item.comments && item.comments.length > 0) {\n      replies = \\`\n        <div class=\"comment-replies\">\n          \\${getcomments(item.comments, true)}\n          \\${item.total_number > 1 ? \\`\n            <div class=\"morerep\" onclick=\"loadComments({id:'\\${item.id}',isReply:true})\">\n              共\\${item.total_number}条回复\n            </div>\\` : ''}\n        </div>\\`;\n    }\n    \n    return \\`\n      <div class=\"comment-item\">\n        <div class=\"comment-user\">\n          <img class=\"user-avatar\" src=\"\\${item.user.profile_image_url}\" onclick=\"window.open('https://m.weibo.cn/n/\\${item.user.screen_name}')\">\n          <div class=\"user-info\">\n            <span class=\"user-name\" onclick=\"window.open('https://m.weibo.cn/n/\\${item.user.screen_name}')\">\\${item.user.screen_name}</span>\n            <span class=\"comment-time\">\\${formatTime(item.created_at)}</span>\n          </div>\n          <div class=\"like_counts\"><span>♡\\${formatCount(item.like_counts)}</span></div>\n        </div>\n        <div class=\"comment-text\">\\${replaceurl(item.text).replace(/(<img.*?>)/g,'<span class=\"url-icon\">$1</span>')}</div>\n        \\${details}\n        \\${replies}\n      </div>\\`;\n  }).join('');\n}\n    </script>\n       \n</head>\n<body>\n    ${result}\n  <div class=\"float-buttons\">\n    <button class=\"float-btn\" id=\"toTop\" title=\"回到顶部\">↑</button>\n    <button class=\"float-btn\" id=\"toBottom\" title=\"回到底部\">↓</button>\n  </div>\n    <script src=\"https://cdn.jsdelivr.net/npm/viewerjs@1.10.5/dist/viewer.min.js\"></script>\n    <script>\n    // 全局变量\n     let MaxId = [];     \n     let repMaxId = [];      \n     let currentMaxId = null;\n     let repCurrentMaxId = null;\n     let isLoading = false;\n     let repLoading = false;\n     const weiboId = \"${id}\";\n     let sortType = 0;\n     let repSortType = 0;\n     \n     function formatCount(count) {\n  if (count < 10000) return count.toString();  \n  const inWan = (count / 10000).toFixed(2);\n  return inWan.endsWith('.00') \n    ? \\`\\${inWan.split('.')[0]}万\\` \n    : \\`\\${inWan}万\\`;\n}\n\n        //图片加载器\n        function initImageViewer() {\n        \tvar option = {\n        \t\t          url: 'data-original',\n        \t          \tmaxZoomRatio: 0.9,\n                    inline: false,\n                    movable: true,\n                    zoomable: true,\n                    \n                    toolbar: {\n                        zoomIn: 1,\n                        zoomOut: 1,\n                        oneToOne: 0,\n                        reset: 1,\n                        prev: 1,\n                        next: 1,\n                        rotateLeft: 0,\n                        rotateRight: 0,\n                        flipHorizontal: 0,\n                        flipVertical: 0\n                    }    \n                };                          \n            try {                       \n             new Viewer(document.querySelector('.image-gallery'),option);          \n  document.querySelectorAll('.comment-media').forEach(x=>{new Viewer(x,option)})                   \n            } catch (e) {\n                                 \n                }\n            \n        }\n        \n// 获取评论函数\nasync function loadComments(options = {}) {\n  const {\n    id = weiboId,\n    isReply = false,\n    isLoadMore = false,\n    targetElement = isReply ? '#reply-list' : '#container',\n    tElement = isReply ? '#reply-list .comments-list' : '.comments-list',\n    containerTemplate = null,\n    sort = isReply ? repSortType : sortType\n  } = options;\n\n  \n  const loadingFlag = isReply ? repLoading : isLoading;\n  if (loadingFlag) return;\n  isReply ? repLoading = true : isLoading = true;\n\n  \n  let url;\n  if (isReply) {\n    url = \\`https://weibo.com/ajax/statuses/buildComments?flow=\\${sort}&is_reload=1&id=\\${id}&is_show_bulletin=2&is_mix=1&fetch_level=1&max_id=\\${isLoadMore ? repCurrentMaxId : 0}&count=20&locale=zh-CN\\`\n  } else {\n   url =\\`https://weibo.com/ajax/statuses/buildComments?flow=\\${sort}&is_reload=1&id=\\${id}&is_show_bulletin=2&is_mix=0&count=20&fetch_level=0&locale=zh-CN\\`;\n  \n  \n    //url = \\`https://m.weibo.cn/comments/hotflow?id=\\${id}&mid=\\${id}&max_id_type=\\${sort}\\`;\n    if (isLoadMore && currentMaxId) {\n      url += \\`&max_id=\\${currentMaxId}\\`;\n    }\n  }\n\n  try {\n    const response = await fetch(url, {\n      headers: {\n        'Accept': 'application/json',\n        'X-Requested-With': 'XMLHttpRequest'\n      },\n      credentials: 'include'\n    });\n\n    const data = await response.json();\n    \n    \n    if (data.ok === -100) {\n      if (/error-message/.test(document.querySelector(targetElement).innerHTML)) {\n        throw new Error(\"需要登录\");\n      }\n      document.querySelector(targetElement).innerHTML += \\`\n        <div class=\"error-message\">\n          评论加载失败:请<a href=\"\\${data.url}\">访问首页或登录</a>后重试\n        </div>\n      \\`;\n      throw new Error(\"需登录\");\n    }\n\n    \n    const currentIdArray = isReply ? repMaxId : MaxId;\n    const newMaxId = data.max_id;\n    \n    if (currentIdArray.includes(newMaxId)) {\n      throw new Error(\"没有更多内容了\");\n    }\n    \n    if (isReply) {\n      repCurrentMaxId = newMaxId;\n      repMaxId.push(newMaxId);\n    } else {\n      currentMaxId = newMaxId;\n      MaxId.push(newMaxId);\n    }\n    \n    \n    const commentsData = data.data;\n        \n    if (isReply && !isLoadMore && !document.querySelector('.reply-modal')) {\n      initReplyModal(id);\n    }\n\n    if (isLoadMore) {\n      document.querySelector(tElement).innerHTML += getcomments(commentsData, isReply);\n    } else {\n      if (data.ok === 0) throw new Error(\"没有内容\");\n        \n      \n      let content = \\`<div class=\"comments-header\">\n            <div class=\"comments-title\"><h3>评论（\\${formatCount(data.total_number)}）</h3></div>\n            <div class=\"sort-controls\">\n              <button id=\"sortHot\" class=\"sort-btn \\${sortType===0?'active':''}\" \n                onclick=\"loadComments({sort:0})\">热度</button>\n              <button id=\"sortTime\" class=\"sort-btn \\${sortType===1?'active':''}\" \n                onclick=\"loadComments({sort:1})\">时间</button>\n            </div>\n          </div>\\`;\n            \n      const html =  \\`\n        <div class=\"comments-section\">\n           \\${isReply?\"\":content}        \n          <div class=\"comments-list\">\\${getcomments(commentsData)}</div>\n        </div>\n      \\`;\n      document.querySelector(targetElement).innerHTML = html;\n    }\n\n\n  } catch (error) {\n    if (isLoadMore) {\n      showToast(/没有更多/.test(error.message)?error.message:\"评论加载失败\")\n    } else if (!/没有内容|登录/.test(error.message)) {\n      document.querySelector(targetElement).innerHTML = \\`\n        <div class=\"error-message\">\n          评论加载失败: \\${error.message}\n          <button onclick=\"loadComments(\\${JSON.stringify(options)})\">重试</button>\n        </div>\n      \\`;\n    }\n  } finally {\n    isReply ? repLoading = false : isLoading = false;\n  }\n}\n\n\nfunction initReplyModal(id) {\n  const modal = document.createElement('div');\n  modal.className = 'reply-modal';\n  modal.dataset.commentId = id;\n  modal.innerHTML = \\`\n    <div class=\"modal-content\">\n      <div class=\"modal-header\">\n        <h4>回复列表</h4>\n        <div class=\"reply-sort\">\n          <button class=\"sort-btn \\${repSortType===0?'active':''}\" \n            onclick=\"loadComments({id:'\\${id}',isReply:true,sort:0});repSortType=0\" data-sort-type=0>热度</button>\n          <button class=\"sort-btn \\${repSortType===1?'active':''}\" \n            onclick=\"loadComments({id:'\\${id}',isReply:true,sort:1});repSortType=1\" data-sort-type=1>时间</button>\n          <span class=\"close-btn\" onclick=\"this.closest('.reply-modal').remove();repMaxId=[];repSortType=0;repCurrentMaxId=null\">×</span>\n        </div>\n      </div>\n      <div class=\"modal-body\" id=\"reply-list\"></div>\n    </div>\n  \\`;\n  document.body.appendChild(modal);\n  modal.addEventListener('click', function(e) {\n  \n  if (e.target === modal) {\n    modal.remove();\n    repMaxId = [];\n    repSortType = 0;\n    repCurrentMaxId = null;\n  }\n});\n\n  \n  const replyList = document.querySelector(\"#reply-list\");\nif (replyList) {\n  replyList.addEventListener('scroll', () => {\n    if (replyList.scrollTop + replyList.clientHeight >= replyList.scrollHeight - 15) {\n      loadComments({id:id,isLoadMore: true, isReply: true }); \n    }\n  });\n}\n  \n}\n\n\nfunction showToast(message) {\n  const toast = document.createElement('div');\n  toast.textContent = message;\n  toast.style.position = 'fixed';\n  toast.style.bottom = '50px';\n  toast.style.left = '50%';\n  toast.style.transform = 'translateX(-50%)';\n  toast.style.backgroundColor = 'rgba(0,0,0,0.7)';\n  toast.style.color = 'white';\n  toast.style.padding = '5px 5px';\n  toast.style.borderRadius = '5px';\n  toast.style.zIndex = '1000';\n  \n  document.body.appendChild(toast);\n  setTimeout(() => {\n    document.body.removeChild(toast);\n  }, 1000);\n}\n\ndocument.getElementById('toTop').addEventListener('click', function() {\n      if(document.querySelector(\"#reply-list\")){\n      document.querySelector(\"#reply-list\").scrollTo({\n        top: 0,\n        behavior: 'smooth'\n      });\n      }else{\n      window.scrollTo({\n        top: 0,\n        behavior: 'smooth'\n      });\n      }\n      \n    });\n    \n    document.getElementById('toBottom').addEventListener('click', function() {\n    if(document.querySelector(\"#reply-list\")){\n      document.querySelector(\"#reply-list\").scrollTo({\n        top: document.querySelector(\"#reply-list\").scrollHeight,\n        behavior: 'smooth'\n      });\n      }else{\n      window.scrollTo({\n        top: document.body.scrollHeight,\n        behavior: 'smooth'\n      });\n      }\n    });\n    \n    \n    window.addEventListener('scroll', function() {\n      const toTopBtn = document.getElementById('toTop');\n      const toBottomBtn = document.getElementById('toBottom');\n      const scrollPosition = window.scrollY;\n      \n      \n      if (scrollPosition === 0) {\n        toTopBtn.style.opacity = '0.5';\n        toTopBtn.style.pointerEvents = 'none';\n      } else {\n        toTopBtn.style.opacity = '1';\n        toTopBtn.style.pointerEvents = 'auto';\n      }\n      \n      \n      if (window.innerHeight + scrollPosition >= document.body.scrollHeight - 50) {\n        toBottomBtn.style.opacity = '0.5';\n        toBottomBtn.style.pointerEvents = 'none';\n      } else {\n        toBottomBtn.style.opacity = '1';\n        toBottomBtn.style.pointerEvents = 'auto';\n      }\n    });\n\n\n\n\n\n\ndocument.addEventListener('DOMContentLoaded', () => {\n  \n  document.addEventListener('click', (e) => {\n    \n    if (e.target.id === 'sortHot') {\n      if (sortType !== 0) {\n        sortType = 0;\n        e.target.classList.add('active');\n        document.getElementById('sortTime').classList.remove('active');\n        currentMaxId = null;\n        MaxId = [];\n        loadComments({sort:0}); \n      }\n    }\n    \n    if (e.target.id === 'sortTime') {\n      if (sortType !== 1) {\n        sortType = 1;\n        e.target.classList.add('active');\n        document.getElementById('sortHot').classList.remove('active');\n        currentMaxId = null;\n        MaxId = [];\n        loadComments({sort:1}); \n      }\n    }\n\n    \n    if (e.target.classList.contains('sort-btn')) {\n      const modal = e.target.closest('.reply-modal');\n      if (modal) {\n        const id = modal.dataset.commentId;\n        repSortType = parseInt(e.target.dataset.sortType);\n        \n        document.querySelectorAll('.reply-modal .sort-btn').forEach(btn => {\n          btn.classList.toggle('active', parseInt(btn.dataset.sortType) === repSortType);\n        });\n        repCurrentMaxId = null;\n        repMaxId = [];\n      }\n    }\n  });\n  \n  \n  loadComments();\n  \n  \n  window.addEventListener('scroll', () => {\n    if ((window.innerHeight + window.scrollY) >= document.body.offsetHeight - 50) {\n      loadComments({ isLoadMore: true });\n    }\n  });\n  \n  function findScrollingElement() {\n  const elements = document.querySelectorAll('*');\n  for (const el of elements) {\n    if (el.scrollHeight > el.clientHeight && el.scrollTop > 0) {\n      return el;\n    }\n  }\n  return document.documentElement; \n}\n  initImageViewer();\n});\n     \n    </script>\n</body>\n</html>`;\nresult;",
    "ruleImage": "{{$.pic_middle||$..bmiddle_pic||$..bmiddle.url||$..page_pic.url||$.mblog.page_info.page_pic.url||$.mblog.user.avatar_hd||$.avatar_hd||$.user.avatar_hd||$..avatar_hd||$.left_tag_img||$.pic##.*\\n+}},{\"headers\":{\"referer\":\"https://m.weibo.cn\"}}\n<js>##thumbnail##bmiddle</js>",
    "ruleLink": "$.mblog.id@js:\"https://weibo.com/detail/\"+result",
    "ruleNextPage": "page",
    "rulePubDate": "$.mblog.created_at\n<js>date=new Date(result);\ntime=date.getTime();\nfunction formatDate2(inputTime) {\n    var date = new Date(inputTime);\n    var y = date.getFullYear();\n    var m = date.getMonth() + 1;\n    m = m < 10 ? ('0' + m) : m;\n    var d = date.getDate();\n    d = d < 10 ? ('0' + d) : d;\n    return y +'-' + m + '-' + d;\n};\n\nfunction formatDate(now) {\n    var time = formatDate2(now)\n    var date1 = new Date(now)\n    var date2 = new Date()\n    var date3 = date2.getTime() - date1.getTime()\n    var days = Math.floor(date3 / (24 * 3600 * 1000))\n    var leave1 = date3 % (24 * 3600 * 1000) \n    var hours = Math.floor(leave1 / (3600 * 1000))\n    var leave2 = leave1 % (3600 * 1000)\n    var minutes = Math.floor(leave2 / (60 * 1000))\n    var leave3 = leave2 % (60 * 1000)\n    if (days < 1 && hours < 1) { return minutes + \"分前\" } else if (days < 1) { return hours + \"小时 \" + minutes + \"分前\" } else {\n        if (days < 7) {\n            return days + \"天 \" + hours + \"小时前 \"\n        } else { return time }\n    }\n}\n\nfunction formatCount(count) {\n  if (count < 10000) return count.toString();\n  const inWan = (count / 10000).toFixed(2);\n  return inWan.endsWith('.00') \n    ? `${inWan.split('.')[0]}万` \n    : `${inWan}万`;\n}\n\nresult = '📅 '+formatDate(time)+\"  📝\"+formatCount(java.getString(\"$.mblog.comments_count\"))+\"  ❤️\"+formatCount(java.getString(\"$.mblog.attitudes_count\"))+\"      @\"+java.getString(\"$.mblog.user.screen_name\");\n</js>",
    "ruleTitle": "$.mblog.text##<.*?>",
    "singleUrl": false,
    "sortUrl": "百合小说::https://m.weibo.cn/api/container/getIndex?containerid=231522type%3D1%26t%3D10%26q%3D%23百合小说%23&isnewpage=1&luicode=10000011&lfid=100103type%3D1%26q%3D百合小说&page_type=searchall&page={{page}}\n\n百合动漫::https://m.weibo.cn/api/container/getIndex?containerid=231522type%3D1%26t%3D10%26q%3D%23百合动漫%23&isnewpage=1&luicode=10000011&lfid=100103type%3D1%26q%3D百合动漫&page_type=searchall&page={{page}}\n\n百合推文::https://m.weibo.cn/api/container/getIndex?containerid=231522type%3D1%26t%3D10%26q%3D%23百合推文%23&isnewpage=1&luicode=10000011&lfid=100103type%3D1%26q%3D百合推文&page_type=searchall&page={{page}}\n\ngl推文::https://m.weibo.cn/api/container/getIndex?containerid=231522type%3D1%26t%3D10%26q%3D%23gl推文%23&isnewpage=1&luicode=10000011&lfid=100103type%3D1%26q%3Dgl推文&page_type=searchall&page={{page}}\n\ngl小说::https://m.weibo.cn/api/container/getIndex?containerid=231522type%3D1%26t%3D10%26q%3D%23gl小说%23&isnewpage=1&luicode=10000011&lfid=100103type%3D1%26q%3Dgl小说&page_type=searchall&page={{page}}\n\n搜索话题::https://m.weibo.cn/api/container/getIndex?containerid=231522type%3D1%26t%3D10%26q%3D%23{{svg=String(java.base64Encode(`<svg width=\"1190\" height=\"300\" xmlns=\"http://www.w3.org/2000/svg\"><rect width=\"100%\" height=\"100%\" fill=\"#ffffff\"/><text x=\"200\" y=\"100\" font-family=\"Arial, sans-serif\" font-size=\"70\" fill=\"#333\" font-weight=\"bold\">输入要搜索的话题名称</text></svg>`));if(page==1){let a=\"\";try{a=java.getVerificationCode('data:image/svg+xml;base64,'+svg);}catch(e){java.log(e)};if(a==\"\"){a=source.getVariable()}source.setVariable(a);a}else{source.getVariable()};}}%23&isnewpage=1&luicode=10000011&lfid=100103type%3D1%26q%3D{{source.getVariable()}}&page_type=searchall&page={{page}}\n",
    "sourceComment": "在【搜索话题】点击右上角三点刷新分类或下拉刷新，会弹出输入框\n\n\n按以下格式在【分类URL】添加可加入分类，注意要换行\n\n话题名称::https://m.weibo.cn/api/container/getIndex?containerid=231522type%3D1%26t%3D10%26q%3D%23话题名称%23&isnewpage=1&luicode=10000011&lfid=100103type%3D1%26q%3D话题名称&page_type=searchall&page={{page}}",
    "sourceGroup": "阅读,R18",
    "sourceIcon": "https://is1-ssl.mzstatic.com/image/thumb/Purple221/v4/52/6a/04/526a04f7-ccfd-612e-64cb-ece08b01b4e6/WeiboAppIcon-0-0-1x_U007epad-0-1-0-0-85-220.png/492x0w.webp",
    "sourceName": " 📖\n微博话题",
    "sourceUrl": "https://m.weibo.cn#微博话题"
  },
  {
    "articleStyle": 1,
    "customOrder": -104,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\n  \"User-Agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36\"\n}",
    "injectJs": "var wrapElements = document.querySelectorAll('div.wrap');\nvar adWrapElements = document.getElementsByClassName('ad-wrap');\n\nfor (var i = 0; i < wrapElements.length; i++) {\n  var wrapElement = wrapElements[i];\n  wrapElement.parentNode.removeChild(wrapElement);\n}\n\nwhile (adWrapElements.length > 0) {\n  var adWrapElement = adWrapElements[0];\n  adWrapElement.parentNode.removeChild(adWrapElement);\n}\n\nlet aaaa = window.location.href;\n\nif(/\\/a\\/\\d+/.test(aaaa)){\n\twindow.location.href = window.location.href.replace(/a/,'detail')\n\t}\n\n\nif(/ttarticle/.test(aaaa)){\n\nfunction styleExtractedContent() {\n  \n  const originalContent = document.querySelector(\".main_editor\").innerHTML.replace(/style=\"opacity.*?\"|&nbsp;/g,'').replace(/<br>/g,'<br>&emsp;&emsp;');\n  document.body.innerHTML = '';\n  \n  const styledContainer = document.createElement('div');\n  styledContainer.className = 'styled-article';\n  \n  \n  styledContainer.innerHTML = originalContent;\n  \n  \n  \n  document.body.appendChild(styledContainer);\n  \n  \n  const style = document.createElement('style');\n  style.textContent = `\n    .styled-article {\n      max-width: 800px;\n      margin: 0 auto;\n      padding: 20px;\n      font-family: \"PingFang SC\", \"Hiragino Sans GB\", \"Microsoft YaHei\", sans-serif;\n      line-height: 1.8;\n      color: #333;\n      background: #fff;\n    }\n    \n    .styled-article .title {\n      font-size: 24px;\n      font-weight: bold;\n      margin-bottom: 20px;\n      color: #222;\n      text-align: center;\n      padding-bottom: 10px;\n      border-bottom: 1px solid #eee;\n    }\n    \n    .styled-article .authorinfo {\n      display: flex;\n      justify-content: space-between;\n      align-items: center;\n      margin-bottom: 20px;\n      padding-bottom: 15px;\n      border-bottom: 1px solid #f5f5f5;\n    }\n    \n    .styled-article .W_face_radius {\n      width: 40px;\n      height: 40px;\n      border-radius: 50%;\n      margin-right: 10px;\n      vertical-align: middle;\n    }\n    \n    .styled-article .author1 a {\n      font-size: 16px;\n      color: #333;\n      text-decoration: none;\n    }\n    \n    .styled-article .time {\n      color: #999;\n      font-size: 14px;\n    }\n    \n    .styled-article .preface_v2 {\n      font-style: italic;\n      color: #666;\n      margin-bottom: 25px;\n      padding: 15px;\n      background: #f9f9f9;\n      border-left: 3px solid #ddd;\n    }\n    \n    .styled-article *[node-type=\"contentBody\"] p {\n      margin-bottom: 25px;\n      text-align: justify;\n      font-size: 16px;\n      color: #222; \n      text-indent: 1.7em; \n    }\n    \n    .styled-article .artical_add_box {\n      margin-top: 40px;\n      padding: 20px;\n      background: #fafafa;\n      border-radius: 8px;\n    }\n    \n    .styled-article .btn_bed a {\n      display: inline-block;\n      padding: 8px 15px;\n      background: #ff8200;\n      color: white;\n      border-radius: 4px;\n      text-decoration: none;\n    }\n    \n    \n    @media (max-width: 600px) {\n      .styled-article {\n        padding: 15px;\n      }\n      \n      .styled-article .title {\n        font-size: 20px;\n      }\n      \n      .styled-article .WB_editor_iframe_new p {\n        font-size: 15px;\n      }\n    }\n  `;\n  \n  document.head.appendChild(style);\n}\n\n\nstyleExtractedContent();\n\n\n\t\n\t\n\t}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginUi": "[\n{\n    \t  name:\"☕️支持源作者\",\n    \t  type: \"button\",\n       action: \"toThank()\",\n       \"style\": {\n      \"layout_flexGrow\": 1,\n      \"layout_flexBasisPercent\": 0.4\n    }\n    \t},\n    \t{\n    \t  name:\"👤登  录\",\n    \t  type: \"button\",\n       action: \"toLogin()\",\n       \"style\": {\n      \"layout_flexGrow\": 1,\n      \"layout_flexBasisPercent\": 0.4\n    }\n    \t}\n]",
    "loginUrl": "function toThank(){\n\tjava.startBrowser(\"data:text/html;base64,PGltZyBzdHlsZT0id2lkdGg6MTAwJSIgc3JjPSJhYm91dDpibGFuayIgb25lcnJvcj0idGhpcy5zcmM9YXRvYignYUhSMGNITTZMeTluYVhSbFpTNWpiMjB2WjNWaGJtVnlNREF4TVRJMUwySnZiMnR6YjNWeVkyVXZjbUYzTDIxaGMzUmxjaThsUlRVbE9VSWxRa1VsUlRjbE9Ea2xPRGN2WjNWaGJtVnlMbmRsWW5BPScpIj4KCg==\",\"感谢你的支持\");\t\n\t}\nfunction toLogin(){\n\tjava.startBrowser(\"https://weibo.com\",\"登录\");\n\tjava.startBrowser(\"http://m.weibo.cn\",\"登录\")\n\t\n\t}",
    "ruleArticles": "$.data.cards[*].card_group[*].users[*]&&data.cards[*].card_group[*]&&data.cards[*]",
    "ruleContent": "@js:\nfunction formatTime(dateStr) {\n    const date = new Date(dateStr);\n    const year = date.getFullYear();\n    const month = date.getMonth() + 1; \n    const day = date.getDate();\n    const hours = date.getHours().toString().padStart(2, '0');\n    const minutes = date.getMinutes().toString().padStart(2, '0');\n    \n    return `${year}年${month}月${day}日 ${hours}:${minutes}`;\n}\nfunction formatCount(count) {\n  if (count < 10000) return count.toString();  \n  const inWan = (count / 10000).toFixed(2);\n  return inWan.endsWith('.00') \n    ? `${inWan.split('.')[0]}万` \n    : `${inWan}万`;\n}\n\nfunction getContent($) {\n    let galleryItems = \"\",videos=\"\";\n    let long_imgs = ($.pic_num??0)?($.pics??[]):[];\n    let long_video = $.page_info?.type===\"video\"?$.page_info:{};\n    \n    if(long_imgs.length){\n        galleryItems = long_imgs.map((img, i) => `\n        <div class=\"gallery-item\">\n            <img src=\"${img.url}\" data-original=\"${img?.large?.url}\" loading=\"lazy\">\n            <div class=\"zoom-icon\">🔍</div>\n        </div>`).join('');\n       galleryItems = `<div class=\"image-gallery\">${galleryItems}</div>`;\n    }\n    if(JSON.stringify(long_video)!==\"{}\"){\n        if(long_video.urls){\n        long_video = long_video.urls;\n        videos = long_video.hevc_mp4_hd || long_video.mp4_720p_mp4 || long_video.mp4_hd_mp4 || long_video.mp4_ld_mp4\n        }else{\n        long_video = long_video.media_info;\n        videos = long_video.stream_url_hd || long_video.stream_url\n        }\n        \n        videos = `<div class=\"media-container\"><video src=\"${videos}\" controls poster=\"${$.page_info.page_pic.url}\"></video></div>`\n    }\n     \n    return `\n      <div class=\"comment-item\">\n        <div class=\"comment-user\">\n          <img class=\"user-avatar\" src=\"${$?.user?.profile_image_url}\" onclick=\"window.open('https://m.weibo.cn/n/${$?.user?.screen_name}')\">\n          <div class=\"user-info\">\n            <span class=\"user-name\" onclick=\"window.open('https://m.weibo.cn/n/${$?.user?.screen_name}')\">${$?.user?.screen_name}</span>\n            <span class=\"comment-time\">${formatTime($.created_at)}</span>\n          </div>\n          <div class=\"like_counts\"><span>♡${formatCount($.attitudes_count)}</span></div>\n        </div>\n        <div class=\"comment-text\">${$.text.replace(/https?:\\/\\/m.weibo.cn\\/\\d+\\/(\\d+)/g,'https://m.weibo.cn/a/$1').replace(/'\\/n\\//g,\"'https://m.weibo.cn/n/\")}</div>\n        ${videos}\n        ${galleryItems}\n      </div>`;\n}\n\nlet id = baseUrl.match(/(\\d+)/)[1];\nlet b = baseUrl.replace(/weibo.com/,'m.weibo.cn');\nvar html = java.ajax(b);\n\ntry{\nvar render_data = html.match(/var \\$(render_data = \\[\\{[\\s\\S]+?\\|\\| \\{\\});/)[1];\neval(render_data);\nlet $ = render_data.status;\nlet longText = getContent($);\nlet retweeted_status = $.retweeted_status??\"\";\nif(retweeted_status){\n   retweeted_status = getContent(retweeted_status)\n}\n\nretweeted_status = retweeted_status ? \"<div class='retweeted_status'>\" + retweeted_status+\"</div>\":\"\";\nresult = longText + retweeted_status;\n}catch(e){\n\tjava.log(e);\n\tresult = html;\n\t\n\t}\nresult = `<a href=\"${b.replace(/detail/,'a')}\" class=\"original-link\">原文地址</a><div class=\"main-content\">${result}</div><div id=\"container\"></div>`;\n\nresult = `<!DOCTYPE html>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n   \n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>微博详情</title>\n    <link rel=\"stylesheet\" href=\"https://cdn.jsdelivr.net/npm/viewerjs@1.10.5/dist/viewer.min.css\">\n    <style>      \n       * { margin: 0; padding: 0; box-sizing: border-box; }\n        body { \n            font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif; \n            line-height: 1.6; color: #333; background-color: #f5f5f5; \n            padding: 15px; max-width: 750px; margin: 0 auto; \n        }\n        .original-link { \n            display: block; padding: 12px; background: #fff; border-radius: 8px; \n            margin-bottom: 10px; text-decoration: none; color: #1E88E5; \n            font-weight: 500; box-shadow: 0 1px 3px rgba(0,0,0,0.05); \n        }\n        .main-content { \n            background: #fff; padding: 15px; border-radius: 8px; \n            margin-bottom: 15px; box-shadow: 0 1px 3px rgba(0,0,0,0.05); \n        }\n        .divider { border: none; height: 1px; background-color: #eee; margin: 15px 0; }\n        .media-container { margin: 15px 0; border-radius: 8px; overflow: hidden; }\n        .media-container video { width: 100%; border-radius: 8px; }\n        .image-gallery { \n            display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; margin: 15px 0; \n            max-width:100%\n        }\n        .gallery-item { \n            aspect-ratio: 1; overflow: hidden; border-radius: 8px; \n            position: relative; cursor: pointer; \n        }\n        .gallery-item img { \n            width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s; \n        }\n        .gallery-item:hover img { transform: scale(1.05); }\n        .zoom-icon { \n            position: absolute; top: 5px; right: 5px; background: rgba(0,0,0,0.5); \n            color: white; width: 20px; height: 20px; border-radius: 50%; \n            display: flex; align-items: center; justify-content: center; \n            font-size: 12px; opacity: 0; transition: opacity 0.3s; \n        }\n        .retweeted_status{\n        background:#ECECEC;\n        padding:15px;\n        border-radius:8px;\n        }\n        .gallery-item:hover .zoom-icon { opacity: 1; }\n        .comments-section { \n            background: #fff; padding: 15px; border-radius: 8px; \n            box-shadow: 0 1px 3px rgba(0,0,0,0.05); \n        }\n        .comment-replies{\n            \tbackground:#efefef;\n            \tpadding:5px 5px 5px 20px;\n            \tmargin-left:42px;\n            \tborder-radius: 8px;\n            \tbox-shadow: 0 1px 3px rgba(0,0,0,0.05);\n            \t\n        \t}\n        \t\n.comments-header {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  margin-bottom:10px\n}\n\n.comments-title {\n  margin: 0;\n  font-size: 18px; \n  color: #333; \n}\n\n.sort-controls {\n  display: flex;\n  align-items: center;\n}\n\n.sort-btn {\n  padding: 4px 12px;\n  border: 1px solid #e0e0e0;\n  background: #f5f5f5;\n  border-radius: 15px;\n  font-size: 12px;\n  cursor: pointer;\n  margin-right: 8px; \n  transition: all 0.3s;\n}\n\n\n.sort-btn:last-child {\n  margin-right: 0;\n}\n\n.sort-btn.active {\n  background: #1d9bf0;\n  color: white;\n  border-color: #1d9bf0;\n}\n\n     \n        .comment-item { padding: 12px 0;  }\n           \n        .comment-user { display: flex; align-items: flex-start; margin-bottom: 8px; }\n        .user-avatar { \n            width: 32px; height: 32px; border-radius: 50%; \n            margin-right: 10px; object-fit: cover; \n        }\n        .user-info {\n    display: flex;\n    flex-direction: column;\n}\n        .user-name { \n        font-weight: 500; \n        font-size: 15px;\n        color:#1E88E5\n          }\n        .comment-text { \n            margin-left: 42px;\n            margin-bottom: 8px; font-size: 15px; line-height: 1.5; word-break: break-word; \n        }\n        .comment-time { font-size: 12px; color: #999; }\n        .comment-media { \n            margin-left:42px;\n            margin-bottom:10px;\n            margin-top:10px;\n            margin-right:8px;\n            position: relative; cursor: pointer; \n            border-radius: 6px; overflow: hidden;\n            max-width:100%\n        }\n        .comment-media details {\n            margin: 8px 0;\n            border-radius: 6px;\n            overflow: hidden;\n        }\n        .comment-media summary {\n            padding: 6px 12px;\n            background: #f5f5f5;\n            border-radius: 4px;\n            cursor: pointer;\n            list-style: none;\n            font-size: 14px;\n            color: #1E88E5;\n            transition: background 0.2s;\n        }\n        .comment-media summary:hover {\n            background: #e8f0fe;\n        }\n        .comment-media summary::-webkit-details-marker {\n            display: none;\n        }\n        .comment-media div {\n            margin-top: 8px;\n            position: relative;\n            cursor: pointer;\n        }\n        .comment-media img {\n            max-width: 100%;\n            border-radius: 4px;\n            display: block;\n        }\n.active {\n  pointer-events: none; \n}\n\n   .float-buttons {\n      position: fixed;\n      right: 20px;\n      bottom: 20px;\n      display: flex;\n      flex-direction: column;\n      gap: 10px;\n      z-index: 1001;\n    }\n    .reply-modal {\n  position: fixed;\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  background: rgba(0,0,0,0.5);\n  z-index: 1000;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n}\n.modal-content {\n  width: 80%;\n  max-width: 600px;\n  max-height: 80vh;\n  background: white;\n  border-radius: 8px;\n  overflow: hidden;\n  display: flex;\n  flex-direction: column;\n}\n.modal-header {\n  padding: 15px;\n  border-bottom: 1px solid #eee;\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n}\n.modal-body {\n  flex: 1;\n  overflow-y: auto;\n  padding: 15px;\n}\n.modal-footer {\n  padding: 10px;\n  text-align: center;\n}\n.loading-spinner {\n  display: none;\n  width: 20px;\n  height: 20px;\n  border: 3px solid rgba(0,0,0,0.1);\n  border-radius: 50%;\n  border-top-color: #1d9bf0;\n  animation: spin 1s linear infinite;\n  margin: 0 auto;\n}\n@keyframes spin {\n  to { transform: rotate(360deg); }\n}\n.reply-sort {\n  display: flex;\n  gap: 10px;\n  align-items: center;\n}\n.close-btn {\n  cursor: pointer;\n  font-size: 20px;\n}\n.like_counts{\ncolor:#999;\nfont-size:12px;\nmargin-left:auto;\npadding-right:8px\n}\n    .float-btn {\n      width: 25px;\n      height: 25px;\n      border-radius: 50%;\n      background: rgba(0, 0, 0, 0.5);\n      color: white;\n      border: none;\n      cursor: pointer;\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      font-size: 15px;\n      transition: all 0.3s ease;\n      box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);\n      -webkit-tap-highlight-color: transparent !important;\n  tap-highlight-color: transparent !importan;\n  outline: none !important;\n  -webkit-tap-highlight-color: transparent !important;\n    }\n   \n.float-btn:focus,\n.float-btn:focus-visible,\n.float-btn:active,\n.float-btn:-moz-focusring {\n  outline: none !important;\n  box-shadow: none !important;\n}\n.morerep{\ntext-align:right;\ncolor:#4590B5;\nfont-size:13px\n}\n    .float-btn:hover {\n      background: rgba(0, 0, 0, 0.7);\n      transform: scale(1.1);\n    }\n       .error-message{\n       \tbackground:#eee;\n        padding:15px;\n        font-size:18px;\n       \t}\n\n        .media-preview::before {\n            content: \"⬇️ \";\n        }\n        .comment-media[open] summary .media-preview::before {\n            content: \"⬆️ \";\n        }\n        .url-icon img { vertical-align: middle; margin: 0 1px;width:1em; height:1em}\n        .surl-text { color: #1E88E5; margin-right: 5px; }\n        @media (max-width: 500px) {\n            .image-gallery { grid-template-columns: repeat(2, 1fr); }\n            body { padding: 10px; }\n            .main-content, .comments-section { padding: 12px; }\n        }     \n         \n        .viewer-open {\n            overflow: hidden;\n            position: fixed;\n            width: 100%;\n        }\n    </style>\n    <script>\n    function formatTime(dateStr) {\n    const date = new Date(dateStr);\n    const year = date.getFullYear();\n    const month = date.getMonth() + 1;     const day = date.getDate();\n    const hours = date.getHours().toString().padStart(2, '0');\n    const minutes = date.getMinutes().toString().padStart(2, '0');\n    \n    return \\`\\${year}年\\${month}月\\${day}日 \\${hours}:\\${minutes}\\`;\n}\n\nfunction replaceurl(t){\nlet \ttext = String(t).replace(/href=(\\\\/n\\\\/[^\\\\s]+)/g,'href=\\\"https://m.weibo.cn$1\\\"').replace(/\\\\/\\\\/s.weibo.com\\\\/weibo\\\\?q=/g,\"https://m.weibo.cn/search?containerid=100103type%3D1%26q%3D\").replace(/https?:\\\\/\\\\/weibo.com\\\\/\\\\d+\\\\/(\\\\d+)/g,'https://m.weibo.cn/a/$1');\n\treturn text\n\t}\n\n   function getcomments(list, isReply = false) {\n  return list.map(item => {\n    let details = \"\";\n    if (item.pic_num !== 0) {\n     let pic_ids =  item.url_struct[0].pic_ids;      \n      const pic = item?.url_struct[0]?.pic_infos[pic_ids]?.large?.url.replace(/https?/,'https');\n      details = \\`\n        <details class=\"comment-media\">\n          <summary><span class=\"media-preview\">📷 查看图片</span></summary>\n          <div class=\"comment_pic\">\n            <img src=\"\\${pic}\" alt=\"评论图片\">\n          </div>\n        </details>\\`;\n    }\n    \n    let replies = \"\";\n    if (item.comments && item.comments.length > 0) {\n      replies = \\`\n        <div class=\"comment-replies\">\n          \\${getcomments(item.comments, true)}\n          \\${item.total_number > 1 ? \\`\n            <div class=\"morerep\" onclick=\"loadComments({id:'\\${item.id}',isReply:true})\">\n              共\\${item.total_number}条回复\n            </div>\\` : ''}\n        </div>\\`;\n    }\n    \n    return \\`\n      <div class=\"comment-item\">\n        <div class=\"comment-user\">\n          <img class=\"user-avatar\" src=\"\\${item.user.profile_image_url}\" onclick=\"window.open('https://m.weibo.cn/n/\\${item.user.screen_name}')\">\n          <div class=\"user-info\">\n            <span class=\"user-name\" onclick=\"window.open('https://m.weibo.cn/n/\\${item.user.screen_name}')\">\\${item.user.screen_name}</span>\n            <span class=\"comment-time\">\\${formatTime(item.created_at)}</span>\n          </div>\n          <div class=\"like_counts\"><span>♡\\${formatCount(item.like_counts)}</span></div>\n        </div>\n        <div class=\"comment-text\">\\${replaceurl(item.text).replace(/(<img.*?>)/g,'<span class=\"url-icon\">$1</span>')}</div>\n        \\${details}\n        \\${replies}\n      </div>\\`;\n  }).join('');\n}\n    </script>\n       \n</head>\n<body>\n    ${result}\n  <div class=\"float-buttons\">\n    <button class=\"float-btn\" id=\"toTop\" title=\"回到顶部\">↑</button>\n    <button class=\"float-btn\" id=\"toBottom\" title=\"回到底部\">↓</button>\n  </div>\n    <script src=\"https://cdn.jsdelivr.net/npm/viewerjs@1.10.5/dist/viewer.min.js\"></script>\n    <script>\n    // 全局变量\n     let MaxId = [];     \n     let repMaxId = [];      \n     let currentMaxId = null;\n     let repCurrentMaxId = null;\n     let isLoading = false;\n     let repLoading = false;\n     const weiboId = \"${id}\";\n     let sortType = 0;\n     let repSortType = 0;\n     \n     function formatCount(count) {\n  if (count < 10000) return count.toString();  \n  const inWan = (count / 10000).toFixed(2);\n  return inWan.endsWith('.00') \n    ? \\`\\${inWan.split('.')[0]}万\\` \n    : \\`\\${inWan}万\\`;\n}\n\n        //图片加载器\n        function initImageViewer() {\n        \tvar option = {\n        \t\t          url: 'data-original',\n        \t          \tmaxZoomRatio: 0.9,\n                    inline: false,\n                    movable: true,\n                    zoomable: true,\n                    \n                    toolbar: {\n                        zoomIn: 1,\n                        zoomOut: 1,\n                        oneToOne: 0,\n                        reset: 1,\n                        prev: 1,\n                        next: 1,\n                        rotateLeft: 0,\n                        rotateRight: 0,\n                        flipHorizontal: 0,\n                        flipVertical: 0\n                    }    \n                };                          \n            try {                       \n             new Viewer(document.querySelector('.image-gallery'),option);          \n  document.querySelectorAll('.comment-media').forEach(x=>{new Viewer(x,option)})                   \n            } catch (e) {\n                                 \n                }\n            \n        }\n        \n// 获取评论函数\nasync function loadComments(options = {}) {\n  const {\n    id = weiboId,\n    isReply = false,\n    isLoadMore = false,\n    targetElement = isReply ? '#reply-list' : '#container',\n    tElement = isReply ? '#reply-list .comments-list' : '.comments-list',\n    containerTemplate = null,\n    sort = isReply ? repSortType : sortType\n  } = options;\n\n  \n  const loadingFlag = isReply ? repLoading : isLoading;\n  if (loadingFlag) return;\n  isReply ? repLoading = true : isLoading = true;\n\n  \n  let url;\n  if (isReply) {\n    url = \\`https://weibo.com/ajax/statuses/buildComments?flow=\\${sort}&is_reload=1&id=\\${id}&is_show_bulletin=2&is_mix=1&fetch_level=1&max_id=\\${isLoadMore ? repCurrentMaxId : 0}&count=20&locale=zh-CN\\`\n  } else {\n   url =\\`https://weibo.com/ajax/statuses/buildComments?flow=\\${sort}&is_reload=1&id=\\${id}&is_show_bulletin=2&is_mix=0&count=20&fetch_level=0&locale=zh-CN\\`;\n  \n  \n    //url = \\`https://m.weibo.cn/comments/hotflow?id=\\${id}&mid=\\${id}&max_id_type=\\${sort}\\`;\n    if (isLoadMore && currentMaxId) {\n      url += \\`&max_id=\\${currentMaxId}\\`;\n    }\n  }\n\n  try {\n    const response = await fetch(url, {\n      headers: {\n        'Accept': 'application/json',\n        'X-Requested-With': 'XMLHttpRequest'\n      },\n      credentials: 'include'\n    });\n\n    const data = await response.json();\n    \n    \n    if (data.ok === -100) {\n      if (/error-message/.test(document.querySelector(targetElement).innerHTML)) {\n        throw new Error(\"需要登录\");\n      }\n      document.querySelector(targetElement).innerHTML += \\`\n        <div class=\"error-message\">\n          评论加载失败:请<a href=\"\\${data.url}\">访问首页或登录</a>后重试\n        </div>\n      \\`;\n      throw new Error(\"需登录\");\n    }\n\n    \n    const currentIdArray = isReply ? repMaxId : MaxId;\n    const newMaxId = data.max_id;\n    \n    if (currentIdArray.includes(newMaxId)) {\n      throw new Error(\"没有更多内容了\");\n    }\n    \n    if (isReply) {\n      repCurrentMaxId = newMaxId;\n      repMaxId.push(newMaxId);\n    } else {\n      currentMaxId = newMaxId;\n      MaxId.push(newMaxId);\n    }\n    \n    \n    const commentsData = data.data;\n        \n    if (isReply && !isLoadMore && !document.querySelector('.reply-modal')) {\n      initReplyModal(id);\n    }\n\n    if (isLoadMore) {\n      document.querySelector(tElement).innerHTML += getcomments(commentsData, isReply);\n    } else {\n      if (data.ok === 0) throw new Error(\"没有内容\");\n        \n      \n      let content = \\`<div class=\"comments-header\">\n            <div class=\"comments-title\"><h3>评论（\\${formatCount(data.total_number)}）</h3></div>\n            <div class=\"sort-controls\">\n              <button id=\"sortHot\" class=\"sort-btn \\${sortType===0?'active':''}\" \n                onclick=\"loadComments({sort:0})\">热度</button>\n              <button id=\"sortTime\" class=\"sort-btn \\${sortType===1?'active':''}\" \n                onclick=\"loadComments({sort:1})\">时间</button>\n            </div>\n          </div>\\`;\n            \n      const html =  \\`\n        <div class=\"comments-section\">\n           \\${isReply?\"\":content}        \n          <div class=\"comments-list\">\\${getcomments(commentsData)}</div>\n        </div>\n      \\`;\n      document.querySelector(targetElement).innerHTML = html;\n    }\n\n\n  } catch (error) {\n    if (isLoadMore) {\n      showToast(/没有更多/.test(error.message)?error.message:\"评论加载失败\")\n    } else if (!/没有内容|登录/.test(error.message)) {\n      document.querySelector(targetElement).innerHTML = \\`\n        <div class=\"error-message\">\n          评论加载失败: \\${error.message}\n          <button onclick=\"loadComments(\\${JSON.stringify(options)})\">重试</button>\n        </div>\n      \\`;\n    }\n  } finally {\n    isReply ? repLoading = false : isLoading = false;\n  }\n}\n\n\nfunction initReplyModal(id) {\n  const modal = document.createElement('div');\n  modal.className = 'reply-modal';\n  modal.dataset.commentId = id;\n  modal.innerHTML = \\`\n    <div class=\"modal-content\">\n      <div class=\"modal-header\">\n        <h4>回复列表</h4>\n        <div class=\"reply-sort\">\n          <button class=\"sort-btn \\${repSortType===0?'active':''}\" \n            onclick=\"loadComments({id:'\\${id}',isReply:true,sort:0});repSortType=0\" data-sort-type=0>热度</button>\n          <button class=\"sort-btn \\${repSortType===1?'active':''}\" \n            onclick=\"loadComments({id:'\\${id}',isReply:true,sort:1});repSortType=1\" data-sort-type=1>时间</button>\n          <span class=\"close-btn\" onclick=\"this.closest('.reply-modal').remove();repMaxId=[];repSortType=0;repCurrentMaxId=null\">×</span>\n        </div>\n      </div>\n      <div class=\"modal-body\" id=\"reply-list\"></div>\n    </div>\n  \\`;\n  document.body.appendChild(modal);\n  modal.addEventListener('click', function(e) {\n  \n  if (e.target === modal) {\n    modal.remove();\n    repMaxId = [];\n    repSortType = 0;\n    repCurrentMaxId = null;\n  }\n});\n\n  \n  const replyList = document.querySelector(\"#reply-list\");\nif (replyList) {\n  replyList.addEventListener('scroll', () => {\n    if (replyList.scrollTop + replyList.clientHeight >= replyList.scrollHeight - 15) {\n      loadComments({id:id,isLoadMore: true, isReply: true }); \n    }\n  });\n}\n  \n}\n\n\nfunction showToast(message) {\n  const toast = document.createElement('div');\n  toast.textContent = message;\n  toast.style.position = 'fixed';\n  toast.style.bottom = '50px';\n  toast.style.left = '50%';\n  toast.style.transform = 'translateX(-50%)';\n  toast.style.backgroundColor = 'rgba(0,0,0,0.7)';\n  toast.style.color = 'white';\n  toast.style.padding = '5px 5px';\n  toast.style.borderRadius = '5px';\n  toast.style.zIndex = '1000';\n  \n  document.body.appendChild(toast);\n  setTimeout(() => {\n    document.body.removeChild(toast);\n  }, 1000);\n}\n\ndocument.getElementById('toTop').addEventListener('click', function() {\n      if(document.querySelector(\"#reply-list\")){\n      document.querySelector(\"#reply-list\").scrollTo({\n        top: 0,\n        behavior: 'smooth'\n      });\n      }else{\n      window.scrollTo({\n        top: 0,\n        behavior: 'smooth'\n      });\n      }\n      \n    });\n    \n    document.getElementById('toBottom').addEventListener('click', function() {\n    if(document.querySelector(\"#reply-list\")){\n      document.querySelector(\"#reply-list\").scrollTo({\n        top: document.querySelector(\"#reply-list\").scrollHeight,\n        behavior: 'smooth'\n      });\n      }else{\n      window.scrollTo({\n        top: document.body.scrollHeight,\n        behavior: 'smooth'\n      });\n      }\n    });\n    \n    \n    window.addEventListener('scroll', function() {\n      const toTopBtn = document.getElementById('toTop');\n      const toBottomBtn = document.getElementById('toBottom');\n      const scrollPosition = window.scrollY;\n      \n      \n      if (scrollPosition === 0) {\n        toTopBtn.style.opacity = '0.5';\n        toTopBtn.style.pointerEvents = 'none';\n      } else {\n        toTopBtn.style.opacity = '1';\n        toTopBtn.style.pointerEvents = 'auto';\n      }\n      \n      \n      if (window.innerHeight + scrollPosition >= document.body.scrollHeight - 50) {\n        toBottomBtn.style.opacity = '0.5';\n        toBottomBtn.style.pointerEvents = 'none';\n      } else {\n        toBottomBtn.style.opacity = '1';\n        toBottomBtn.style.pointerEvents = 'auto';\n      }\n    });\n\n\n\n\n\n\ndocument.addEventListener('DOMContentLoaded', () => {\n  \n  document.addEventListener('click', (e) => {\n    \n    if (e.target.id === 'sortHot') {\n      if (sortType !== 0) {\n        sortType = 0;\n        e.target.classList.add('active');\n        document.getElementById('sortTime').classList.remove('active');\n        currentMaxId = null;\n        MaxId = [];\n        loadComments({sort:0}); \n      }\n    }\n    \n    if (e.target.id === 'sortTime') {\n      if (sortType !== 1) {\n        sortType = 1;\n        e.target.classList.add('active');\n        document.getElementById('sortHot').classList.remove('active');\n        currentMaxId = null;\n        MaxId = [];\n        loadComments({sort:1}); \n      }\n    }\n\n    \n    if (e.target.classList.contains('sort-btn')) {\n      const modal = e.target.closest('.reply-modal');\n      if (modal) {\n        const id = modal.dataset.commentId;\n        repSortType = parseInt(e.target.dataset.sortType);\n        \n        document.querySelectorAll('.reply-modal .sort-btn').forEach(btn => {\n          btn.classList.toggle('active', parseInt(btn.dataset.sortType) === repSortType);\n        });\n        repCurrentMaxId = null;\n        repMaxId = [];\n      }\n    }\n  });\n  \n  \n  loadComments();\n  \n  \n  window.addEventListener('scroll', () => {\n    if ((window.innerHeight + window.scrollY) >= document.body.offsetHeight - 50) {\n      loadComments({ isLoadMore: true });\n    }\n  });\n  \n  function findScrollingElement() {\n  const elements = document.querySelectorAll('*');\n  for (const el of elements) {\n    if (el.scrollHeight > el.clientHeight && el.scrollTop > 0) {\n      return el;\n    }\n  }\n  return document.documentElement; \n}\n  initImageViewer();\n});\n     \n    </script>\n</body>\n</html>`;\nresult;",
    "ruleDescription": "$.idstr||$.user.id||$.scheme\n@js:\nif (!/containerid/.test(result)&&/^\\d+$/.test(result)) {\n  var userInfo = `\n    <div class=\"user-card\">\n      <img src=\"{{$..avatar_hd}}\" class=\"user-avatar\">\n      <div class=\"user-info\">\n        <h3 class=\"username\">{{$.screen_name||$.user.screen_name}}</h3>\n        <p class=\"user-desc\">${java.getString(\"$.description&&$.followers_count_str\")}${java.getString(\"$.desc2&&$.desc1\")}</p>\n      </div>\n    </div>\n  `;\n  \n  var textContent = `\n    <div class=\"copy-section\">\n      <div class=\"copy-content\" id=\"copyContent\">{{$.screen_name||$.user.screen_name}}::data:page=1;base64,{\\{java.base64Encode(\"https://m.weibo.cn/api/container/getIndex?containerid=107603${result}_-_WEIBO_SECOND_PROFILE_WEIBO&luicode=10000011&lfid=107603${result}_-_WEIBO_SECOND_PROFILE_WEIBO&page_type=03&page=1\")}},{\"type\":\"\"}\n      </div>\n      <button class=\"copy-btn\" onclick=\"handleCopy()\">\n        <span class=\"copy-icon\">⎘</span>\n        <span class=\"copy-text\">一键复制够粘贴至【微博博主】分类URL</span>\n      </button>\n      <div class=\"copy-feedback\" id=\"copyFeedback\"></div>\n    </div>\n  `;\n  \n  var copyScript = `\n    <script>\n      function handleCopy() {\n        const content = document.getElementById('copyContent');\n        const feedback = document.getElementById('copyFeedback');\n        \n        // 创建范围并选择文本\n        const range = document.createRange();\n        range.selectNode(content);\n        window.getSelection().removeAllRanges();\n        window.getSelection().addRange(range);\n        \n        try {\n          // 执行复制命令\n          const successful = document.execCommand('copy');\n          if(successful) {\n            feedback.textContent = '复制成功！';\n            feedback.style.color = '#4CAF50';\n          } else {\n            feedback.textContent = '复制失败，请手动选择文本';\n            feedback.style.color = '#F44336';\n          }\n        } catch(err) {\n          feedback.textContent = '复制错误: ' + err;\n          feedback.style.color = '#F44336';\n        }\n        \n        // 清除选择\n        window.getSelection().removeAllRanges();\n        \n        // 3秒后隐藏反馈\n        setTimeout(() => {\n          feedback.textContent = '';\n        }, 3000);\n      }\n    </script>\n  `;\n  \n  var styles = `\n    <style>\n      .user-card {\n        display: flex;\n        align-items: center;\n        padding: 15px;\n        background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);\n        border-radius: 10px;\n        margin-bottom: 20px;\n        box-shadow: 0 2px 10px rgba(0,0,0,0.1);\n      }\n      \n      .user-avatar {\n        width: 60px;\n        height: 60px;\n        border-radius: 50%;\n        object-fit: cover;\n        border: 3px solid white;\n        box-shadow: 0 2px 5px rgba(0,0,0,0.1);\n      }\n      \n      .user-info {\n        margin-left: 15px;\n      }\n      \n      .username {\n        margin: 0;\n        color: #333;\n        font-size: 18px;\n        font-weight: 600;\n      }\n      \n      .user-desc {\n        margin: 5px 0 0;\n        color: #666;\n        font-size: 14px;\n      }\n      \n      .copy-section {\n        padding: 20px;\n        background: white;\n        border-radius: 10px;\n        box-shadow: 0 2px 10px rgba(0,0,0,0.05);\n        margin-bottom: 20px;\n      }\n      \n      .section-title {\n        margin: 0 0 15px;\n        color: #555;\n        font-size: 15px;\n      }\n      \n      .copy-content {\n        padding: 15px;\n        background: #f8f9fa;\n        border-radius: 8px;\n        border: 1px solid #eee;\n        font-family: 'Courier New', monospace;\n        font-size: 14px;\n        line-height: 1.5;\n        word-break: break-all;\n        white-space: pre-wrap;\n        margin-bottom: 15px;\n      }\n      \n      .copy-btn {\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        padding: 10px 20px;\n        background: linear-gradient(135deg, #4b6cb7 0%, #182848 100%);\n        color: white;\n        border: none;\n        border-radius: 6px;\n        font-size: 15px;\n        cursor: pointer;\n        transition: all 0.3s;\n        width: 100%;\n      }\n      \n      .copy-btn:hover {\n        transform: translateY(-2px);\n        box-shadow: 0 4px 8px rgba(0,0,0,0.1);\n      }\n      \n      .copy-icon {\n        font-size: 18px;\n        margin-right: 8px;\n      }\n      \n      .copy-feedback {\n        height: 20px;\n        margin-top: 10px;\n        text-align: center;\n        font-size: 14px;\n        transition: all 0.3s;\n      }\n      \n      @media (max-width: 600px) {\n        .user-card {\n          flex-direction: column;\n          text-align: center;\n        }\n        \n        .user-info {\n          margin-left: 0;\n          margin-top: 10px;\n        }\n        \n        .copy-content {\n          font-size: 13px;\n          padding: 12px;\n        }\n      }\n    </style>\n  `;\n  \n  result = styles + userInfo + textContent + copyScript;\n}else if(/containerid/.test(result)){\n\tlet id = result.match(/containerid=(.*)/)[1];\n\tlet f = /%/.test(id);\n\tlet pic = java.getString(\"$.pic||$.left_tag_img\");\n\tlet title_sub = String(java.getString(\"$.title_sub||$.title||$.desc\"));\n\ttitle_sub = f?title_sub.replace(/^#|#$/g,''):title_sub;\n\tlet url = f?`https://m.weibo.cn/api/container/getIndex?containerid=231522type%3D1%26t%3D10%26q%3D%23${title_sub}%23&isnewpage=1&luicode=10000011&lfid=100103type%3D1%26q%3D${title_sub}&page_type=searchall&page={\\{page}}`:`data:page=1;base64,{\\{java.base64Encode(\"https://m.weibo.cn/api/container/getIndex?containerid=${id}_-_feed&page=1\")}},{\"type\":\"\"}`;\n\t\n\tlet desc1 = java.getString(\"$.desc1\");\n\tlet intro = java.getString(\"$.desc2||$.desc_extr||$.desc\");\n\tlet copytext = `${title_sub}::${url}`;\n\tresult = `<div class=\"container\">\n  <div class=\"content-row\">\n    <!-- 左侧图片 (固定80px) -->\n    <div class=\"image-box\">\n      <img src=\"${pic}\" class=\"fixed-image\" alt=\"${title_sub}\">\n    </div>\n    \n    <!-- 右侧文字区域 -->\n    <div class=\"text-box\">\n      <div class=\"intro-line\">${intro}</div>\n      <div class=\"desc-scroll-box\">\n        <div class=\"desc-line\">${desc1}</div>\n      </div>\n    </div>\n  </div>\n  \n  <!-- 底部复制区域 -->\n  <div class=\"copy-area\">\n    <div class=\"copy-text\" id=\"copyContent\">${copytext}</div>\n    <button class=\"copy-button\" onclick=\"handleCopy()\">\n      <span class=\"icon\">⎘</span>\n      <span>一键复制链接后粘贴至【微博${f?\"话题\":\"超话\"}】分类URL</span>\n    </button>\n    <div class=\"copy-message\" id=\"copyFeedback\"></div>\n  </div>\n</div>\n\n<style>\n  .container {\n    max-width: 800px;\n    margin: 0 auto;\n    padding: 12px;\n    font-family: system-ui, sans-serif;\n  }\n  \n  /* 严格的左图右文布局 (不用gap) */\n  .content-row {\n    display: flex;\n    align-items: flex-start;\n    margin-bottom: 16px;\n  }\n  \n  /* 严格限制图片80px */\n  .image-box {\n    width: 80px;\n    height: 80px;\n    margin-right: 12px; /* 替代gap */\n  }\n  \n  .fixed-image {\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n    border-radius: 4px;\n  }\n  \n  /* 右侧文字区域 */\n  .text-box {\n    flex: 1;\n    min-width: 0; /* 防止内容溢出 */\n  }\n  \n  .intro-line {\n    font-size: 15px;\n    line-height: 1.4;\n    color: #333;\n    margin-bottom: 6px;\n  }\n  \n  /* desc1可滚动区域 */\n  .desc-scroll-box {\n    height: 60px; /* 固定高度 */\n    overflow-y: auto; /* 垂直滚动 */\n    padding-right: 5px;\n    border: 1px solid #eee;\n    border-radius: 3px;\n  }\n  \n  .desc-line {\n    font-size: 13px;\n    line-height: 1.4;\n    color: #666;\n    padding: 4px;\n    white-space: pre-wrap; /* 保留换行 */\n  }\n  \n  /* 滚动条样式 */\n  .desc-scroll-box::-webkit-scrollbar {\n    width: 4px;\n  }\n  \n  .desc-scroll-box::-webkit-scrollbar-thumb {\n    background: #ccc;\n    border-radius: 2px;\n  }\n  \n  /* 复制区域样式 */\n  .copy-area {\n    padding: 12px;\n    background: #f5f5f5;\n    border-radius: 6px;\n  }\n  \n  .copy-text {\n    padding: 10px;\n    background: white;\n    border: 1px solid #e0e0e0;\n    border-radius: 4px;\n    font-family: monospace;\n    font-size: 13px;\n    word-break: break-all;\n    margin-bottom: 10px;\n  }\n  \n  .copy-button {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    padding: 8px;\n    background: #2196F3;\n    color: white;\n    border: none;\n    border-radius: 4px;\n    font-size: 14px;\n    cursor: pointer;\n    width: 100%;\n  }\n  \n  .copy-button:hover {\n    background: #0d8bf2;\n  }\n  \n  .icon {\n    margin-right: 5px;\n  }\n  \n  .copy-message {\n    height: 16px;\n    margin-top: 6px;\n    font-size: 12px;\n    text-align: center;\n  }\n</style>\n\n<script>\n  function handleCopy() {\n    const content = document.getElementById('copyContent');\n    const feedback = document.getElementById('copyFeedback');\n    \n    const range = document.createRange();\n    range.selectNode(content);\n    window.getSelection().removeAllRanges();\n    window.getSelection().addRange(range);\n    \n    try {\n      const successful = document.execCommand('copy');\n      feedback.textContent = successful ? '复制成功' : '请手动选择复制';\n      feedback.style.color = successful ? '#4CAF50' : '#F44336';\n    } catch(err) {\n      feedback.textContent = '复制失败';\n      feedback.style.color = '#F44336';\n    }\n    \n    window.getSelection().removeAllRanges();\n    setTimeout(() => feedback.textContent = '', 1500);\n  }\n</script>\n`\n\t}else{\n\t\tresult = \"\"\n\t\t}",
    "ruleImage": "{{$.pic_middle||$..bmiddle_pic||$..bmiddle.url||$..page_pic.url||$.mblog.page_info.page_pic.url||$.mblog.user.avatar_hd||$.avatar_hd||$.user.avatar_hd||$..avatar_hd||$.left_tag_img||$.pic##.*\\n+}},{\"headers\":{\"referer\":\"https://m.weibo.cn\"}}\n<js>##thumbnail##bmiddle</js>",
    "ruleLink": "$.mblog.id||$.idstr||$.user.id||$.scheme@js:\"https://weibo.com/detail/\"+result",
    "ruleNextPage": "page",
    "rulePubDate": "$.mblog.created_at&&$.description&&$.desc_extr&&$.desc1&&$.desc2&&$.desc\n@js:\nif(/\\+0800/.test(result)){\ndate=new Date(result);\ntime=date.getTime();\nfunction formatDate2(inputTime) {\n    var date = new Date(inputTime);\n    var y = date.getFullYear();\n    var m = date.getMonth() + 1;\n    m = m < 10 ? ('0' + m) : m;\n    var d = date.getDate();\n    d = d < 10 ? ('0' + d) : d;\n    return y +'-' + m + '-' + d;\n};\n\nfunction formatDate(now) {\n    var time = formatDate2(now)\n    var date1 = new Date(now)\n    var date2 = new Date()\n    var date3 = date2.getTime() - date1.getTime()\n    var days = Math.floor(date3 / (24 * 3600 * 1000))\n    var leave1 = date3 % (24 * 3600 * 1000) \n    var hours = Math.floor(leave1 / (3600 * 1000))\n    var leave2 = leave1 % (3600 * 1000)\n    var minutes = Math.floor(leave2 / (60 * 1000))\n    var leave3 = leave2 % (60 * 1000)\n    if (days < 1 && hours < 1) { return minutes + \"分前\" } else if (days < 1) { return hours + \"小时 \" + minutes + \"分前\" } else {\n        if (days < 7) {\n            return days + \"天 \" + hours + \"小时前 \"\n        } else { return time }\n    }\n}\nfunction formatCount(count) {\n  if (count < 10000) return count.toString();\n  const inWan = (count / 10000).toFixed(2);\n  return inWan.endsWith('.00') \n    ? `${inWan.split('.')[0]}万` \n    : `${inWan}万`;\n}\n\nresult = '📅 '+formatDate(time)+\"  📝\"+formatCount(java.getString(\"$.mblog.comments_count\"))+\"  ❤️\"+formatCount(java.getString(\"$.mblog.attitudes_count\"))+\"      @\"+java.getString(\"$.mblog.user.screen_name\");\n}else{result=result}",
    "ruleTitle": "$.mblog.text||$.title_sub||$.title||$.screen_name||$.user.screen_name||$.desc##<.*?>|^筛选|更多热门.{2,4}$|",
    "singleUrl": false,
    "sortUrl": "综合::https://m.weibo.cn/api/container/getIndex?containerid=100103type%3D1%26q%3D{{svg=String(java.base64Encode(`<svg width=\"1190\" height=\"300\" xmlns=\"http://www.w3.org/2000/svg\"><rect width=\"100%\" height=\"100%\" fill=\"#ffffff\"/><text x=\"200\" y=\"100\" font-family=\"Arial, sans-serif\" font-size=\"70\" fill=\"#333\" font-weight=\"bold\">输入要搜索的内容</text></svg>`));if(page==1){let a=\"\";try{a=java.getVerificationCode('data:image/svg+xml;base64,'+svg);}catch(e){java.log(e)};if(a==\"\"){a=source.getVariable()}source.setVariable(a);a}else{source.getVariable()};}}&page_type=searchall&page={{page}}\n关注::https://m.weibo.cn/api/container/getIndex?containerid=100103type%3D62%26q%3D{{source.getVariable()}}%26t%3D&page_type=searchall&page={{page}}\n热门::https://m.weibo.cn/api/container/getIndex?containerid=100103type%3D60%26q%3D{{source.getVariable()}}%26t%3D&page_type=searchall&page={{page}}\n实时::https://m.weibo.cn/api/container/getIndex?containerid=100103type%3D61%26q%3D{{source.getVariable()}}t%3D&page_type=searchall&page={{page}}\n\n用户::https://m.weibo.cn/api/container/getIndex?containerid=100103type%3D3%26q%3D{{source.getVariable()}}%26t%3D&page_type=searchall&page={{page}}\n\n视频::https://m.weibo.cn/api/container/getIndex?containerid=100103type%3D64%26q%3D{{source.getVariable()}}%26t%3D&page_type=searchall&page={{page}}\n\n图片::https://m.weibo.cn/api/container/getIndex?containerid=100103type%3D63%26q%3D{{source.getVariable()}}%26t%3D&page_type=searchall&page={{page}}\n\n\n话题::https://m.weibo.cn/api/container/getIndex?containerid=100103type%3D38%26q%3D{{source.getVariable()}}%26t%3D&page_type=searchall&page={{page}}\n超话::https://m.weibo.cn/api/container/getIndex?containerid=100103type%3D98%26q%3D{{source.getVariable()}}%26t%3D&page_type=searchall&page={{page}}",
    "sourceComment": "需登录\n综合页刷新或者源变量设置都可以改成搜索关键词",
    "sourceGroup": "阅读,R18",
    "sourceIcon": "https://is1-ssl.mzstatic.com/image/thumb/Purple221/v4/52/6a/04/526a04f7-ccfd-612e-64cb-ece08b01b4e6/WeiboAppIcon-0-0-1x_U007epad-0-1-0-0-85-220.png/492x0w.webp",
    "sourceName": " 📖\n微博搜索",
    "sourceUrl": "https://m.weibo.cn#微博搜索"
  },
  {
    "articleStyle": 0,
    "customOrder": -103,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\n  \"User-Agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36\"\n}",
    "injectJs": "var wrapElements = document.querySelectorAll('div.wrap');\nvar adWrapElements = document.getElementsByClassName('ad-wrap');\n\nfor (var i = 0; i < wrapElements.length; i++) {\n  var wrapElement = wrapElements[i];\n  wrapElement.parentNode.removeChild(wrapElement);\n}\n\nwhile (adWrapElements.length > 0) {\n  var adWrapElement = adWrapElements[0];\n  adWrapElement.parentNode.removeChild(adWrapElement);\n}\n\nlet aaaa = window.location.href;\n\nif(/\\/a\\/\\d+/.test(aaaa)){\n\twindow.location.href = window.location.href.replace(/a/,'detail')\n\t}\n\n\nif(/ttarticle/.test(aaaa)){\n\nfunction styleExtractedContent() {\n  \n  const originalContent = document.querySelector(\".main_editor\").innerHTML.replace(/style=\"opacity.*?\"|&nbsp;/g,'').replace(/<br>/g,'<br>&emsp;&emsp;');\n  document.body.innerHTML = '';\n  \n  const styledContainer = document.createElement('div');\n  styledContainer.className = 'styled-article';\n  \n  \n  styledContainer.innerHTML = originalContent;\n  \n  \n  \n  document.body.appendChild(styledContainer);\n  \n  \n  const style = document.createElement('style');\n  style.textContent = `\n    .styled-article {\n      max-width: 800px;\n      margin: 0 auto;\n      padding: 20px;\n      font-family: \"PingFang SC\", \"Hiragino Sans GB\", \"Microsoft YaHei\", sans-serif;\n      line-height: 1.8;\n      color: #333;\n      background: #fff;\n    }\n    \n    .styled-article .title {\n      font-size: 24px;\n      font-weight: bold;\n      margin-bottom: 20px;\n      color: #222;\n      text-align: center;\n      padding-bottom: 10px;\n      border-bottom: 1px solid #eee;\n    }\n    \n    .styled-article .authorinfo {\n      display: flex;\n      justify-content: space-between;\n      align-items: center;\n      margin-bottom: 20px;\n      padding-bottom: 15px;\n      border-bottom: 1px solid #f5f5f5;\n    }\n    \n    .styled-article .W_face_radius {\n      width: 40px;\n      height: 40px;\n      border-radius: 50%;\n      margin-right: 10px;\n      vertical-align: middle;\n    }\n    \n    .styled-article .author1 a {\n      font-size: 16px;\n      color: #333;\n      text-decoration: none;\n    }\n    \n    .styled-article .time {\n      color: #999;\n      font-size: 14px;\n    }\n    \n    .styled-article .preface_v2 {\n      font-style: italic;\n      color: #666;\n      margin-bottom: 25px;\n      padding: 15px;\n      background: #f9f9f9;\n      border-left: 3px solid #ddd;\n    }\n    \n    .styled-article *[node-type=\"contentBody\"] p {\n      margin-bottom: 25px;\n      text-align: justify;\n      font-size: 16px;\n      color: #222; \n      text-indent: 1.7em; \n    }\n    \n    .styled-article .artical_add_box {\n      margin-top: 40px;\n      padding: 20px;\n      background: #fafafa;\n      border-radius: 8px;\n    }\n    \n    .styled-article .btn_bed a {\n      display: inline-block;\n      padding: 8px 15px;\n      background: #ff8200;\n      color: white;\n      border-radius: 4px;\n      text-decoration: none;\n    }\n    \n    \n    @media (max-width: 600px) {\n      .styled-article {\n        padding: 15px;\n      }\n      \n      .styled-article .title {\n        font-size: 20px;\n      }\n      \n      .styled-article .WB_editor_iframe_new p {\n        font-size: 15px;\n      }\n    }\n  `;\n  \n  document.head.appendChild(style);\n}\n\n\nstyleExtractedContent();\n\n\n\t\n\t\n\t}",
    "jsLib": "function getHeaderMap(_){\n\t  const { source,java } = _ || this;\n    let infomap = String(source.getLoginHeader()).replace(/^#/,'');\n    infomap = (infomap!=\"null\"&&infomap!=\"\"&&infomap!=null)?infomap:\"{}\";\n    return JSON.parse(infomap);\n\t}\n\nfunction setHeaders(){\n   \tconst { source,java } = this;\n   \tlet map = getHeaderMap(this);\n   \tfor(let i=0;i<arguments.length;i++){\n   \t\tlet k =arguments[i].split(\"=\")[0];\n   \t\tlet v =arguments[i].split(\"=\")[1];\n   \t\tmap[k] = v;\n   \t\t}\n  source.putLoginHeader(\"#\"+JSON.stringify(map))\n\t}\n\t\nfunction Map(e,that) { \n\t  const { source } = that || this;\n   return getHeaderMap(that||this)[e]??\"\"\n}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginUi": "[\n{\n    \t  name:\"☕️支持源作者\",\n    \t  type: \"button\",\n       action: \"toThank()\",\n       \"style\": {\n      \"layout_flexGrow\": 1,\n      \"layout_flexBasisPercent\": 0.4\n    }\n    \t},\n    \t{\n    \t  name:\"👤登  录\",\n    \t  type: \"button\",\n       action: \"toLogin()\",\n       \"style\": {\n      \"layout_flexGrow\": 1,\n      \"layout_flexBasisPercent\": 0.4\n    }\n    \t}\n]",
    "loginUrl": "function toThank(){\n\tjava.startBrowser(\"data:text/html;base64,PGltZyBzdHlsZT0id2lkdGg6MTAwJSIgc3JjPSJhYm91dDpibGFuayIgb25lcnJvcj0idGhpcy5zcmM9YXRvYignYUhSMGNITTZMeTluYVhSbFpTNWpiMjB2WjNWaGJtVnlNREF4TVRJMUwySnZiMnR6YjNWeVkyVXZjbUYzTDIxaGMzUmxjaThsUlRVbE9VSWxRa1VsUlRjbE9Ea2xPRGN2WjNWaGJtVnlMbmRsWW5BPScpIj4KCg==\",\"感谢你的支持\");\t\n\t}\nfunction toLogin(){\n\tjava.startBrowser(\"https://weibo.com\",\"登录\");\n\tjava.startBrowser(\"http://m.weibo.cn\",\"登录\")\n\t\n\t}",
    "ruleArticles": "<js>\njava.put(\"src\",result);\nlet search = String(source.getVariable());\nlet f = /page_type=searchall/.test(baseUrl);\nlet baseUrl = String(f?baseUrl:java.hexDecodeToString(result));\npage = baseUrl.match(/page=([^;]+)/)?.[1];\nid = baseUrl.match(/containerid=([^_]+)/)?.[1];\ncontainerid =Map(id);\nif(!/feed/.test(containerid)&&containerid!==\"\"){\t\n\tbaseUrl = `https://m.weibo.cn/api/container/getIndex?containerid=${containerid}&since_id=${page==1?\"\":page}`;\n\t}\n\nif(search!==\"\"&search!==\"null\"&&!f&&/feed/.test(containerid||\"feed\")){\n\tif(page==1)java.toast(\"搜索中\");\n\turl = `https://m.weibo.cn/api/container/getIndex?extparam=%7B%22topicid%22%3A%221022%3A${id}%22%2C%22pagetype%22%3A%22index%22%7D&container_ext=type%3A532%7Cdisable_history%3A1%7Ccache_need%3A0%7Cforce_ejecttype%3Apresent&containerid=100303type%3D532%26q%3D${search}%26t%3D0&page=${page}&count=10&new_topic_header_recommend=1&new_topic_header=1&page_type=searchall`;\n\tresult = java.ajax(url)\n\t}else if(!f){\n\t\tresult = java.ajax(baseUrl);\n\t\t}\njava.setContent(result);\nif(containerid){java.put(\"since_id\",java.getString(\"$.data.pageInfo.since_id\"))}\nresult = String(result).replace(/\"(name|containerid)\"/g,'\"$1test\"');\n</js>\n$.data.cards&&$.data.cards[*].card_group[*]&&data.cards[*].card_group[*].pics[*]&&data.cards[*].card_group[*].items[*]\n<js>\nif(/page=1/.test(baseUrl)){\n\t\t\tresult = JSON.stringify(java.getElements(\"$..[?(@.channel_list)]&&$..[?(@.card_type==121)]\").toArray().concat(result.toArray()));\n\t}\t\njava.setContent(java.get(\"src\"))\nresult\n</js>\n$.[*]",
    "ruleContent": "@js:\nif(/containeridhtml/.test(baseUrl)){\n\tlet text = String(java.hexDecodeToString(result));\n\tlet cid = text.match(/=([^_]+)/)[1];\n\tlet m = String(java.hexDecodeToString(java.get(\"src\"))).match(/containerid=([^&]+)/)?.[1];\n\tlet html = `\n<html>\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0\">\n<meta charset=\"UTF-8\">\n<html>\n<head>\n    <style>\n        .button-container {\n            display: flex;\n            flex-wrap: wrap;\n            gap: 10px;\n            padding: 20px;\n        }        \n        .button {\n            padding: 10px 15px;\n            background-color: #4CAF50;\n            color: white;\n            border: none;\n            border-radius: 4px;\n            cursor: pointer;\n            font-size: 14px;\n            transition: all 0.3s ease;\n        }\n        \n        .button.active {\n            background-color: #f44336;\n            transform: scale(1.05);\n            box-shadow: 0 4px 8px rgba(0,0,0,0.2);\n        }\n    </style>\n</head>\n<body>\n选择完点“✓”\n    <div class=\"button-container\" id=\"buttons\"></div>\n    <script>\n        let inputString = \"${text.replace(/&$/,'')}\";\n                let buttons = [];\n                const button = document.createElement('button');\n    button.className = 'button ${Map(cid) ? \"\" : \"active\"}';\n    button.dataset.value = \"${m}\";\n    button.onclick = function() { setActiveButton(this); }; document.querySelector(\"#buttons\").appendChild(button);\n  if (inputString.includes(\"${m}\")) {  \n    button.textContent = (inputString.includes(\"${m}\")&&inputString.includes(\"最新评论\"))?\"最新评论\":\"首页\";\n    let re = new RegExp(\".*?=${m}&\");\n    inputString = inputString.replace(re,'');  \n}else{\n   \tbutton.textContent = \"首页\";  \n\t}\n\t         \n       buttons.push(button);\n        const pairs = inputString.split('&');\n        const buttonContainer = document.getElementById('buttons');\n        pairs.forEach(pair => {        \t  \n            const [buttonText, buttonValue] = pair.split('=');              \n            const button = document.createElement('button');\n            button.className = 'button';\n            button.textContent = buttonText;            \n            button.dataset.value = buttonValue;           \n            buttons.push(button);            \n            button.addEventListener('click', function() {\n                setActiveButton(this);\n            });           \n            buttonContainer.appendChild(button);\n        });\n\n      \n        function setActiveButton(targetButton) {\n            buttons.forEach(button => {\n                button.classList.remove('active');\n            });\n            targetButton.classList.add('active');\n        }\n\n        function setActiveByValue() {\n            const valueToFind = \"${Map(cid)}\"\n            if (!valueToFind) return;\n            const targetButton = buttons.find(button => \n                button.dataset.value === valueToFind\n            );\n            if (targetButton) {\n                setActiveButton(targetButton);\n            } \n        }\n        setActiveByValue()\n    </script>\n</body>\n</html>\n`;\nlet select;\ntry{\nselect = java.startBrowserAwait(`data:text/html;base64,${java.base64Encode(html)}`,\"选择tab\",false).body();\nlet all = String(java.getString(\"@class.active.0@data-value\",select));\nlet id = all.match(/^([^_]+)/)?.[1];\nsetHeaders(id+\"=\"+all);\nresult = \"已选择完成，返回超话刷新\"\n}catch(e){\"未选择或是之前的缓存，点右上角的🔄刷新可进入选择tab页面\"}\n\t}else if(!/large/.test(baseUrl)){\nfunction formatTime(dateStr) {\n    const date = new Date(dateStr);\n    const year = date.getFullYear();\n    const month = date.getMonth() + 1; \n    const day = date.getDate();\n    const hours = date.getHours().toString().padStart(2, '0');\n    const minutes = date.getMinutes().toString().padStart(2, '0');\n    \n    return `${year}年${month}月${day}日 ${hours}:${minutes}`;\n}\nfunction formatCount(count) {\n  if (count < 10000) return count.toString();  \n  const inWan = (count / 10000).toFixed(2);\n  return inWan.endsWith('.00') \n    ? `${inWan.split('.')[0]}万` \n    : `${inWan}万`;\n}\n\nfunction getContent($) {\n    let galleryItems = \"\",videos=\"\";\n    let long_imgs = ($.pic_num??0)?($.pics??[]):[];\n    let long_video = $.page_info?.type===\"video\"?$.page_info:{};\n    \n    if(long_imgs.length){\n        galleryItems = long_imgs.map((img, i) => `\n        <div class=\"gallery-item\">\n            <img src=\"${img.url}\" data-original=\"${img?.large?.url}\" loading=\"lazy\">\n            <div class=\"zoom-icon\">🔍</div>\n        </div>`).join('');\n       galleryItems = `<div class=\"image-gallery\">${galleryItems}</div>`;\n    }\n    if(JSON.stringify(long_video)!==\"{}\"){\n        if(long_video.urls){\n        long_video = long_video.urls;\n        videos = long_video.hevc_mp4_hd || long_video.mp4_720p_mp4 || long_video.mp4_hd_mp4 || long_video.mp4_ld_mp4\n        }else{\n        long_video = long_video.media_info;\n        videos = long_video.stream_url_hd || long_video.stream_url\n        }\n        \n        videos = `<div class=\"media-container\"><video src=\"${videos}\" controls poster=\"${$.page_info.page_pic.url}\"></video></div>`\n    }\n     \n    return `\n      <div class=\"comment-item\">\n        <div class=\"comment-user\">\n          <img class=\"user-avatar\" src=\"${$?.user?.profile_image_url}\" onclick=\"window.open('https://m.weibo.cn/n/${$?.user?.screen_name}')\">\n          <div class=\"user-info\">\n            <span class=\"user-name\" onclick=\"window.open('https://m.weibo.cn/n/${$?.user?.screen_name}')\">${$?.user?.screen_name}</span>\n            <span class=\"comment-time\">${formatTime($.created_at)}</span>\n          </div>\n          <div class=\"like_counts\"><span>♡${formatCount($.attitudes_count)}</span></div>\n        </div>\n        <div class=\"comment-text\">${$.text.replace(/https?:\\/\\/m.weibo.cn\\/\\d+\\/(\\d+)/g,'https://m.weibo.cn/a/$1').replace(/'\\/n\\//g,\"'https://m.weibo.cn/n/\")}</div>\n        ${videos}\n        ${galleryItems}\n      </div>`;\n}\n\nlet id = baseUrl.match(/(\\d+)/)[1];\nlet b = baseUrl.replace(/weibo.com/,'m.weibo.cn');\nvar html = java.ajax(b);\n\ntry{\nvar render_data = html.match(/var \\$(render_data = \\[\\{[\\s\\S]+?\\|\\| \\{\\});/)[1];\neval(render_data);\nlet $ = render_data.status;\nlet longText = getContent($);\nlet retweeted_status = $.retweeted_status??\"\";\nif(retweeted_status){\n   retweeted_status = getContent(retweeted_status)\n}\n\nretweeted_status = retweeted_status ? \"<div class='retweeted_status'>\" + retweeted_status+\"</div>\":\"\";\nresult = longText + retweeted_status;\n}catch(e){\n\tjava.log(e);\n\tresult = html;\n\t\n\t}\nresult = `<a href=\"${b.replace(/detail/,'a')}\" class=\"original-link\">原文地址</a><div class=\"main-content\">${result}</div><div id=\"container\"></div>`;\n\nresult = `<!DOCTYPE html>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n   \n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>微博详情</title>\n    <link rel=\"stylesheet\" href=\"https://cdn.jsdelivr.net/npm/viewerjs@1.10.5/dist/viewer.min.css\">\n    <style>      \n       * { margin: 0; padding: 0; box-sizing: border-box; }\n        body { \n            font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif; \n            line-height: 1.6; color: #333; background-color: #f5f5f5; \n            padding: 15px; max-width: 750px; margin: 0 auto; \n        }\n        .original-link { \n            display: block; padding: 12px; background: #fff; border-radius: 8px; \n            margin-bottom: 10px; text-decoration: none; color: #1E88E5; \n            font-weight: 500; box-shadow: 0 1px 3px rgba(0,0,0,0.05); \n        }\n        .main-content { \n            background: #fff; padding: 15px; border-radius: 8px; \n            margin-bottom: 15px; box-shadow: 0 1px 3px rgba(0,0,0,0.05); \n        }\n        .divider { border: none; height: 1px; background-color: #eee; margin: 15px 0; }\n        .media-container { margin: 15px 0; border-radius: 8px; overflow: hidden; }\n        .media-container video { width: 100%; border-radius: 8px; }\n        .image-gallery { \n            display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; margin: 15px 0; \n            max-width:100%\n        }\n        .gallery-item { \n            aspect-ratio: 1; overflow: hidden; border-radius: 8px; \n            position: relative; cursor: pointer; \n        }\n        .gallery-item img { \n            width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s; \n        }\n        .gallery-item:hover img { transform: scale(1.05); }\n        .zoom-icon { \n            position: absolute; top: 5px; right: 5px; background: rgba(0,0,0,0.5); \n            color: white; width: 20px; height: 20px; border-radius: 50%; \n            display: flex; align-items: center; justify-content: center; \n            font-size: 12px; opacity: 0; transition: opacity 0.3s; \n        }\n        .retweeted_status{\n        background:#ECECEC;\n        padding:15px;\n        border-radius:8px;\n        }\n        .gallery-item:hover .zoom-icon { opacity: 1; }\n        .comments-section { \n            background: #fff; padding: 15px; border-radius: 8px; \n            box-shadow: 0 1px 3px rgba(0,0,0,0.05); \n        }\n        .comment-replies{\n            \tbackground:#efefef;\n            \tpadding:5px 5px 5px 20px;\n            \tmargin-left:42px;\n            \tborder-radius: 8px;\n            \tbox-shadow: 0 1px 3px rgba(0,0,0,0.05);\n            \t\n        \t}\n        \t\n.comments-header {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  margin-bottom:10px\n}\n\n.comments-title {\n  margin: 0;\n  font-size: 18px; \n  color: #333; \n}\n\n.sort-controls {\n  display: flex;\n  align-items: center;\n}\n\n.sort-btn {\n  padding: 4px 12px;\n  border: 1px solid #e0e0e0;\n  background: #f5f5f5;\n  border-radius: 15px;\n  font-size: 12px;\n  cursor: pointer;\n  margin-right: 8px; \n  transition: all 0.3s;\n}\n\n\n.sort-btn:last-child {\n  margin-right: 0;\n}\n\n.sort-btn.active {\n  background: #1d9bf0;\n  color: white;\n  border-color: #1d9bf0;\n}\n\n     \n        .comment-item { padding: 12px 0;  }\n           \n        .comment-user { display: flex; align-items: flex-start; margin-bottom: 8px; }\n        .user-avatar { \n            width: 32px; height: 32px; border-radius: 50%; \n            margin-right: 10px; object-fit: cover; \n        }\n        .user-info {\n    display: flex;\n    flex-direction: column;\n}\n        .user-name { \n        font-weight: 500; \n        font-size: 15px;\n        color:#1E88E5\n          }\n        .comment-text { \n            margin-left: 42px;\n            margin-bottom: 8px; font-size: 15px; line-height: 1.5; word-break: break-word; \n        }\n        .comment-time { font-size: 12px; color: #999; }\n        .comment-media { \n            margin-left:42px;\n            margin-bottom:10px;\n            margin-top:10px;\n            margin-right:8px;\n            position: relative; cursor: pointer; \n            border-radius: 6px; overflow: hidden;\n            max-width:100%\n        }\n        .comment-media details {\n            margin: 8px 0;\n            border-radius: 6px;\n            overflow: hidden;\n        }\n        .comment-media summary {\n            padding: 6px 12px;\n            background: #f5f5f5;\n            border-radius: 4px;\n            cursor: pointer;\n            list-style: none;\n            font-size: 14px;\n            color: #1E88E5;\n            transition: background 0.2s;\n        }\n        .comment-media summary:hover {\n            background: #e8f0fe;\n        }\n        .comment-media summary::-webkit-details-marker {\n            display: none;\n        }\n        .comment-media div {\n            margin-top: 8px;\n            position: relative;\n            cursor: pointer;\n        }\n        .comment-media img {\n            max-width: 100%;\n            border-radius: 4px;\n            display: block;\n        }\n.active {\n  pointer-events: none; \n}\n\n   .float-buttons {\n      position: fixed;\n      right: 20px;\n      bottom: 20px;\n      display: flex;\n      flex-direction: column;\n      gap: 10px;\n      z-index: 1001;\n    }\n    .reply-modal {\n  position: fixed;\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  background: rgba(0,0,0,0.5);\n  z-index: 1000;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n}\n.modal-content {\n  width: 80%;\n  max-width: 600px;\n  max-height: 80vh;\n  background: white;\n  border-radius: 8px;\n  overflow: hidden;\n  display: flex;\n  flex-direction: column;\n}\n.modal-header {\n  padding: 15px;\n  border-bottom: 1px solid #eee;\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n}\n.modal-body {\n  flex: 1;\n  overflow-y: auto;\n  padding: 15px;\n}\n.modal-footer {\n  padding: 10px;\n  text-align: center;\n}\n.loading-spinner {\n  display: none;\n  width: 20px;\n  height: 20px;\n  border: 3px solid rgba(0,0,0,0.1);\n  border-radius: 50%;\n  border-top-color: #1d9bf0;\n  animation: spin 1s linear infinite;\n  margin: 0 auto;\n}\n@keyframes spin {\n  to { transform: rotate(360deg); }\n}\n.reply-sort {\n  display: flex;\n  gap: 10px;\n  align-items: center;\n}\n.close-btn {\n  cursor: pointer;\n  font-size: 20px;\n}\n.like_counts{\ncolor:#999;\nfont-size:12px;\nmargin-left:auto;\npadding-right:8px\n}\n    .float-btn {\n      width: 25px;\n      height: 25px;\n      border-radius: 50%;\n      background: rgba(0, 0, 0, 0.5);\n      color: white;\n      border: none;\n      cursor: pointer;\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      font-size: 15px;\n      transition: all 0.3s ease;\n      box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);\n      -webkit-tap-highlight-color: transparent !important;\n  tap-highlight-color: transparent !importan;\n  outline: none !important;\n  -webkit-tap-highlight-color: transparent !important;\n    }\n   \n.float-btn:focus,\n.float-btn:focus-visible,\n.float-btn:active,\n.float-btn:-moz-focusring {\n  outline: none !important;\n  box-shadow: none !important;\n}\n.morerep{\ntext-align:right;\ncolor:#4590B5;\nfont-size:13px\n}\n    .float-btn:hover {\n      background: rgba(0, 0, 0, 0.7);\n      transform: scale(1.1);\n    }\n       .error-message{\n       \tbackground:#eee;\n        padding:15px;\n        font-size:18px;\n       \t}\n\n        .media-preview::before {\n            content: \"⬇️ \";\n        }\n        .comment-media[open] summary .media-preview::before {\n            content: \"⬆️ \";\n        }\n        .url-icon img { vertical-align: middle; margin: 0 1px;width:1em; height:1em}\n        .surl-text { color: #1E88E5; margin-right: 5px; }\n        @media (max-width: 500px) {\n            .image-gallery { grid-template-columns: repeat(2, 1fr); }\n            body { padding: 10px; }\n            .main-content, .comments-section { padding: 12px; }\n        }     \n         \n        .viewer-open {\n            overflow: hidden;\n            position: fixed;\n            width: 100%;\n        }\n    </style>\n    <script>\n    function formatTime(dateStr) {\n    const date = new Date(dateStr);\n    const year = date.getFullYear();\n    const month = date.getMonth() + 1;     const day = date.getDate();\n    const hours = date.getHours().toString().padStart(2, '0');\n    const minutes = date.getMinutes().toString().padStart(2, '0');\n    \n    return \\`\\${year}年\\${month}月\\${day}日 \\${hours}:\\${minutes}\\`;\n}\n\nfunction replaceurl(t){\nlet \ttext = String(t).replace(/href=(\\\\/n\\\\/[^\\\\s]+)/g,'href=\\\"https://m.weibo.cn$1\\\"').replace(/\\\\/\\\\/s.weibo.com\\\\/weibo\\\\?q=/g,\"https://m.weibo.cn/search?containerid=100103type%3D1%26q%3D\").replace(/https?:\\\\/\\\\/weibo.com\\\\/\\\\d+\\\\/(\\\\d+)/g,'https://m.weibo.cn/a/$1');\n\treturn text\n\t}\n\n   function getcomments(list, isReply = false) {\n  return list.map(item => {\n    let details = \"\";\n    if (item.pic_num !== 0) {\n     let pic_ids =  item.url_struct[0].pic_ids;      \n      const pic = item?.url_struct[0]?.pic_infos[pic_ids]?.large?.url.replace(/https?/,'https');\n      details = \\`\n        <details class=\"comment-media\">\n          <summary><span class=\"media-preview\">📷 查看图片</span></summary>\n          <div class=\"comment_pic\">\n            <img src=\"\\${pic}\" alt=\"评论图片\">\n          </div>\n        </details>\\`;\n    }\n    \n    let replies = \"\";\n    if (item.comments && item.comments.length > 0) {\n      replies = \\`\n        <div class=\"comment-replies\">\n          \\${getcomments(item.comments, true)}\n          \\${item.total_number > 1 ? \\`\n            <div class=\"morerep\" onclick=\"loadComments({id:'\\${item.id}',isReply:true})\">\n              共\\${item.total_number}条回复\n            </div>\\` : ''}\n        </div>\\`;\n    }\n    \n    return \\`\n      <div class=\"comment-item\">\n        <div class=\"comment-user\">\n          <img class=\"user-avatar\" src=\"\\${item.user.profile_image_url}\" onclick=\"window.open('https://m.weibo.cn/n/\\${item.user.screen_name}')\">\n          <div class=\"user-info\">\n            <span class=\"user-name\" onclick=\"window.open('https://m.weibo.cn/n/\\${item.user.screen_name}')\">\\${item.user.screen_name}</span>\n            <span class=\"comment-time\">\\${formatTime(item.created_at)}</span>\n          </div>\n          <div class=\"like_counts\"><span>♡\\${formatCount(item.like_counts)}</span></div>\n        </div>\n        <div class=\"comment-text\">\\${replaceurl(item.text).replace(/(<img.*?>)/g,'<span class=\"url-icon\">$1</span>')}</div>\n        \\${details}\n        \\${replies}\n      </div>\\`;\n  }).join('');\n}\n    </script>\n       \n</head>\n<body>\n    ${result}\n  <div class=\"float-buttons\">\n    <button class=\"float-btn\" id=\"toTop\" title=\"回到顶部\">↑</button>\n    <button class=\"float-btn\" id=\"toBottom\" title=\"回到底部\">↓</button>\n  </div>\n    <script src=\"https://cdn.jsdelivr.net/npm/viewerjs@1.10.5/dist/viewer.min.js\"></script>\n    <script>\n    // 全局变量\n     let MaxId = [];     \n     let repMaxId = [];      \n     let currentMaxId = null;\n     let repCurrentMaxId = null;\n     let isLoading = false;\n     let repLoading = false;\n     const weiboId = \"${id}\";\n     let sortType = 0;\n     let repSortType = 0;\n     \n     function formatCount(count) {\n  if (count < 10000) return count.toString();  \n  const inWan = (count / 10000).toFixed(2);\n  return inWan.endsWith('.00') \n    ? \\`\\${inWan.split('.')[0]}万\\` \n    : \\`\\${inWan}万\\`;\n}\n\n        //图片加载器\n        function initImageViewer() {\n        \tvar option = {\n        \t\t          url: 'data-original',\n        \t          \tmaxZoomRatio: 0.9,\n                    inline: false,\n                    movable: true,\n                    zoomable: true,\n                    \n                    toolbar: {\n                        zoomIn: 1,\n                        zoomOut: 1,\n                        oneToOne: 0,\n                        reset: 1,\n                        prev: 1,\n                        next: 1,\n                        rotateLeft: 0,\n                        rotateRight: 0,\n                        flipHorizontal: 0,\n                        flipVertical: 0\n                    }    \n                };                          \n            try {                       \n             new Viewer(document.querySelector('.image-gallery'),option);          \n  document.querySelectorAll('.comment-media').forEach(x=>{new Viewer(x,option)})                   \n            } catch (e) {\n                                 \n                }\n            \n        }\n        \n// 获取评论函数\nasync function loadComments(options = {}) {\n  const {\n    id = weiboId,\n    isReply = false,\n    isLoadMore = false,\n    targetElement = isReply ? '#reply-list' : '#container',\n    tElement = isReply ? '#reply-list .comments-list' : '.comments-list',\n    containerTemplate = null,\n    sort = isReply ? repSortType : sortType\n  } = options;\n\n  \n  const loadingFlag = isReply ? repLoading : isLoading;\n  if (loadingFlag) return;\n  isReply ? repLoading = true : isLoading = true;\n\n  \n  let url;\n  if (isReply) {\n    url = \\`https://weibo.com/ajax/statuses/buildComments?flow=\\${sort}&is_reload=1&id=\\${id}&is_show_bulletin=2&is_mix=1&fetch_level=1&max_id=\\${isLoadMore ? repCurrentMaxId : 0}&count=20&locale=zh-CN\\`\n  } else {\n   url =\\`https://weibo.com/ajax/statuses/buildComments?flow=\\${sort}&is_reload=1&id=\\${id}&is_show_bulletin=2&is_mix=0&count=20&fetch_level=0&locale=zh-CN\\`;\n  \n  \n    //url = \\`https://m.weibo.cn/comments/hotflow?id=\\${id}&mid=\\${id}&max_id_type=\\${sort}\\`;\n    if (isLoadMore && currentMaxId) {\n      url += \\`&max_id=\\${currentMaxId}\\`;\n    }\n  }\n\n  try {\n    const response = await fetch(url, {\n      headers: {\n        'Accept': 'application/json',\n        'X-Requested-With': 'XMLHttpRequest'\n      },\n      credentials: 'include'\n    });\n\n    const data = await response.json();\n    \n    \n    if (data.ok === -100) {\n      if (/error-message/.test(document.querySelector(targetElement).innerHTML)) {\n        throw new Error(\"需要登录\");\n      }\n      document.querySelector(targetElement).innerHTML += \\`\n        <div class=\"error-message\">\n          评论加载失败:请<a href=\"\\${data.url}\">访问首页或登录</a>后重试\n        </div>\n      \\`;\n      throw new Error(\"需登录\");\n    }\n\n    \n    const currentIdArray = isReply ? repMaxId : MaxId;\n    const newMaxId = data.max_id;\n    \n    if (currentIdArray.includes(newMaxId)) {\n      throw new Error(\"没有更多内容了\");\n    }\n    \n    if (isReply) {\n      repCurrentMaxId = newMaxId;\n      repMaxId.push(newMaxId);\n    } else {\n      currentMaxId = newMaxId;\n      MaxId.push(newMaxId);\n    }\n    \n    \n    const commentsData = data.data;\n        \n    if (isReply && !isLoadMore && !document.querySelector('.reply-modal')) {\n      initReplyModal(id);\n    }\n\n    if (isLoadMore) {\n      document.querySelector(tElement).innerHTML += getcomments(commentsData, isReply);\n    } else {\n      if (data.ok === 0) throw new Error(\"没有内容\");\n        \n      \n      let content = \\`<div class=\"comments-header\">\n            <div class=\"comments-title\"><h3>评论（\\${formatCount(data.total_number)}）</h3></div>\n            <div class=\"sort-controls\">\n              <button id=\"sortHot\" class=\"sort-btn \\${sortType===0?'active':''}\" \n                onclick=\"loadComments({sort:0})\">热度</button>\n              <button id=\"sortTime\" class=\"sort-btn \\${sortType===1?'active':''}\" \n                onclick=\"loadComments({sort:1})\">时间</button>\n            </div>\n          </div>\\`;\n            \n      const html =  \\`\n        <div class=\"comments-section\">\n           \\${isReply?\"\":content}        \n          <div class=\"comments-list\">\\${getcomments(commentsData)}</div>\n        </div>\n      \\`;\n      document.querySelector(targetElement).innerHTML = html;\n    }\n\n\n  } catch (error) {\n    if (isLoadMore) {\n      showToast(/没有更多/.test(error.message)?error.message:\"评论加载失败\")\n    } else if (!/没有内容|登录/.test(error.message)) {\n      document.querySelector(targetElement).innerHTML = \\`\n        <div class=\"error-message\">\n          评论加载失败: \\${error.message}\n          <button onclick=\"loadComments(\\${JSON.stringify(options)})\">重试</button>\n        </div>\n      \\`;\n    }\n  } finally {\n    isReply ? repLoading = false : isLoading = false;\n  }\n}\n\n\nfunction initReplyModal(id) {\n  const modal = document.createElement('div');\n  modal.className = 'reply-modal';\n  modal.dataset.commentId = id;\n  modal.innerHTML = \\`\n    <div class=\"modal-content\">\n      <div class=\"modal-header\">\n        <h4>回复列表</h4>\n        <div class=\"reply-sort\">\n          <button class=\"sort-btn \\${repSortType===0?'active':''}\" \n            onclick=\"loadComments({id:'\\${id}',isReply:true,sort:0});repSortType=0\" data-sort-type=0>热度</button>\n          <button class=\"sort-btn \\${repSortType===1?'active':''}\" \n            onclick=\"loadComments({id:'\\${id}',isReply:true,sort:1});repSortType=1\" data-sort-type=1>时间</button>\n          <span class=\"close-btn\" onclick=\"this.closest('.reply-modal').remove();repMaxId=[];repSortType=0;repCurrentMaxId=null\">×</span>\n        </div>\n      </div>\n      <div class=\"modal-body\" id=\"reply-list\"></div>\n    </div>\n  \\`;\n  document.body.appendChild(modal);\n  modal.addEventListener('click', function(e) {\n  \n  if (e.target === modal) {\n    modal.remove();\n    repMaxId = [];\n    repSortType = 0;\n    repCurrentMaxId = null;\n  }\n});\n\n  \n  const replyList = document.querySelector(\"#reply-list\");\nif (replyList) {\n  replyList.addEventListener('scroll', () => {\n    if (replyList.scrollTop + replyList.clientHeight >= replyList.scrollHeight - 15) {\n      loadComments({id:id,isLoadMore: true, isReply: true }); \n    }\n  });\n}\n  \n}\n\n\nfunction showToast(message) {\n  const toast = document.createElement('div');\n  toast.textContent = message;\n  toast.style.position = 'fixed';\n  toast.style.bottom = '50px';\n  toast.style.left = '50%';\n  toast.style.transform = 'translateX(-50%)';\n  toast.style.backgroundColor = 'rgba(0,0,0,0.7)';\n  toast.style.color = 'white';\n  toast.style.padding = '5px 5px';\n  toast.style.borderRadius = '5px';\n  toast.style.zIndex = '1000';\n  \n  document.body.appendChild(toast);\n  setTimeout(() => {\n    document.body.removeChild(toast);\n  }, 1000);\n}\n\ndocument.getElementById('toTop').addEventListener('click', function() {\n      if(document.querySelector(\"#reply-list\")){\n      document.querySelector(\"#reply-list\").scrollTo({\n        top: 0,\n        behavior: 'smooth'\n      });\n      }else{\n      window.scrollTo({\n        top: 0,\n        behavior: 'smooth'\n      });\n      }\n      \n    });\n    \n    document.getElementById('toBottom').addEventListener('click', function() {\n    if(document.querySelector(\"#reply-list\")){\n      document.querySelector(\"#reply-list\").scrollTo({\n        top: document.querySelector(\"#reply-list\").scrollHeight,\n        behavior: 'smooth'\n      });\n      }else{\n      window.scrollTo({\n        top: document.body.scrollHeight,\n        behavior: 'smooth'\n      });\n      }\n    });\n    \n    \n    window.addEventListener('scroll', function() {\n      const toTopBtn = document.getElementById('toTop');\n      const toBottomBtn = document.getElementById('toBottom');\n      const scrollPosition = window.scrollY;\n      \n      \n      if (scrollPosition === 0) {\n        toTopBtn.style.opacity = '0.5';\n        toTopBtn.style.pointerEvents = 'none';\n      } else {\n        toTopBtn.style.opacity = '1';\n        toTopBtn.style.pointerEvents = 'auto';\n      }\n      \n      \n      if (window.innerHeight + scrollPosition >= document.body.scrollHeight - 50) {\n        toBottomBtn.style.opacity = '0.5';\n        toBottomBtn.style.pointerEvents = 'none';\n      } else {\n        toBottomBtn.style.opacity = '1';\n        toBottomBtn.style.pointerEvents = 'auto';\n      }\n    });\n\n\n\n\n\n\ndocument.addEventListener('DOMContentLoaded', () => {\n  \n  document.addEventListener('click', (e) => {\n    \n    if (e.target.id === 'sortHot') {\n      if (sortType !== 0) {\n        sortType = 0;\n        e.target.classList.add('active');\n        document.getElementById('sortTime').classList.remove('active');\n        currentMaxId = null;\n        MaxId = [];\n        loadComments({sort:0}); \n      }\n    }\n    \n    if (e.target.id === 'sortTime') {\n      if (sortType !== 1) {\n        sortType = 1;\n        e.target.classList.add('active');\n        document.getElementById('sortHot').classList.remove('active');\n        currentMaxId = null;\n        MaxId = [];\n        loadComments({sort:1}); \n      }\n    }\n\n    \n    if (e.target.classList.contains('sort-btn')) {\n      const modal = e.target.closest('.reply-modal');\n      if (modal) {\n        const id = modal.dataset.commentId;\n        repSortType = parseInt(e.target.dataset.sortType);\n        \n        document.querySelectorAll('.reply-modal .sort-btn').forEach(btn => {\n          btn.classList.toggle('active', parseInt(btn.dataset.sortType) === repSortType);\n        });\n        repCurrentMaxId = null;\n        repMaxId = [];\n      }\n    }\n  });\n  \n  \n  loadComments();\n  \n  \n  window.addEventListener('scroll', () => {\n    if ((window.innerHeight + window.scrollY) >= document.body.offsetHeight - 50) {\n      loadComments({ isLoadMore: true });\n    }\n  });\n  \n  function findScrollingElement() {\n  const elements = document.querySelectorAll('*');\n  for (const el of elements) {\n    if (el.scrollHeight > el.clientHeight && el.scrollTop > 0) {\n      return el;\n    }\n  }\n  return document.documentElement; \n}\n  initImageViewer();\n});\n     \n    </script>\n</body>\n</html>`;\nresult;\n\n}else{\n\t\"<img src=\\\"\"+baseUrl+\"\\\">\"\n\t}\n",
    "ruleDescription": "$.scheme\n<js>\nif(/containerid/.test(result)){\n\tlet id = result.match(/containerid=(.*)/)[1];\n\tlet pic = java.getString(\"$.pic\");\n\tlet title_sub = java.getString(\"$.title_sub\");\n\tlet desc1 = java.getString(\"$.desc1\");\n\tlet intro = java.getString(\"$.desc2\");\n\tlet copytext = `${title_sub}::data:page=1;base64,{\\{java.base64Encode(\"https://m.weibo.cn/api/container/getIndex?containerid=${id}_-_feed&page=1\")}},{\"type\":\"\"}`;\n\tresult = `<div class=\"container\">\n  <div class=\"content-row\">\n    <!-- 左侧图片 (固定80px) -->\n    <div class=\"image-box\">\n      <img src=\"${pic}\" class=\"fixed-image\" alt=\"${title_sub}\">\n    </div>\n    \n    <!-- 右侧文字区域 -->\n    <div class=\"text-box\">\n      <div class=\"intro-line\">${intro}</div>\n      <div class=\"desc-scroll-box\">\n        <div class=\"desc-line\">${desc1}</div>\n      </div>\n    </div>\n  </div>\n  \n  <!-- 底部复制区域 -->\n  <div class=\"copy-area\">\n    <div class=\"copy-text\" id=\"copyContent\">${copytext}</div>\n    <button class=\"copy-button\" onclick=\"handleCopy()\">\n      <span class=\"icon\">⎘</span>\n      <span>一键复制链接后粘贴至分类URL</span>\n    </button>\n    <div class=\"copy-message\" id=\"copyFeedback\"></div>\n  </div>\n</div>\n\n<style>\n  .container {\n    max-width: 800px;\n    margin: 0 auto;\n    padding: 12px;\n    font-family: system-ui, sans-serif;\n  }\n  \n  /* 严格的左图右文布局 (不用gap) */\n  .content-row {\n    display: flex;\n    align-items: flex-start;\n    margin-bottom: 16px;\n  }\n  \n  /* 严格限制图片80px */\n  .image-box {\n    width: 80px;\n    height: 80px;\n    margin-right: 12px; /* 替代gap */\n  }\n  \n  .fixed-image {\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n    border-radius: 4px;\n  }\n  \n  /* 右侧文字区域 */\n  .text-box {\n    flex: 1;\n    min-width: 0; /* 防止内容溢出 */\n  }\n  \n  .intro-line {\n    font-size: 15px;\n    line-height: 1.4;\n    color: #333;\n    margin-bottom: 6px;\n  }\n  \n  /* desc1可滚动区域 */\n  .desc-scroll-box {\n    height: 60px; /* 固定高度 */\n    overflow-y: auto; /* 垂直滚动 */\n    padding-right: 5px;\n    border: 1px solid #eee;\n    border-radius: 3px;\n  }\n  \n  .desc-line {\n    font-size: 13px;\n    line-height: 1.4;\n    color: #666;\n    padding: 4px;\n    white-space: pre-wrap; /* 保留换行 */\n  }\n  \n  /* 滚动条样式 */\n  .desc-scroll-box::-webkit-scrollbar {\n    width: 4px;\n  }\n  \n  .desc-scroll-box::-webkit-scrollbar-thumb {\n    background: #ccc;\n    border-radius: 2px;\n  }\n  \n  /* 复制区域样式 */\n  .copy-area {\n    padding: 12px;\n    background: #f5f5f5;\n    border-radius: 6px;\n  }\n  \n  .copy-text {\n    padding: 10px;\n    background: white;\n    border: 1px solid #e0e0e0;\n    border-radius: 4px;\n    font-family: monospace;\n    font-size: 13px;\n    word-break: break-all;\n    margin-bottom: 10px;\n  }\n  \n  .copy-button {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    padding: 8px;\n    background: #2196F3;\n    color: white;\n    border: none;\n    border-radius: 4px;\n    font-size: 14px;\n    cursor: pointer;\n    width: 100%;\n  }\n  \n  .copy-button:hover {\n    background: #0d8bf2;\n  }\n  \n  .icon {\n    margin-right: 5px;\n  }\n  \n  .copy-message {\n    height: 16px;\n    margin-top: 6px;\n    font-size: 12px;\n    text-align: center;\n  }\n</style>\n\n<script>\n  function handleCopy() {\n    const content = document.getElementById('copyContent');\n    const feedback = document.getElementById('copyFeedback');\n    \n    const range = document.createRange();\n    range.selectNode(content);\n    window.getSelection().removeAllRanges();\n    window.getSelection().addRange(range);\n    \n    try {\n      const successful = document.execCommand('copy');\n      feedback.textContent = successful ? '复制成功' : '请手动选择复制';\n      feedback.style.color = successful ? '#4CAF50' : '#F44336';\n    } catch(err) {\n      feedback.textContent = '复制失败';\n      feedback.style.color = '#F44336';\n    }\n    \n    window.getSelection().removeAllRanges();\n    setTimeout(() => feedback.textContent = '', 1500);\n  }\n</script>\n`\n\t}\n</js>",
    "ruleImage": "{{$.pic_middle||$..bmiddle_pic||$..bmiddle.url||$..page_pic.url||$.mblog.page_info.page_pic.url||$.mblog.user.avatar_hd||$.avatar_hd||$.user.avatar_hd||$..avatar_hd||$.left_tag_img||$.pic##.*\\n+}},{\"headers\":{\"referer\":\"https://m.weibo.cn\"}}\n<js>##thumbnail##bmiddle</js>",
    "ruleLink": "$.pic_big||$.mblog.id||$.scheme||$..containerid\n@js:\nif(/containerid/.test(result)){\n\tid = result.match(/containerid=(.*)/)[1];\n\tresult = \"https://m.weibo.cn/api/container/getIndex?containerid=\"+id;\n\t}else if(/^\\d+$|applink/.test(result)){\n\tresult = /applink/.test(result)?result.match(/D(\\d+)/)[1]:result;\n\tresult = \t\"https://weibo.com/detail/\"+result\n\t\t}else if(/_/.test(result)){\n\t\t\tname = java.getStringList(\"$..name\").toArray();\n\t\t\tcontainerid = java.getStringList(\"$..containerid\").toArray();\n\t\t\ttext = \"\";\n\t\t\tname.forEach((x,i)=>{\n\t\t\t\ttext+= x+\"=\"+containerid[i]+\"&\"\n\t\t\t\t});\n\t\t`data:containeridhtml${Date.now()};base64,${java.base64Encode(text)},{\"type\":\"\"}`;\n\t\t\t}else if(/large/.test(result)){\n\t\t\t\tresult\n\t\t\t\t}",
    "ruleNextPage": "@js:\nlet f =/page_type=searchall/.test(baseUrl);\nlet baseUrl = String(f?baseUrl:java.hexDecodeToString(result));\nsince_id = String(java.get(\"since_id\"));\nlet feed = /feed/.test(baseUrl);\npage = Number(baseUrl.match(/page=(\\d+)/)?.[1])+1;\npage = (since_id&&!feed)?since_id:page;\nbaseUrl = baseUrl.replace(/page=\\d+/,'page='+page);\nresult = f?baseUrl:`data:page=${page};base64,${java.base64Encode(baseUrl)},{\"type\":\"\"}`",
    "rulePubDate": "$.mblog.created_at\n<js>\nif(result){\ndate=new Date(result);\ntime=date.getTime();\nfunction formatDate2(inputTime) {\n    var date = new Date(inputTime);\n    var y = date.getFullYear();\n    var m = date.getMonth() + 1;\n    m = m < 10 ? ('0' + m) : m;\n    var d = date.getDate();\n    d = d < 10 ? ('0' + d) : d;\n    return y +'-' + m + '-' + d;\n};\n\nfunction formatDate(now) {\n    var time = formatDate2(now)\n    var date1 = new Date(now)\n    var date2 = new Date()\n    var date3 = date2.getTime() - date1.getTime()\n    var days = Math.floor(date3 / (24 * 3600 * 1000))\n    var leave1 = date3 % (24 * 3600 * 1000) \n    var hours = Math.floor(leave1 / (3600 * 1000))\n    var leave2 = leave1 % (3600 * 1000)\n    var minutes = Math.floor(leave2 / (60 * 1000))\n    var leave3 = leave2 % (60 * 1000)\n    if (days < 1 && hours < 1) { return minutes + \"分前\" } else if (days < 1) { return hours + \"小时 \" + minutes + \"分前\" } else {\n        if (days < 7) {\n            return days + \"天 \" + hours + \"小时前 \"\n        } else { return time }\n    }\n}\n\nfunction formatCount(count) {\n  if (count < 10000) return count.toString();\n  const inWan = (count / 10000).toFixed(2);\n  return inWan.endsWith('.00') \n    ? `${inWan.split('.')[0]}万` \n    : `${inWan}万`;\n}\n\nresult = '📅 '+formatDate(time)+\"  📝\"+formatCount(java.getString(\"$.mblog.comments_count\"))+\"  ❤️\"+formatCount(java.getString(\"$.mblog.attitudes_count\"))+\"      @\"+java.getString(\"$.mblog.user.screen_name\");\n}else{\n\tresult = java.getString(\"$.desc2\")\n\t\t}</js>",
    "ruleTitle": "$.pic_id||$.title||$.mblog.text||$.title_sub||$..name\n<js>##<.*?></js>\n<js>##\\n##|</js>\n<js>##.*话题\\|超话\\|地点.*</js>\n<js>##.*综合\\|用户\\|实时.*</js>",
    "singleUrl": false,
    "sortUrl": "百合小说::data:page=1;base64,{{java.base64Encode(\"https://m.weibo.cn/api/container/getIndex?containerid=100808f0685be662acf02ce3230fac1a7e9443_-_feed&page=1\")}},{\"type\":\"\"}\n\n\n\n\n\n\n搜索超话::https://m.weibo.cn/api/container/getIndex?containerid=100103type%3D98%26q%3D{{svg=String(java.base64Encode(`<svg width=\"1190\" height=\"300\" xmlns=\"http://www.w3.org/2000/svg\"><rect width=\"100%\" height=\"100%\" fill=\"#ffffff\"/><text x=\"200\" y=\"100\" font-family=\"Arial, sans-serif\" font-size=\"70\" fill=\"#333\" font-weight=\"bold\">输入要搜索的超话名称</text></svg>`));if(page==1){let a=\"\";try{a=java.getVerificationCode('data:image/svg+xml;base64,'+svg);}catch(e){java.log(e)};if(a==\"\"){a=Map(\"searchname\")??\"\"}setHeaders(\"searchname=\"+a);a}else{Map(\"searchname\")};}}%23&isnewpage=1&luicode=10000011&lfid=100103type%3D1%26q%3D{{Map(\"searchname\")}}%26t%3D&page_type=searchall&page={{page}}",
    "sourceComment": "1、在【搜索超话】点击右上角三点刷新分类或下拉刷新，会弹出输入框，将复制的内容换行粘贴进分类URL\n2、设置源变量可以搜索超话内容【只有处在【首页】才能搜索】，如要切换其他专区需要删除源变量",
    "sourceGroup": "阅读,R18",
    "sourceIcon": "https://is1-ssl.mzstatic.com/image/thumb/Purple221/v4/52/6a/04/526a04f7-ccfd-612e-64cb-ece08b01b4e6/WeiboAppIcon-0-0-1x_U007epad-0-1-0-0-85-220.png/492x0w.webp",
    "sourceName": " 📖\n微博超话",
    "sourceUrl": "https://m.weibo.cn#微博超话"
  },
  {
    "articleStyle": 0,
    "customOrder": -102,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\n  \"User-Agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36\"\n}",
    "injectJs": "var wrapElements = document.querySelectorAll('div.wrap');\nvar adWrapElements = document.getElementsByClassName('ad-wrap');\n\nfor (var i = 0; i < wrapElements.length; i++) {\n  var wrapElement = wrapElements[i];\n  wrapElement.parentNode.removeChild(wrapElement);\n}\n\nwhile (adWrapElements.length > 0) {\n  var adWrapElement = adWrapElements[0];\n  adWrapElement.parentNode.removeChild(adWrapElement);\n}\n\nlet aaaa = window.location.href;\n\nif(/\\/a\\/\\d+/.test(aaaa)){\n\twindow.location.href = window.location.href.replace(/a/,'detail')\n\t}\n\n\nif(/ttarticle/.test(aaaa)){\n\nfunction styleExtractedContent() {\n  \n  const originalContent = document.querySelector(\".main_editor\").innerHTML.replace(/style=\"opacity.*?\"|&nbsp;/g,'').replace(/<br>/g,'<br>&emsp;&emsp;');\n  document.body.innerHTML = '';\n  \n  const styledContainer = document.createElement('div');\n  styledContainer.className = 'styled-article';\n  \n  \n  styledContainer.innerHTML = originalContent;\n  \n  \n  \n  document.body.appendChild(styledContainer);\n  \n  \n  const style = document.createElement('style');\n  style.textContent = `\n    .styled-article {\n      max-width: 800px;\n      margin: 0 auto;\n      padding: 20px;\n      font-family: \"PingFang SC\", \"Hiragino Sans GB\", \"Microsoft YaHei\", sans-serif;\n      line-height: 1.8;\n      color: #333;\n      background: #fff;\n    }\n    \n    .styled-article .title {\n      font-size: 24px;\n      font-weight: bold;\n      margin-bottom: 20px;\n      color: #222;\n      text-align: center;\n      padding-bottom: 10px;\n      border-bottom: 1px solid #eee;\n    }\n    \n    .styled-article .authorinfo {\n      display: flex;\n      justify-content: space-between;\n      align-items: center;\n      margin-bottom: 20px;\n      padding-bottom: 15px;\n      border-bottom: 1px solid #f5f5f5;\n    }\n    \n    .styled-article .W_face_radius {\n      width: 40px;\n      height: 40px;\n      border-radius: 50%;\n      margin-right: 10px;\n      vertical-align: middle;\n    }\n    \n    .styled-article .author1 a {\n      font-size: 16px;\n      color: #333;\n      text-decoration: none;\n    }\n    \n    .styled-article .time {\n      color: #999;\n      font-size: 14px;\n    }\n    \n    .styled-article .preface_v2 {\n      font-style: italic;\n      color: #666;\n      margin-bottom: 25px;\n      padding: 15px;\n      background: #f9f9f9;\n      border-left: 3px solid #ddd;\n    }\n    \n    .styled-article *[node-type=\"contentBody\"] p {\n      margin-bottom: 25px;\n      text-align: justify;\n      font-size: 16px;\n      color: #222; \n      text-indent: 1.7em; \n    }\n    \n    .styled-article .artical_add_box {\n      margin-top: 40px;\n      padding: 20px;\n      background: #fafafa;\n      border-radius: 8px;\n    }\n    \n    .styled-article .btn_bed a {\n      display: inline-block;\n      padding: 8px 15px;\n      background: #ff8200;\n      color: white;\n      border-radius: 4px;\n      text-decoration: none;\n    }\n    \n    \n    @media (max-width: 600px) {\n      .styled-article {\n        padding: 15px;\n      }\n      \n      .styled-article .title {\n        font-size: 20px;\n      }\n      \n      .styled-article .WB_editor_iframe_new p {\n        font-size: 15px;\n      }\n    }\n  `;\n  \n  document.head.appendChild(style);\n}\n\n\nstyleExtractedContent();\n\n\n\t\n\t\n\t}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginUi": "[\n{\n    \t  name:\"☕️支持源作者\",\n    \t  type: \"button\",\n       action: \"toThank()\",\n       \"style\": {\n      \"layout_flexGrow\": 1,\n      \"layout_flexBasisPercent\": 0.4\n    }\n    \t},\n    \t{\n    \t  name:\"👤登  录\",\n    \t  type: \"button\",\n       action: \"toLogin()\",\n       \"style\": {\n      \"layout_flexGrow\": 1,\n      \"layout_flexBasisPercent\": 0.4\n    }\n    \t}\n]",
    "loginUrl": "function toThank(){\n\tjava.startBrowser(\"data:text/html;base64,PGltZyBzdHlsZT0id2lkdGg6MTAwJSIgc3JjPSJhYm91dDpibGFuayIgb25lcnJvcj0idGhpcy5zcmM9YXRvYignYUhSMGNITTZMeTluYVhSbFpTNWpiMjB2WjNWaGJtVnlNREF4TVRJMUwySnZiMnR6YjNWeVkyVXZjbUYzTDIxaGMzUmxjaThsUlRVbE9VSWxRa1VsUlRjbE9Ea2xPRGN2WjNWaGJtVnlMbmRsWW5BPScpIj4KCg==\",\"感谢你的支持\");\t\n\t}\nfunction toLogin(){\n\tjava.startBrowser(\"https://weibo.com\",\"登录\");\n\tjava.startBrowser(\"http://m.weibo.cn\",\"登录\")\n\t\n\t}",
    "ruleArticles": "$.statuses[*]",
    "ruleContent": "@js:\nfunction formatTime(dateStr) {\n    const date = new Date(dateStr);\n    const year = date.getFullYear();\n    const month = date.getMonth() + 1; \n    const day = date.getDate();\n    const hours = date.getHours().toString().padStart(2, '0');\n    const minutes = date.getMinutes().toString().padStart(2, '0');\n    \n    return `${year}年${month}月${day}日 ${hours}:${minutes}`;\n}\nfunction formatCount(count) {\n  if (count < 10000) return count.toString();  \n  const inWan = (count / 10000).toFixed(2);\n  return inWan.endsWith('.00') \n    ? `${inWan.split('.')[0]}万` \n    : `${inWan}万`;\n}\n\nfunction getContent($) {\n    let galleryItems = \"\",videos=\"\";\n    let long_imgs = ($.pic_num??0)?($.pics??[]):[];\n    let long_video = $.page_info?.type===\"video\"?$.page_info:{};\n    \n    if(long_imgs.length){\n        galleryItems = long_imgs.map((img, i) => `\n        <div class=\"gallery-item\">\n            <img src=\"${img.url}\" data-original=\"${img?.large?.url}\" loading=\"lazy\">\n            <div class=\"zoom-icon\">🔍</div>\n        </div>`).join('');\n       galleryItems = `<div class=\"image-gallery\">${galleryItems}</div>`;\n    }\n    if(JSON.stringify(long_video)!==\"{}\"){\n        if(long_video.urls){\n        long_video = long_video.urls;\n        videos = long_video.hevc_mp4_hd || long_video.mp4_720p_mp4 || long_video.mp4_hd_mp4 || long_video.mp4_ld_mp4\n        }else{\n        long_video = long_video.media_info;\n        videos = long_video.stream_url_hd || long_video.stream_url\n        }\n        \n        videos = `<div class=\"media-container\"><video src=\"${videos}\" controls poster=\"${$.page_info.page_pic.url}\"></video></div>`\n    }\n     \n    return `\n      <div class=\"comment-item\">\n        <div class=\"comment-user\">\n          <img class=\"user-avatar\" src=\"${$?.user?.profile_image_url}\" onclick=\"window.open('https://m.weibo.cn/n/${$?.user?.screen_name}')\">\n          <div class=\"user-info\">\n            <span class=\"user-name\" onclick=\"window.open('https://m.weibo.cn/n/${$?.user?.screen_name}')\">${$?.user?.screen_name}</span>\n            <span class=\"comment-time\">${formatTime($.created_at)}</span>\n          </div>\n          <div class=\"like_counts\"><span>♡${formatCount($.attitudes_count)}</span></div>\n        </div>\n        <div class=\"comment-text\">${$.text.replace(/https?:\\/\\/m.weibo.cn\\/\\d+\\/(\\d+)/g,'https://m.weibo.cn/a/$1').replace(/'\\/n\\//g,\"'https://m.weibo.cn/n/\")}</div>\n        ${videos}\n        ${galleryItems}\n      </div>`;\n}\n\nlet id = baseUrl.match(/(\\d+)/)[1];\nlet b = baseUrl.replace(/weibo.com/,'m.weibo.cn');\nvar html = java.ajax(b);\n\ntry{\nvar render_data = html.match(/var \\$(render_data = \\[\\{[\\s\\S]+?\\|\\| \\{\\});/)[1];\neval(render_data);\nlet $ = render_data.status;\nlet longText = getContent($);\nlet retweeted_status = $.retweeted_status??\"\";\nif(retweeted_status){\n   retweeted_status = getContent(retweeted_status)\n}\n\nretweeted_status = retweeted_status ? \"<div class='retweeted_status'>\" + retweeted_status+\"</div>\":\"\";\nresult = longText + retweeted_status;\n}catch(e){\n\tjava.log(e);\n\tresult = html;\n\t\n\t}\nresult = `<a href=\"${b.replace(/detail/,'a')}\" class=\"original-link\">原文地址</a><div class=\"main-content\">${result}</div><div id=\"container\"></div>`;\n\nresult = `<!DOCTYPE html>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n   \n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>微博详情</title>\n    <link rel=\"stylesheet\" href=\"https://cdn.jsdelivr.net/npm/viewerjs@1.10.5/dist/viewer.min.css\">\n    <style>      \n       * { margin: 0; padding: 0; box-sizing: border-box; }\n        body { \n            font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif; \n            line-height: 1.6; color: #333; background-color: #f5f5f5; \n            padding: 15px; max-width: 750px; margin: 0 auto; \n        }\n        .original-link { \n            display: block; padding: 12px; background: #fff; border-radius: 8px; \n            margin-bottom: 10px; text-decoration: none; color: #1E88E5; \n            font-weight: 500; box-shadow: 0 1px 3px rgba(0,0,0,0.05); \n        }\n        .main-content { \n            background: #fff; padding: 15px; border-radius: 8px; \n            margin-bottom: 15px; box-shadow: 0 1px 3px rgba(0,0,0,0.05); \n        }\n        .divider { border: none; height: 1px; background-color: #eee; margin: 15px 0; }\n        .media-container { margin: 15px 0; border-radius: 8px; overflow: hidden; }\n        .media-container video { width: 100%; border-radius: 8px; }\n        .image-gallery { \n            display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; margin: 15px 0; \n            max-width:100%\n        }\n        .gallery-item { \n            aspect-ratio: 1; overflow: hidden; border-radius: 8px; \n            position: relative; cursor: pointer; \n        }\n        .gallery-item img { \n            width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s; \n        }\n        .gallery-item:hover img { transform: scale(1.05); }\n        .zoom-icon { \n            position: absolute; top: 5px; right: 5px; background: rgba(0,0,0,0.5); \n            color: white; width: 20px; height: 20px; border-radius: 50%; \n            display: flex; align-items: center; justify-content: center; \n            font-size: 12px; opacity: 0; transition: opacity 0.3s; \n        }\n        .retweeted_status{\n        background:#ECECEC;\n        padding:15px;\n        border-radius:8px;\n        }\n        .gallery-item:hover .zoom-icon { opacity: 1; }\n        .comments-section { \n            background: #fff; padding: 15px; border-radius: 8px; \n            box-shadow: 0 1px 3px rgba(0,0,0,0.05); \n        }\n        .comment-replies{\n            \tbackground:#efefef;\n            \tpadding:5px 5px 5px 20px;\n            \tmargin-left:42px;\n            \tborder-radius: 8px;\n            \tbox-shadow: 0 1px 3px rgba(0,0,0,0.05);\n            \t\n        \t}\n        \t\n.comments-header {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  margin-bottom:10px\n}\n\n.comments-title {\n  margin: 0;\n  font-size: 18px; \n  color: #333; \n}\n\n.sort-controls {\n  display: flex;\n  align-items: center;\n}\n\n.sort-btn {\n  padding: 4px 12px;\n  border: 1px solid #e0e0e0;\n  background: #f5f5f5;\n  border-radius: 15px;\n  font-size: 12px;\n  cursor: pointer;\n  margin-right: 8px; \n  transition: all 0.3s;\n}\n\n\n.sort-btn:last-child {\n  margin-right: 0;\n}\n\n.sort-btn.active {\n  background: #1d9bf0;\n  color: white;\n  border-color: #1d9bf0;\n}\n\n     \n        .comment-item { padding: 12px 0;  }\n           \n        .comment-user { display: flex; align-items: flex-start; margin-bottom: 8px; }\n        .user-avatar { \n            width: 32px; height: 32px; border-radius: 50%; \n            margin-right: 10px; object-fit: cover; \n        }\n        .user-info {\n    display: flex;\n    flex-direction: column;\n}\n        .user-name { \n        font-weight: 500; \n        font-size: 15px;\n        color:#1E88E5\n          }\n        .comment-text { \n            margin-left: 42px;\n            margin-bottom: 8px; font-size: 15px; line-height: 1.5; word-break: break-word; \n        }\n        .comment-time { font-size: 12px; color: #999; }\n        .comment-media { \n            margin-left:42px;\n            margin-bottom:10px;\n            margin-top:10px;\n            margin-right:8px;\n            position: relative; cursor: pointer; \n            border-radius: 6px; overflow: hidden;\n            max-width:100%\n        }\n        .comment-media details {\n            margin: 8px 0;\n            border-radius: 6px;\n            overflow: hidden;\n        }\n        .comment-media summary {\n            padding: 6px 12px;\n            background: #f5f5f5;\n            border-radius: 4px;\n            cursor: pointer;\n            list-style: none;\n            font-size: 14px;\n            color: #1E88E5;\n            transition: background 0.2s;\n        }\n        .comment-media summary:hover {\n            background: #e8f0fe;\n        }\n        .comment-media summary::-webkit-details-marker {\n            display: none;\n        }\n        .comment-media div {\n            margin-top: 8px;\n            position: relative;\n            cursor: pointer;\n        }\n        .comment-media img {\n            max-width: 100%;\n            border-radius: 4px;\n            display: block;\n        }\n.active {\n  pointer-events: none; \n}\n\n   .float-buttons {\n      position: fixed;\n      right: 20px;\n      bottom: 20px;\n      display: flex;\n      flex-direction: column;\n      gap: 10px;\n      z-index: 1001;\n    }\n    .reply-modal {\n  position: fixed;\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  background: rgba(0,0,0,0.5);\n  z-index: 1000;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n}\n.modal-content {\n  width: 80%;\n  max-width: 600px;\n  max-height: 80vh;\n  background: white;\n  border-radius: 8px;\n  overflow: hidden;\n  display: flex;\n  flex-direction: column;\n}\n.modal-header {\n  padding: 15px;\n  border-bottom: 1px solid #eee;\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n}\n.modal-body {\n  flex: 1;\n  overflow-y: auto;\n  padding: 15px;\n}\n.modal-footer {\n  padding: 10px;\n  text-align: center;\n}\n.loading-spinner {\n  display: none;\n  width: 20px;\n  height: 20px;\n  border: 3px solid rgba(0,0,0,0.1);\n  border-radius: 50%;\n  border-top-color: #1d9bf0;\n  animation: spin 1s linear infinite;\n  margin: 0 auto;\n}\n@keyframes spin {\n  to { transform: rotate(360deg); }\n}\n.reply-sort {\n  display: flex;\n  gap: 10px;\n  align-items: center;\n}\n.close-btn {\n  cursor: pointer;\n  font-size: 20px;\n}\n.like_counts{\ncolor:#999;\nfont-size:12px;\nmargin-left:auto;\npadding-right:8px\n}\n    .float-btn {\n      width: 25px;\n      height: 25px;\n      border-radius: 50%;\n      background: rgba(0, 0, 0, 0.5);\n      color: white;\n      border: none;\n      cursor: pointer;\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      font-size: 15px;\n      transition: all 0.3s ease;\n      box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);\n      -webkit-tap-highlight-color: transparent !important;\n  tap-highlight-color: transparent !importan;\n  outline: none !important;\n  -webkit-tap-highlight-color: transparent !important;\n    }\n   \n.float-btn:focus,\n.float-btn:focus-visible,\n.float-btn:active,\n.float-btn:-moz-focusring {\n  outline: none !important;\n  box-shadow: none !important;\n}\n.morerep{\ntext-align:right;\ncolor:#4590B5;\nfont-size:13px\n}\n    .float-btn:hover {\n      background: rgba(0, 0, 0, 0.7);\n      transform: scale(1.1);\n    }\n       .error-message{\n       \tbackground:#eee;\n        padding:15px;\n        font-size:18px;\n       \t}\n\n        .media-preview::before {\n            content: \"⬇️ \";\n        }\n        .comment-media[open] summary .media-preview::before {\n            content: \"⬆️ \";\n        }\n        .url-icon img { vertical-align: middle; margin: 0 1px;width:1em; height:1em}\n        .surl-text { color: #1E88E5; margin-right: 5px; }\n        @media (max-width: 500px) {\n            .image-gallery { grid-template-columns: repeat(2, 1fr); }\n            body { padding: 10px; }\n            .main-content, .comments-section { padding: 12px; }\n        }     \n         \n        .viewer-open {\n            overflow: hidden;\n            position: fixed;\n            width: 100%;\n        }\n    </style>\n    <script>\n    function formatTime(dateStr) {\n    const date = new Date(dateStr);\n    const year = date.getFullYear();\n    const month = date.getMonth() + 1;     const day = date.getDate();\n    const hours = date.getHours().toString().padStart(2, '0');\n    const minutes = date.getMinutes().toString().padStart(2, '0');\n    \n    return \\`\\${year}年\\${month}月\\${day}日 \\${hours}:\\${minutes}\\`;\n}\n\nfunction replaceurl(t){\nlet \ttext = String(t).replace(/href=(\\\\/n\\\\/[^\\\\s]+)/g,'href=\\\"https://m.weibo.cn$1\\\"').replace(/\\\\/\\\\/s.weibo.com\\\\/weibo\\\\?q=/g,\"https://m.weibo.cn/search?containerid=100103type%3D1%26q%3D\").replace(/https?:\\\\/\\\\/weibo.com\\\\/\\\\d+\\\\/(\\\\d+)/g,'https://m.weibo.cn/a/$1');\n\treturn text\n\t}\n\n   function getcomments(list, isReply = false) {\n  return list.map(item => {\n    let details = \"\";\n    if (item.pic_num !== 0) {\n     let pic_ids =  item.url_struct[0].pic_ids;      \n      const pic = item?.url_struct[0]?.pic_infos[pic_ids]?.large?.url.replace(/https?/,'https');\n      details = \\`\n        <details class=\"comment-media\">\n          <summary><span class=\"media-preview\">📷 查看图片</span></summary>\n          <div class=\"comment_pic\">\n            <img src=\"\\${pic}\" alt=\"评论图片\">\n          </div>\n        </details>\\`;\n    }\n    \n    let replies = \"\";\n    if (item.comments && item.comments.length > 0) {\n      replies = \\`\n        <div class=\"comment-replies\">\n          \\${getcomments(item.comments, true)}\n          \\${item.total_number > 1 ? \\`\n            <div class=\"morerep\" onclick=\"loadComments({id:'\\${item.id}',isReply:true})\">\n              共\\${item.total_number}条回复\n            </div>\\` : ''}\n        </div>\\`;\n    }\n    \n    return \\`\n      <div class=\"comment-item\">\n        <div class=\"comment-user\">\n          <img class=\"user-avatar\" src=\"\\${item.user.profile_image_url}\" onclick=\"window.open('https://m.weibo.cn/n/\\${item.user.screen_name}')\">\n          <div class=\"user-info\">\n            <span class=\"user-name\" onclick=\"window.open('https://m.weibo.cn/n/\\${item.user.screen_name}')\">\\${item.user.screen_name}</span>\n            <span class=\"comment-time\">\\${formatTime(item.created_at)}</span>\n          </div>\n          <div class=\"like_counts\"><span>♡\\${formatCount(item.like_counts)}</span></div>\n        </div>\n        <div class=\"comment-text\">\\${replaceurl(item.text).replace(/(<img.*?>)/g,'<span class=\"url-icon\">$1</span>')}</div>\n        \\${details}\n        \\${replies}\n      </div>\\`;\n  }).join('');\n}\n    </script>\n       \n</head>\n<body>\n    ${result}\n  <div class=\"float-buttons\">\n    <button class=\"float-btn\" id=\"toTop\" title=\"回到顶部\">↑</button>\n    <button class=\"float-btn\" id=\"toBottom\" title=\"回到底部\">↓</button>\n  </div>\n    <script src=\"https://cdn.jsdelivr.net/npm/viewerjs@1.10.5/dist/viewer.min.js\"></script>\n    <script>\n    // 全局变量\n     let MaxId = [];     \n     let repMaxId = [];      \n     let currentMaxId = null;\n     let repCurrentMaxId = null;\n     let isLoading = false;\n     let repLoading = false;\n     const weiboId = \"${id}\";\n     let sortType = 0;\n     let repSortType = 0;\n     \n     function formatCount(count) {\n  if (count < 10000) return count.toString();  \n  const inWan = (count / 10000).toFixed(2);\n  return inWan.endsWith('.00') \n    ? \\`\\${inWan.split('.')[0]}万\\` \n    : \\`\\${inWan}万\\`;\n}\n\n        //图片加载器\n        function initImageViewer() {\n        \tvar option = {\n        \t\t          url: 'data-original',\n        \t          \tmaxZoomRatio: 0.9,\n                    inline: false,\n                    movable: true,\n                    zoomable: true,\n                    \n                    toolbar: {\n                        zoomIn: 1,\n                        zoomOut: 1,\n                        oneToOne: 0,\n                        reset: 1,\n                        prev: 1,\n                        next: 1,\n                        rotateLeft: 0,\n                        rotateRight: 0,\n                        flipHorizontal: 0,\n                        flipVertical: 0\n                    }    \n                };                          \n            try {                       \n             new Viewer(document.querySelector('.image-gallery'),option);          \n  document.querySelectorAll('.comment-media').forEach(x=>{new Viewer(x,option)})                   \n            } catch (e) {\n                                 \n                }\n            \n        }\n        \n// 获取评论函数\nasync function loadComments(options = {}) {\n  const {\n    id = weiboId,\n    isReply = false,\n    isLoadMore = false,\n    targetElement = isReply ? '#reply-list' : '#container',\n    tElement = isReply ? '#reply-list .comments-list' : '.comments-list',\n    containerTemplate = null,\n    sort = isReply ? repSortType : sortType\n  } = options;\n\n  \n  const loadingFlag = isReply ? repLoading : isLoading;\n  if (loadingFlag) return;\n  isReply ? repLoading = true : isLoading = true;\n\n  \n  let url;\n  if (isReply) {\n    url = \\`https://weibo.com/ajax/statuses/buildComments?flow=\\${sort}&is_reload=1&id=\\${id}&is_show_bulletin=2&is_mix=1&fetch_level=1&max_id=\\${isLoadMore ? repCurrentMaxId : 0}&count=20&locale=zh-CN\\`\n  } else {\n   url =\\`https://weibo.com/ajax/statuses/buildComments?flow=\\${sort}&is_reload=1&id=\\${id}&is_show_bulletin=2&is_mix=0&count=20&fetch_level=0&locale=zh-CN\\`;\n  \n  \n    //url = \\`https://m.weibo.cn/comments/hotflow?id=\\${id}&mid=\\${id}&max_id_type=\\${sort}\\`;\n    if (isLoadMore && currentMaxId) {\n      url += \\`&max_id=\\${currentMaxId}\\`;\n    }\n  }\n\n  try {\n    const response = await fetch(url, {\n      headers: {\n        'Accept': 'application/json',\n        'X-Requested-With': 'XMLHttpRequest'\n      },\n      credentials: 'include'\n    });\n\n    const data = await response.json();\n    \n    \n    if (data.ok === -100) {\n      if (/error-message/.test(document.querySelector(targetElement).innerHTML)) {\n        throw new Error(\"需要登录\");\n      }\n      document.querySelector(targetElement).innerHTML += \\`\n        <div class=\"error-message\">\n          评论加载失败:请<a href=\"\\${data.url}\">访问首页或登录</a>后重试\n        </div>\n      \\`;\n      throw new Error(\"需登录\");\n    }\n\n    \n    const currentIdArray = isReply ? repMaxId : MaxId;\n    const newMaxId = data.max_id;\n    \n    if (currentIdArray.includes(newMaxId)) {\n      throw new Error(\"没有更多内容了\");\n    }\n    \n    if (isReply) {\n      repCurrentMaxId = newMaxId;\n      repMaxId.push(newMaxId);\n    } else {\n      currentMaxId = newMaxId;\n      MaxId.push(newMaxId);\n    }\n    \n    \n    const commentsData = data.data;\n        \n    if (isReply && !isLoadMore && !document.querySelector('.reply-modal')) {\n      initReplyModal(id);\n    }\n\n    if (isLoadMore) {\n      document.querySelector(tElement).innerHTML += getcomments(commentsData, isReply);\n    } else {\n      if (data.ok === 0) throw new Error(\"没有内容\");\n        \n      \n      let content = \\`<div class=\"comments-header\">\n            <div class=\"comments-title\"><h3>评论（\\${formatCount(data.total_number)}）</h3></div>\n            <div class=\"sort-controls\">\n              <button id=\"sortHot\" class=\"sort-btn \\${sortType===0?'active':''}\" \n                onclick=\"loadComments({sort:0})\">热度</button>\n              <button id=\"sortTime\" class=\"sort-btn \\${sortType===1?'active':''}\" \n                onclick=\"loadComments({sort:1})\">时间</button>\n            </div>\n          </div>\\`;\n            \n      const html =  \\`\n        <div class=\"comments-section\">\n           \\${isReply?\"\":content}        \n          <div class=\"comments-list\">\\${getcomments(commentsData)}</div>\n        </div>\n      \\`;\n      document.querySelector(targetElement).innerHTML = html;\n    }\n\n\n  } catch (error) {\n    if (isLoadMore) {\n      showToast(/没有更多/.test(error.message)?error.message:\"评论加载失败\")\n    } else if (!/没有内容|登录/.test(error.message)) {\n      document.querySelector(targetElement).innerHTML = \\`\n        <div class=\"error-message\">\n          评论加载失败: \\${error.message}\n          <button onclick=\"loadComments(\\${JSON.stringify(options)})\">重试</button>\n        </div>\n      \\`;\n    }\n  } finally {\n    isReply ? repLoading = false : isLoading = false;\n  }\n}\n\n\nfunction initReplyModal(id) {\n  const modal = document.createElement('div');\n  modal.className = 'reply-modal';\n  modal.dataset.commentId = id;\n  modal.innerHTML = \\`\n    <div class=\"modal-content\">\n      <div class=\"modal-header\">\n        <h4>回复列表</h4>\n        <div class=\"reply-sort\">\n          <button class=\"sort-btn \\${repSortType===0?'active':''}\" \n            onclick=\"loadComments({id:'\\${id}',isReply:true,sort:0});repSortType=0\" data-sort-type=0>热度</button>\n          <button class=\"sort-btn \\${repSortType===1?'active':''}\" \n            onclick=\"loadComments({id:'\\${id}',isReply:true,sort:1});repSortType=1\" data-sort-type=1>时间</button>\n          <span class=\"close-btn\" onclick=\"this.closest('.reply-modal').remove();repMaxId=[];repSortType=0;repCurrentMaxId=null\">×</span>\n        </div>\n      </div>\n      <div class=\"modal-body\" id=\"reply-list\"></div>\n    </div>\n  \\`;\n  document.body.appendChild(modal);\n  modal.addEventListener('click', function(e) {\n  \n  if (e.target === modal) {\n    modal.remove();\n    repMaxId = [];\n    repSortType = 0;\n    repCurrentMaxId = null;\n  }\n});\n\n  \n  const replyList = document.querySelector(\"#reply-list\");\nif (replyList) {\n  replyList.addEventListener('scroll', () => {\n    if (replyList.scrollTop + replyList.clientHeight >= replyList.scrollHeight - 15) {\n      loadComments({id:id,isLoadMore: true, isReply: true }); \n    }\n  });\n}\n  \n}\n\n\nfunction showToast(message) {\n  const toast = document.createElement('div');\n  toast.textContent = message;\n  toast.style.position = 'fixed';\n  toast.style.bottom = '50px';\n  toast.style.left = '50%';\n  toast.style.transform = 'translateX(-50%)';\n  toast.style.backgroundColor = 'rgba(0,0,0,0.7)';\n  toast.style.color = 'white';\n  toast.style.padding = '5px 5px';\n  toast.style.borderRadius = '5px';\n  toast.style.zIndex = '1000';\n  \n  document.body.appendChild(toast);\n  setTimeout(() => {\n    document.body.removeChild(toast);\n  }, 1000);\n}\n\ndocument.getElementById('toTop').addEventListener('click', function() {\n      if(document.querySelector(\"#reply-list\")){\n      document.querySelector(\"#reply-list\").scrollTo({\n        top: 0,\n        behavior: 'smooth'\n      });\n      }else{\n      window.scrollTo({\n        top: 0,\n        behavior: 'smooth'\n      });\n      }\n      \n    });\n    \n    document.getElementById('toBottom').addEventListener('click', function() {\n    if(document.querySelector(\"#reply-list\")){\n      document.querySelector(\"#reply-list\").scrollTo({\n        top: document.querySelector(\"#reply-list\").scrollHeight,\n        behavior: 'smooth'\n      });\n      }else{\n      window.scrollTo({\n        top: document.body.scrollHeight,\n        behavior: 'smooth'\n      });\n      }\n    });\n    \n    \n    window.addEventListener('scroll', function() {\n      const toTopBtn = document.getElementById('toTop');\n      const toBottomBtn = document.getElementById('toBottom');\n      const scrollPosition = window.scrollY;\n      \n      \n      if (scrollPosition === 0) {\n        toTopBtn.style.opacity = '0.5';\n        toTopBtn.style.pointerEvents = 'none';\n      } else {\n        toTopBtn.style.opacity = '1';\n        toTopBtn.style.pointerEvents = 'auto';\n      }\n      \n      \n      if (window.innerHeight + scrollPosition >= document.body.scrollHeight - 50) {\n        toBottomBtn.style.opacity = '0.5';\n        toBottomBtn.style.pointerEvents = 'none';\n      } else {\n        toBottomBtn.style.opacity = '1';\n        toBottomBtn.style.pointerEvents = 'auto';\n      }\n    });\n\n\n\n\n\n\ndocument.addEventListener('DOMContentLoaded', () => {\n  \n  document.addEventListener('click', (e) => {\n    \n    if (e.target.id === 'sortHot') {\n      if (sortType !== 0) {\n        sortType = 0;\n        e.target.classList.add('active');\n        document.getElementById('sortTime').classList.remove('active');\n        currentMaxId = null;\n        MaxId = [];\n        loadComments({sort:0}); \n      }\n    }\n    \n    if (e.target.id === 'sortTime') {\n      if (sortType !== 1) {\n        sortType = 1;\n        e.target.classList.add('active');\n        document.getElementById('sortHot').classList.remove('active');\n        currentMaxId = null;\n        MaxId = [];\n        loadComments({sort:1}); \n      }\n    }\n\n    \n    if (e.target.classList.contains('sort-btn')) {\n      const modal = e.target.closest('.reply-modal');\n      if (modal) {\n        const id = modal.dataset.commentId;\n        repSortType = parseInt(e.target.dataset.sortType);\n        \n        document.querySelectorAll('.reply-modal .sort-btn').forEach(btn => {\n          btn.classList.toggle('active', parseInt(btn.dataset.sortType) === repSortType);\n        });\n        repCurrentMaxId = null;\n        repMaxId = [];\n      }\n    }\n  });\n  \n  \n  loadComments();\n  \n  \n  window.addEventListener('scroll', () => {\n    if ((window.innerHeight + window.scrollY) >= document.body.offsetHeight - 50) {\n      loadComments({ isLoadMore: true });\n    }\n  });\n  \n  function findScrollingElement() {\n  const elements = document.querySelectorAll('*');\n  for (const el of elements) {\n    if (el.scrollHeight > el.clientHeight && el.scrollTop > 0) {\n      return el;\n    }\n  }\n  return document.documentElement; \n}\n  initImageViewer();\n});\n     \n    </script>\n</body>\n</html>`;\nresult;",
    "ruleImage": "{{$.pic_middle||$..bmiddle_pic||$..bmiddle.url||$..page_pic.url||$.mblog.page_info.page_pic.url||$.mblog.user.avatar_hd||$.avatar_hd||$.user.avatar_hd||$..avatar_hd||$.left_tag_img||$.pic##.*\\n+}},{\"headers\":{\"referer\":\"https://m.weibo.cn\"}}\n<js>##thumbnail##bmiddle</js>",
    "ruleLink": "$.id||$.user.id@js:\"https://weibo.com/detail/\"+result",
    "ruleNextPage": "page",
    "rulePubDate": "$.created_at||$.desc1\n@js:\nif(/\\+0800/.test(result)){\ndate=new Date(result);\ntime=date.getTime();\nfunction formatDate2(inputTime) {\n    var date = new Date(inputTime);\n    var y = date.getFullYear();\n    var m = date.getMonth() + 1;\n    m = m < 10 ? ('0' + m) : m;\n    var d = date.getDate();\n    d = d < 10 ? ('0' + d) : d;\n    return y +'-' + m + '-' + d;\n};\n\nfunction formatDate(now) {\n    var time = formatDate2(now)\n    var date1 = new Date(now)\n    var date2 = new Date()\n    var date3 = date2.getTime() - date1.getTime()\n    var days = Math.floor(date3 / (24 * 3600 * 1000))\n    var leave1 = date3 % (24 * 3600 * 1000) \n    var hours = Math.floor(leave1 / (3600 * 1000))\n    var leave2 = leave1 % (3600 * 1000)\n    var minutes = Math.floor(leave2 / (60 * 1000))\n    var leave3 = leave2 % (60 * 1000)\n    if (days < 1 && hours < 1) { return minutes + \"分前\" } else if (days < 1) { return hours + \"小时 \" + minutes + \"分前\" } else {\n        if (days < 7) {\n            return days + \"天 \" + hours + \"小时前 \"\n        } else { return time }\n    }\n}\n\nfunction formatCount(count) {\n  if (count < 10000) return count.toString();\n  const inWan = (count / 10000).toFixed(2);\n  return inWan.endsWith('.00') \n    ? `${inWan.split('.')[0]}万` \n    : `${inWan}万`;\n}\n\n\nresult = '📅 '+formatDate(time)+\"  📝\"+formatCount(java.getString(\"$.comments_count\"))+\"  ❤️\"+formatCount(java.getString(\"$.attitudes_count\"))+\"      @\"+java.getString(\"$.user.screen_name\");\n}else{result=result}",
    "ruleTitle": "$.text_raw",
    "singleUrl": false,
    "sortUrl": "热门::https://weibo.com/ajax/feed/hottimeline?since_id=0&refresh=0&group_id=102803&containerid=102803&extparam=discover%7Cnew_feed&max_id=0&count=20\n实时::https://weibo.com/ajax/feed/hottimeline?since_id=0&refresh=1&group_id=102803600343&containerid=102803_ctg1_600343_-_ctg1_600343&extparam=discover%7Cnew_feed&max_id=0&count=20\n榜单::https://weibo.com/ajax/feed/hottimeline?since_id=0&refresh=1&group_id=102803600169&containerid=102803_ctg1_600169_-_ctg1_600169&extparam=discover%7Cnew_feed&max_id=0&count=20\n小时榜::https://weibo.com/ajax/feed/hottimeline?since_id=0&group_id=1028039999&containerid=102803_ctg1_9999_-_ctg1_9999_home&extparam=discover%7Cnew_feed&max_id=0&count=20\n昨日::https://weibo.com/ajax/feed/hottimeline?since_id=0&refresh=1&group_id=1028038899&containerid=102803_ctg1_8899_-_ctg1_8899&extparam=discover%7Cnew_feed&max_id=0&count=20\n前日::https://weibo.com/ajax/feed/hottimeline?since_id=0&refresh=1&group_id=1028038799&containerid=102803_ctg1_8799_-_ctg1_8799&extparam=discover%7Cnew_feed&max_id=0&count=20\n周榜::https://weibo.com/ajax/feed/hottimeline?since_id=0&refresh=1&group_id=1028038698&containerid=102803_ctg1_8698_-_ctg1_8698&extparam=discover%7Cnew_feed&max_id=0&count=20\n男榜::https://weibo.com/ajax/feed/hottimeline?since_id=0&refresh=1&group_id=1028038998&containerid=102803_ctg1_8998_-_ctg1_8998&extparam=discover%7Cnew_feed&max_id=0&count=20\n女榜::https://weibo.com/ajax/feed/hottimeline?since_id=0&refresh=1&group_id=1028038997&containerid=102803_ctg1_8997_-_ctg1_8997&extparam=discover%7Cnew_feed&max_id=0&count=20",
    "sourceComment": "需登录",
    "sourceGroup": "阅读,R18",
    "sourceIcon": "https://is1-ssl.mzstatic.com/image/thumb/Purple221/v4/52/6a/04/526a04f7-ccfd-612e-64cb-ece08b01b4e6/WeiboAppIcon-0-0-1x_U007epad-0-1-0-0-85-220.png/492x0w.webp",
    "sourceName": " 📖\n微博热门",
    "sourceUrl": "https://m.weibo.cn#微博热门"
  },
  {
    "articleStyle": 0,
    "customOrder": -101,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\n  \"User-Agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36\"\n}",
    "injectJs": "var wrapElements = document.querySelectorAll('div.wrap');\nvar adWrapElements = document.getElementsByClassName('ad-wrap');\n\nfor (var i = 0; i < wrapElements.length; i++) {\n  var wrapElement = wrapElements[i];\n  wrapElement.parentNode.removeChild(wrapElement);\n}\n\nwhile (adWrapElements.length > 0) {\n  var adWrapElement = adWrapElements[0];\n  adWrapElement.parentNode.removeChild(adWrapElement);\n}\n\nlet aaaa = window.location.href;\n\nif(/\\/a\\/\\d+/.test(aaaa)){\n\twindow.location.href = window.location.href.replace(/a/,'detail')\n\t}\n\n\nif(/ttarticle/.test(aaaa)){\n\nfunction styleExtractedContent() {\n  \n  const originalContent = document.querySelector(\".main_editor\").innerHTML.replace(/style=\"opacity.*?\"|&nbsp;/g,'').replace(/<br>/g,'<br>&emsp;&emsp;');\n  document.body.innerHTML = '';\n  \n  const styledContainer = document.createElement('div');\n  styledContainer.className = 'styled-article';\n  \n  \n  styledContainer.innerHTML = originalContent;\n  \n  \n  \n  document.body.appendChild(styledContainer);\n  \n  \n  const style = document.createElement('style');\n  style.textContent = `\n    .styled-article {\n      max-width: 800px;\n      margin: 0 auto;\n      padding: 20px;\n      font-family: \"PingFang SC\", \"Hiragino Sans GB\", \"Microsoft YaHei\", sans-serif;\n      line-height: 1.8;\n      color: #333;\n      background: #fff;\n    }\n    \n    .styled-article .title {\n      font-size: 24px;\n      font-weight: bold;\n      margin-bottom: 20px;\n      color: #222;\n      text-align: center;\n      padding-bottom: 10px;\n      border-bottom: 1px solid #eee;\n    }\n    \n    .styled-article .authorinfo {\n      display: flex;\n      justify-content: space-between;\n      align-items: center;\n      margin-bottom: 20px;\n      padding-bottom: 15px;\n      border-bottom: 1px solid #f5f5f5;\n    }\n    \n    .styled-article .W_face_radius {\n      width: 40px;\n      height: 40px;\n      border-radius: 50%;\n      margin-right: 10px;\n      vertical-align: middle;\n    }\n    \n    .styled-article .author1 a {\n      font-size: 16px;\n      color: #333;\n      text-decoration: none;\n    }\n    \n    .styled-article .time {\n      color: #999;\n      font-size: 14px;\n    }\n    \n    .styled-article .preface_v2 {\n      font-style: italic;\n      color: #666;\n      margin-bottom: 25px;\n      padding: 15px;\n      background: #f9f9f9;\n      border-left: 3px solid #ddd;\n    }\n    \n    .styled-article *[node-type=\"contentBody\"] p {\n      margin-bottom: 25px;\n      text-align: justify;\n      font-size: 16px;\n      color: #222; \n      text-indent: 1.7em; \n    }\n    \n    .styled-article .artical_add_box {\n      margin-top: 40px;\n      padding: 20px;\n      background: #fafafa;\n      border-radius: 8px;\n    }\n    \n    .styled-article .btn_bed a {\n      display: inline-block;\n      padding: 8px 15px;\n      background: #ff8200;\n      color: white;\n      border-radius: 4px;\n      text-decoration: none;\n    }\n    \n    \n    @media (max-width: 600px) {\n      .styled-article {\n        padding: 15px;\n      }\n      \n      .styled-article .title {\n        font-size: 20px;\n      }\n      \n      .styled-article .WB_editor_iframe_new p {\n        font-size: 15px;\n      }\n    }\n  `;\n  \n  document.head.appendChild(style);\n}\n\n\nstyleExtractedContent();\n\n\n\t\n\t\n\t}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginUi": "[{\n    \t  name:\"☕️支持源作者\",\n    \t  type: \"button\",\n       action: \"toThank()\",\n       \"style\": {\n      \"layout_flexGrow\": 1,\n      \"layout_flexBasisPercent\": 1\n    }\n    \t},\n    {\n        \"name\": \"👤登录\",\n        \"type\": \"button\",\n        \"action\": \"toLogin()\",\n        \"style\": {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": 0.4\n        }\n    },\n    {\n        \"name\": \"📜我的\",\n        \"type\": \"button\",\n        \"action\": \"selected(4)\",\n        \"style\": {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": 0.4\n        }\n    },\n    {\n        \"name\": \"📢社会\",\n        \"type\": \"button\",\n        \"action\": \"selected(0)\",\n        \"style\": {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": 0.4\n        }\n    },\n    {\n        \"name\": \"🔥热搜\",\n        \"type\": \"button\",\n        \"action\": \"selected(3)\",\n        \"style\": {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": 0.4\n        }\n    },\n    {\n        \"name\": \"🎤文娱\",\n        \"type\": \"button\",\n        \"action\": \"selected(2)\",\n        \"style\": {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": 0.4\n        }\n    },\n    {\n        \"name\": \"💡生活\",\n        \"type\": \"button\",\n        \"action\": \"selected(1)\",\n        \"style\": {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": 0.4\n        }\n    }\n]",
    "loginUrl": "@js:\n\nfunction toLogin(){\n\tjava.startBrowser(\"https://weibo.com\",\"登录\");\n\tjava.startBrowser(\"http://m.weibo.cn\",\"登录\")\n\t\n\t}\nfunction selected(n){\n\tlist = [\"社会::https://weibo.com/ajax/statuses/social\",\n\"生活::https://weibo.com/ajax/statuses/life\",\n\"文娱::https://weibo.com/ajax/statuses/entertainment\",\n\"热搜::https://weibo.com/ajax/side/hotSearch\",\n\"我的::https://weibo.com/ajax/statuses/mineBand\"]\n\tlet l = list[n].split(\"::\");\n\t\nsource.putLoginHeader(l[1]);\njava.toast(\"请刷新分类加载【\"+l[0]+\"】\")\n\t}\n\n\nfunction toThank(){\n\tjava.startBrowser(\"data:text/html;base64,PGltZyBzdHlsZT0id2lkdGg6MTAwJSIgc3JjPSJhYm91dDpibGFuayIgb25lcnJvcj0idGhpcy5zcmM9YXRvYignYUhSMGNITTZMeTluYVhSbFpTNWpiMjB2WjNWaGJtVnlNREF4TVRJMUwySnZiMnR6YjNWeVkyVXZjbUYzTDIxaGMzUmxjaThsUlRVbE9VSWxRa1VsUlRjbE9Ea2xPRGN2WjNWaGJtVnlMbmRsWW5BPScpIj4KCg==\",\"感谢你的支持\");\t\n\t}",
    "ruleArticles": "$.data.cards[*].card_group[*]&&$.data.cards[*]",
    "ruleContent": "@js:\nfunction formatTime(dateStr) {\n    const date = new Date(dateStr);\n    const year = date.getFullYear();\n    const month = date.getMonth() + 1; \n    const day = date.getDate();\n    const hours = date.getHours().toString().padStart(2, '0');\n    const minutes = date.getMinutes().toString().padStart(2, '0');\n    \n    return `${year}年${month}月${day}日 ${hours}:${minutes}`;\n}\nfunction formatCount(count) {\n  if (count < 10000) return count.toString();  \n  const inWan = (count / 10000).toFixed(2);\n  return inWan.endsWith('.00') \n    ? `${inWan.split('.')[0]}万` \n    : `${inWan}万`;\n}\n\nfunction getContent($) {\n    let galleryItems = \"\",videos=\"\";\n    let long_imgs = ($.pic_num??0)?($.pics??[]):[];\n    let long_video = $.page_info?.type===\"video\"?$.page_info:{};\n    \n    if(long_imgs.length){\n        galleryItems = long_imgs.map((img, i) => `\n        <div class=\"gallery-item\">\n            <img src=\"${img.url}\" data-original=\"${img?.large?.url}\" loading=\"lazy\">\n            <div class=\"zoom-icon\">🔍</div>\n        </div>`).join('');\n       galleryItems = `<div class=\"image-gallery\">${galleryItems}</div>`;\n    }\n    if(JSON.stringify(long_video)!==\"{}\"){\n        if(long_video.urls){\n        long_video = long_video.urls;\n        videos = long_video.hevc_mp4_hd || long_video.mp4_720p_mp4 || long_video.mp4_hd_mp4 || long_video.mp4_ld_mp4\n        }else{\n        long_video = long_video.media_info;\n        videos = long_video.stream_url_hd || long_video.stream_url\n        }\n        \n        videos = `<div class=\"media-container\"><video src=\"${videos}\" controls poster=\"${$.page_info.page_pic.url}\"></video></div>`\n    }\n     \n    return `\n      <div class=\"comment-item\">\n        <div class=\"comment-user\">\n          <img class=\"user-avatar\" src=\"${$?.user?.profile_image_url}\" onclick=\"window.open('https://m.weibo.cn/n/${$?.user?.screen_name}')\">\n          <div class=\"user-info\">\n            <span class=\"user-name\" onclick=\"window.open('https://m.weibo.cn/n/${$?.user?.screen_name}')\">${$?.user?.screen_name}</span>\n            <span class=\"comment-time\">${formatTime($.created_at)}</span>\n          </div>\n          <div class=\"like_counts\"><span>♡${formatCount($.attitudes_count)}</span></div>\n        </div>\n        <div class=\"comment-text\">${$.text.replace(/https?:\\/\\/m.weibo.cn\\/\\d+\\/(\\d+)/g,'https://m.weibo.cn/a/$1').replace(/'\\/n\\//g,\"'https://m.weibo.cn/n/\")}</div>\n        ${videos}\n        ${galleryItems}\n      </div>`;\n}\n\nlet id = baseUrl.match(/(\\d+)/)[1];\nlet b = baseUrl.replace(/weibo.com/,'m.weibo.cn');\nvar html = java.ajax(b);\n\ntry{\nvar render_data = html.match(/var \\$(render_data = \\[\\{[\\s\\S]+?\\|\\| \\{\\});/)[1];\neval(render_data);\nlet $ = render_data.status;\nlet longText = getContent($);\nlet retweeted_status = $.retweeted_status??\"\";\nif(retweeted_status){\n   retweeted_status = getContent(retweeted_status)\n}\n\nretweeted_status = retweeted_status ? \"<div class='retweeted_status'>\" + retweeted_status+\"</div>\":\"\";\nresult = longText + retweeted_status;\n}catch(e){\n\tjava.log(e);\n\tresult = html;\n\t\n\t}\nresult = `<a href=\"${b.replace(/detail/,'a')}\" class=\"original-link\">原文地址</a><div class=\"main-content\">${result}</div><div id=\"container\"></div>`;\n\nresult = `<!DOCTYPE html>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n   \n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>微博详情</title>\n    <link rel=\"stylesheet\" href=\"https://cdn.jsdelivr.net/npm/viewerjs@1.10.5/dist/viewer.min.css\">\n    <style>      \n       * { margin: 0; padding: 0; box-sizing: border-box; }\n        body { \n            font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif; \n            line-height: 1.6; color: #333; background-color: #f5f5f5; \n            padding: 15px; max-width: 750px; margin: 0 auto; \n        }\n        .original-link { \n            display: block; padding: 12px; background: #fff; border-radius: 8px; \n            margin-bottom: 10px; text-decoration: none; color: #1E88E5; \n            font-weight: 500; box-shadow: 0 1px 3px rgba(0,0,0,0.05); \n        }\n        .main-content { \n            background: #fff; padding: 15px; border-radius: 8px; \n            margin-bottom: 15px; box-shadow: 0 1px 3px rgba(0,0,0,0.05); \n        }\n        .divider { border: none; height: 1px; background-color: #eee; margin: 15px 0; }\n        .media-container { margin: 15px 0; border-radius: 8px; overflow: hidden; }\n        .media-container video { width: 100%; border-radius: 8px; }\n        .image-gallery { \n            display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; margin: 15px 0; \n            max-width:100%\n        }\n        .gallery-item { \n            aspect-ratio: 1; overflow: hidden; border-radius: 8px; \n            position: relative; cursor: pointer; \n        }\n        .gallery-item img { \n            width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s; \n        }\n        .gallery-item:hover img { transform: scale(1.05); }\n        .zoom-icon { \n            position: absolute; top: 5px; right: 5px; background: rgba(0,0,0,0.5); \n            color: white; width: 20px; height: 20px; border-radius: 50%; \n            display: flex; align-items: center; justify-content: center; \n            font-size: 12px; opacity: 0; transition: opacity 0.3s; \n        }\n        .retweeted_status{\n        background:#ECECEC;\n        padding:15px;\n        border-radius:8px;\n        }\n        .gallery-item:hover .zoom-icon { opacity: 1; }\n        .comments-section { \n            background: #fff; padding: 15px; border-radius: 8px; \n            box-shadow: 0 1px 3px rgba(0,0,0,0.05); \n        }\n        .comment-replies{\n            \tbackground:#efefef;\n            \tpadding:5px 5px 5px 20px;\n            \tmargin-left:42px;\n            \tborder-radius: 8px;\n            \tbox-shadow: 0 1px 3px rgba(0,0,0,0.05);\n            \t\n        \t}\n        \t\n.comments-header {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  margin-bottom:10px\n}\n\n.comments-title {\n  margin: 0;\n  font-size: 18px; \n  color: #333; \n}\n\n.sort-controls {\n  display: flex;\n  align-items: center;\n}\n\n.sort-btn {\n  padding: 4px 12px;\n  border: 1px solid #e0e0e0;\n  background: #f5f5f5;\n  border-radius: 15px;\n  font-size: 12px;\n  cursor: pointer;\n  margin-right: 8px; \n  transition: all 0.3s;\n}\n\n\n.sort-btn:last-child {\n  margin-right: 0;\n}\n\n.sort-btn.active {\n  background: #1d9bf0;\n  color: white;\n  border-color: #1d9bf0;\n}\n\n     \n        .comment-item { padding: 12px 0;  }\n           \n        .comment-user { display: flex; align-items: flex-start; margin-bottom: 8px; }\n        .user-avatar { \n            width: 32px; height: 32px; border-radius: 50%; \n            margin-right: 10px; object-fit: cover; \n        }\n        .user-info {\n    display: flex;\n    flex-direction: column;\n}\n        .user-name { \n        font-weight: 500; \n        font-size: 15px;\n        color:#1E88E5\n          }\n        .comment-text { \n            margin-left: 42px;\n            margin-bottom: 8px; font-size: 15px; line-height: 1.5; word-break: break-word; \n        }\n        .comment-time { font-size: 12px; color: #999; }\n        .comment-media { \n            margin-left:42px;\n            margin-bottom:10px;\n            margin-top:10px;\n            margin-right:8px;\n            position: relative; cursor: pointer; \n            border-radius: 6px; overflow: hidden;\n            max-width:100%\n        }\n        .comment-media details {\n            margin: 8px 0;\n            border-radius: 6px;\n            overflow: hidden;\n        }\n        .comment-media summary {\n            padding: 6px 12px;\n            background: #f5f5f5;\n            border-radius: 4px;\n            cursor: pointer;\n            list-style: none;\n            font-size: 14px;\n            color: #1E88E5;\n            transition: background 0.2s;\n        }\n        .comment-media summary:hover {\n            background: #e8f0fe;\n        }\n        .comment-media summary::-webkit-details-marker {\n            display: none;\n        }\n        .comment-media div {\n            margin-top: 8px;\n            position: relative;\n            cursor: pointer;\n        }\n        .comment-media img {\n            max-width: 100%;\n            border-radius: 4px;\n            display: block;\n        }\n.active {\n  pointer-events: none; \n}\n\n   .float-buttons {\n      position: fixed;\n      right: 20px;\n      bottom: 20px;\n      display: flex;\n      flex-direction: column;\n      gap: 10px;\n      z-index: 1001;\n    }\n    .reply-modal {\n  position: fixed;\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  background: rgba(0,0,0,0.5);\n  z-index: 1000;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n}\n.modal-content {\n  width: 80%;\n  max-width: 600px;\n  max-height: 80vh;\n  background: white;\n  border-radius: 8px;\n  overflow: hidden;\n  display: flex;\n  flex-direction: column;\n}\n.modal-header {\n  padding: 15px;\n  border-bottom: 1px solid #eee;\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n}\n.modal-body {\n  flex: 1;\n  overflow-y: auto;\n  padding: 15px;\n}\n.modal-footer {\n  padding: 10px;\n  text-align: center;\n}\n.loading-spinner {\n  display: none;\n  width: 20px;\n  height: 20px;\n  border: 3px solid rgba(0,0,0,0.1);\n  border-radius: 50%;\n  border-top-color: #1d9bf0;\n  animation: spin 1s linear infinite;\n  margin: 0 auto;\n}\n@keyframes spin {\n  to { transform: rotate(360deg); }\n}\n.reply-sort {\n  display: flex;\n  gap: 10px;\n  align-items: center;\n}\n.close-btn {\n  cursor: pointer;\n  font-size: 20px;\n}\n.like_counts{\ncolor:#999;\nfont-size:12px;\nmargin-left:auto;\npadding-right:8px\n}\n    .float-btn {\n      width: 25px;\n      height: 25px;\n      border-radius: 50%;\n      background: rgba(0, 0, 0, 0.5);\n      color: white;\n      border: none;\n      cursor: pointer;\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      font-size: 15px;\n      transition: all 0.3s ease;\n      box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);\n      -webkit-tap-highlight-color: transparent !important;\n  tap-highlight-color: transparent !importan;\n  outline: none !important;\n  -webkit-tap-highlight-color: transparent !important;\n    }\n   \n.float-btn:focus,\n.float-btn:focus-visible,\n.float-btn:active,\n.float-btn:-moz-focusring {\n  outline: none !important;\n  box-shadow: none !important;\n}\n.morerep{\ntext-align:right;\ncolor:#4590B5;\nfont-size:13px\n}\n    .float-btn:hover {\n      background: rgba(0, 0, 0, 0.7);\n      transform: scale(1.1);\n    }\n       .error-message{\n       \tbackground:#eee;\n        padding:15px;\n        font-size:18px;\n       \t}\n\n        .media-preview::before {\n            content: \"⬇️ \";\n        }\n        .comment-media[open] summary .media-preview::before {\n            content: \"⬆️ \";\n        }\n        .url-icon img { vertical-align: middle; margin: 0 1px;width:1em; height:1em}\n        .surl-text { color: #1E88E5; margin-right: 5px; }\n        @media (max-width: 500px) {\n            .image-gallery { grid-template-columns: repeat(2, 1fr); }\n            body { padding: 10px; }\n            .main-content, .comments-section { padding: 12px; }\n        }     \n         \n        .viewer-open {\n            overflow: hidden;\n            position: fixed;\n            width: 100%;\n        }\n    </style>\n    <script>\n    function formatTime(dateStr) {\n    const date = new Date(dateStr);\n    const year = date.getFullYear();\n    const month = date.getMonth() + 1;     const day = date.getDate();\n    const hours = date.getHours().toString().padStart(2, '0');\n    const minutes = date.getMinutes().toString().padStart(2, '0');\n    \n    return \\`\\${year}年\\${month}月\\${day}日 \\${hours}:\\${minutes}\\`;\n}\n\nfunction replaceurl(t){\nlet \ttext = String(t).replace(/href=(\\\\/n\\\\/[^\\\\s]+)/g,'href=\\\"https://m.weibo.cn$1\\\"').replace(/\\\\/\\\\/s.weibo.com\\\\/weibo\\\\?q=/g,\"https://m.weibo.cn/search?containerid=100103type%3D1%26q%3D\").replace(/https?:\\\\/\\\\/weibo.com\\\\/\\\\d+\\\\/(\\\\d+)/g,'https://m.weibo.cn/a/$1');\n\treturn text\n\t}\n\n   function getcomments(list, isReply = false) {\n  return list.map(item => {\n    let details = \"\";\n    if (item.pic_num !== 0) {\n     let pic_ids =  item.url_struct[0].pic_ids;      \n      const pic = item?.url_struct[0]?.pic_infos[pic_ids]?.large?.url.replace(/https?/,'https');\n      details = \\`\n        <details class=\"comment-media\">\n          <summary><span class=\"media-preview\">📷 查看图片</span></summary>\n          <div class=\"comment_pic\">\n            <img src=\"\\${pic}\" alt=\"评论图片\">\n          </div>\n        </details>\\`;\n    }\n    \n    let replies = \"\";\n    if (item.comments && item.comments.length > 0) {\n      replies = \\`\n        <div class=\"comment-replies\">\n          \\${getcomments(item.comments, true)}\n          \\${item.total_number > 1 ? \\`\n            <div class=\"morerep\" onclick=\"loadComments({id:'\\${item.id}',isReply:true})\">\n              共\\${item.total_number}条回复\n            </div>\\` : ''}\n        </div>\\`;\n    }\n    \n    return \\`\n      <div class=\"comment-item\">\n        <div class=\"comment-user\">\n          <img class=\"user-avatar\" src=\"\\${item.user.profile_image_url}\" onclick=\"window.open('https://m.weibo.cn/n/\\${item.user.screen_name}')\">\n          <div class=\"user-info\">\n            <span class=\"user-name\" onclick=\"window.open('https://m.weibo.cn/n/\\${item.user.screen_name}')\">\\${item.user.screen_name}</span>\n            <span class=\"comment-time\">\\${formatTime(item.created_at)}</span>\n          </div>\n          <div class=\"like_counts\"><span>♡\\${formatCount(item.like_counts)}</span></div>\n        </div>\n        <div class=\"comment-text\">\\${replaceurl(item.text).replace(/(<img.*?>)/g,'<span class=\"url-icon\">$1</span>')}</div>\n        \\${details}\n        \\${replies}\n      </div>\\`;\n  }).join('');\n}\n    </script>\n       \n</head>\n<body>\n    ${result}\n  <div class=\"float-buttons\">\n    <button class=\"float-btn\" id=\"toTop\" title=\"回到顶部\">↑</button>\n    <button class=\"float-btn\" id=\"toBottom\" title=\"回到底部\">↓</button>\n  </div>\n    <script src=\"https://cdn.jsdelivr.net/npm/viewerjs@1.10.5/dist/viewer.min.js\"></script>\n    <script>\n    // 全局变量\n     let MaxId = [];     \n     let repMaxId = [];      \n     let currentMaxId = null;\n     let repCurrentMaxId = null;\n     let isLoading = false;\n     let repLoading = false;\n     const weiboId = \"${id}\";\n     let sortType = 0;\n     let repSortType = 0;\n     \n     function formatCount(count) {\n  if (count < 10000) return count.toString();  \n  const inWan = (count / 10000).toFixed(2);\n  return inWan.endsWith('.00') \n    ? \\`\\${inWan.split('.')[0]}万\\` \n    : \\`\\${inWan}万\\`;\n}\n\n        //图片加载器\n        function initImageViewer() {\n        \tvar option = {\n        \t\t          url: 'data-original',\n        \t          \tmaxZoomRatio: 0.9,\n                    inline: false,\n                    movable: true,\n                    zoomable: true,\n                    \n                    toolbar: {\n                        zoomIn: 1,\n                        zoomOut: 1,\n                        oneToOne: 0,\n                        reset: 1,\n                        prev: 1,\n                        next: 1,\n                        rotateLeft: 0,\n                        rotateRight: 0,\n                        flipHorizontal: 0,\n                        flipVertical: 0\n                    }    \n                };                          \n            try {                       \n             new Viewer(document.querySelector('.image-gallery'),option);          \n  document.querySelectorAll('.comment-media').forEach(x=>{new Viewer(x,option)})                   \n            } catch (e) {\n                                 \n                }\n            \n        }\n        \n// 获取评论函数\nasync function loadComments(options = {}) {\n  const {\n    id = weiboId,\n    isReply = false,\n    isLoadMore = false,\n    targetElement = isReply ? '#reply-list' : '#container',\n    tElement = isReply ? '#reply-list .comments-list' : '.comments-list',\n    containerTemplate = null,\n    sort = isReply ? repSortType : sortType\n  } = options;\n\n  \n  const loadingFlag = isReply ? repLoading : isLoading;\n  if (loadingFlag) return;\n  isReply ? repLoading = true : isLoading = true;\n\n  \n  let url;\n  if (isReply) {\n    url = \\`https://weibo.com/ajax/statuses/buildComments?flow=\\${sort}&is_reload=1&id=\\${id}&is_show_bulletin=2&is_mix=1&fetch_level=1&max_id=\\${isLoadMore ? repCurrentMaxId : 0}&count=20&locale=zh-CN\\`\n  } else {\n   url =\\`https://weibo.com/ajax/statuses/buildComments?flow=\\${sort}&is_reload=1&id=\\${id}&is_show_bulletin=2&is_mix=0&count=20&fetch_level=0&locale=zh-CN\\`;\n  \n  \n    //url = \\`https://m.weibo.cn/comments/hotflow?id=\\${id}&mid=\\${id}&max_id_type=\\${sort}\\`;\n    if (isLoadMore && currentMaxId) {\n      url += \\`&max_id=\\${currentMaxId}\\`;\n    }\n  }\n\n  try {\n    const response = await fetch(url, {\n      headers: {\n        'Accept': 'application/json',\n        'X-Requested-With': 'XMLHttpRequest'\n      },\n      credentials: 'include'\n    });\n\n    const data = await response.json();\n    \n    \n    if (data.ok === -100) {\n      if (/error-message/.test(document.querySelector(targetElement).innerHTML)) {\n        throw new Error(\"需要登录\");\n      }\n      document.querySelector(targetElement).innerHTML += \\`\n        <div class=\"error-message\">\n          评论加载失败:请<a href=\"\\${data.url}\">访问首页或登录</a>后重试\n        </div>\n      \\`;\n      throw new Error(\"需登录\");\n    }\n\n    \n    const currentIdArray = isReply ? repMaxId : MaxId;\n    const newMaxId = data.max_id;\n    \n    if (currentIdArray.includes(newMaxId)) {\n      throw new Error(\"没有更多内容了\");\n    }\n    \n    if (isReply) {\n      repCurrentMaxId = newMaxId;\n      repMaxId.push(newMaxId);\n    } else {\n      currentMaxId = newMaxId;\n      MaxId.push(newMaxId);\n    }\n    \n    \n    const commentsData = data.data;\n        \n    if (isReply && !isLoadMore && !document.querySelector('.reply-modal')) {\n      initReplyModal(id);\n    }\n\n    if (isLoadMore) {\n      document.querySelector(tElement).innerHTML += getcomments(commentsData, isReply);\n    } else {\n      if (data.ok === 0) throw new Error(\"没有内容\");\n        \n      \n      let content = \\`<div class=\"comments-header\">\n            <div class=\"comments-title\"><h3>评论（\\${formatCount(data.total_number)}）</h3></div>\n            <div class=\"sort-controls\">\n              <button id=\"sortHot\" class=\"sort-btn \\${sortType===0?'active':''}\" \n                onclick=\"loadComments({sort:0})\">热度</button>\n              <button id=\"sortTime\" class=\"sort-btn \\${sortType===1?'active':''}\" \n                onclick=\"loadComments({sort:1})\">时间</button>\n            </div>\n          </div>\\`;\n            \n      const html =  \\`\n        <div class=\"comments-section\">\n           \\${isReply?\"\":content}        \n          <div class=\"comments-list\">\\${getcomments(commentsData)}</div>\n        </div>\n      \\`;\n      document.querySelector(targetElement).innerHTML = html;\n    }\n\n\n  } catch (error) {\n    if (isLoadMore) {\n      showToast(/没有更多/.test(error.message)?error.message:\"评论加载失败\")\n    } else if (!/没有内容|登录/.test(error.message)) {\n      document.querySelector(targetElement).innerHTML = \\`\n        <div class=\"error-message\">\n          评论加载失败: \\${error.message}\n          <button onclick=\"loadComments(\\${JSON.stringify(options)})\">重试</button>\n        </div>\n      \\`;\n    }\n  } finally {\n    isReply ? repLoading = false : isLoading = false;\n  }\n}\n\n\nfunction initReplyModal(id) {\n  const modal = document.createElement('div');\n  modal.className = 'reply-modal';\n  modal.dataset.commentId = id;\n  modal.innerHTML = \\`\n    <div class=\"modal-content\">\n      <div class=\"modal-header\">\n        <h4>回复列表</h4>\n        <div class=\"reply-sort\">\n          <button class=\"sort-btn \\${repSortType===0?'active':''}\" \n            onclick=\"loadComments({id:'\\${id}',isReply:true,sort:0});repSortType=0\" data-sort-type=0>热度</button>\n          <button class=\"sort-btn \\${repSortType===1?'active':''}\" \n            onclick=\"loadComments({id:'\\${id}',isReply:true,sort:1});repSortType=1\" data-sort-type=1>时间</button>\n          <span class=\"close-btn\" onclick=\"this.closest('.reply-modal').remove();repMaxId=[];repSortType=0;repCurrentMaxId=null\">×</span>\n        </div>\n      </div>\n      <div class=\"modal-body\" id=\"reply-list\"></div>\n    </div>\n  \\`;\n  document.body.appendChild(modal);\n  modal.addEventListener('click', function(e) {\n  \n  if (e.target === modal) {\n    modal.remove();\n    repMaxId = [];\n    repSortType = 0;\n    repCurrentMaxId = null;\n  }\n});\n\n  \n  const replyList = document.querySelector(\"#reply-list\");\nif (replyList) {\n  replyList.addEventListener('scroll', () => {\n    if (replyList.scrollTop + replyList.clientHeight >= replyList.scrollHeight - 15) {\n      loadComments({id:id,isLoadMore: true, isReply: true }); \n    }\n  });\n}\n  \n}\n\n\nfunction showToast(message) {\n  const toast = document.createElement('div');\n  toast.textContent = message;\n  toast.style.position = 'fixed';\n  toast.style.bottom = '50px';\n  toast.style.left = '50%';\n  toast.style.transform = 'translateX(-50%)';\n  toast.style.backgroundColor = 'rgba(0,0,0,0.7)';\n  toast.style.color = 'white';\n  toast.style.padding = '5px 5px';\n  toast.style.borderRadius = '5px';\n  toast.style.zIndex = '1000';\n  \n  document.body.appendChild(toast);\n  setTimeout(() => {\n    document.body.removeChild(toast);\n  }, 1000);\n}\n\ndocument.getElementById('toTop').addEventListener('click', function() {\n      if(document.querySelector(\"#reply-list\")){\n      document.querySelector(\"#reply-list\").scrollTo({\n        top: 0,\n        behavior: 'smooth'\n      });\n      }else{\n      window.scrollTo({\n        top: 0,\n        behavior: 'smooth'\n      });\n      }\n      \n    });\n    \n    document.getElementById('toBottom').addEventListener('click', function() {\n    if(document.querySelector(\"#reply-list\")){\n      document.querySelector(\"#reply-list\").scrollTo({\n        top: document.querySelector(\"#reply-list\").scrollHeight,\n        behavior: 'smooth'\n      });\n      }else{\n      window.scrollTo({\n        top: document.body.scrollHeight,\n        behavior: 'smooth'\n      });\n      }\n    });\n    \n    \n    window.addEventListener('scroll', function() {\n      const toTopBtn = document.getElementById('toTop');\n      const toBottomBtn = document.getElementById('toBottom');\n      const scrollPosition = window.scrollY;\n      \n      \n      if (scrollPosition === 0) {\n        toTopBtn.style.opacity = '0.5';\n        toTopBtn.style.pointerEvents = 'none';\n      } else {\n        toTopBtn.style.opacity = '1';\n        toTopBtn.style.pointerEvents = 'auto';\n      }\n      \n      \n      if (window.innerHeight + scrollPosition >= document.body.scrollHeight - 50) {\n        toBottomBtn.style.opacity = '0.5';\n        toBottomBtn.style.pointerEvents = 'none';\n      } else {\n        toBottomBtn.style.opacity = '1';\n        toBottomBtn.style.pointerEvents = 'auto';\n      }\n    });\n\n\n\n\n\n\ndocument.addEventListener('DOMContentLoaded', () => {\n  \n  document.addEventListener('click', (e) => {\n    \n    if (e.target.id === 'sortHot') {\n      if (sortType !== 0) {\n        sortType = 0;\n        e.target.classList.add('active');\n        document.getElementById('sortTime').classList.remove('active');\n        currentMaxId = null;\n        MaxId = [];\n        loadComments({sort:0}); \n      }\n    }\n    \n    if (e.target.id === 'sortTime') {\n      if (sortType !== 1) {\n        sortType = 1;\n        e.target.classList.add('active');\n        document.getElementById('sortHot').classList.remove('active');\n        currentMaxId = null;\n        MaxId = [];\n        loadComments({sort:1}); \n      }\n    }\n\n    \n    if (e.target.classList.contains('sort-btn')) {\n      const modal = e.target.closest('.reply-modal');\n      if (modal) {\n        const id = modal.dataset.commentId;\n        repSortType = parseInt(e.target.dataset.sortType);\n        \n        document.querySelectorAll('.reply-modal .sort-btn').forEach(btn => {\n          btn.classList.toggle('active', parseInt(btn.dataset.sortType) === repSortType);\n        });\n        repCurrentMaxId = null;\n        repMaxId = [];\n      }\n    }\n  });\n  \n  \n  loadComments();\n  \n  \n  window.addEventListener('scroll', () => {\n    if ((window.innerHeight + window.scrollY) >= document.body.offsetHeight - 50) {\n      loadComments({ isLoadMore: true });\n    }\n  });\n  \n  function findScrollingElement() {\n  const elements = document.querySelectorAll('*');\n  for (const el of elements) {\n    if (el.scrollHeight > el.clientHeight && el.scrollTop > 0) {\n      return el;\n    }\n  }\n  return document.documentElement; \n}\n  initImageViewer();\n});\n     \n    </script>\n</body>\n</html>`;\nresult;",
    "ruleDescription": "$.user.id\n@js:\nif (result) {\n  var userInfo = `\n    <div class=\"user-card\">\n      <img src=\"{{$.user.profile_image_url}}\" class=\"user-avatar\">\n      <div class=\"user-info\">\n        <h3 class=\"username\">{{$.user.screen_name}}</h3>\n        <p class=\"user-desc\">${java.getString(\"$.desc1&&$.desc2\")}</p>\n      </div>\n    </div>\n  `;\n  \n  var textContent = `\n    <div class=\"copy-section\">\n \n      <div class=\"copy-content\" id=\"copyContent\">{{$.user.screen_name}}::https://m.weibo.cn/api/container/getIndex?containerid=107603${result}_-_WEIBO_SECOND_PROFILE_WEIBO&luicode=10000011&lfid=107603${result}_-_WEIBO_SECOND_PROFILE_WEIBO&page_type=03&page={\\{page}}\n      </div>\n      <button class=\"copy-btn\" onclick=\"handleCopy()\">\n        <span class=\"copy-icon\">⎘</span>\n        <span class=\"copy-text\">一键复制够粘贴至【微博用户】分类URL</span>\n      </button>\n      <div class=\"copy-feedback\" id=\"copyFeedback\"></div>\n    </div>\n  `;\n  \n  var copyScript = `\n    <script>\n      function handleCopy() {\n        const content = document.getElementById('copyContent');\n        const feedback = document.getElementById('copyFeedback');\n        \n        // 创建范围并选择文本\n        const range = document.createRange();\n        range.selectNode(content);\n        window.getSelection().removeAllRanges();\n        window.getSelection().addRange(range);\n        \n        try {\n          // 执行复制命令\n          const successful = document.execCommand('copy');\n          if(successful) {\n            feedback.textContent = '复制成功！';\n            feedback.style.color = '#4CAF50';\n          } else {\n            feedback.textContent = '复制失败，请手动选择文本';\n            feedback.style.color = '#F44336';\n          }\n        } catch(err) {\n          feedback.textContent = '复制错误: ' + err;\n          feedback.style.color = '#F44336';\n        }\n        \n        // 清除选择\n        window.getSelection().removeAllRanges();\n        \n        // 3秒后隐藏反馈\n        setTimeout(() => {\n          feedback.textContent = '';\n        }, 3000);\n      }\n    </script>\n  `;\n  \n  var styles = `\n    <style>\n      .user-card {\n        display: flex;\n        align-items: center;\n        padding: 15px;\n        background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);\n        border-radius: 10px;\n        margin-bottom: 20px;\n        box-shadow: 0 2px 10px rgba(0,0,0,0.1);\n      }\n      \n      .user-avatar {\n        width: 60px;\n        height: 60px;\n        border-radius: 50%;\n        object-fit: cover;\n        border: 3px solid white;\n        box-shadow: 0 2px 5px rgba(0,0,0,0.1);\n      }\n      \n      .user-info {\n        margin-left: 15px;\n      }\n      \n      .username {\n        margin: 0;\n        color: #333;\n        font-size: 18px;\n        font-weight: 600;\n      }\n      \n      .user-desc {\n        margin: 5px 0 0;\n        color: #666;\n        font-size: 14px;\n      }\n      \n      .copy-section {\n        padding: 20px;\n        background: white;\n        border-radius: 10px;\n        box-shadow: 0 2px 10px rgba(0,0,0,0.05);\n        margin-bottom: 20px;\n      }\n      \n      .section-title {\n        margin: 0 0 15px;\n        color: #555;\n        font-size: 15px;\n      }\n      \n      .copy-content {\n        padding: 15px;\n        background: #f8f9fa;\n        border-radius: 8px;\n        border: 1px solid #eee;\n        font-family: 'Courier New', monospace;\n        font-size: 14px;\n        line-height: 1.5;\n        word-break: break-all;\n        white-space: pre-wrap;\n        margin-bottom: 15px;\n      }\n      \n      .copy-btn {\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        padding: 10px 20px;\n        background: linear-gradient(135deg, #4b6cb7 0%, #182848 100%);\n        color: white;\n        border: none;\n        border-radius: 6px;\n        font-size: 15px;\n        cursor: pointer;\n        transition: all 0.3s;\n        width: 100%;\n      }\n      \n      .copy-btn:hover {\n        transform: translateY(-2px);\n        box-shadow: 0 4px 8px rgba(0,0,0,0.1);\n      }\n      \n      .copy-icon {\n        font-size: 18px;\n        margin-right: 8px;\n      }\n      \n      .copy-feedback {\n        height: 20px;\n        margin-top: 10px;\n        text-align: center;\n        font-size: 14px;\n        transition: all 0.3s;\n      }\n      \n      @media (max-width: 600px) {\n        .user-card {\n          flex-direction: column;\n          text-align: center;\n        }\n        \n        .user-info {\n          margin-left: 0;\n          margin-top: 10px;\n        }\n        \n        .copy-content {\n          font-size: 13px;\n          padding: 12px;\n        }\n      }\n    </style>\n  `;\n  \n  result = styles + userInfo + textContent + copyScript;\n}\n",
    "ruleImage": "{{$.pic_middle||$..bmiddle_pic||$..bmiddle.url||$..page_pic.url||$.mblog.page_info.page_pic.url||$.mblog.user.avatar_hd||$.avatar_hd||$.user.avatar_hd||$..avatar_hd||$.left_tag_img||$.pic##.*\\n+}},{\"headers\":{\"referer\":\"https://m.weibo.cn\"}}\n<js>##thumbnail##bmiddle</js>",
    "ruleLink": "$.mblog.id||$.user.id@js:\"https://weibo.com/detail/\"+result",
    "ruleNextPage": "page",
    "rulePubDate": "$.mblog.created_at||$.desc1\n@js:\nif(/\\+0800/.test(result)){\ndate=new Date(result);\ntime=date.getTime();\nfunction formatDate2(inputTime) {\n    var date = new Date(inputTime);\n    var y = date.getFullYear();\n    var m = date.getMonth() + 1;\n    m = m < 10 ? ('0' + m) : m;\n    var d = date.getDate();\n    d = d < 10 ? ('0' + d) : d;\n    return y +'-' + m + '-' + d;\n};\n\nfunction formatDate(now) {\n    var time = formatDate2(now)\n    var date1 = new Date(now)\n    var date2 = new Date()\n    var date3 = date2.getTime() - date1.getTime()\n    var days = Math.floor(date3 / (24 * 3600 * 1000))\n    var leave1 = date3 % (24 * 3600 * 1000) \n    var hours = Math.floor(leave1 / (3600 * 1000))\n    var leave2 = leave1 % (3600 * 1000)\n    var minutes = Math.floor(leave2 / (60 * 1000))\n    var leave3 = leave2 % (60 * 1000)\n    if (days < 1 && hours < 1) { return minutes + \"分前\" } else if (days < 1) { return hours + \"小时 \" + minutes + \"分前\" } else {\n        if (days < 7) {\n            return days + \"天 \" + hours + \"小时前 \"\n        } else { return time }\n    }\n}\n\nfunction formatCount(count) {\n  if (count < 10000) return count.toString();\n  const inWan = (count / 10000).toFixed(2);\n  return inWan.endsWith('.00') \n    ? `${inWan.split('.')[0]}万` \n    : `${inWan}万`;\n}\n\nresult = '📅 '+formatDate(time)+\"  📝\"+formatCount(java.getString(\"$.mblog.comments_count\"))+\"  ❤️\"+formatCount(java.getString(\"$.mblog.attitudes_count\"))+\"      @\"+java.getString(\"$.mblog.user.screen_name\");\n}else{result=result}",
    "ruleTitle": "$.mblog.text||$.user.screen_name##<.*?>",
    "singleUrl": false,
    "sortUrl": "<js>\nlet s;\nif(!source.getLoginHeader()){\n\ts = \"https://weibo.com/ajax/side/hotSearch\"\n\t}else{\n\t\ts = source.getLoginHeader()\n\t\t}\nheaders = {\n\t\"headers\":{\n\t\t\"x-requested-with\":\"XMLHttpRequest\"\n\t\t}\n\t}\n\t\nlet $ = JSON.parse(java.ajax(s+\",\"+JSON.stringify(headers)));\njava.toast(\"正在加载数据....\");\nlet result = ($.data.band_list||$.data.realtime).map(x=>{\n\treturn `${x.note||x.word.replace(/#/g,'')}(${x.small_icon_desc??\"\"}${x.num??x.description??\"\"})::https://m.weibo.cn/api/container/getIndex?containerid=100103type%3D1%26q%3D${encodeURIComponent(x.note||x.word.replace(/#/g,''))}%26t%3D&page_type=searchall&page={{page}\\}`\n\t}).join(\"\\n\");\nresult\n</js>",
    "sourceComment": "在登录页切换热搜榜单",
    "sourceGroup": "阅读,R18",
    "sourceIcon": "https://is1-ssl.mzstatic.com/image/thumb/Purple221/v4/52/6a/04/526a04f7-ccfd-612e-64cb-ece08b01b4e6/WeiboAppIcon-0-0-1x_U007epad-0-1-0-0-85-220.png/492x0w.webp",
    "sourceName": " 📖\n微博热搜",
    "sourceUrl": "https://m.weibo.cn#微博热搜"
  },
  {
    "articleStyle": 2,
    "contentBlacklist": "https://img\\..+\\.com/.+\\.gif",
    "customOrder": -63,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\"User-Agent\":\"Mozilla/5.0 (Linux; Android 8.0.0; MI 5s Plus Build/OPR1.170623.032; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/71.0.3578.99 Mobile Safari/537.36\"}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "ul li",
    "ruleContent": "<js>\nh=org.jsoup.Jsoup.parse(src);\n$=(a,b)=>Array.from(a.select(b));\n\n\n//格式化解析\njiexi = eval(String(source.sourceComment)).map($=>'<button onclick=\"xuan(this,0)\" value=\"'+$[1]+'\"><b>'+$[0]+'</b></button>');\n\n\njiekou = $(h, '.hl-plays-from a');\njishu = $(h, '.hl-plays-list')\n.map((h,i)=>{\n\n//格式化接口\n\t\tt1 = jiekou[i].text()\n\t\tt2 = $(h, 'a').length\n\t\tjiekou[i] = '<button onclick=\"huan('+i+')\"><b>'+t1+'<sup><small>'+t2+'</small></sup></b></button>';\n\n//格式化集數\n\t\treturn '<div>\\n\\t\\t'+$(h, 'a').map(a=>'<button onclick=\"xuan(this,1)\" value=\"https://kanb.tv'+a.attr('href')+'\"><b>'+a.text()+'</b></button>').join('\\n\\t\\t')+'\\n</div>';\n\t});\n\n\n//返回json\nJSON.stringify({\n\tjiexi: '<div>\\n\\t\\t'+jiexi.join('\\n\\t\\t')+'\\n</div>',\n\tjiekou: '<div>\\n\\t\\t'+jiekou.join('\\n\\t\\t')+'\\n</div>',\n\tjishu: jishu.join('\\n')\n});\n</js><meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no\">\n<iframe frameborder=\"no\" allowfullscreen></iframe>\n<p><title>{{@@h1@text}}</title></p>\n<hr>\n\n\n<details>\n<summary><h3>{{@@h1@text}}</h3></summary>\n<br><img src=\"{{@@.hl-item-thumb.0@data-original}}\" onerror=\"this.src='{{source.sourceIcon}}'\">\n<br>{{@@.hl-full-box@html}}\n<br><br>\n</details>\n<hr>\n\n\n<div class=\"jiexi\">\n<p>解析</p>\n{{JSON.parse(result).jiexi}}\n</div>\n<hr>\n\n\n<div class=\"jiekou\">\n<p>接口</p>\n{{JSON.parse(result).jiekou}}\n</div>\n<hr>\n\n\n<div class=\"jishu\">\n<p>集數</p>\n{{JSON.parse(result).jishu}}\n</div>\n<hr>\n\n\n\n\n\n<script>\n//選中標籤\n$=(rule)=>document.querySelectorAll(rule);\n\n//删除active\nomit=(A)=>Array.from(A,a=>a.className='');\n\n//增加active\nactive=($,i)=>$[i].className='active';\n\n\n//切換分類\nhuan = (index) =>{\n\t\tt1 = '.jiekou button'\n\t\tt2 = '.jishu div'\n\t\tomit($(t1+'.active,'+t2+'.active'))\n\t\tactive($(t1),index)\n\t\treturn active($(t2),index)\n\t}\n\n\n//選擇集數\nxuan = (item,type)=>{\n\t\ttype = type==0?'jiexi':'jishu';\n\t\tbtn = $('.'+type+' button.active');\n\n\t\tif(item.value==btn[0].value)return;\n\t\tomit(btn); item.className='active'\n\t\treturn geturl()\n\t}\n\n\n//獲取資源鏈接\nfunction geturl(){\n\turl=$('.jishu button.active')[0].value.trim();\n\tfetch(url).then(res=>res.text())\n\t\t.then(ajaxhtml=>{\n\t\t\t\turl = String(ajaxhtml).match(/[\\s\\S]*url\":\"([^\"]*)/)[1].replace(/\\\\/g,'').trim();\n\t\t\t\tif(/^\\s*$/.test(url))return;\n\n\t\t\t\turl = $('.jiexi button.active')[0].value.trim()+url;\n\t\t\t\treturn $('iframe')[0].src = $('body p')[0].innerText = url\n\t\t\t})\n\t\t.catch(ajaxerr=>{\n\t\t\t\treturn $('body p')[0].innerText = '獲取失敗，請重新嘗試';\n\t\t\t});\n}\n\n\n\n//初始化\n(()=>{\n\t\tactive($('.jiexi button'),0)\n\t\tactive($('.jiekou button'),0)\n\t\tactive($('.jishu div'),0)\n\t\tactive($('.jishu button'),0)\n\t\treturn geturl()\n\t})()\n</script>\n##<(/?)a.*?>##<$1span>",
    "ruleImage": "a@data-original",
    "ruleLink": "a.0@href",
    "ruleNextPage": "page",
    "rulePubDate": "🔖 {{@@.hl-pic-text@text}}  🏷️ {{@@.hl-item-sub@text||div.1:7@text##\\n##/}}",
    "ruleTitle": ".hl-item-thumb@title",
    "singleUrl": false,
    "sortUrl": "💥推薦::https://kanb.tv/\n\n搜索🕵️::https://kanb.tv/Videosearch/{{v=source.getVariable();if(/^\\s*$/.test(v)||v==null)source.setVariable('狂飙');source.getVariable()}}KKKKKKKKKK{{page}}KKK.html\n\n🎥電影::/Show/MovieKKhitsKKKKKK{{page}}KKK.html\n\n🎞️喜劇::/Show/MovieKKhitsK喜剧KKKKK{{page}}KKK.html\n🎞️愛情::/Show/MovieKKhitsK爱情KKKKK{{page}}KKK.html\n🎞️動作::/Show/MovieKKhitsK冒险KKKKK{{page}}KKK.html动作\n🎞️科幻::/Show/MovieKKhitsK科幻KKKKK{{page}}KKK.html\n🎞️劇情::/Show/MovieKKhitsK剧情KKKKK{{page}}KKK.html\n🎞️戰爭::/Show/MovieKKhitsK战争KKKKK{{page}}KKK.html\n🎞️警匪::/Show/MovieKKhitsK警匪KKKKK{{page}}KKK.html\n🎞️犯罪::/Show/MovieKKhitsK犯罪KKKKK{{page}}KKK.html\n🎞️動畫::/Show/MovieKKhitsK动画KKKKK{{page}}KKK.html\n🎞️奇幻::/Show/MovieKKhitsK奇幻KKKKK{{page}}KKK.html\n🎞️武俠::/Show/MovieKKhitsK武侠KKKKK{{page}}KKK.html\n🎞️冒險::/Show/MovieKKhitsK冒险KKKKK{{page}}KKK.html\n🎞️槍戰::/Show/MovieKKhitsK枪战KKKKK{{page}}KKK.html\n🎞️恐怖::/Show/MovieKKhitsK恐怖KKKKK{{page}}KKK.html\n🎞️懸疑::/Show/MovieKKhitsK悬疑KKKKK{{page}}KKK.html\n🎞️驚悚::/Show/MovieKKhitsK惊悚KKKKK{{page}}KKK.html\n🎞️經典::/Show/MovieKKhitsK经典KKKKK{{page}}KKK.html\n🎞️青春::/Show/MovieKKhitsK青春KKKKK{{page}}KKK.html\n🎞️文藝::/Show/MovieKKhitsK文艺KKKKK{{page}}KKK.html\n🎞️古裝::/Show/MovieKKhitsK古装KKKKK{{page}}KKK.html\n🎞️歷史::/Show/MovieKKhitsK历史KKKKK{{page}}KKK.html\n🎞️運動::/Show/MovieKKhitsK运动KKKKK{{page}}KKK.html\n🎞️兒童::/Show/MovieKKhitsK儿童KKKKK{{page}}KKK.html\n🎞️網絡::/Show/MovieKKhitsK网络电影KKKKK{{page}}KKK.html\n🎞️短片::/Show/MovieKKhitsK短片KKKKK{{page}}KKK.html\n\n🎬陸劇::/Show/lianxujuK大陆KKKKKKK{{page}}KKK.html\n🎬港劇::/Show/lianxujuK香港KhitsKKKKKK{{page}}KKK.html\n🎬台劇::/Show/lianxujuK台湾KhitsKKKKKK{{page}}KKK.html\n🎬韓劇::/Show/lianxujuK韩国KhitsKKKKKK{{page}}KKK.html\n🎬日劇::/Show/lianxujuK日本KhitsKKKKKK{{page}}KKK.html\n🎬美劇::/Show/lianxujuK美国KhitsKKKKKK{{page}}KKK.html\n🎬泰劇::/Show/lianxujuK泰国KhitsKKKKKK{{page}}KKK.html\n🎬英劇::/Show/lianxujuK英国KhitsKKKKKK{{page}}KKK.html\n🎬法劇::/Show/lianxujuK法国KhitsKKKKKK{{page}}KKK.html\n🎬新劇::/Show/lianxujuK新加坡KhitsKKKKKK{{page}}KKK.html\n🎬馬劇::/Show/lianxujuK马来西亚KhitsKKKKKK{{page}}KKK.html\n🎬加拿大::/Show/lianxujuK加拿大KhitsKKKKKK{{page}}KKK.html\n🎬西班牙::/Show/lianxujuK西班牙KhitsKKKKKK{{page}}KKK.html\n🎬俄羅斯::/Show/lianxujuK俄罗斯KhitsKKKKKK{{page}}KKK.html\n🎬其它::/Show/lianxujuK其它KhitsKKKKKK{{page}}KKK.html\n\n🎭動漫::/Show/bilibiliKKhitsKKKKKK{{page}}KKK.html\n\n🎊綜藝::/Show/VarietyKKhitsKKKKKK{{page}}KKK.html\n\n📽️紀錄::/Show/MovieKKhitsK纪录片KKKKK{{page}}KKK.html\n\n🏅體育::/Show/MovieKKhitsK体育赛事KKKKK{{page}}KKK.html\n\n🗣️解說::/Show/MovieKKhitsK电影解说KKKKK{{page}}KKK.html",
    "sourceComment": "//網站發布頁：https://www.aibzhan.top/\n\n[//解析列表_開始\n\n[\"⛔ 禁用\",\"\"],\n[\"♉ 小白\",\"https://www.mtosz.com/erzi.php?url=\"],\n[\"♌ 愛酷\",\"https://jx.zhanlangbu.com/?url=\"],\n[\"♍ 阿狸\",\"https://zy.aoxtv.com/m3u8.php?url=\"],\n[\"♑ 神馬\",\"https://api.tinga88.com/?url=\",\"次選\"],\n[\"♓ 人人\",\"https://vip.mpos.ren/v/?url=\",\"次選\"],\n\n]//解析列表_結束",
    "sourceGroup": "🎞️ 影视,R18",
    "sourceIcon": "https://kanb.tv/template/conch/asset/img/favicon.png",
    "sourceName": "看B站",
    "sourceUrl": "https://kanb.tv/",
    "style": "*{\n\tz-index:0;\n\tmargin:0;\n\tpadding:0;\n\twidth:100%;\n\theight:auto;\n}\n@css:p{\n\ttext-indent:5px;\n}\nbody>p:first-of-type{\n\twidth:100.05%;\n\tposition:sticky;top:285px;\n\theight:15px;font-size:0.7rem;\n\tborder-bottom-right-radius:5px;\n\tborder-bottom-left-radius:5px;\n\tbackground:#000;color:#9D9D9D;\n\twhite-space:nowrap;\n\toverflow:hidden;\n\ttext-overflow:ellipsis;\n\tz-index:2;\n}\niframe{\n\tposition:sticky;top:0;\n\tbackground:#000;color:#FFF;\n\theight:285px;\n\tz-index:2;\n}\n\ndetails{\n\twidth:90%;\n\tmargin:0 5%;\n\tpadding:10 0;\n}\nsummary{\n\twidth:90%;\n\tmargin:0 5%;\n\toutline:none;\n\ttext-align:center;\n}\nsummary::-webkit-details-marker,.jishu>div{\n\tdisplay:none;\n}\n.jiexi>div,.jiekou>div{\n\toverflow-x:auto;\n\toverflow-y:hidden;\n\twhite-space:nowrap;\n}\n.jishu>div.active{\n\tdisplay:block;\n}\nbutton{\n\twidth:21.65%;\n\tmargin:1.25%;\n\tpadding:5px;\n\toutline:none;\n\tborder-radius:8px;\n\tfont-size:0.7rem;\n\ttext-overflow:ellipsis;\n\toverflow:hidden;\n\tposition:sticky;\n\tbackground:#5B5B5B;color:#0080FF;\n}\nbutton.active{\n\tz-index:1;\n\tcolor:#FF8C00;\n\tleft:0;right:0;\n}\n.jiekou button.active,.jishu button.active,.jiexi button.active{\n\ttop:300;bottom:0;\n\tborder:1.8px solid #FF8C00;\n\tbackground-color:#3C3C3C;\n}\nsmall{\n\tposition:absolute;\n\tright:3;top:-1;\n\ttext-align:right;\n}\nbody{\n\tmargin:0;\n\tbackground:#000;color:#D0D0D0;\n}"
  },
  {
    "articleStyle": 0,
    "concurrentRate": "",
    "contentBlacklist": "https://statics.woozooo.com",
    "customOrder": -35,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "{\"User-Agent\": \"Mozilla/5.0 (Linux; Android 8.0.0; MI 5s Plus Build/OPR1.170623.032; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/71.0.3578.99 Mobile Safari/537.36\",\n\t\"upgrade-insecure-requests\": \"1\",\r\n\"accept\": \"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8\",\r\n\"accept-language\": \"zh-CN,en-US;q=0.9\",\r\n\"cookie\": \"down_ip=1\",\r\n\"x-requested-with\": \"cn.nr19.mbrowser\"\n}",
    "injectJs": "// 是蓝奏云链接时\nif(/lanzou/.test(window.location.href)){\nArray.from(document.querySelectorAll(`\n\t.mt2:last-of-type,.appreport,.n_login,\n\tdiv[style*=\"color: #8a6d3b;\"]\n`),$=>$.style.display='none');\n}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginUi": "",
    "loginUrl": "",
    "ruleArticles": "<js>\ntry {\n    $ = JSON.parse(src).text;\n    if ($ == \"no file\") $ = [];\n} catch (err) {\n    reg = /^(https?\\:\\/\\/((www|m)\\.)?baidu\\.com\\/?\\?wd=\\s*)+/i;\n\n    if (baseUrl == source.sourceUrl) {\n        $ = [{\n            name_all: \"无法获取分类？可能没有启用\",\n            time: \"右上角 - 【登录】启用，再【刷新分类】\"\n        }]\n    }\n\n\n\n    //网站整合\n    else if (baseUrl.match(reg)) {\n        $ = [];\n        baseUrl.replace(reg, '').\n        split(/\\s*•\\s*/).map($$ => $.push({\n            name_all: $$.match(/.*?《(.*?)》/)[1],\n            time: $$.match(/◎.*?◎/) ? $$.match(/.*?◎(.*?)◎/)[1] : \"\",\n            uri: $$.match(/【.*?】/) ? $$.match(/.*?【(.*?)】/)[1] : \"\",\n            url: $$.match(/^([^【《◎]*),?/)[1]\n        }));\n    }\n\n\n\n    //蓝奏云\n    else {\n\n        //蓝奏云非分组链接\n        if (String(java.getString('text.举报文件@href')).length) {\n            $ = [{\n                name_all: String(java.getString('class.md@textNodes')),\n                icon: String(java.getString('class.md@textNodes')).replace(/.*\\./, ''),\n                size: String(java.getString('class.mtt@text')).replace(/\\( /, '').replace(/ \\)/, ''),\n                time: String(java.getString('class.mf@textNodes')).replace(/.*\\n/, ''),\n                uri: baseUrl.replace(/^(.+com).*\\/(.+)$/, '$2'),\n                url: baseUrl.replace(/^(.+com).*\\/(.+)$/, '$1/tp/$2')\n            }]\n        }\n\n\n        //取消分享\n        else if (String(java.getString('.off@text')).match(/取消分享/)) {\n            $ = [{\n                name_all: java.getString('.off@text'),\n                time: baseUrl.replace(/[#\\?].*/g, ''),\n                url: baseUrl.replace(/[#\\?].*/g, '')\n            }]\n        }\n\n\n        //蓝奏云分组链接\n        else {\n            json = [];\n            name = java.getString('.user-radio@text||title@text')\n            java.getElements('#folder .mlink').forEach(a => {\n                java.setContent(a);\n                json.push({\n                    name_all: java.getString('.filename@textNodes'),\n                    url: java.getString('a@href'),\n                    time: '🗂️ folder　📑 ' + (String(java.getString('.filesize@text')) || name)\n                })\n            })\n           java.setContent(src);\n\n\n            mat = baseUrl.match(/^(.*?\\.com)[^##]*\\/(.+)$/)\n            url = mat[1]\n            uri = mat[2]\n\n            function $(reg) {\n                return uri.match(reg) ? true : false\n            }\n\n\n            //get【pwd】(链接提取码)\n            pwd =\n                $(/##[^【]/) ? uri.match(/##(.*?)(【|$)/)[1] :\n                \"\";\n\n\n\n            head = {\n                method: \"POST\",\n                params: {\n                    uri: uri,\n                    img: $(/【[^】]/) ? uri.match(/【([^】]+)/)[1] : \"\"\n                }\n            }\n\n\n\n\n            //get 【body】\n            eval(src.match(/var pgs;([\\s\\S]*?pgs.+;)/)[1]);\n            eval('$=' + src.match(/data :([\\s\\S]*?\\})/)[1]);\n            head.body = Object.keys($).map(key => key + \"=\" + $[key]).join('&');\n\n\n            //补全【url】\n            url += \"/filemoreajax.php,\" + JSON.stringify(head);\n\n\n\n            //ajax\n            $ = JSON.parse(java.ajax(url));\n            $ = json.concat($.text != 0 ? $.text :\n\n                //密码错误提示\n                [{\n                    name_all: $.info,\n                    time: uri.replace(/[#\\?].*/, '') + $.info,\n                    url: baseUrl.replace(/[#\\?].*/, '')\n                }])\n            baseUrl = url\n        }\n    }\n}\njava.put('url', baseUrl);\nJSON.stringify($);\n</js>$.[*]",
    "ruleContent": "",
    "ruleDescription": "❗️0、0、开始❗️\n❗️0、0、结束❗️\n\n\n\n\n{{}}@js:\nurl=String(java.getString('$.url')).trim();\n\n\n\n//【..导入】\nif(url.match(/^..导入/)){\nuri=url.replace(/导入.*/,'');\nurl=url.replace(/.*导入/,'');\npath =\n(uri==\"一键\"||uri==\"自动\")?\"auto\":\nuri==\"书源\"?\"bookSource\":\nuri==\"订阅\"?\"rssSource\":\nuri==\"净化\"?\"replaceRule\":\n\"\";\nurl=url.match(/^legado\\:\\/\\//)?url:`legado://import/${path}?src=`+url;\nurl = String(url).replace(/^(.*?src=)(.*)/,(mat, $1, $2)=>{\n  return $1+encodeURIComponent($2);\n});\n\n\nresult=`<title>{{$.name_all}}</title>\n<iframe src=\"${url}\" hidden></iframe>\n<br><h3>{{$.name_all}}</h3>\n<h5>导入不成功？多导入几次试试</h5>\n\n<h6><b>\n↓资源链接，点击复制\n<a href=\"${url}\">一键导入</a>\n<textarea id=\"copy\" onclick=\"copy()\">${decodeURIComponent(String(url).replace(/legado.*?src=/,''))}</textarea>\n{{$.time}}\n</b></h6>\n\n<style>\na{float:right;text-decoration:none}\nh3,h5{text-align:center}\nh6{margin:0 2;position:sticky;top:30%}\ntextarea{width:100%;border-radius:5px}\n</style><script>\nfunction copy(){\n\tdocument.getElementById('copy').select()\n\tdocument.execCommand('copy')\n\talert(\"复制成功\")\n}\n</script>`}\n\n\n\n//【自定义html】\nelse if(url.match(/\\d+、\\d+、/)){\nreg=new RegExp('❗️'+url+'开始❗️\\\\s*([\\\\s\\\\S]+?)\\\\s*❗️'+url+'结束❗️');\n//默认禁止放大缩小\nresult=result.match(reg)?\n'<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no\">'+result.match(reg)[1]:'<br>未找到对应html'\n}\n\nelse{result=''}",
    "ruleImage": "$.uri@js:\nu0 = String(java.get('url'));\nu1 = u0.match(/uri\":\"([^\"]+)/);\nu2 = u0.match(/img\":\"([^\"]+)/);\nuri=String(result)||(u2?u2[1]:u1?u1[1]:\"\");\nfunction $(reg){\n\t\treturn uri.match(reg)?true:false\n\t}\n\n\nsrc =\n$(/https?:\\/\\/|^\\d{3}(\\/\\d\\d){3}$/)? uri:\n$(/【[^】]/)? baseUrl.match(/【(.*?)(】|$)/)[1]:\n\n// 默认封面\n\"https://agit.ai/butterfly/yd/raw/branch/yd/pic/yoyoda.jpg\"||source.sourceIcon;\n\n// 补全链接\nsrc.match(/^\\d{3}(\\/\\d\\d){3}$/)?`http://avatar.coolapk.com/data/${src}_avatar_middle.jpg`:src",
    "ruleLink": "$.id@js:\nurl=`{{$.url}}`;\nif(result)url+=`/tp/{{$.id}}`;\nString(url).trim().replace(/^..导入/,'');",
    "ruleNextPage": "@js:\ntry {\n    url = String(java.get('url'));\n    url = url.replace(/(pg=)(\\d+)/, (mat, $1, $2) => {\n        return $1 + (~~$2 + 1)\n    }).replace(url, '');\n} catch (err) {\n    url = \"\"\n}\nurl",
    "rulePubDate": "💾 {{$.icon}}　📥 {{$.size}}　⏱️ {{$.time}}\n##💾 　📥 　⏱️\\s*",
    "ruleTitle": "$.name_all",
    "singleUrl": false,
    "sortUrl": "@js:\njson = [];\nString(java.ajax('https://ghproxy.com/https://raw.githubusercontent.com/yoyodadada/haoruanfenxiang/master/List.md')).replace(/.*超过100.*/g,\"\")\n.replace(/([^：])(http)/g,\"$1：$2\")\n    .split(/\\s*##\\s*【\\s*/).map(text => {\n        [sortName, sortList] = text.split(/】/);\n        if (sortList) {\n            list = [];\n            String(sortList).trim()\n                .split(/\\s*\\n\\s*/).map(text => {\n                    [name, url] = text.split(/\\s*：\\s*/);\n                    String(url).trim()\n                        .split(/\\s*；\\s*/).map((url, i) => {\n                            url = String(url).replace(/\\s*#.*?密码\\:\\s*/, '#\\#');\n                            //if (i) i = \"_\" + i;\n                            //else i = \"\";\n       //json.push(name+i+'::'+url);\n      json.push(name+'::'+url);\n                        });\n                });\n\n        }\n    });\n\"❤️yoyo主盘::https://yoyodadada.lanzouw.com/u/yoyodadada\\nℹ️README::http://www.baidu.com?wd=https://x【】《自用‼️请勿传播‼️感谢参与yoyodadada项目的大佬们‼️》◎右边列表为从a到z排序的单软件难受盘◎•https://agit.ai/butterfly/yoyodadada/src/branch/master/List.md【】《yoyodadada项目.软件列表》◎▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃◎•https://agit.ai/butterfly/yoyodadada/src/branch/master/README.md【】《yoyodadada项目.README》◎▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃◎•https://agit.ai/butterfly/yoyodadada【】《yoyodadada项目.镜像仓》◎▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃◎\\n\"+ \njson.join('\\n');",
    "sourceComment": "rss by.Thomas.\n\nmd小小改（我是废物）  23.8.5\n\n‼️自用‼️请勿传播\n\n‼️感谢参与yoyodadada项目的大佬们\n\n‼️此订阅资源源自yoyodadada的项目。\nhttps://ghproxy.com/https://raw.githubusercontent.com/yoyodadada/haoruanfenxiang/master/List.md\n\n‼️里面夹杂有123云盘，及其他盘，不会弄啦，暂时可用的只有难受盘。如有需要的请使用浏览器浏览操作。\n————————\n小说交流裙892966579\nA裙637775313不加人。若裙炸了查看此裙裙资料找新家。\n\n内容取自网络，仅作学习参考，请24小时内删除。找到感兴趣内容请支持正版。\n————————\nhttps://ghproxy.com/https://raw.githubusercontent.com/ls125781003/lmtubiao/main/square/63.png",
    "sourceGroup": "-md-,R18",
    "sourceIcon": "https://agit.ai/butterfly/yd/raw/branch/yd/pic/birdw.jpg",
    "sourceName": "yoyo难受 online5",
    "sourceUrl": "https://www.lanzoux.com#yoyo2308",
    "style": "",
    "variableComment": "【刷新分类】【刷新分类】【刷新分类】"
  },
  {
    "articleStyle": 0,
    "customOrder": -34,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "tag.ol@tag.li",
    "ruleContent": " [id=content1]@all",
    "ruleDescription": "",
    "ruleImage": "",
    "ruleLink": "tag.a@href",
    "rulePubDate": "",
    "ruleTitle": "tag.a@text",
    "singleUrl": false,
    "sortUrl": "【三洞真经】\n洞真上清经::http://www.daorenjia.com/c8\n洞玄灵宝经::http://www.daorenjia.com/c9\n洞神三皇经::http://www.daorenjia.com/c10\n三洞经教::http://www.daorenjia.com/c11\n【四辅真经】\n太平部诸经::http://www.daorenjia.com/c12\n太玄部经诀::http://www.daorenjia.com/c13\n正一部经籙::http://www.daorenjia.com/c14\n道德真经::http://www.daorenjia.com/c15\n四子真经::http://www.daorenjia.com/c16\n黄帝阴符经::http://www.daorenjia.com/c17\n道教易学::http://www.daorenjia.com/c18\n太清金丹经::http://www.daorenjia.com/c19\n太清摄养经::http://www.daorenjia.com/c20\n【道教论集】\n诸子文集::http://www.daorenjia.com/c21\n道学论著::http://www.daorenjia.com/c22\n全真文集::http://www.daorenjia.com/c23\n道教类书::http://www.daorenjia.com/c24\n【道法众术】\n道法诸经::http://www.daorenjia.com/c25\n道法总集::http://www.daorenjia.com/c26\n【道教科仪】\n科戒威仪::http://www.daorenjia.com/c27\n灵宝诸斋仪::http://www.daorenjia.com/c28\n灯仪法忏章表::http://www.daorenjia.com/c29\n【道史仙传】\n神仙高道传::http://www.daorenjia.com/c30\n仙境名山志::http://www.daorenjia.com/c31",
    "sourceGroup": "🛠 工具,R18",
    "sourceIcon": "https://p2.ssl.qhimgs1.com/t01a4ef0a3b59e725b2.jpg",
    "sourceName": "道经大全",
    "sourceUrl": "http://www.daorenjia.com/",
    "style": "*{\n\tmax-width:100%;\n\theight: auto;\n\tletter-spacing: 0.5;\n\tword-wrap: break-word\n}\n"
  },
  {
    "articleStyle": 0,
    "customOrder": -5,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "📖 阅读,R18",
    "sourceIcon": "https://img2.baidu.com/it/u=787415418,2045364823&fm=253&app=138&f=JPEG?w=500&h=500",
    "sourceName": "书旗男生",
    "sourceUrl": "https://render-web.shuqireader.com/render/sq-bookstore/page/kaqd7vp1/"
  },
  {
    "articleStyle": 0,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "<js>\nvar _0x34eb,_0x24cf;function kFZkMGz(_0x34eb,_0x24cf,kFZkMGz){for(kFZkMGz=0x0;kFZkMGz<_0x24cf;kFZkMGz++){_0x34eb[\"\\x70\\x75\\x73\\x68\"](_0x34eb[\"\\u0073\\u0068\\u0069\\u0066\\u0074\"]())}return _0x34eb}_0x34eb=kFZkMGz([\"\\x77\\x71\\x4a\\x6e\\x5a\\x38\"+\"\\u004f\\u0037\\u0077\\u0035\\u0048\\u0044\"+\"\\u0072\\u004d\\u004f\\u0050\\u0077\\u006f\"+\"\\u004d\\u0030\",\"\\u0077\\u0034\\u004c\\u0043\\u0073\\u006a\\u0039\"+\"\\u0079\\u0077\\u0037\\u0054\\u0044\\u0073\\u0038\"+\"\\u004f\\u0051\\u0077\\u006f\\u0068\\u002b\\u0043\"+\"\\x38\\x4b\\x62\\x44\\x73\\x4b\\x58\"+\"\\u0077\\u0071\\u0044\\u0043\\u0075\\u0073\\u004f\"+\"\\x54\\x52\\x6b\\x31\\x45\\x52\\x45\"+\"\\x46\\x55\\x77\\x71\\x63\\x3d\",\"\\u0077\\u0036\\u006c\\u0036\\u0063\\u0073\"+\"\\x4f\\x49\\x51\\x53\\x41\\x66\"+\"\\u004f\\u0073\\u004f\\u0059\\u0077\\u0072\"+\"\\u007a\\u0043\\u0070\\u0047\\u0042\\u006d\"+\"\\x77\\x72\\x44\\x44\\x68\\x41\"+\"\\x3d\\x3d\",\"\\x77\\x37\\x62\\x44\\x6c\\x4d\"+\"\\x4b\\x74\\x4b\\x63\\x4b\\x37\"+\"\\x4f\\x77\\x67\\x6c\\x55\\x63\"+\"\\u004b\\u0073\\u0077\\u0037\\u0039\\u004f\"+\"\\x77\\x71\\x30\\x33\\x48\\x41\"+\"\\u0055\\u003d\",\"\\u0077\\u0071\\u006e\\u0044\\u0073\\u0078\\u0063\\u0046\\u004c\\u0057\\u0056\"+\"\\x46\\x77\\x35\\x6c\\x63\\x77\\x70\\x2f\\x43\\x68\\x63\"+\"\\u004b\\u0052\\u0077\\u0072\\u0050\\u0043\\u0073\\u0048\\u0072\\u0043\\u006a\"+\"\\x63\\x4b\\x48\\x53\\x73\\x4b\\x61\\x77\\x34\\x55\\x3d\",\"\\u0066\\u006d\\u004c\\u0043\\u0071\\u004d\\u004b\\u0058\\u0077\\u0071\\u006f\\u002b\\u0056\\u0057\\u0030\\u0070\\u0077\\u0036\\u0072\\u0044\\u0072\\u007a\\u0054\\u0043\\u0074\\u0043\\u004e\\u0057\\u0053\\u004d\\u004b\\u0069\\u0054\\u0038\\u004b\\u0078\\u0077\\u0071\\u0035\\u0069\\u0077\\u0071\\u007a\\u0044\\u006b\\u004d\\u004f\\u002b\\u0077\\u0036\\u0077\\u0062\\u004a\\u0057\\u006b\\u0065\\u0045\\u0069\\u0068\\u0076\\u0063\\u0032\\u0033\"+\"\\u0043\\u0074\\u0073\\u004f\\u0043\\u0056\\u0038\\u004b\\u006d\\u0048\\u0073\\u004f\\u0043\\u0065\\u0038\\u004f\\u0055\\u0077\\u0071\\u007a\\u0043\\u006b\\u0046\\u0035\\u0041\\u0062\\u0038\\u004f\\u002b\\u0077\\u0037\\u0044\\u0043\\u0073\\u0073\\u004f\\u0059\\u0050\\u0063\\u004b\\u0062\\u0077\\u0037\\u002f\\u0044\\u006d\\u0079\\u0072\\u0043\\u0067\\u0055\\u0031\\u0045\\u0077\\u0070\\u006e\\u0043\\u006b\\u0045\\u0037\\u0043\\u006c\\u004d\"+\"\\x4b\\x6d\\x46\\x7a\\x64\\x38\\x77\\x37\\x44\\x44\\x6e\\x73\\x4f\\x4a\\x77\\x70\\x62\\x44\\x76\\x38\\x4f\\x75\\x50\\x67\\x2f\\x44\\x67\\x4d\\x4b\\x63\\x56\\x45\\x4e\\x39\\x77\\x36\\x67\\x79\\x42\\x32\\x58\\x43\\x73\\x4d\\x4b\\x58\\x77\\x37\\x41\\x36\\x63\\x38\\x4f\\x33\\x77\\x35\\x70\\x57\\x77\\x37\\x72\\x44\\x6d\"+\"\\x4d\\x4b\\x49\\x77\\x36\\x4e\\x78\\x56\\x4d\\x4f\\x35\\x4c\\x56\\x72\\x43\\x6e\\x38\\x4f\\x36\\x63\\x45\\x73\\x58\\x77\\x70\\x68\\x4f\\x77\\x70\\x4e\\x37\\x77\\x70\\x30\\x46\\x77\\x37\\x6e\\x43\\x72\\x46\\x46\\x49\\x63\\x55\\x58\\x44\\x6e\\x4d\\x4f\\x41\\x77\\x6f\\x39\\x77\\x56\\x78\\x64\\x42\\x49\\x41\\x3d\\x3d\"],0x13);_0x24cf=function(kFZkMGz,v8AtTy0){var FaZdQi,rUoAxFz;kFZkMGz=kFZkMGz-0x0;FaZdQi=_0x34eb[kFZkMGz];if(_0x24cf[\"\\u0064\\u0048\\u0078\\u0055\\u0056\\u0049\"]===undefined){var TBANd2;(function(){var kFZkMGz=function(){var kFZkMGz;try{kFZkMGz=Function(\"\\u0072\\u0065\\u0074\\u0075\\u0072\\u006e\"+\"\\x20\\x28\\x66\\x75\\x6e\\x63\"+\"\\x74\\x69\\x6f\\x6e\\x28\\x29\"+\"\\x20\"+(\"\\u007b\\u007d\\u002e\\u0063\\u006f\\u006e\\u0073\\u0074\\u0072\\u0075\\u0063\"+\"\\x74\\x6f\\x72\\x28\\x22\\x72\\x65\\x74\\x75\\x72\\x6e\"+\"\\u0020\\u0074\\u0068\\u0069\\u0073\\u0022\\u0029\\u0028\\u0020\\u0029\")+\"\\x29\\x3b\")()}catch(v8AtTy0){kFZkMGz=window}return kFZkMGz},v8AtTy0,FaZdQi;v8AtTy0=kFZkMGz();FaZdQi=\"\\u0041\\u0042\\u0043\\u0044\\u0045\\u0046\\u0047\\u0048\\u0049\"+\"\\u004a\\u004b\\u004c\\u004d\\u004e\\u004f\\u0050\\u0051\\u0052\"+\"\\x53\\x54\\x55\\x56\\x57\\x58\\x59\\x5a\\x61\"+\"\\u0062\\u0063\\u0064\\u0065\\u0066\\u0067\\u0068\\u0069\\u006a\"+\"\\x6b\\x6c\\x6d\\x6e\\x6f\\x70\\x71\\x72\\x73\"+\"\\u0074\\u0075\\u0076\\u0077\\u0078\\u0079\\u007a\\u0030\\u0031\"+\"\\u0032\\u0033\\u0034\\u0035\\u0036\\u0037\\u0038\\u0039\\u002b\"+\"\\x2f\\x3d\";v8AtTy0[\"\\x61\\x74\\x6f\\x62\"]||(v8AtTy0[\"\\u0061\\u0074\\u006f\\u0062\"]=function(kFZkMGz){var v8AtTy0=String(kFZkMGz)[\"\\x72\\x65\\x70\\x6c\\x61\\x63\"+\"\\u0065\"](new RegExp(\"\\u003d\\u002b\\u0024\",\"\"),\"\"),rUoAxFz;rUoAxFz=\"\";for(var TBANd2=0x0,_0x34eb,_0x24cf,YvOyKMo=0x0;_0x24cf=v8AtTy0[\"\\u0063\\u0068\\u0061\\u0072\\u0041\\u0074\"](YvOyKMo++);~_0x24cf&&(_0x34eb=TBANd2%0x4?_0x34eb*0x40+_0x24cf:_0x24cf,TBANd2++%0x4)?rUoAxFz+=String[\"\\u0066\\u0072\\u006f\\u006d\\u0043\\u0068\"+\"\\u0061\\u0072\\u0043\\u006f\\u0064\\u0065\"](0xff&_0x34eb>>(-0x2*TBANd2&0x6)):0x0){_0x24cf=FaZdQi[\"\\u0069\\u006e\\u0064\\u0065\\u0078\\u004f\"+\"\\x66\"](_0x24cf)}return rUoAxFz})})();TBANd2=function(kFZkMGz,v8AtTy0){var FaZdQi=[],rUoAxFz,TBANd2,_0x34eb,_0x24cf,Dpyzzc5,VvLmtd;rUoAxFz=0x0;TBANd2=undefined;_0x34eb=\"\";_0x24cf=\"\";kFZkMGz=atob(kFZkMGz);for(var a8Qwzzr=0x0,CiYLCX=kFZkMGz[\"\\x6c\\x65\\x6e\\x67\\x74\\x68\"];a8Qwzzr<CiYLCX;a8Qwzzr++){_0x24cf+=\"\\x25\"+(\"\\x30\\x30\"+kFZkMGz[\"\\x63\\x68\\x61\\x72\\x43\\x6f\"+\"\\u0064\\u0065\\u0041\\u0074\"](a8Qwzzr)[\"\\u0074\\u006f\\u0053\\u0074\\u0072\\u0069\"+\"\\x6e\\x67\"](0x10))[\"\\u0073\\u006c\\u0069\\u0063\\u0065\"](-0x2)}kFZkMGz=decodeURIComponent(_0x24cf);Dpyzzc5=undefined;for(Dpyzzc5=0x0;Dpyzzc5<0x100;Dpyzzc5++){FaZdQi[Dpyzzc5]=Dpyzzc5}for(Dpyzzc5=0x0;Dpyzzc5<0x100;Dpyzzc5++){rUoAxFz=(rUoAxFz+FaZdQi[Dpyzzc5]+v8AtTy0[\"\\u0063\\u0068\\u0061\\u0072\\u0043\\u006f\"+\"\\u0064\\u0065\\u0041\\u0074\"](Dpyzzc5%v8AtTy0[\"\\x6c\\x65\\x6e\\x67\\x74\\x68\"]))%0x100;TBANd2=FaZdQi[Dpyzzc5];FaZdQi[Dpyzzc5]=FaZdQi[rUoAxFz];FaZdQi[rUoAxFz]=TBANd2}Dpyzzc5=0x0;rUoAxFz=0x0;for(VvLmtd=0x0;VvLmtd<kFZkMGz[\"\\x6c\\x65\\x6e\\x67\\x74\\x68\"];VvLmtd++){Dpyzzc5=(Dpyzzc5+0x1)%0x100;rUoAxFz=(rUoAxFz+FaZdQi[Dpyzzc5])%0x100;TBANd2=FaZdQi[Dpyzzc5];FaZdQi[Dpyzzc5]=FaZdQi[rUoAxFz];FaZdQi[rUoAxFz]=TBANd2;_0x34eb+=String[\"\\x66\\x72\\x6f\\x6d\\x43\\x68\"+\"\\x61\\x72\\x43\\x6f\\x64\\x65\"](kFZkMGz[\"\\u0063\\u0068\\u0061\\u0072\\u0043\\u006f\"+\"\\u0064\\u0065\\u0041\\u0074\"](VvLmtd)^FaZdQi[(FaZdQi[Dpyzzc5]+FaZdQi[rUoAxFz])%0x100])}return _0x34eb};_0x24cf[\"\\x56\\x74\\x77\\x54\\x53\\x56\"]=TBANd2;_0x24cf[\"\\x52\\x6e\\x62\\x56\\x6f\\x47\"]={};_0x24cf[\"\\x64\\x48\\x78\\x55\\x56\\x49\"]=!![]}rUoAxFz=_0x24cf[\"\\u0052\\u006e\\u0062\\u0056\\u006f\\u0047\"][kFZkMGz];if(rUoAxFz===undefined){if(_0x24cf[\"\\u0070\\u0043\\u0067\\u0074\\u0063\\u0062\"]===undefined){_0x24cf[\"\\x70\\x43\\x67\\x74\\x63\\x62\"]=!![]}FaZdQi=_0x24cf[\"\\u0056\\u0074\\u0077\\u0054\\u0053\\u0056\"](FaZdQi,v8AtTy0);_0x24cf[\"\\u0052\\u006e\\u0062\\u0056\\u006f\\u0047\"][kFZkMGz]=FaZdQi}else{FaZdQi=rUoAxFz}return FaZdQi};eval(String(java[_0x24cf(\"\\u0030\\u0078\\u0030\",\"\\x49\\x45\\x56\\x54\")](source[_0x24cf(\"\\x30\\x78\\x31\",\"\\x30\\x26\\x6c\\x76\")],_0x24cf(\"\\u0030\\u0078\\u0032\",\"\\x74\\x78\\x32\\x54\"),_0x24cf(\"\\x30\\x78\\x33\",\"\\x46\\x74\\x38\\x35\"),\"\")));user_Check();headers={[\"\\x55\\x73\\x65\\x72\\x2d\\x41\"+\"\\u0067\\u0065\\u006e\\u0074\"]:_0x24cf(\"\\u0030\\u0078\\u0034\",\"\\u0046\\u0043\\u0033\\u0077\"),[\"\\u0041\\u0063\\u0063\\u006f\\u0075\\u006e\"+\"\\u0074\"]:Account,\"\\x4e\\x61\\x6d\\x65\":Name};JSON[_0x24cf(\"\\u0030\\u0078\\u0035\",\"\\x4a\\x55\\x69\\x5b\")](headers);\n</js>",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginUi": "[\n  { name: \"激活码：\", type: \"text\" }\n]",
    "loginUrl": "function login(e) {\n    if (e == undefined) {\n        return;\n    }\n    java.longToast(e);\n}",
    "shouldOverrideUrlLoading": "if (!/^http|^legado/.test(url)) {\n    java.openUrl(url);\n    true;\n}",
    "singleUrl": true,
    "sourceGroup": "R18",
    "sourceIcon": "https://qyyuapi.com/logo.jpg",
    "sourceName": "XH发布页",
    "sourceUrl": "https://qyyuapi.com",
    "variableComment": "JspHXCgzmq549cSvxZRk3RjxcB4ut+abnBPuh0aaJjiYDY+/6fHk7jDLr53JgymxYjcsQKo1BUB1ztvvZiBblDMduGT0UY0EeUSczoZqvLzEKl+3DQw10vYSo84bXQESntYttlMnXBJmELsR4Tw2BdqFwybq7jVwvbbMSXXHsT410X8mY6cZaMIPWNw3NcEqvInH8DSSegzdPddUfhcvmyULd7miS/vTLFwC0eQSYfeEPvlu0y6mb5nn2n0XEN7playPCBOyhaqVduzeisk8J78+vn2EKh7bGicC1dcAZ7+4qvVFalN7wqw4QoedJkdDUQoZYIcCH7V0mlr+xgepoKO0Ssa6xFVYq86m6IFKMYv5TbcYAX4bvZ0VitkoRUlLPopsMPuGXDeGxpKemwWxTPu1EqoO/WNB/RPqJH59ikrXAVSKEvt8o4gpN5MOA3LSvCkQPyL+UtZxf9M0mt1GASUJAOcLPcAT0GvPgaz/bYcLCw4x/H+zKvFQa+oYXHfVvOlP/aFoU5trecKecXiGWcHirgGYodZyo5l1tVQCOX0xlaA5fjTUOLRdZoAMOqn4nMW0YJUFkL7sjeOzWAgT+fax07th0kK2BWBVMaSAj7ZfaD8BbCQf1n+K+X03Gbv+lvyrPSYad6lkuh5GQt9amA5px2tnT438sodCBx4MTS9EqHQUiKMVYG8Ms7ULmPbZruKicK86YzEvk/roMWPuvSCMHzqmZlDNOBjEJSmysPTtsGB+fsb++Z+cSjHiVainhxgEQF3yYLLb13f0tpE2xlTtaMHwuU/Z5EUvJwarhebSBROZro+PcbkGfK0nn1wlnLC250wqB9+vgRk3VCB59CViYSq0n6z2aOdLdaziGS4bsBkFgat1yyLveeAqReJcuLa7w0VCDfSsPoFkxuMm7mEmyNnsUf6j6SifSbtRxqHk7G+EPRbrCWfFCQrA3ccQ0YPNUk68bqmgDo5cQKzb3d7jn7TzoCDu28fBrCoJRSXAvN0qH5QeGoJrkQTeoZBss5oBJabCs6yD+qF/rnEF5ZNCJAEs/b0VUMb2C1L+l50qRxSy75q8ClnZseDxjcGjNwu11Kjn3pnppkAsc5680KqF318PvT9pw2v7axcynn2BQwR1Q0wVwS9N1g5OzHGFDgW0/tg305KdPr2D38CRjFc006jvm6iDY5gNbK5xA+ZkRfniCNt49bJaAANoCEro3QFhJkn2ECoOmwN4aYdfdn3SloTv48koLVJu+0NT+ALKRy8webdtEGmeg1nKgQIohpZYe+3U2ngE5+YH3MxfzWRF+eII23j1sloAA2gISugHQgo5MUjqmwHS6LmJGE0HfdKWhO/jySgtUm77Q1P4Aga5LMXFdV3ATUOmzIznPzShIyV/6bVyaFgOodSwcvDO7e+9mp4BfJ+n3tDDat6TDh0dlc1POyxP1ruImWdh3lVofnEARZorYB8OHyDlKxgb0pbBvDCP6EyINrkwh1ZxpkOBkQY/UdUyXDbrJUnkAXc3z78azPQkYl0C8ibkPbeAzmkbAcCDFf/+QbZeWL9zFcmeOTDLIoKalyUAPR8EQzyDShzeM6D+/4rHvfIR+KXU9XPsEzqWZkTQvwCTuXx8FScz/ydyRQTxmbLSTtZ27R2BfLWw/3vSAEWyok9NSBs/qltsNjAEfgH4X2voz9v6/H1SWnJ8s/YXnaFul8m8Y1p9xSDrqs3qEkZI3V/aABBP05Neu/6jTZFlMx1m0ZEjbKjkbVLK/VZ+SHm7PdmH8yIojPzV9Y20pgVjrPi1gX3Bl6+pKwtADgrGQKU7HqsnrILOPsD1Vgh9E1WlvxRRHfx5bxTQE6FVAScUg4JMOZrhBueCD7LkHKrNKXnaBMMnAKo1n5XU3P5jKpG7afOPBdBRfFNIEIG40a5i2FEWbwArhRBydkpq6oHDD15ly3TTLx2xxwtVaarIUeBLxiLEu0Lsti/TfAPGJd+QXldI/Yu6xTF92YA3nzE1YERQrGn4AvaxJ9Ggro3rPiwavH54jQZEfRgf82L+BbFHo+uOcEwZW1E0Oi1fcEinLF7ZJxrjTJWOBboTdTY+P73OHGFxVLyqXbapfSAd2MKADrTGc0oJmPjYOwCzKXpA0wFsPV0zU8H0toWi2sWjcVEgkST4OhCrAXVA7jm21UbAXDOVq2nOcqYRzkFlHOVmDArT/Xo2203iY6tCZLg1CBlcPDIET1O7ynWdA+eO+z0tlybNb3cw7cm9tFG60KOz1GAdKL4X5+YSGsOdEIqtmoqz5g18LnIBp5C5Dd79DGRVS4RGeZLp+l+jBP/6TR6ak7XaN9cGZEMtqQ1HnjCgp5qCLZ4g3TTxGUp4d4rZ+WzDe1hzTGbJbQNsHtrgKgf6IxM5GuhOq6vG8j36vu9g7xJoYv/P03TC5EsGjcT/hbD50nwiEdn2LFtXdXYbRRkUl1MC2MSCsTHxh71GddwdwdgNfcZIMc4VyDsasocGIf9pnmUKUaqjWGyJdLvlGG/YCV4O6O1p/pJnxQvlbsrqXqDRNtNA79og8k/rOfvp0Q9Qe1LZvX87FR3XBtW6DbJai7Reu0EyYbn4TT8H9cbXJpA7gIDJ1HMi+8SWa/KZGb6SenHKDb6RzX3lDFmB9AQpnJQoVl+k6GMQFOgS0vKI36K+ItG5wRYHUmU/5282pWgaDXT/pH9Z499evFkACGRMTNG5sYRbk4Bluj+7N3AFqEipRtXou+ZG0cRY4RB0yLHb0V7DrUDXOO0QVOWPCNLk7nkQ6+4qq/eyg+/WxZN22qo+IqXX+ZwsW1d1dhtFGRSXUwLYxIKxRHSYVsde+/DlBXsNmmzxacSzImu4odilrH2VKEJKCdheKu7R3oVgxeZyYmaM6qF7WvcaDLvuLv3A7zTQbr89HGv0DV4FveQYkRtxIiyeICK2TkTOc8aJEauU/s0ekyWNylem4HqpL28jjxjcIfMw63dRd79Z5unbX/f+mvjikoG2QVuoNu5O5Tt17hMvVUCi5P09d1p6Whbzowm2XdShiFx3XdeYK6+9KFuOuFTJQ6hEfRgf82L+BbFHo+uOcEwZW1E0Oi1fcEinLF7ZJxrjTJWOBboTdTY+P73OHGFxVLyqXbapfSAd2MKADrTGc0oJmPjYOwCzKXpA0wFsPV0zU1k/42e2PNpOazVZTmD5WW3GGbsrq+RY5ZvHKlq1jXOkrDqQxsT+wdTKwlveQhFHM8YfDsw8I4ju53cVSdlq7QBPaJq85T/rJ8rfIrTo1UwgvazVVDgrIJXemwd32m1+9vzWKq0dGHUH7MQN/27l3ZGgIGDcsE5QNkdubQL7Y+Xx26KHGPXLP9/PZAZOm3GrHxu+nVgLvvmQGJ/qKm2ylJwT2YNxi7QLVyKtVOSyIiTMReRn64vzrh1YbkqF192HRrIyeOnvn8ZneZZ08atcbW90Frqfw6fb9THwym6xb2qqyXvzWg/u/Lj9phazkfeQ4s0WeOHMO5Oz0XT5BKjZMOjgmEU8qalKBix3xqPe84Y0HgZiYisWNkEqMwOmQFpAgLIHP80fmaK6hvIky3inRDYVUE2V9N+J+BTyBlN/RfJLSy1wL6s4rzCRksdufkwHRtmUz0vvbHGDQ+is/3jdHTwjdMMSKzTAJbFqocFtJh11GQtNJqip9qPXyVOT5g8pMtP67Fd93pnL88wDUN3ETXanJnmi2nNksczSOk9Iv0/GTY04/klkOBybXb2HBX4qloJRa00RBN1tcsSNTn5Ia25lZl4ASHzQhqc2LUnP76LOIMxLZ9yiBQoRKD88G5X+Pv0uGSrcHrbzgJzv4hoiJB57ZRqnVN+hMeFf/R9/310YwclBTrvKkpafh0W+pEwMxWzkQKN2LEc5xMLD8bFiqQXByiDkM9AT368mkzNGI0dmqwF1QO45ttVGwFwzlatpzg92CbE6a6+QsBAlZGG8YOeH+I4XFmfjSj3RQ/wj3SUoDbVnSqwbUuJH7tXfqsrKWGECEZcGvNANLYll584xrJDrrjbvl3jVBt8iSrDppmleddDGHUH6AEJAZDavQVCm8qgavnKNdHTuGuRbZrsvK/PLlI8x49zuvOLRBCtCHJYvPq8UkEBsscyn6NYVuQAwIgvciAyBBxAXV1zHs97OWggntVjt6vNejgQqen2kMvhVCy5NBg9bFtDOJItDEyS4tbL8yWxOA/BMXWT0WzVhL8jteLHV0mOjXk9agXnGgHjrEtsGpN+2qa+sdKADKg1iHJ3FTlQGfy7X5ew9wQb76cnrysN3muMr9+HJhhKfV24U11DwsVsuyowmQ7VSyJvhviARYovpkV7fNrENZOqf1RXzKlV+NjFEIALnjeVDKB8UXrVrPAqgfc9RxCNangLu+VeYLtAnA4/UsuEYz2RYS/n9+5mY7cE42kE97G0YfIC/+EtIxKct/P3Ds0sUYT7vWoswg7XJRDMO2ZZ/uBqkjC+WxhHZkjS6xXADPzx1HdBz25fZPdbxr9MbweshhONHtCq7xktoYrKxESz8FhVod1JVOkBul1JN8TOGhXz9l+a/4XvfPYyMUeLdXj4F2Ue8FpH/LWfi41BHbbxuIDww/vZPUp+MdfgV0iuHDisjJWrq/fuZmO3BONpBPextGHyAv4wBuEr1++GbIi6q+/TvQ9yI0tRXnizzA90tIAfvWBS67Xix1dJjo15PWoF5xoB46xLbBqTftqmvrHSgAyoNYhydxU5UBn8u1+XsPcEG++nJE/xmZsHGzxOjv6dxdSobfutMDiyMT2cMVtf01To+Cj1jEBToEtLyiN+iviLRucEWp2xsV0u5gNaY0WRqsaL6ksIvG2EBbWiTm4QHhDe1/E8="
  },
  {
    "articleStyle": 0,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "id.content@h3",
    "ruleLink": "a@href",
    "ruleTitle": "a@textNodes",
    "singleUrl": true,
    "sortUrl": "首页::https://www.yuque.com/legado/wiki",
    "sourceGroup": "🍉初始,R18",
    "sourceIcon": "https://www.yuque.com/favicon.ico",
    "sourceName": "阅读APP使用文档",
    "sourceUrl": "https://www.yuque.com/legado/wiki"
  },
  {
    "articleStyle": 2,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "{\n\t\"User-Agent\": \"Mozilla/5.0 (Linux; Android 9) Mobile Safari/537.36\",\"referer\": \"{{baseUrl}}\"\n\t}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginUrl": "https://www.sshs.pw",
    "ruleArticles": "id.masonry.0@class.item",
    "ruleContent": "link@all&&script@all&&#masonry@all",
    "ruleImage": "img@data-original",
    "ruleLink": "a.0@href",
    "ruleNextPage": "page",
    "rulePubDate": "{{@span.item-num@text}} {{@a.1@text}}",
    "ruleTitle": ".item-link-text@text",
    "singleUrl": false,
    "sortUrl": "R-15::sort/r15.html/{{page}}/,{'webView': true}\n\tR-18::sort/r18.html/{{page}}/,{'webView': true}\n\t\t\n搜索::search/{{(source.getVariable()==''||source.getVariable()==null)?source.setVariable('年年'):\"\"}}{{source.getVariable()}}/{{page}}/,{'webView': true}\n小奶糕Milky::tag/%E5%B0%8F%E5%A5%B6%E7%B3%95Milky/,{'webView': true}",
    "sourceComment": "地址发布页 https://www.sshs.pw/\nhttps://www.sshs.uno/\n永久地址https://www.hentaiclub.net/",
    "sourceGroup": "R18",
    "sourceIcon": "https://www.40358257.xyz/static/favicon.ico",
    "sourceName": "绅士会所",
    "sourceUrl": "https://www.hentaiclub.net/"
  },
  {
    "articleStyle": 0,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.four columns box-item-fixed-index a-relative",
    "ruleContent": "link@all&&.row!0:1@all",
    "ruleImage": ".mockup-thumb@style##.*\\(|\\);",
    "ruleLink": "a.0@href",
    "ruleNextPage": "page",
    "rulePubDate": ".d-btn@text",
    "ruleTitle": "a@title",
    "singleUrl": false,
    "sortUrl": "简体::https://font.sucai999.com/search/0_1_{{page}}.html\n繁体::https://font.sucai999.com/search/0_2_{{page}}.html",
    "sourceGroup": "🛠 工具,R18",
    "sourceIcon": "",
    "sourceName": "字体下载",
    "sourceUrl": "https://font.sucai999.com"
  },
  {
    "articleStyle": 0,
    "customOrder": 0,
    "enableJs": true,
    "enabled": false,
    "enabledCookieJar": false,
    "lastUpdateTime": 1684317301653,
    "loadWithBaseUrl": true,
    "ruleArticles": ".linkList-section-wrapper@ul@li",
    "ruleContent": ".editor-content@html&&.editorContent-download@html",
    "ruleLink": "a@href",
    "rulePubDate": ".date-info@text",
    "ruleTitle": "a@text",
    "singleUrl": false,
    "sortUrl": "最新::https://www.mohurd.gov.cn/gongkai/fdzdgknr/bzgf/index<,_{{page+1}}>.html\n历史::https://www.mohurd.gov.cn/gongkai/fdzdgknr/bzgf/index_{{page + 1}}.html",
    "sourceGroup": "R18",
    "sourceIcon": "https://img0.baidu.com/it/u=3025983840,1355060862&fm=253&app=138&size=w931&n=0&f=JPEG&fmt=auto?sec=1684429200&t=2935e511c5cf57b69ed28724ac5dd29d",
    "sourceName": "住建部公告",
    "sourceUrl": "https://www.mohurd.gov.cn/gongkai/fdzdgknr/bzgf/index.html"
  },
  {
    "articleStyle": 0,
    "customOrder": 0,
    "enableJs": true,
    "enabled": false,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.wap_home_album_list_container@li&&class.wap_font_list@li",
    "ruleContent": "all",
    "ruleImage": "img@src",
    "ruleLink": "tag.a.0@href",
    "ruleNextPage": "page",
    "rulePubDate": "",
    "ruleTitle": "h5@text||tag.a@title",
    "singleUrl": false,
    "sortUrl": "首页::http://m.fonts.net.cn\n幼圆::http://m.fonts.net.cn/fonts-zh/tag-youyuan-{{page}}.html\n行书::http://m.fonts.net.cn/fonts-zh/tag-xingshu-{{page}}.html\n草书::http://m.fonts.net.cn/fonts-zh/tag-caoshu-{{page}}.html\n隶书::http://m.fonts.net.cn/fonts-zh/tag-lishu-{{page}}.html\n行楷::http://m.fonts.net.cn/fonts-zh/tag-xingkai-{{page}}.html\n篆体::http://m.fonts.net.cn/fonts-zh/tag-zhuanti-{{page}}.html\n黑体::http://m.fonts.net.cn/fonts-zh/tag-heiti-{{page}}.html\n广告::http://m.fonts.net.cn/fonts-zh/tag-guanggao-{{page}}.html\n宋体::http://m.fonts.net.cn/fonts-zh/tag-songti-{{page}}.html\n楷体::http://m.fonts.net.cn/fonts-zh/tag-kaiti-{{page}}.html\n魏碑::http://m.fonts.net.cn/fonts-zh/tag-weibei-{{page}}.html\n毛笔::http://m.fonts.net.cn/fonts-zh/tag-maobi-{{page}}.html\n手写::http://m.fonts.net.cn/fonts-zh/tag-shouxie2-{{page}}.html\n彩云::http://m.fonts.net.cn/fonts-zh/tag-caiyun-{{page}}.html\n卡通::http://m.fonts.net.cn/fonts-zh/tag-katong2-{{page}}.html\n综艺::http://m.fonts.net.cn/fonts-zh/tag-zhongyi-{{page}}.html\n书法::http://m.fonts.net.cn/fonts-zh/tag-shufa2-{{page}}.html\n新魏::http://m.fonts.net.cn/fonts-zh/tag-xinwei-{{page}}.html\n仿宋::http://m.fonts.net.cn/fonts-zh/tag-fangsong-{{page}}.html\n大黑::http://m.fonts.net.cn/fonts-zh/tag-dahei-{{page}}.html\n娃娃::http://m.fonts.net.cn/fonts-zh/tag-wawa-{{page}}.html\n钢笔::http://m.fonts.net.cn/fonts-zh/tag-gangbi-{{page}}.html\n琥珀::http://m.fonts.net.cn/fonts-zh/tag-hupo-{{page}}.html\n细黑::http://m.fonts.net.cn/fonts-zh/tag-xihei-{{page}}.html\n古印::http://m.fonts.net.cn/fonts-zh/tag-guyin-{{page}}.html\n空心::http://m.fonts.net.cn/fonts-zh/tag-kongxin-{{page}}.html\n姚体::http://m.fonts.net.cn/fonts-zh/tag-yaoti-{{page}}.html\n颜楷::http://m.fonts.net.cn/fonts-zh/tag-yankai-{{page}}.html\n海报::http://m.fonts.net.cn/fonts-zh/tag-haibao-{{page}}.html\n明体::http://m.fonts.net.cn/fonts-zh/tag-mingti-{{page}}.html\n瘦金体::http://m.fonts.net.cn/fonts-zh/tag-shoujin-{{page}}.html\n方正字体::http://m.fonts.net.cn/fonts-zh/tag-fangzheng-{{page}}.html\n汉仪字体::http://m.fonts.net.cn/fonts-zh/tag-hanyi-{{page}}.html\n腾祥字体::http://m.fonts.net.cn/fonts-zh/tag-tengxiang-{{page}}.html\nAa字体::http://m.fonts.net.cn/fonts-zh/tag-Aafont-{{page}}.html\n新蒂字体::http://m.fonts.net.cn/fonts-zh/tag-xindi-{{page}}.html\n锐字家族::http://m.fonts.net.cn/fonts-zh/tag-ruizi-{{page}}.html\n字心坊::http://m.fonts.net.cn/fonts-zh/tag-zixinfang-{{page}}.html\n造字工房::http://m.fonts.net.cn/fonts-zh/tag-zaozigongfang-{{page}}.html\n书法家字体::http://m.fonts.net.cn/fonts-zh/tag-shufajia-{{page}}.html\n上首造字::http://m.fonts.net.cn/fonts-zh/tag-shangshou-{{page}}.html\n逐浪字体::http://m.fonts.net.cn/fonts-zh/tag-zhulang-{{page}}.html\n苏新诗字体::http://m.fonts.net.cn/fonts-zh/tag-suxinshi-{{page}}.html\n经典字体::http://m.fonts.net.cn/fonts-zh/tag-jingdian-{{page}}.html\n创艺字体::http://m.fonts.net.cn/fonts-zh/tag-chuangyi-{{page}}.html\n中国龙字体::http://m.fonts.net.cn/fonts-zh/tag-zhongguolong-{{page}}.html\n金桥字体::http://m.fonts.net.cn/fonts-zh/tag-jinqiao-{{page}}.html\n金梅字体::http://m.fonts.net.cn/fonts-zh/tag-jinmei-{{page}}.html\n华康字体::http://m.fonts.net.cn/fonts-zh/tag-huakang-{{page}}.html\n汉鼎字体::http://m.fonts.net.cn/fonts-zh/tag-handing-{{page}}.html\n迷你字体::http://m.fonts.net.cn/fonts-zh/tag-mini-{{page}}.html\n华文字体::http://m.fonts.net.cn/fonts-zh/tag-huawen-{{page}}.html\n超世纪字体::http://m.fonts.net.cn/fonts-zh/tag-chaoshiji-{{page}}.html\n长城字体::http://m.fonts.net.cn/fonts-zh/tag-changcheng-{{page}}.html\n博洋字体::http://m.fonts.net.cn/fonts-zh/tag-boyangshouxie-{{page}}.html\n书体坊字体::http://m.fonts.net.cn/fonts-zh/tag-shufafang-{{page}}.html\n微软字体::http://m.fonts.net.cn/fonts-zh/tag-weiruan-{{page}}.html\n三极字库::http://m.fonts.net.cn/fonts-zh/tag-sanji-{{page}}.html\n蒙纳字体::http://m.fonts.net.cn/fonts-zh/tag-mengna-{{page}}.html\n文鼎字体::http://m.fonts.net.cn/fonts-zh/tag-wending-{{page}}.html\n全真字体::http://m.fonts.net.cn/fonts-zh/tag-quanzhen-{{page}}.html\n超研泽字体::http://m.fonts.net.cn/fonts-zh/tag-chaoyanze-{{page}}.html\n张海山字体::http://m.fonts.net.cn/fonts-zh/tag-zhanghaishan-{{page}}.html\n文泉驿字体::http://m.fonts.net.cn/fonts-zh/tag-wenquanyi-{{page}}.html\n文悦字体::http://m.fonts.net.cn/fonts-zh/tag-wenyue-{{page}}.html\n思源字体::http://m.fonts.net.cn/fonts-zh/tag-siyuan-{{page}}.html\n田氏字体::http://m.fonts.net.cn/fonts-zh/tag-tianshi-{{page}}.html\n北师大字体::http://m.fonts.net.cn/fonts-zh/tag-beishida-{{page}}.html\n雅坊字体::http://m.fonts.net.cn/fonts-zh/tag-yafang-{{page}}.html\n富汉通字体::http://m.fonts.net.cn/fonts-zh/tag-fuhantong-{{page}}.html\n四通利方字体::http://m.fonts.net.cn/fonts-zh/tag-sitonglifang-{{page}}.html\n白舟字体::http://m.fonts.net.cn/fonts-zh/tag-baizhou-{{page}}.html\n昆仑字体::http://m.fonts.net.cn/fonts-zh/tag-kunlun-{{page}}.html\n王汉宗字体::http://m.fonts.net.cn/fonts-zh/tag-wanghanzong-{{page}}.html\n日系中文::http://m.fonts.net.cn/fonts-zh/tag-rixi-{{page}}.html\n吉页字体::http://m.fonts.net.cn/fonts-zh/tag-jiyeziku-{{page}}.html\n刻石录字体::http://m.fonts.net.cn/fonts-zh/tag-keshilu-{{page}}.html\n喜鹊造字::http://m.fonts.net.cn/fonts-zh/tag-xique-{{page}}.html\n汉标字库::http://m.fonts.net.cn/fonts-zh/tag-hanbiao-{{page}}.html\n其它字体::http://m.fonts.net.cn/fonts-zh/tag-qitaziku-{{page}}.html\nA::http://m.fonts.net.cn/fonts-zh/letter-a-{{page}}.html\nB::http://m.fonts.net.cn/fonts-zh/letter-b-{{page}}.html\nC::http://m.fonts.net.cn/fonts-zh/letter-c-{{page}}.html\nD::http://m.fonts.net.cn/fonts-zh/letter-d-{{page}}.html\nE::http://m.fonts.net.cn/fonts-zh/letter-e-{{page}}.html\nF::http://m.fonts.net.cn/fonts-zh/letter-f-{{page}}.html\nG::http://m.fonts.net.cn/fonts-zh/letter-g-{{page}}.html\nH::http://m.fonts.net.cn/fonts-zh/letter-h-{{page}}.html\nI::http://m.fonts.net.cn/fonts-zh/letter-i-{{page}}.html\nJ::http://m.fonts.net.cn/fonts-zh/letter-j-{{page}}.html\nK::http://m.fonts.net.cn/fonts-zh/letter-k-{{page}}.html\nL::http://m.fonts.net.cn/fonts-zh/letter-l-{{page}}.html\nM::http://m.fonts.net.cn/fonts-zh/letter-m-{{page}}.html\nN::http://m.fonts.net.cn/fonts-zh/letter-n-{{page}}.html\nO::http://m.fonts.net.cn/fonts-zh/letter-o-{{page}}.html\nP::http://m.fonts.net.cn/fonts-zh/letter-p-{{page}}.html\nQ::http://m.fonts.net.cn/fonts-zh/letter-q-{{page}}.html\nR::http://m.fonts.net.cn/fonts-zh/letter-r-{{page}}.html\nS::http://m.fonts.net.cn/fonts-zh/letter-s-{{page}}.html\nT::http://m.fonts.net.cn/fonts-zh/letter-t-{{page}}.html\nU::http://m.fonts.net.cn/fonts-zh/letter-u-{{page}}.html\nV::http://m.fonts.net.cn/fonts-zh/letter-v-{{page}}.html\nW::http://m.fonts.net.cn/fonts-zh/letter-w-{{page}}.html\nX::http://m.fonts.net.cn/fonts-zh/letter-x-{{page}}.html\nY::http://m.fonts.net.cn/fonts-zh/letter-y-{{page}}.html\nZ::http://m.fonts.net.cn/fonts-zh/letter-z-{{page}}.html\n其它::http://m.fonts.net.cn/fonts-zh/letter-else-{{page}}.html",
    "sourceGroup": "R18",
    "sourceIcon": "https://img04.sogoucdn.com/v2/thumb/crop/xy/ai/x/0/y/0/w/200/h/200/iw/70/ih/70/t/0/ir/3/retype_exclude_gif/ext/auto/q/75?t=2&appid=200965&url=http%3A%2F%2Fimg03.sogoucdn.com%2Fapp%2Fa%2F10010016%2F070598442766ca845f6017ac4eb5a4bc&sign=dd6435fdfdc768ce466aa7bf27ec525c",
    "sourceName": "字体天下",
    "sourceUrl": "http://m.fonts.net.cn/fonts-zh/tag-lishu-1.html"
  },
  {
    "articleStyle": 0,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "R18",
    "sourceIcon": "https://www.lgstatic.com/thumbnail_300x300/image1/M00/0D/9F/Cgo8PFT4JymAJ5eLAABqgKh965M516.png",
    "sourceName": "坚果云",
    "sourceUrl": "https://www.jianguoyun.com/d/home#/home",
    "style": ""
  },
  {
    "articleStyle": 2,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "//div.list-com/a",
    "ruleContent": "//ul/li",
    "ruleImage": "//img@src##.*?<img src=\"(.*?)\".*?##$1###@js:header={\"Referer\":baseUrl}\nheaders={\"headers\":JSON.stringify(header)}\nresult=result+','+JSON.stringify(headers)",
    "ruleLink": "href",
    "ruleNextPage": "page",
    "rulePubDate": "//img@src##.*?<img src=\"https://imgfzone.tooopen.com/(.*?)/.*?.jpg\".*?##$1###",
    "ruleTitle": "//text()",
    "singleUrl": false,
    "sortUrl": "",
    "sourceComment": "",
    "sourceGroup": "图片,R18",
    "sourceIcon": "https://img2.baidu.com/it/u=3447143413,168358415&fm=253&fmt=auto&app=138&f=JPEG?w=347&h=500",
    "sourceName": "美图公社",
    "sourceUrl": "https://desk.tooopen.com/beauty_3<,_{{page}}>.html"
  },
  {
    "articleStyle": 2,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "//div.list-com/a",
    "ruleContent": "//ul/li",
    "ruleImage": "//img@src##.*?<img src=\"(.*?)\".*?##$1###@js:header={\"Referer\":baseUrl}\nheaders={\"headers\":JSON.stringify(header)}\nresult=result+','+JSON.stringify(headers)",
    "ruleLink": "href",
    "ruleNextPage": "page",
    "rulePubDate": "//img@src##.*?<img src=\"https://imgfzone.tooopen.com/(.*?)/.*?.jpg\".*?##$1###",
    "ruleTitle": "//text()",
    "singleUrl": false,
    "sortUrl": "",
    "sourceComment": "",
    "sourceGroup": "图片,R18",
    "sourceIcon": "https://img2.baidu.com/it/u=3447143413,168358415&fm=253&fmt=auto&app=138&f=JPEG?w=347&h=500",
    "sourceName": "美图公社",
    "sourceUrl": "https://desk.tooopen.com/artphoto_3<,_{{page}}>.html"
  },
  {
    "articleStyle": 0,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.pb@tag.div",
    "ruleDescription": "",
    "ruleImage": "class.focus@tag.span@tag.img@src",
    "ruleNextPage": "class.pagination pagination-multi@class.next-page@tag.a@href",
    "rulePubDate": "class.text-muted time.0@text##发布于:",
    "ruleTitle": "class.excerpt excerpt-one.0@tag.header@tag.a@text",
    "singleUrl": true,
    "sourceGroup": "图片,R18",
    "sourceIcon": "https://www.xx3004.vip/wp-content/themes/xiu/images/wap-logo.png",
    "sourceName": "美女写真",
    "sourceUrl": "https://www.san421.com/meinv"
  },
  {
    "articleStyle": 0,
    "concurrentRate": "",
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginCheckJs": "",
    "loginUi": "",
    "loginUrl": "",
    "ruleArticles": "class.row col6 clearfix@dl&&class.col clearfix@ul@li\n<js>java.log(result)</js>",
    "ruleContent": "class.main@html",
    "ruleDescription": "",
    "ruleImage": "tag.img@data-original&&tag.img@src",
    "ruleLink": "dt@a@href&&a@href",
    "ruleNextPage": "text.下一页@href",
    "rulePubDate": "dt@a@i@text&&span@text",
    "ruleTitle": "class.s xst@text&&h3@text",
    "singleUrl": false,
    "sortUrl": "图片::/tupian/index.html\n偷窥自拍::/toukuizipai/index.html\n亚洲色图::/yazhousetu/index.html\n欧美色图::/oumeisetu/index.html\n动漫图片::/dongmantupian/index.html\n美腿丝袜::/meituisiwa/index.html\n清纯唯美::/qingchunweimei/index.html\n熟女图区::/shunvtuqu/index.html\n另类图片::/lingleitupian/index.html\n小说::/xiaoshuo/index.html\n都市激情::https://www.888zzo.com/doushijiqing/index.html\n家庭乱伦::https://www.888zzo.com/jiatingluanlun/index.html\n人妻女友::/renqinvyou/index.html\n武侠古典::/wuxiagudian/index.html\n迷情校园::/miqingxiaoyuan/index.html\n另类小说::/lingleixiaoshuo/index.html\n黄色笑话::/huangsexiaohua/index.html\n性爱技巧::/xingaijiqiao/index.html",
    "sourceComment": "https://www.888zzo.com备用",
    "sourceGroup": "图片,R18",
    "sourceIcon": "https://avatars.githubusercontent.com/u/49548316",
    "sourceName": "快活影院",
    "sourceUrl": "https://www.333ood.com",
    "style": "img{\n\twidth:100%;\n\theight:auto;\n\t}##github@ifwlzs"
  },
  {
    "articleStyle": 1,
    "concurrentRate": "",
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginCheckJs": "",
    "loginUi": "",
    "loginUrl": "",
    "ruleArticles": "class.new&&id.waterfall@li",
    "ruleContent": "class.t_fsz@html&&class.t_fsz@tr@html##img.*file##img src",
    "ruleDescription": "",
    "ruleImage": "tag.img@data-original&&tag.img@src",
    "ruleLink": "class.s xst@href&&h3@a@href",
    "ruleNextPage": "page",
    "rulePubDate": "",
    "ruleTitle": "class.s xst@text&&img@alt",
    "singleUrl": false,
    "sortUrl": "日韩美女区::https://5278.cc/forum-321-{{page+1}}.html\n优质套图区::https://5278.cc/forum-30-{{page+1}}.html\n性感诱惑区::https://5278.cc/forum-29-{{page+1}}.html\n激情性爱区::https://5278.cc/forum-4-{{page+1}}.html\n西洋辣妹区::https://5278.cc/forum-18-{{page+1}}.html\n丝袜美腿区::https://5278.cc/forum-19-{{page+1}}.html\n另类图片区::https://5278.cc/forum-20-{{page+1}}.html\n成人卡漫区::https://5278.cc/forum-21-{{page+1}}.html\n情色文学区::https://5278.cc/forum-38-{{page+1}}.html\n性爱秘技区::https://5278.cc/forum-40-{{page+1}}.html",
    "sourceComment": "<js>github@ifwlzs</js>",
    "sourceGroup": "图片,R18",
    "sourceIcon": "https://5278.cc/favicon.ico",
    "sourceName": "5278",
    "sourceUrl": "https://5278.cc/",
    "style": "img{\n\twidth:100%;\n\theight:auto;\n\t}##github@ifwlzs"
  },
  {
    "articleStyle": 2,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "article",
    "ruleContent": ".article-content@tag.p@tag.img@data-src##\\n##\\$\n<js>\nli='\\n'\nlist=result.split('$')\nfor(i in list){\n\t\tli += '<li><img src=\"https://www.meinv.im/static/zde/timg.gif\" data-src=\"'+list[i]+'\"></li>\\n'\n\t}\nli\n</js>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\">\n\n<h3>{{@@.container@h1@text}}</h3>\n<h6>{{@@id.myList@h4@text}}</h6>\n\n<ul id=\"box\">\n{{result}}\n</ul>\n\n\n<link rel=\"stylesheet\" href=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.css\">\n<script src=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.js\"></script>\n<script>\n\troot = document.getElementById('box')\n\tlazy = new IntersectionObserver(entires => {\n\t\tentires.forEach(item => {\n\t\t\tif(item.isIntersecting){\n\t\t\t\titem=item.target\n\t\t\t\titem.src=item.getAttribute('data-src')\n\t\t\t\tlazy.unobserve(item)\n\t\t\t}\n\t\t})\n\t}, {\n\t\troot: root,\n\t\tthreshold: [0],\n\t\trootMargin:\"0px 0px 500px 0px\"\n\t})\n\nimgs = document.getElementsByTagName('img')\nArray.from(imgs).forEach(item => {\n\t\tlazy.observe(item)\n\t})\n\n//查看大图插件\nnew Viewer(root,{title:false,interval:3000})\n</script>\n",
    "ruleImage": ".imgbox@style@js:result\n.replace(\"background-image:url(\",\"\").replace(\")\",\"\")",
    "ruleLink": "a.1@href",
    "ruleNextPage": "page",
    "rulePubDate": "time@text",
    "ruleTitle": "h2@text",
    "singleUrl": false,
    "sortUrl": "\n最新::/sort/new/#/?page={{page}}\n最热::/sort/hot/#/?page={{page}}\n性感::/type/1/#/?page={{page}}\n制服::/type/2/#/?page={{page}}\n清纯::/type/3/#/?page={{page}}\n萝莉::/type/4/#/?page={{page}}\n动漫::/type/5/#/?page={{page}}\nCos::/type/6/#/?page={{page}}",
    "sourceGroup": "图片,R18",
    "sourceIcon": "https://www.meinv.im/static/favicon.ico",
    "sourceName": "mzt",
    "sourceUrl": "https://www.meinv.im/",
    "style": "* {\n\tmargin: 0;\n\tpadding: 0\n}\nul {\n\tfont-size: 0;\n\theight: 100%;\n\toverflow-y: scroll\n}\nli {\n\tlist-style: none;\n\ttext-align: center\n}\nimg {\n\twidth: 100%;\n\theight: auto\n}"
  },
  {
    "articleStyle": 0,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\n\t\"User-Agent\": \"Mozilla/5.0 (Linux; Android 9) Mobile Safari/537.36\",\"referer\": \"{{baseUrl}}\"\n\t}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": ".picstyle ul li||.threadlist ul li",
    "ruleContent": ".bz_message_table@all&&link@all&&script@all",
    "ruleImage": "img@src",
    "ruleLink": "a@href",
    "ruleNextPage": "text.下一页@href",
    "rulePubDate": "span!0@text##\\s##😁",
    "ruleTitle": "span.0@text",
    "singleUrl": false,
    "sortUrl": "网友自拍::https://qp.tangse95.one/forum.php?mod=forumdisplay&fid=6&mobile=2\n有声小说::https://qp.tangse95.one/forum.php?mod=forumdisplay&fid=45&mobile=2\n国产自拍::https://qp.tangse95.one/forum.php?mod=forumdisplay&fid=18&mobile=2\n校园春色::https://qp.tangse95.one/forum.php?mod=forumdisplay&fid=14&mobile=2\n搜索::https://qp.tangse95.one/search.php?mod=forum&searchid=243&orderby=lastpost&ascdesc=desc&searchsubmit=yes&kw={{(source.getVariable()==''||source.getVariable()==null)?source.setVariable('妹妹'):\"\"}}{{source.getVariable()}}&mobile=2",
    "sourceComment": "https://96tang.club",
    "sourceGroup": "图片,R18",
    "sourceIcon": "https://qp.tangse95.one/template/banzhuan_touch000/images/logo.png",
    "sourceName": "69bbs",
    "sourceUrl": "https://qp.tangse95.one"
  },
  {
    "articleStyle": 0,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "injectJs": "//快速写源by河鹅和_v25.0116.1127\nfunction $(selector) { return document.querySelector(selector); }\nfunction $$(selector) { return document.querySelectorAll(selector); }\nconst ua=$(\"#ua\").innerText.replace(/当前(默认)?ua为：\\s/i,\"\")\nconst [url,comment]=$(\"h3\").innerText.split(/\\s/)\nfunction copyText(s,n) {\n    var text = $(s)[n].replace(/当前(默认)?UA为：\\s/i,\"\")\n    var input = document.createElement(\"textarea\");\n    input.value = text;\n    document.body.appendChild(input);\n    input.select();\n    document.execCommand(\"copy\");\n    document.body.removeChild(input);\n    $(\"#success\").style.display = \"block\";\n    setTimeout(function(){\n                $(\"#success\").style.display = \"none\";\n          },500)\n}\nfunction setOption(e,key,value){\n    let surl = $(\"#searchUrl\")\n\tv=surl.value.split(/,([\\w\\W]+)?/,2)\n\tlet options= v[1]||\"{}\"\n\toptions=JSON.parse(options)\n    keys=key.split(\".\")\n    let tempObj=options\n    for (let i=0;i<keys.length-1;i++){\n        const currentKey = keys[i]\n        if (!tempObj[currentKey]){\n            tempObj[currentKey]={}\n        }\n        tempObj=tempObj[currentKey]\n    }\n    if (keys[keys.length-1] in tempObj){\n        e.innerHTML=e.innerHTML.replace(\"删除\",\"添加\")\n        for (let i=keys.length-1;i>=0;i--){\n            delete(tempObj[keys[i]])\n            if (!Object.keys(tempObj).length) {\n                tempObj=options\n                for (let j=0;j<i-1;j++){\n                    tempObj=tempObj[keys[j]]\n                }\n            }else{\n                break\n            }\n        }\n    }else{\n        e.innerHTML=e.innerHTML.replace(\"添加\",\"删除\")\n        tempObj[keys[keys.length-1]]=value\n    }\n    if (Object.keys(options).length) {\n\t\tv[1]=JSON.stringify(options,null,\"  \")\n\t\tsurl.value=v.join(\",\")\n\t\t}else{surl.value=v[0]}\n\t\tgetSource()\n}\nfunction getSource(show){\n\tif(show){\n\t\t$(\"#searchUrl\").rows=10\n\t\t$(\"#sourceWrap\").style.display=\"\"\n\t\t}\n\tsourcekey=atob(\"Ym9va1NvdXJjZVVybA==\")\n\tsource={\"bookSourceComment\":\"//快速写源by河鹅和_v25.0116.1127\\n//\"+comment,\"bookSourceName\":document.title,\"bookSourceType\":0,[sourcekey]:referer,\"customOrder\":0,\"enabled\":true,\"enabledCookieJar\":true,\"enabledExplore\":true,\"exploreUrl\":JSON.stringify(explore,null,2),\"header\":JSON.stringify({'User-Agent':ua},null,2),\"lastUpdateTime\":Date.now(),\"respondTime\":180000,\"ruleBookInfo\":{\"author\":\"[property=\\\"og:novel:author\\\"]@content\",\"coverUrl\":\"[property=\\\"og:image\\\"]@content\",\"intro\":\"[property=\\\"og:description\\\"]@content\",\"kind\":\"[property~=category|status|update_time]@content\",\"lastChapter\":\"[property~=las?test_chapter_name]@content\",\"name\":\"[property=\\\"og:novel:book_name\\\"]@content\",\"tocUrl\":\"text.目录@href\"},\"ruleContent\":{},\"ruleExplore\":{},\"ruleSearch\":{},\"ruleToc\":{},\"searchUrl\":$(\"#searchUrl\").value,\"weight\":0}\n\t$(\"#source\").value=JSON.stringify(source,null,2)\n\t}",
    "jsLib": "function getUrl(url){\n\tmUrl=Packages.java.net.URL(url)\n\treturn `${mUrl.protocol}://${mUrl.host}${mUrl.port>0?`:${mUrl.port}`:\"\"}`\n\t}\nfunction setOption(name,value){\n\tconst { java, source, cookie } = this\n\tv=String(source.getVariable())\n\tif (value!=undefined&&v!=\"\"){\n\t\tv=v.split(/,([\\w\\W]+)?/,2)\n\t\tlet options= v[1]||\"{}\"\n\t\toptions=JSON.parse(options)\n\t\toptions[name]=value\n\t\tv[1]=JSON.stringify(options)\n\t\tsource.setVariable(v.join(\",\"))\n\t\tjava.toast(\"\\n成功修改当前网址为\\n\"+source.getVariable())\n\t\t}\n\t}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginUi": "[\n    {\n        \"name\": \"请输入网址\",\n        \"type\": \"text\"\n    },\n    {\n        \"name\": \"  使用webview获取  \",\n        \"type\": \"button\",\n        \"action\": \"setOption(\\\"webView\\\",true)\"\n    },\n    {\n        \"name\": \"        保存确认        \",\n        \"type\": \"button\",\n        \"action\": \"source.setVariable(result.请输入网址);if (source.getVariable()==''){java.toast('成功清空源变量')}else{java.toast('\\\\n成功设置网站为\\\\n'+source.getVariable()+'\\\\n请刷新')}\"\n    },\n    {\n        \"name\": \"     设置为输入ua     \",\n        \"type\": \"button\",\n        \"action\": \"if (result.ua!=\\\"\\\"){setOption(\\\"headers\\\",{\\\"User-Agent\\\": result.ua})}\"\n    },\n    {\n        \"name\": \" 查看当前设定网址 \",\n        \"type\": \"button\",\n        \"action\": \"java.toast('\\\\n当前网址为'+source.getVariable())\"\n    },\n    {\n        \"name\": \"ua\",\n        \"type\": \"text\"\n    },\n    {\n        \"name\": \"设置为安卓8ua\",\n        \"type\": \"button\",\n        \"action\": \"setOption(\\\"headers\\\",{\\\"User-Agent\\\": \\\"Mozilla/5.0 (Linux; Android 8.0.0; MI 5s Plus Build/OPR1.170623.032; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/71.0.3578.99 Mobile Safari/537.36\\\"})\"\n    },\n    {\n        \"name\": \"设置为电脑ua\",\n        \"type\": \"button\",\n        \"action\": \"setOption(\\\"headers\\\",{\\\"User-Agent\\\": \\\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36\\\"})\"\n    },\n    {\n        \"name\": \"更新0(推荐)\",\n        \"type\": \"button\",\n        \"action\": \"update(0)\"\n    },\n    {\n        \"name\": \"更新1(github.com)\",\n        \"type\": \"button\",\n        \"action\": \"update(1)\"\n    },\n    {\n        \"name\": \"更新2(github.io)\",\n        \"type\": \"button\",\n        \"action\": \"update(2)\"\n    },\n    {\n        \"name\": \"更新3(更新慢)\",\n        \"type\": \"button\",\n        \"action\": \"update(3)\"\n    },\n    {\n        \"name\": \"更新4(github加速)\",\n        \"type\": \"button\",\n        \"action\": \"update(4)\"\n    }\n]",
    "loginUrl": "function login(){\n\tinfo=JSON.parse(source.getLoginInfo())\n\tsource.setVariable(info.请输入网址||\"\")\n        if (source.getVariable()==''){\n        \tjava.toast('成功清空源变量')\n        \tPackages.java.lang.Thread.sleep(800)\n        }\n        else{\n        java.toast('\\n成功设置网站为\\n'+source.getVariable()+'\\n请刷新')\n        Packages.java.lang.Thread.sleep(800)\n        }\n\t}\nupdateUrls=[\n\"https://5tsv-github-io.pages.dev\",\n\"https://raw.githubusercontent.com/5tsv/5tsv.github.io/refs/heads/main\",\n\"https://5tsv.github.io\",\n\"https://cdn.jsdelivr.net/gh/5tsv/5tsv.github.io@master\",\n\"https://github.moeyy.xyz/https://raw.githubusercontent.com/5tsv/5tsv.github.io/refs/heads/main\"]\nfunction update(i){\n\ttemplate=`<iframe src=\"legado://import/rssSource?src=${updateUrls[i]}/dist/quickGetSearchUrl.json\" hidden></iframe>`\n\tdataUrl=`data:text/html;base64,${java.base64Encode(template)}`\n\tjava.toast(`\\n正在从${updateUrls[i]}/dist/quickGetSearchUrl.json获取更新`)\n\tjava.startBrowser(dataUrl,'')\n\t}",
    "ruleArticles": "<js>\nurl = source.getVariable()\nif (url==\"\"){java.toast(\"\\n可通过登录或设置源变量获取搜索地址\")}\nresultList=[]\nwebSrc=java.ajax(url)\nd = org.jsoup.Jsoup.parse(webSrc)\ntitle=d.select(\"title\").text()\njava.log(d)\nexplore=[]\nd.select(`a[href~=sort|list|rank|tag|shuku|fenlei|Soft|allvisit|paihang|quanben|gudian|lishi|dushi|wangyou|kehuan|yanqing|wuxia|xuanhuan|chuanyue|zhentan|kongbu|top|category|mulu]:not(a:matches(\\\\d+|下一页|登录|注册|More\\+))`).forEach(a=>{\n\turl=String(a.attr(\"href\")).replace(/1(\\.html)?(\\/)?$/,`{{page}}$1$2`)\n\tif(!explore.find(e=>e.url==url)){\n\t\texplore.push({title:a.text(),url:url})\n\t\t}\n\t})\n\ncharset=webSrc.match(/charset=\"?([^\"]+)\"/)?String(webSrc.match(/charset=\"?([^\"]+)\"/)[1]).toUpperCase():\"\"\n//charset = d.select(\"meta[charset]\").attr(\"charset\").toUpperCase()\nforms = d.select(\"form\")\nforms.forEach(form => {\n\t   java.log(form)\n    let action = form.attr(\"action\")\n    let method = form.attr(\"method\").toUpperCase()\n    formInner = org.jsoup.Jsoup.parse(form.html())\n    let names = formInner.select(\"[name]\")\n    let body = []\n    let searchUrl = []\n    let options = {}\n    names.forEach(n => {\n        let name = n.attr(\"name\")\n        let value = n.attr(\"value\") == \"\" ? `${/(search)?key/i.test(name) ? \"{{key}}\" : \"\"}` : n.attr(\"value\")\n        if (names.length == 1 || /(输入|可搜)/.test(value)||name.match(/^(q|wd)$/)||/(search)?key(word)?/i.test(name)) {\n            value = \"{{key}}\"\n        }\n        if (value == \"\" && n.select(\"option\").length > 0) {\n            value = n.select(\"option\")[0].attr(\"value\")\n        }\n        body.push(`${name}=${value}`)\n    })\n    body = body.join(\"&\")\n    java.log(body)\n    if (method == \"GET\"||method==\"\") {\n        searchUrl.push(`${action}?${body}`)\n    } else if (method == \"POST\") {\n        searchUrl.push(action)\n        options.body = body\n        options.method = method\n    }\n    if (!/UTF-?8/.test(charset) && charset != \"\") {\n        options.charset = charset\n    }\n    if (Object.keys(options).length) {\n        searchUrl.push(JSON.stringify(options, null, \"  \"))\n    }\n    result = searchUrl.join(\",\")\n    resultList.push({\"index\":String(source.getVariable()).replace(/,.*/,\"\")+\"\\n搜索地址\"+resultList.length,\"url\":result,title:title,explore:JSON.stringify(explore)})\n    java.log(result)\n})\n//java.log(JSON.stringify(resultList))\nif (resultList.length==0){\n\tresultList.push({\"index\":String(source.getVariable()).replace(/,.*/,\"\")+\"\\n未找到搜索地址\",\"url\":\"\",title:title,explore:JSON.stringify(explore)})\n\tif(/webview/i.test(source.getVariable())){java.toast(\"未找到搜索地址\")}else if(source.getVariable()!=\"\"){java.toast(\"\\n请尝试切换为webview获取或切换UA\")}}\nresult=JSON.stringify(resultList)\n</js>\n$[*]",
    "ruleDescription": "<html>\n<head>\n<title>{{$.title}}</title>\n<script>\nreferer=\"{{getUrl(String(source.getVariable()).split(/,([\\s\\S]+)?/,2)[0])}}\"\nexplore={{$.explore}}\n</script>\n</head>\n<body>\n<p id=\"success\">复制成功！</p>\n<h3>{{$.index}}</h3>\n<h6 id=\"ua\">{{String(source.getVariable()).match(/User-Agent/)?\"当前UA为：<br/>\"+JSON.parse(String(source.getVariable()).split(/,([\\s\\S]+)?/,2)[1]).headers['User-Agent']:\"当前默认UA为：<br/>\"+(java.hexDecodeToString(java.ajax('data:;base64,\\{\\{java.base64Encode(java.getUserAgent())\\}\\},\\{\\\"type\\\":\\\"text\\\"\\}')))}}</h6>\n<button onclick=copyText(\"#ua\",\"innerText\")>点击复制UA</button>\n<button onclick=copyText(\"#searchUrl\",\"value\")>点击复制搜索地址</button>\n<button onclick=getSource(true)>生成书源</button>\n<br/><br/>\n<button onclick='setOption(this,\"headers.User-Agent\",$(\"#ua\").innerText.replace(/当前(默认)?ua为：\\s/i,\"\"))'>点击添加UA</button>\n<button onclick=setOption(this,\"webView\",true)>点击添加webView</button>\n<button onclick=setOption(this,\"headers.Referer\",referer)>添加Referer</button>\n<textarea id=\"searchUrl\" rows=30 >{{$.url}}</textarea>\n<br/>\n<div id=\"sourceWrap\" style=\"display:none\">\n<button onclick=copyText(\"#source\",\"value\")>点击复制书源</button>\n<textarea id=\"source\" rows=50 ></textarea>\n</div>\n</body>\n</html>",
    "ruleImage": "{{'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgZmlsbD0iY3VycmVudENvbG9yIiBjbGFzcz0iYmkgYmktYXJyb3ctcmlnaHQtY2lyY2xlLWZpbGwiIHZpZXdCb3g9IjAgMCAxNiAxNiI+CiAgPHBhdGggZD0iTTggMGE4IDggMCAxIDEgMCAxNkE4IDggMCAwIDEgOCAwTTQuNSA3LjVhLjUuNSAwIDAgMCAwIDFoNS43OTNsLTIuMTQ3IDIuMTQ2YS41LjUgMCAwIDAgLjcwOC43MDhsMy0zYS41LjUgMCAwIDAgMC0uNzA4bC0zLTNhLjUuNSAwIDEgMC0uNzA4LjcwOEwxMC4yOTMgNy41eiIvPgo8L3N2Zz4='}}",
    "ruleLink": "$.index",
    "rulePubDate": "$.url",
    "ruleTitle": "$.index",
    "singleUrl": false,
    "sourceComment": "/*\n11.26by河鹅和\n12.2 添加ua切换，添加复制按钮\n12.3 添加订阅更新按钮，可通过登录点击检查更新按钮来更新本订阅源\n添加多个更新地址，以防网络问题无法更新\n12.8 小优化，并添加一个给搜索地址切换webview的按钮\n12.11 添加两个搜索常用请求头按钮，小修复\n12.13 优化样式\n2025.01.15 添加生成书源，自动获取发现(可能不完整)\n*/",
    "sourceGroup": "R18",
    "sourceIcon": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciICB2aWV3Qm94PSIwIDAgNjQgNjQiIHdpZHRoPSI2NCIgaGVpZ2h0PSI2NCI+PGxpbmVhckdyYWRpZW50IGlkPSJhIiB4MT0iMzIiIHgyPSIzMiIgeTE9IjkuMDgzIiB5Mj0iNTQuNjc2IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgc3ByZWFkTWV0aG9kPSJyZWZsZWN0Ij48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiMxYTZkZmYiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNjODIyZmYiLz48L2xpbmVhckdyYWRpZW50PjxwYXRoIGZpbGw9InVybCgjYSkiIGQ9Ik01MCw1NUgxNGMtMi43NTcsMC01LTIuMjQzLTUtNVYxNGMwLTIuNzU3LDIuMjQzLTUsNS01aDM2YzIuNzU3LDAsNSwyLjI0Myw1LDV2MzYgQzU1LDUyLjc1Nyw1Mi43NTcsNTUsNTAsNTV6IE0xNCwxMWMtMS42NTQsMC0zLDEuMzQ2LTMsM3YzNmMwLDEuNjU0LDEuMzQ2LDMsMywzaDM2YzEuNjU0LDAsMy0xLjM0NiwzLTNWMTRjMC0xLjY1NC0xLjM0Ni0zLTMtM0gxNCB6Ii8+PGxpbmVhckdyYWRpZW50IGlkPSJiIiB4MT0iMzMuNSIgeDI9IjMzLjUiIHkxPSIxMC40MzgiIHkyPSI1NS43NTIiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiBzcHJlYWRNZXRob2Q9InJlZmxlY3QiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iIzFhNmRmZiIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI2M4MjJmZiIvPjwvbGluZWFyR3JhZGllbnQ+PHBhdGggZmlsbD0idXJsKCNiKSIgZD0iTTQ3LDQ1LjU0NWwtOC4zODctOC4zODhDNDAuMTAzLDM1LjM0NCw0MSwzMy4wMjUsNDEsMzAuNUM0MSwyNC43MSwzNi4yOSwyMCwzMC41LDIwIFMyMCwyNC43MSwyMCwzMC41UzI0LjcxLDQxLDMwLjUsNDFjMi41MjUsMCw0Ljg0NS0wLjg5Nyw2LjY1OC0yLjM4OEw0NS41NDUsNDdMNDcsNDUuNTQ1eiBNMzAuNSwzOWMtNC42ODcsMC04LjUtMy44MTMtOC41LTguNSBzMy44MTMtOC41LDguNS04LjVzOC41LDMuODEzLDguNSw4LjVTMzUuMTg3LDM5LDMwLjUsMzl6Ii8+PGxpbmVhckdyYWRpZW50IGlkPSJjIiB4MT0iMzAuNSIgeDI9IjMwLjUiIHkxPSIyNCIgeTI9IjM3IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgc3ByZWFkTWV0aG9kPSJyZWZsZWN0Ij48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiM2ZGM3ZmYiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNlNmFiZmYiLz48L2xpbmVhckdyYWRpZW50PjxwYXRoIGZpbGw9InVybCgjYykiIGQ9Ik0zMC41IDI0QTYuNSA2LjUgMCAxIDAgMzAuNSAzN0E2LjUgNi41IDAgMSAwIDMwLjUgMjRaIi8+PC9zdmc+",
    "sourceName": "快速写源",
    "sourceUrl": "data:;base64,MTIzNDU2Nzg5,{\"type\":\"null\"}",
    "style": "button{\n\tmargin:5px;\n\toutline:none;\n\theight:30px;\n\tbox-shadow:2px 1px #CFD8DC;\n\tbackground:#fff;\n\tborder:1px solid green;\n\tborder-radius:6px;\n\t}\t\nbutton:active{\n\tbackground:#C8E6C9\n\t}\n#success{\n\ttext-align:center;\n\tborder:1px solid green;\n\tposition:fixed;\n\tleft:35%;\n\twidth:25%;\n\tbackground:#fff;\n\tborder-radius:5px;\n\tdisplay:none;\n\ttop:2px;\n\tbox-shadow:2px 1px 3px #CFD8DC;\n\t}\ntextarea{\n\tbackground-color:GhostWhite;\n\tborder:1px solid black;\n\twidth:100%\n\t}"
  },
  {
    "articleStyle": 0,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceComment": "秀人网网址导航",
    "sourceGroup": "图片,R18",
    "sourceIcon": "https://images.weserv.nl/?url=https://article.biliimg.com/bfs/article/ded67638d944a7e0ef4452b721fd6434a22de16d.png",
    "sourceName": "全集秀",
    "sourceUrl": "https://b.2xiu.vip/"
  },
  {
    "articleStyle": 1,
    "customOrder": 0,
    "enableJs": true,
    "enabled": false,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginUrl": "https://www.pokefans.xyz/",
    "ruleArticles": "#J_postList@.post",
    "ruleDescription": "",
    "ruleImage": "img@data-src",
    "ruleLink": "a@href",
    "ruleNextPage": "page",
    "rulePubDate": "{{@@.meta-item.0@text}} | {{@@.cate-tag@text}} | 下载：{{@@.meta-item.1@text}}\n\n\n\n\n",
    "ruleTitle": ".post-title@text",
    "singleUrl": false,
    "sortUrl": "全部::https://game.pokefans.xyz/?paged={{page}}&page_id=7\n搜索::https://game.pokefans.xyz/?s={{(source.getVariable()==''||source.getVariable()==null)?source.setVariable('绿宝石'):\"\"}}{{source.getVariable()}}&paged={{page}}\n\n平台::\n平台 GB/GBC 游戏::https://game.pokefans.xyz/?tag=gb-gbc&paged={{page}}\n平台 GBA 游戏::https://game.pokefans.xyz/?tag=gba&paged={{page}}\n平台 NDS 游戏::https://game.pokefans.xyz/?tag=nds&paged={{page}}\n平台 3DS 游戏::https://game.pokefans.xyz/?tag=3ds&paged={{page}}\n平台 PC 游戏::https://game.pokefans.xyz/?tag=pc&paged={{page}}\n其他平台::https://game.pokefans.xyz/?tag=other&paged={{page}}\n\n语言::\n语言 国内游戏::https://game.pokefans.xyz/?cat=22&paged={{page}}\n语言 完全汉化::https://game.pokefans.xyz/?cat=23&paged={{page}}\n语言 部分汉化::https://game.pokefans.xyz/?cat=33&paged={{page}}\n语言 外文游戏::https://game.pokefans.xyz/?cat=24&paged={{page}}\n语言 原版汉化::https://game.pokefans.xyz/?cat=17&paged={{page}}\n",
    "sourceComment": "by天天的鸟蛋蛋\n通过变量搜索\n登录打开原网站\n",
    "sourceGroup": "R18",
    "sourceIcon": "https://game.pokefans.xyz/wp-content/uploads/2022/07/pokefans.png",
    "sourceName": "宝可饭堂",
    "sourceUrl": "https://www.pokefans.xyz/"
  },
  {
    "articleStyle": 0,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\n    'User-Agent': 'Mozilla/5.0 (Linux; Android 11; Pixel 3 XL Build/RQ3A.211001.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/102.0.4988.0 Mobile Safari/537.36 SearchCraft/3.9.2 (Baidu; P1 11) '\n}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "🍡书源,R18",
    "sourceIcon": "https://baiyunshan.flowus.cn/emoji/google/u1f4da.svg",
    "sourceName": "一程阅读",
    "sourceUrl": "https://flowus.cn/ycheng/share/923f5a35-6dcf-47d1-b8eb-b9c5ef3ed39b"
  },
  {
    "articleStyle": 2,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": ".pics@.fleft",
    "ruleContent": "\nclass.talk_pic@tag.img@src##\\n##\\$\n<js>result</js>\n\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\">\n<link rel=\"stylesheet\" href=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.css\">\n<script src=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.js\"></script>\n<script src=\"http://libs.baidu.com/jquery/2.0.0/jquery.min.js\"></script>\n<h3>{{@@.tcenter.0@text}}</h3>\n<h6>{{@@.fleft.3@text}}</h6>\n<div id=\"box\"></div>\n<h6 id=\"loads\"><i>加载中...</i></h6>\n\n<script>\n    srclist = \"{{result}}\".split(\"$\")\n    page = srclist.length\n\n    box = document.getElementById(\"box\")\n    loads = document.getElementById(\"loads\")\n\n    h5 = '<h5 style=\"border-left:2px solid#000;margin-bottom:0;padding-left:5;\">'\n    h55 = '/' + page + '</h5>'\n\n    img = '<img onload=\"box.viewer.update()\" src=\"'\n\n    $(document).ready(function () {\n        //初始加载四张图\n        for (i = 0; i < 4; i++) {\n            box.innerHTML += h5 + (i + 1) + h55\n            box.innerHTML += img + srclist[i] + '\">'\n        }\n        new Viewer(box, { title: false, interval: 3000 })\n        i = 4\n        io = new IntersectionObserver(x => {\n            if (x[0].intersectionRatio <= 0) return\n            for (I = 0; I < 4; I++) {\n                getImg(i, page, srclist)\n                i += 1\n            }\n        }).observe(loads)\n\n    })\n\n    function getImg(i, page, srclist) {\n\n        if (i <= page && srclist[i] != undefined) {\n            box.innerHTML += h5 + (i + 1) + h55\n            box.innerHTML += img + srclist[i] + '\">'\n        } else {\n            $('#loads').html(\"\");\n          \n        }\n    }\n</script>",
    "ruleImage": "img@src",
    "ruleLink": "a.0@href",
    "ruleNextPage": "page",
    "rulePubDate": ".greyc@text",
    "ruleTitle": ".tits@text",
    "singleUrl": false,
    "sortUrl": "随机::http://ciyuandao.com/photo/list/0-0-{{Math.ceil(Math.random()*448)}}\n图集::http://ciyuandao.com/photo/list/0-0-{{page}}\n变量搜索::http://ciyuandao.com/photo/list/0-0-{{page}}?key={{(source.getVariable()==''||source.getVariable()==null)?source.setVariable('cos'):\"\"}}{{source.getVariable()}}\n正片=点赞榜::http://ciyuandao.com/photo/list/1-4-{{page}}\n分享榜::http://ciyuandao.com/photo/list/1-5-{{page}}\n私影=点赞榜::http://ciyuandao.com/photo/list/2-4-{{page}}\n分享榜::http://ciyuandao.com/photo/list/2-5-{{page}}",
    "sourceComment": "\nclass.talk_pic@tag.img@src##\\n##\\$\n<js>result</js>\n\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\">\n<link rel=\"stylesheet\" href=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.css\">\n<script src=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.js\"></script>\n<script src=\"http://libs.baidu.com/jquery/2.0.0/jquery.min.js\"></script>\n<h3>{{@@.tcenter.0@text}}</h3>\n<h6>{{@@.fleft.3@text}}</h6>\n<div id=\"box\"></div>\n<h6 id=\"loads\"><i>加载中...</i></h6>\n\n<script>\n    srclist = \"{{result}}\".split(\"$\")\n    page = srclist.length\n\n    box = document.getElementById(\"box\")\n    loads = document.getElementById(\"loads\")\n\n    h5 = '<h5 style=\"border-left:2px solid#000;margin-bottom:0;padding-left:5;\">'\n    h55 = '/' + page + '</h5>'\n\n    img = '<img onload=\"box.viewer.update()\" src=\"'\n\n    $(document).ready(function () {\n        //初始加载四张图\n        for (i = 0; i < 4; i++) {\n            box.innerHTML += h5 + (i + 1) + h55\n            box.innerHTML += img + srclist[i] + '\">'\n        }\n        new Viewer(box, { title: false, interval: 3000 })\n        i = 4\n        io = new IntersectionObserver(x => {\n            if (x[0].intersectionRatio <= 0) return\n            for (I = 0; I < 4; I++) {\n                getImg(i, page, srclist)\n                i += 1\n            }\n        }).observe(loads)\n\n    })\n\n    function getImg(i, page, srclist) {\n\n        if (i <= page && srclist[i] != undefined) {\n            box.innerHTML += h5 + (i + 1) + h55\n            box.innerHTML += img + srclist[i] + '\">'\n        } else {\n            $('#loads').html(\"\");\n          \n        }\n    }\n</script>",
    "sourceGroup": "图片,R18",
    "sourceIcon": "http://ciyuandao.com/favicon.ico?v=3IKjOmQZJTyJIoJ39HHfDV4Nfy42njGvPwLEvonkJB8",
    "sourceName": "次元岛",
    "sourceUrl": "http://ciyuandao.com/",
    "style": "/*标题相关*/\r\nh3{text-align:center}\r\nh6{margin-bottom:0}\r\nimg{width:100%}\nh5{margin-bottom:0;padding-left:5;}"
  },
  {
    "articleStyle": 2,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": ".col-md-2",
    "ruleContent": "<js>\n$ = (a) => java.getString(a);\nlink = unescape(src.match(/(https.+?m3u8)/)[1].replace(/\\\\u/g, \"%u\")).replace(/\\\\/g, \"\");\nresult = {\n    title: $(\"h1@text\"),\n    desc: $(\".col-md-9 > .layout-box@html\"),\n    link: link\n};\n</js>\n<!DOCTYPE html>\n<html lang=\"zh-CN\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no\">\n    <title>{{result.title}}</title>\n    <style>\n        * {\n            margin: 0;\n            padding: 0;\n            box-sizing: border-box;\n        }\n\n        body {\n            background: #000;\n            height: 100vh;\n            font-family: sans-serif;\n            touch-action: manipulation;\n            overflow: hidden;\n        }\n\n        .player-container {\n            position: relative;\n            width: 100%;\n            height: 100%;\n            display: flex;\n            justify-content: center;\n            align-items: center;\n        }\n\n        video {\n            width: 100%;\n            height: 100%;\n            object-fit: contain;\n        }\n\n        .controls-container {\n            position: absolute;\n            bottom: 0;\n            left: 0;\n            right: 0;\n            background: linear-gradient(to top, rgba(0,0,0,0.7), transparent);\n            padding: 10px;\n            display: flex;\n            flex-direction: column;\n            opacity: 0;\n            transition: opacity 0.3s;\n            pointer-events: none;\n        }\n\n        .controls-container.active {\n            opacity: 1;\n            pointer-events: all;\n        }\n\n        .progress-bar {\n            width: 100%;\n            height: 8px;\n            background: rgba(255,255,255,0.3);\n            border-radius: 2px;\n            cursor: pointer;\n            position: relative;\n            margin-bottom: 5px;\n        }\n\n        .progress-filled {\n            position: absolute;\n            top: 0;\n            left: 0;\n            height: 100%;\n            background: #FF0000;\n            border-radius: 2px;\n            width: 0%;\n        }\n\n        .time-display {\n            display: flex;\n            justify-content: space-between;\n            color: white;\n            font-size: 12px;\n            margin-bottom: 10px;\n        }\n\n        .buttons-container {\n            display: flex;\n            justify-content: space-between;\n            align-items: center;\n        }\n\n        .control-btn {\n            color: white;\n            background: none;\n            border: none;\n            font-size: 24px;\n            cursor: pointer;\n            padding: 5px 15px;\n        }\n\n        .center-indicator {\n            position: absolute;\n            top: 50%;\n            left: 50%;\n            transform: translate(-50%, -50%);\n            background: rgba(0,0,0,0.6);\n            color: white;\n            padding: 10px 20px;\n            border-radius: 5px;\n            font-size: 20px;\n            opacity: 0;\n            transition: opacity 0.3s;\n            pointer-events: none;\n        }\n\n        .center-indicator.active {\n            opacity: 1;\n        }\n    </style>\n</head>\n<body>\n    <div class=\"player-container\">\n        <video id=\"main-video\" autoplay muted playsinline>\n            <source src=\"{{result.link}}\" type=\"application/x-mpegURL\">\n        </video>\n        <div id=\"speed-indicator\" class=\"center-indicator\">2.0x</div>\n        <div id=\"play-indicator\" class=\"center-indicator\">▶️</div>\n\n        <div class=\"controls-container\">\n            <div class=\"progress-bar\">\n                <div class=\"progress-filled\"></div>\n            </div>\n            <div class=\"time-display\">\n                <span class=\"current-time\">00:00</span>\n                <span class=\"duration\">00:00</span>\n            </div>\n            <div class=\"buttons-container\">\n                <button class=\"control-btn back-btn\">⏪</button>\n                <button class=\"control-btn play-btn\">▶️</button>\n                <button class=\"control-btn forward-btn\">⏩</button>\n                <button class=\"control-btn fullscreen-btn\">⛶</button>\n            </div>\n        </div>\n    </div>\n\n    <script>\n        const video = document.querySelector('#main-video');\n        const controls = document.querySelector('.controls-container');\n        const playBtn = document.querySelector('.play-btn');\n        const backBtn = document.querySelector('.back-btn');\n        const forwardBtn = document.querySelector('.forward-btn');\n        const fullscreenBtn = document.querySelector('.fullscreen-btn');\n        const progressBar = document.querySelector('.progress-bar');\n        const progressFilled = document.querySelector('.progress-filled');\n        const currentTimeEl = document.querySelector('.current-time');\n        const durationEl = document.querySelector('.duration');\n        const speedIndicator = document.getElementById('speed-indicator');\n        const playIndicator = document.getElementById('play-indicator');\n\n        let controlsTimeout;\n        let lastTap = 0;\n        let isDragging = false;\n\n        // 初始化\n        video.addEventListener('loadedmetadata', () => {\n            durationEl.textContent = formatTime(video.duration);\n            video.play().catch(() => showControls());\n        });\n\n        // 事件监听\n        playBtn.addEventListener('click', togglePlay);\n        backBtn.addEventListener('click', () => skipTime(-10));\n        forwardBtn.addEventListener('click', () => skipTime(10));\n        fullscreenBtn.addEventListener('click', toggleFullscreen);\n        \n        progressBar.addEventListener('click', function(e) {\n            if(!isDragging) {\n                const rect = progressBar.getBoundingClientRect();\n                const pos = (e.clientX - rect.left) / rect.width;\n                video.currentTime = pos * video.duration;\n            }\n        });\n\n        video.addEventListener('touchstart', handleTouchStart);\n        video.addEventListener('touchend', handleTouchEnd);\n        video.addEventListener('timeupdate', updateProgress);\n        video.addEventListener('play', updatePlayButton);\n        video.addEventListener('pause', updatePlayButton);\n        video.addEventListener('ended', () => {\n            video.currentTime = 0;\n            video.pause();\n        });\n\n        progressBar.addEventListener('touchstart', startDrag);\n        progressBar.addEventListener('touchmove', duringDrag);\n        progressBar.addEventListener('touchend', endDrag);\n\n        // 功能函数\n        function handleTouchStart(e) {\n            const now = Date.now();\n            if (now - lastTap < 300) togglePlay();\n            lastTap = now;\n\n            clearTimeout(window.holdTimer);\n            window.holdTimer = setTimeout(() => {\n                video.playbackRate = 2.0;\n                showSpeedIndicator();\n            }, 500);\n        }\n\n        function handleTouchEnd() {\n            clearTimeout(window.holdTimer);\n            if (video.muted) video.muted = false;\n            if (video.playbackRate !== 1) {\n                video.playbackRate = 1.0;\n                speedIndicator.classList.remove('active');\n            }\n            showControls();\n        }\n\n        function togglePlay() {\n            video.paused ? video.play() : video.pause();\n            showPlayIndicator();\n        }\n\n        function updatePlayButton() {\n            playBtn.textContent = video.paused ? '▶️' : '⏸';\n        }\n\n        function updateProgress() {\n            progressFilled.style.width = `${(video.currentTime / video.duration) * 100}%`;\n            currentTimeEl.textContent = formatTime(video.currentTime);\n        }\n\n        function skipTime(seconds) {\n            video.currentTime = Math.max(0, Math.min(video.duration, video.currentTime + seconds));\n        }\n\n        function toggleFullscreen() {\n            if (!document.fullscreenElement) {\n                document.documentElement.requestFullscreen();\n                try { screen.orientation.lock(\"landscape\"); } catch (e) {}\n            } else {\n                document.exitFullscreen();\n            }\n        }\n\n        function showControls() {\n            controls.classList.add('active');\n            clearTimeout(controlsTimeout);\n            controlsTimeout = setTimeout(() => controls.classList.remove('active'), 3000);\n        }\n\n        function showSpeedIndicator() {\n            speedIndicator.classList.add('active');\n            setTimeout(() => speedIndicator.classList.remove('active'), 1000);\n        }\n\n        function showPlayIndicator() {\n            playIndicator.textContent = video.paused ? '⏸' : '▶️';\n            playIndicator.classList.add('active');\n            setTimeout(() => playIndicator.classList.remove('active'), 500);\n        }\n\n        function formatTime(seconds) {\n            const mins = Math.floor(seconds / 60);\n            const secs = Math.floor(seconds % 60);\n            return `${mins.toString().padStart(2, '0')}:${secs.toString().padStart(2, '0')}`;\n        }\n\n        function startDrag(e) {\n            e.preventDefault();\n            isDragging = true;\n            const wasPlaying = !video.paused;\n            handleDrag(e);\n        }\n\n        function duringDrag(e) {\n            if(isDragging) handleDrag(e);\n        }\n\n        function endDrag(e) {\n            if(!isDragging) return;\n            isDragging = false;\n            const wasPlaying = !video.paused;\n            if(wasPlaying) video.play();\n        }\n\n        function handleDrag(e) {\n            const clientX = e.clientX || e.touches[0].clientX;\n            const rect = progressBar.getBoundingClientRect();\n            let pos = (clientX - rect.left) / rect.width;\n            pos = Math.max(0, Math.min(1, pos));\n            \n            progressFilled.style.width = `${pos * 100}%`;\n            video.currentTime = pos * video.duration;\n            currentTimeEl.textContent = formatTime(video.currentTime);\n            \n            // 立即显示控制条\n            showControls();\n        }\n    </script>\n</body>\n</html>",
    "ruleDescription": "",
    "ruleImage": ".video-pic@data-original",
    "ruleLink": ".text-overflow > a@href##/duanju/(\\w+)/$##/djplay/$1-1-1/",
    "ruleNextPage": "text.下一页@href",
    "rulePubDate": "评分：{{@@.score@text}}&nbsp;{{@@.note@text}}",
    "ruleTitle": ".text-overflow > a@text",
    "singleUrl": false,
    "sortUrl": "现代言情::/type/1/\n反转爽文::/type/2/\n女恋总裁::/type/3/\n闪婚离婚::/type/4/\n都市脑洞::/type/5/\n古装仙侠::/type/6/\n重生民国::/type/7/\n穿越年代::/type/8/",
    "sourceComment": "作者：明月照大江",
    "sourceGroup": "短剧,R18",
    "sourceIcon": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjgiIGhlaWdodD0iMTI4IiB2aWV3Qm94PSIwIDAgMjU2IDI1NiI+PHBhdGggZmlsbD0iIzM5QkNEMyIgZD0ibTkyLjc0OCAxMzUuNjA1bDc3LjgyIDc3LjgyTDEyNy45OTEgMjU2bC03Ny44Mi03Ny44MnptMTIwLjY3Ny01MC4xODhMMjU2IDEyNy45OTJsLTc3LjgyIDc3LjgybC00Mi41NzUtNDIuNTc1ek0xMjguMDA4IDBsNDIuNTc1IDQyLjU3NUw0Mi41NzUgMTcwLjU4M0wwIDEyOC4wMDh6Ii8+PC9zdmc+",
    "sourceName": "红果短剧",
    "sourceUrl": "https://www.hongguo123.com",
    "style": ""
  },
  {
    "articleStyle": 2,
    "concurrentRate": "",
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 1678947104556,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.is-half-mobile",
    "ruleContent": "<!DOCTYPE html>\n<html>\n\n<head>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\">\n    <link rel=\"stylesheet\" href=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.css\">\n    <script src=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.js\"></script>\n    <script src=\"http://lib.sinaapp.com/js/jquery/2.0.2/jquery-2.0.2.min.js\"></script>\n</head>\n\n<body>\n    <h3>{{@@class.article-header@tag.h1@text}}</h3>\n<h5>{{@class.article-info@text}}</h5>\n    <div id=\"box\">{{@@class.content.0@tag.p@tag.img@html}}</div>\n    <div id=\"loads\">加载中 </div>\n    <script>\n        var loads;\n        $(document).ready(function () {\n            var box = document.getElementById(\"box\");\n            loads = document.getElementById(\"loads\");\n            new Viewer(box, { title: false, interval: 3000 })\n            var i = 1;\n            var page = {{@@class.pagination-link.-1@textNodes##\\n}};\n            var url = \"{{baseUrl + '?page='}}\";\n            new IntersectionObserver(entries => {\n                if (entries[0].intersectionRatio) {\n                    if (entries[0].intersectionRatio <= 0) return;\n                    for (var j = 0; j < 1; j++) {\n                        fetchHtml(i, page, url);\n                        i += 1;\n                    }\n                }\n            }).observe(loads)\n        });\n\n\n        function fetchHtml(i, page, url) {\n        \t\n            if (i < page) {\n                i += 1;\n                nurl = url + i  ;\n                $.ajax({\n                    url: nurl,\n                    dataType: 'html',\n                    success: function (html) {\n                        $('#box').append('<h5>' + i + '->' + page + '</h5>');\n                        $('#box').append($(html).find('p img'));\n                        box.viewer.update();\n                    },\n                    error: function (xhr) { }\n                });\n            } else {\n                $('#loads').html(\"\");\n            }\n        }\n    </script>\n</body>\n\n</html>\n",
    "ruleDescription": "",
    "ruleImage": "tag.a@tag.img@src",
    "ruleLink": "class.item-link@href",
    "ruleNextPage": "class.pagination-next.0@href",
    "rulePubDate": "",
    "ruleTitle": "tag.a@tag.img@alt",
    "singleUrl": false,
    "sortUrl": "最新::https://xiutaku.com/?start=0\n搜索::https://xiutaku.com/?search={{source.getVariable()}}\n受欢迎的::https://xiutaku.com/hot\n秀人网::https://xiutaku.com/brand/1\n模范学院::https://xiutaku.com/brand/2\n魅妍社::https://xiutaku.com/brand/3\n美媛馆::https://xiutaku.com/brand/4\n爱蜜社::https://xiutaku.com/brand/5\n兔几盟::https://xiutaku.com/brand/6\n尤物馆::https://xiutaku.com/brand/7\n优星馆::https://xiutaku.com/brand/8\n蜜桃社::https://xiutaku.com/brand/9\n嗲囡囡::https://xiutaku.com/brand/10\n影私荟::https://xiutaku.com/brand/11\n顽味生活::https://xiutaku.com/brand/12\n星乐园::https://xiutaku.com/brand/13\n花颜::https://xiutaku.com/brand/14\n御女郎::https://xiutaku.com/brand/15\n薄荷叶::https://xiutaku.com/brand/16\n尤蜜荟::https://xiutaku.com/brand/17\n糖果画报::https://xiutaku.com/brand/18\n模特联盟::https://xiutaku.com/brand/19\n猫萌榜::https://xiutaku.com/brand/20\n花漾::https://xiutaku.com/brand/21\n星颜社::https://xiutaku.com/brand/22\n画语界::https://xiutaku.com/brand/23",
    "sourceComment": "一个新的秀人源(似乎更多资源？)\n已知bug:最新页面无法翻页，其余页面正常\n--dorjazz",
    "sourceGroup": "图片,R18",
    "sourceIcon": "https://images.weserv.nl/?url=https://article.biliimg.com/bfs/article/ded67638d944a7e0ef4452b721fd6434a22de16d.png",
    "sourceName": "Xiutaku(5梯子)",
    "sourceUrl": "https://xiutaku.com/",
    "style": "/*标题相关*/\nh3{text-align:center}\nh6{margin-bottom:0}\nimg{width:100%;height:auto}\nh5{margin-bottom:0;padding-left:5;}",
    "variableComment": "设置源变量后在搜索列表下拉刷新即可搜索想看的模特"
  },
  {
    "articleStyle": 0,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "injectJs": "// 选择所有需要隐藏的元素（多个选择器用逗号分隔）\nconst elementsToHide = document.querySelectorAll('.nav-fixed,.respond,.content-tabs,a,blockquote,form');\n\nelementsToHide.forEach(elem => {\n  elem.style.display = 'none'; \n});",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": false,
    "ruleArticles": "article",
    "ruleContent": "",
    "ruleImage": "//div[contains(@style, 'background-image: url(\"data:image/jpeg;base64,\")')]",
    "ruleLink": "a@href",
    "ruleNextPage": ".page-navigator@text.下一页@href",
    "rulePubDate": "meta[itemprop=\"dateModified\"]@content",
    "ruleTitle": "h2@text",
    "singleUrl": false,
    "sortUrl": "暗网吃瓜::/category/jrrg/\n暗网热搜::/category/qwrs/\n暗网爆料::/category/awcg/\n暗网反差::/category/fcll/\n暗网乱伦::/category/anwangluanlun/\n暗网校园::/category/xycg/\n每日大赛::/category/mrds/\n暗网网红::/category/dywh/\n暗网猎奇::/category/awlq/\n暗网视频::/category/sxzq/\n暗网海外::/category/hwaw/\n暗网AV解说::/category/awdz/",
    "sourceComment": "https://www.usnlzzxy.org/ybml.html",
    "sourceGroup": "R18",
    "sourceIcon": "https://www.usnlzzxy.org/usr/themes/Mirages/images/51cg.png",
    "sourceName": "51暗网",
    "sourceUrl": "https://www.usnlzzxy.org",
    "style": ""
  },
  {
    "articleStyle": 2,
    "concurrentRate": "1000",
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "{\r\n\"User-Agent\": \"Dalvik/2.1.0 (Linux; U; Android 10; BAH3-W09 Build/HUAWEIBAH3-W09)\"\r\n}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.sousuo&&.update_area_content@ul@li&&section",
    "ruleContent": "<!DOCTYPE html>\n<html lang=\"zh-CN\">\n<head>\n<meta charset=\"UTF-8\">\n<title>内容提取</title>\n<!-- v2025.05.10 -->\n\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<script src=\"https://code.jquery.com/jquery-3.6.0.min.js\"></script>\n<link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/viewerjs/1.11.3/viewer.min.css\" />\n<script src=\"https://cdnjs.cloudflare.com/ajax/libs/viewerjs/1.11.3/viewer.min.js\"></script>\n<style>\n    body { font-family: Arial, sans-serif; font-size: 16px; }\n    #title, #page, #loading-status { margin: 0 auto; font-size: 20px; text-align: center; }\n    #description, #urls, #video-url, #video-sources, #messages { width: 100%; max-width: 800px; margin: 1.5px auto; font-size: 14px; text-align: left; word-wrap: break-word; white-space: pre-wrap; }\n    #text, #text :not(img), #text img + * { text-indent: 2em; width: 100%; font-size: 16px; line-height: 1.5em; margin-top: 0; margin-bottom: 0; word-wrap: break-word; white-space: pre-wrap; }\n    img, #text img { width: 100%; height: auto; display: block; margin-bottom: 1.5px; }\n    .flex-container { display: flex; justify-content: center; align-items: center; gap: 10px; margin: 1.5px 0; font-size: 14px; }\n    button, select { flex: 1 1 31%; padding: 3px; border: 1px solid #ccc; border-radius: 5px; box-sizing: border-box; cursor: pointer; background-color: #f9f9f9; transition: background-color 0.3s ease; margin: 1.5px; min-width: 0; font-size: 14px; }\n    #url-select, #video-source-select { flex: 1 1 100%; margin-left: 0; margin-right: 0; text-align: center; }\n    #video-element { width: 100%; height: auto; }\n    textarea { width: 100%; height: auto; min-height: 100px; box-sizing: border-box; resize: vertical; }\n    .error, .warn { color: red; }\n</style>\n</head>\n<body>\n    <h3 id=\"title\">{{@@title@text||h1.0@text||h2.0@text||.title.0@text}}</h3>\n    <p id=\"description\">{{@@.info.0@html||.jianjie@html}}</p>\n    <p id=\"page\" style=\"display:none;\">共<span id=\"total-pages\">1</span>页</p>\n    <p id=\"loading-status\" style=\"display:none;\"></p>\n\n    <div class=\"flex-container\" id=\"loading-buttons\" style=\"display:none;\">\n        <button id=\"prev-page-btn\">上一页</button>\n        <button id=\"next-page-btn\">下一页</button>\n        <button id=\"auto-load-btn\">自&nbsp;&nbsp;动</button>\n    </div>\n    \n    <div class=\"flex-container\">\n        <select id=\"url-select\" style=\"display:none;\"></select>\n    </div>\n    \n    <div class=\"flex-container\">\n        <button id=\"toggle-urls-btn\">显/隐网址</button>\n        <button id=\"toggle-messages-btn\">显/隐信息</button>\n        <button id=\"toggle-debug-btn\">显/隐调试</button>\n    </div>\n    <div id=\"urls\"></div>\n    <div id=\"messages\"></div>\n    <div id=\"debug-info\"></div>\n    <div id=\"video-url\"></div>\n    <div id=\"video-container\" style=\"display: none;\">\n        <video id=\"video-element\" controls preload=\"auto\" width=\"640\" height=\"264\">\n            <source id=\"video-source\" src=\"\" type=\"\">您的浏览器不支持 video 标签。\n        </video>\n    </div>\n    <div class=\"flex-container\" id=\"video-source-container\" style=\"display: none;\">\n        <select id=\"video-source-select\" onchange=\"updateVideoSource()\"></select>\n    </div>\n    <div id=\"images\"></div>\n    <div id=\"text\"></div>\n\n    <script>\n        // 配置对象，包含各种选择器、延迟时间等配置项\n        const config = {    \n            videoSelector: 'body', // 视频选择器\n            imgSelector: '.gridlane-box-inside img,.photos figure img,.content p img', // 图片选择器\n            textSelector: '#content', // 文本选择器\n            debugSelector: '#content, .page, .pager, .content, script', // 调试信息选择器\n            swapImageAttributes: false, // 是否交换图片属性\n            delayTime: 1500, // 延迟提取时间\n            retryDelayTime: 1500, // 重试加载延迟时间\n            maxLoadAttempts: 3, // 最大加载次数\n            autoLoading: false, // true自动模式，false单页模式\n            debugOnce: 0, // 只在特定索引输出一次调试信息\n            totalPagesText: '{{@@.page.0@a.-2@textNodes}}', // 总页码\n            urlSuffixToRemove: /\\.html$/, // 移除url后缀\n            pageUrlText: '{urlPrefix}_{i}.html', // 拼接URL模板        \n            ListMode: true, // true网址列表模式，false网址拼接模式    \n            initialUrls: `{{@@#sort-item-5.0@a@href}}`, // 网址\n            initialUrlsName: `{{@@#sort-item-5.0@a@span@text}}`, // 网址名称\n            sourceurl: '', // 来源URL前缀\n        };\n\n        let videoSources = []; // 存储视频源数组\n        let loadAttempts = {}; // 记录每个URL的加载尝试次数\n        let urls = []; // 存储所有页面的URL\n        let imageBox;\n        let textBox;\n        let currentPageIndex = 0; // 当前页面索引\n        let canLoadNextPage = true; // 控制是否可以加载下一页\n        let autoLoadInProgress = false; // 自动加载状态\n\n        // 构建URL列表\n        function buildUrls(totalPages, baseUrl) {\n            let initialUrlsArray = config.initialUrls.trim().split('\\n').filter(url => url.trim() !== '');\n            let initialUrlsNameArray = config.initialUrlsName.trim().split('\\n').filter(name => name.trim() !== '');\n\n            if (config.ListMode && initialUrlsArray.length > 0) {\n                if (initialUrlsArray.length !== initialUrlsNameArray.length) {\n                    $('#messages').append(`<span class=\"warn\">警告：initialUrls 和 initialUrlsName 的长度不匹配。</span><br>`);\n                }\n\n                urls = initialUrlsArray.map(url => {\n                    if (config.sourceurl && url.startsWith('/') && !/^https?:\\/\\//i.test(url)) {\n                        return config.sourceurl.replace(/\\/$/, '') + url;\n                    } else {\n                        return url;\n                    }\n                });\n\n                urls.forEach((url, index) => {\n                    const name = initialUrlsNameArray[index] || `第 ${index + 1} 页`;\n                    $('#url-select').append(`<option value=\"${index}\">${name}</option>`);\n                    $('#urls').append(`<div>${name}: ${url}</div>`);\n                });\n            } else {\n                if (totalPages === 1) {\n                    urls.push(baseUrl);\n                } else {\n                    urls.push(baseUrl);\n                    for (let i = 2; i <= totalPages; i++) {\n                        urls.push(config.pageUrlText.replace('{urlPrefix}', baseUrl.replace(config.urlSuffixToRemove, '').replace(/\\/$/, '')).replace('{i}', i));\n                    }\n                }\n\n                urls.forEach((url, index) => {\n                    const name = `第 ${index + 1} 页`;\n                    $('#url-select').append(`<option value=\"${index}\">${name}</option>`);\n                    $('#urls').append(`<div>${name}: ${url}</div>`);\n                });\n            }\n\n            $('#total-pages').text(urls.length);\n            toggleNavigationButtons();\n            toggleTotalPagesDisplay();\n        }\n\n        // 规范化URL\n        function normalizeUrl(url) {\n            if (typeof url !== 'string' || !url.trim()) {\n                return '';\n            }\n            const match = url.match(/['\"](.*?)['\"]/);\n            if (match && match[1]) {\n                url = match[1];\n            }\n\n            function processUrl(str) {\n                str = str.trim();\n                str = str.replace(/\\\\u[\\dA-F]{4}/gi, match => String.fromCharCode(parseInt(match.replace(/\\\\u/g, ''), 16)));\n                str = decodeURIComponent(str);\n                str = str.replace(/^http:\\/([^/])/, 'http://$1');\n                str = str.replace(/^https:\\/([^/])/, 'https://$1');\n                return str;\n            }\n            return processUrl(url);\n        }\n\n        // 清空容器内容\n        function clearContainers() {\n            $('#messages').empty();\n            $('#images').empty();\n            $('#text').empty();\n        }\n\n        // 更新图像源\n        function updateImageSrc(elements, shouldSwap) {\n            elements.each(function () {\n                const $this = $(this);\n                const attrsToUpdate = {};\n                if (shouldSwap) {\n                    ['data-original', 'data-src', 'data-url'].forEach(attr => {\n                        if ($this.attr(attr)) {\n                            attrsToUpdate['src'] = $this.attr(attr);\n                        }\n                    });\n                }\n                $this.attr(attrsToUpdate);\n            });\n            return elements;\n        }\n\n        // 切换导航按钮显示状态\n        function toggleNavigationButtons() {\n            if ($('#url-select option').length > 1 && !config.autoLoading) {\n                $('#loading-buttons').show();\n                $('#url-select').show();\n            } else {\n                $('#loading-buttons').hide();\n                $('#url-select').hide();\n            }\n        }\n\n        // 显示加载状态\n        function showLoadingStatus(pageNumber) {\n            const selectedOption = $('#url-select option:selected').text();\n            $('#loading-status').text(`正在加载：${selectedOption}`).show();\n        }\n\n        // 隐藏加载状态\n        function hideLoadingStatus() {\n            $('#loading-status').hide();\n        }\n\n        // 加载指定索引的内容\n        function loadContent(index) {\n            if (index < 0 || index >= urls.length || !canLoadNextPage) return;\n            canLoadNextPage = false;\n            currentPageIndex = index;\n            $('#url-select').val(index);\n            $('#messages').append(`<div>当前地址: <span class=\"warn\">${urls[index]}</span></div>`);\n            if (autoLoadInProgress) {\n                showLoadingStatus(index + 1);\n            }\n            $.ajax({\n                url: urls[index],\n                type: 'GET',\n                success: function (data) {\n                    try {\n                    const $data = $(data);\n                    let updatedHtmlContent = data.replace(/(['\"])(\\/\\/)(?!\\/)/g, '$1https://')\n                        .replace(/src=\"upload/gi, 'src=\"/upload')\n                        .replace(/style=[\"'][^'\"]+[\"']/gi, '')\n                        .replace(/\\\\\\//g, '/');\n                    const parser = new DOMParser();\n                    const doc = parser.parseFromString(updatedHtmlContent, \"text/html\");\n\n                    if (config.debugOnce === index) {\n                        const debugElements = $(doc).find(config.debugSelector);\n                        if (debugElements.length > 0) {\n                            const debugContents = $('<pre>').html(debugElements.clone().wrapAll('<div/>').parent().html()).html();\n                            $('#debug-info').html(`<span class=\"warn\">调试信息: <textarea rows=\"10\" cols=\"80\">${debugContents}</textarea></span>`);\n                        } else {\n                            $('#debug-info').html(`<span class=\"warn\">调试信息: <textarea rows=\"10\" cols=\"80\">调试信息未提取到内容，请检查选择器！</textarea></span>`);\n                        }\n                    }\n                    // 方法1：提取视频\n                    const videoSources1 = [];\n                    const videoContents = $(doc).find(config.videoSelector);\n                    const videoTags = $(videoContents).find('video, source');\n                    videoTags.each(function() {\n                        const videosrc = $(this).attr('src') || \n                                     $(this).attr('data-src') || \n                                     $(this).attr('data-original') || '';\n                        \n                        if (videosrc) {\n                            videoSources1.push(videosrc);\n                        }\n                    });\n                    //反馈\n                    if (videoSources1.length > 0) {\n                        $('#messages').append(`<span>方法1，找到 ${videoSources1.length} 个视频。</span><br>`);\n                    }\n\n                    // 方法2：正则提取视频\n                    const regex = /['\"]https?[^'<>\"]+(m3u8|mp4|webm|ogg|flv|mp3|m4a|wav|ape|flac)([^'<>\"]+)?['\"]/gi;\n                    const matches = data.match(regex);\n                    const videoSources2 = [];\n\n                    if (matches) {\n                        const uniqueMatches = [...new Set(matches)];\n                    \n                        uniqueMatches.forEach(match => {\n                            const normalizedSrc = normalizeUrl(match.replace(/['\"]/g, ''));\n                            videoSources2.push(normalizedSrc);\n                        });\n                    }\n                    //反馈\n                    if (videoSources2.length > 0) {\n                        $('#messages').append(`<span>方法2，找到 ${videoSources2.length} 个视频。</span><br>`);\n                    }\n\n                    // 合并两种方法的结果\n                    videoSources = [...videoSources1, ...videoSources2];\n\n                    // 去重并标准化 URL\n                    const imageExtensions = /\\.(jpg|jpeg|png|gif|bmp|svg)$/i;\n\n                    videoSources = videoSources\n                                  .map(src => normalizeUrl(src.replace(/\\\\+/g, '')))\n                                  .filter(src => src) // 过滤空值\n                                  .filter(src => !imageExtensions.test(src)); // 移除图片地址\n                        \n                    videoSources = [...new Set(videoSources)];// 去重\n\n                    // 显示最终结果\n                    $('#messages').append(`<span>总共找到 ${videoSources.length} 个视频。</span><br>`);\n\n                    if (videoSources.length > 0) {\n                        $('#messages').append(`<span>成功提取到视频，找到 ${videoSources.length} 个视频。</span><br>`);\n                        videoSources.forEach((src, idx) => {\n                            $('#messages').append(`<div>视频地址:<span class=\"warn\"> ${src}</span><br></div>`);\n                            $('#video-source-select').append(`<option value=\"${idx}\">视频源 ${idx + 1}</option>`);\n                        });\n                    \n                        if (videoSources.length == 1) {\n                            $('#video-container').show();\n                            $('#video-url').show();\n                            $('#video-source-container').hide();\n                            updateVideoSource();\n                        } else if (videoSources.length > 1) {\n                            $('#video-container').show();\n                            $('#video-url').show();\n                            $('#video-source-container').show();\n                            updateVideoSource();\n                        } else {\n                            $('#video-container').hide();\n                            $('#video-url').hide();\n                            $('#video-source-container').hide();\n                        }\n                    } else {\n                        $('#messages').append(`<span class=\"warn\">未找到视频源。</span><br>`);\n                        $('#video-container').hide();\n                        $('#video-url').hide();\n                        $('#video-source-container').hide();\n                    }\n\n                    //提取图片\n                    const $imgContents = $(doc).find(config.imgSelector);\n                    const shouldSwap = config.swapImageAttributes;\n                    const newContents = updateImageSrc($imgContents.clone(), shouldSwap);\n                    $('#images').append(newContents).show();\n                    if (newContents.length > 0) {\n                        $('#messages').append(`<span>成功提取图片，共 ${newContents.length} 张。</span><br>`);\n                        newContents.each(function () {\n                            const imgSrc = $(this).attr('src') || $(this).attr('data-original') || $(this).attr('data-src') || $(this).attr('data-url');\n                            $('#messages').append(`<div>地址:<span class=\"warn\"> ${imgSrc}</span><br></div>`);\n                        });\n                    } else {\n                        $('#messages').append(`<span class=\"warn\">未提取到图片。</span><br>`);\n                    }\n\n                    //提取图片和文本\n                    const textContents = $(doc).find(config.textSelector).map(function () {\n                        const $currentContents = $(this);\n                        $currentContents.find('img + br, script, video, source, iframe').remove();\n                        $currentContents.html($currentContents.html().replace(/>\\s+/gi, '>').replace(/<\\/?br\\s*([^>]*)\\s*\\/?>/gi, '\\n').replace(/\\n+/g, '\\n'));\n                        return $currentContents.html();\n                    }).get().join('');\n                    if (textContents.trim()) {\n                        $('#text').append(`<span>${textContents}</span><br>`).show();\n                        $('#messages').append(`<span>成功提取图文。</span><br>`);\n                    } else {\n                        $('#messages').append(`<span class=\"warn\">未提取到图文。</span><br>`);\n                    }\n\n                    if (autoLoadInProgress && currentPageIndex < urls.length - 1) {\n                        setTimeout(() => { \n                            canLoadNextPage = true;\n                            loadContent(currentPageIndex + 1); \n                        }, config.delayTime);\n                    } else {\n                        canLoadNextPage = true;\n                        if (autoLoadInProgress) {\n                            hideLoadingStatus();\n                        }\n                    }\n                } catch (parseError) {\n                    $('#messages').append(`<span class=\"error\">解析页面内容时发生错误: ${parseError.message}</span><br>`);\n                    handleLoadFailure(urls, index);\n                } finally {\n                    if (imageBox) imageBox.viewer.update();\n                    if (textBox) textBox.viewer.update();\n                }\n            },\n            error: function (jqXHR, textStatus, errorThrown) {\n                let errorMessage = `内容加载失败: ${urls[index]}`;\n                switch (textStatus) {\n                    case 'timeout':\n                        errorMessage += ', 请求超时';\n                        break;\n                    case 'abort':\n                        errorMessage += ', 请求被取消';\n                        break;\n                    case 'parsererror':\n                        errorMessage += ', 解析响应出错';\n                        break;\n                    default:\n                        errorMessage += `, 状态码: ${jqXHR.status}, 错误信息: ${errorThrown}`;\n                        break;\n                }\n                $('#messages').append(`<span class=\"error\">${errorMessage}</span><br>`);\n                handleLoadFailure(urls, index);\n                }\n            });\n        }\n\n        // 处理加载失败的情况\n        function handleLoadFailure(urls, index) {\n            if (!loadAttempts[urls[index]]) {\n                loadAttempts[urls[index]] = 1;\n            } else {\n                loadAttempts[urls[index]]++;\n            }\n            if (loadAttempts[urls[index]] <= config.maxLoadAttempts) {\n                const retryMessage = `第${index + 1}页加载失败，正在进行第${loadAttempts[urls[index]]}次加载！`;\n                $('#messages').append(`<span class=\"error\">${retryMessage}</span><br>`);\n                setTimeout(() => { \n                    canLoadNextPage = true;\n                    loadContent(index); \n                }, config.retryDelayTime);\n            } else {\n                const finalErrorMessage = `第${index + 1}页加载失败，已达到最大尝试次数(${config.maxLoadAttempts})！`;\n                $('#messages').append(`<span class=\"error\">${finalErrorMessage}</span><br>`);\n                if (autoLoadInProgress && currentPageIndex < urls.length - 1) {\n                    setTimeout(() => { \n                        canLoadNextPage = true;\n                        loadContent(currentPageIndex + 1); \n                    }, config.delayTime);\n                } else {\n                    canLoadNextPage = true;\n                    if (autoLoadInProgress) {\n                        hideLoadingStatus();\n                    }\n                }\n            }\n        }\n\n        // 更新视频源\n        function updateVideoSource() {\n            const selectedIndex = parseInt(document.getElementById('video-source-select').value);\n            if (isNaN(selectedIndex) || !videoSources[selectedIndex]) {\n                $('#messages').append(`<span class=\"warn\">未找到有效的视频源。</span><br>`);\n                console.warn(\"Invalid or undefined video source:\", selectedIndex, videoSources);\n                return;\n            }\n\n            const selectedSource = videoSources[selectedIndex];\n            document.getElementById('video-url').textContent = `视频地址:\\n ${selectedSource}`;\n\n            const videoSourceElement = document.getElementById('video-source');\n            videoSourceElement.src = selectedSource;\n\n            const videoElement = document.getElementById('video-element');\n            videoElement.load();\n\n            $('#messages').append(`<span>更新视频源为: ${selectedSource}</span><br>`);\n            console.log(\"Updated video source to:\", selectedSource);\n        }\n\n        // 切换总页数显示状态\n        function toggleTotalPagesDisplay() {\n            if (urls.length > 1) {\n                $('#page').show();\n            } else {\n                $('#page').hide();\n            }\n        }\n\n        // 页面加载完成后执行的主要逻辑\n        $(document).ready(function () {\n            imageBox = document.getElementById('images');\n            textBox = document.getElementById('text');\n            if (imageBox && textBox) {\n                new Viewer(imageBox, { title: true, interval: 2000 });\n                new Viewer(textBox, { title: true, interval: 2000 });\n            }\n\n            const totalPagesText = config.totalPagesText;\n            const totalPages = parseInt(totalPagesText, 10) || 1;\n            const baseUrl = '{{baseUrl}}';\n\n            clearContainers();\n            $('#urls, #debug-info textarea, #video-url, #video-source-select').empty();\n            $('#urls, #messages, #debug-info, #video-url, #video-container, #video-source-container, #images, #text').hide();\n\n            buildUrls(totalPages, baseUrl);\n\n            const urlSelect = document.getElementById('url-select');\n            if (urlSelect.options.length > 0) {\n                urlSelect.value = '0'; \n\n                if (config.autoLoading) {\n                    autoLoadInProgress = true;\n                    for (let i = 0; i < urls.length; i++) {\n                        loadContent(i);\n                    }\n                } else {\n                    loadContent(0);\n                }\n            } else {\n                loadContent(0);\n            }\n\n            $('#url-select').change(function () {\n                clearContainers();\n                const selectedIndex = parseInt($(this).val());\n                loadContent(selectedIndex);\n            });\n            $('#prev-page-btn').click(function () {\n                clearContainers();\n                if (currentPageIndex > 0) {\n                    loadContent(currentPageIndex - 1);\n                }\n            });\n            $('#next-page-btn').click(function () {\n                clearContainers();\n                if (currentPageIndex < urls.length - 1) {\n                    loadContent(currentPageIndex + 1);\n                }\n            });\n            $('#auto-load-btn').click(function () {\n                autoLoadInProgress = true;\n                showLoadingStatus(1); \n                for (let i = currentPageIndex + 1; i < urls.length; i++) {\n                    loadContent(i);\n                }\n            });\n            $('#toggle-messages-btn').click(function () { $('#messages').toggle(); });\n            $('#toggle-urls-btn').click(function () { $('#urls').toggle(); });\n            $('#toggle-debug-btn').click(function () { $('#debug-info').toggle(); });\n        });\n    </script>\n</body>\n</html>",
    "ruleDescription": "",
    "ruleImage": "img@data-original||img@data-src||img@src",
    "ruleLink": "tag.a.0@href",
    "ruleNextPage": ".page@text.下一页@href||.page@text.下页@href",
    "rulePubDate": "{{@class.meta-post@textNodes}}_浏览:{{@class.cx_like@textNodes}}",
    "ruleTitle": "{{@tag.a@title##\\[.*\\]## }}{{@class.meta-title@text##\\[.*\\]##}} {{@tag.span.0@text##\\n ##\\[.*\\]##}}{{@class.title@tag.span@text##\\[.*\\]##}}",
    "singleUrl": false,
    "sortUrl": "秀人网:: /XiuRen/\n最新::/new.html\n随机::/XiuRen/index{{ Math.ceil(Math.random()*100) }}.html\n搜索::/plus/search/index.asp?keyword={{(source.getVariable()==''||source.getVariable()==null)?source.setVariable('美女'):source.getVariable()}}&searchtype=titlekeywords\r\n一周推荐::/hot.html\n秀人网:: /XiuRen/\r\nImiss爱蜜社::/IMiss/\r\n模范学院::/MFStar/\r\n嗲囡囡::/FeiLin/\r\n尤蜜荟::/YouMi/\r\n画语界::/XiaoYu/\r\n花漾::/HuaYang/\r\n星颜社::/XingYan/\r\n顽味生活::/Taste/",
    "sourceComment": "//:a.2222x.vi   a.2xiu.vip (都可从a-z)",
    "sourceGroup": "图片,R18",
    "sourceIcon": "/template/images/logo.png",
    "sourceName": "秀人集v",
    "sourceUrl": "http://d4.xiuren004.top/",
    "style": "",
    "variableComment": "搜索关键词"
  },
  {
    "articleStyle": 0,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceComment": "站长静白",
    "sourceGroup": "R18",
    "sourceIcon": "https://q2.qlogo.cn/headimg_dl?bs=qq&dst_uin=2843483954&src_uin=2843483954&fid=2843483954&spec=100&url_enc=0&referer=bu_interface&term_type=PC",
    "sourceName": "静白的莫问导航",
    "sourceUrl": "https://mwdh.cc/"
  },
  {
    "articleStyle": 0,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": ".posts-item",
    "ruleContent": ".wp-posts-content@html##decoding=\"async\" src=\"https://www.qingju.org/wp-content/themes/zibll/img/thumbnail-lg.svg\" data-src=##<img src=",
    "ruleImage": "img@data-src",
    "ruleLink": "a.0@href",
    "ruleNextPage": ".pagenav@a.-2@href",
    "rulePubDate": "{{@@.ml6@text}}  {{@@.item-tags@text### ##✨}}",
    "ruleTitle": ".item-heading@text##.*该冲就冲！|.*新用户下载送vip|.*福利资源免费下载",
    "singleUrl": false,
    "sortUrl": "首页::https://www.qingju.org/\n搜索::https://www.qingju.org/?s={{source.getVariable()}}&type=post\npc::https://www.qingju.org/category/pc\n安卓::https://www.qingju.org/category/%e5%ae%89%e5%8d%93\nTyranor::https://www.qingju.org/category/tyranor\nONS::https://www.qingju.org/category/ons\nKRKR::https://www.qingju.org/category/krkr",
    "sourceGroup": "R18",
    "sourceIcon": "https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fc-ssl.duitang.com%2Fuploads%2Fitem%2F201501%2F10%2F20150110110220_CdRf2.thumb.400_0.gif&refer=http%3A%2F%2Fc-ssl.duitang.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1749393622&t=98078db46c82d6bfd4a098deb897a096",
    "sourceName": "青桔网",
    "sourceUrl": "https://www.qingju.org/"
  },
  {
    "articleStyle": 1,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\n  \"User-Agent\": \"Mozilla/5.0 (Linux; Android 8.1.0; JKM-AL00b Build/HUAWEIJKM-AL00b; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/044807 Mobile Safari/537.36\"\n}",
    "jsLib": "function bDe(data){\n\tconst {java} = this;\n\treturn java.base64Decode(data.match(/base64,(.*?),/)[1])\n\t}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginUi": "◎分类1◎\n【序号或链接】《列表名称》@图片链接@『简介』\n------------------\n◎分类2◎\n【序号或链接】《列表名称》@图片链接@『简介』\n❗️0、2、开始❗️\n\n❗️0、2、结束❗️",
    "ruleArticles": "<js>\njson=[];\nlistStr = bDe(baseUrl);\nlist=listStr.split('\\n');\nfor(i = 0;i<list.length;i++){\n\tlet index =/【(.*?)】/.test(list[i])?list[i].match(/【(.*?)】/)[1]:\"\";\n\tlet src = /@(.*?)@/.test(list[i])?list[i].match(/@(.*?)@/)[1]:\"\";\n\tlet text = /《(.*?)》/.test(list[i])?list[i].match(/《(.*?)》/)[1]:\"\";\n\tlet intro = /『(.*?)』/.test(list[i])?list[i].match(/『(.*?)』/)[1]:\"\";\tjson.push({index:index,src:src,text:text,intro:intro})\n\t}\nJSON.stringify(json)</js>\n$.[*]",
    "ruleDescription": "❗️0、2、开始❗️\n<!DOCTYPE html>\n<html lang=\"zh-CN\">\n<head>\n  <meta charset=\"UTF-8\">\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n  <title>代码预览工具</title>\n  <style>\n    body {\n      font-family: Arial, sans-serif;\n      margin: 0;\n      padding: 10px;\n      background-color: #f9f9f9;\n    }\n    h1 {\n      font-size: 20px;\n      margin: 0 0 10px 0;\n      color: #333;\n    }\n    h2 {\n      font-size: 16px;\n      margin: 0 0 8px 0;\n      color: #555;\n    }\n    .container {\n      display: flex;\n      flex-direction: column;\n      gap: 10px;\n    }\n    .code-input, .preview {\n      width: 100%;\n    }\n    .code-wrapper {\n      display: flex;\n      gap: 10px;\n    }\n    .line-numbers {\n      width: 30px;\n      padding: 8px 0;\n      font-family: monospace;\n      font-size: 14px;\n      text-align: right;\n      color: #888;\n      background-color: #f0f0f0;\n      border: 1px solid #ccc;\n      border-radius: 4px;\n      box-sizing: border-box;\n      user-select: none;\n      overflow-y: hidden;\n      height: 150px;\n    }\n    textarea {\n      width: 100%;\n      height: 150px;\n      padding: 8px;\n      font-family: monospace;\n      font-size: 14px;\n      border: 1px solid #ccc;\n      border-radius: 4px;\n      box-sizing: border-box;\n      line-height: 1.5;\n      resize: none;\n      overflow-y: auto;\n    }\n    .preview {\n      border: 1px solid #ccc;\n      padding: 10px;\n      border-radius: 4px;\n      background-color: #fff;\n    }\n    .console {\n      margin-top: 10px;\n      padding: 8px;\n      background-color: #000;\n      color: #fff;\n      font-family: monospace;\n      font-size: 12px;\n      border-radius: 4px;\n      height: 80px;\n      overflow-y: auto;\n      box-sizing: border-box;\n    }\n    button {\n      margin-top: 8px;\n      padding: 8px 16px;\n      font-size: 14px;\n      background-color: #007bff;\n      color: white;\n      border: none;\n      border-radius: 4px;\n      cursor: pointer;\n    }\n    button:hover {\n      background-color: #0056b3;\n    }\n    .preview-output {\n      height: 400px;\n      border: 1px solid #ccc;\n      border-radius: 4px;\n      background-color: #fff;\n      overflow: auto;\n      box-sizing: border-box;\n      padding: 10px;\n    }\n    .button-group {\n      display: flex;\n      gap: 10px;\n      align-items: center;\n    }\n    .tab-group {\n      display: flex;\n      gap: 10px;\n      margin-bottom: 10px;\n    }\n    .tab-button {\n      padding: 8px 16px;\n      font-size: 14px;\n      background-color: #f0f0f0;\n      color: #333;\n      border: 1px solid #ccc;\n      border-radius: 4px;\n      cursor: pointer;\n    }\n    .tab-button.active {\n      background-color: #007bff;\n      color: white;\n      border-color: #007bff;\n    }\n    .code-input {\n      display: none;\n    }\n    .code-input.active {\n      display: block;\n    }\n    .preview-content {\n      display: none;\n    }\n    .preview-content.active {\n      display: block;\n    }\n    .mode-switch {\n      margin-top: 10px;\n    }\n  </style>\n</head>\n<body>\n  <div class=\"container\">\n      <div class=\"preview\">\n      <h2>控制台输出</h2>\n      <div id=\"consoleOutput\" class=\"console\"></div>\n    </div>\n    <div class=\"code-input active\">\n    \n      <div class=\"tab-group\">\n        <button class=\"tab-button active\" onclick=\"switchTab('previewTab')\">预览代码</button>\n        <button class=\"tab-button\" onclick=\"switchTab('debugTab')\">调试 JS</button>\n        <button class=\"tab-button\" onclick=\"switchTab('injectTab')\">注入 JS</button>\n        <button onclick=\"clearConsole()\">清除控制台</button>\n      </div>\n      \n      <div class=\"code-wrapper\">\n        <div id=\"lineNumbers\" class=\"line-numbers\">1</div>\n        <textarea id=\"codeInput\" placeholder=\"请输入 HTML、CSS 或 JavaScript 代码...\" oninput=\"updateLineNumbers()\" onscroll=\"syncLineNumbers()\"></textarea>\n      </div>\n      \n      <div class=\"button-group\">\n        <button id=\"previewButton\" onclick=\"previewCode()\">确认</button>\n        <button id=\"debugButton\" onclick=\"debugJS()\" style=\"display: none;\">调试</button>\n        <button id=\"injectButton\" onclick=\"injectJS()\" style=\"display: none;\">注入</button>\n        <button onclick=\"switchMode('code')\">代码</button>\n        <button onclick=\"switchMode('url')\">网址</button>\n        <button onclick=\"switchPreview('preview')\">预览</button>\n        <button onclick=\"switchPreview('source')\">源码</button>\n         <button onclick=\"clearCode()\">清除</button>\n      </div>\n      \n    </div>\n\n\n        <div class=\"preview\">\n      <div id=\"previewOutput\" class=\"preview-content active preview-output\"></div>\n      <div id=\"sourceCodeOutput\" class=\"preview-content preview-output\"></div>\n    </div>\n  </div>\n\n  <script>\n    // 数据存储\n    var codeData = {\n      preview: '',\n      debug: '',\n      inject: ''\n    };\n\n    // 当前选中的标签\n    var currentTab = 'previewTab';\n\n    // 当前模式（代码模式或网址模式）\n    var currentMode = 'code';\n\n    // 切换标签\n    function switchTab(tab) {\n      currentTab = tab;\n\n      // 更新按钮状态\n      document.querySelectorAll('.tab-button').forEach(button => button.classList.remove('active'));\n      document.querySelector(`.tab-button[onclick=\"switchTab('${tab}')\"]`).classList.add('active');\n\n      // 显示对应的输入框和按钮\n      var codeInput = document.getElementById('codeInput');\n      var previewButton = document.getElementById('previewButton');\n      var debugButton = document.getElementById('debugButton');\n      var injectButton = document.getElementById('injectButton');\n\n      if (tab === 'previewTab') {\n        codeInput.value = codeData.preview;\n        previewButton.style.display = 'inline-block';\n        debugButton.style.display = 'none';\n        injectButton.style.display = 'none';\n      } else if (tab === 'debugTab') {\n        codeInput.value = codeData.debug;\n        previewButton.style.display = 'none';\n        debugButton.style.display = 'inline-block';\n        injectButton.style.display = 'none';\n      } else if (tab === 'injectTab') {\n        codeInput.value = codeData.inject;\n        previewButton.style.display = 'none';\n        debugButton.style.display = 'none';\n        injectButton.style.display = 'inline-block';\n      }\n\n      // 更新行号\n      updateLineNumbers();\n    }\nfunction clearCode(){\nif (currentTab === 'previewTab') {\n        codeData.preview = \"\"\n        codeInput.value = \"\";\n      } else if (currentTab === 'debugTab') {\n      codeData.debug = \"\";\n        codeInput.value = \"\"\n        \n      } else if (currentTab === 'injectTab') {\n      codeData.inject =\"\";\n        codeInput.value = \"\";\n      }\n\n}\n    // 更新行号\n    function updateLineNumbers() {\n      var codeInput = document.getElementById('codeInput');\n      var lineNumbers = document.getElementById('lineNumbers');\n      var lines = codeInput.value.split('\\n').length;\n      lineNumbers.innerHTML = Array.from({ length: lines }, (_, i) => i + 1).join('<br>');\n\n      // 保存当前输入框的数据\n      if (currentTab === 'previewTab') {\n        codeData.preview = codeInput.value;\n      } else if (currentTab === 'debugTab') {\n        codeData.debug = codeInput.value;\n      } else if (currentTab === 'injectTab') {\n        codeData.inject = codeInput.value;\n      }\n    }\n\n    // 同步行号滚动\n    function syncLineNumbers() {\n      var codeInput = document.getElementById('codeInput');\n      var lineNumbers = document.getElementById('lineNumbers');\n      lineNumbers.scrollTop = codeInput.scrollTop;\n    }\n\n    // 捕获本页面的 console 输出\n    var consoleOutput = document.getElementById('consoleOutput');\n    var originalConsole = {\n      log: console.log,\n      error: console.error,\n      warn: console.warn,\n      info: console.info,\n    };\n\n    function captureConsole(type) {\n      return function () {\n        // 将输出保存到控制台输出区域\n        var message = Array.from(arguments).join(' ');\n        var logElement = document.createElement('div');\n        logElement.textContent = `[${type}] ${message}`;\n        consoleOutput.appendChild(logElement);\n\n        // 调用原始的 console 方法\n        originalConsole[type].apply(console, arguments);\n      };\n    }\n\n    // 重写本页面的 console 方法\n    console.log = captureConsole('log');\n    console.error = captureConsole('error');\n    console.warn = captureConsole('warn');\n    console.info = captureConsole('info');\n\n    // 预览代码\n    function previewCode() {\n      if (currentMode === 'code') {\n        // 获取用户输入的代码\n        var code = codeData.preview;\n\n        // 清空预览区域\n        var previewOutput = document.getElementById('previewOutput');\n        previewOutput.innerHTML = '';\n\n        // 移除所有 <a> 标签的 target=\"_blank\" 属性\n        code = code.replace(/<a\\s+([^>]*)\\s*target=\"_blank\"\\s*([^>]*)>/gi, '<a $1 $2>');\n\n        // 创建一个 iframe 来隔离代码环境\n        var iframe = document.createElement('iframe');\n        iframe.style.width = '100%';\n        iframe.style.height = '100%';\n        iframe.style.border = 'none';\n        previewOutput.appendChild(iframe);\n\n        // 捕获 iframe 的 console 输出\n        var iframeWindow = iframe.contentWindow;\n        iframeWindow.console.log = captureConsole('log');\n        iframeWindow.console.error = captureConsole('error');\n        iframeWindow.console.warn = captureConsole('warn');\n        iframeWindow.console.info = captureConsole('info');\n\n        // 将处理后的代码写入 iframe\n        var iframeDoc = iframe.contentDocument || iframe.contentWindow.document;\n        iframeDoc.open();\n        iframeDoc.write(`\n          <!DOCTYPE html>\n          <html>\n            <head>\n              <style>\n                ${code.includes('<style>') ? '' : 'body { margin: 0; padding: 0; }'}\n              </style>\n            </head>\n            <body>\n              ${code}\n              <script>\n                ${code.includes('<script>') ? '' : ''}\n              <\\/script>\n            </body>\n          </html>\n        `);\n        iframeDoc.close();\n\n        // 显示源码\n        updateSourceCode(iframeDoc.documentElement.outerHTML);\n      } else if (currentMode === 'url') {\n        // 加载网址\n        var url = codeData.preview.trim();\n        if (!url) {\n          console.error('请输入网址。');\n          return;\n        }\n\n        // 清空预览区域\n        var previewOutput = document.getElementById('previewOutput');\n        previewOutput.innerHTML = '';\n\n        // 创建一个 iframe 来加载网址\n        var iframe = document.createElement('iframe');\n        iframe.style.width = '100%';\n        iframe.style.height = '100%';\n        iframe.style.border = 'none';\n        previewOutput.appendChild(iframe);\n\n        // 捕获 iframe 的 console 输出\n        var iframeWindow = iframe.contentWindow;\n        iframeWindow.console.log = captureConsole('log');\n        iframeWindow.console.error = captureConsole('error');\n        iframeWindow.console.warn = captureConsole('warn');\n        iframeWindow.console.info = captureConsole('info');\n\n        // 加载网址\n        iframe.src = url;\n\n        // 显示源码\n        iframe.onload = function () {\n          var iframeDoc = iframe.contentDocument || iframe.contentWindow.document;\n          updateSourceCode(iframeDoc.documentElement.outerHTML);\n        };\n      }\n    }\n\n    // 更新源码预览\n    function updateSourceCode(source) {\n      var sourceCodeOutput = document.getElementById('sourceCodeOutput');\n      sourceCodeOutput.textContent = source;\n    }\n\n    // 调试 JS 函数\n    function debugJS() {\n      var code = codeData.debug;\n\n      try {\n        // 使用 eval 执行 JavaScript 代码\n        eval(code);\n      } catch (error) {\n        // 捕获错误并解析行号\n        var errorLine = error.stack.match(/<anonymous>:(\\d+):\\d+/);\n        if (errorLine) {\n          console.error(`调试失败，第 ${errorLine[1]} 行：${error.message}`);\n        } else {\n          console.error('调试失败:', error);\n        }\n      }\n    }\n\n    // 注入 JS 到 iframe\n    function injectJS() {\n      var code = codeData.inject;\n      var iframe = document.querySelector('#previewOutput iframe');\n\n      if (!iframe) {\n        console.error('请先点击“确认预览”创建 iframe。');\n        return;\n      }\n\n      try {\n        // 获取 iframe 的 window 对象\n        var iframeWindow = iframe.contentWindow;\n\n        // 在 iframe 中执行 JavaScript 代码\n        iframeWindow.eval(code);\n\n        // 更新源码预览\n        var iframeDoc = iframe.contentDocument || iframe.contentWindow.document;\n        updateSourceCode(iframeDoc.documentElement.outerHTML);\n      } catch (error) {\n        console.error('注入 JS 失败:', error);\n      }\n    }\n\n    // 切换预览效果和源码预览\n    function switchPreview(type) {\n      var previewOutput = document.getElementById('previewOutput');\n      var sourceCodeOutput = document.getElementById('sourceCodeOutput');\n\n      if (type === 'preview') {\n        previewOutput.classList.add('active');\n        sourceCodeOutput.classList.remove('active');\n      } else if (type === 'source') {\n        previewOutput.classList.remove('active');\n        sourceCodeOutput.classList.add('active');\n      }\n    }\n\n    // 切换模式（代码模式或网址模式）\n    function switchMode(mode) {\n      currentMode = mode;\n      var codeInput = document.getElementById('codeInput');\n\n      if (mode === 'code') {\n        codeInput.placeholder = '请输入 HTML、CSS 或 JavaScript 代码...';\n      } else if (mode === 'url') {\n        codeInput.placeholder = '输入网址，例如：https://example.com';\n      }\n    }\n\n    // 清除控制台\n    function clearConsole() {\n      var consoleOutput = document.getElementById('consoleOutput');\n      consoleOutput.innerHTML = '';\n    }\n\n    // 默认显示预览标签\n    switchTab('previewTab');\n  </script>\n</body>\n</html>\n\n❗️0、2、结束❗️\n\n\n❗️0、3、开始❗️\n<html lang=\"zh-CN\">\n\n<head>\n    <meta charset=\"utf-8\">\n    <title>阅读导入</title>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=no\">\n    <meta name=\"description\" content=\"洛娅橙，开源阅读软件，书源、订阅源、字典、净化等json、txt文件导入，小说书籍地址导入,base64，链接净化,精华规则。\">\n    <style>\n        :root {\n            --back-color: #fffbf0;\n            --font-color: black;\n        }\n\n        @media (prefers-color-scheme: dark) {\n            :root {\n                --back-color: #1a1a1a;\n                --font-color: white;\n            }\n        }\n\n        html {\n            background-color: var(--back-color);\n            color: var(--font-color);\n        }\n\n        .hidden {\n            display: none;\n        }\n\n        body {\n            display: flex;\n            flex-direction: column;\n            align-items: center;\n            min-height: 80vh;\n        }\n\n        textarea {\n            font-size: 12px;\n            color: var(--font-color);\n            width: 96%;\n            margin: 16px 2%;\n            padding: 8px;\n            background-color: rgba(80, 155, 84, 0.1);\n            border-radius: 10px;\n            border: 2px solid rgba(76, 175, 80, 0.3);\n        }\n\n        textarea:focus {\n            border-color: rgb(76, 175, 80);\n            outline: none;\n            box-shadow: 0 0 8px rgba(255, 107, 107, 0.3);\n        }\n\n        button {\n            user-select: none;\n            color: white;\n            border: none;\n            border-radius: 4px;\n            height: 40px;\n            width: 80px;\n            overflow: hidden;\n            transition: 0.3s;\n            font-size: 16px;\n        }\n\n        .an-s {\n            transform: scale(0.8);\n        }\n\n        #btn1 {\n            background-color: rgba(76, 175, 80, 0.9);\n        }\n\n        #btn2 {\n            background-color: rgba(175, 76, 80, 0.9);\n        }\n\n        #btn3 {\n            background-color: rgba(76, 80, 175, 0.9);\n        }\n    </style>\n</head>\n\n<body>\n    <h1 class=\"hidden\">在线导入-洛娅橙</h1>\n    <textarea id=\"copyt\" rows=\"9\" placeholder=\"在这里填写链接\n支持书源、订阅源、净化、字典等json或txt文件\n支持书籍网址（需要有对应的书源）\n支持data或base64加密链接\"></textarea>\n    <br>\n    <button id=\"btn1\" onclick=\"copy(1)\">导入</button>\n    <br>\n    <button id=\"btn2\" onclick=\"cleart()\">清空</button>\n    <br>\n    <button id=\"btn3\" onclick=\"copy(3)\">净化</button>\n    <script>\n        function copy(x) {\n            const btn = document.getElementById('btn' + x);\n            btn.classList.add('an-s');\n            const cpt = document.getElementById(\"copyt\");\n            let url = cpt.value;\n            if (/[删除去消].*(?:[删除去掉].*[中汉我]|汉.*字|中.*文|文.*字)/.test(url)) url = url.replace(/[abphm]站|[一-ꀀ]/g, '');\n            url = url.replace(/[\\s一-ꀀ，。？！；…“‘、’”]+$/, '').replace(/\\s+|(?:\\p{Emoji_Presentation}|\\p{Emoji}[\\uFE0F\\u200d]+)+|\\[(?:酷币|受虐滑稽|微笑|哈哈哈|呵呵|呲牙|可爱|可怜|皱眉|惊讶|微笑|坏笑|流泪|抱拳|色|强|doge笑哭|doge原谅ta|旺财|OK)\\]/giu, '').replace(/(\\/.+\\.(?:json|txt|zip))(?:[^\\/\\?\\-\\_\\.][\\S\\s]*)$/, '$1').replace(/^[\\S\\s]+?(?=https?:)/i, '').replace(/\\u0026/g, '%26');\n            if (url.startsWith('data:')) url = atob(url.match(/^[^,]+,([^\\s,]+)/)[1]);\n            else if (/^[\\da-z\\+\\/]{2,}=*$/i.test(url)) url = atob(url);\n            setTimeout(() => {\n                btn.classList.remove('an-s');\n            }, 500);\n            if (url == '') { alert('请输入内容'); return }\n            if (/^https?\\:/i.test(url) && x == 1) {\n                if (/\\/.+\\.(?:json|txt)/i.test(url)) {\n                    window.location.href = 'legado://import/Source?src=' + url;\n                }\n                else if (/\\/.+\\.(?:zip)/i.test(url)) {\n                    window.location.href = 'legado://import/bookSource?src=' + url;\n                }\n                else {\n                    window.location.href = 'legado://import/addToBookshelf?src=' + url;\n                }\n            }\n            else if (x == 3) { cpt.value = url; }\n            else alert('链接格式错误');\n        }\n        function cleart() {\n            const btn = document.getElementById('btn2');\n            btn.classList.add('an-s');\n            const cpt = document.getElementById(\"copyt\");\n            setTimeout(() => {\n                btn.classList.remove('an-s');\n            }, 300);\n            cpt.value = '';\n        }\n    </script>\n</body>\n\n</html>\n❗️0、3、结束❗️\n\n//发现规则\n❗️0、1、开始❗️\n <script>\n    function $(selector) {\n        return document.querySelector(selector);\n    }\n\n    function $$(selector) {\n        return document.querySelectorAll(selector);\n    }\n</script>\n<style>\n    button,\n    input {\n        margin: 5px\n    }\n\n    #basic-addon1,\n    #replaceSpan1 {\n        background-color: Azure;\n        padding: 3px\n    }\n\n    button,\n    input[type=\"button\"] {\n        outline: none;\n        height: 30px;\n        box-shadow: 2px 1px #CFD8DC;\n        background: #fff;\n        border: 1px solid #607D8B;\n        border-radius: 6px;\n    }\n\n    textarea {\n        background-color: GhostWhite;\n        border: 0px solid black;\n        width: 100%\n    }\n\n    .bt1,\n    .bt4 {\n        background: #fff;\n        width: 29%;\n        border: 1px solid green;\n        border-radius: 10px;\n    }\n\n    #bt4:active,\n    #bt2:active,\n    #bt3:active {\n        background: #CFD8DC\n    }\n\n    #bt4,\n    #bt2,\n    #bt3 {\n        background: #fff;\n        width: 100%;\n        border: 1px solid #607D8B;\n        border-radius: 6px;\n    }\n\n    button:active,\n    input[type=\"button\"]:active {\n        background: #C8E6C9\n    }\n\n    #success {\n        text-align: center;\n        border: 1px solid green;\n        position: fixed;\n        left: 40%;\n        width: 20%;\n        background: #fff;\n        border-radius: 5px;\n        display: none;\n        top: 2px;\n        box-shadow: 2px 1px 3px #CFD8DC;\n    }\n\n    #pageclass,\n    #pageclass2 {\n        width: 100%\n    }\n\n    .pageclass {\n        font-size: 10px\n    }\n</style>\n<a href=\"https://www.sojson.com/rehtml\">html转义</a>&nbsp;&nbsp;<a href=\"http://www.jsons.cn/urlencode/\">URL解码</a>\n<textarea rows=\"23\" id=\"input\" onfocus=\"di()\" placeholder=\"输入带html标签的发现内容\"></textarea>\n<button onclick=\"getInput();dis()\" class=\"bt1\">格式化发现[旧]</button>\n<button onclick=\"getInput2();dis()\" class=\"bt1\">格式化发现[新]</button>\n<button onclick=\"getInput3();\" class=\"bt1\">发现格式互转</button>\n<button onclick=\"getInput4(1);\" id=\"bt4\">（新发现）改样式先点这个</button>\n<button onclick=\"getInput4(2,1);\" class=\"bt4\">一排一个</button>\n<button onclick=\"getInput4(2,2);\" class=\"bt4\">一排两个</button>\n<button onclick=\"getInput4(2,3);\" class=\"bt4\">一排三个</button>\n<button onclick=\"getInput4(2,4);\" class=\"bt4\">一排四个</button>\n<button onclick=\"copyText()\" id=\"bt2\">一键复制</button>\n<button onclick=\"formatJson()\" id=\"bt3\">格式化Json</button>\n<div class=\"pageclass\">输入分类里的链接，如： /sort/xuanhuan/ 写成 /sort/分类/ </div>\n<input id=\"pageclass\">\n<div class=\"pageclass\">输入带有翻页的链接，如： /sort/xuanhuan/2.html 写成 /sort/分类/页码.html </div>\n<input id=\"pageclass2\">\n<div class=\"pageclass\"> 第一页跟第二页不一样？ 输入不一样的部分（第二页比第一页多出来的部分） 如 index_页码.html </div>\n<input id=\"pageclass3\">\n<button onclick=\"okpage()\">确认加入翻页（仅旧发现）</button>\n<p id=\"success\">复制成功！</p><br><br><br>\n<p>正则表达式匹配替换</p>\n<div class=\"form-group\">\n    <div class=\"col-sm-12\">\n        <textarea class=\"form-control\" onmouseover=\"this.focus();\" id=\"textSour\" name=\"textSour\" rows=\"10\" style=\"max-height: 2222px;\" placeholder=\"请输入要验证的文本\"></textarea>\n    </div>\n</div>\n<div class=\"form-group\">\n    <div class=\"col-sm-12\">\n        <div class=\"input-group\">\n            <span class=\"input-group-addon\" id=\"basic-addon1\">正则表达式</span>\n            <input type=\"text\" class=\"form-control\" id=\"textPattern\" name=\"textPattern\" placeholder=\"请输入自定义正则表达式 例如：\\d{6}\" aria-describedby=\"basic-addon1\" style=\"width: 65%;\">\n        </div>\n    </div>\n</div>\n<div class=\"form-group\">\n    <div class=\"col-sm-2\">\n        <div class=\"input-group\" style=\"margin-left: 20px;\">\n            <label class=\"checkbox\" style=\"cursor: pointer;\">\n                <input type=\"checkbox\" value=\"global\" checked=\"checked\" id=\"optionGlobal\" name=\"optionGlobl\">全局搜索</label>\n        </div>\n    </div>\n    <div class=\"col-sm-2\">\n        <div class=\"input-group\" style=\"margin-left: 20px;\">\n            <label class=\"checkbox\" style=\"cursor: pointer;\">\n                <input type=\"checkbox\" value=\"ignoreCase\" id=\"optionIgnoreCase\" name=\"optionIgnoreCase\">忽略大小写</label>\n        </div>\n    </div>\n    <div class=\"col-sm-8\">\n        <input type=\"button\" onclick=\"return onMatch();\" value=\"验证匹配内容\" class=\"btn btn-success\">\n        <input type=\"button\" onclick=\"Empty();\" value=\"清空输入框\" class=\"btn btn-danger\">\n        <button onclick=\"copyText3()\">一键复制</button>\n    </div>\n</div>\n<div class=\"form-group\">\n    <div class=\"col-sm-12\">\n        <div id=\"textResult\"></div>\n        <textarea onmouseover=\"this.focus();\" id=\"textMatchResult\" class=\"form-control\" rows=\"10\" style=\"max-height: 2222px;\" placeholder=\"得到验证后内容，内容为空为验证失败\" readonly=\"readonly\"></textarea>\n    </div>\n</div>\n<div class=\"form-group\">\n    <div class=\"col-sm-4\">\n        <div class=\"input-group\" style=\"width: 98%;\">\n            <span class=\"input-group-addon\" id=\"replaceSpan1\">替换文本</span>\n            <input type=\"text\" class=\"form-control\" id=\"textReplace\" name=\"textReplace\" placeholder=\"请输入替换内容\" aria-describedby=\"replaceSpan1\" style=\"width: 70%;\">\n            <button value=\"{\\{page}}\" onclick=\"pp(this.value)\">page</button>\n            <button value=\"$\" onclick=\"pp(this.value)\">$</button>\n            <button value=\"'\" onclick=\"pp(this.value)\">'</button>\n            <button value=\"/\" onclick=\"pp(this.value)\">/</button>\n            <button value=\"_\" onclick=\"pp(this.value)\">_</button>\n            <button value=\"-\" onclick=\"pp(this.value)\">-</button>\n        </div>\n    </div>\n    <div class=\"col-sm-2\">\n        <div class=\"input-group\">\n            <button onclick=\"return onReplace()\" class=\"btn btn-success\">替换匹配内容</button>\n            <button onclick=\"copyText2()\">一键复制</button>\n        </div>\n    </div>\n    <div class=\"col-sm-6\">\n    </div>\n</div>\n<div class=\"form-group\">\n    <div class=\"col-sm-12\">\n        <textarea readonly=\"readonly\" id=\"textReplaceResult\" class=\"form-control\" rows=\"10\" placeholder=\"此处为替换后内容\"></textarea>\n    </div>\n</div>\n</form>\n</div>\n</div>\n<script>\n    var copyText = function() {\n        var text = document.getElementById('input');\n        // 选中文本\n        text.select()\n        // 复制\n        document.execCommand('copy')\n        text.blur()\n        $(\"#success\").style.display = \"block\";\n        setTimeout(function() {\n            $(\"#success\").style.display = \"none\";\n        }, 500)\n    }\n    var copyText2 = function() {\n        var text = document.getElementById('textReplaceResult');\n        // 选中文本\n        text.select()\n        // 复制\n        document.execCommand('copy')\n        text.blur()\n        $(\"#success\").style.display = \"block\";\n        setTimeout(function() {\n            $(\"#success\").style.display = \"none\";\n        }, 500)\n    }\n    var copyText3 = function() {\n        var text = document.getElementById('textMatchResult');\n        // 选中文本\n        text.select()\n        // 复制\n        document.execCommand('copy')\n        text.blur()\n        $(\"#success\").style.display = \"block\";\n        setTimeout(function() {\n            $(\"#success\").style.display = \"none\";\n        }, 500)\n    }\n</script>\n<script>\n    function pp(a) {\n        b = a.replace(/\\\\/, '');\n        $(\"#textReplace\").value += b;\n        $(\"#textReplace\").focus()\n    }\n\n    function dis() {\n        document.getElementById(\"bt1\").disabled = true;\n        document.getElementById(\"bt2\").disabled = true\n    }\n\n    function di() {\n        document.getElementById(\"bt1\").disabled = false;\n        document.getElementById(\"bt2\").disabled = false\n    }\n\n    function parseToDOM(str) {\n        var div = document.createElement(\"div\");\n        if (typeof str == \"string\") div.innerHTML = str;\n        return div.querySelectorAll(\"a\");;\n    }\n\n    function okpage() {\n        pageclass = $(\"#pageclass\").value.replace(/(\\+|\\?)/g, '\\\\$1');\n        pageclass = pageclass.replace(/分类$/g, '(.*)').replace(/分类(?!$)/g, '(.*?)');\n        reg = new RegExp(pageclass)\n        pageclass2 = $(\"#pageclass2\").value;\n        html = $(\"#input\").value;\n        pageclass2 = pageclass2.replace(/页码/g, '{\\{page}}');\n        pageclass3 = $(\"#pageclass3\").value.replace(/(\\+|\\?)/g, '\\\\$1').replace(/页码/, '{\\{page}}')\n        h = \"\";\n        if (html.match(/::/) && pageclass != \"\" && pageclass2 != \"\" && !/{\\{page}}/.test(html)) {\n            list = html.split(/\\n|&&/);\n            for (i in list) {\n                if (list[i].match(/::/)) {\n                    text = list[i].match(/(.*?)::/)[1];\n                    href = list[i].match(/::(.*)/)[1]\n                    if (href.match(reg)) {\n                        href = pageclass2.replace(/分类/g, href.match(reg)[1])\n                    } else {\n                        href = href\n                    }\n                    h += text + \"::\" + href + \"\\n\"\n                }\n            }\n            $(\"#input\").value = h\n        }\n        html = $(\"#input\").value\n        if (pageclass3 != \"\" && !/<,.*?>/.test(html)) {\n            reg = new RegExp(\"(\" + pageclass3 + \")\", 'g');\n            $(\"#input\").value = html.replace(reg, '<,$1>')\n        }\n    }\n\n    function getInput() {\n        var str = $(\"#input\").value;\n        var list = parseToDOM(str);\n        if (list.length == 0) {\n            $(\"#input\").placeholder = \"格式化失败！！！请检查是否为带html标签的文本\"\n        } else {\n            var html = \"\";\n            for (let i = 0; i < list.length; i++) {\n                let text = list[i].innerText;\n                let href = list[i].getAttribute(\"href\");\n                html += text + \"::\" + href + \"\\n\"\n            }\n            $(\"#pageclass\").value = html.match(/.*?::(.*?)\\n/)[1];\n            $(\"#input\").value = html\n        }\n    }\n\n    function getInput2() {\n        var str = $(\"#input\").value;\n        var list = parseToDOM(str);\n        if (list.length == 0) {\n            $(\"#input\").placeholder = \"格式化失败！！！请检查是否为带html标签的文本\"\n        } else {\n            var html = [];\n            for (let i = 0; i < list.length; i++) {\n                let text = list[i].innerText;\n                let href = list[i].getAttribute(\"href\");\n                html.push({\n                    title: text,\n                    url: href\n                })\n            }\n            $(\"#input\").value = JSON.stringify(html)\n        }\n    }\n\n    function getInput3() {\n        text = $(\"#input\").value;\n        if (text.match(/\\&\\&|::/g)) {\n            text = text.replace(/\\&\\&/g, '\\n');\n            list = text.match(/.*::.*/g);\n            html = [];\n            for (i = 0; i < list.length; i++) {\n                l = list[i].match(/(.*)::(.*)/);\n                title = l[1];\n                url = l[2]\n                html.push({\n                    title: title,\n                    url: url\n                })\n            }\n            $(\"#input\").value = JSON.stringify(html)\n        } else {\n            html = \"\";\n            json = eval(text);\n            for (i in json) {\n                html += json[i].title + \"::\" + json[i].url + \"\\n\"\n            }\n            $(\"#input\").value = html\n        }\n    }\n\n    function getInput4(flag, x) {\n        text = $(\"#input\").value;\n        if (flag == 1) {\n            json = JSON.parse(text);\n            for (i in json) {\n                json[i].style = {}\n                json[i].style.layout_flexGrow = 1\n            }\n        } else if (flag == 2) {\n            data = {\n                1: 1,\n                2: 0.4,\n                3: 0.25,\n                4: 0.2\n            }\n            json = JSON.parse(text);\n            for (i in json) {\n                json[i].style.layout_flexBasisPercent = data[x]\n            }\n        }\n        $(\"#input\").value = JSON.stringify(json)\n    }\n\n    function setVisible(idElement, visible) {\n        var obj = document.getElementById(idElement);\n        obj.style.visibility = visible ? \"visible\" : \"hidden\";\n    }\n\n    function isValidFields() {\n        var textSour = document.getElementById(\"textSour\");\n        if (null == textSour.value || textSour.value.length < 1) {\n            textSour.focus();\n            JsonsMessageBox($(\"#textSour\"), \"请输入待匹配文本\");\n            return false;\n        }\n        var textPattern = document.getElementById(\"textPattern\");\n        if (null == textPattern.value || textPattern.value.length < 1) {\n            textPattern.focus();\n            JsonsMessageBox($(\"#textPattern\"), \"请输入正则表达式\");\n            return false;\n        }\n        return true;\n    }\n\n    function buildRegex() {\n        var op = \"\";\n        if (document.getElementById(\"optionGlobal\").checked) op = \"g\";\n        if (document.getElementById(\"optionIgnoreCase\").checked) op = op + \"i\";\n        return new RegExp(document.getElementById(\"textPattern\").value, op);\n    }\n\n    function onMatch() {\n        if (!isValidFields()) return false;\n        document.getElementById(\"textMatchResult\").value = \"\";\n        var regex = buildRegex();\n        var result = document.getElementById(\"textSour\").value.match(regex);\n        if (null == result || 0 == result.length) {\n            document.getElementById(\"textMatchResult\").value = \"（没有匹配）\";\n            return false;\n        }\n        if (document.getElementById(\"optionGlobal\").checked) {\n            var re = \"\";\n            var strResult = \"共找到 \" + result.length + \" 处匹配：\\r\\n\";\n            document.getElementById(\"textResult\").innerText = strResult;\n            for (var i = 0; i < result.length; ++i) {\n                re += result[i] + \"\\r\\n\";\n            }\n            document.getElementById(\"textMatchResult\").value = re;\n        } else {\n            document.getElementById(\"textMatchResult\").value = \"匹配位置：\" + regex.lastIndex + \"\\r\\n匹配结果：\" + result[0];\n        }\n        return true;\n    }\n\n    function onReplace() {\n        var str = document.getElementById(\"textSour\").value;\n        var regex = buildRegex();\n        document.getElementById(\"textReplaceResult\").value = str.replace(regex, document.getElementById(\"textReplace\").value);\n    }\n\n    function reset() {\n        $(\"#textSour\").value = \"\";\n        $(\"#textPattern\").value = \"\";\n        $(\"#textMatchResult\").value = \"\";\n        $(\"#textReplace\").value = \"\";\n        $(\"#textReplaceResult\").value = \"\";\n    }\n    $(\"#regCommon a\").click(function() {\n        $(\"#textPattern\").val($(this).attr(\"t\"));\n        onMatch();\n    });\n\n    function Empty() {\n        $(\"#textSour\").value = \"\";\n        $(\"#textMatchResult\").value = \"\";\n        $(\"#textReplace\").value = \"\";\n        $(\"#textReplaceResult\").value = \"\";\n        $(\"#textSour\").select();\n    }\n    \n\n// 格式方法\n// 公共方法\nfunction transitionJsonToString (jsonObj, callback) {\n\t// 转换后的jsonObj受体对象\n\tvar _jsonObj = null;\n\t// 判断传入的jsonObj对象是不是字符串，如果是字符串需要先转换为对象，再转换为字符串，这样做是为了保证转换后的字符串为双引号\n\tif (Object.prototype.toString.call(jsonObj) !== \"[object String]\") {\n\t\ttry {\n\t\t\t_jsonObj = JSON.stringify(jsonObj);\n\t\t} catch (error) {\n\t\t\t// 转换失败错误信息\n\t\t\talert('您传递的json数据格式有误，请核对...');\n\t\t\talert(error);\n\t\t\tcallback(error);\n\t\t}\n\t} else {\n\t\ttry {\n\t\t\tjsonObj = jsonObj.replace(/(\\')/g, '\\\"');\n\t\t\t_jsonObj = JSON.stringify(JSON.parse(jsonObj));\n\t\t} catch (error) {\n\t\t\t// 转换失败错误信息\n\t\t\talert('您传递的json数据格式有误，请核对...');\n\t\t\talert(error);\n\t\t\tcallback(error);\n\t\t}\n\t}\n\treturn _jsonObj;\n}\n// callback为数据格式化错误的时候处理函数\nfunction formatJson (callback) {\n    var jsonObj = $(\"#input\").value;\n\t// 正则表达式匹配规则变量\n\tvar reg = null;\n\t// 转换后的字符串变量\n\tvar formatted = '';\n\t// 换行缩进位数\n\tvar pad = 0;\n\t// 一个tab对应空格位数\n\tvar PADDING = '  ';\n\t// json对象转换为字符串变量\n\tvar jsonString = transitionJsonToString(jsonObj, callback);\n\tif (!jsonString) {\n\t\treturn jsonString;\n\t}\n\t// 存储需要特殊处理的字符串段\n\tvar _index = [];\n\t// 存储需要特殊处理的“再数组中的开始位置变量索引\n\tvar _indexStart = null;\n\t// 存储需要特殊处理的“再数组中的结束位置变量索引\n\tvar _indexEnd = null;\n\t// 将jsonString字符串内容通过\\r\\n符分割成数组\n\tvar jsonArray = [];\n    // 正则匹配到{,}符号则在两边添加回车换行\n\tjsonString = jsonString.replace(/([\\{\\}])/g, '\\r\\n$1\\r\\n');\n\t// 正则匹配到[,]符号则在两边添加回车换行\n\tjsonString = jsonString.replace(/([\\[\\]])/g, '\\r\\n$1\\r\\n');\n\t// 正则匹配到,符号则在两边添加回车换行\n\tjsonString = jsonString.replace(/(\\,)/g, '$1\\r\\n');\n\t// 正则匹配到要超过一行的换行需要改为一行\n\tjsonString = jsonString.replace(/(\\r\\n\\r\\n)/g, '\\r\\n');\n\t// 正则匹配到单独处于一行的,符号时需要去掉换行，将,置于同行\n\tjsonString = jsonString.replace(/\\r\\n\\,/g, ',');\n\t// 特殊处理双引号中的内容\n\tjsonArray = jsonString.split('\\r\\n');\n\tjsonArray.forEach(function (node, index) {\n\t\t// 获取当前字符串段中\"的数量\n\t\tvar num = node.match(/\\\"/g) ? node.match(/\\\"/g).length : 0;\n\t\t// 判断num是否为奇数来确定是否需要特殊处理\n\t\tif (num % 2 && !_indexStart) {\n\t\t\t_indexStart = index\n\t\t}\n\t\tif (num % 2 && _indexStart && _indexStart != index) {\n\t\t\t_indexEnd = index\n\t\t}\n\t\t// 将需要特殊处理的字符串段的其实位置和结束位置信息存入，并对应重置开始时和结束变量\n\t\tif (_indexStart && _indexEnd) {\n\t\t\t_index.push({\n\t\t\t\tstart: _indexStart,\n\t\t\t\tend: _indexEnd\n\t\t\t})\n\t\t\t_indexStart = null\n\t\t\t_indexEnd = null\n\t\t}\n\t})\n\t// 开始处理双引号中的内容，将多余的\"去除\n\t_index.reverse().forEach(function (item, index) {\n\t\tvar newArray = jsonArray.slice(item.start, item.end + 1)\n\t\tjsonArray.splice(item.start, item.end + 1 - item.start, newArray.join(''))\n\t})\n\t// 奖处理后的数组通过\\r\\n连接符重组为字符串\n\tjsonString = jsonArray.join('\\r\\n');\n\t// 将匹配到:后为回车换行加大括号替换为冒号加大括号\n\tjsonString = jsonString.replace(/\\:\\r\\n\\{/g, ':{');\n\t// 将匹配到:后为回车换行加中括号替换为冒号加中括号\n\tjsonString = jsonString.replace(/\\:\\r\\n\\[/g, ':[');\n\t// 将上述转换后的字符串再次以\\r\\n分割成数组\n\tjsonArray = jsonString.split('\\r\\n');\n    // 将转换完成的字符串根据PADDING值来组合成最终的形态\n    jsonArray.forEach(function (item, index) {\n\t\tconsole.log(item)\n    \tvar i = 0;\n    \t// 表示缩进的位数，以tab作为计数单位\n\t\tvar indent = 0;\n\t\t// 表示缩进的位数，以空格作为计数单位\n\t\tvar padding = '';\n\t\tif (item.match(/\\{$/) || item.match(/\\[$/)) {\n\t\t\t// 匹配到以{和[结尾的时候indent加1\n\t\t\tindent += 1\n\t\t} else if (item.match(/\\}$/) || item.match(/\\]$/) || item.match(/\\},$/) || item.match(/\\],$/)) {\n\t\t\t// 匹配到以}和]结尾的时候indent减1\n\t\t\tif (pad !== 0) {\n\t\t\t\tpad -= 1\n\t\t\t}\n        } else {\n            indent = 0\n        }\n        for (i = 0; i < pad; i++) {\n            padding += PADDING\n        }\n        formatted += padding + item + '\\r\\n'\n\t\tpad += indent\n   \t})\n\t// 返回的数据需要去除两边的空格\n\t$(\"#input\").value = formatted.trim();\n\t\n}\n  \n\n</script>\n❗️0、1、结束❗️\n\n{{}}\n——————分割线————————\n<js>\nindex='{{$.index}}';\nif(index.match(/\\d+、\\d+、/)){\nreg=eval('/❗️'+index+'开始❗️[\\\\s\\\\S]+?❗️'+index+'结束❗️/g');\nreg2=eval('/❗️'+index+'..❗️/g');\nresult=result.match(reg)?result.match(reg)[0]:'<br/>'\nresult.replace(reg2,'')}else{result=''}\n</js>",
    "ruleImage": "$.src",
    "ruleLink": "$.index",
    "rulePubDate": "$.intro",
    "ruleTitle": "$.text",
    "singleUrl": false,
    "sortUrl": "@js:\nvar input = String(source.sourceComment);\nvar lines = input.split('\\n');\nvar result = [];\nvar groupName = '';\nvar content = '';\n\nfor (var i = 0; i < lines.length; i++) {\n    var line = lines[i].trim();\n    if (line === '') continue;\n\n    // 如果以 ◎ 开头，则是分组名\n    if (line.startsWith('◎')) {\n        // 如果当前分组名和内容已存在，保存上一个分组\n        if (groupName && content) {\n            var encodedContent = java.base64Encode(content); // 使用 java.base64Encode\n            result.push(`${groupName}::data:;base64,${encodedContent},{\"type\":\"\"}`);\n        }\n        groupName = line.slice(1, -1).trim(); // 去掉 ◎，设置新的分组名\n        content = ''; // 重置内容\n    } else if (line.startsWith('【')) {\n        // 如果以 【 开头，则是内容的一部分\n        content += line + '\\n';\n    }\n}\n\n// 保存最后一个分组\nif (groupName && content) {\n    var encodedContent = java.base64Encode(content); // 使用 java.base64Encode\n    result.push(`${groupName}::data:;base64,${encodedContent},{\"type\":\"\"}`);\n}\n\nresult.join(\"\\n\")",
    "sourceComment": "◎我的常用◎\n【0、3、】《📝 | 一键导入》『洛娅橙一键导入【本地html】』\n【0、2、】《📝 | 预览调试》『html网页预览调试【本地html】』\n\n【0、1、】《📝 | 发现规则》『发现一键生成 | 正则替换【本地html】』\n【https://legado.miaogongzi.net/legado/dy.html】《📝 | 喵公子》『阅读相关』\n【https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzIzMTc0NzE1MQ==&action=getalbum&album_id=1429936613618188289&scene=126#wechat_redirect】《📖 | 阅读教程》『阅读公众号』\n【https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzIzMTc0NzE1MQ==&action=getalbum&album_id=1337256947799916544&scene=126#wechat_redirect】《📖 | 阅读资源》\n【http://www.yckceo.vip】《常用 | 源仓库》『源仓库发布页』\n【https://www.jianguoyun.com】《必备 | 坚果云》『用来云备份』\n【http://mail.qq.com】《登录 | QQ邮箱》\n【http://gitee.com】《登录 | Gitee》\n◎在线工具◎\n【http://www.jsons.cn/reg/】《🛠️ | 正则替换》\n【https://netcut.cn】《🛠️ | 网络剪切板》\n【https://www.dejs.vip/2obfuscator】《🛠️ | DesJs》『Js反混淆 | Js格式化』\n【https://www.51shizhi.com/tool/js-anti-obfuscate-io】《🛠️ | obfuscator.io反混淆》『Js反混淆 | Js格式化』\n【https://tool.lu/】《🛠️ | 工具箱》\n【https://ol.woobx.cn】《🛠️ | 一个木函》\n【https://uutool.cn】《🛠️ | UU在线》\n【http://24mail.chacuo.net】《📱 | 临时邮箱》\n【https://rootsh.com/】《📱 | 十分钟邮箱》\n【https://ykjtb.com/c】《🛠️ | 一块剪切板》\n【https://note.ms】《🛠️ | note剪切板》\n◎教程资料◎\n【https://celetor.github.io/teachme】《📖 | 阅读3.0书源规则》『官方书源规则』\n【https://www.w3school.com.cn】《📕 | W3school》『web相关学习 | html、css、js』\n【https://jsoup.org/apidocs/org/jsoup/select/Selector.html】《📕 | Jsoup Selector》『类似CSS选择器 | 阅读可以用的语法@css:开头』\n【https://www.cnblogs.com/wynjauu/articles/9556396.html】《📕 | JsonPath教程》『阅读可以用的语法 @json:或 $.开头』\n【https://www.runoob.com/xpath/xpath-syntax.html】《📕 | XPath相关》『阅读可以用的语法 @XPath:或 //开头』\n【https://www.bilibili.com/video/BV1z56iY6EB8?p=4】《📕 | Js基础语法参考视频》『P4-P27为Js语法，也就是2-01至6-04』\n【https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Guide/Grammar_and_types】《📕 | JavaScript指南》『Js语法』",
    "sourceGroup": "工具,R18",
    "sourceIcon": "/storage/emulated/0/YueDu3.0/Hr.png",
    "sourceName": "网站整合",
    "sourceUrl": "guaner写源工具整合",
    "variableComment": "◎分类1◎\n【序号或链接】《列表名称》@图片链接@『简介』\n------------------\n◎分类2◎\n【序号或链接】《列表名称》@图片链接@『简介』\n❗️0、2、开始❗️\n\n❗️0、2、结束❗️"
  },
  {
    "articleStyle": 1,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": ".leftp",
    "ruleContent": "@js: \n   let pics=java.getString('.mainleft@img@data-original');   \n   let p=String(pics).split(\"\\n\").map(i=>`<img src=\"${i}\">`).join(\"\\n\");\n   p;",
    "ruleImage": "img@data-original",
    "ruleLink": "a.0@href",
    "ruleNextPage": "text.next@href",
    "ruleTitle": "p@a@text",
    "singleUrl": false,
    "sortUrl": "搜索::/search.php?keyword={{source.getVariable()}}&page={{page}}\nGravure::/Gravure.html\nJapan::/Japan.html\nKorea::/Korea.html\nThailand::/Thailand.html\nChinese::/Chinese.html\nCosplay::/Cosplay.html",
    "sourceComment": "//2025.5.17  夜明空 制作\n\n//源社区首发：https://taoba.cf\n\n//源变量搜索",
    "sourceGroup": "1,R18",
    "sourceIcon": "EveriaClub",
    "sourceName": "eve",
    "sourceUrl": "http://www.everiaclub.com/"
  },
  {
    "articleStyle": 2,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 1679997230192,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.thcovering-video",
    "ruleContent": "<js>\nhtml = result\n//总页数-1(最后一页没有图\nn=java.getString('tag.h2.2@text')\njava.log(n)\nspliceLength2 = n.lastIndexOf(\"/\")\npage = n.slice(spliceLength2 + 1)\n\njava.log(\"共\"+page+\"页\")\nif(page>1){\nnurl=[];\nbase=baseUrl;\nfor(i=2;i<=page;i++){\n\tnurl.push(base+\"?page=\"+i+\",{'retry':16}\");\n}\n\nres=java.ajaxAll(nurl)\nfor(i in res){\n\thtml += org.jsoup.Jsoup.parse(res[i].body())\n}\n}\n</js>\n\nclass.contentme@tag.img@src##\\n##,\n\n<js>\nli='\\n'\nlist=result.split(',')\nfor(i in list){\n\t\tli += '<li><img src=\"https://i0.wp.com/www.4khd.com/wp-content/uploads/2023/02/4khd-1.png?fit=32%2C32&ssl=1\" data-src=\"'+list[i]+'\"></li>\\n'\n\t}\n\n</js>\n\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\">\n\n\n<ul id=\"box\">\n{{result}}\n</ul>\n<h3>{{@@tag.h3.0@text}}</h3>\n<link rel=\"stylesheet\" href=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.css\">\n<script src=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.js\"></script>\n<script>\n\n\troot = document.getElementById('box')\n\tlazy = new IntersectionObserver(entires => {\n\t\tentires.forEach(item => {\n\t\t\tif(item.isIntersecting){\n\t\t\t\titem=item.target\n\t\t\t\titem.src=item.getAttribute('data-src')\n\t\t\t\tlazy.unobserve(item)\n\t\t\t}\n\t\t})\n\t}, {\n\t\troot: root,\n\t\tthreshold: [0],\n\t\trootMargin:\"0px 0px 500px 0px\"\n\t})\n\nimgs = document.getElementsByTagName('img')\nArray.from(imgs).forEach(item => {\n\t\tlazy.observe(item)\n\t})\n\n//查看大图插件\nnew Viewer(root,{title:false,interval:3000})\n</script>",
    "ruleImage": "class.xld@src",
    "ruleLink": "tag.a@href",
    "ruleNextPage": "page",
    "ruleTitle": "tag.a@title",
    "singleUrl": false,
    "sortUrl": "最新::https://www.kaizty.com/?page={{page}}\n最热::https://www.kaizty.com/hot?page={{page}}",
    "sourceGroup": "图片,R18",
    "sourceIcon": "https://www.kaizty.com/privid2/logo.png",
    "sourceName": "xkorean",
    "sourceUrl": "https://www.kaizty.com",
    "style": "* {\n\tmargin: 0;\n\tpadding: 0\n}\nul {\n\tfont-size: 0;\n\theight: 100%;\n\toverflow-y: scroll\n}\nli {\n\tlist-style: none;\n\ttext-align: center\n}\nimg {\n\twidth: 100%;\n\theight: auto\n}"
  },
  {
    "articleStyle": 0,
    "customOrder": 0,
    "enableJs": true,
    "enabled": false,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": ".col-inner",
    "ruleContent": "blockquote,iframe,#gallery-1@html##</?a.*?>",
    "ruleImage": "img@src",
    "ruleLink": "a@href",
    "ruleNextPage": "a[aria-label=\"Next\"]@href",
    "ruleTitle": "h5@text",
    "shouldOverrideUrlLoading": "if (!/bisniscpm.asia/.test(url)) {\n    java.openUrl(url);\n    true;\n}",
    "singleUrl": false,
    "sortUrl": "Video Cosplay::https://cosplaytele.com/category/video-cosplay/\n\nCosplay Nude::https://cosplaytele.com/category/nude/\nCosplay Ero::https://cosplaytele.com/category/no-nude/\nCosplay::https://cosplaytele.com/category/cosplay/\n\n24 hours::https://cosplaytele.com/24-hours/\n3 day::https://cosplaytele.com/3-day/\n7 Day::https://cosplaytele.com/7-day/\nLive Sex Cams::https://shorturl.at/bIMCS\nUncensored JavHD::https://r.trwl1.com/c1/3a7c0a31-16c1-4983-add6-a8758b7c30d1",
    "sourceGroup": "R18",
    "sourceIcon": "https://cosplaytele.com/wp-content/uploads/2024/01/293172358_1027749337945791_5526464405172981062_n.png",
    "sourceName": "cosplaytele",
    "sourceUrl": "https://cosplaytele.com/",
    "style": "input[readonly] {\n    display: none;\n  }\n  /* 文本 */\nblockquote {\n\twidth: 90% !important;\n  margin: 0 auto;\n  padding: 5%;\n  color: #fff;\n  background-color: #333;\n  border-radius: 8px;\n  line-height: 1.5;\n}\n/* 视频 */\niframe[src*=\"cossora.stream\"] {\n  width: 100% !important;\n  height: auto;\n  aspect-ratio: 720/300; /* 保持原始比例 */\n  max-width: 720px;\n  display: block;\n  margin: 10px auto;\n}\n/* 图片 */\n#gallery-1.gallery {\n  column-count: 3 !important;\n  column-gap: 8px !important;\n  display: block !important;\n  margin: 0 -4px !important;\n}\n.gallery-item {\n  display: inline-block !important;\n  width: 100% !important;\n  margin: 0 0 8px !important;\n  break-inside: avoid;\n}\nimg {\n  width: 100% !important;\n  height: auto !important;\n  max-width: 100% !important;\n  border-radius: 8px;\n  vertical-align: middle;\n}"
  },
  {
    "articleStyle": 0,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Mobile Safari/537.36 EdgA/138.0.0.0",
    "injectJs": "$(document).ready(function(){\n    $(\".text-center\").remove();\n    $(\"iframe\").remove();\n    $(\"script\").eq(12).text(\"\");\n    $(\"div.root--ujvuu\").remove();\n});",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceComment": "（挂梯使用）",
    "sourceGroup": "成人视频,R18",
    "sourceIcon": "https://assets-cdn.jable.tv/assets/icon/favicon-32x32.png",
    "sourceName": "Jable",
    "sourceUrl": "https://jable.tv/?lang=zh"
  },
  {
    "articleStyle": 1,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "article",
    "ruleContent": ".Content@img@src\n<js>\nli='\\n'\nlist=result.split('\\n')\nfor(i in list){\n\t\tli += '<li><img src=\"https://i01piccdn.sogoucdn.com/b9e03099a48fd4ad\" data-src=\"'+list[i]+'\"></li>\\n'\n\t}\nli\n</js>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\">\n\n\n<ul id=\"box\">\n{{result}}\n</ul>\n\n\n<link rel=\"stylesheet\" href=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.css\">\n<script src=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.js\"></script>\n<script>\n\troot = document.getElementById('box')\n\tlazy = new IntersectionObserver(entires => {\n\t\tentires.forEach(item => {\n\t\t\tif(item.isIntersecting){\n\t\t\t\titem=item.target\n\t\t\t\titem.src=item.getAttribute('data-src')\n\t\t\t\tlazy.unobserve(item)\n\t\t\t}\n\t\t})\n\t}, {\n\t\troot: root,\n\t\tthreshold: [0],\n\t\trootMargin:\"0px 0px 500px 0px\"\n\t})\n\nimgs = document.getElementsByTagName('img')\nArray.from(imgs).forEach(item => {\n\t\tlazy.observe(item)\n\t})\n\n//查看大图插件\nnew Viewer(root,{title:false,interval:3000})\n</script>",
    "ruleImage": "img@src",
    "ruleLink": "a@href",
    "ruleNextPage": ".pagelist@a@href",
    "ruleTitle": "h2@text",
    "singleUrl": false,
    "sortUrl": "首页::/\n肉丝 ::/tags-rousi-9sw.html\n黑丝 ::/tags-heisi-z2n.html\n白丝 ::/tags-baisi-v9l.html\n灰丝 ::/tags-huisi-z20.html\n咖丝 ::/tags-kasi-um6.html\n网袜 ::/tags-wangwa-18v.html",
    "sourceComment": "专注分享高清无水印的丝袜写真",
    "sourceGroup": "R18",
    "sourceIcon": "https://rrx1.com/a/cache1646/357/35708.jpg",
    "sourceName": "丝袜客.MU",
    "sourceUrl": "https://siwake.cc/",
    "style": "* {\n\tmargin: 0;\n\tpadding: 0\n}\nul {\n\tfont-size: 0;\n\theight: 100%;\n\toverflow-y: scroll\n}\nli {\n\tlist-style: none;\n\ttext-align: center\n}\nimg {\n\twidth: 98%;\n\theight: auto;\n\tpadding: 1% 1% 0 1%\n}"
  },
  {
    "articleStyle": 1,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\n\t\"User-Agent\":\"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Mobile Safari/537.36\"\n}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "article",
    "ruleContent": "video@source@src\n<js>\nresult;\n</js>\n\n<!DOCTYPE html>\n<html>\n<head>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <style>\n        body {\n            margin: 0;\n            background: white;\n            overflow-x: hidden;\n        }\n        #videoContainer {\n            width: 100%;\n            position: relative;\n            padding-top: 56.25%;\n            background: #000;\n        }\n        #video {\n            position: absolute;\n            top: 0;\n            left: 0;\n            width: 100%;\n            height: 100%;\n        }\n        #seekInfo {\n            position: absolute;\n            top: 50%;\n            left: 50%;\n            transform: translate(-50%, -50%);\n            background: rgba(0,0,0,0.7);\n            color: white;\n            padding: 10px 20px;\n            border-radius: 5px;\n            display: none;\n            font-size: 18px;\n            pointer-events: none;\n        }\n        .controls {\n            position: absolute;\n            bottom: 0;\n            width: 100%;\n            background: rgba(0,0,0,0.7);\n            padding: 10px;\n            box-sizing: border-box;\n            opacity: 1;\n            transition: opacity 0.3s;\n        }\n        #progressBar {\n            height: 8px;\n            background: #555;\n            margin-bottom: 10px;\n            cursor: pointer;\n        }\n        #progress {\n            height: 100%;\n            background: #2196F3;\n            width: 0;\n            transition: width 0.2s;\n        }\n        button {\n            font-size: 14px;\n            padding: 8px 15px;\n            margin: 0 5px;\n            border: none;\n            border-radius: 3px;\n        }\n        #fullEpisode {\n            background: blue;\n            color: black;\n            padding: 12px 25px;\n            margin: 15px 0 15px 15px;\n            display: inline-block;\n        }\n        .time {\n            color: white;\n            font-size: 14px;\n            margin: 0 10px;\n        }\n        :-webkit-full-screen #videoContainer {\n            width: 100% !important;\n            height: 100% !important;\n            padding-top: 0;\n        }\n    </style>\n</head>\n<body>\n    <div id=\"videoContainer\">\n        <video id=\"video\" src=\"你的播放链接\"></video>\n        <div id=\"seekInfo\">[⏩︎ 00:00 / +0s]</div>\n        <div class=\"controls\">\n            <div id=\"progressBar\">\n                <div id=\"progress\"></div>\n            </div>\n            <div style=\"display: flex; align-items: center; justify-content: space-between;\">\n                <button id=\"playBtn\">播放</button>\n                <span class=\"time\" id=\"currentTime\">00:00</span>\n                <span class=\"time\" id=\"duration\">00:00</span>\n                <button id=\"fullscreenBtn\">全屏</button>\n            </div>\n        </div>\n    </div>\n    <button id=\"fullEpisode\">全一集</button>\n\n    <script>\n    //替换成播放链接\n        const p = \"{{result}}\";\n        \n        const video = document.getElementById('video');\n        const seekInfo = document.getElementById('seekInfo');\n        const videoContainer = document.getElementById('videoContainer');\n        video.src = p;\n\n        let isScrubbing = false;\n        let startX = 0;\n        let controlsTimeout;\n\n        function formatTime(seconds) {\n            const min = Math.floor(seconds / 60);\n            const sec = Math.floor(seconds % 60);\n            return `${min}:${sec.toString().padStart(2, '0')}`;\n        }\n\n        // 播放控制\n        document.getElementById('playBtn').addEventListener('click', () => {\n            video[video.paused ? 'play' : 'pause']();\n            playBtn.textContent = video.paused ? '播放' : '暂停';\n        });\n\n        // 进度更新\n        video.addEventListener('timeupdate', () => {\n            document.getElementById('progress').style.width = \n                (video.currentTime / video.duration * 100) + '%';\n            document.getElementById('currentTime').textContent = \n                formatTime(video.currentTime);\n        });\n\n        // 进度跳转\n        document.getElementById('progressBar').addEventListener('click', (e) => {\n            const rect = e.target.getBoundingClientRect();\n            const pos = (e.clientX - rect.left) / rect.width;\n            video.currentTime = pos * video.duration;\n        });\n\n        // 全屏控制\n        document.getElementById('fullscreenBtn').addEventListener('click', () => {\n            if (!document.fullscreenElement) {\n                videoContainer.requestFullscreen();\n            } else {\n                document.exitFullscreen();\n            }\n        });\n\n        // 智能触摸控制\n        videoContainer.addEventListener('touchstart', (e) => {\n            startX = e.touches[0].clientX;\n            isScrubbing = false;\n            seekInfo.style.display = 'block';\n        });\n\n        videoContainer.addEventListener('touchmove', (e) => {\n            const currentX = e.touches[0].clientX;\n            const diff = currentX - startX;\n            \n            if (Math.abs(diff) > 5) { // 5px防误触阈值\n                isScrubbing = true;\n                const seekSeconds = Math.floor(diff / 10);\n                const newTime = video.currentTime + seekSeconds;\n                seekInfo.textContent = `${seekSeconds > 0 ? '⏩︎' : '⏪︎'} ${formatTime(newTime)} / ${Math.abs(seekSeconds)}s`;\n                e.preventDefault(); // 阻止默认滚动行为\n            }\n        });\n\n        videoContainer.addEventListener('touchend', (e) => {\n            if (isScrubbing) {\n                const endX = e.changedTouches[0].clientX;\n                const diff = endX - startX;\n                const seekSeconds = Math.floor(diff / 10);\n                video.currentTime += seekSeconds;\n            } else {\n                toggleControls();\n            }\n            seekInfo.style.display = 'none';\n            isScrubbing = false;\n        });\n\n        // 点击控制栏显示\n        function toggleControls() {\n            const controls = document.querySelector('.controls');\n            controls.style.opacity = controls.style.opacity === '0' ? '1' : '0';\n            clearTimeout(controlsTimeout);\n            if (controls.style.opacity === '1') {\n                controlsTimeout = setTimeout(() => controls.style.opacity = '0', 3000);\n            }\n        }\n\n        // 单击控制（非触摸操作）\n        videoContainer.addEventListener('click', (e) => {\n            if (e.pointerType === 'mouse') { // 仅处理鼠标点击\n                toggleControls();\n            }\n        });\n\n        // 全一集按钮\n        document.getElementById('fullEpisode').addEventListener('click', () => {\n            video[video.paused ? 'play' : 'pause']();\n        });\n\n        // 初始化\n        video.addEventListener('loadedmetadata', () => {\n            document.getElementById('duration').textContent = formatTime(video.duration);\n        });\n    </script>\n</body>\n</html>",
    "ruleImage": "img@src",
    "ruleLink": "a@href",
    "ruleNextPage": "@js:\nif(String(baseUrl).includes(\"page\") == false)\n{\n  baseUrl = baseUrl + `/page/\\{\\{page\\}\\}`;\n}\nelse\n{\n  baseUrl;\n}",
    "ruleTitle": "a@text",
    "singleUrl": false,
    "sortUrl": "国产自拍::/link/国产自拍\n中文字幕::/vbssf/中文字幕\n国产情色::/link/国产情色\n强奸乱伦::/link/强奸乱伦\n日本有码::/link/日本有码\n日本无码::/link/日本无码\n国产精品::/link/国产精品\n美女主播::/link/美女主播\n有码精品::/link/有码精品\n欧美精品::/link/欧美精品\n制服诱惑::/link/制服诱惑\n国产视频::/link/国产视频\n自己动手复制：\n亚洲有码::/link/亚洲有码\n国产主播::/link/国产主播\n成人动漫::/link/成人动漫\n自拍偷拍::/link/自拍偷拍\nAV明星::/link/av明星\n巨乳美乳::/link/巨乳美乳\n抖阴视频::/link/抖阴视频\n亚洲情色::/link/亚洲情色\n欧美极品::/link/欧美极品\n日韩无码::/link/日韩无码\n少女萝莉::/link/少女萝莉\n欧美情色::/link/欧美情色\n动漫精品::/link/动漫精品\n无码典藏::/link/无码典藏\n有码::/link/有码\n无码专区::/link/无码专区\n女同性恋::/link/女同性恋\n中出::/link/中出\n日本AV::/link/日本av\n日本伦理::/link/日本伦理\n熟女人妻::/link/熟女人妻\n萝莉少女::/link/萝莉少女\n国产专区::/link/国产专区\n网红主播::/link/网红主播\n女优明星::/link/女优明星\n91探花::/link/91探花\n国产伦理::/link/国产伦理\n抖阴短片::/link/抖阴短片\n亚洲无码::/link/亚洲无码\n精品推荐::/link/精品推荐\n韩国伦理::/link/韩国伦理\n国产传媒::/link/国产传媒\n人妻熟女::/link/人妻熟女\n主播直播::/link/主播直播\n卡通动漫::/link/卡通动漫\n三级伦理::/link/三级伦理\n其他亚洲视频::/link/其他亚洲视频\n邻家人妻::/link/邻家人妻\n制服丝袜::/link/制服丝袜\n童颜巨乳::/link/童颜巨乳\n性感人妻::/link/性感人妻\n欧美专区::/link/欧美专区\n无码::/link/无码\n口交颜射::/link/口交颜射\n日韩精品::/link/日韩精品\n麻豆传媒::/link/麻豆传媒\n福利姬::/link/福利姬\n大秀视频::/link/大秀视频\nAV解说::/link/av解说\n国产乱伦::/link/国产乱伦\nSM调教::/link/sm调教\n美乳巨乳::/link/美乳巨乳\n巨乳系列::/link/巨乳系列\n长腿丝袜::/link/长腿丝袜\n欧美伦理::/link/欧美伦理\n映画传媒::/link/映画传媒\nSWAG::/link/swag\n国产探花::/link/国产探花\n乱伦无码::/link/乱伦无码\n绝美少女::/link/绝美少女\n激情口交::/link/激情口交\n国模私拍::/link/国模私拍\n激情动漫::/link/激情动漫\n口交视频::/link/口交视频\n日本精品::/link/日本精品\n网红头条::/link/网红头条\n丝袜OL::/link/丝袜ol\n女神学生::/link/女神学生\n角色扮演::/link/角色扮演\n人妻系列::/link/人妻系列\n重口色情::/link/重口色情\n欧美性爱::/link/欧美性爱\ncosplay::/link/cosplay\n步兵无码::/link/步兵无码\n国产色情::/link/国产色情\n高清无码::/link/高清无码\n多人群交::/link/多人群交\n探花系列::/link/探花系列\n网曝门::/link/网曝门\n国产名人::/link/国产名人\n强奸无码::/link/强奸无码\n卡通动画::/link/卡通动画\n人妻无码::/link/人妻无码\nVR视角::/link/vr视角\n制服无码::/link/制服无码\n韩国极品主播::/link/韩国极品主播\n女同性爱::/link/女同性爱\n高潮喷吹::/link/高潮喷吹\n娇妻素人::/link/娇妻素人\n日本片商::/link/日本片商\n伦理三级::/link/伦理三级\n明星换脸::/link/明星换脸\n网曝黑料::/link/网曝黑料\n口交::/link/口交\n美熟少妇::/link/美熟少妇\n网曝门事件::/link/网曝门事件\n欧美无码::/link/欧美无码\nSM重味::/link/sm重味\n韩国主播::/link/韩国主播\n职场同事::/link/职场同事\n偷拍偷窥::/link/偷拍偷窥\n自慰群交::/link/自慰群交\n探花约炮::/link/探花约炮\n传媒剧情::/link/传媒剧情\n独家DMM::/link/独家dmm\n共享女优::/link/共享女优\n欧美系列::/link/欧美系列\n韩国明星学生::/link/韩国明星学生\n网红流出::/link/网红流出\n女优系列::/link/女优系列\n巨乳无码::/link/巨乳无码\n欧美刺激::/link/欧美刺激\n网曝吃瓜::/link/网曝吃瓜\n主播诱惑::/link/主播诱惑\n空姐模特::/link/空姐模特\nUnknown::/link/unknown\n三级字幕::/link/三级字幕\n黑丝诱惑::/link/黑丝诱惑\n香港伦理::/link/香港伦理\n韩国精品::/link/韩国精品\n恋腿狂魔::/link/恋腿狂魔\n传媒精品::/link/传媒精品\n素人自拍::/link/素人自拍\n丝袜美腿::/link/丝袜美腿\n精品动漫::/link/精品动漫\n教师学生::/link/教师学生\nHEY诱惑::/link/hey诱惑\n欺辱凌辱::/link/欺辱凌辱\n换脸明星::/link/换脸明星\n网曝系列::/link/网曝系列\n剧情介绍::/link/剧情介绍\n传媒原创::/link/传媒原创\n其他片商::/link/其他片商\n东南亚AV::/link/东南亚av\nAI换脸::/link/ai换脸\n巨乳::/link/巨乳\n制服师生::/link/制服师生\n偷拍自拍::/link/偷拍自拍\n网爆黑料::/link/网爆黑料\nHEYZO::/link/heyzo\n网红黑料::/link/网红黑料\n街头素人::/link/街头素人\n人妖系列::/link/人妖系列\n精品素人::/link/精品素人\nAV明星1::/link/av明星1\n极骚萝莉::/link/极骚萝莉\n主播秀色::/link/主播秀色\n日本素人::/link/日本素人\n岛国群交::/link/岛国群交\n视频伦理::/link/视频伦理\n3P合辑::/link/3p合辑\n动漫里番::/link/动漫里番\n门事件::/link/门事件\n台湾辣妹::/link/台湾辣妹\n变态另类::/link/变态另类\n闷骚护士::/link/闷骚护士\n日本乱伦::/link/日本乱伦\n绿帽淫妻::/link/绿帽淫妻\n美颜巨乳::/link/美颜巨乳\n韩国御姐::/link/韩国御姐\n唯美港姐::/link/唯美港姐\n素人搭讪::/link/素人搭讪\n动漫卡通::/link/动漫卡通\n重口激情::/link/重口激情\n风情旗袍::/link/风情旗袍\n口爆颜射::/link/口爆颜射\n野外露出::/link/野外露出\n剧情动漫::/link/剧情动漫\n可爱学生::/link/可爱学生\n多人多P::/link/多人多p\n制服黑丝::/link/制服黑丝\n三级自慰::/link/三级自慰\n国产片商::/link/国产片商\n韩国唯美三级::/link/韩国唯美三级\n变态调教::/link/变态调教\n自慰系列::/link/自慰系列\n兽耳系列::/link/兽耳系列\n激情::/link/激情\n短视频::/link/短视频\n人妻制服::/link/人妻制服\n抖音视频::/link/抖音视频\n古装扮演::/link/古装扮演\n瑜伽裤::/link/瑜伽裤\n海外明星::/link/海外明星\n颜射系列::/link/颜射系列\n欧美::/link/欧美\nSM捆绑::/link/sm捆绑\n其他传媒::/link/其他传媒\nTS人妖::/link/ts人妖\n女优合集::/link/女优合集\n极品少妇::/link/极品少妇\n日韩综合::/link/日韩综合\n重咸口味::/link/重咸口味\n欧美激情::/link/欧美激情\n国产女奴调教::/link/国产女奴调教\n高清名优::/link/高清名优\n天美传媒::/link/天美传媒\n传媒出品::/link/传媒出品\n同性女优::/link/同性女优\n非亚洲视频::/link/非亚洲视频\n伦理影片::/link/伦理影片\n高丽棒子::/link/高丽棒子\n日本女优::/link/日本女优\n糖心Vlog::/link/糖心vlog\n日韩主播::/link/日韩主播\n首次亮相::/link/首次亮相\n网红女神::/link/网红女神\n后入::/link/后入\n明星偶像::/link/明星偶像\n主播视讯::/link/主播视讯\n中国传媒::/link/中国传媒\n乱伦背德::/link/乱伦背德\n国产丝袜::/link/国产丝袜\n舔阴::/link/舔阴\n91国产::/link/91国产\n兔子先生::/link/兔子先生\n精东影业::/link/精东影业\n国产女王调教::/link/国产女王调教\n探花嫖娼::/link/探花嫖娼\n国产人妻::/link/国产人妻\n同性恋::/link/同性恋\n明星淫梦::/link/明星淫梦\n岛国素人::/link/岛国素人\n国产SM::/link/国产sm\n绿帽偷情::/link/绿帽偷情\n极品媚黑::/link/极品媚黑\n貧乳小奶::/link/貧乳小奶\n嫩模专区::/link/嫩模专区\n翹臀美尻::/link/翹臀美尻\n性世界::/link/性世界\n美少女::/link/美少女\n杏吧传媒::/link/杏吧传媒\n果冻传媒::/link/果冻传媒\n星空无限::/link/星空无限\n香港三级::/link/香港三级\n人妖视频::/link/人妖视频\nJVID::/link/jvid\n美腿::/link/美腿\n野合车震::/link/野合车震\n学生系列::/link/学生系列\nSA国际传媒::/link/sa国际传媒",
    "sourceGroup": "😋,R18",
    "sourceIcon": "https://bb.j88tv.com/wp-content/uploads/2024/03/cropped-Screenshot-from-2024-03-02-10-42-19-32x32.png",
    "sourceName": "在线影院",
    "sourceUrl": "https://bb.j88tv.com/"
  },
  {
    "articleStyle": 2,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "ul@li",
    "ruleContent": "<js>\r\nhtml = result\r\n//总页数-1(最后一页没有图\r\npage = parseInt(java.getString('class.numpages.-1@tag.a@text'))\r\njava.log(\"共\"+page+\"页\")\r\nif(page>1){\r\nnurl=[];\nbase=baseUrl;\r\nfor(i=2;i<=page;i++){\r\n\tnurl.push(base+\"/\"+i+\",{'retry':16}\");\r\n}\r\n\r\nres=java.ajaxAll(nurl)\r\nfor(i in res){\r\n\thtml += org.jsoup.Jsoup.parse(res[i].body())\r\n}\r\n}\r\n</js>\r\n\r\ntag.figure@tag.img@src##\\n##,\r\n\r\n<js>\r\nli='\\n'\r\nlist=result.split(',')\r\nfor(i in list){\r\n\t\tli += '<li><img src=\"https://i0.wp.com/www.4khd.com/wp-content/uploads/2023/02/4khd-1.png?fit=32%2C32&ssl=1\" data-src=\"'+list[i]+'\"></li>\\n'\r\n\t}\r\n\r\n</js>\r\n\r\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\">\r\n\r\n\r\n<ul id=\"box\">\r\n{{result}}\r\n</ul>\r\n<h3>{{@@tag.h3.0@text}}</h3>\r\n<link rel=\"stylesheet\" href=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.css\">\r\n<script src=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.js\"></script>\r\n<script>\n\r\n\troot = document.getElementById('box')\r\n\tlazy = new IntersectionObserver(entires => {\r\n\t\tentires.forEach(item => {\r\n\t\t\tif(item.isIntersecting){\r\n\t\t\t\titem=item.target\r\n\t\t\t\titem.src=item.getAttribute('data-src')\r\n\t\t\t\tlazy.unobserve(item)\r\n\t\t\t}\r\n\t\t})\r\n\t}, {\r\n\t\troot: root,\r\n\t\tthreshold: [0],\r\n\t\trootMargin:\"0px 0px 500px 0px\"\r\n\t})\r\n\r\nimgs = document.getElementsByTagName('img')\r\nArray.from(imgs).forEach(item => {\r\n\t\tlazy.observe(item)\r\n\t})\r\n\r\n//查看大图插件\r\nnew Viewer(root,{title:false,interval:3000})\r\n</script>\r\n",
    "ruleImage": "img@src",
    "ruleLink": "figure@a@href",
    "ruleNextPage": "page",
    "rulePubDate": "time@text",
    "ruleTitle": "h2.0@a@text",
    "singleUrl": false,
    "sortUrl": "最新::/{{page - 1 == 0 ? \"\": \"?query-3-page=\"+page}}\n韩国::/pages/album{{page - 1 == 0 ? \"\": \"?query-3-page=\"+page}}\ncospaly::/pages/cosplay{{page - 1 == 0 ? \"\": \"?query-3-page=\"+page}}\ndjawa::/search/djawa/page/{{page}}\n搜索::/search/{{source.getVariable().length()<1?source.setVariable('손예은'):source.getVariable()}}/page/{{page}}",
    "sourceGroup": "图片,R18",
    "sourceIcon": "https://i0.wp.com/www.4khd.com/wp-content/uploads/2023/02/4khd-1.png?fit=32%2C32&ssl=1",
    "sourceName": "4kep",
    "sourceUrl": "https://www.4khd.com/",
    "style": "/*标题相关*/\nh3{text-align:center}\nh6{margin-bottom:0}\n* {\n\tmargin: 0;\n\tpadding: 0\n}\nul {\n\tfont-size: 0;\n\theight: 100%;\n\toverflow-y: scroll\n}\nli {\n\tlist-style: none;\n\ttext-align: center\n}\nimg {\n\twidth: 100%;\n\theight: auto\n}"
  },
  {
    "articleStyle": 1,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\"User-Agent\":\"Mozilla/5.0 (Linux; U; Android 13; zh-Hans-CN; PFJM10 Build/TP1A.220905.001) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/135.0.4896.58 Quark/6.13.6.581 Mobile Safari/537.36\",\"Accept-Language\":\"zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7\"}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginUrl": "https://www.zusi.org",
    "ruleArticles": "div.item>a[href^=\"/play/\"]",
    "ruleContent": "<js>\nvar p = result.match(/<iframe.*src=\"\\/play\\.php\\?url=(.*?)\"/)[1];\nvar pi = java.getString('.title.0@text');\n`<html>\n    <head>\n        <meta name=\"viewport\" content=\"width=device-width\">\n        <style>\n            body {\n                margin: 0;\n                font-family: Arial, sans-serif;\n                background: linear-gradient(135deg, #ece9e6, #ffffff);\n                display: flex;\n                flex-direction: column;\n                align-items: center;\n                justify-content: flex-start;\n                padding: 20px;\n            }\n            .container {\n                width: 100%;\n                max-width: 800px;\n                background: #fff;\n                border-radius: 10px;\n                box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);\n                overflow: hidden;\n                margin-bottom: 20px;\n            }\n            h3 {\n                margin: 0;\n                padding: 10px 20px;\n                font-size: 0.9em;\n                background: #333;\n                color: #fff;\n                border-radius: 10px 10px 0 0;\n            }\n            .video-container {\n                width: 100%;\n                background: #000;\n                position: relative;\n            }\n            video {\n                width: 100%;\n                height: auto;\n                display: block;\n            }\n            .info-container {\n                padding: 20px;\n            }\n            .info-container p {\n                margin: 10px 0;\n                color: #555;\n            }\n            .info-container p span {\n                font-weight: bold;\n                color: #000;\n            }\n        </style>\n    </head>\n    <body>\n        <div class=\"container\">\n        <h3>${pi}</h3>\n            <div class=\"video-container\">\n                <video controls autoplay name=\"media\" id=\"videoPlayer\">\n                    <source src=\"${p}\" type=\"video/mp4\">\n                </video>\n            </div>\n        </div>\n\n        <script>\n            // 获取视频元素\n            const video = document.getElementById('videoPlayer');\n            let touchStartX = 0;\n            let touchStartY = 0;\n            let touchStartTime = 0;\n            let isLongPress = false;\n\n            // 滑动快进\n            video.addEventListener('touchstart', (e) => {\n                touchStartX = e.touches[0].clientX;\n                touchStartY = e.touches[0].clientY;\n                touchStartTime = Date.now();\n                isLongPress = false;\n            });\n\n            video.addEventListener('touchmove', (e) => {\n                const deltaX = e.touches[0].clientX - touchStartX;\n                const deltaY = e.touches[0].clientY - touchStartY;\n\n                // 如果是水平滑动，且未进入长按状态\n                if (Math.abs(deltaX) > Math.abs(deltaY) && !isLongPress) {\n                    const duration = video.duration;\n                    const seekTime = video.currentTime + (deltaX / 100); // 每滑动100px快进1秒\n                    video.currentTime = Math.min(Math.max(seekTime, 0), duration);\n                }\n            });\n\n            // 长按快进\n            video.addEventListener('touchend', (e) => {\n                const touchEndTime = Date.now();\n                const touchDuration = touchEndTime - touchStartTime;\n\n                // 如果长按时间超过500ms，进入长按快进状态\n                if (touchDuration > 500) {\n                    isLongPress = true;\n\n                    // 在长按状态下，根据滑动距离快进\n                    const deltaX = e.changedTouches[0].clientX - touchStartX;\n                    const duration = video.duration;\n                    const seekTime = video.currentTime + (deltaX / 100); // 每滑动100px快进1秒\n                    video.currentTime = Math.min(Math.max(seekTime, 0), duration);\n                } else {\n                    isLongPress = false;\n                }\n            });\n\n            // 防止默认行为（如页面滚动）\n            video.addEventListener('touchmove', (e) => {\n                e.preventDefault();\n            });\n        </script>\n    </body>\n</html>`;\n\n</js>",
    "ruleImage": "img@data-original",
    "ruleLink": "href",
    "ruleNextPage": "page",
    "ruleTitle": "div@text",
    "singleUrl": false,
    "sortUrl": "搜索::/search/?keyword={{source.getVariable()}}&page={{page}}\n网曝门 ::/json.php?page={{page}}&class=1\n国产情色 ::/json.php?page={{page}}&class=2\n抖阴短视频 ::/json.php?page={{page}}&class=3\n日本无码 ::/json.php?page={{page}}&class=4\n亚洲有码 ::/json.php?page={{page}}&class=5\n中文字幕 ::/json.php?page={{page}}&class=6\n欧美情色 ::/json.php?page={{page}}&class=7\n美乳巨乳 ::/json.php?page={{page}}&class=8\n强奸乱伦 ::/json.php?page={{page}}&class=9\n三级伦理 ::/json.php?page={{page}}&class=10\n成人动画 ::/json.php?page={{page}}&class=11\n网红主播 ::/json.php?page={{page}}&class=12\nAI换脸 ::/json.php?page={{page}}&class=13\n海外明星 ::/json.php?page={{page}}&class=14\n制服诱惑 ::/json.php?page={{page}}&class=15\n萝莉少女 ::/json.php?page={{page}}&class=16\nVR视角 ::/json.php?page={{page}}&class=17\nAV解说 ::/json.php?page={{page}}&class=18",
    "sourceGroup": "R18",
    "sourceIcon": "https://i03piccdn.sogoucdn.com/14b82bd552025ec1",
    "sourceName": "风月TV",
    "sourceUrl": "https://baba013.xyz",
    "style": "iframe{\n\theight:600px\n}\ntitle{\n\tdisplay:block\n}"
  },
  {
    "articleStyle": 0,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": ".videoContent>li",
    "ruleContent": "<!DOCTYPE html>\n<html lang=\"zh-CN\">\n<head>\n<meta charset=\"UTF-8\">\n<title>多功能订阅源模板</title>\n<!-- v2025.08.20 -->\n\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<script src=\"https://code.jquery.com/jquery-3.6.0.min.js\"></script>\n<link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/viewerjs/1.11.3/viewer.min.css\" />\n<script src=\"https://cdnjs.cloudflare.com/ajax/libs/viewerjs/1.11.3/viewer.min.js\"></script>\n<style>\n    body { font-family: Arial, sans-serif; font-size: 16px; }\n    #title, #page, #loading-status { margin: 0 auto; font-size: 20px; text-align: center; }\n    #description, #urls, #video-url, #video-sources, #messages { width: 100%; max-width: 800px; margin: 1.5px auto; font-size: 14px; text-align: left; word-wrap: break-word; white-space: pre-wrap; }\n    #text, #text :not(img), #text img + * { text-indent: 2em; width: 100%; font-size: 16px; line-height: 1.5em; margin-top: 0; margin-bottom: 0; word-wrap: break-word; white-space: pre-wrap; }\n    img, #text img { width: 100%; height: auto; display: block; margin-bottom: 1.5px; }\n    .flex-container { display: flex; justify-content: center; align-items: center; gap: 10px; margin: 1.5px 0; font-size: 14px; }\n    button, select { flex: 1 1 31%; padding: 3px; border: 1px solid #ccc; border-radius: 5px; box-sizing: border-box; cursor: pointer; background-color: #f9f9f9; transition: background-color 0.3s ease; margin: 1.5px; min-width: 0; font-size: 14px; width: 120px; }\n    #url-select, #video-source-select { flex: 1 1 100%; margin-left: 0; margin-right: 0; text-align: center; width: 120px; }\n    #video-element { width: 100%; height: auto; }\n    textarea { width: 100%; height: auto; min-height: 100px; box-sizing: border-box; resize: vertical; }\n    .error, .warn { color: red; }\n</style>\n</head>\n<body>\n    <h3 id=\"title\">{{@@h1.0@text||h2.0@text||.title.0@text||title@text}}</h3>\n    <p id=\"description\">{{@@.right@html||.info.0@html||.jianjie@html}}</p>\n    <p id=\"page\" style=\"display:none;\">共<span id=\"total-pages\">1</span>页</p>\n    <p id=\"loading-status\" style=\"display:none;\"></p>\n\n    <div class=\"flex-container\" id=\"loading-buttons\" style=\"display:none;\">\n        <button id=\"prev-page-btn\">上一页</button>\n        <button id=\"next-page-btn\">下一页</button>\n        <button id=\"auto-load-btn\">自&nbsp;&nbsp;动</button>\n    </div>\n    \n    <div class=\"flex-container\">\n        <select id=\"url-select\" style=\"display:none;\"></select>\n    </div>\n    \n    <div class=\"flex-container\">\n        <button id=\"toggle-urls-btn\">显/隐网址</button>\n        <button id=\"toggle-messages-btn\">显/隐信息</button>\n        <button id=\"toggle-debug-btn\">显/隐调试</button>\n    </div>\n    <div id=\"urls\"></div>\n    <div id=\"messages\"></div>\n    <div id=\"debug-info\"></div>\n    <div id=\"video-url\"></div>\n    <div id=\"video-container\" style=\"display: none;\">\n        <video id=\"video-element\" controls preload=\"auto\" width=\"640\" height=\"264\">\n            <source id=\"video-source\" src=\"\" type=\"\">您的浏览器不支持 video 标签。\n        </video>\n    </div>\n    <div class=\"flex-container\" id=\"video-source-container\" style=\"display: none;\">\n        <button id=\"prev-video-btn\">上一集</button>\n        <select id=\"video-source-select\" onchange=\"updateVideoSource()\"></select>\n        <button id=\"next-video-btn\">下一集</button>\n    </div>\n    <div id=\"images\"></div>\n    <div id=\"text\"></div>\n\n    <script>\n// 配置对象，包含各种选择器、延迟时间等配置项\nconst config = {   \n    videoSelector: 'body', // 视频选择器\n    imgSelector: '.gridlane-box-inside img,.photos figure img', // 图片选择器\n    textSelector: '#content2, .content2', // 图文选择器\n    debugSelector: '#content, .page, .pager, .content, script', // 调试信息选择器\n    swapImageAttributes: false, // 是否交换图片属性\n    delayTime: 3000, // 延迟提取时间\n    retryDelayTime: 3000, // 重试加载延迟时间\n    maxLoadAttempts: 3, // 最大加载次数\n    autoLoading: false, // true自动模式，false单页模式\n    debugOnce: 0, // 只在特定索引输出一次调试信息\n    totalPagesText: '{{@@.pager@a.-2@textNodes##\\n.*}}', // 提取总页码\n    urlSuffixToRemove: /\\.html$/, // 移除url后缀\n    pageUrlText: '{urlPrefix}/{i}.html',  // 拼接URL模板  \n    reverseOrder: false, // 多网址及多视频地址显示顺序，true倒序，false正序        \n    ListMode: true,   // true网址列表模式，false网址拼接模式   \n    initialUrls: `{{@@.chapters@a@href}}`, // 目录网址\n    initialUrlsName: `{{@@.chapters@a@text}}`, // 目录名称\n    sourceurl: '', // URL前缀\n\n};\n\nlet videoSources = []; \nlet videoNames = [];\nlet loadAttempts = {}; \nlet urls = []; \nlet imageBox;\nlet textBox;\nlet currentPageIndex = 0; \nlet canLoadNextPage = true; \nlet autoLoadInProgress = false; \n\n// 构建URL列表\nfunction buildUrls(totalPages, baseUrl) {\n    //目录模式\n    let initialUrlsArray = config.initialUrls.trim().split('\\n').filter(url => url.trim() !== '');\n    let initialUrlsNameArray = config.initialUrlsName.trim().split('\\n').filter(name => name.trim() !== '');\n\n    if (config.ListMode && initialUrlsArray.length > 0) {\n        if (initialUrlsArray.length !== initialUrlsNameArray.length) {\n            $('#messages').append(`<span class=\"warn\">警告：initialUrls 和 initialUrlsName 的长度不匹配。</span><br>`);\n        }\n\n        urls = initialUrlsArray.map(url => {\n            if (config.sourceurl && url.startsWith('/') && !/^https?:\\/\\//i.test(url)) {\n                return config.sourceurl.replace(/\\/$/, '') + url;\n            } else {\n                return url;\n            }\n        });\n\n        // 先处理地址和名称的展示\n        const urlNamePairs = urls.map((url, index) => {\n            const name = initialUrlsNameArray[index] || `第 ${index + 1} 页`;\n            return { url, name };\n        });\n\n        // 统一倒序处理\n        if (config.reverseOrder) {\n            urlNamePairs.reverse();\n        }\n\n        // 重新渲染倒序后的结果\n        urlNamePairs.forEach(({ url, name }, index) => {\n            $('#url-select').append(`<option value=\"${index}\">${name}</option>`);\n            $('#urls').append(`<div>${name}: ${url}</div>`);\n        });\n    } else {\n        // 网页拼接逻辑（非列表模式）\n        if (totalPages === 1) {\n            urls.push(baseUrl);\n        } else {\n            urls.push(baseUrl);\n            for (let i = 2; i <= totalPages; i++) {\n                urls.push(config.pageUrlText.replace('{urlPrefix}', baseUrl.replace(config.urlSuffixToRemove, '').replace(/\\/$/, '')).replace('{i}', i));\n            }\n        }\n\n        // 生成名称数组（非列表模式下名称固定为\"第X页\"）\n        const nameArray = urls.map((_, index) => `第 ${index + 1} 页`);\n\n        // 统一倒序处理\n        if (config.reverseOrder) {\n            urls.reverse();\n            nameArray.reverse();\n        }\n\n        // 渲染倒序后的结果\n        urls.forEach((url, index) => {\n            const name = nameArray[index];\n            $('#url-select').append(`<option value=\"${index}\">${name}</option>`);\n            $('#urls').append(`<div>${name}: ${url}</div>`);\n        });\n    }\n\n    $('#total-pages').text(urls.length);\n    toggleNavigationButtons();\n    toggleTotalPagesDisplay();\n}\n\n// 加载网页内容\nfunction loadContent(index) {\n    if (index < 0 || index >= urls.length || !canLoadNextPage) return;\n    canLoadNextPage = false;\n    currentPageIndex = index;\n    $('#url-select').val(index);\n    $('#messages').append(`<div>当前地址📃: <span class=\"warn\">${urls[index]}</span></div>`);\n    if (autoLoadInProgress) {\n        showLoadingStatus(index + 1);\n    }\n    $.ajax({\n        url: urls[index],\n        type: 'GET',\n        success: function (data) {\n            try {\n            const $data = $(data);\n            let updatedHtmlContent = data.replace(/(['\"])(\\/\\/)(?!\\/)/g, '$1https://')\n                .replace(/src=\"upload/gi, 'src=\"/upload')\n                .replace(/style=[\"'][^'\"]+[\"']/gi, '')\n                .replace(/\\\\\\//g, '/');\n            const parser = new DOMParser();\n            const doc = parser.parseFromString(updatedHtmlContent, \"text/html\");\n\n            // 输出调试信息\n            if (config.debugOnce === index) {\n                const debugElements = $(doc).find(config.debugSelector);\n                if (debugElements.length > 0) {\n                    const debugContents = $('<pre>').html(debugElements.clone().wrapAll('<div/>').parent().html()).html();\n                    $('#debug-info').html(`<span class=\"warn\">调试信息: <textarea rows=\"10\" cols=\"80\">${debugContents}</textarea></span>`);\n                } else {\n                    $('#debug-info').html(`<span class=\"warn\">调试信息: <textarea rows=\"10\" cols=\"80\">调试信息未提取到内容，请检查选择器！</textarea></span>`);\n                }\n            }\n\n\n\n// 方法1：提取视频\nlet videoSources1 = [];\nlet videoNames1 = [];\n\nconst videoContents = $(doc).find(config.videoSelector);\nconst videoElements = $(videoContents).find('video, source, .playlist.wbox.ffm3u8 li a[title]');\n\n// 提取视频源地址\nvideoElements.each(function() {\n    // 修复拼接错误，统一用 || 连接\n    let src = $(this).attr('src') \n        || $(this).attr('data-src') \n        || $(this).attr('data-original') \n        || $(this).attr('value') \n        || $(this).attr('href') \n        || '';\n    if (src.trim()) {\n        videoSources1.push(src.trim());\n    }\n});\n\n// 提取视频名称\nconst titleElements = $(videoContents).find('video, source, .playlist.wbox.ffm3u8 li a[title] font');\ntitleElements.each(function(index) {\n    let title = $(this).text().trim().replace(/\\$.*$/gi, '');\n    if (!title) {\n        const defaultNum = Math.max(1, index < videoSources1.length ? index + 1 : videoSources1.length + 1);\n        title = `视频源 ${defaultNum}`;\n    }\n    videoNames1.push(title);\n});\n\n// 规范化URL并过滤无效地址\nvideoSources1 = videoSources1.map(normalizeUrl).filter(Boolean);\nvideoNames1 = videoNames1.slice(0, videoSources1.length);\n\n// 处理地址与名称数量不一致的情况\nif (videoSources1.length !== videoNames1.length) {\n    $('#messages').append(`<span class=\"warn\">\\t🔔 方法1中视频地址和名称数量不一致，已按默认形式命名。</span><br>`);\n    videoNames1 = videoSources1.map((_, idx) => `视频 ${idx + 1}`);\n}\n\n// 输出结果反馈\nif (videoSources1.length > 0) {\n    $('#messages').append(`<span>\\t✅ 方法1，找到 ${videoSources1.length} 个视频。</span><br>`);\n    videoSources1.forEach((src, idx) => {\n        const name = videoNames1[idx] || `视频 ${idx + 1}`;\n        $('#messages').append(`<div>视频地址:<span class=\"warn\"> ${src}</span>, 名称: <span class=\"warn\">${name}</span><br></div>`);\n    }); \n} \n\n\n\n\n            // 方法2：正则提取视频\n            const regex = /['\"<>]https?[^'<>\"]+(m3u8|mp4|webm|ogg|flv|mp3|m4a|wav|ape|flac)([^'<>\"]+)?['\"<>]/gi;\n            const matches = data.match(regex);\n            let videoSources2 = [];\n            let videoNames2 = [];\n\n            if (matches) {\n                const uniqueMatches = [...new Set(matches)];\n                //标准化视频地址并删除干扰字符\n                uniqueMatches.forEach(match => {\n                    const normalizedSrc = normalizeUrl(match.replace(/['\"$]/g, ''));\n                    videoSources2.push(normalizedSrc);\n                    videoNames2.push(`视频源 ${videoSources1.length + videoSources2.length}`);\n                });\n                \n                // 将原始匹配结果添加到调试信息中\n                if (uniqueMatches && uniqueMatches.length > 0) {\n                    $('#messages').append(`<span class=\"warn\">方法2匹配到的原始视频地址:</span><br>`);\n                    uniqueMatches.forEach(match => {\n                        $('#messages').append(`<div>${match}</div>`);\n                    });\n                }\n            }\n            videoSources2 = Array.from(new Set(videoSources2)).filter(Boolean); // 去重并去除无效值\n            videoNames2 = Array.from(new Set(videoNames2)).filter(Boolean);\n            //反馈\n            if (videoSources2.length > 0) {\n                $('#messages').append(`<span>\\t✅ 方法2，找到 ${videoSources2.length} 个视频。</span><br>`);\n            }\n     \n            \n            // 方法3：正则拼接视频地址\n            const domainMatch = updatedHtmlContent.match(/var\\s+domain\\s*=\\s*[\"']([^\"']+)[\"'];/i); \n            const scriptContentMatches = [...updatedHtmlContent.matchAll(/var\\s+videos\\s*=\\s*([^;]+);/gi)];\n            let videoSources3 = []; \n            let videoNames3 = [];\n\n            if (domainMatch && scriptContentMatches.length > 0) {\n              const domain = domainMatch[1].replace(/\\/+$/, '');\n              const urlParser = new URL(domain); \n              const tempVideoUrls = [];\n\n              for (const match of scriptContentMatches) {\n                try {\n                  const rawJson = match[1].trim();\n                  const cleanedJson = rawJson\n                    .replace(/\\'/g, '\"') \n                    .replace(/(\\w+):(\\w+)/g, '\"$1\":\"$2\"') \n                    .replace(/\\\\u([0-9a-fA-F]{4})/g, (_, hex) => String.fromCharCode(parseInt(hex, 16)));\n\n                  const parsedVideos = JSON.parse(cleanedJson);\n                  if (!Array.isArray(parsedVideos)) throw new Error('数据非数组格式');\n\n                  const validUrls = parsedVideos.flatMap(video => {\n                    if (typeof video.url !== 'string') return [];\n                    urlParser.pathname = video.url.replace(/^\\/+/, ''); \n                    return normalizeUrl(urlParser.href);\n                  });\n\n                  tempVideoUrls.push(...validUrls);\n                } catch (error) {\n                  $('#messages').append(`<span class=\"error-message\">\\t❌ 解析videos失败：${error.message}<br>原始数据片段：${match[0].slice(0, 50)}...</span><br>`);\n                }\n              }\n\n              videoSources3 = Array.from(new Set(tempVideoUrls)).filter(Boolean); // 去重并去除无效值\n              videoNames3 = Array.from({ length: videoSources3.length }, (_, idx) => `视频源 ${videoSources1.length + videoSources2.length + idx + 1}`);\n            }\n            //反馈\n            if (videoSources3.length > 0) {\n              $('#messages').append(`<span class=\"success-message\">\\t✅ 方法3，找到 ${videoSources3.length} 个视频。</span><br>\n              `);\n            }\n\n            // 合并3种方法的结果\n            videoSources = [...videoSources1, ...videoSources2,...videoSources3];\n            videoNames = [...videoNames1, ...videoNames2, ...videoNames3];\n\n            // 去重并去除无效值\n            videoSources = Array.from(new Set(videoSources)).filter(Boolean);\n            videoNames = Array.from(new Set(videoNames)).filter(Boolean);\n            //正序倒序转换\n            if (config.reverseOrder) {\n                videoSources = videoSources.reverse();\n                videoNames = videoNames.reverse();\n            }\n\n            // 显示最终结果\n            if (videoSources.length > 0) {\n                $('#messages').append(`<span>\\t✅ 共成功提取到 ${videoSources.length} 个视频。</span><br>`);\n                videoSources.forEach((src, idx) => {\n                    const name = videoNames[idx] || `视频 ${idx + 1}`;\n                    $('#messages').append(`<div>视频地址:<span class=\"warn\"> ${src}</span>, 名称: <span class=\"warn\">${name}</span><br></div>`);\n                    $('#video-source-select').append(`<option value=\"${idx}\">${name}</option>`);\n                });\n            \n                if (videoSources.length == 1) {\n                    $('#video-container').show();\n                    $('#video-url').show();\n                    $('#video-source-container').hide();\n                    updateVideoSource();\n                } else if (videoSources.length > 1) {\n                    $('#video-container').show();\n                    $('#video-url').show();\n                    $('#video-source-container').show();\n                    updateVideoSource();\n                } else {\n                    $('#video-container').hide();\n                    $('#video-url').hide();\n                    $('#video-source-container').hide();\n                }\n            } else {\n                $('#messages').append(`<span class=\"warn\">\\t❎ 未找到视频源。</span><br>`);\n                $('#video-container').hide();\n                $('#video-url').hide();\n                $('#video-source-container').hide();\n            }\n            \n            // 提取图片\n            const $imgContents = $(doc).find(config.imgSelector);\n            const shouldSwap = config.swapImageAttributes;\n            const newContents = updateImageSrc($imgContents.clone(), shouldSwap);\n            $('#images').append(newContents).show();\n            if (newContents.length > 0) {\n                $('#messages').append(`<span>\\t✅ 成功提取图片，共 ${newContents.length} 张。</span><br>`);\n                newContents.each(function () {\n                    const imgSrc = $(this).attr('src') || $(this).attr('data-original') || $(this).attr('data-src') || $(this).attr('data-url');\n                    $('#messages').append(`<div>地址:<span class=\"warn\"> ${imgSrc}</span><br></div>`);\n                });\n            } else {\n                $('#messages').append(`<span class=\"warn\">\\t❎ 未提取到图片。</span><br>`);\n            }\n\n            // 提取图片和文本\n            const textContents = $(doc).find(config.textSelector).map(function () {\n                const $currentContents = $(this);\n                $currentContents.find('img + br, script, video, source, iframe').remove();\n                const $imgsInText = $currentContents.find('img');\n                if (config.swapImageAttributes && $imgsInText.length > 0) {\n                    updateImageSrc($imgsInText, true);\n                }\n                $currentContents.html($currentContents.html().replace(/<\\/?br\\s*([^>]*)\\s*\\/?>/gi, '\\n').replace(/\\n+/g, '\\n'));\n                return $currentContents.html();\n            }).get().join('');\n            if (textContents.trim()) {\n                $('#text').append(`<span>${textContents}</span><br>`).show();\n                $('#messages').append(`<span>\\t✅ 成功提取图文。</span><br>`);\n            } else {\n                $('#messages').append(`<span class=\"warn\">\\t❎ 未提取到图文。</span><br>`);\n            }\n\n            if (autoLoadInProgress && currentPageIndex < urls.length - 1) {\n                setTimeout(() => { \n                    canLoadNextPage = true;\n                    loadContent(currentPageIndex + 1); \n                }, config.delayTime);\n            } else {\n                canLoadNextPage = true;\n                if (autoLoadInProgress) {\n                    hideLoadingStatus();\n                }\n            }\n        } catch (parseError) {\n            $('#messages').append(`<span class=\"error\">\\t❌ 解析页面内容时发生错误: ${parseError.message}</span><br>`);\n            handleLoadFailure(urls, index);\n        } finally {\n            if (imageBox) imageBox.viewer.update();\n            if (textBox) textBox.viewer.update();\n        }\n    },\n    error: function (jqXHR, textStatus, errorThrown) {\n        let errorMessage = `内容加载失败: ${urls[index]}`;\n        switch (textStatus) {\n            case 'timeout':\n                errorMessage += ', 请求超时';\n                break;\n            case 'abort':\n                errorMessage += ', 请求被取消';\n                break;\n            case 'parsererror':\n                errorMessage += ', 解析响应出错';\n                break;\n            default:\n                errorMessage += `, 状态码: ${jqXHR.status}, 错误信息: ${errorThrown}`;\n                break;\n        }\n        $('#messages').append(`<span class=\"error\">${errorMessage}</span><br>`);\n        handleLoadFailure(urls, index);\n        }\n    });\n}\n\n// 处理加载失败的情况\nfunction handleLoadFailure(urls, index) {\n    if (!loadAttempts[urls[index]]) {\n        loadAttempts[urls[index]] = 1;\n    } else {\n        loadAttempts[urls[index]]++;\n    }\n    if (loadAttempts[urls[index]] <= config.maxLoadAttempts) {\n        const retryMessage = `\\t📢 第${index + 1}页加载失败，正在进行第${loadAttempts[urls[index]]}次加载！`;\n        $('#messages').append(`<span class=\"error\">${retryMessage}</span><br>`);\n        setTimeout(() => { \n            canLoadNextPage = true;\n            loadContent(index); \n        }, config.retryDelayTime);\n    } else {\n        const finalErrorMessage = `\\t📢 第${index + 1}页加载失败，已达到最大尝试次数(${config.maxLoadAttempts})！`;\n        $('#messages').append(`<span class=\"error\">${finalErrorMessage}</span><br>`);\n        if (autoLoadInProgress && currentPageIndex < urls.length - 1) {\n            setTimeout(() => { \n                canLoadNextPage = true;\n                loadContent(currentPageIndex + 1); \n            }, config.delayTime);\n        } else {\n            canLoadNextPage = true;\n            if (autoLoadInProgress) {\n                hideLoadingStatus();\n            }\n        }\n    }\n}\n\n// 更新视频源\nfunction updateVideoSource() {\n    const selectedIndex = parseInt(document.getElementById('video-source-select').value);\n    if (isNaN(selectedIndex) || !videoSources[selectedIndex]) {\n        $('#messages').append(`<span class=\"warn\">\\t❎ 未找到有效的视频源。</span><br>`);\n        return;\n    }\n\n    const selectedSource = videoSources[selectedIndex];\n    document.getElementById('video-url').textContent = `当前视频地址📺： ${selectedSource}`;\n\n    const videoSourceElement = document.getElementById('video-source');\n    videoSourceElement.src = selectedSource;\n\n    const videoElement = document.getElementById('video-element');\n    videoElement.load();\n\n    $('#messages').append(`<span>更新视频源为: ${selectedSource}</span><br>`);\n}\n\n// 切换总页数显示状态\nfunction toggleTotalPagesDisplay() {\n    if (urls.length > 1) {\n        $('#page').show();\n    } else {\n        $('#page').hide();\n    }\n}\n\n// 规范化URL并去重\nfunction normalizeUrl(url) {\n    if (typeof url !== 'string' || !url.trim()) {\n        return '';\n    }\n    const match = url.match(/['\"](.*?)['\"]/);\n    if (match && match[1]) {\n        url = match[1];\n    }\n\n    function processUrl(str) {\n        str = str.trim();\n        str = str.replace(/\\\\\\//g, '/');\n        str = str.replace(/\\\\u[\\dA-F]{4}/gi, match => String.fromCharCode(parseInt(match.replace(/\\\\u/g, ''), 16)));\n        str = decodeURIComponent(str);\n        str = str.replace(/^http:\\/([^/])/, 'http://$1');\n        str = str.replace(/^https:\\/([^/])/, 'https://$1');\n        return str;\n    }\n\n    url = processUrl(url);\n\n    // 删除包含指定关键词的链接\n    const filterKeywords = ['/ad/', '.online/','6888.site/'];\n    if (filterKeywords.some(keyword => url.includes(keyword))) {\n        return '';\n    }\n\n    // 去除图片扩展名\n    const imageExtensions = /\\.(jpg|jpeg|png|gif|bmp|svg)$/i;\n    if (imageExtensions.test(url)) {\n        return '';\n    }\n\n    return url;\n}\n\n// 清空容器内容\nfunction clearContainers() {\n    $('#messages').empty();\n    $('#images').empty();\n    $('#text').empty();\n}\n\n// 更新图像源（交换图片属性）\nfunction updateImageSrc(elements, shouldSwap) {\n    elements.each(function () {\n        const $this = $(this);\n        const attrsToUpdate = {};\n        if (shouldSwap) {\n            ['data-original', 'data-src', 'data-url'].forEach(attr => {\n                if ($this.attr(attr)) {\n                    attrsToUpdate['src'] = $this.attr(attr);\n                }\n            });\n        }\n        $this.attr(attrsToUpdate);\n    });\n    return elements;\n}\n\n// 切换导航按钮显示状态\nfunction toggleNavigationButtons() {\n    if ($('#url-select option').length > 1 && !config.autoLoading) {\n        $('#loading-buttons').show();\n        $('#url-select').show();\n    } else {\n        $('#loading-buttons').hide();\n        $('#url-select').hide();\n    }\n}\n\n// 显示加载状态\nfunction showLoadingStatus(pageNumber) {\n    const selectedOption = $('#url-select option:selected').text();\n    $('#loading-status').text(`正在加载：${selectedOption}`).show();\n}\n\n// 隐藏加载状态\nfunction hideLoadingStatus() {\n    $('#loading-status').hide();\n}\n\n// 页面加载完成后执行的主要逻辑\n$(document).ready(function () {\n    imageBox = document.getElementById('images');\n    textBox = document.getElementById('text');\n    if (imageBox && textBox) {\n        new Viewer(imageBox, { title: true, interval: 2000 });\n        new Viewer(textBox, { title: true, interval: 2000 });\n    }\n\n    const totalPagesText = config.totalPagesText;\n    const totalPages = parseInt(totalPagesText, 10) || 1;\n    const baseUrl = '{{baseUrl}}';\n\n    clearContainers();\n    $('#urls, #debug-info textarea, #video-url, #video-source-select').empty();\n    $('#urls, #messages, #debug-info, #video-url, #video-container, #video-source-container, #images, #text').hide();\n\n    buildUrls(totalPages, baseUrl);\n\n    const urlSelect = document.getElementById('url-select');\n    if (urlSelect.options.length > 0) {\n        urlSelect.value = '0'; \n\n        if (config.autoLoading) {\n            autoLoadInProgress = true;\n            for (let i = 0; i < urls.length; i++) {\n                loadContent(i);\n            }\n        } else {\n            loadContent(0);\n        }\n    } else {\n        loadContent(0);\n    }\n\n    $('#url-select').change(function () {\n        clearContainers();\n        const selectedIndex = parseInt($(this).val());\n        loadContent(selectedIndex);\n    });\n    $('#prev-page-btn').click(function () {\n        clearContainers();\n        if (currentPageIndex > 0) {\n            loadContent(currentPageIndex - 1);\n        }\n    });\n    $('#next-page-btn').click(function () {\n        clearContainers();\n        if (currentPageIndex < urls.length - 1) {\n            loadContent(currentPageIndex + 1);\n        }\n    });\n    $('#auto-load-btn').click(function () {\n        autoLoadInProgress = true;\n        showLoadingStatus(1); \n        for (let i = currentPageIndex + 1; i < urls.length; i++) {\n            loadContent(i);\n        }\n    });\n    $('#toggle-messages-btn').click(function () { $('#messages').toggle(); });\n    $('#toggle-urls-btn').click(function () { $('#urls').toggle(); });\n    $('#toggle-debug-btn').click(function () { $('#debug-info').toggle(); });\n\n    $('#prev-video-btn').click(function () {\n        const currentVideoIndex = parseInt($('#video-source-select').val());\n        if (!isNaN(currentVideoIndex) && currentVideoIndex > 0) {\n            $('#video-source-select').val(currentVideoIndex - 1);\n            updateVideoSource();\n        }\n    });\n\n    $('#next-video-btn').click(function () {\n        const currentVideoIndex = parseInt($('#video-source-select').val());\n        if (!isNaN(currentVideoIndex) && currentVideoIndex < videoSources.length - 1) {\n            $('#video-source-select').val(currentVideoIndex + 1);\n            updateVideoSource();\n        }\n    });\n});\n    </script>\n</body>\n</html>",
    "ruleImage": "img@data-original||img@data-src||img@src",
    "ruleLink": ".videoName@href||a@href",
    "ruleNextPage": "[title=\"下一页\"]@href",
    "rulePubDate": ".region@text&&.category.type@text&&.time1@text##\\n##★",
    "ruleTitle": ".videoName@textNodes&&i@text##\\n##☞",
    "singleUrl": false,
    "sortUrl": "首页::/\n国产动漫::/index.php/vod/type/id/29.html\n国产剧::/index.php/vod/type/id/13.html\n电影片::/index.php/vod/type/id/1.html\n动作片::/index.php/vod/type/id/6.html\n喜剧片::/index.php/vod/type/id/7.html\n科幻片::/index.php/vod/type/id/9.html\n恐怖片::/index.php/vod/type/id/10.html\n爱情片::/index.php/vod/type/id/8.html\n剧情片::/index.php/vod/type/id/11.html\n战争片::/index.php/vod/type/id/12.html\n记录片::/index.php/vod/type/id/20.html\n伦理片::/index.php/vod/type/id/34.html\n连续剧::/index.php/vod/type/id/2.html\n欧美剧::/index.php/vod/type/id/16.html\n香港剧::/index.php/vod/type/id/14.html\n韩国剧::/index.php/vod/type/id/15.html\n台湾剧::/index.php/vod/type/id/21.html\n日本剧::/index.php/vod/type/id/22.html\n海外剧::/index.php/vod/type/id/23.html\n泰国剧::/index.php/vod/type/id/24.html\n短剧::/index.php/vod/type/id/36.html\n动漫片::/index.php/vod/type/id/4.html\n\n日韩动漫::/index.php/vod/type/id/30.html\n欧美动漫::/index.php/vod/type/id/31.html\n港台动漫::/index.php/vod/type/id/32.html\n海外动漫::/index.php/vod/type/id/33.html\n综艺片::/index.php/vod/type/id/3.html\n大陆综艺::/index.php/vod/type/id/25.html\n港台综艺::/index.php/vod/type/id/26.html\n日韩综艺::/index.php/vod/type/id/27.html\n欧美综艺::/index.php/vod/type/id/28.html",
    "sourceComment": "ffzy1.tv \nffzy2.tv \nffzy3.tv \nffzy4.tv \nffzy5.tv",
    "sourceGroup": "视频采集网,R18",
    "sourceIcon": "",
    "sourceName": "非凡资源网",
    "sourceUrl": "http://cj.ffzyapi.com/"
  },
  {
    "articleStyle": 1,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "tbody>tr",
    "ruleContent": "<!DOCTYPE html>\n<html lang=\"zh-CN\">\n<head>\n<meta charset=\"UTF-8\">\n<title>多功能订阅源模板</title>\n<!-- v2025.08.20 -->\n\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<script src=\"https://code.jquery.com/jquery-3.6.0.min.js\"></script>\n<link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/viewerjs/1.11.3/viewer.min.css\" />\n<script src=\"https://cdnjs.cloudflare.com/ajax/libs/viewerjs/1.11.3/viewer.min.js\"></script>\n<style>\n    body { font-family: Arial, sans-serif; font-size: 16px; }\n    #title, #page, #loading-status { margin: 0 auto; font-size: 20px; text-align: center; }\n    #description, #urls, #video-url, #video-sources, #messages { width: 100%; max-width: 800px; margin: 1.5px auto; font-size: 14px; text-align: left; word-wrap: break-word; white-space: pre-wrap; }\n    #text, #text :not(img), #text img + * { text-indent: 2em; width: 100%; font-size: 16px; line-height: 1.5em; margin-top: 0; margin-bottom: 0; word-wrap: break-word; white-space: pre-wrap; }\n    img, #text img { width: 100%; height: auto; display: block; margin-bottom: 1.5px; }\n    .flex-container { display: flex; justify-content: center; align-items: center; gap: 10px; margin: 1.5px 0; font-size: 14px; }\n    button, select { flex: 1 1 31%; padding: 3px; border: 1px solid #ccc; border-radius: 5px; box-sizing: border-box; cursor: pointer; background-color: #f9f9f9; transition: background-color 0.3s ease; margin: 1.5px; min-width: 0; font-size: 14px; width: 120px; }\n    #url-select, #video-source-select { flex: 1 1 100%; margin-left: 0; margin-right: 0; text-align: center; width: 120px; }\n    #video-element { width: 100%; height: auto; }\n    textarea { width: 100%; height: auto; min-height: 100px; box-sizing: border-box; resize: vertical; }\n    .error, .warn { color: red; }\n</style>\n</head>\n<body>\n    <h3 id=\"title\">{{@@h1.0@text||h2.0@text||.title.0@text||title@text}}</h3>\n    <p id=\"description\">{{@@tbody@tr@text&&p@html}}</p>\n    <p id=\"page\" style=\"display:none;\">共<span id=\"total-pages\">1</span>页</p>\n    <p id=\"loading-status\" style=\"display:none;\"></p>\n\n    <div class=\"flex-container\" id=\"loading-buttons\" style=\"display:none;\">\n        <button id=\"prev-page-btn\">上一页</button>\n        <button id=\"next-page-btn\">下一页</button>\n        <button id=\"auto-load-btn\">自&nbsp;&nbsp;动</button>\n    </div>\n    \n    <div class=\"flex-container\">\n        <select id=\"url-select\" style=\"display:none;\"></select>\n    </div>\n    \n    <div class=\"flex-container\">\n        <button id=\"toggle-urls-btn\">显/隐网址</button>\n        <button id=\"toggle-messages-btn\">显/隐信息</button>\n        <button id=\"toggle-debug-btn\">显/隐调试</button>\n    </div>\n    <div id=\"urls\"></div>\n    <div id=\"messages\"></div>\n    <div id=\"debug-info\"></div>\n    <div id=\"video-url\"></div>\n    <div id=\"video-container\" style=\"display: none;\">\n        <video id=\"video-element\" controls preload=\"auto\" width=\"640\" height=\"264\">\n            <source id=\"video-source\" src=\"\" type=\"\">您的浏览器不支持 video 标签。\n        </video>\n    </div>\n    <div class=\"flex-container\" id=\"video-source-container\" style=\"display: none;\">\n        <button id=\"prev-video-btn\">上一集</button>\n        <select id=\"video-source-select\" onchange=\"updateVideoSource()\"></select>\n        <button id=\"next-video-btn\">下一集</button>\n    </div>\n    <div id=\"images\"></div>\n    <div id=\"text\"></div>\n\n    <script>\n// 配置对象，包含各种选择器、延迟时间等配置项\nconst config = {   \n    videoSelector: 'body', // 视频选择器\n    imgSelector: '.gridlane-box-inside img,.photos figure img', // 图片选择器\n    textSelector: '#content2, .content2', // 图文选择器\n    debugSelector: '#content, .page, .pager, .content, script', // 调试信息选择器\n    swapImageAttributes: false, // 是否交换图片属性\n    delayTime: 3000, // 延迟提取时间\n    retryDelayTime: 3000, // 重试加载延迟时间\n    maxLoadAttempts: 3, // 最大加载次数\n    autoLoading: false, // true自动模式，false单页模式\n    debugOnce: 0, // 只在特定索引输出一次调试信息\n    totalPagesText: '{{@@.pager@a.-2@textNodes##\\n.*}}', // 提取总页码\n    urlSuffixToRemove: /\\.html$/, // 移除url后缀\n    pageUrlText: '{urlPrefix}/{i}.html',  // 拼接URL模板  \n    reverseOrder: false, // 多网址及多视频地址显示顺序，true倒序，false正序        \n    ListMode: true,   // true网址列表模式，false网址拼接模式   \n    initialUrls: `{{@@.chapters@a@href}}`, // 目录网址\n    initialUrlsName: `{{@@.chapters@a@text}}`, // 目录名称\n    sourceurl: '', // URL前缀\n\n};\n\nlet videoSources = []; \nlet videoNames = [];\nlet loadAttempts = {}; \nlet urls = []; \nlet imageBox;\nlet textBox;\nlet currentPageIndex = 0; \nlet canLoadNextPage = true; \nlet autoLoadInProgress = false; \n\n// 构建URL列表\nfunction buildUrls(totalPages, baseUrl) {\n    //目录模式\n    let initialUrlsArray = config.initialUrls.trim().split('\\n').filter(url => url.trim() !== '');\n    let initialUrlsNameArray = config.initialUrlsName.trim().split('\\n').filter(name => name.trim() !== '');\n\n    if (config.ListMode && initialUrlsArray.length > 0) {\n        if (initialUrlsArray.length !== initialUrlsNameArray.length) {\n            $('#messages').append(`<span class=\"warn\">警告：initialUrls 和 initialUrlsName 的长度不匹配。</span><br>`);\n        }\n\n        urls = initialUrlsArray.map(url => {\n            if (config.sourceurl && url.startsWith('/') && !/^https?:\\/\\//i.test(url)) {\n                return config.sourceurl.replace(/\\/$/, '') + url;\n            } else {\n                return url;\n            }\n        });\n\n        // 先处理地址和名称的展示\n        const urlNamePairs = urls.map((url, index) => {\n            const name = initialUrlsNameArray[index] || `第 ${index + 1} 页`;\n            return { url, name };\n        });\n\n        // 统一倒序处理\n        if (config.reverseOrder) {\n            urlNamePairs.reverse();\n        }\n\n        // 重新渲染倒序后的结果\n        urlNamePairs.forEach(({ url, name }, index) => {\n            $('#url-select').append(`<option value=\"${index}\">${name}</option>`);\n            $('#urls').append(`<div>${name}: ${url}</div>`);\n        });\n    } else {\n        // 网页拼接逻辑（非列表模式）\n        if (totalPages === 1) {\n            urls.push(baseUrl);\n        } else {\n            urls.push(baseUrl);\n            for (let i = 2; i <= totalPages; i++) {\n                urls.push(config.pageUrlText.replace('{urlPrefix}', baseUrl.replace(config.urlSuffixToRemove, '').replace(/\\/$/, '')).replace('{i}', i));\n            }\n        }\n\n        // 生成名称数组（非列表模式下名称固定为\"第X页\"）\n        const nameArray = urls.map((_, index) => `第 ${index + 1} 页`);\n\n        // 统一倒序处理\n        if (config.reverseOrder) {\n            urls.reverse();\n            nameArray.reverse();\n        }\n\n        // 渲染倒序后的结果\n        urls.forEach((url, index) => {\n            const name = nameArray[index];\n            $('#url-select').append(`<option value=\"${index}\">${name}</option>`);\n            $('#urls').append(`<div>${name}: ${url}</div>`);\n        });\n    }\n\n    $('#total-pages').text(urls.length);\n    toggleNavigationButtons();\n    toggleTotalPagesDisplay();\n}\n\n// 加载网页内容\nfunction loadContent(index) {\n    if (index < 0 || index >= urls.length || !canLoadNextPage) return;\n    canLoadNextPage = false;\n    currentPageIndex = index;\n    $('#url-select').val(index);\n    $('#messages').append(`<div>当前地址📃: <span class=\"warn\">${urls[index]}</span></div>`);\n    if (autoLoadInProgress) {\n        showLoadingStatus(index + 1);\n    }\n    $.ajax({\n        url: urls[index],\n        type: 'GET',\n        success: function (data) {\n            try {\n            const $data = $(data);\n            let updatedHtmlContent = data.replace(/(['\"])(\\/\\/)(?!\\/)/g, '$1https://')\n                .replace(/src=\"upload/gi, 'src=\"/upload')\n                .replace(/style=[\"'][^'\"]+[\"']/gi, '')\n                .replace(/\\\\\\//g, '/');\n            const parser = new DOMParser();\n            const doc = parser.parseFromString(updatedHtmlContent, \"text/html\");\n\n            // 输出调试信息\n            if (config.debugOnce === index) {\n                const debugElements = $(doc).find(config.debugSelector);\n                if (debugElements.length > 0) {\n                    const debugContents = $('<pre>').html(debugElements.clone().wrapAll('<div/>').parent().html()).html();\n                    $('#debug-info').html(`<span class=\"warn\">调试信息: <textarea rows=\"10\" cols=\"80\">${debugContents}</textarea></span>`);\n                } else {\n                    $('#debug-info').html(`<span class=\"warn\">调试信息: <textarea rows=\"10\" cols=\"80\">调试信息未提取到内容，请检查选择器！</textarea></span>`);\n                }\n            }\n\n\n\n// 方法1：提取视频\nlet videoSources1 = [];\nlet videoNames1 = [];\n\nconst videoContents = $(doc).find(config.videoSelector);\nconst videoElements = $(videoContents).find('video, source, .playlist.wbox.dyttm3u8 li a[title]');\n\n// 提取视频源地址\nvideoElements.each(function() {\n    // 修复拼接错误，统一用 || 连接\n    let src = $(this).attr('src') \n        || $(this).attr('data-src') \n        || $(this).attr('data-original') \n        || $(this).attr('value') \n        || $(this).attr('href') \n        || '';\n    if (src.trim()) {\n        videoSources1.push(src.trim());\n    }\n});\n\n// 提取视频名称\nconst titleElements = $(videoContents).find('video, source, .playlist.wbox.dyttm3u8 li a[title]');\ntitleElements.each(function(index) {\n    let title = $(this).text().trim().replace(/\\$.*$/gi, '');\n    if (!title) {\n        const defaultNum = Math.max(1, index < videoSources1.length ? index + 1 : videoSources1.length + 1);\n        title = `视频源 ${defaultNum}`;\n    }\n    videoNames1.push(title);\n});\n\n// 规范化URL并过滤无效地址\nvideoSources1 = videoSources1.map(normalizeUrl).filter(Boolean);\nvideoNames1 = videoNames1.slice(0, videoSources1.length);\n\n// 处理地址与名称数量不一致的情况\nif (videoSources1.length !== videoNames1.length) {\n    $('#messages').append(`<span class=\"warn\">\\t🔔 方法1中视频地址和名称数量不一致，已按默认形式命名。</span><br>`);\n    videoNames1 = videoSources1.map((_, idx) => `视频 ${idx + 1}`);\n}\n\n// 输出结果反馈\nif (videoSources1.length > 0) {\n    $('#messages').append(`<span>\\t✅ 方法1，找到 ${videoSources1.length} 个视频。</span><br>`);\n    videoSources1.forEach((src, idx) => {\n        const name = videoNames1[idx] || `视频 ${idx + 1}`;\n        $('#messages').append(`<div>视频地址:<span class=\"warn\"> ${src}</span>, 名称: <span class=\"warn\">${name}</span><br></div>`);\n    }); \n} \n\n\n\n\n            // 方法2：正则提取视频\n            const regex = /['\"<>]https?[^'<>\"]+(m3u8|mp4|webm|ogg|flv|mp3|m4a|wav|ape|flac)([^'<>\"]+)?['\"<>]/gi;\n            const matches = data.match(regex);\n            let videoSources2 = [];\n            let videoNames2 = [];\n\n            if (matches) {\n                const uniqueMatches = [...new Set(matches)];\n                //标准化视频地址并删除干扰字符\n                uniqueMatches.forEach(match => {\n                    const normalizedSrc = normalizeUrl(match.replace(/['\"$]/g, ''));\n                    videoSources2.push(normalizedSrc);\n                    videoNames2.push(`视频源 ${videoSources1.length + videoSources2.length}`);\n                });\n                \n                // 将原始匹配结果添加到调试信息中\n                if (uniqueMatches && uniqueMatches.length > 0) {\n                    $('#messages').append(`<span class=\"warn\">方法2匹配到的原始视频地址:</span><br>`);\n                    uniqueMatches.forEach(match => {\n                        $('#messages').append(`<div>${match}</div>`);\n                    });\n                }\n            }\n            videoSources2 = Array.from(new Set(videoSources2)).filter(Boolean); // 去重并去除无效值\n            videoNames2 = Array.from(new Set(videoNames2)).filter(Boolean);\n            //反馈\n            if (videoSources2.length > 0) {\n                $('#messages').append(`<span>\\t✅ 方法2，找到 ${videoSources2.length} 个视频。</span><br>`);\n            }\n     \n            \n            // 方法3：正则拼接视频地址\n            const domainMatch = updatedHtmlContent.match(/var\\s+domain\\s*=\\s*[\"']([^\"']+)[\"'];/i); \n            const scriptContentMatches = [...updatedHtmlContent.matchAll(/var\\s+videos\\s*=\\s*([^;]+);/gi)];\n            let videoSources3 = []; \n            let videoNames3 = [];\n\n            if (domainMatch && scriptContentMatches.length > 0) {\n              const domain = domainMatch[1].replace(/\\/+$/, '');\n              const urlParser = new URL(domain); \n              const tempVideoUrls = [];\n\n              for (const match of scriptContentMatches) {\n                try {\n                  const rawJson = match[1].trim();\n                  const cleanedJson = rawJson\n                    .replace(/\\'/g, '\"') \n                    .replace(/(\\w+):(\\w+)/g, '\"$1\":\"$2\"') \n                    .replace(/\\\\u([0-9a-fA-F]{4})/g, (_, hex) => String.fromCharCode(parseInt(hex, 16)));\n\n                  const parsedVideos = JSON.parse(cleanedJson);\n                  if (!Array.isArray(parsedVideos)) throw new Error('数据非数组格式');\n\n                  const validUrls = parsedVideos.flatMap(video => {\n                    if (typeof video.url !== 'string') return [];\n                    urlParser.pathname = video.url.replace(/^\\/+/, ''); \n                    return normalizeUrl(urlParser.href);\n                  });\n\n                  tempVideoUrls.push(...validUrls);\n                } catch (error) {\n                  $('#messages').append(`<span class=\"error-message\">\\t❌ 解析videos失败：${error.message}<br>原始数据片段：${match[0].slice(0, 50)}...</span><br>`);\n                }\n              }\n\n              videoSources3 = Array.from(new Set(tempVideoUrls)).filter(Boolean); // 去重并去除无效值\n              videoNames3 = Array.from({ length: videoSources3.length }, (_, idx) => `视频源 ${videoSources1.length + videoSources2.length + idx + 1}`);\n            }\n            //反馈\n            if (videoSources3.length > 0) {\n              $('#messages').append(`<span class=\"success-message\">\\t✅ 方法3，找到 ${videoSources3.length} 个视频。</span><br>\n              `);\n            }\n\n            // 合并3种方法的结果\n            videoSources = [...videoSources1, ...videoSources2,...videoSources3];\n            videoNames = [...videoNames1, ...videoNames2, ...videoNames3];\n\n            // 去重并去除无效值\n            videoSources = Array.from(new Set(videoSources)).filter(Boolean);\n            videoNames = Array.from(new Set(videoNames)).filter(Boolean);\n            //正序倒序转换\n            if (config.reverseOrder) {\n                videoSources = videoSources.reverse();\n                videoNames = videoNames.reverse();\n            }\n\n            // 显示最终结果\n            if (videoSources.length > 0) {\n                $('#messages').append(`<span>\\t✅ 共成功提取到 ${videoSources.length} 个视频。</span><br>`);\n                videoSources.forEach((src, idx) => {\n                    const name = videoNames[idx] || `视频 ${idx + 1}`;\n                    $('#messages').append(`<div>视频地址:<span class=\"warn\"> ${src}</span>, 名称: <span class=\"warn\">${name}</span><br></div>`);\n                    $('#video-source-select').append(`<option value=\"${idx}\">${name}</option>`);\n                });\n            \n                if (videoSources.length == 1) {\n                    $('#video-container').show();\n                    $('#video-url').show();\n                    $('#video-source-container').hide();\n                    updateVideoSource();\n                } else if (videoSources.length > 1) {\n                    $('#video-container').show();\n                    $('#video-url').show();\n                    $('#video-source-container').show();\n                    updateVideoSource();\n                } else {\n                    $('#video-container').hide();\n                    $('#video-url').hide();\n                    $('#video-source-container').hide();\n                }\n            } else {\n                $('#messages').append(`<span class=\"warn\">\\t❎ 未找到视频源。</span><br>`);\n                $('#video-container').hide();\n                $('#video-url').hide();\n                $('#video-source-container').hide();\n            }\n            \n            // 提取图片\n            const $imgContents = $(doc).find(config.imgSelector);\n            const shouldSwap = config.swapImageAttributes;\n            const newContents = updateImageSrc($imgContents.clone(), shouldSwap);\n            $('#images').append(newContents).show();\n            if (newContents.length > 0) {\n                $('#messages').append(`<span>\\t✅ 成功提取图片，共 ${newContents.length} 张。</span><br>`);\n                newContents.each(function () {\n                    const imgSrc = $(this).attr('src') || $(this).attr('data-original') || $(this).attr('data-src') || $(this).attr('data-url');\n                    $('#messages').append(`<div>地址:<span class=\"warn\"> ${imgSrc}</span><br></div>`);\n                });\n            } else {\n                $('#messages').append(`<span class=\"warn\">\\t❎ 未提取到图片。</span><br>`);\n            }\n\n            // 提取图片和文本\n            const textContents = $(doc).find(config.textSelector).map(function () {\n                const $currentContents = $(this);\n                $currentContents.find('img + br, script, video, source, iframe').remove();\n                const $imgsInText = $currentContents.find('img');\n                if (config.swapImageAttributes && $imgsInText.length > 0) {\n                    updateImageSrc($imgsInText, true);\n                }\n                $currentContents.html($currentContents.html().replace(/<\\/?br\\s*([^>]*)\\s*\\/?>/gi, '\\n').replace(/\\n+/g, '\\n'));\n                return $currentContents.html();\n            }).get().join('');\n            if (textContents.trim()) {\n                $('#text').append(`<span>${textContents}</span><br>`).show();\n                $('#messages').append(`<span>\\t✅ 成功提取图文。</span><br>`);\n            } else {\n                $('#messages').append(`<span class=\"warn\">\\t❎ 未提取到图文。</span><br>`);\n            }\n\n            if (autoLoadInProgress && currentPageIndex < urls.length - 1) {\n                setTimeout(() => { \n                    canLoadNextPage = true;\n                    loadContent(currentPageIndex + 1); \n                }, config.delayTime);\n            } else {\n                canLoadNextPage = true;\n                if (autoLoadInProgress) {\n                    hideLoadingStatus();\n                }\n            }\n        } catch (parseError) {\n            $('#messages').append(`<span class=\"error\">\\t❌ 解析页面内容时发生错误: ${parseError.message}</span><br>`);\n            handleLoadFailure(urls, index);\n        } finally {\n            if (imageBox) imageBox.viewer.update();\n            if (textBox) textBox.viewer.update();\n        }\n    },\n    error: function (jqXHR, textStatus, errorThrown) {\n        let errorMessage = `内容加载失败: ${urls[index]}`;\n        switch (textStatus) {\n            case 'timeout':\n                errorMessage += ', 请求超时';\n                break;\n            case 'abort':\n                errorMessage += ', 请求被取消';\n                break;\n            case 'parsererror':\n                errorMessage += ', 解析响应出错';\n                break;\n            default:\n                errorMessage += `, 状态码: ${jqXHR.status}, 错误信息: ${errorThrown}`;\n                break;\n        }\n        $('#messages').append(`<span class=\"error\">${errorMessage}</span><br>`);\n        handleLoadFailure(urls, index);\n        }\n    });\n}\n\n// 处理加载失败的情况\nfunction handleLoadFailure(urls, index) {\n    if (!loadAttempts[urls[index]]) {\n        loadAttempts[urls[index]] = 1;\n    } else {\n        loadAttempts[urls[index]]++;\n    }\n    if (loadAttempts[urls[index]] <= config.maxLoadAttempts) {\n        const retryMessage = `\\t📢 第${index + 1}页加载失败，正在进行第${loadAttempts[urls[index]]}次加载！`;\n        $('#messages').append(`<span class=\"error\">${retryMessage}</span><br>`);\n        setTimeout(() => { \n            canLoadNextPage = true;\n            loadContent(index); \n        }, config.retryDelayTime);\n    } else {\n        const finalErrorMessage = `\\t📢 第${index + 1}页加载失败，已达到最大尝试次数(${config.maxLoadAttempts})！`;\n        $('#messages').append(`<span class=\"error\">${finalErrorMessage}</span><br>`);\n        if (autoLoadInProgress && currentPageIndex < urls.length - 1) {\n            setTimeout(() => { \n                canLoadNextPage = true;\n                loadContent(currentPageIndex + 1); \n            }, config.delayTime);\n        } else {\n            canLoadNextPage = true;\n            if (autoLoadInProgress) {\n                hideLoadingStatus();\n            }\n        }\n    }\n}\n\n// 更新视频源\nfunction updateVideoSource() {\n    const selectedIndex = parseInt(document.getElementById('video-source-select').value);\n    if (isNaN(selectedIndex) || !videoSources[selectedIndex]) {\n        $('#messages').append(`<span class=\"warn\">\\t❎ 未找到有效的视频源。</span><br>`);\n        return;\n    }\n\n    const selectedSource = videoSources[selectedIndex];\n    document.getElementById('video-url').textContent = `当前视频地址📺： ${selectedSource}`;\n\n    const videoSourceElement = document.getElementById('video-source');\n    videoSourceElement.src = selectedSource;\n\n    const videoElement = document.getElementById('video-element');\n    videoElement.load();\n\n    $('#messages').append(`<span>更新视频源为: ${selectedSource}</span><br>`);\n}\n\n// 切换总页数显示状态\nfunction toggleTotalPagesDisplay() {\n    if (urls.length > 1) {\n        $('#page').show();\n    } else {\n        $('#page').hide();\n    }\n}\n\n// 规范化URL并去重\nfunction normalizeUrl(url) {\n    if (typeof url !== 'string' || !url.trim()) {\n        return '';\n    }\n    const match = url.match(/['\"](.*?)['\"]/);\n    if (match && match[1]) {\n        url = match[1];\n    }\n\n    function processUrl(str) {\n        str = str.trim();\n        str = str.replace(/\\\\\\//g, '/');\n        str = str.replace(/\\\\u[\\dA-F]{4}/gi, match => String.fromCharCode(parseInt(match.replace(/\\\\u/g, ''), 16)));\n        str = decodeURIComponent(str);\n        str = str.replace(/^http:\\/([^/])/, 'http://$1');\n        str = str.replace(/^https:\\/([^/])/, 'https://$1');\n        return str;\n    }\n\n    url = processUrl(url);\n\n    // 删除包含指定关键词的链接\n    const filterKeywords = ['/ad/', '.online/','6888.site/'];\n    if (filterKeywords.some(keyword => url.includes(keyword))) {\n        return '';\n    }\n\n    // 去除图片扩展名\n    const imageExtensions = /\\.(jpg|jpeg|png|gif|bmp|svg)$/i;\n    if (imageExtensions.test(url)) {\n        return '';\n    }\n\n    return url;\n}\n\n// 清空容器内容\nfunction clearContainers() {\n    $('#messages').empty();\n    $('#images').empty();\n    $('#text').empty();\n}\n\n// 更新图像源（交换图片属性）\nfunction updateImageSrc(elements, shouldSwap) {\n    elements.each(function () {\n        const $this = $(this);\n        const attrsToUpdate = {};\n        if (shouldSwap) {\n            ['data-original', 'data-src', 'data-url'].forEach(attr => {\n                if ($this.attr(attr)) {\n                    attrsToUpdate['src'] = $this.attr(attr);\n                }\n            });\n        }\n        $this.attr(attrsToUpdate);\n    });\n    return elements;\n}\n\n// 切换导航按钮显示状态\nfunction toggleNavigationButtons() {\n    if ($('#url-select option').length > 1 && !config.autoLoading) {\n        $('#loading-buttons').show();\n        $('#url-select').show();\n    } else {\n        $('#loading-buttons').hide();\n        $('#url-select').hide();\n    }\n}\n\n// 显示加载状态\nfunction showLoadingStatus(pageNumber) {\n    const selectedOption = $('#url-select option:selected').text();\n    $('#loading-status').text(`正在加载：${selectedOption}`).show();\n}\n\n// 隐藏加载状态\nfunction hideLoadingStatus() {\n    $('#loading-status').hide();\n}\n\n// 页面加载完成后执行的主要逻辑\n$(document).ready(function () {\n    imageBox = document.getElementById('images');\n    textBox = document.getElementById('text');\n    if (imageBox && textBox) {\n        new Viewer(imageBox, { title: true, interval: 2000 });\n        new Viewer(textBox, { title: true, interval: 2000 });\n    }\n\n    const totalPagesText = config.totalPagesText;\n    const totalPages = parseInt(totalPagesText, 10) || 1;\n    const baseUrl = '{{baseUrl}}';\n\n    clearContainers();\n    $('#urls, #debug-info textarea, #video-url, #video-source-select').empty();\n    $('#urls, #messages, #debug-info, #video-url, #video-container, #video-source-container, #images, #text').hide();\n\n    buildUrls(totalPages, baseUrl);\n\n    const urlSelect = document.getElementById('url-select');\n    if (urlSelect.options.length > 0) {\n        urlSelect.value = '0'; \n\n        if (config.autoLoading) {\n            autoLoadInProgress = true;\n            for (let i = 0; i < urls.length; i++) {\n                loadContent(i);\n            }\n        } else {\n            loadContent(0);\n        }\n    } else {\n        loadContent(0);\n    }\n\n    $('#url-select').change(function () {\n        clearContainers();\n        const selectedIndex = parseInt($(this).val());\n        loadContent(selectedIndex);\n    });\n    $('#prev-page-btn').click(function () {\n        clearContainers();\n        if (currentPageIndex > 0) {\n            loadContent(currentPageIndex - 1);\n        }\n    });\n    $('#next-page-btn').click(function () {\n        clearContainers();\n        if (currentPageIndex < urls.length - 1) {\n            loadContent(currentPageIndex + 1);\n        }\n    });\n    $('#auto-load-btn').click(function () {\n        autoLoadInProgress = true;\n        showLoadingStatus(1); \n        for (let i = currentPageIndex + 1; i < urls.length; i++) {\n            loadContent(i);\n        }\n    });\n    $('#toggle-messages-btn').click(function () { $('#messages').toggle(); });\n    $('#toggle-urls-btn').click(function () { $('#urls').toggle(); });\n    $('#toggle-debug-btn').click(function () { $('#debug-info').toggle(); });\n\n    $('#prev-video-btn').click(function () {\n        const currentVideoIndex = parseInt($('#video-source-select').val());\n        if (!isNaN(currentVideoIndex) && currentVideoIndex > 0) {\n            $('#video-source-select').val(currentVideoIndex - 1);\n            updateVideoSource();\n        }\n    });\n\n    $('#next-video-btn').click(function () {\n        const currentVideoIndex = parseInt($('#video-source-select').val());\n        if (!isNaN(currentVideoIndex) && currentVideoIndex < videoSources.length - 1) {\n            $('#video-source-select').val(currentVideoIndex + 1);\n            updateVideoSource();\n        }\n    });\n});\n    </script>\n</body>\n</html>",
    "ruleImage": "img@data-original||img@data-src||img@src",
    "ruleLink": ".videoName@href||a@href",
    "ruleNextPage": "[title=\"下一页\"]@href",
    "rulePubDate": "td@textNodes&&td@span@text##\\n##★",
    "ruleTitle": ".group@div@textNodes##\\n##☞",
    "singleUrl": false,
    "sortUrl": "首页::/\n国产动漫::/index.php/vod/type/id/29.html\n国产剧::/index.php/vod/type/id/13.html\n电影片::/index.php/vod/type/id/1.html\n动作片::/index.php/vod/type/id/6.html\n喜剧片::/index.php/vod/type/id/7.html\n科幻片::/index.php/vod/type/id/9.html\n恐怖片::/index.php/vod/type/id/10.html\n爱情片::/index.php/vod/type/id/8.html\n剧情片::/index.php/vod/type/id/11.html\n战争片::/index.php/vod/type/id/12.html\n记录片::/index.php/vod/type/id/20.html\n动画片::/index.php/vod/type/id/37.html\n伦理片::/index.php/vod/type/id/34.html\n连续剧::/index.php/vod/type/id/2.html\n\n欧美剧::/index.php/vod/type/id/16.html\n香港剧::/index.php/vod/type/id/14.html\n韩国剧::/index.php/vod/type/id/15.html\n台湾剧::/index.php/vod/type/id/21.html\n日本剧::/index.php/vod/type/id/22.html\n海外剧::/index.php/vod/type/id/23.html\n泰国剧::/index.php/vod/type/id/24.html\n短剧::/index.php/vod/type/id/36.html\n动漫片::/index.php/vod/type/id/4.html\n\n日韩动漫::/index.php/vod/type/id/30.html\n欧美动漫::/index.php/vod/type/id/31.html\n港台动漫::/index.php/vod/type/id/32.html\n海外动漫::/index.php/vod/type/id/33.html\n综艺片::/index.php/vod/type/id/3.html\n大陆综艺::/index.php/vod/type/id/25.html\n港台综艺::/index.php/vod/type/id/26.html\n日韩综艺::/index.php/vod/type/id/27.html\n欧美综艺::/index.php/vod/type/id/28.html\n",
    "sourceComment": "dyttzy1.tv \ndyttzy2.tv \ndyttzy3.tv \ndyttzy4.tv \ndyttzy5.tv ",
    "sourceGroup": "视频采集网,R18",
    "sourceIcon": "",
    "sourceName": "电影天堂",
    "sourceUrl": "https://caiji.dyttzyapi.com/"
  },
  {
    "articleStyle": 0,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceComment": "ai交互小说软件需登录",
    "sourceGroup": "R18",
    "sourceIcon": "https://img0.baidu.com/it/u=1963232328,869139301&fm=253&fmt=auto&app=138&f=JPEG?w=800&h=1351",
    "sourceName": "智能酒馆互动小说",
    "sourceUrl": "https://i.meimoai1.com/13cxV"
  },
  {
    "articleStyle": 0,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "//div[@class=\"url-card io-px-2 col-2a col-sm-2a col-md-2a col-lg-3a col-xl-5a col-xxl-6a \"]",
    "ruleImage": "//div/a[1]/div/div[1]/img/@data-src",
    "ruleLink": "//div/a[1]/@href",
    "ruleTitle": "//div/a[1]/div/div[2]/div/strong/text()",
    "singleUrl": false,
    "sourceGroup": "⚙️ 工具,R18",
    "sourceIcon": "https://cdn2.hrefgo.com/collection/wordpress/2023/06/1688048062-hrefgo-high-resolution-logo-color-on-transparent-background_360x80.png",
    "sourceName": "超狗ai",
    "sourceUrl": "https://hrefgo.com/collection/"
  },
  {
    "articleStyle": 0,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "📖 阅读,R18",
    "sourceIcon": "https://img0.baidu.com/it/u=2628473074,2098079028&fm=253&fmt=auto&app=138&f=JPEG?w=246&h=246",
    "sourceName": "纵横男生",
    "sourceUrl": "https://m.zongheng.com/h5/rank?type=4"
  },
  {
    "articleStyle": 0,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "🎞️ 影视,R18",
    "sourceIcon": "https://www.nanguady.cc/template/nanguady/images/logo.png",
    "sourceName": "南瓜影视",
    "sourceUrl": "https://www.nanguady.cc"
  },
  {
    "articleStyle": 0,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "//div[@class=\"xe-card col-sm-4 col-md-3 col-lg-2 \"]",
    "ruleImage": "//a/div/div[1]/img/@src",
    "ruleLink": "//a/@href",
    "ruleTitle": "//a/@title",
    "singleUrl": false,
    "sourceGroup": "合集,R18",
    "sourceIcon": "https://73496.com/wp-content/uploads/2023/03/logo_1.png",
    "sourceName": "ai导航",
    "sourceUrl": "https://73496.com/"
  },
  {
    "articleStyle": 0,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "//div[@class=\"url-card io-px-2  col-2a col-sm-2a col-md-2a col-lg-3a col-xl-5a col-xxl-6a   \"]",
    "ruleImage": "//div/a/div/div[1]/img/@data-src",
    "ruleLink": "//div/a/@href",
    "ruleNextPage": "",
    "ruleTitle": "//div/a/div/div[2]/div/strong/text()",
    "singleUrl": false,
    "sourceGroup": "合集,R18",
    "sourceIcon": "https://www.aidashi.cn/wp-content/uploads/2023/03/logo99.png",
    "sourceName": "ai大师",
    "sourceUrl": "https://www.aidashi.cn/"
  },
  {
    "articleStyle": 0,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.lo1ad1ed",
    "ruleContent": "<js>\nurl=result.match(/downurl = '(.+)'/)[1].replace(/d.9xxav/,'ncp-wpg')+'.m3u8'\n\nresult = \"<video src=\\\"\" + url + \"\\\" width=\\\"100%\\\" height=\\\"auto\\\" controls=\\\"controls\\\" ></video>\";\r\nresult = \"<html><head><meta charset=\\\"utf-8\\\"><meta name=\\\"viewport\\\" content=\\\"width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no\\\" /><style>html,body{margin:0;padding:0;width:100%;}</style></head><body>\" + result + \"</body></html>\"\n result</js>",
    "ruleImage": "tag.script@html\n<js>\"https://5pfjgjhk1.com/\"+ result.substring( result.indexOf(\"getPicUrl\")+11,result.indexOf(\");\")-1)</js>",
    "ruleLink": "tag.a@href",
    "rulePubDate": "class.videoBox-time@text",
    "ruleTitle": "class.title@text",
    "singleUrl": false,
    "sortUrl": "中文::https://www.ncnc12.xyz/Html/94/{{page - 1 == 0 ? \"\": \"index-\"+page+\".html\"}}\r\n国产::https://www.ncnc12.xyz/Html/2/{{page - 1 == 0 ? \"\": \"index-\"+page+\".html\"}}\r\n无码::https://www.ncnc12.xyz/Html/115/{{page - 1 == 0 ? \"\": \"index-\"+page+\".html\"}}\r\n女优::https://www.ncnc12.xyz/Html/100/{{page - 1 == 0 ? \"\": \"index-\"+page+\".html\"}}\r\n爆乳::https://www.ncnc12.xyz/Html/112/{{page - 1 == 0 ? \"\": \"index-\"+page+\".html\"}}\r\n素人::https://www.ncnc12.xyz/Html/111/{{page - 1 == 0 ? \"\": \"index-\"+page+\".html\"}}\r\n自拍::https://www.ncnc12.xyz/Html/89/{{page - 1 == 0 ? \"\": \"index-\"+page+\".html\"}}\r\n少女::https://www.ncnc12.xyz/Html/93/{{page - 1 == 0 ? \"\": \"index-\"+page+\".html\"}}\r\n精品::https://www.ncnc12.xyz/Html/88/{{page - 1 == 0 ? \"\": \"index-\"+page+\".html\"}}\r\n网红::https://www.ncnc12.xyz/Html/91/{{page - 1 == 0 ? \"\": \"index-\"+page+\".html\"}}\r\n少妇::https://www.ncnc12.xyz/Html/90/{{page - 1 == 0 ? \"\": \"index-\"+page+\".html\"}}\r\n美腿::https://www.ncnc12.xyz/Html/87/{{page - 1 == 0 ? \"\": \"index-\"+page+\".html\"}}\r\n欧美::https://www.ncnc12.xyz/Html/62/{{page - 1 == 0 ? \"\": \"index-\"+page+\".html\"}}\r\n三级::https://www.ncnc12.xyz/Html/109/{{page - 1 == 0 ? \"\":\"index-\"+page+\".html\"}}\r\nAV::https://www.ncnc12.xyz/Html/114/{{page - 1 == 0 ? \"\": \"index-\"+page+\".html\"}}\r\n最新女优::https://www.ncnc12.xyz/Html/1/{{page - 1 == 0 ? \"\": \"index-\"+page+\".html\"}}",
    "sourceComment": "嫩草影院永久地址： ncdy01.xyz\n嫩草影院永久地址： ncyb24.com \nhttps://www.ncfb02.com/\n或发送邮件到nengcao@mail.com自动获取最新地址\n<js>github@ifwlzs</js>",
    "sourceGroup": "R18",
    "sourceIcon": "https://www.ncnc12.xyz/favicon.ico",
    "sourceName": "嫩草影院",
    "sourceUrl": "https://www.ncnc12.xyz/",
    "style": "##github@ifwlzs"
  },
  {
    "articleStyle": 0,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginUrl": "",
    "ruleArticles": "class.stui-vodlist__item",
    "ruleContent": "class.stui-player__video@script.0@all##.*var now=unescape\\(\"(.*)\"\\);var pn.*##$1\n<js>\nresult=unescape(result)\nresult=\"https://www.ycylf.live/js/player/dmplayer/player/index.php?url=\"+result\nif(result){\n\tjava.toast('🔞视频链接获取成功！\\n链接解密中，请耐心等待\\nby 银河中的咸鱼')\nresult = \"<iframe scrolling=\\\"no\\\" allowfullscreen=\\\"\\\" src=\\\"\" + result + \"\\\" width=\\\"100%\\\" height=\\\"240\\\"></iframe>\";\r\nresult = \"<html><head><meta charset=\\\"utf-8\\\"><meta name=\\\"viewport\\\" content=\\\"width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no\\\" /><style>html,body{margin:0;padding:0;width:100%;}</style></head><body>\" + result + \"</body></html>\"\n result\n}else{\n\tjava.toast('🔞视频链接获取失败❗️\\nby 银河中的咸鱼')\n}\n</js>",
    "ruleImage": "a@data-original",
    "ruleLink": "a.0@href##$##/avav-0-0.html",
    "ruleNextPage": "page",
    "ruleTitle": "class.stui-vodlist__title@text",
    "singleUrl": false,
    "sortUrl": "搜索::https://www.ycylf.fun/search.php?page={{page-1==0?\"\":page}}&searchword={{source.getVariable()}}&searchtype=\n更早::https://www.ycylf.fun/old/index{{page-1==0?\"\":page}}.html\n22年::https://www.ycylf.fun/2022/index{{page-1==0?\"\":page}}.html\n21年::https://www.ycylf.fun/2021/index{{page-1==0?\"\":page}}.html\n20年::https://www.ycylf.fun/2020/index{{page-1==0?\"\":page}}.html\n19年::https://www.ycylf.fun/2019/index{{page-1==0?\"\":page}}.html\n18年::https://www.ycylf.fun/2018/index{{page-1==0?\"\":page}}.html\n17年::https://www.ycylf.fun/2017/index{{page-1==0?\"\":page}}.html\n16年::https://www.ycylf.fun/old/2016/index{{page-1==0?\"\":page}}.html\n15年::https://www.ycylf.fun/old/2015/index{{page-1==0?\"\":page}}.html\n14年::https://www.ycylf.fun/old/2014/index{{page-1==0?\"\":page}}.html\n首页::https://www.ycylf.fun/",
    "sourceComment": "class.mb-img@style##background\\-image\\:url\\(|\\)\\;",
    "sourceGroup": "R18",
    "sourceIcon": "https://img1.baidu.com/it/u=1496571514,2586450180&fm=253&fmt=auto&app=138&f=PNG?w=120&h=120",
    "sourceName": "妖次元里番",
    "sourceUrl": "https://www.ycylf.fun"
  },
  {
    "articleStyle": 0,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "{\"User-Agent\":\"Mozilla/5.0 (Linux; U; Android 13; zh-cn; 22021211RC Build/TKQ1.220807.001) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/100.0.4896.127 Mobile Safari/537.36 XiaoMi/MiuiBrowser/17.7.520830 swan-mibrowser\"}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "id.pleft@id.plist||id.content@tag.li",
    "ruleContent": "head@html&&class.wrap@html##每天有.*支持！|<div class=\"banner\">[\\s\\S]+",
    "ruleDescription": "",
    "ruleImage": "",
    "ruleLink": "tag.dt@tag.a@href||tag.a@href##post/##download3.php?utm_medium=",
    "ruleNextPage": "id.pagenavi@html##<span>\\d+</span>\\s+<a href=\"(https://.*?\\d+)\">\\d+</a>##$1###",
    "rulePubDate": "{{@@tag.dd.1@text||class.riqi@text##分类.*时间：|查看全文}}{{@@tag.dt@text||tag.a@text##(《.+》)##$1###}}{{@@tag.dt@text||tag.a@text##作者[:：](.*)##$1###}} ",
    "ruleTitle": "{{@@tag.a@text}}{{@@class.des@text##(.+)##简介：$1}}##[\\s\\S]*(简介：.+)##$1",
    "singleUrl": false,
    "sortUrl": "搜索::https://zxcs.info/index.php?keyword={{source.getVariable()}}\n最新小说::https://www.zxcs.info/map.html\n都市·娱乐::https://zxcs.info/sort/3\n武侠·仙侠::https://zxcs.info/sort/4\n奇幻·玄幻::https://zxcs.info/sort/8\n科幻·灵异::https://zxcs.info/sort/11\n历史·军事::https://zxcs.info/sort/14\n竞技·游戏::https://zxcs.info/sort/17\n二次元::https://zxcs.info/sort/20",
    "sourceComment": "源变量搜索",
    "sourceGroup": "下载,R18",
    "sourceIcon": "https://cdn.jsdelivr.net/gh/gedoor/legado@master/app/src/main/res/mipmap-hdpi/ic_launcher.png",
    "sourceName": "知轩藏书",
    "sourceUrl": "https://www.zxcs.info/"
  },
  {
    "articleStyle": 2,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": ".imglist li||.slist li",
    "ruleContent": "<js>\r\nhtml = result\r\n//总页数-1(最后一页没有图\r\npage = parseInt(java.getString('class.pager@tag.li.-3@tag.a@text'))\r\njava.log(\"共\"+page+\"页\")\r\nif(page>1){\r\nnurl=[];\r\nbase=baseUrl.replace('.aspx','p');\r\nfor(i=2;i<=page;i++){\r\n\tnurl.push(base+i+\".aspx,{'retry':16}\")\t\r\n}\r\n\r\nres=java.ajaxAll(nurl)\r\nfor(i in res){\r\n\thtml += org.jsoup.Jsoup.parse(res[i].body())\r\n}\r\n}\r\n</js>\r\n\r\nid.content@tag.img@src##\\n##,\r\n\r\n<js>\r\nli='\\n'\r\nlist=result.split(',')\r\nfor(i in list){\r\n\t\tli += '<li><img src=\"https://www.818.mom/images/logo.jpg_gzip.aspx\" data-src=\"'+list[i]+'\"></li>\\n'\r\n\t}\r\n\r\n</js>\r\n\r\n\r\n\r\n\r\n<ul id=\"box\">\r\n{{result}}\r\n</ul>\n<div id='relists'></div>\r\n<script>\r\n    var wqcms = new Object();\r\n</script>\r\n{{@@tag.script.-3@html##$(function(){wqcms.imgCont=$i('content');wqcms.imgResize();InitContStyle();wqcms.dispVars();});}}\r\n\r\n\r\n<link rel=\"stylesheet\" href=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.css\">\r\n<script src=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.js\"></script>\r\n<script>\n\r\n\troot = document.getElementById('box')\n\trelists = document.getElementById('relists')\n\t  pl = \"{{@@class.relist@tag.li@class.sum@textNodes##\\n##\\$}}\".split(\"$\");\r\n                times = \"{{@@class.relist@tag.li@class.author@class.date@textNodes##\\n##\\$}}\".split(\"$\");\r\n                layers = \"{{@@class.relist@tag.li@class.reLayer@text##\\n##\\$}}\".split(\"$\");\r\n\r\n                for (x = layers.length - 1; x >= 0; x--) {\r\n                    relists.innerHTML += \"<h4>\" + layers[x] + \"<span style='color: #999; font-size: 12px;'>\" + times[x] + \"</span><br>\" + pl[x] + \"</h4>\"\r\n                }\r\n\tlazy = new IntersectionObserver(entires => {\r\n\t\tentires.forEach(item => {\r\n\t\t\tif(item.isIntersecting){\r\n\t\t\t\titem=item.target\r\n\t\t\t\titem.src=item.getAttribute('data-src')\r\n\t\t\t\tlazy.unobserve(item)\r\n\t\t\t}\r\n\t\t})\r\n\t}, {\r\n\t\troot: root,\r\n\t\tthreshold: [0],\r\n\t\trootMargin:\"0px 0px 500px 0px\"\r\n\t})\r\n\r\nimgs = document.getElementsByTagName('img')\r\nArray.from(imgs).forEach(item => {\r\n\t\tlazy.observe(item)\r\n\t})\r\n\r\n//查看大图插件\r\nnew Viewer(root,{title:false,interval:3000})\r\n</script>\r\n",
    "ruleImage": "img@src",
    "ruleLink": "a@href",
    "ruleNextPage": "text.后页@href",
    "rulePubDate": "",
    "ruleTitle": "h5@text||h4@text",
    "singleUrl": false,
    "sortUrl": "首页::https://www.818.mom/mc49.aspx\n变量搜索::https://www.818.mom/mSearch.aspx?where=title&keyword={{v=source.getVariable()}}",
    "sourceComment": "//右上角三点设置源变量搜索",
    "sourceGroup": "R18",
    "sourceIcon": "https://www.199w.cc/mobile/images/logo_ip.gif",
    "sourceName": "24FA—美女",
    "sourceUrl": "https://www.818.mom/mc49.aspx",
    "style": "* {\n\tmargin: 0;\n\tpadding: 0\n}\nul {\n\tfont-size: 0;\n\theight: 100%;\n\toverflow-y: scroll\n}\nli {\n\tlist-style: none;\n\ttext-align: center\n}\nimg {\n\twidth: 100%;\n\theight: auto\n}"
  },
  {
    "articleStyle": 2,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.list@class.item",
    "ruleContent": "<!DOCTYPE html>\n<html>\n\n<head>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\">\n    <link rel=\"stylesheet\" href=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.css\">\n    <script src=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.js\"></script>\n    <script src=\"http://lib.sinaapp.com/js/jquery/2.0.2/jquery-2.0.2.min.js\"></script>\n    <script src=\"https://cdn.jsdelivr.net/hls.js/latest/hls.min.js\"></script>\n    <script src=\"https://xchina.co/scripts/my_49.js\"></script>\n</head>\n\n<body>\n\n    <div id=\"div_video\">\n        <div class=\"controls\">\n            <button class=\"btn prev\" go=\"-1\" disabled>上一个</button>\n            <div class=\"index\">\n                <span class=\"current\">1</span>\n                /\n                <span class=\"total\"></span>\n            </div>\n            <button class=\"btn next\" go=\"1\">下一个</button>\n        </div>\n        <video id=\"video\" width=\"100%\" controls src=\"\"></video>\n    </div>\n\n    {{@@class.main@tag.script.0@html}}\n\n    <script>\n\n\n            var xhs_type = \"{{@@id.tab_1@tag.div.2@text}}\";\n            var regType = /V/;\n            if (regType.test(xhs_type)) {\n                $('#div_video').css('display', 'block');\n                // 判断是否是mp4类型视频\n                if (typeof videos !== 'undefined') {\n                    // 视频个数\n                    var total = videos.length;\n                    $('.total').text(total)\n\n                    if (total == 1) {\n                        $('.controls').css(\"display\", 'none');\n                    }\n\n                    playVideo();\n                    $(\".btn[go]\").click(function () {\n                        if (!$(this).attr(\"disabled\")) {\n                            var go = parseInt($(this).attr(\"go\"));\n                            currentVideo += go;\n                            currentVideo = currentVideo < 0 ? 0 : currentVideo;\n                            currentVideo = currentVideo > videos.length - 1 ? videos.length - 1 : currentVideo;\n                            currentVideo == 0 ? $(\".btn[go='-1']\").attr(\"disabled\", \"disabled\") : $(\".btn[go='-1']\").removeAttr(\"disabled\");\n                            currentVideo == videos.length - 1 ? $(\".btn[go='1']\").attr(\"disabled\", \"disabled\") : $(\".btn[go='1']\").removeAttr(\"disabled\");\n                            $(\".current\").text(currentVideo + 1);\n                            playVideo(true);\n                        }\n                    });\n                    function playVideo(autoplay = false) {\n                        var $player = $(\"video\");\n                        var player = $player;\n                        $player.attr(\"poster\", $player.attr(\"_poster\")).attr(\"src\", domain + videos[currentVideo][\"url\"]).off(\"canplaythrough\").on(\"canplaythrough\", function () {\n                            $player.removeAttr(\"poster\");\n                        });\n                        player.load();\n                        if (autoplay) {\n                            player.play();\n                        }\n                    }\n                }else{\n                   $('.controls').css(\"display\", 'none');                \n                }\n            }\n\n    </script>\n{{@@class.container@tag.script.1@html}}\n\n\n    <div id=\"box\">{{@@class.photos@tag.a@tag.figure@tag.img@html}}</div>\n    <div id=\"loads\">加载中 </div>\n    <script>\n        var loads;\n        $(document).ready(function () {\n            var box = document.getElementById(\"box\");\n            loads = document.getElementById(\"loads\");\n            new Viewer(box, { title: false, interval: 3000 })\n            var i = 1;\n            var page = {{@@class.pager.0@tag.a.-2@textNodes##\\n}};\n            var baseurl = window.location.href.substring(0, window.location.href.lastIndexOf('.'));\n            var urlStart = baseurl + \"/\";\n            var urlEnd = \".html\";\n            var nurl;\n            new IntersectionObserver(entries => {\n                if (entries[0].intersectionRatio) {\n                    if (entries[0].intersectionRatio <= 0) return;\n                    for (var j = 0; j < 1; j++) {\n                        fetchHtml(i, page, urlStart, urlEnd);\n                        i += 1;\n                    }\n                }\n            }).observe(loads)\n        });\n\n        function fetchHtml(i, page, urlStart, urlEnd) {\n\n            if (i < page) {\n                i += 1;\n                nurl = urlStart + i + urlEnd;\n                $.ajax({\n                    url: nurl,\n                    dataType: 'html',\n                    success: function (html) {\n                        $('#box').append('<h5>' + i + '->' + page + '</h5>');\n                        $('#box').append($(html).find('img.cr_only'));\n                        box.viewer.update();\n                    },\n                    error: function (xhr) { }\n                });\n            } else {\n                $('#loads').html(\"\");\n            }\n        }\n    </script>\n</body>\n\n</html>",
    "ruleImage": "tag.a@tag.img@src",
    "ruleLink": "tag.a.0@href",
    "ruleNextPage": "class.pager.0@class.next@href",
    "ruleTitle": "tag.a@tag.img@alt",
    "singleUrl": false,
    "sortUrl": "秀人网::https://xchina.co/photos/album-1.html\n大尺度主题::https://xchina.co/photos/album-2.html\n性爱主题::https://xchina.co/photos/album-3.html\n露出主题::https://xchina.co/photos/album-4.html\nCosplay主题::https://xchina.co/photos/album-5.html\n道具主题::https://xchina.co/photos/album-6.html\n捆绑主题::https://xchina.co/photos/album-7.html\n白虎主题::https://xchina.co/photos/album-8.html\n女同主题::https://xchina.co/photos/album-9.html\n丝袜主题::https://xchina.co/photos/album-10.html\n有视频::https://xchina.co/photos/album-11.html",
    "sourceComment": "(挂梯使用)(加载不出来多刷新几次)",
    "sourceGroup": "🍆尤物,R18",
    "sourceIcon": "https://p3-search.byteimg.com/obj/labis/0a5502af6b95a6b49d3acd488aae8398",
    "sourceName": "小黄书(图集)",
    "sourceUrl": "https://xchina.co/photos.html",
    "style": "img{width:100%;height:auto;margin-bottom:10px}\nh5{margin-bottom:0;padding-left:5;margin-top:-10px}\n.controls {\n        padding: 5px 0 10px;\n        text-align: center;\n        font-size: 16px;\n        color: #000;\n        line-height: 30px;\n        white-space: nowrap;\n        user-select: none;\n\n    }\n\n    .btn {\n        height: 30px;\n        line-height: 30px;\n        padding: 0 20px;\n        font-size: 14px;\n        cursor: pointer;\n        background-color: #3498db;\n        color: #fff;\n        border: none;\n        border-radius: 5px;\n        outline: none;\n        margin: 0 5px;\n        display: inline-block;\n    }\n\n    .index {\n        display: inline-block;\n        margin: 0 10px;\n        padding: 5px;\n    }\n    #div_video {\n        display: none;\nmargin-bottom:10px;\n    }"
  },
  {
    "articleStyle": 0,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "<js>'<x t=\"净化规则\" h=\"legado://import/Source?src=https://gitee.com/yveguang/yuedu/raw/master/净化规则.json\">,<x t=\"书源\" h=\"legado://import/Source?src=https://gitee.com/lyc486/yuedu/raw/master/书源.json\">,<x t=\"检查更新\" h=\"legado://import/Source?src=https://gitee.com/yveguang/yuedu/raw/master/订阅.json\">'.split(\",\")</js>",
    "ruleContent": "",
    "ruleLink": "@@x@h\n@js:\nresult=\"https://www.coolapk.com/link?url=\"+result",
    "ruleTitle": "@@x@t",
    "singleUrl": false,
    "sortUrl": "替换规则::https://gitee.com/yveguang/yuedu/raw/master/jinghuals1.json",
    "sourceComment": "encodeURIComponent(",
    "sourceGroup": "🍡书源,R18",
    "sourceIcon": "https://gitee.com/lyc486/yuedu/raw/master/5x.webp",
    "sourceName": "洛娅橙",
    "sourceUrl": "书源整合/"
  },
  {
    "articleStyle": 0,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "",
    "injectJs": "",
    "lastUpdateTime": 1681137466612,
    "loadWithBaseUrl": true,
    "ruleArticles": ".layui-card-body@.ylist",
    "ruleContent": "",
    "ruleDescription": "a@href##content|html##json\n<js>\n`<input type=\"text\" value=\"https://www.yckceo.com{{result}}\"/>\n<br/>\n<a target=\"_blank\" href=\"https://www.yckceo.com{{result}}\">下载JSON文件</a>\n<br/>\n<a href=\"yuedu://{{baseUrl.includes(\"rss\")?\"rsssource\":\"booksource\"}}/importonline?src=https://www.yckceo.com{{result}} type=\"button\">一键导入</a>\n<iframe src=\"yuedu://{{baseUrl.includes(\"rss\")?\"rsssource\":\"booksource\"}}/importonline?src=https://www.yckceo.com{{result}}\" style=\"display:none\"></iframe>`\n</js>",
    "ruleImage": "",
    "ruleLink": "a@href",
    "ruleNextPage": "page",
    "rulePubDate": "tag.p.2@text||tag.p.1@text##\\s##···",
    "ruleTitle": "h2@a@text",
    "singleUrl": false,
    "sortUrl": "书源📖::https://www.yckceo.com/yuedu/shuyuan/index.html?page={{page}}\n书源合集📖📖::https://www.yckceo.com/yuedu/shuyuans/index.html?page={{page}}\n订阅源🔔::https://www.yckceo.com/yuedu/rss/index.html?page={{page}}\n订阅源合集🔔🔔::https://www.yckceo.com/yuedu/rsss/index.html?page={{page}}\n书源搜索📖🔍::https://www.yckceo.com/yuedu/shuyuan/sokey.html?keys={{source.getVariable()}}&page={{page}}\n书源合集搜索📖📖🔍::https://www.yckceo.com/yuedu/shuyuans/sokey.html?keys={{source.getVariable()}}&page={{page}}\n订阅源搜索🔔🔍::https://www.yckceo.com/yuedu/rss/sokey.html?keys={{source.getVariable()}}&page={{page}}\n订阅源合集搜索🔔🔔🔍::https://www.yckceo.com/yuedu/rsss/sokey.html?keys={{source.getVariable()}}&page={{page}}",
    "sourceComment": "如果不需要自动导入 描述规则删除<iframe ...></iframe>即可",
    "sourceGroup": "🍡书源,R18",
    "sourceIcon": "https://www.yckceo.com/favicon.ico",
    "sourceName": "源仓库[书源-订阅-搜索]",
    "sourceUrl": "https://www.yckceo.com/##",
    "style": ""
  },
  {
    "articleStyle": 0,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "injectJs": "",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "html",
    "ruleContent": "",
    "ruleImage": "@js:'https://bkimg.cdn.bcebos.com/pic/79f0f736afc379310a555bde1391a04543a98326bbb4'",
    "ruleLink": "@js:result=baseUrl",
    "ruleTitle": "title@text",
    "singleUrl": false,
    "sortUrl": "源仓库::http://yckceo.vip\npluto网站整合::https://legado.aoaostar.com/\n下载合集密码yuedu::https://wwn.lanzoub.com/b01pihymd\n乌云替换规则::https://www.lanzoux.com/b0bw8jwoh",
    "sourceGroup": "🍡书源,R18",
    "sourceIcon": "http://pic.pdowncc.com/upload/2021-6/202164836262322.png",
    "sourceName": "阅读资源集",
    "sourceUrl": "合集"
  },
  {
    "articleStyle": 0,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/18.17763",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceComment": "酷安：fisheer\n公众号：远近物",
    "sourceGroup": "🍡书源,R18",
    "sourceIcon": "http://jnztgtjy.usa3.345888.xyz/view/img/favicon.ico",
    "sourceName": "远近物",
    "sourceUrl": "https://flowus.cn/youtiaoyu/share/b6a9dc79-0c12-4ae6-828a-e3e6a5cd9d3e"
  },
  {
    "articleStyle": 1,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\n\t\"User-Agent\": \"Mozilla/5.0 (Linux; Android 9) Mobile Safari/537.36\",\"referer\": \"{{baseUrl}}\"\n\t}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "li.list-group-item",
    "ruleContent": "<js>\nplayer=result.match(\"http.*.json\")[0]\nresult = \"<iframe src=\\\"legado://import/auto?src=\" + player\n + \"\\\"width=\\\"100%\\\" height=\\\"0px\\\" controls=\\\"controls\\\" ></iframe>\";\nresult = \"<html><head><meta charset=\\\"utf-8\\\"><meta name=\\\"viewport\\\" content=\\\"width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no\\\" /><style>html,body{margin:0;padding:0;width:100%;}</style></head><body>\" + result + \"</body></html>\"\n</js>\n{{@img!-1@all##.*src=\"(.*)\"##<img src=\"$1\" width=\"100%\"}}{{result}}",
    "ruleImage": "@js:\"\"",
    "ruleLink": "a@href",
    "ruleNextPage": "page",
    "rulePubDate": "span@text##\\n## ",
    "ruleTitle": "a@text",
    "singleUrl": false,
    "sourceComment": "<js>\nplayer=result.match(\"http.*.json\")[0]\nresult = \"<iframe src=\\\"legado://import/auto?src=\" + player\n + \"\\\"width=\\\"100%\\\" height=\\\"0px\\\" controls=\\\"controls\\\" ></iframe>\";\nresult = \"<html><head><meta charset=\\\"utf-8\\\"><meta name=\\\"viewport\\\" content=\\\"width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no\\\" /><style>html,body{margin:0;padding:0;width:100%;}</style></head><body>\" + result + \"</body></html>\"\n</js>\n{{@img!-1@all##.*src=\"(.*)\"##<img src=\"$1\" width=\"100%\"}}{{result}}",
    "sourceGroup": "🍺整合,R18",
    "sourceIcon": "",
    "sourceName": "订阅源发布",
    "sourceUrl": "http://jnztgtjy.usa3.345888.xyz/god/index.php?page={{page}}"
  },
  {
    "articleStyle": 0,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "//div[@class=\"url-card io-px-2 col-6  col-2a col-sm-2a col-md-2a col-lg-3a col-xl-5a col-xxl-6a   \"]",
    "ruleContent": "",
    "ruleImage": "//div/a/div/div[1]/img/@data-src",
    "ruleLink": "//div/a/@href",
    "ruleTitle": "//div/a/div/div[2]/div/strong/text()",
    "singleUrl": false,
    "sourceGroup": "⚙️ 工具,R18",
    "sourceIcon": "https://ai-bot.cn/wp-content/uploads/2023/03/ai-bot-logo-black.png",
    "sourceName": "ai-bot",
    "sourceUrl": "https://ai-bot.cn/"
  },
  {
    "articleStyle": 0,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "//*[@id=\"post-item-tools\"]/div[2]/ul/li",
    "ruleContent": "",
    "ruleDescription": "",
    "ruleImage": "//picture/source/@data-srcset",
    "ruleLink": "//h2/a/@href",
    "ruleNextPage": "//*[@id=\"post-item-tools\"]/div[3]/button/@class",
    "ruleTitle": "//h2/a/text()",
    "shouldOverrideUrlLoading": "",
    "singleUrl": false,
    "sourceGroup": "⚙️ 工具,R18",
    "sourceIcon": "https://www.aihub.cn/wp-content/uploads/2023/08/aihub_cn_logo.png",
    "sourceName": "aihub",
    "sourceUrl": "https://www.aihub.cn/"
  },
  {
    "articleStyle": 0,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "//div[@class=\"url-card io-px-2 col-1a col-sm-1a col-md-2a col-lg-4a col-xl-5a col-xxl-5a \"]",
    "ruleContent": "",
    "ruleDescription": "",
    "ruleImage": "//div/a[1]/div/div[1]/img/@data-src",
    "ruleLink": "//div/a[1]/@href",
    "ruleTitle": "//div/strong/text()",
    "singleUrl": false,
    "sourceGroup": "⚙️ 工具,R18",
    "sourceIcon": "https://www.ainav.cn/logo.png",
    "sourceName": "aivan",
    "sourceUrl": "https://www.ainav.cn/"
  },
  {
    "articleStyle": 0,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.pic",
    "ruleImage": "img@data-src",
    "ruleLink": "a@href",
    "ruleNextPage": "text.下一页@href",
    "ruleTitle": "img@alt",
    "singleUrl": false,
    "sortUrl": "华语MV::https://www.yaomtv.cn/mv/1_1.html\n日韩MV::https://www.yaomtv.cn/mv/2_1.html\n\n现场MV::https://www.yaomtv.cn/mv/4_1.html\n影视MV::https://www.yaomtv.cn/mv/5_1.html\n夜店视频::https://www.yaomtv.cn/mv/6_1.html\n车模视频::https://www.yaomtv.cn/mv/7_1.html\n热舞视频::https://www.yaomtv.cn/mv/8_1.html\n美女写真::https://www.yaomtv.cn/mv/9_1.html\n美女打碟::https://www.yaomtv.cn/mv/10_1.html\n串烧视频::https://www.yaomtv.cn/mv/11_1.html",
    "sourceGroup": "💠 其他,R18",
    "sourceIcon": "",
    "sourceName": "爱车MV",
    "sourceUrl": "https://www.yaomtv.cn/"
  },
  {
    "articleStyle": 1,
    "contentBlacklist": "https?.*mobi.+top.*\nhttps?.*histats.+\nhttps?.*icu/biyys.+",
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\n\t\"User-Agent\": \"Mozilla/5.0 (Linux; Android 9) Mobile Safari/537.36\",\n\"Referer\": \"{{baseUrl}}\"\n\t}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": ".imglist li||.slist li",
    "ruleContent": "html||all",
    "ruleImage": "img@src",
    "ruleLink": "a@href",
    "ruleNextPage": "text.后页@href",
    "rulePubDate": ".date@text",
    "ruleTitle": "h5@text||h4@text",
    "singleUrl": false,
    "sortUrl": "首页::https://www.199w.cc/Mobile.aspx\n变量搜索::https://www.199w.cc/mSearch.aspx?where=title&keyword={{v=source.getVariable()}}\n焦点::mc9.aspx\n热点::mc88.aspx\n娱乐::mc21.aspx\n影视::mc36.aspx\n综艺::mc64.aspx\n音乐::mc43.aspx\n视频::mc45.aspx\n社会::mc35.aspx\n武林::mc74.aspx\n美女::mc49.aspx\n欧美::mc71.aspx\n两性::mc61.aspx",
    "sourceComment": "//右上角三点设置源变量搜索",
    "sourceGroup": "🎬 18禁,R18",
    "sourceIcon": "https://www.199w.cc/mobile/images/logo_ip.gif",
    "sourceName": "24FA",
    "sourceUrl": "https://www.199w.cc/"
  },
  {
    "articleStyle": 0,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "💠 其他,R18",
    "sourceIcon": "",
    "sourceName": "磁力口袋",
    "sourceUrl": "https://kd.clkd.xyz/"
  },
  {
    "articleStyle": 0,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\n    'User-Agent': 'Mozilla/5.0 (Linux; Android 11; Pixel 3 XL Build/RQ3A.211001.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/102.0.4988.0 Mobile Safari/537.36 SearchCraft/3.9.2 (Baidu; P1 11) '\n}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginUrl": "",
    "ruleArticles": "",
    "singleUrl": true,
    "sortUrl": "",
    "sourceComment": "画图需要登录，也不太好用，右上角设置-Cookie设置-完整Cookie，访问bing获取完整Cookie然后填入\n如果不能访问或访问过慢，可以尝试自己部署，然后把地址换成自己部署的地址\nvercel部署，不需要服务器，如果自己有域名更好\n部署地址：https://github.com/Harry-zklcdc/go-proxy-bingai",
    "sourceGroup": "⚙️ 工具,R18",
    "sourceIcon": "https://pic.imgdb.cn/item/65ede32c9f345e8d033426f9.webp",
    "sourceName": "BingAI",
    "sourceUrl": "https://bing.zjydn.top"
  },
  {
    "articleStyle": 0,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\n    'User-Agent': 'Mozilla/5.0 (Linux; Android 11; Pixel 3 XL Build/RQ3A.211001.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/102.0.4988.0 Mobile Safari/537.36 SearchCraft/3.9.2 (Baidu; P1 11) '\n}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginUrl": "https://linux.do",
    "ruleArticles": "",
    "singleUrl": true,
    "sortUrl": "",
    "sourceComment": "邀请链接：https://linux.do/invites/NHbqjjBANN\n或者直接搜索“邀请链接”",
    "sourceGroup": "⚙️ 工具,R18",
    "sourceIcon": "https://pic.imgdb.cn/item/65ede9ae9f345e8d0351a2e1.png",
    "sourceName": "linux.do",
    "sourceUrl": "https://linux.do"
  },
  {
    "articleStyle": 2,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": ".recommended@.recommended-grids@.col-md-2:matches((?i)^((?!秀人|IMISS|XIAOYU|FEILIN).)*$)",
    "ruleContent": ".photo_box@tag.img@src##\\n##\\$\n\n<js>\nli='\\n'\njava.log(result)\nlist=result.split('$')\nfor(i in list){\n\t     if(list[i].length<20) break;\n\t\tli += '<li><img src=\"https://www.jokerlu6.pw/template/jokerlu/images/logo.png\" data-src=\"https://imageproxy.pimg.tw/resize?url='+list[i].replace(/^(http(.*)\\.jpg).*/,'$1')+'\"></li>\\n';\n\t}\nli\n</js>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\">\n\n\n<ul id=\"box\">\n{{result}}\n</ul>\n<h3>{{@@.song-info@h3@text}}</h3>\r\n<h6>{{@@id.myList@h4@text}}</h6>\n\n<link rel=\"stylesheet\" href=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.css\">\r\n<script src=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.js\"></script>\n<script>\n\troot = document.getElementById('box')\n\tlazy = new IntersectionObserver(entires => {\n\t\tentires.forEach(item => {\n\t\t\tif(item.isIntersecting){\n\t\t\t\titem=item.target\n\t\t\t\titem.src=item.getAttribute('data-src')\n\t\t\t\tlazy.unobserve(item)\n\t\t\t}\n\t\t})\n\t}, {\n\t\troot: root,\n\t\tthreshold: [0],\n\t\trootMargin:\"0px 0px 500px 0px\"\n\t})\n\nimgs = document.getElementsByTagName('img')\nArray.from(imgs).forEach(item => {\n\t\tlazy.observe(item)\n\t})\n\n//查看大图插件\nnew Viewer(root,{title:false,interval:3000})\n</script>",
    "ruleImage": "https://imageproxy.pimg.tw/resize?url={{@@img@src}}",
    "ruleLink": "a.0@href",
    "ruleNextPage": ".mbyc.-2@a@href",
    "rulePubDate": ".time@p@text",
    "ruleTitle": ".title@text",
    "singleUrl": false,
    "sortUrl": "清凉写真::/index.php/arttype/110.html\n清凉随机::/index.php/arttype/110-{{ Math.ceil(Math.random()*2767) }}/\n美女图::/index.php/arttype/76.html\n美女随机::/index.php/arttype/76-{{ Math.ceil(Math.random()*699) }}/\n丝袜美腿::/index.php/arttype/111.html\n丝袜随机::/index.php/arttype/111-{{ Math.ceil(Math.random()*754) }}/\n亚洲美女::/index.php/arttype/77.html\n亚洲随机::/index.php/arttype/77-{{ Math.ceil(Math.random()*473) }}/\n素人正妹::/index.php/arttype/79.html\n素人随机::/index.php/arttype/79-{{ Math.ceil(Math.random()*163) }}/\r\nCOSPLAY::/index.php/arttype/80.html\nCOS随机::/index.php/arttype/80-{{ Math.ceil(Math.random()*850) }}/\r\n性感激情::/index.php/arttype/112.html\r\n欧美写真::/index.php/arttype/113.html\r\n欧美美女::/index.php/arttype/78.html",
    "sourceComment": "免费的图片代理https://imageproxy.pimg.tw 可代理 jpg gif,可靠性未知,能用多久不知道,到时候想看自己找梯子,(都有梯子了,还看这个?)",
    "sourceGroup": "🎬 18禁,R18",
    "sourceIcon": "https://www.jokerlu6.pw/favicon.ico",
    "sourceName": "jokerlu",
    "sourceUrl": "https://www.jokerlu6.pw",
    "style": "* {\n\tmargin: 0;\n\tpadding: 0\n}\nul {\n\tfont-size: 0;\n\theight: 100%;\n\toverflow-y: scroll\n}\nli {\n\tlist-style: none;\n\ttext-align: center\n}\nimg {\n\twidth: 100%;\n\theight: auto\n}"
  },
  {
    "articleStyle": 0,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginUrl": "https:://www.trsz.xyz/user-login.htm",
    "ruleArticles": "class.list-unstyled@li",
    "ruleContent": "class.message@all",
    "ruleLink": "class.style3_subject@a.0@href",
    "ruleNextPage": "page",
    "rulePubDate": "class.date text-grey@text",
    "ruleTitle": "class.style3_subject@a@text",
    "singleUrl": false,
    "sortUrl": "首页::/bbs-{{page}}.htm\n同人小说::/forum-1-{{page}}.htm\n动漫同人::/forum-1-{{page}}.htm?tagids=0_3_0_0\n影视同人::/forum-1-{{page}}.htm?tagids=0_4_0_0\n小说同人::/forum-1-{{page}}.htm?tagids=0_5_0_0\n其他同人::/forum-1-{{page}}.htm?tagids=0_6_0_0\n常规小说::/forum-2-{{page}}.htm\n搜索::/search.htm?keyword={{source.getVariable()}}",
    "sourceGroup": "R18",
    "sourceIcon": "https://www.trsz.xyz/view/img/logo.png",
    "sourceName": "同人书站",
    "sourceUrl": "https://www.trsz.xyz"
  },
  {
    "articleStyle": 2,
    "customOrder": 0,
    "enableJs": false,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\n     \"Referer\":\"https://xchina.co\",\n     \"User-Agent\":\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36 Edg/130.0.0.0\",\n     \"Origin\":\"https://xchina.co\"\n}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginUrl": "https://xchina.co/login.html",
    "ruleArticles": "class.videos@class.item",
    "ruleContent": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta\n      name=\"viewport\"\n      content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\"\n    />\n    <link\n      rel=\"stylesheet\"\n      href=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.css\"\n    />\n    <script src=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.js\"></script>\n    <script src=\"http://lib.sinaapp.com/js/jquery/2.0.2/jquery-2.0.2.min.js\"></script>\n    <script src=\"https://cdn.jsdelivr.net/hls.js/latest/hls.min.js\"></script>\n    <script src=\"https://xchina.co/scripts/my_49.js\"></script>\n    <script src=\"https://cdn.jsdelivr.net/npm/hls.js@latest\"></script>\n    {{@@class.main@tag.script.1@html}}\n  </head>\n\n  <body>\n    <div id=\"div_video\">\n      <video id=\"video_player\" width=\"100%\" controls src=\"\"></video>\n    </div>\n\n    <template id=\"urlData\"> {{@@class.body@tag.script.0@html}} </template>\n    <template id=\"video_poster\"> {{@@tag.video@poster}} </template>\n\n    <script>\n      var templateContent = document.getElementById(\"urlData\").innerHTML;\n      var m3u8Url = templateContent.split(\"'\")[3];\n      var m3u8Img = templateContent.split(\"'\")[5];\n      var $player = $(\"video\");\n      $player.attr(\"poster\", m3u8Img);\n      // 检查HLS.js是否支持当前浏览器\n      if (Hls.isSupported()) {\n        // 创建一个HLS实例\n        const hls = new Hls();\n        // 设置自定义请求头\n        hls.xhrSetup = (xhr, url) => {\n          xhr.setRequestHeader(\"Host\", \"s2.playhls.com\");\n        };\n\n        hls.loadSource(m3u8Url);\n\n        hls.attachMedia(document.getElementById(\"video_player\"));\n\n        hls.on(Hls.Events.MANIFEST_PARSED, () => {\n          document.getElementById(\"video_player\").play();\n        });\n      } else {\n        console.error(\"当前浏览器不支持HLS.js\");\n      }\n    </script>\n  </body>\n</html>\n",
    "ruleDescription": "",
    "ruleImage": "@tag.a.0@tag.div@data-poster",
    "ruleLink": "@tag.a.0@href",
    "ruleNextPage": "class.pager.0@class.next@href",
    "rulePubDate": "class.tag@class.duration@text",
    "ruleTitle": "class.text@tag.a@text",
    "singleUrl": false,
    "sortUrl": "搜索::https://xchina.co/videos/keyword-{{(source.getVariable()==''||source.getVariable()==null)?source.setVariable('糖心'):source.getVariable()}}/{{page}}.html\n中文AV::https://xchina.co/videos/series-63824a975d8ae.html\n日本AV::https://xchina.co/videos/series-6206216719462.html\n模特私拍::https://xchina.co/videos/series-6030196781d85.html\n业余拍摄::https://xchina.co/videos/series-617d3e7acdcc8.html\n情色电影::https://xchina.co/videos/series-61c4d9b653b6d.html\n其他影片::https://xchina.co/videos/series-60192e83c9e05.html\n",
    "sourceComment": "挂梯使用，裸连大概率连不上。",
    "sourceGroup": "R18",
    "sourceIcon": "https://p3-search.byteimg.com/obj/labis/0a5502af6b95a6b49d3acd488aae8398",
    "sourceName": "小黄书-视频",
    "sourceUrl": "https://xchina.co/videos.html",
    "style": "#div_video {\n    display: block;\n    margin-bottom:10px;\n}"
  },
  {
    "articleStyle": 0,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "injectJs": "var script = document.createElement(\"script\");\nscript.src = \"https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js\";\ndocument.getElementsByTagName('head')[0].appendChild(script);\n\nsetInterval(function () {\n    $(\"div.aspect-w-16.aspect-h-9\").eq(11).removeAttr(\"@click\");\n    $(\"#qk-ext-root\").remove();\n    $(\"iframe\").remove();\n    $(\"div.pt-16.pb-4.px-4\").remove();\n    $(\"div.space-y-5.mb-5\").remove();\n    $(\"div.root--ujvuu\").remove();\n}, 100);\n",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginUrl": "",
    "singleUrl": true,
    "sourceComment": "（挂梯使用）",
    "sourceGroup": "R18",
    "sourceIcon": "https://missav.com/img/favicon.ico",
    "sourceName": "MISSAV",
    "sourceUrl": "https://missav.com/cn"
  },
  {
    "articleStyle": 0,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "R18",
    "sourceIcon": "",
    "sourceName": "COSPLAY,求大佬帮忙做成订阅源，或者完善一下书源",
    "sourceUrl": "https://vip.aqdz104.com/sitemap"
  },
  {
    "articleStyle": 1,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.list_box@ul",
    "ruleContent": "class.img_box@tag.p@tag.a@tag.img@img\n<js>\nli='\\n'\nlist=result.split('\\n')\nfor(i in list){\n\t\tli += '<li><img src=\"http://bpic.wotucdn.com/20/32/52/20325281-1190f9105412b42f759882ce262c2dcb-3.jpg\" data-src=\"'+list[i]+'\"></li>\\n'\n\t}\nli\n</js>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\">\n\n\n<ul id=\"box\">\n{{result}}\n</ul>\n\n\n<link rel=\"stylesheet\" href=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.css\">\n<script src=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.js\"></script>\n<script>\n\troot = document.getElementById('box')\n\tlazy = new IntersectionObserver(entires => {\n\t\tentires.forEach(item => {\n\t\t\tif(item.isIntersecting){\n\t\t\t\titem=item.target\n\t\t\t\titem.src=item.getAttribute('data-src')\n\t\t\t\tlazy.unobserve(item)\n\t\t\t}\n\t\t})\n\t}, {\n\t\troot: root,\n\t\tthreshold: [0],\n\t\trootMargin:\"0px 0px 500px 0px\"\n\t})\n\nimgs = document.getElementsByTagName('img')\nArray.from(imgs).forEach(item => {\n\t\tlazy.observe(item)\n\t})\n\n//查看大图插件\nnew Viewer(root,{title:false,interval:3000})\n</script>\n",
    "ruleDescription": "",
    "ruleImage": "class.lazy@img",
    "ruleLink": "tag.a@href",
    "ruleNextPage": "text.Next@href",
    "rulePubDate": "class.time@text",
    "ruleTitle": "tag.a@title",
    "singleUrl": false,
    "sortUrl": "最新::https://www.qinimg.top/home/0.html\n热门::https://www.qinimg.top/home/1.html\n推荐::https://www.qinimg.top/home/2.html\n喜欢::https://www.qinimg.top/home/3.html",
    "sourceGroup": "图片,R18",
    "sourceIcon": "https://www.qinimg.top/static/logo.png",
    "sourceName": "成人图片分享网",
    "sourceUrl": "https://www.qinimg.top",
    "style": "* {\n\tmargin: 0;\n\tpadding: 0\n}\nul {\n\tfont-size: 0;\n\theight: 100%;\n\toverflow-y: scroll\n}\nli {\n\tlist-style: none;\n\ttext-align: center\n}\nimg {\n\twidth: 100%;\n\theight: auto\n}"
  },
  {
    "articleStyle": 0,
    "concurrentRate": "",
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginCheckJs": "",
    "loginUi": "",
    "loginUrl": "",
    "ruleArticles": "ul@li\n<js>java.log(result)</js>",
    "ruleContent": "class.col-md-12@html",
    "ruleDescription": "",
    "ruleImage": "tag.img@data-original&&tag.img@src",
    "ruleLink": "a@href",
    "ruleNextPage": "text.下一页@href",
    "rulePubDate": "a@font@text",
    "ruleTitle": "a@text",
    "singleUrl": false,
    "sortUrl": "亚洲情色::http://www.v93e.com/AAAtb/asiatp/\n网友自拍::http://www.v93e.com/AAAtb/zipaitp/\n清纯美眉::http://www.v93e.com/AAAtb/meimeitp/\n美腿丝袜::http://www.v93e.com/AAAtb/meituitp/\n欧美色图::http://www.v93e.com/AAAtb/oumeitp/\n明星色图::http://www.v93e.com/AAAtb/mingxing/\n另类色图::http://www.v93e.com/AAAtb/linglei/\n情色动漫::http://www.v93e.com/AAAtb/cartoontp/\n校园小说::http://www.v93e.com/AAAtb/cartoontp/\n黄色小说::http://www.v93e.com/AAAtb/huangse/\n淫妻小说::http://www.v93e.com/AAAtb/yinqixiaoshuo/\n人妻小说::http://www.v93e.com/AAAtb/renqiwz/\n强暴小说::http://www.v93e.com/AAAtb/qiangbaoxiaoshuo/\n另类小说::http://www.v93e.com/AAAtb/lingleijiqing/\n性爱小说::http://www.v93e.com/AAAtb/xingaiss/\n长篇小说::http://www.v93e.com/AAAtb/xingaijiqiao/\n",
    "sourceComment": "<js>github@ifwlzs</js>",
    "sourceGroup": "R18",
    "sourceIcon": "https://avatars.githubusercontent.com/u/49548316",
    "sourceName": "91综合色区",
    "sourceUrl": "http://www.v93e.com/",
    "style": "img{\n\twidth:100%;\n\theight:auto;\n\t}\n\t*{\n\t\tcolor:black;\n\t\ttext-align:left;\n\t\t}\n\t##github@ifwlzs\n"
  },
  {
    "articleStyle": 0,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "R18",
    "sourceIcon": "https://up.enterdesk.com/edpic_source/2d/34/3e/2d343ebf004710b39ccc60a45794bf56.jpg",
    "sourceName": "az23",
    "sourceUrl": "https://a52accggrtfg.xyz:52888/home/index.html"
  },
  {
    "articleStyle": 0,
    "concurrentRate": "",
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\n    'User-Agent': 'Mozilla/5.0 (Linux; Android 11; Pixel 3 XL Build/RQ3A.211001.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/102.0.4988.0 Mobile Safari/537.36 SearchCraft/3.9.2 (Baidu; P1 11) '\n}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "<js>\njson=[];\nif(baseUrl.match(/ /)){\nlist=baseUrl.replace(/http.*?wd=\\s*/,'').split(' ');\nfor(i in list){\nhref=list[i].match(/【(.*?)】/)[1];\ntext=list[i].match(/《(.*?)》/)[1];\nintro=list[i].match(/◎(.*?)◎/)[1];\nindex=list[i].match(/^(\\d+、\\d+、)/)?list[i].match(/^(\\d+、\\d+、)/)[1]:list[i].match(/^(.*?)【/)[1]\njson.push({text:text,src:href,intro:intro,index:index})\n}\n}\nJSON.stringify(json)</js>\n$.[*]",
    "ruleContent": "",
    "ruleDescription": "",
    "ruleImage": "@js:\"https://inisqw.gitee.io/rss/66.jpg\"",
    "ruleLink": "$.index\n@js:\nif(!result.match(/^http/) && !result.match(/\\d+、\\d+、/)){\nresult=\"https://www.coolapk.com/link?url=\"+encodeURIComponent(result)\n}else{result=result}",
    "ruleNextPage": "",
    "rulePubDate": "$.intro",
    "ruleTitle": "$.text",
    "singleUrl": false,
    "sortUrl": "教程::http://22.cn/?url=【】《》◎◎ https://v.douyin.com/UYYxu54【】《抖音食用视频教程》◎一看就会~超级简单◎ https://v.kuaishou.com/REXQ6k【】《快手食用视频教程》◎一看就会~超级简单◎ http://aila.usa3a.ml/?thread-363.htm【】《爱啦食用图文教程》◎一看就会~超级简单◎ http://aila.usa3a.ml/rss/qun.jpg【】《还不懂请加群》◎群里大佬超多◎ http://aila.usa3a.ml【】《教你写源~仅需一小时就是大佬》◎游客直接看帖看图回帖◎",
    "sourceComment": "认真吧图文教程/视频教程看完，你就会导入+食用了。\n内含源仓库，喵公子，一程，频道官方，官方论坛等的本人自制订阅源。\n每日自制自写3+订阅源。\n你懂的软件订阅源。",
    "sourceGroup": "R18",
    "sourceIcon": "",
    "sourceName": "珍藏15+订阅源(视频导入+食用教程)抖音链接>长久",
    "sourceUrl": "https://v.douyin.com/UYYxu54",
    "style": ""
  },
  {
    "articleStyle": 0,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "entries",
    "ruleDescription": "<title>{{$.name}}</title>\n<iframe src=\"legado://import/auto?src=https://www.gitlink.org.cn/api/dyy520/vip/raw/{{$.path}}?ref=master\" hidden></iframe>\n<br><h3>{{$.name}}</h3>\n<h5>导入不成功？多导入几次试试<br>提示没有浏览器，升级阅读3.0到最新版<br>格式不对，提示英文，使用电信网络/魔法上网<br>如果导入后不会用，请关注微信公众号<br>阅读加油<br>有食用教程滴</h5>\n<h6><b>\n↓资源链接，点击复制\n<a href=\"legado://import/auto?src=https://www.gitlink.org.cn/api/dyy520/vip/raw/{{$.path}}?ref=master\">一键导入</a>\n<textarea id=\"copy\" onclick=\"copy()\">https://www.gitlink.org.cn/api/dyy520/vip/raw/{{$.path}}?ref=master</textarea>\n{{$..message}}😊{{$..created_at}}😊{{$..time_from_now}}\n</b></h6><style>\na{float:right;text-decoration:none}\nh3,h5{text-align:center}\nh6{margin:0 2;position:sticky;top:30%}\ntextarea{width:100%;border-radius:5px}\n</style><script>\nfunction copy(){\n\tdocument.getElementById('copy').select()\n\tdocument.execCommand('copy')\n\talert(\"链接复制成功👉请粘贴到对应导入地方导入\")\n}\n</script>",
    "ruleImage": "@js:\"https://inisqw.gitee.io/rss/66.jpg\"",
    "ruleLink": "https://www.gitlink.org.cn/api/dyy520/vip/raw/{{$.path}}?ref=master",
    "rulePubDate": "{{$..created_at}}😊{{$..time_from_now}}😊{{$..message}}",
    "ruleTitle": "name",
    "singleUrl": false,
    "sourceComment": "",
    "sourceGroup": "R18",
    "sourceIcon": "https://inisqw.gitee.io/rss/66.jpg",
    "sourceName": "rss(一起开源发布页)(一键导入)",
    "sourceUrl": "https://www.gitlink.org.cn/api/dyy520/vip/entries.json?ref=master"
  },
  {
    "articleStyle": 0,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "details@ul@children",
    "ruleContent": "",
    "ruleLink": "@js:\nresult=\"https://www.coolapk.com/link?url={{@ul@li.1@a@href}}\"",
    "rulePubDate": "🕰️{{@ul@li.-2@text}}🕰️{{@ul@li.-1@text}}",
    "ruleTitle": "@textNodes",
    "singleUrl": false,
    "sourceGroup": "R18",
    "sourceIcon": "https://www.aoaostar.com/favicon.ico",
    "sourceName": "「阅读」APP 资源",
    "sourceUrl": "https://legado.aoaostar.com/"
  },
  {
    "articleStyle": 2,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "{\r\n\"User-Agent\": \"Dalvik/2.1.0 (Linux; U; Android 10; BAH3-W09 Build/HUAWEIBAH3-W09)\"\r\n}",
    "injectJs": "",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "$.data[?(@.vote_positive>=@.vote_negative && @.vote_negative<30)]",
    "ruleContent": "",
    "ruleDescription": "$.images[*].full_url##\\n##\\$\r\n\r\n<js>\r\nli='\\n'\r\nlist=result.split('$')\r\nfor(i in list){\r\n\t\tli += '<li><img src=\"'+list[i]+'\"></li>\\n'\r\n\t}\r\n\r\n</js>\r\n\r\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\">\r\n{{$.content##\\#img\\#}}\r\n<ul id=\"box\">\r\n{{result}}\r\n</ul>\r\n\r\n<link rel=\"stylesheet\" href=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.css\">\r\n<script src=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.js\"></script>\r\n<script>\r\nroot = document.getElementById('box');\r\n//查看大图插件\r\nnew Viewer(root,{title:false,interval:3000});\r\n</script>",
    "ruleImage": "$.images[0].url",
    "ruleLink": "$.images[0].url",
    "ruleNextPage": "@js:\nresult = '{{baseUrl}}'.replace(/\\?start_id=\\d{7,}$/,'')+'?start_id={{$.data[-1].id}}'",
    "rulePubDate": "$.date##^(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2})\\+08:00$##$1&nbsp;$2",
    "ruleTitle": "👍{{$.vote_positive}}&nbsp; 🤢{{$.vote_negative}}&nbsp; 🖼️{{$.images.length()}}",
    "singleUrl": false,
    "sortUrl": "无聊图::/api/v1/comment/list/26402\n随手拍::/api/v1/comment/list/21183\n女装::/api/v1/comment/list/108629",
    "sourceGroup": "🌐 媒体,R18",
    "sourceIcon": "https://img1.baidu.com/it/u=1496571514,2586450180&fm=253&fmt=auto&app=138&f=PNG?w=120&h=120",
    "sourceName": "煎蛋无聊图",
    "sourceUrl": "https://api.jandan.net",
    "style": "/*标题相关*/\nh3{text-align:center}\nh6{margin-bottom:0}\n* {\n\tmargin: 0;\n\tpadding: 0\n}\nul {\n\tfont-size: 0;\n\theight: 100%;\n\toverflow-y: scroll\n}\nli {\n\tlist-style: none;\n\ttext-align: center\n}\nimg {\n\twidth: 100%;\n\theight: auto\n}"
  },
  {
    "articleStyle": 2,
    "concurrentRate": "1000",
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "{\r\n\"User-Agent\": \"Dalvik/2.1.0 (Linux; U; Android 10; BAH3-W09 Build/HUAWEIBAH3-W09)\"\r\n}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.list@class.node@class.sousuo||tag.ul.4@tag.li",
    "ruleContent": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\">\r\n    <style>\r\n        .lazy-img {\r\n            width: 100%;\r\n            height: auto;\r\n            margin: 0 0;\r\n            opacity: 0;\r\n            transition: opacity 0.3s;\r\n            background: url('/template/images/logo.png') no-repeat center;\r\n            background-size: contain;\r\n        }\r\n        #loads {\r\n            text-align: center;\r\n            padding: 20px;\r\n            color: #666;\r\n        }\r\n        .img-container {\r\n            position: relative;\r\n            margin: 0 0;\r\n            border: 1px solid #eee;\r\n        }\r\n        .url-debug {\r\n            font-size: 12px;\r\n            color: #999;\r\n            word-break: break-all;\r\n            padding: 5px;\r\n            background: #f5f5f5;\r\n        }\r\n        #loadMoreBtn {\r\n            display: block;\r\n            width: 80%;\r\n            margin: 20px auto;\r\n            padding: 12px;\r\n            background: #4CAF50;\r\n            color: white;\r\n            border: none;\r\n            border-radius: 25px;\r\n            font-size: 16px;\r\n            cursor: pointer;\r\n        }\r\n        #loadMoreBtn:disabled {\r\n            background: #cccccc;\r\n            cursor: not-allowed;\r\n        }\r\n    </style>\r\n</head>\r\n<body>\r\n    <h3>{{@@.item_title@tag.h1@text}}</h3>\r\n    <h5>{{@class.jianjie@text}}</h5>\r\n    <div>{{@@tag.p@tag.img@html}}</div>\r\n    <div id=\"box\"></div>\r\n    <button id=\"loadMoreBtn\">加载更多</button>\r\n    <div id=\"loads\"></div>\r\n\r\n    <script>\r\n        const CONFIG = {\r\n            totalPage: {{@@class.page.0@tag.a.-2@textNodes##\\n}},\r\n            baseUrl: \"{{baseUrl.replace('.html','_')}}\",\r\n            loadingText: (currentPage, timeLeft) => `正在加载第 ${currentPage}到${currentPage+1} 页 (${timeLeft}s)`,\r\n            errorText: \"加载失败，点击重试\",\r\n            endText: \"已加载全部内容\",\r\n            maxRetries: 3,\r\n            countdownDuration: 120\r\n        };\r\n\r\n        let page = 1;\r\n        let isLoading = false;\r\n        let countdownTimer = null;\r\n        let allImages = [];\r\n        \r\n        const observer = new IntersectionObserver(entries => {\r\n            entries.forEach(entry => {\r\n                if (entry.isIntersecting) {\r\n                    const img = entry.target;\r\n                    img.src = img.dataset.src;\r\n                    img.onload = () => {\r\n                        img.style.opacity = 1;\r\n                        img.style.background = 'none';\r\n                    };\r\n                    observer.unobserve(img);\r\n                }\r\n            });\r\n        });\r\n\r\n        const loadMoreBtn = document.getElementById('loadMoreBtn');\r\n        \r\n        function updateButtonState() {\r\n            loadMoreBtn.disabled = isLoading || page > CONFIG.totalPage;\r\n            if (page > CONFIG.totalPage) {\r\n                loadMoreBtn.style.display = 'none';\r\n                document.getElementById('loads').textContent = CONFIG.endText;\r\n            }\r\n        }\r\n\r\n        function startCountdown(duration, currentPage) {\r\n            let timeLeft = duration;\r\n            \r\n            countdownTimer = setInterval(() => {\r\n                document.getElementById('loads').textContent = \r\n                    CONFIG.loadingText(currentPage, timeLeft);\r\n                timeLeft--;\r\n                \r\n                if(timeLeft < 0) {\r\n                    clearInterval(countdownTimer);\n                    isLoading = false;\r\n                updateButtonState();\r\n                }\r\n            }, 1000);\r\n        }\r\n\r\n        async function fetchPage(p, retryCount = 0) {\r\n            try {\r\n                const response = await fetch(`${CONFIG.baseUrl}${p}.html`);\r\n                const text = await response.text();\r\n                const doc = new DOMParser().parseFromString(text, 'text/html');\r\n                return Array.from(doc.querySelectorAll('p img'))\r\n                    .slice(0, 3)\r\n                    .map(img => img.src);\r\n            } catch (error) {\r\n                if(retryCount < CONFIG.maxRetries) {\r\n                    return fetchPage(p, retryCount + 1);\r\n                }\r\n                throw new Error(`第${p}页加载失败`);\r\n            }\r\n        }\r\n\r\n        async function loadImages() {\r\n            if (page > CONFIG.totalPage || isLoading) return;\r\n            \r\n            isLoading = true;\r\n            updateButtonState();\r\n            startCountdown(CONFIG.countdownDuration, page);\r\n\r\n            try {\r\n                // 同时加载两页\r\n                const [page1, page2] = await Promise.all([\r\n                    fetchPage(page),\r\n                    page+1 <= CONFIG.totalPage ? fetchPage(page+1) : Promise.resolve([])\r\n                ]);\r\n                \r\n                allImages.push(...page1, ...page2);\r\n                appendImages();\r\n                page += 2;\r\n\r\n                if (page > CONFIG.totalPage) {\r\n                    document.getElementById('loads').textContent = CONFIG.endText;\r\n                }\r\n            } catch (error) {\r\n                console.error(error);\r\n                document.getElementById('loads').innerHTML = \r\n                    `<span style=\"color:red\">${CONFIG.errorText}</span>`;\r\n                loadMoreBtn.textContent = \"重试\";\r\n                loadMoreBtn.onclick = () => {\r\n                    document.getElementById('loads').textContent = CONFIG.loadingText(page, CONFIG.countdownDuration);\r\n                    loadImages();\r\n                };\r\n            } finally {\r\n                clearInterval(countdownTimer);\r\n                isLoading = false;\r\n                updateButtonState();\r\n            }\r\n        }\r\n\r\n        function appendImages() {\r\n            const fragment = document.createDocumentFragment();\r\n            allImages.splice(0, 6).forEach(src => {\r\n                const container = document.createElement('div');\r\n                container.className = 'img-container';\r\n\r\n                const img = document.createElement('img');\r\n                img.className = 'lazy-img';\r\n                img.dataset.src = src;\r\n                img.src = '/template/images/logo.png';\r\n                img.alt = '写真';\r\n\r\n                container.appendChild(img);\r\n                fragment.appendChild(container);\r\n                \r\n                observer.observe(img);\r\n            });\r\n            document.getElementById('box').appendChild(fragment);\r\n        }\r\n\r\n        // 事件监听\r\n        loadMoreBtn.addEventListener('click', loadImages);\r\n        window.addEventListener('scroll', () => {\r\n            if (window.innerHeight + window.scrollY >= document.documentElement.offsetHeight - 100) {\r\n                loadImages();\r\n            }\r\n        });\r\n        window.addEventListener('touchmove', () => {\r\n            if (window.innerHeight + window.scrollY >= document.documentElement.offsetHeight - 100) {\r\n                loadImages();\r\n            }\r\n        });\r\n        loadImages();\r\n        updateButtonState();\n    </script>\r\n</body>\r\n</html>\r\n",
    "ruleDescription": "",
    "ruleImage": "tag.a@tag.img@src",
    "ruleLink": "tag.a.0@href",
    "ruleNextPage": ".current~a.0@href",
    "rulePubDate": "{{@class.meta-post@textNodes}}_浏览:{{@class.cx_like@textNodes}}",
    "ruleTitle": "{{@tag.a@title##\\[.*\\]## }}{{@class.meta-title@text##\\[.*\\]##}} {{@tag.span.0@text##\\n ##\\[.*\\]##}}{{@class.title@tag.span@text##\\[.*\\]##}}",
    "singleUrl": false,
    "sortUrl": "最新::/new.html\n随机::/XiuRen/index{{ Math.ceil(Math.random()*100) }}.html\n搜索::/plus/search/index.asp?keyword={{(source.getVariable()==''||source.getVariable()==null)?source.setVariable('粉色薄纱'):source.getVariable()}}&searchtype=titlekeywords\r\n一周推荐::/hot.html\n秀人网:: /XiuRen/\r\nImiss爱蜜社::/IMiss/\r\n模范学院::/MFStar/\r\n嗲囡囡::/FeiLin/\r\n尤蜜荟::/YouMi/\r\n画语界::/XiaoYu/\r\n花漾::/HuaYang/\r\n星颜社::/XingYan/\r\n顽味生活::/Taste/",
    "sourceComment": "",
    "sourceGroup": "图片,R18",
    "sourceIcon": "https://images.weserv.nl/?url=https://article.biliimg.com/bfs/article/ded67638d944a7e0ef4452b721fd6434a22de16d.png",
    "sourceName": "秀人集v22",
    "sourceUrl": "http://25.xiuren005.top/",
    "style": "/*标题相关*/\r\nh3{text-align:center}\r\nh6{margin-bottom:0}\r\nimg{width:100%}\nh5{margin-bottom:0;padding-left:5;}",
    "variableComment": "搜索关键词"
  },
  {
    "articleStyle": 0,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "li@.m-pic-list",
    "ruleContent": "li.tx-box.size.big@all##src=\".*\" data-src##src",
    "ruleImage": "img@data-src",
    "ruleLink": "a@href",
    "ruleNextPage": "page",
    "rulePubDate": "{{@@p.0@text}}{{@@p.1@text}}",
    "ruleTitle": "a@title",
    "singleUrl": false,
    "sortUrl": "女生头像::https://mip.woyaogexing.com/touxiang/nv/index<,_{{page}}>.html",
    "sourceComment": "分类自行补全\n分类Url快速生成\nhttp://dalaoha.github.io/yuedu",
    "sourceGroup": "🛠 工具,R18",
    "sourceIcon": "https://ps.ssl.qhmsg.com/t022c0047a09b681985.jpg",
    "sourceName": "女生头像",
    "sourceUrl": "https://mip.woyaogexing.com"
  },
  {
    "articleStyle": 2,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "$.data.list",
    "ruleDescription": "\r\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\">\r\n{{$.title}}\r\n<ul id=\"box\">\r\n<li><img src='{{$.url##(http.*\\.jpg).*$##$1}}'> </li>\r\n</ul>\r\n\r\n<link rel=\"stylesheet\" href=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.css\">\r\n<script src=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.js\"></script>\r\n<script>\r\nroot = document.getElementById('box');\r\n//查看大图插件\r\nnew Viewer(root,{title:false,interval:3000});\r\n</script>",
    "ruleImage": "$.url",
    "ruleLink": "$.url",
    "ruleNextPage": "page",
    "ruleTitle": "$.title",
    "singleUrl": false,
    "sortUrl": "AI画展::/api/aip/exhibitList,{\"method\": \"POST\",\"body\":\"page={{page}}&limit=20\"}",
    "sourceGroup": "🌐 媒体,R18",
    "sourceIcon": "https://aigc.yizhentv.com/favicon.ico?d8006b4dc7a0f0997472",
    "sourceName": "一帧秒创",
    "sourceUrl": "https://webapi.yizhentv.com",
    "style": "/*标题相关*/\nh3{text-align:center}\nh6{margin-bottom:0}\n* {\n\tmargin: 0;\n\tpadding: 0\n}\nul {\n\tfont-size: 0;\n\theight: 100%;\n\toverflow-y: scroll\n}\nli {\n\tlist-style: none;\n\ttext-align: center\n}\nimg {\n\twidth: 100%;\n\theight: auto\n}"
  },
  {
    "articleStyle": 0,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": ".wc3 li",
    "ruleLink": "a@href",
    "ruleNextPage": "text.下一页@href",
    "rulePubDate": "人气：{{@@tag.span.0@text}} · 大小：{{@@tag.span.1@text}}",
    "ruleTitle": "a@text",
    "singleUrl": false,
    "sortUrl": "东方玄幻::https://m.zei8.me/xuanhuan\n传统武侠::https://m.zei8.me/chuantongwuxia\n恐怖惊悚::https://m.zei8.me/kongbujing\n现代都市::https://m.zei8.me/xiandaidushi\n人物传记::https://m.zei8.me/renwuchuanji\n网游动漫::https://m.zei8.me/wangyoudongman\n军事历史::https://m.zei8.me/junshilishi\n热点资源::https://m.zei8.me/redianziyuan\n西方奇幻::https://m.zei8.me/xifangqihuan\n仙侠修真::https://m.zei8.me/xianxiaxiuzhen\n侦探推理::https://m.zei8.me/zhentantuili\n经典科幻::https://m.zei8.me/jingdiankehuan\n名著杂志::https://m.zei8.me/mingzhuzazhi\n历史穿越::https://m.zei8.me/lishichuanyue\n传统言情::https://m.zei8.me/chuantongyanqing\n都市社会::https://m.zei8.me/dushishehui\n幻想现言::https://m.zei8.me/huanxiangxianyan\n耽美百合::https://m.zei8.me/danmeibaihe",
    "sourceGroup": "📥 下载,R18",
    "sourceIcon": "https://tse1-mm.cn.bing.net/th/id/OIP-C.-aFdxcsvUb_2C_YJK7uYHAAAAA?w=150&h=150&c=7&o=5&dpr=3&pid=1.7",
    "sourceName": "贼吧",
    "sourceUrl": "https://m.zei8.me"
  },
  {
    "articleStyle": 0,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\n\t\"User-Agent\": \"Mozilla/5.0 (Linux; Android 9) Mobile Safari/537.36\",\"referer\": \"{{baseUrl}}\"\n\t}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": ".list ul li",
    "ruleContent": "link@all&&.info-bt@all&&.info-zi@all",
    "ruleLink": "a.0@href",
    "ruleNextPage": "page",
    "rulePubDate": "p@text",
    "ruleTitle": "{{@a.0@text}} {{@span.0@text}}",
    "singleUrl": false,
    "sortUrl": "搜索::https://www.gushiting.com/search.php?q={{(source.getVariable()==''||source.getVariable()==null)?source.setVariable('妹妹'):\"\"}}{{source.getVariable()}}&page={{page}}\n故事会::https://www.gushiting.com/gushihui_{{page}}.html",
    "sourceGroup": "🛠 工具,R18",
    "sourceIcon": "https://www.yuque.com/favicon.ico",
    "sourceName": "故事亭",
    "sourceUrl": "https://www.gushiting.com"
  },
  {
    "articleStyle": 0,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "injectJs": "let str = document.body.innerHTML;\nlet imgsrc = '';\nstr.replace(/(?<=(\"image\":\"))([^\"]*)/,(match,key)=>imgsrc = match.replaceAll(/\\\\/g,\"\"))\nlet html = '<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no\"><body>'\nhtml += '<img width=\"100%\" src=\"'+imgsrc+'\"></body>'\ndocument.write(html)",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "",
    "ruleContent": "",
    "ruleDescription": "",
    "ruleImage": "",
    "ruleLink": "",
    "ruleTitle": "",
    "singleUrl": true,
    "sourceGroup": "🛠 工具,R18",
    "sourceIcon": "https://api.j4u.ink/favicon.ico",
    "sourceName": "每天60秒读懂世界（图片版）",
    "sourceUrl": "https://api.j4u.ink/v1/store/other/proxy/remote/news/60.json",
    "style": ""
  },
  {
    "articleStyle": 0,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "🛠 工具,R18",
    "sourceIcon": "https://gimg3.baidu.com/topone/src=https%3A%2F%2Fbkimg.cdn.bcebos.com%2Fsmart%2Feac4b74543a98226cffc403302d5ae014a90f603bdd2-bkimg-process%2Cv_1%2Crw_1%2Crh_1%2Cmaxl_800%2Cpad_1%3Fx-bce-process%3Dimage%2Fresize%2Cm_pad%2Cw_348%2Ch_348%2Ccolor_ffffff&refer=http%3A%2F%2Fwww.baidu.com&app=2011&size=f200,200&n=0&g=0n&er=404&q=75&fmt=auto&maxorilen2heic=2000000?sec=1717693200&t=89f5ce3a01ab4171be8311e17680ded7",
    "sourceName": "豆包全能聊天",
    "sourceUrl": "https://www.doubao.com/chat/"
  },
  {
    "articleStyle": 0,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "injectJs": "\nsetInterval(() => {\n  $(\"iframe\").remove();\n  $(\"ins.adsbygoogle\").remove();\n}, 500);\n$(\"div.site-addswarp\").remove();\n$(\"#ri_home_division_widget-2\").remove();\n$(\"#ri_home_slider_widget-2\").remove();\n$(\"#ri_home_cmspost_widget-2\").remove();\n$(\"#ri_home_catpost_widget-5\").remove();\n$(\"#ri_home_catpost_widget-4\").remove();\n$(\"#ri_home_catpost_widget-6\").remove();\n$(\"#ri_home_background_widget-2\").remove();\n$(\"div.entry-copyright\").remove();\n$(\"div.related-posts\").remove();\n$(\"div#comments\").remove();\n$(\"div.sidebar-wrapper.col-md-12.col-lg-3.h-100\").remove();\n$(\"footer div.container\").remove();\n$(\"footer.site-footer\").css(\"background\",\"#ededed\");\n",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "🛠 工具,R18",
    "sourceIcon": "https://www.ahhhhfs.com/wp-content/uploads/2021/07/1625221481-04bb5153c0db541-192x192.webp",
    "sourceName": "A姐分享",
    "sourceUrl": "https://www.ahhhhfs.com/"
  },
  {
    "articleStyle": 0,
    "customOrder": 0,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "<js>\nlet TOKEN = 'token://com.coolapk.market/c67ef5943784d09750dcfbb31020f0ab?'\nlet PACKAGE_NAME = 'com.coolapk.market';\nlet DEVICE_ID = String(java.randomUUID());\nlet APP_DEVICE = (length => {\n  let chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'\n  let result = ''\n  for (var i = length; i > 0; --i) {\n    result += chars[Math.floor(Math.random() * chars.length)]\n  }\n  return result\n})(50);\n\n  let t = parseInt(Date.now() / 1000)\n  let hex_t = `0x${t.toString(16)}`\n  let md5_t = java.digestHex(t.toString(), \"md5\")\n  let a = `${TOKEN}${md5_t}$${DEVICE_ID}&${PACKAGE_NAME}`;\n  let md5_a = java.digestHex(String(java.base64Encode(a)),\"md5\")\n  let token = `${md5_a}${DEVICE_ID}${hex_t}`\n\nhead = {\n      'User-Agent': 'Dalvik/2.1.0 (Linux; U; Android 10; Pixel 4 XL Build/QQ2A.200405.005) +CookMarket/10.1.2-2004302',\n      'X-Requested-With': 'XMLHttpRequest',\n      'X-Sdk-Int': '29',\n      'X-Sdk-Locale': 'zh-CN',\n      'X-App-Id': 'com.coolapk.market',\n      'X-App-Version': '10.1.2',\n      'X-App-Code': '2004302',\n      'X-App-Token': token,\n      'X-Api-Version': '10',\n      'X-App-Device': APP_DEVICE,\n      'X-Dark-Mode': '0'\n    }\nJSON.stringify(head)\n</js>",
    "jsLib": "function pad(s) {\n  return s < 10 ? `0${s}` : s\n}\n\nfunction formatDate(timeStamp){\n\tlet diff = (Date.now() - timeStamp * 1000) / 1000\n    if (diff < 60) {\n      return '刚刚'\n    } else if (diff < 3600) {\n      return `${parseInt(diff / 60)}分钟前`\n    } else if (diff < 86400) {\n      return `${parseInt(diff / 3600)}小时前`\n    } else if (diff < 604800) {\n      return `${parseInt(diff / 86400)}天前`\n    } else if (diff < 2592000) {\n      return `${parseInt(diff / 604800)}周前`\n    } else if (diff < 31104000) {\n      return `${parseInt(diff / 2592000)}个月前`\n    } else {\n      let date = new Date(timeStamp * 1000)\n      return `${date.getFullYear()}-${pad(date.getMonth() + 1)}-${pad(date.getDate())}`\n    }\n\t}\n\t\nfunction createReply(item, addDivider, addPadding) {\n    let html = addDivider && `<hr class='hr'>` || ''\n    if (addPadding) {\n      html += `<div class='box-horizontal padding'>`\n      html += `<div class='line-vertical'></div>`\n      html += `<div class='box-vertical'>`\n    }\n    html += `<div class='box-horizontal'>`\n    html += `<img class='avatar' src=${item.userAvatar} />`\n    html += `<div class='box-vertical'>`\n    html += `<div class='font-medium'>${item.username}</div>`\n    html += `<div class='font-small color-grey'>${formatDate(item.dateline)}</div>`\n    html += `</div>`\n    html += `</div>`\n    html += `<div class='p'></div>`\n    item.message.split(/\\r?\\n/).map(it => {\n      html += `<div class='font-medium'>${it}</div>`\n    })\n    if (item.picArr && item.picArr.length) {\n      html += `<div id='box' class='p'>`\n      item.picArr.filter(it => it).map(it => {\n        html += `<img onload=\"box.viewer.update()\" class='image' src='${it}' />`\n      })\n      html += `</div>`\n    } else if (item.pic) {\n      html += `<div class='p'></div>`\n      html += `<a href=\"${item.pic}\"><img class='image' onload=\"box.viewer.update()\" src='${item.pic}' /></a>`\n    }\n    if (addPadding) {\n      html += `</div>`\n      html += `</div>`\n    }\n    return html\n  }",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "$.data[*]",
    "ruleContent": "@js:\nif(!/apk\\/detail/.test(baseUrl)){\n       let html = `\n<link rel=\"stylesheet\" href=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.2/viewer.min.css\">\n<script src=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.2/viewer.min.js\"></script>`;\n       html += `<style>\n      .p { margin-top: 12px; }\n      .box-vertical { display: flex; flex-direction: column; word-wrap: break-word; word-break: break-all; }\n      #box{height:320px}\n      #box,.box-horizontal{ display: flex; flex-direction: row; overflow: scroll; }\n      .font-small { font-size: 13px; }\n      .font-medium { font-size: 15px; }\n      .color-grey { color: grey; }\n      .avatar { width: 30px; height: 30px; margin-right: 6px;border-radius:50% }\n      .image { flex: 0 0 auto;  margin-left: 1px;min-width:160px }\n      .hr { width: 100%; height: 1px; border: none; border-top: thin solid #eee; }\n      .padding { padding-left: 40px; }\n      .line-vertical { margin-right: 6px; border-left: thin solid #eee; }\n    </style>`\n    html += `<div class='box-vertical'>`\n    let id = \"{{$.data.id}}\";\n    let item = JSON.parse(result).data;\n    html += createReply(item)\n    let curPage  = 1;\n    let item_reply = []\n    let totalnum = 0;\n    let lastItem =\"\"\n    let resp2 = JSON.parse(java.ajax(\"https://api.coolapk.com/v6/feed/replyList?id={{$.data.id}}&page=1&lastItem=\"));\n    let item2 = resp2.data\n    item_reply = item_reply.concat(item2)\n    let replynum5 = item.replynum;\n    replynum5 > 100?replynum5=100:replynum5\n    while (item2.length && (totalnum = totalnum + item2.length) < replynum5) {\n      curPage = curPage + 1\n      lastItem = item2[item2.length - 1].id\n      resp2 = resp2 = JSON.parse(java.ajax(`https://api.coolapk.com/v6/feed/replyList?id=${id}&page=${curPage}&lastItem=${lastItem}`))\n      item2 = resp2.data\n      item_reply = item_reply.concat(item2)\n    }\n\n    let grouped_item_reply = {}\n    item_reply.map(item => {\n      if (item.rrid) {\n        grouped_item_reply[item.rrid] = grouped_item_reply[item.rrid] || []\n        grouped_item_reply[item.rrid].push(item)\n      } else {\n        grouped_item_reply[item.id] = grouped_item_reply[item.id] || []\n        grouped_item_reply[item.id].push(item)\n      }\n    })\n    for (key in grouped_item_reply) {\n      grouped_item_reply[key].sort((e1, e2) => {\n        return e1.dateline - e2.dateline\n      }).map(item => html += createReply(item, true, !!item.rrid))\n    }\n\n    html += `</div>`\n    html += `<script>\n    box = document.getElementById(\"box\");\n    \n    window.onload = () => {new Viewer(box,{title:false,interval:3000})\n    }\n    </script>`\n    result = html\n }else{\n \thtml = `<p><h2><img style=\"width:30px;heigth:30px\" src=\"{{$.data.logo}}\">{{$.data.title}} <button onclick=\"c()\">点击按钮复制分类Url规则粘贴查看评论</button></h2> <a href=\"https://www.coolapk.com/apk/{{$.data.apkname}}\">软件地址</a>  </p>\n \t<p>☼版本号:{{$.data.version}}</p>\n<p>☉最近更新：{{$.data.changehistory##\\n.*}}</p>\n<p>☪︎{{$.data.apksize}}/{{$.data.downCount}}下载/{{$.data.followCount}}人关注/{{$.data.commentCount}}人评论/{{$.data.language}}</p>\n<br>&lrm;<br>\n<p>📖新版特性📖</p>\n{{$.data.changelog}}\n<br>&lrm;<br>\n<p>📖应用介绍📖</p>\n{{$.data.introduce}}`\n \t\n   \thtml += `<textarea id=\"textarea\" readonly>{{$.data.title}}▪回复::https://api.coolapk.com/v6/page/dataList?url=#/feed/apkCommentList?id={{$.data.id}}&sort=&title=最近回复&page={\\{page}}&lastItem=\\n`\n\nhtml += \"{{$.data.title}}▪发布::https://api.coolapk.com/v6/page/dataList?url=#/feed/apkCommentList?id=256030&sort=dateline_desc&title=最近发布&page={\\{page}}&lastItem=\\n\"\n\nhtml += \"{{$.data.title}}▪热度::https://api.coolapk.com/v6/page/dataList?url=#/feed/apkCommentList?id={{$.data.id}}&sort=popular&title=热度排序&page={\\{page}}&lastItem=\\n</textarea>\"\nhtml += `<script>\nfunction c() {\n    var text = document.getElementById('textarea');\n    // 选中文本\n    text.select()\n    // 复制\n    document.execCommand('copy');\n   alert(\"复制成功，请编辑源粘贴至分类url处\")\n}\n</script>`\n \t}",
    "ruleImage": "$.pic||$.userAvatar||$.logo",
    "ruleLink": "<js>\nif(!/search/.test(baseUrl)){\n\tresult = \"https://api.coolapk.com/v6/feed/detail?id={{$.id}}\"\n\t}else{\n\t\tresult = \"https://api.coolapk.com/v6/apk/detail?id={{$.apkname}}&installed=0\"\n\t\t}\n</js>",
    "ruleNextPage": "page",
    "rulePubDate": "@js:\nif(!/search/.test(baseUrl)){\nlet name = \"{{$.username}}\";\nlet ti = formatDate(java.getString(\"$.dateline\"));\nlet num = Number(\"{{$.replynum}}\");\nresult = `${name}▪发布时间：${ti} ${num}回复${(num && '('+formatDate({{$.lastupdate}})+')') || \"\"}`\n}else{\n\tresult = \"{{$.apksize}}▪下载数：{{$.downCount}}▪评论：{{$.commentCount}}\"\n\t}",
    "ruleTitle": "$.message||$.origTitle||$.title##<\\/*a.*?>",
    "singleUrl": false,
    "sortUrl": "搜索应用::https://api.coolapk.com/v6/search?type=apk&cat=&sort=default&searchValue={{(source.getVariable()==null||source.getVariable()==\"\")?\"阅读\":source.getVariable()}}&page={{page}}&lastItem=\n\n阅读▪回复::https://api.coolapk.com/v6/page/dataList?url=#/feed/apkCommentList?id=256030&sort=&title=最近回复&page={{page}}&lastItem=\n\n阅读▪发布::https://api.coolapk.com/v6/page/dataList?url=#/feed/apkCommentList?id=256030&sort=dateline_desc&title=最近发布&page={{page}}&lastItem=\n\n阅读▪热度::https://api.coolapk.com/v6/page/dataList?url=#/feed/apkCommentList?id=256030&sort=popular&title=热度排序&page={{page}}&lastItem=",
    "sourceComment": "来自@cinhoo大佬\n\n设置源变量搜索应用",
    "sourceGroup": "💠 其他,R18",
    "sourceIcon": "http://static.coolapk.com/images/header-logo.png",
    "sourceName": "酷安",
    "sourceUrl": "https://api.coolapk.com",
    "style": "#textarea{\n\tvisibility:hidden\n\t}",
    "variableComment": "确认后刷新"
  },
  {
    "articleStyle": 0,
    "customOrder": 1,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "R18",
    "sourceIcon": "https://missuo.ru/file/36660fae47f5e51fe78b2.png",
    "sourceName": "水果派",
    "sourceUrl": "https://byym26.com/"
  },
  {
    "articleStyle": 2,
    "concurrentRate": "500",
    "customOrder": 2,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "<js>\nheaders={\n    \"User-Agent\": java.getWebViewUA(),\n    \"Origin\": Get('url'),\n    \"Referer\": Get('url'),\n    \"Cookie\": cache.get(Get('url') + 'ck') || ''\n}\ncache.put(java.md5Encode16(Get('url') + \"headers\"),JSON.stringify(headers));\nJSON.stringify(headers);\n</js>",
    "jsLib": "{\"肉视频\":\"https://qyyuapi.com/dy/js/西瓜卡通/jsLib.js\"}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginCheckJs": "var res = result;\nurl = java.ruleUrl;\nif(res.body().includes('cf_chl')){\n    cookie.removeCookie(Get('url'));\n    result = java.startBrowserAwait(url,\"验证\");\n    ck = cookie.getCookie(Get('url'));\n    cache.put(Get('url') + 'ck',ck);\n}\nresult;",
    "loginUi": "[\n  {\n    name: \"💡　　 源　　 站　　 测　　 试　　 💡\",\n    type: \"button\",\n    action: \"test(1)\",\n    style: {layout_flexGrow: 1, layout_flexBasisPercent: 1}\n  },\n  { name: \"查看当前\", type: \"button\", action: \"look(0)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"查看历史\", type: \"button\", action: \"look(1)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"恢复默认\", type: \"button\", action: \"test(0)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n\n  { name: \"搜索：\", type: \"text\" },\n\n  { name: \"༺ˇ»`ʚ  点击切换地区  ɞ´«ˇ༻\", type: \"button\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"全部\", type: \"button\", action: \"o(0)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.45} },\n  { name: \"国漫\", type: \"button\", action: \"o(1)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.45} },\n  { name: \"日本\", type: \"button\", action: \"o(2)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.45} },\n  { name: \"韩国\", type: \"button\", action: \"o(3)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.45} },\n\n  { name: \"༺ˇ»`ʚ  点击切换进度  ɞ´«ˇ༻\", type: \"button\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"全部\", type: \"button\", action: \"p(0)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"连载\", type: \"button\", action: \"p(1)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"完结\", type: \"button\", action: \"p(2)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n\n  { name: \"༺ˇ»`ʚ  点击切换筛选  ɞ´«ˇ༻\", type: \"button\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"全部\", type: \"button\", action: \"q(0)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"ABCD\", type: \"button\", action: \"q(1)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"EFGH\", type: \"button\", action: \"q(2)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"IJKL\", type: \"button\", action: \"q(3)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"MNOP\", type: \"button\", action: \"q(4)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"QRST\", type: \"button\", action: \"q(5)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"UVW\", type: \"button\", action: \"q(6)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"XYZ\", type: \"button\", action: \"q(7)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"0-9\", type: \"button\", action: \"q(8)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n\n  { name: \"༺ˇ»`ʚ  填写收藏词条  ɞ´«ˇ༻\", type: \"button\", action: \"login('【收藏词条】' + n(2) + '填写搜索关键词\\\\n多个关键词用英文逗号“,”隔开')\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"收藏：\", type: \"text\" },\n\n  { name: \"长按倍速：\", type: \"text\" },\n  { name: \"跳过片头：\", type: \"text\" },\n  { name: \"跳过片尾：\", type: \"text\" },\n\n  { name: \"༺ˇ»`ʚ  主题模式切换  ɞ´«ˇ༻\", type: \"button\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"日间模式\", type: \"button\", action: \"a(0)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.45} },\n  { name: \"夜间模式\", type: \"button\", action: \"a(1)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.45} },\n\n  {\n    name: \"清除网站Cookie缓存\",\n    type: \"button\",\n    action: \"deleteCookie()\",\n    style: {layout_flexGrow: 1, layout_flexBasisPercent: 1}\n  },\n\n  { name: \"清除远程代码标识\", type: \"button\", action: \"DeleteJskey()\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n\n  {\n    name: \"💡　　 源　　 站　　 打　　 印　　 💡\",\n    type: \"button\",\n    action: \"test()\",\n    style: {layout_flexGrow: 1, layout_flexBasisPercent: 1}\n  }\n]",
    "loginUrl": "eval(String(Reload('https://qyyuapi.com/dy/js/西瓜卡通/loginUrl.js')));",
    "ruleArticles": "<js>\neval(String(source.loginUrl));\neval(String(Reload('https://qyyuapi.com/dy/file/history.js')));\nvar data = [];\nif (/\\/search\\?/.test(baseUrl)) {\n    var list = java.getElements('.topic-list-box');\n    for (i in list) {\n        data.push({\n            'name': list[i].select('.h3').text(),\n            'time': String(String(list[i].select('.topic-list-item--author').text()).replace(/\\s*(.*?)\\s*\\[(.*?)\\]\\s*/,'$1/$2') + '/' + String(list[i].select('.tag').text()).replace(/\\s+/g,',')).replace(/\\/undefined/,''),\n            'cover': String(list[i].select('.topic-list-item__cover amp-img').attr('src')).replace(/\\?.*$/g,''),\n            'url': Get('url') + list[i].select('.topic-list-item').attr('href')\n        });\n    }\n} else {\n    var list = JSON.parse(result).items;\n    for (i in list) {\n        data.push({\n            'name': list[i].name,\n            'time': String(String(list[i].author + '/' + list[i].region_name + '/' + list[i].type_names)).replace(/\\/undefined/,''),\n            'cover': 'https://static-a.xgcartoon.com/cover/' + list[i].topic_img,\n            'url': Get('url') + '/detail/' + list[i].cartoon_id\n        });\n    }\n}\ndata;\n</js>",
    "ruleContent": "<js>\neval(String(Reload('https://qyyuapi.com/dy/js/西瓜卡通/ruleContent.js')));\n</js>\n<!DOCTYPE html>\n<html lang=\"zh-Hans\">\n<head>\n<title>{{@@.h1@text}}</title>\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no\">\n<link rel=\"stylesheet\" href=\"https://qyyuapi.com/css/plyr.css\">\n<style>\n{{String(Reload('https://qyyuapi.com/dy/file/player' + Get('a') + '.css'))}}\n</style>\n</head>\n<body>\n<p></p>\n<div class=\"video-container\">\n  <video id=\"player\" playsinline controls preload=\"auto\" poster=\"https://qyyuapi.com/img/noposter.png\">\n  </video>\n</div>\n<details>\n  <summary>\n    <h3>{{@@.h1@text}}</h3>\n  </summary>\n  <img>\n</details>\n<div class=\"all-info\">\n<div>\n    <p>🕵 作者：{{@@.detail-right__title div@text##\\[.*}}</p>\n    <p>📆 更新：{{@css:.detail-sider div:contains(更新时间)@text##更新时间}}</p>\n    <p>💻 连载：{{@css:.detail-sider div:contains(更新状态)@text##更新状态}}</p>\n    <p>🗺 地区：{{@@.detail-right__title div@text##.*\\[(.*)\\].*##$1}}</p>\n    <p>🔖 标签：{{@@.detail-right__tags@text}}</p>\n    <p>📋 简介：{{@@.detail-right__desc p@text}}</p>\n</div>\n{{JSON.parse(result).jishu}}\n</div>\n\n<script src=\"https://gcore.jsdelivr.net/npm/hls.js@canary\"></script>\n<script src=\"https://qyyuapi.com/js/plyr.js\"></script>\n\n<script>\n{{String(Reload('https://qyyuapi.com/dy/file/player.js'))}}\n\nconst JKkey = \"{{java.md5Encode16(baseUrl.replace(/.*\\/\\/[^\\/]+\\//, ''))}}\";\nconst JDkey = \"{{java.md5Encode16(baseUrl.replace(/.*\\/\\/[^\\/]+\\//, '') + 'time')}}\";\nconst PTtime = {{/^\\d+$/.test(Map('跳过片头：')) ? Map('跳过片头：') : 0}};\nconst PWtime = {{/^\\d+$/.test(Map('跳过片尾：')) ? Map('跳过片尾：') : 0}};\nconst BSspeed = {{Map('长按倍速：') || 2}};\n\n// 获取视频URL并更新视频源\nasync function geturl() {\n    try {\n        let src = String($(\".jishu button.active\")[0].dataset.src).replace(/.*cartoon_id=/, '/video/').replace(/\\&chapter_id=/, '/') + '.html';\n        let result = await fetchRequest(src, {{String(cache.get(java.md5Encode16(Get('url') + \"headers\")))}});\n\n        if (result) {\n            let vid = result.match(/\\?vid=([^\\&]+)\\&/)[1];\n            let src1 = String('https://xgct-video.vzcdn.net/' + vid + '/playlist.m3u8');\n            let result1 = await fetchRequest(src1, {{String(cache.get(java.md5Encode16(Get('url') + \"headers\")))}});\n\n            // 获取页面信息\n            let bfbt = '📺 正在播放：' + $(\".jishu button.active\")[0].innerText;\n            let fm = \"{{@@.detail-sider amp-img.0@src}}\";\n\n            // 获取视频源\n            let zyurl = [];\n            sizes = result1.match(/RESOLUTION=\\d+x\\d+/g).map(e => e.split('x')[1]);\n            srcs = result1.match(/(.*\\/video\\.m3u8)/g);\n            url1= src1.replace(/playlist.m3u8/, '');\n            for (j in srcs) {\n                zyurl.push({src:url1+srcs[j],size:sizes[j]});\n            }\n\n            zyurl.sort((a, b) => parseInt(b.size) - parseInt(a.size));\n\n            // 更新详情封面\n            $(\"img\")[0].src = fm;\n\n            // 更新视频封面\n            $(\".video-container\")[0].style.background = `#000 url('${fm}') no-repeat center center / cover`;\n\n            // 返回视频源\n            let sources = zyurl;\n            return { sources: sources };\n        } else {\n            throw new Error(\"请求失败\");\n        }\n    } catch (error) {\n        weblog(error, '错误:', true);\n        console.error(\"错误:\", error);\n        throw error;\n    }\n}\n\n// 点击集数按钮时调用的函数\nasync function jishu(item) {\n    var video = $('video')[0];\n    var wasPlaying = video && !video.paused;\n    omit($('.jishu button.active'));\n    item.className = \"active\";\n    const { sources } = await geturl();\n    setTimeout(updatePadding, 100);\n    var index2 = Array.from(item.parentNode.children).indexOf(item);\n    var Progress = {\n        index2: index2\n    };\n    localStorage.setItem(JKkey, JSON.stringify(Progress));\n    localStorage.removeItem(JDkey);\n    initializePlayer(sources, JDkey, PTtime, PWtime, BSspeed, 1);\n    if (wasPlaying && video) {\n        const tryAutoPlay = () => {\n            if (video.readyState >= 3) {\n                video.play().catch(e => {\n                    console.log(\"自动播放被阻止:\", e);\n                    $('.plyr__control--overlaid').show();\n                });\n                video.removeEventListener('canplay', tryAutoPlay);\n            }\n        };\n        if (video.readyState >= 3) {\n            video.play().catch(e => console.log(\"立即播放失败:\", e));\n        } else {\n            video.addEventListener('canplay', tryAutoPlay);\n        }\n    }\n}\n\n// 页面加载时初始化播放器\n(async () => {\n    var n = $(\".jishu\")[0].dataset.n;\n    var Progress = localStorage.getItem(JKkey);\n    if (Progress) {\n        var history = JSON.parse(Progress);\n        n = history.index2;\n    }\n    active($('.jishu button'), n);\n    const { sources } = await geturl();\n    setTimeout(updatePadding, 100);\n    localStorage.setItem('HistoryTAG', 1);\n    initializePlayer(sources, JDkey, PTtime, PWtime, BSspeed, 1);\n})();\n</script>\n</body>\n</html>\n<js>\nresult\n.replace(/：\\s*/g,'：')\n.replace(/<p>(.+)：<\\/p>/gm, '<p style=\"display:none;\">$1：</p>');\n</js>",
    "ruleImage": "cover",
    "ruleLink": "url",
    "ruleNextPage": "page",
    "rulePubDate": "time",
    "ruleTitle": "name",
    "shouldOverrideUrlLoading": "if (url.startsWith('legadovideo://')) {\n    java.openUrl(\n        decodeURIComponent(url.replace('legadovideo://', '')),\n        'video/*'\n    );\n    true;\n}",
    "singleUrl": false,
    "sortUrl": "<js>\neval(String(Reload('https://qyyuapi.com/dy/js/西瓜卡通/sortUrl.js')));\n</js>",
    "sourceComment": "新增：1、新增西瓜卡通；by：xiaohan231-2025/06/01",
    "sourceGroup": "🍿 日常,📽 视频,R18",
    "sourceIcon": "https://qyyuapi.com/img/西瓜卡通.png",
    "sourceName": "西瓜卡通",
    "sourceUrl": "西瓜卡通@js:`{{Get('url')}}/search?q=`",
    "variableComment": "JspHXCgzmq549cSvxZRk3cM5EE7N5V32mKk5ZsGlzH7mB4iKPcwRvTVF+nSsYaYkyHFh6tU0uM6gAcU2LO/ZQnF45pl+sO+D+/WIYPhUQyHGEp6lyVJ7JKp9yWihRr9Al3sqXhKPltzub2PZi96Ke4YxqVZPjPSmL3O6xY025Sa7Vm1r1ZLIrgpD4Ksa99Q488bytyVS2P8fSjkQvADOECPkrKGclkhYWKWj0hAAvyDNKDxrCyqqqUjrKooVXTcQ3DDxjpsx5Wd29wdbu4YgaMwdlq7eM7Wgq20PNHRYMQv6mzqElmMn9R4S7YEaJiDpXXStroRJTJtLEB2i6pMCY4F02mndjqQW0PbM+tfwlL8BPYfaSJDdVkvSCRNfUL1rVOJY3HHHX1kAyOG/METDaU0ord6qUbQQMGQVmCgqResqjExJ6AI33IXMtAF1485MjO1nSz2Mi9jw/NoCjXBhnxv0A/3lmQZoYsdfz3LCCOOZKjZQKAZj20BFKz9CBUrmh0JDEZ3nAYVB1gyCKiKX1ggVppLVomlrWGW5+I5UX/5ZkqCucNxVckbJruLtKfOj2gIfGm3kal4YeJqQuSK1wUrU5uLgTDpgox9qPir7etK+0JIlYrlg4TVWln3zuf+4irCZSmjNTNonXb/scyboqwwxxs0m4gpBR6WJPKyNQf/H/pMEkzkQ1+TMO80uRyUj62GS1yS2zmWQnhmw5zC/e6gGMG+n3UoJVX7M5ebG+6eczZXttRv5daHp6UYhK9hETv6nUs0KndVbrB4xZa5JNH3SloTv48koLVJu+0NT+AIrxc1v9RB/6ClGNxWDl2ia0zkKvQsmkHDe1Ln0RzsdTWp1twd+OLzPxmZZ8DK2gkSC2+kLnG4NoSwl66hT8XUUQz8kNeIwpM8uyV1ZkArLpTSv+gN8CItVu9ISTyP3wTbe45+086Ag7tvHwawqCUUlwLzdKh+UHhqCa5EE3qGQbLOaASWmwrOsg/qhf65xBeW34nF5E4ouWsZ5OctjUyfPh3bGNWBta+OVuv5ZMVQH6xad8QNM7gNurML05I9yR8jQ2RsuvqGZA4kpbwGAvkGyUE6FWafVPrlyzjhAvM62NX+Lv5Sctymh+CCt60oO3UrLNFIlzm/Aplkg9n8xnB/YFp3xA0zuA26swvTkj3JHyEj82FLCEpw6uq915M1jjSRQToVZp9U+uXLOOEC8zrY1PSb4cQGqMbjseWdLi1WBhSJPwB2CdB+3VcE4kGmc8CDo1v5txSiD7GKjZ1ExpA/n0TI7uW6ZR3nvNOg/wEoPV9imzoa/Cp1IPhpfn0jvG5wtnG7OsTI+/eCIi6Vv9xsJW1q1FmzjfVoFyHH1/8YCBJgZInJ9HDsguXQZrO1IHWDR2kBHiloP7PEIRR8PW2268gdab40Qku+wn4SGAPnAFLTiKvacQjHpvm6MHg5qNnDPaWzjWU2yqLXqwvjvuvVQHhfax5xG7RPn8qjnnpf7fNeg8Hie5UfiqGUDHivnkrraLULZP20oLpCNmkZspQMww4JZB6KdU8ZFbQ1Dtcf0WDFdALiHBvry+3Tr7P6rnAO4W30SN5zTZOL143gt9ToGQUtPVjY4H9/hfsBA2I8iwlUmzYFYH3lDUyUeFZxmxuyWJgiCOKccgjCrFLw3ecOD47YqJyx5VzuColnzoHTAzvL0eaqgFdhbcdzLBrMF9eChijLK0ZNUgZvxmD+S5PWUhg5yzpFajFkKf+ktawtf7001RMvWRvkpQHzTC2WuR2zxSBmH1TFSNF/My97FY2wlhBDnpfrrpu6Sqp1Q2dB+cc6QN7iCqeItsVuE7RK2sugaHsq/PslfDqNvVOxKwzWi2SBTJcfgURWvAR1rLfzGGsSzqjWszFEQ/Y/pqJNefccfClfxJ/oYoyjySYoJUphtufvpgVVfbIlnA1X/C4vdwSZ87ZFR0tGbAvtA+4E+Z1WPCFwCrW/n1w47tMwyFPkCW14lE/ErB9Er3OB0GR9us/gIE/NXn073ACFcsRQfM/lHs3bJZn83cnqJJgTc3ffD6zHcJKu5QLIm8TxVatj2C6nj6WUERPKunOLvCMkRMqyKMXYeJV2BAXeg7Fv8wBttmGV7vNaFGXXi0A7JTwwmiPV6QWnF7fJbg8NHX57YKHRtW9oKv7/GO4rVegJCRZp+vaiSpMg4sb0jG4QLv6HlGtyj2vEPqGEerjWxXf9x3md3wIuACT1kXQvCCj6O/jPNPbAQbSvXliA+oH/7/Q7kcpv5mqmLi4cTslGYlaoJI5T7mum5KBhU2Sy0lfomJNz0V+svoBeDeGqDNt79gyMR2Z6dLGf1frXTuKocDbMwjPNABkMJ13q74WAaWVB16GhjaA5q9SgPfGvnfePNBH1eQkOe9vAe0mfKC2SsNj9q5YUjItkLCwTMGxGl36uHjctQmgo6wy86SBGvogm95+4LUkYH6iTVf+ouZaelqGI2qm1jdUl/xmyHwctSAPijV+bMQvs37ZJHOHL6Hnp3LlnctEulNDI3SbsgxzlxrSHDD/H5VaKaXgq/7+iCLFbAUHQ5m6Hp6Flx5psBsgHt1hzsUIaKdpHZAIDOJLf4PHwL2QhUsrF0iy2Y8qGg2ybYRj1Nm/maqYuLhxOyUZiVqgkjlCRRNw5ukCAT9V8Op1veBNqzWzdnU5nAhDcpCoHllJglmkq2Swxq9sd/AaFw8JUpMdWUf/hqVFb3YP2/+RujDlovgd7Ye4KqDmc9vqdqpMdg2ILKuOA+eHoKov0HC2VA7+SV/Lv4bVWBHgVCIZwTsc9IWNucdXdYLE8CYpHbXcp3Rucr4N5RMa+wiKIip3p031vSB1pv3++oQp8pZVGdP0hRzSoQBK54t3Y+v/vK5s6lHnKb1SH+3aBYTPDNkKZQwd6cK0xoHXmijkdJTA3I3JMxqmPzDZ8VVgf89E8oRVlVtV2DahMurt31oJUiveBBGRnKzykQ4JM6a2A1Hqz/be73tofkDucmcy1Vu4joEsqH4FGQ595Q8noc/xHfqdyjMVmb6IshfgIB1mCcKfWN9FLDeML77m9XU2H4pMImJd2f4XujhbkStX9SGvuifIQUa3LJej2GvcINlPdYzX5ABz5oPFphAadWuzrP2kvFi/fkjLMn6OOJd8jTIzANraQRNMgHu27PE7vtVszZN74q4PNQM3n07LiunU81SdH75otsKfOPusZEgzDKBUhPLuamsbXHh7R6JgV77f62CwuVWMd9jhQsZm0i/g6m+ApKeuWGVsoRG9h/g97+uvNQ6vR11F3rN7BazqbGZqWaFlJ0bWTgsHDgD/1kv7E3Ebjsnp+/pyI9Lfy6d3Z1Gvttk+GlItlG40CAQdd8MsBamCArw0mGu2nyAcCdNCMxDDBWyH4qWmfHSeIyIR0+aE1kqxxdiS+hNroCfUNnuyW/ZoX0A+UIb0iptDcOfaVemEv1DQ9fRKh0FIijFWBvDLO1C5j22WacK9Rwl3oGS8LUVWvijpkcR44UOftDjP/SWe18Y/1iCkxfblgllWWEs7Vo4RPbG4FqkFkwLicC6HJqVm/k+1yzxTcHM32xAZJ1owUTG9bmdndHcijOdGDaQVsN07LL/B20gUFBu1yNTiu9kdZLBsvcM7NXS2mb5EnllFOINkhYLyXBaO5GWhgRhvNwCvhy6ofR3Xetx43mNVTqGUgvA6cv8B8qhpGBHmJ62Ew/+cLqu3MA5VFyu+zXvIWuEsf16/e8flClUSSseEEOAezpv1MxU4SfEHTqusVegDWR8gLfKqqTHowaglcUrPeUkYosxVJp8yn55xj4gKbgq0amZfYTYNfzzj4AOFtqeMh90l1C0xPfiZPPLF1ofoUKGfVy3IOEQgab6GTyhKqDmcBbb4kPPxrUwMvCcj9JP08HFiZYwn+Bxc+BvQpW3lnSu+2FY5dig91m14QQVMK4kVmwIvDmfZ7hAtavOmEo36/hoTPIhUmdqetrh5ohxsAVl1EUjl1ZHoV8dL8D3H12J0G9zsPKDL7kqPuFwpiQfjDe11glLenpMmozatccHwHYUI4nDqRzoO5dp627JvRVq/xHaXq5dWo+2i4MFxR1ugHMd0L2gN9NiXLA+AwPAGKx6GKlZVhKPo0fdOKMbI8LapnXlEmFZDe2PF6V5gbiJmSyS4ofyATtehkFXltpsYqkwrkJ0wjDCnapvetl5NlozEOQ+FOVd9rRWB1xK2UnD62r7RsSz3vJreRchmF/B56QBNOZiYA2wZoX9WM3a58QamZ4J061B1nIzhqwiTK0E8DalIAC4N7HUUQ488rQNWqzX6Sig4aF8JBIudjgX70Glq3K53swOrEs9BdTcS5MHFatRJar9uLSGZdCxRQWLYS5imcGdOekeGTJGeoyjSqcJo2Cr0vlgUP/vvpw+JffhEDVWBAOddDGHUH6AEJAZDavQVCm8nVhn27m0FlnYC8UqRT2x0BABkMJ13q74WAaWVB16GhjHMPDg0g+tWi89y3O61G+8as5QvYyN4FX93z1Wyn0dEdrzKxBZjxxubyR0nsXBW81GkM0epSZYrLw0WaDx58EmP9xTKoB2vXJJfs8WhXiCgeyfplTjNtKwjEYjjzxv9cZ7Xix1dJjo15PWoF5xoB4612tF03xX/tdhEXZjKGJv0jVlH/4alRW92D9v/kbow5axILAMf0m95vfnECyiKYVvuT9PXdaeloW86MJtl3UoYi0vmGwnEX6wxxdHCVXxW+YAe7xeAUXxIz5j5EDAOshdxxhH+7vLoozRvnNSv4j3yrtOYqKvTdr2vpMDcEaFbQ1UhUJLZ/wPoBL4I16axsdtDlve3Q33MxQwd1fMqwCWtJYmjojEWFLUvBMHtmsWSmsyoj9P1ypwN8V/o5N9KioXPf0PcoisdyDOgU1rPNtwAbbNWeheyrxBxGNptIj2QwmJ3KyJQHOP/PzjQfo6C8uKVx3XdeYK6+9KFuOuFTJQ6iPvCfdOZ+kKaeRZ34K4psSjQpu/M9SV37V9qkfzuA4AXhaWQF3Ph4lqj1XGBEo4bs="
  },
  {
    "articleStyle": 0,
    "customOrder": 2,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": ".mipui-category-list-item",
    "ruleDescription": "",
    "ruleImage": "mip-img@src",
    "ruleLink": "h4 a@href",
    "ruleNextPage": ".pagination@tag.a.-2@href",
    "rulePubDate": "span@text",
    "ruleTitle": "h4@text",
    "singleUrl": false,
    "sortUrl": "最新::https://www.downtxts.com/\n🔎搜索::https://www.downtxts.com/search?q=\n玄幻::https://www.downtxts.com/article/xuanhuan/\n武侠::https://www.downtxts.com/article/wuxia/\n都市::https://www.downtxts.com/article/dushi/\n言情::https://www.downtxts.com/article/yanqing/\n经典::https://www.downtxts.com/article/jingdian/\n历史::https://www.downtxts.com/article/lishi/\n科幻::https://www.downtxts.com/article/kehuan/\n惊悚::https://www.downtxts.com/article/jingsong/\n网游::https://www.downtxts.com/article/wangyou/",
    "sourceGroup": "📥 下载,R18",
    "sourceIcon": "https://www.downtxts.com/favicon.ico",
    "sourceName": "TXT下载",
    "sourceUrl": "https://www.downtxts.com"
  },
  {
    "articleStyle": 0,
    "customOrder": 3,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "legado,R18",
    "sourceIcon": "http://mmbiz.qpic.cn/mmbiz_png/hpfMV8hEuL2eS6vnCxvTzoOiaCAibV6exBzJWq9xMic9xDg3YXAick87tsfafic0icRwkQ5ibV0bJ84JtSuxhPuEDVquA/0?wx_fmt=png",
    "sourceName": "小说拾遗",
    "sourceUrl": "snssdk1128://user/profile/562564899806367"
  },
  {
    "articleStyle": 0,
    "customOrder": 3,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": ".col-xs-6",
    "ruleDescription": "",
    "ruleImage": "img@data-original",
    "ruleLink": "h2 a@href",
    "ruleNextPage": ".next@href",
    "rulePubDate": "{{@@tag.a.1@text}} · {{@@time@text}}",
    "ruleTitle": "h2@text",
    "singleUrl": false,
    "sortUrl": "🔎搜索::https://www.jingjiaoba.com/?s=\n都市::https://www.jingjiaoba.com/jing-xiao-du-shi\n娱乐::https://www.jingjiaoba.com/jing-xiao-yu-le\n奇幻::https://www.jingjiaoba.com/jing-xiao-qi-huan\n玄幻::https://www.jingjiaoba.com/jing-xiao-xuan-huan\n武侠::https://www.jingjiaoba.com/jing-xiao-wu-xia\n仙侠::https://www.jingjiaoba.com/jing-xiao-xian-xia\n竞技::https://www.jingjiaoba.com/jing-xiao-jing-ji\n游戏::https://www.jingjiaoba.com/jing-xiao-you-xi\n科幻::https://www.jingjiaoba.com/jing-xiao-ke-huan\n灵异::https://www.jingjiaoba.com/jing-xiao-ling-yi\n历史::https://www.jingjiaoba.com/jing-xiao-li-shi\n军事::https://www.jingjiaoba.com/jing-xiao-jun-shi\n实体::https://www.jingjiaoba.com/nv-sheng-shi-ti\n次元::https://www.jingjiaoba.com/jing-xiao-er-ci-yuan\n百合::https://www.jingjiaoba.com/bai-he-dan-mei/bai-he-xiao-shuo\n耽美::https://www.jingjiaoba.com/bai-he-dan-mei/dan-mei-xiao-shuo\n言情::https://www.jingjiaoba.com/nv-sheng-shi-ti/nv-sheng-yan-qing",
    "sourceComment": "",
    "sourceGroup": "📥 下载,R18",
    "sourceIcon": "https://www.jingjiaoba.com/wp-content/themes/Cute/assets/img/favicon.ico",
    "sourceName": "精校吧",
    "sourceUrl": "https://www.jingjiaoba.com"
  },
  {
    "articleStyle": 2,
    "concurrentRate": "",
    "customOrder": 3,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "<js>\nheaders={\n    \"User-Agent\": \"okhttp/3.14.9\"\n}\ncache.put(java.md5Encode16(Get('url') + \"headers\"),JSON.stringify(headers));\nJSON.stringify(headers);\n</js>",
    "injectJs": "",
    "jsLib": "{\"囧次元(纯净版)\":\"https://qyyuapi.com/dy/js/囧次元(纯净版)/jsLib.js\"}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginCheckJs": "",
    "loginUi": "[\n  {\n    name: \"💡　　 源　　 站　　 更　　 新　　 💡\",\n    type: \"button\",\n    action: \"update()\",\n    style: {layout_flexGrow: 1, layout_flexBasisPercent: 1}\n  },\n\n  { name: \"查看当前\", type: \"button\", action: \"look(0)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"查看历史\", type: \"button\", action: \"look(1)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"恢复默认\", type: \"button\", action: \"test(-1)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n\n  { name: \"搜索：\", type: \"text\" },\n\n  { name: \"༺ˇ»`ʚ  设置动漫分类  ɞ´«ˇ༻\", type: \"button\", action: \"login('【可选分类】' + n(2) + '[0]日本动漫[1]国产动漫\\\\n[2]动漫剧场[3]欧美动漫\\\\n多个分类用逗号隔开')\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"分类：\", type: \"text\" },\n\n  { name: \"༺ˇ»`ʚ  点击切换排序  ɞ´«ˇ༻\", type: \"button\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"最新\", type: \"button\", action: \"o(0)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"最热\", type: \"button\", action: \"o(1)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"最赞\", type: \"button\", action: \"o(2)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n\n  { name: \"༺ˇ»`ʚ  筛选发布年份  ɞ´«ˇ༻\", type: \"button\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"年份：\", type: \"text\" },\n\n  { name: \"༺ˇ»`ʚ  填写收藏词条  ɞ´«ˇ༻\", type: \"button\", action: \"login('【收藏词条】' + n(2) + '填写搜索关键词\\\\n多个关键词用英文逗号“,”隔开')\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"收藏：\", type: \"text\" },\n\n  { name: \"长按倍速：\", type: \"text\" },\n  { name: \"跳过片头：\", type: \"text\" },\n  { name: \"跳过片尾：\", type: \"text\" },\n\n  { name: \"༺ˇ»`ʚ  主题模式切换  ɞ´«ˇ༻\", type: \"button\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"日间模式\", type: \"button\", action: \"a(0)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.45} },\n  { name: \"夜间模式\", type: \"button\", action: \"a(1)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.45} },\n\n  {\n    name: \"清除网站Cookie缓存\",\n    type: \"button\",\n    action: \"deleteCookie()\",\n    style: {layout_flexGrow: 1, layout_flexBasisPercent: 1}\n  },\n\n  { name: \"清除远程代码标识\", type: \"button\", action: \"DeleteJskey()\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n\n  {\n    name: \"💡　　 源　　 站　　 打　　 印　　 💡\",\n    type: \"button\",\n    action: \"test()\",\n    style: {layout_flexGrow: 1, layout_flexBasisPercent: 1}\n  }\n]",
    "loginUrl": "eval(String(Reload('https://qyyuapi.com/dy/js/囧次元(纯净版)/loginUrl.js')));",
    "ruleArticles": "<js>\neval(String(source.loginUrl));\neval(String(Reload('https://qyyuapi.com/dy/file/history.js')));\nvar res = JSON.parse(decode(JSON.parse(result).data));\nvar data = [];\nvar list = res.search_list || res.recommend_list;\nfor (i in list) {\n    data.push({\n        'name': list[i].vod_name,\n        'time': String(list[i].vod_score + '/' + list[i].vod_year + '/' + list[i].vod_remarks + '/' + list[i].vod_lang + '/' + list[i].vod_class + '/' + list[i].vod_actor + '/' + list[i].vod_blurb).replace(/\\/+\\s*/g,'/').replace(/^\\/|\\/$|undefined\\/|内详.?\\//g,''),\n        'cover': list[i].vod_pic,\n        'url': Get('url') + '/?vod_id=' + list[i].vod_id\n    });\n}\ndata;\n</js>",
    "ruleContent": "<js>\neval(String(Reload('https://qyyuapi.com/dy/js/囧次元(纯净版)/ruleContent.js')));\n</js>\n<!DOCTYPE html>\n<html lang=\"zh-Hans\">\n<head>\n<title>{{JSON.parse(result).data.vod.vod_name}}</title>\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no\">\n<meta name=\"referrer\" content=\"no-referrer\">\n<link rel=\"stylesheet\" href=\"https://qyyuapi.com/css/plyr.css\">\n<style>\n{{String(Reload('https://qyyuapi.com/dy/file/player' + Get('a') + '.css'))}}\n</style>\n</head>\n<body>\n<p></p>\n<div class=\"video-container\">\n  <video id=\"player\" playsinline controls preload=\"auto\" poster=\"https://qyyuapi.com/img/noposter.png\">\n  </video>\n</div>\n<details>\n  <summary>\n    <h3>{{JSON.parse(result).data.vod.vod_name}}</h3>\n  </summary>\n  <img>\n</details>\n<div class=\"all-info\">\n<div>\n    <p>🕵 导演：{{String(JSON.parse(result).data.vod.vod_director).replace(/[\\/,，]$|内详/g,'')}}</p>\n    <p>👨‍🎤 主演：{{String(JSON.parse(result).data.vod.vod_actor).replace(/[/,，]$|内详/g,'')}}</p>\n    <p>💻 连载：{{String(JSON.parse(result).data.vod.vod_remarks).replace(/\\s*\\/\\s*/g,'/')}}</p>\n    <p>🔖 标签：{{String(JSON.parse(result).data.vod.vod_year + '/' + JSON.parse(result).data.vod.vod_area + '/' + JSON.parse(result).data.vod.vod_lang + '/' + JSON.parse(result).data.vod.vod_class).replace(/\\,\\/|\\/+/g,'/').replace(/[\\/,，]$/g,'')}}</p>\n    <p>📋 简介：{{JSON.parse(result).data.vod.vod_content}}</p>\n</div>\n{{JSON.parse(result).jishu}}\n</div>\n\n<script src=\"https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/crypto-js/4.1.1/crypto-js.min.js\" type=\"application/javascript\"></script>\n<script src=\"https://gcore.jsdelivr.net/npm/hls.js@canary\"></script>\n<script src=\"https://qyyuapi.com/js/plyr.js\"></script>\n\n<script>\n{{String(Reload('https://qyyuapi.com/dy/file/player.js'))}}\n\nconst JKkey = \"{{java.md5Encode16(baseUrl.replace(/.*\\/\\/[^\\/]+\\//, ''))}}\";\nconst JDkey = \"{{java.md5Encode16(baseUrl.replace(/.*\\/\\/[^\\/]+\\//, '') + 'time')}}\";\nconst PTtime = {{/^\\d+$/.test(Map('跳过片头：')) ? Map('跳过片头：') : 0}};\nconst PWtime = {{/^\\d+$/.test(Map('跳过片尾：')) ? Map('跳过片尾：') : 0}};\nconst BSspeed = {{Map('长按倍速：') || 2}};\n\nfunction aesEncrypt(data, key, iv) {\n    key = CryptoJS.enc.Utf8.parse(key);\n    iv = CryptoJS.enc.Utf8.parse(iv);\n    data = CryptoJS.enc.Utf8.parse(data);\n    let encrypt = CryptoJS.AES.encrypt(data, key, {\n        iv,\n        mode: CryptoJS.mode.CBC,\n        padding: CryptoJS.pad.Pkcs7\n    });\n    return encrypt.toString();\n}\n\nfunction aesDecrypt(data, key, iv) {\n    key = CryptoJS.enc.Utf8.parse(key);\n    iv = CryptoJS.enc.Utf8.parse(iv);\n    data = CryptoJS.enc.Base64.parse(data);\n    let decrypted = CryptoJS.AES.decrypt({\n        ciphertext: data\n    }, key, {\n        iv,\n        mode: CryptoJS.mode.CBC,\n        padding: CryptoJS.pad.Pkcs7\n    });\n    return decrypted.toString(CryptoJS.enc.Utf8);\n}\n\n// 获取视频URL并更新视频源\nasync function geturl() {\n    let zyurl = JSON.parse($(\".jishu button.active\")[0].value);\n    let img = $('img')[0];\n    let de = $(\".jishu button.active\")[0].dataset.de;\n    let api = $(\".jishu button.active\")[0].dataset.api;\n    let fm = \"{{JSON.parse(result).data.vod.vod_pic}}\";\n\n    if (/1/.test(de)) {\n        var key = '{{aeskey}}';\n        var iv = '{{aesiv}}';\n        let Enurl = aesEncrypt(zyurl[0].src, key, iv);\n        let body = `parse_api=${api}&url=${Enurl}`;\n        let src = \"{{Get('url')}}/api.php/getappapi.index/vodParse\";\n        try {\n            let result = await fetchRequest(src, {{String(cache.get(java.md5Encode16(Get('url') + \"headers\")))}}, body);\n            if (result) {\n                var data = aesDecrypt(result.data, key, iv);\n                url = JSON.parse(JSON.parse(data).json).url;\n                zyurl = [];\n                zyurl.push({src: url, size: '0'});\n            } else {\n                console.error(\"获取视频 URL 失败\");\n            }\n        } catch (error) {\n            console.error(\"geturl 函数错误:\", error);\n        }\n    }\n\n    // 更新详情封面\n    img.src = fm;\n\n    // 更新视频封面\n    $(\".video-container\")[0].style.background = `#000 url('${fm}') no-repeat center center / cover`;\n    let sources = zyurl;\n    return { sources: sources };\n}\n\n// 点击集数按钮时调用的函数\nasync function jishu(item) {\n    var video = $('video')[0];\n    var wasPlaying = video && !video.paused;\n    omit($('.jishu button.active'));\n    item.className = \"active\";\n    const { sources } = await geturl();\n    setTimeout(updatePadding, 100);\n    var index1 = $('#selected-jiekou button')[0].dataset.id;\n    var index2 = Array.from(item.parentNode.children).indexOf(item);\n    var Progress = {\n        index1: index1,\n        index2: index2\n    };\n    localStorage.setItem(JKkey, JSON.stringify(Progress));\n    localStorage.removeItem(JDkey);\n    initializePlayer(sources, JDkey, PTtime, PWtime, BSspeed, 1);\n    if (wasPlaying && video) {\n        const tryAutoPlay = () => {\n            if (video.readyState >= 3) {\n                video.play().catch(e => {\n                    console.log(\"自动播放被阻止:\", e);\n                    $('.plyr__control--overlaid').show();\n                });\n                video.removeEventListener('canplay', tryAutoPlay);\n            }\n        };\n        if (video.readyState >= 3) {\n            video.play().catch(e => console.log(\"立即播放失败:\", e));\n        } else {\n            video.addEventListener('canplay', tryAutoPlay);\n        }\n    }\n}\n\n// 页面加载时初始化播放器\n(async () => {\n    var m = 0,n = 0;\n    var Progress = localStorage.getItem(JKkey);\n    if (Progress) {\n        var history = JSON.parse(Progress);\n        m = history.index1;\n        n = history.index2;\n    }\n    if (m > 0) {\n        const buttonList = $('#jiekou-list')[0].querySelectorAll('button');\n        const targetButton = Array.from(buttonList).find(btn => btn.getAttribute('data-id') == m);\n        jiekou(targetButton);\n        const allButtons = $('.jishu')[m].querySelectorAll('button');\n        active(allButtons, n);\n    } else {\n        active($('.jishu button'), n);\n    }\n    const { sources } = await geturl();\n    setTimeout(updatePadding, 100);\n    localStorage.setItem('HistoryTAG', 1);\n    initializePlayer(sources, JDkey, PTtime, PWtime, BSspeed, 1);\n})();\n</script>\n</body>\n</html>\n<js>\nresult\n.replace(/：\\s*/g,'：')\n.replace(/<p>(.+)：<\\/p>/gm, '<p style=\"display:none;\">$1：</p>');\n</js>",
    "ruleDescription": "",
    "ruleImage": "cover",
    "ruleLink": "url",
    "ruleNextPage": "page",
    "rulePubDate": "time",
    "ruleTitle": "name",
    "shouldOverrideUrlLoading": "if (url.startsWith('legadovideo://')) {\n    java.openUrl(\n        decodeURIComponent(url.replace('legadovideo://', '')),\n        'video/*'\n    );\n    true;\n}",
    "singleUrl": false,
    "sortUrl": "<js>\neval(String(Reload('https://qyyuapi.com/dy/js/囧次元(纯净版)/sortUrl.js')));\n</js>",
    "sourceComment": "修改：1、播放器增加切换上下集按钮；2、增加点击顶部视频链接调用播放器应用播放；by：xiaohan231-2025/04/30\n\n修改：1、增加清除远程代码标识按钮；by：xiaohan231-2025/04/26\n\n修改：1、新增源变量与localStorage双向备份功能，确保清理缓存和清除WebView数据时，播放历史记录和设置信息不会丢失；by：xiaohan231-2025/04/22\n\n修改：1、播放状态点击切换集数，自动开始播放；by：xiaohan231-2025/04/21\n\n修改：1、播放器增加标记片头片尾功能；2、jsLib代码适配新版阅读；by：xiaohan231-2025/04/20\n\n修改：1、增加清除网站Cookie缓存按钮；2、优化详情信息高度调整；3、优化视频集数切换，结尾切换下一集时不再销毁重建播放器实例；4、增加切换下集自动播放功能；5、增加跳过片尾功能；by：xiaohan231-2025/04/17\n\n新增：1、新增囧次元(纯净版)；by：xiaohan231-2025/04/16",
    "sourceGroup": "影视,R18",
    "sourceIcon": "https://qyyuapi.com/img/囧次元.png",
    "sourceName": "囧次元(纯净版)",
    "sourceUrl": "囧次元(纯净版)@js:`{{Get('url')+path}}`",
    "style": "",
    "variableComment": "JspHXCgzmq549cSvxZRk3cM5EE7N5V32mKk5ZsGlzH7mB4iKPcwRvTVF+nSsYaYkyHFh6tU0uM6gAcU2LO/ZQnF45pl+sO+D+/WIYPhUQyHGEp6lyVJ7JKp9yWihRr9Al3sqXhKPltzub2PZi96Ke4YxqVZPjPSmL3O6xY025Sa7Vm1r1ZLIrgpD4Ksa99Q488bytyVS2P8fSjkQvADOECPkrKGclkhYWKWj0hAAvyDNKDxrCyqqqUjrKooVXTcQ3DDxjpsx5Wd29wdbu4YgaMwdlq7eM7Wgq20PNHRYMQv6mzqElmMn9R4S7YEaJiDpXXStroRJTJtLEB2i6pMCY4F02mndjqQW0PbM+tfwlL8BPYfaSJDdVkvSCRNfUL1rVOJY3HHHX1kAyOG/METDaU0ord6qUbQQMGQVmCgqResqjExJ6AI33IXMtAF1485MjO1nSz2Mi9jw/NoCjXBhnxv0A/3lmQZoYsdfz3LCCOOZKjZQKAZj20BFKz9CBUrmh0JDEZ3nAYVB1gyCKiKX1ggVppLVomlrWGW5+I5UX/5ZkqCucNxVckbJruLtKfOj2gIfGm3kal4YeJqQuSK1wUrU5uLgTDpgox9qPir7etK+0JIlYrlg4TVWln3zuf+4irCZSmjNTNonXb/scyboqwwxxs0m4gpBR6WJPKyNQf/H/pMEkzkQ1+TMO80uRyUj62GS1yS2zmWQnhmw5zC/e6gGMG+n3UoJVX7M5ebG+6eczZXttRv5daHp6UYhK9hETv6nUs0KndVbrB4xZa5JNH3SloTv48koLVJu+0NT+AIrxc1v9RB/6ClGNxWDl2ia0zkKvQsmkHDe1Ln0RzsdTWp1twd+OLzPxmZZ8DK2gkSC2+kLnG4NoSwl66hT8XUUQz8kNeIwpM8uyV1ZkArLpTSv+gN8CItVu9ISTyP3wTbe45+086Ag7tvHwawqCUUlwLzdKh+UHhqCa5EE3qGQbLOaASWmwrOsg/qhf65xBeW34nF5E4ouWsZ5OctjUyfPh3bGNWBta+OVuv5ZMVQH6xad8QNM7gNurML05I9yR8jQ2RsuvqGZA4kpbwGAvkGyUE6FWafVPrlyzjhAvM62NX+Lv5Sctymh+CCt60oO3UrLNFIlzm/Aplkg9n8xnB/YFp3xA0zuA26swvTkj3JHyEj82FLCEpw6uq915M1jjSRQToVZp9U+uXLOOEC8zrY1PSb4cQGqMbjseWdLi1WBhSJPwB2CdB+3VcE4kGmc8CDo1v5txSiD7GKjZ1ExpA/n0TI7uW6ZR3nvNOg/wEoPV9imzoa/Cp1IPhpfn0jvG5wtnG7OsTI+/eCIi6Vv9xsJW1q1FmzjfVoFyHH1/8YCBJgZInJ9HDsguXQZrO1IHWDR2kBHiloP7PEIRR8PW2268gdab40Qku+wn4SGAPnAFLTiKvacQjHpvm6MHg5qNnDPaWzjWU2yqLXqwvjvuvVQHhfax5xG7RPn8qjnnpf7fNeg8Hie5UfiqGUDHivnkrraLULZP20oLpCNmkZspQMww4JZB6KdU8ZFbQ1Dtcf0WDFdALiHBvry+3Tr7P6rnAO4W30SN5zTZOL143gt9ToGQUtPVjY4H9/hfsBA2I8iwlUmzYFYH3lDUyUeFZxmxuyWJgiCOKccgjCrFLw3ecOD47YqJyx5VzuColnzoHTAzvL0eaqgFdhbcdzLBrMF9eChijLK0ZNUgZvxmD+S5PWUhg5yzpFajFkKf+ktawtf7001RMvWRvkpQHzTC2WuR2zxSBmH1TFSNF/My97FY2wlhBDnpfrrpu6Sqp1Q2dB+cc6QN7iCqeItsVuE7RK2sugaHsq/PslfDqNvVOxKwzWi2SBTJcfgURWvAR1rLfzGGsSzqjWszFEQ/Y/pqJNefccfClfxJ/oYoyjySYoJUphtufvpgVVfbIlnA1X/C4vdwSZ87ZFR0tGbAvtA+4E+Z1WPCFwCrW/n1w47tMwyFPkCW14lE/ErB9Er3OB0GR9us/gIE/NXn073ACFcsRQfM/lHs3bJZn83cnqJJgTc3ffD6zHcJKu5QLIm8TxVatj2C6nj6WUERPKunOLvCMkRMqyKMXYeJV2BAXeg7Fv8wBttmGV7vNaFGXXi0A7JTwwmiPV6QWnF7fJbg8NHX57YKHRtW9oKv7/GO4rVegJCRZp+vaiSpMg4sb0jG4QLv6HlGtyj2vEPqGEerjWxXf9x3md3wIuACT1kXQvCCj6O/jPNPbAQbSvXliA+oH/7/Q7kcpv5mqmLi4cTslGYlaoJI5T7mum5KBhU2Sy0lfomJNz0V+svoBeDeGqDNt79gyMR2Z6dLGf1frXTuKocDbMwjPNABkMJ13q74WAaWVB16GhjaA5q9SgPfGvnfePNBH1eQkOe9vAe0mfKC2SsNj9q5YUjItkLCwTMGxGl36uHjctQmgo6wy86SBGvogm95+4LUkYH6iTVf+ouZaelqGI2qm1jdUl/xmyHwctSAPijV+bMQvs37ZJHOHL6Hnp3LlnctEulNDI3SbsgxzlxrSHDD/H5VaKaXgq/7+iCLFbAUHQ5m6Hp6Flx5psBsgHt1hzsUIaKdpHZAIDOJLf4PHwL2QhUsrF0iy2Y8qGg2ybYRj1Nm/maqYuLhxOyUZiVqgkjlCRRNw5ukCAT9V8Op1veBNqzWzdnU5nAhDcpCoHllJglmkq2Swxq9sd/AaFw8JUpMdWUf/hqVFb3YP2/+RujDlovgd7Ye4KqDmc9vqdqpMdg2ILKuOA+eHoKov0HC2VA7+SV/Lv4bVWBHgVCIZwTsc9IWNucdXdYLE8CYpHbXcp3Rucr4N5RMa+wiKIip3p031vSB1pv3++oQp8pZVGdP0hRzSoQBK54t3Y+v/vK5s6lHnKb1SH+3aBYTPDNkKZQwd6cK0xoHXmijkdJTA3I3JMxqmPzDZ8VVgf89E8oRVlVtV2DahMurt31oJUiveBBGRnKzykQ4JM6a2A1Hqz/be73tofkDucmcy1Vu4joEsqH4FGQ595Q8noc/xHfqdyjMVmb6IshfgIB1mCcKfWN9FLDeML77m9XU2H4pMImJd2f4XujhbkStX9SGvuifIQUa3LJej2GvcINlPdYzX5ABz5oPFphAadWuzrP2kvFi/fkjLMn6OOJd8jTIzANraQRNMgHu27PE7vtVszZN74q4PNQM3n07LiunU81SdH75otsKfOPusZEgzDKBUhPLuamsbXHh7R6JgV77f62CwuVWMd9jhQsZm0i/g6m+ApKeuWGVsoRG9h/g97+uvNQ6vR11F3rN7BazqbGZqWaFlJ0bWTgsHDgD/1kv7E3Ebjsnp+/pyI9Lfy6d3Z1Gvttk+GlItlG40CAQdd8MsBamCArw0mGu2nyAcCdNCMxDDBWyH4qWmfHSeIyIR0+aE1kqxxdiS+hNroCfUNnuyW/ZoX0A+UIb0iptDcOfaVemEv1DQ9fRKh0FIijFWBvDLO1C5j22WacK9Rwl3oGS8LUVWvijpkcR44UOftDjP/SWe18Y/1iCkxfblgllWWEs7Vo4RPbG4FqkFkwLicC6HJqVm/k+1yzxTcHM32xAZJ1owUTG9bmdndHcijOdGDaQVsN07LL/B20gUFBu1yNTiu9kdZLBsvcM7NXS2mb5EnllFOINkhYLyXBaO5GWhgRhvNwCvhy6ofR3Xetx43mNVTqGUgvA6cv8B8qhpGBHmJ62Ew/+cLqu3MA5VFyu+zXvIWuEsf16/e8flClUSSseEEOAezpv1MxU4SfEHTqusVegDWR8gLfKqqTHowaglcUrPeUkYosxVJp8yn55xj4gKbgq0amZfYTYNfzzj4AOFtqeMh90l1C0xPfiZPPLF1ofoUKGfVy3IOEQgab6GTyhKqDmcBbb4kPPxrUwMvCcj9JP08HFiZYwn+Bxc+BvQpW3lnSu+2FY5dig91m14QQVMK4kVmwIvDmfZ7hAtavOmEo36/hoTPIhUmdqetrh5ohxsAVl1EUjl1ZHoV8dL8D3H12J0G9zsPKDL7kqPuFwpiQfjDe11glLenpMmozatccHwHYUI4nDqRzoO5dp627JvRVq/xHaXq5dWo+2i4MFxR1ugHMd0L2gN9NiXLA+AwPAGKx6GKlZVhKPo0fdOKMbI8LapnXlEmFZDe2PF6V5gbiJmSyS4ofyATtehkFXltpsYqkwrkJ0wjDCnapvetl5NlozEOQ+FOVd9rRWB1xK2UnD62r7RsSz3vJreRchmF/B56QBNOZiYA2wZoX9WM3a58QamZ4J061B1nIzhqwiTK0E8DalIAC4N7HUUQ488rQNWqzX6Sig4aF8JBIudjgX70Glq3K53swOrEs9BdTcS5MHFatRJar9uLSGZdCxRQWLYS5imcGdOekeGTJGeoyjSqcJo2Cr0vlgUP/vvpw+JffhEDVWBAOddDGHUH6AEJAZDavQVCm8nVhn27m0FlnYC8UqRT2x0BABkMJ13q74WAaWVB16GhjHMPDg0g+tWi89y3O61G+8as5QvYyN4FX93z1Wyn0dEdrzKxBZjxxubyR0nsXBW81GkM0epSZYrLw0WaDx58EmP9xTKoB2vXJJfs8WhXiCgeyfplTjNtKwjEYjjzxv9cZ7Xix1dJjo15PWoF5xoB4612tF03xX/tdhEXZjKGJv0jVlH/4alRW92D9v/kbow5axILAMf0m95vfnECyiKYVvuT9PXdaeloW86MJtl3UoYi0vmGwnEX6wxxdHCVXxW+YAe7xeAUXxIz5j5EDAOshdxxhH+7vLoozRvnNSv4j3yrtOYqKvTdr2vpMDcEaFbQ1UhUJLZ/wPoBL4I16axsdtDlve3Q33MxQwd1fMqwCWtJYmjojEWFLUvBMHtmsWSmsyoj9P1ypwN8V/o5N9KioXPf0PcoisdyDOgU1rPNtwAbbNWeheyrxBxGNptIj2QwmJ3KyJQHOP/PzjQfo6C8uKVx3XdeYK6+9KFuOuFTJQ6iPvCfdOZ+kKaeRZ34K4psSjQpu/M9SV37V9qkfzuA4AXhaWQF3Ph4lqj1XGBEo4bs="
  },
  {
    "articleStyle": 1,
    "customOrder": 4,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "$.list",
    "ruleContent": "",
    "ruleDescription": "<br><h3>{{$.vod_name}}</h3>\n<h6>[{{$.vod_score}}分] [{{$.vod_class ##\\,##] [}}]<b>发布于 {{$.vod_time}}</b></h6>\n\n<video src=\"{{$.vod_play_url ##^.*?\\$}}\" poster=\"{{$.vod_pic}}\" controls></video>",
    "ruleImage": "$.vod_pic",
    "ruleLink": "/api.php/provide/vod/?ac=detail&ids={{$.vod_id}}",
    "ruleNextPage": "page",
    "rulePubDate": "⏱️ {{$.vod_duration}}　{{$.vod_score}}分　{{$.vod_time}}",
    "ruleTitle": "$.vod_name",
    "singleUrl": false,
    "sortUrl": "🔎 视频搜索::https://apittzy.com/api.php/provide/vod/?ac=detail&pg={{page}}&wd=按摩\n\n精品推荐::https://apittzy.com/api.php/provide/vod/?ac=detail&pg={{page}}&t=1\n国产视频::https://apittzy.com/api.php/provide/vod/?ac=detail&pg={{page}}&t=2\n主播直播::https://apittzy.com/api.php/provide/vod/?ac=detail&pg={{page}}&t=3\n日本无码::https://apittzy.com/api.php/provide/vod/?ac=detail&pg={{page}}&t=4\n日本有码::https://apittzy.com/api.php/provide/vod/?ac=detail&pg={{page}}&t=5\n中文字幕::https://apittzy.com/api.php/provide/vod/?ac=detail&pg={{page}}&t=6\n巨乳美乳::https://apittzy.com/api.php/provide/vod/?ac=detail&pg={{page}}&t=7\n熟女人妻::https://apittzy.com/api.php/provide/vod/?ac=detail&pg={{page}}&t=8\n强奸乱伦::https://apittzy.com/api.php/provide/vod/?ac=detail&pg={{page}}&t=9\n欧美精品::https://apittzy.com/api.php/provide/vod/?ac=detail&pg={{page}}&t=10\n少女萝莉::https://apittzy.com/api.php/provide/vod/?ac=detail&pg={{page}}&t=11\n三级伦理::https://apittzy.com/api.php/provide/vod/?ac=detail&pg={{page}}&t=12\n成人动漫::https://apittzy.com/api.php/provide/vod/?ac=detail&pg={{page}}&t=13",
    "sourceComment": "★源URL的填写链接为【list】格式\n\t网站网址\n\t网站网址/api.php/provide/vod/?ac=【list】\n\n例：\nhttps://apittzy.com\nhttps://apittzy.com/api.php/provide/vod/?ac=list\n\nps：\n\t使用【list】格式查看分类和分类id以组成分类URL\n\n\n\n★分类URL的填写链接为【detail】格式\n\t视频搜索::网站网址/api.php/provide/vod/?ac=【detail】&pg={{page}}&wd=关键词\n\t分类名称::网站网址/api.php/provide/vod/?ac=【detail】&pg={{page}}&t=分类id\n\n例：\n\t视频搜索::https://apittzy.com/api.php/provide/vod/?ac=detail&pg={{page}}&wd=按摩\n\t精品推荐::https://apittzy.com/api.php/provide/vod/?ac=detail&pg={{page}}&t=1\n\nps：\n\t分类URL写成【list】格式也行，但是没有详细信息。需要通过正文链接跳转正文页再填写正文规则。而且没有封面！\n\n\n\n★正文规则\n\t因为分类URL使用了【detail】格式，需要的信息都显示了。(视频链接)\n\t所以我们在描述规则填写正文规则就行了，这样子就省的再跳转一次正文链接了。\n\t但是链接规则还是要写的，不然不会加载列表。\n\n\n\n☆【vod】和【art】\n视频分类链接为【vod】格式\n\t网站网址/api.php/provide/vod/?ac=list\n图文分类链接为【art】格式\n\t网站网址/api.php/provide/art/?ac=list\n通过【list】格式查看分类和分类id以组成分类URL\n\nps：\n\t图片和小说链接都是【art】格式，这样子不好分割，建议把小说分类相关链接移除\n\t因为【art】格式的【detail】链接并不会显示全部套图，所以需要填写正确的链接规则跳转正文页再填写正文规则而不是直接在描述规则处填写规则\n\n\n\n☆详情页链接规则\n\t详情页链接仅支持【detail】格式\n网站网址/api.php/provide/(vod/art)/?ac=detail&ids=(视频id/图文id)\n\n\t如果分类URL只填写了网址，那么链接规则补充剩下的链接就行了\n例：\n\t/api.php/provide/vod/?ac=detail&ids=视频id\n❗仅限【vod】/【art】单格式使用\n\n\t如果订阅同时写了【vod】和【art】两种格式，链接就需要使用js判定\n@js:\nif(baseUrl.match(/art/)){\n\t网站网址/api.php/provide/art/?ac=detail&ids={{$.art_id}}\n}else{\n\t网站网址/api.php/provide/vod/?ac=detail&ids={{$.vod_id}}\n}\nps：\n\t使用两种格式时，此js在正文规则也会需要用到。\n\n\n\n\n\n‼️以下网址加上【list】链接可更改为json格式，查看分类及分类id\n\n\t因为json链接格式固定？\n\t所以修改一下网站之间的分类URL差别即可使用此订阅格式套用，，，大概\n\nps：\n\t注意【list】和【detail】格式以及【vod】和【art】链接的差别\n\n\n共30个网址：\n\n\t★鲨鱼::https://shayuapi.com\n\t\tps：老朋友了\n\n\n\t老鸭资源::http://laoyazy50.cc\n\t\tps：网站有时效性？\n\n\n\t老鸭资源2::https://api.apilyzy.com\n\n\n\n\t水蜜桃::http://51smt4.xyz\n\n\n\t99资源::http://99zy.pw\n\n\n\t99资源吧::http://99zyba.com\n\n\n\t丝袜资源::http://siwazyw.net\n\n\n\t浪潮资源::http://langchaozy6.com\n\n\n\tCK资源::http://www.feifei67.com\n\n\n\t大雕资源::http://www.dd-01.com\n\n\n\t银龙资源::https://yinlong.tv\n\n\n\t苍天资源::http://cj.cangtiancj.com\n\n\n\t骚色资源::http://api.saosezy.icu\n\n\n\t芒果资源::https://mgzyz1.com\n\n\n\t酷豆资源::https://kudouzy.com\n\n\n\t酷伦理资源::https://api.kudian70.com\n\n\n\t速播资源::https://api.suboapi.com\n\n\n\t国产精品::https://zy.difi.life\n\n\n\t痴汉队长::https://javcaptain.com\n\n\n\t秀色资源::https://api.xiuseapi.com\n\n\n\t苹果资源::https://www.pg111222.com\n\n\n\t茄子资源::http://www.qiezizy8.com\n\n\n\t辣椒资源::https://www.lajiaozy18.com\n\n\n\t花椒资源::https://apihjzy.com/api.php/provide/vod/?ac=list\n\t\tps：网站无法打开，json链接可以\n\n\n\t桃色资源::https://api.taoseapi.com/api.php/provide/vod/?ac=list\n\t\tps：网站无法打开，json链接可以\n\n\n\t乐播资源::https://lbapi9.com/api.php/provide/vod/?ac=list\n\t\tps：网站无法打开，json链接可以\n\n\n\t佳丽资源::https://jializyzapi.com/api.php/provide/vod/?ac=list\n\t\tps：网站无法打开，json链接可以\n\n\n\t番号资源::http://fhapi9.com/api.php/provide/vod/?ac=list\n\t\tps：网站无法打开，json链接可以\n\n\n\tx8优酷::https://gov.gooder.bar\n\t\tps：没有vod格式？\n\n\n\t土狗采集::http://vip-04.tgzy.cc\n\t\tpa：vod格式好像是音乐？\n\n\n\n☆使用【vod】和【art】两种链接的正文规则参考\n<br><h3>{{$.list..vod_name||$.list..art_name}}</h3>\n<h6>[{{$.list..type_name}}]<b>发布于 {{$.list..vod_time||$.list..art_time}}</b></h6>\n\n<video src=\"{{$.list..vod_play_url ##^.*?\\$}}\" poster=\"{{$.list..vod_pic}}\" controls>视频加载失败</video>\n\n<div id=\"TúPiàn\">\n{{$.list..art_content ##</?(br|p)>}}\n</div>\n<link rel=\"stylesheet\" href=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.2/viewer.min.css\">\n<script src=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.2/viewer.min.js\"></script>\n<script>\n  new Viewer(\n    document.getElementById(\"TúPiàn\")    ,{\n//设置图片地址来源\n    url: 'src',\n//是否显示图片标题(true/false)\n    title: false,\n//设置播放间隔(单位毫秒，1秒=1000毫秒)\n    interval: 3000\n    }\n  );\n</script>\n\n@js:\nif(baseUrl.match(/art/)){\n\tresult.replace(/<vid[\\s\\S]+deo>/,'')\n}else{\n\tresult.replace(/<div[\\s\\S]+ipt>/,'')\n}",
    "sourceGroup": "R18",
    "sourceIcon": "https://i.postimg.cc/sXtXHZDM/IMG_20220716_190738.png",
    "sourceName": "©探探®",
    "sourceUrl": "https://apittzy.com",
    "style": "h3{text-align:center}\nh6{margin-bottom:0}\nb{float:right}\n\nvideo{width:100%;max-height:285px;border-radius:5px}"
  },
  {
    "articleStyle": 2,
    "concurrentRate": "",
    "customOrder": 5,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.update_area_lists@tag.li",
    "ruleContent": "<!DOCTYPE html>\n<html>\n\n<head>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\">\n    <link rel=\"stylesheet\" href=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.css\">\n    <script src=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.js\"></script>\n    <script src=\"http://lib.sinaapp.com/js/jquery/2.0.2/jquery-2.0.2.min.js\"></script>\n</head>\n\n<body>\n    <h3>{{@@.item_title@tag.h1@text}}</h3>\n<h5>{{@class.jianjie@text}}</h5>\n    <div id=\"box\">{{@@class.content.0@tag.p@tag.img@html}}</div>\n    <div id=\"loads\">加载中 </div>\n    <script>\n        var loads;\n        $(document).ready(function () {\n            var box = document.getElementById(\"box\");\n            loads = document.getElementById(\"loads\");\n            new Viewer(box, { title: false, interval: 3000 })\n            var i = 1;\n            var page = {{@@class.page.0@tag.a.-2@textNodes##\\n}}-1;\n            var url = \"{{baseUrl.replace('.html','_')}}\";\n            new IntersectionObserver(entries => {\n                if (entries[0].intersectionRatio) {\n                    if (entries[0].intersectionRatio <= 0) return;\n                    for (var j = 0; j < 1; j++) {\n                        fetchHtml(i, page, url);\n                        i += 1;\n                    }\n                }\n            }).observe(loads)\n        });\n\n\n        function fetchHtml(i, page, url) {\n        \t\n            if (i <= page) {\n                nurl = url+'?page=' + i;\n                nurl = url + i + '.html';\n                $.ajax({\n                    url: nurl,\n                    dataType: 'html',\n                    success: function (html) {\n                        $('#box').append('<h5>' + (++i) + '->' + (++page) + '</h5>');\n                        $('#box').append($(html).find('p img'));\n                        box.viewer.update();\n                    },\n                    error: function (xhr) { }\n                });\n            } else {\n                $('#loads').html(\"\");\n            }\n        }\n    </script>\n</body>\n\n</html>",
    "ruleDescription": "",
    "ruleImage": "tag.a@tag.img@src",
    "ruleLink": "tag.a@href",
    "ruleNextPage": "class.page@tag.a.-2@href",
    "rulePubDate": "{{@class.meta-post@textNodes}}_浏览:{{@class.cx_like@textNodes}}",
    "ruleTitle": "tag.a@title",
    "singleUrl": false,
    "sortUrl": "最近更新::http://98.987328.xyz/new.html\n首页推荐::http://98.987328.xyz/hot.html\n一周热门::http://98.987328.xyz/top.html\n随机::https://www.xiu01.top/XiuRen/index{{ Math.ceil(Math.random()*50) }}.html\n秀人网::http://98.987328.xyz/XiuRen/{{page - 1 == 0 ? \"\" : \"index\"+page+\".html\"}}\n模范学院::http://98.987328.xyz/MFStar/{{page - 1 == 0 ? \"\" : \"index\"+page+\".html\"}}\n魅妍社::http://98.987328.xyz/MiStar/{{page - 1 == 0 ? \"\" : \"index\"+page+\".html\"}}\n美媛馆::http://98.987328.xyz/MyGirl/{{page - 1 == 0 ? \"\" : \"index\"+page+\".html\"}}\nImiss爱蜜社::http://98.987328.xyz/IMiss/{{page - 1 == 0 ? \"\" : \"index\"+page+\".html\"}}\n兔几盟::http://98.987328.xyz/BoLoli/{{page - 1 == 0 ? \"\" : \"index\"+page+\".html\"}}\n尤物馆::http://98.987328.xyz/YouWu/{{page - 1 == 0 ? \"\" : \"index\"+page+\".html\"}}\n优星馆::http://98.987328.xyz/Uxing/{{page - 1 == 0 ? \"\" : \"index\"+page+\".html\"}}\n蜜桃社::http://98.987328.xyz/MiiTao/{{page - 1 == 0 ? \"\" : \"index\"+page+\".html\"}}\n嗲囡囡::http://98.987328.xyz/FeiLin/{{page - 1 == 0 ? \"\" : \"index\"+page+\".html\"}}\n影私荟::http://98.987328.xyz/WingS/{{page - 1 == 0 ? \"\" : \"index\"+page+\".html\"}}\n顽味生活::http://98.987328.xyz/Taste/{{page - 1 == 0 ? \"\" : \"index\"+page+\".html\"}}\n星乐园::http://98.987328.xyz/LeYuan/{{page - 1 == 0 ? \"\" : \"index\"+page+\".html\"}}\nHuaYan花の颜::http://98.987328.xyz/HuaYan/{{page - 1 == 0 ? \"\" : \"index\"+page+\".html\"}}\nDKGirl御女郎::http://98.987328.xyz/DKGirl/{{page - 1 == 0 ? \"\" : \"index\"+page+\".html\"}}\nMintYe薄荷叶::http://98.987328.xyz/MintYe/{{page - 1 == 0 ? \"\" : \"index\"+page+\".html\"}}\n尤蜜荟::http://98.987328.xyz/YouMi/{{page - 1 == 0 ? \"\" : \"index\"+page+\".html\"}}\n糖果画报::http://98.987328.xyz/Candy/{{page - 1 == 0 ? \"\" : \"index\"+page+\".html\"}}\nMTMeng模特联盟::http://98.987328.xyz/MTMeng/{{page - 1 == 0 ? \"\" : \"index\"+page+\".html\"}}\nMicat猫萌榜::http://98.987328.xyz/Micat/{{page - 1 == 0 ? \"\" : \"index\"+page+\".html\"}}\n花漾::http://98.987328.xyz/HuaYang/{{page - 1 == 0 ? \"\" : \"index\"+page+\".html\"}}\n星颜社::http://98.987328.xyz/XingYan/{{page - 1 == 0 ? \"\" : \"index\"+page+\".html\"}}\n画语界::http://98.987328.xyz/XiaoYu/{{page - 1 == 0 ? \"\" : \"index\"+page+\".html\"}}\n奶瓶土肥圆::http://98.987328.xyz/zhouyanxi.html\n女神杨晨晨::http://98.987328.xyz/yangchenchen.html\nEgg-尤妮丝::http://98.987328.xyz/younisi.html\n就是阿朱啊::http://98.987328.xyz/azhu.html\n妲己_Toxic::http://98.987328.xyz/daji.html\n女神王雨纯::http://98.987328.xyz/wangyuchun.html\n女神周于希::http://98.987328.xyz/zhouyuxi.html\n女神朱可儿::http://98.987328.xyz/zhukeer.html\n女神芝芝Booty::http://98.987328.xyz/zhizhi_Booty.html\n女神绯月樱::http://98.987328.xyz/feiyueying.html\n女神顾奈奈::http://98.987328.xyz/gunainaijiang.html\n女神娜露Selena::http://98.987328.xyz/nalu_Selena.html\n模特陆萱萱::http://98.987328.xyz/luxuanxuan.html\n女神王馨瑶yanni::http://98.987328.xyz/wangxinyao.html\n模特唐安琪::http://98.987328.xyz/tanganqi.html\n模特美桃酱::http://98.987328.xyz/meitaojiang.html\n模特鱼子酱::http://98.987328.xyz/yuzijiang.html\n模特熊小诺::http://98.987328.xyz/xiongxiaonuo.html\n模特婠婠么::http://98.987328.xyz/wanwanmo.html\n模特江真真::http://98.987328.xyz/jiangzhenzhen.html\n模特林珊珊::http://98.987328.xyz/linshanshan.html\n模特利世::http://98.987328.xyz/lishi.html\n模特媛媛酱::http://98.987328.xyz/yaunyuanjiang.html\n模特小海臀::http://98.987328.xyz/xiaohaitun.html",
    "sourceComment": "导航页 https://www.2xiuren.com/\n秀人集无法获取分类下一页",
    "sourceGroup": "🔞 18禁,R18",
    "sourceIcon": "https://images.weserv.nl/?url=https://article.biliimg.com/bfs/article/ded67638d944a7e0ef4452b721fd6434a22de16d.png",
    "sourceName": "秀人集",
    "sourceUrl": "http://98.987328.xyz/",
    "style": "/*标题相关*/\r\nh3{text-align:center}\r\nh6{margin-bottom:0}\r\nimg{width:100%}\nh5{margin-bottom:0;padding-left:5;}"
  },
  {
    "articleStyle": 2,
    "customOrder": 5,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "{\n \"User-Agent\":\"Mozilla/5.0 (Linux; Android 12; HarmonyOS; OCE-AN50; HMSCore 6.15.0.302) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.5735.196 HuaweiBrowser/16.0.3.302 Mobile Safari/537.36\",\n \"referer\":\"https://jav98.xyz/\"\n}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginUrl": "https://jav98.link/",
    "ruleArticles": ".works@a",
    "ruleContent": "<script>host=\"{{source.getKey()}}\"</script>\n\n<!--播放器-->\n<div id=\"MacPlayer\">\n  <iframe src=\"\" border=\"0\" marginwidth=\"0\" framespacing=\"0\" marginheight=\"0\" frameborder=\"0\" scrolling=\"no\" vspale=\"0\" allowfullscreen=\"ture\" noresize=\"\"></iframe>\n</div>\n\n{{data=java.getElements('html');data=String(result).replace(/href=\\\"\\/(actress|genre|series|studio|label)\\/[^\"]+\\\"/g,'').replace(/href=\\\"\\/play/g,'link=\"/play').replace(/磁链资源/,'点击番号跳转外部下载').replace(/<html>|<\\/html>/g,'')}}\n\n\n<!--引入jquery-->\n<script src=\"https://code.jquery.com/jquery-3.0.0.min.js\"></script>\n<script>\n  var play=$('.is-link');\n  var embla=$('.embla');\n  var player= $('#MacPlayer');\n  var iframe= $('#MacPlayer iframe');\n  play.click(function(){\n  \t  url=host+$(this).attr('link');\n  \t  req(url);\n  });\n  //发送请求\n function req(url){\n   var xhr = new XMLHttpRequest();\n   xhr.open('get',url);\n   xhr.send();\n   //接收返回数据\n   xhr.onload=async function(){\n      data=await xhr.responseText;\n      //获取播放链接\n      data=data.match(/http.*\\.m3u8/)[0];\n      jx=\"https://codjx.com?url=\";\n      embla.css('height','240px');\n      player.css('display','block');\n      iframe.attr('src',data);\n   }\n };\n //初始化\n  (()=>{\n   \t \n\t  })();\n</script>",
    "ruleImage": "{{@@.work-cover@img@src}},{\"headers\":{\"Accept\":\"image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8\",\"referer\":\"{{source.sourceUrl}}\"}}\n<js>\njava.put('pic',result)\n</js>",
    "ruleLink": "a.0@href##$##,{\"webView\":true}",
    "ruleNextPage": "page",
    "rulePubDate": "{{@@.work-id@text}} {{@@.work-actress@text}} {{@@.work-date@text}}",
    "ruleTitle": ".work-title@text\n<js>\njava.put('title',result)\n</js>",
    "singleUrl": false,
    "sortUrl": "🔥热门::/top-videos?page={{page}}\n可播放::/stream?page={{page}}\n最新影片::/latest?page={{page}}\n番号搜索::/search?type=id&q={{source.getVariable()}}\n磁力::/updated?page={{page}}\n7日::/rank/7-days\n30日::/rank/30-days\n昨日::/rank/1-days\n去年::/rank/{{year=(new Date()).getFullYear();year=Number(year)-1}}\n最新::/latest?page={{page}}",
    "sourceComment": "源变量番号需要输入完整才有搜索结果\n例如：RCTD-065\n\n地址发布页  https://jav98.link/\n\nhttps://img2.baidu.com/it/u=1877882868,1186480563&fm=253&fmt=auto&app=138&f=PNG?w=500&h=500\nhttps://img1.baidu.com/it/u=634625250,3422457345&fm=253&fmt=auto?w=800&h=800",
    "sourceGroup": "text,R18",
    "sourceIcon": "https://img0.baidu.com/it/u=1621557539,808532458&fm=253&fmt=auto?w=800&h=800",
    "sourceName": "JAV档案ᴴ",
    "sourceUrl": "https://jav8.pro",
    "style": "html,body,.container{\n\tbackground-color:#222 !important;\n}\n#MacPlayer{\n\tdisplay:none;\n\tposition:fixed;\n\ttop:0;left:0;\n\twidth:100%;height:240px;\n\tz-index:99999;\n\tbackground-color:black;\n}\niframe{\n\twidth:100%;height:100%;\n}\n#main{\n\tmargin:0 !important;\n\tpadding:15px !important;\n}\n.tags,.intro{\n\tmargin:0 !important;\n\tpadding:0 !important;\n}\n.tag{\n\tmargin-right:5px !important;\n}\n.actors{\n\tmargin-bottom:10px !important;\n}\n.navbar,.article-more,.apps,.intro-text,footer{\n\tdisplay:none !important;\n}\n.column{\n\tmargin-top:0 !important;\n\tpadding:0 10px !important;\n}\ndt a,dt a:focus{\n\tborder:none !important;\n\toutline:none !important;\n}\n.attributes dd:nth-child(3){\n\tdisplay:none !important;\n}\n.attributes dt:nth-child(4){\n\tdisplay:none !important;\n}\n.attributes dd:nth-child(n+8){\n\tdisplay:none !important;\n}\n.attributes dt:nth-child(n+9){\n\tdisplay:none !important;\n}\n.magnet-info .button:nth-child(even){\n\tdisplay:none !important;\n}\n.column:nth-child(1){\n\tpadding:10px !important;\n\tmargin:15px 10px !important;\n\tborder:0 !important;\n\tborder-radius:10px !important;\n\tbox-shadow: 0 2px 8px 0 rgba(0,0,0,0.50);\n}\n.attributes,.magnets{\n\tborder:0 !important;\n\tborder-radius:10px !important;\n\tbox-shadow: 0 2px 8px 0 rgba(0,0,0,0.50);\n}\n.panel-header{\n\tborder-radius:10px 10px 0 0 !important;\n}\n.magnets a{\n\tcolor:black;\n}\n.highlight{\n\tcolor:#FF3D00 !important;\n}\n\n/*白天主题配色*/\n@media(prefers-color-scheme:light){\n  html,body,.container{background:#FEFEFE !important;}\n  .title,.actors a{color:black !important;}\n  .highlight{color:#BF360C !important;}\n  .tag{background:black !important;color:#FEFEFE !important;}\n  dd,dt{color:black !important;}\n  .magnets{background:#FEFEFE !important;}\n  dt a{color: black !important;}\n  .panel-header{color:#FEFEFE !important;\n\tbackground:black !important;}\n\t.attributes,.magnets{background:#FEFEFE !important;}\n}",
    "variableComment": "❗️源变量番号需要输入完整才有搜索结果❗️\n❗️例如：RCTD-065❗️\n❗️仅支持番号❗️"
  },
  {
    "articleStyle": 1,
    "customOrder": 6,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": ".module-items@a",
    "ruleContent": ".module-info-introduction-content@p@html",
    "ruleImage": "img@data-original||img@src",
    "ruleLink": "a@href",
    "ruleNextPage": "page",
    "ruleTitle": "img@alt||.module-poster-item-info@text",
    "singleUrl": false,
    "sortUrl": "搜索::vodsearch/-------------.html?wd={{source.getVariable()}}\n推荐::https://tianna.coshan.sbs/arttype/515/page/{{page}}.html\n三次元::https://tianna.coshan.sbs/arttype/512/page/{{page}}.html\n新上线::https://tianna.coshan.sbs/artshow-512/page/{{page}}.html\nCos::https://tianna.coshan.sbs/artshow-516/page/{{page}}.html\n写真::https://tianna.coshan.sbs/artshow-517/page/{{page}}.html\n网红::https://tianna.coshan.sbs/artshow-518/page/{{page}}.html\n二次元::https://tianna.coshan.sbs/arttype/513/page/{{page}}.html\n漫画::https://tianna.coshan.sbs/artshow-519/page/{{page}}.html\n插画::https://tianna.coshan.sbs/artshow-520/page/{{page}}.html\nCG::https://tianna.coshan.sbs/artshow-521/page/{{page}}.html",
    "sourceComment": "https://all.baozouj8.icu/",
    "sourceGroup": "图片,R18",
    "sourceIcon": "https://all.baozouj8.icu/images/headimg_dl.jpg",
    "sourceName": "暴走",
    "sourceUrl": "https://tianna.coshan.sbs/"
  },
  {
    "articleStyle": 0,
    "customOrder": 6,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "id.ulist@tag.li",
    "ruleContent": "",
    "ruleImage": "tag.img@src",
    "ruleLink": "tag.a@href",
    "ruleNextPage": "id.pt_next@href",
    "rulePubDate": "{{@@tag.p.1@text}} · {{@@tag.p.2@text}} · {{@@tag.p.3@text}}##作者.|大小.|更新.",
    "ruleTitle": "tag.p.0@text",
    "singleUrl": false,
    "sortUrl": "最新::http://m.xxqishu.com/newbook/\n玄幻奇幻::http://m.xxqishu.com/xuanhuan/\n武侠仙侠::http://m.xxqishu.com/xianxia/\n女频言情::http://m.xxqishu.com/yanqing/\n现代都市::http://m.xxqishu.com/dushi/\n历史军事::http://m.xxqishu.com/lishi/\n游戏竞技::http://m.xxqishu.com/youxi/\n科幻灵异::http://m.xxqishu.com/kehuan/\n美文同人::http://m.xxqishu.com/meiwen/\n精校::http://m.xxqishu.com/jingjiao/",
    "sourceGroup": "📥 下载,R18",
    "sourceIcon": "https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=1034123361,3171804368&fm=26&gp=0.jpg",
    "sourceName": "新奇书网",
    "sourceUrl": "http://m.xxqishu.com",
    "style": ""
  },
  {
    "articleStyle": 0,
    "customOrder": 7,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceComment": "官网：www.yiove.com",
    "sourceGroup": "书源,R18",
    "sourceIcon": "https://shuyuan.yiove.com/logo.jpeg",
    "sourceName": "Yiove 书源仓库",
    "sourceUrl": "https://shuyuan.yiove.com"
  },
  {
    "articleStyle": 1,
    "customOrder": 7,
    "enableJs": true,
    "enabled": false,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": ".item",
    "ruleContent": "html@all\n@js:\nresult=result.replace(/src=.*?js\"/g,'').replace(/\\n/g,'').replace(/<div class=\"top-links\">.*<\\/nav>/,'').replace(/<div class=\"sponsor.*/,'')",
    "ruleImage": "img@src",
    "ruleLink": "a@href",
    "ruleNextPage": "",
    "rulePubDate": ".wrap@text",
    "ruleTitle": ".title@text",
    "singleUrl": false,
    "sortUrl": "破壞版::https://tktube.com/categories/454545388bfe05b5b43cdc4fb9496ac6/\n國產::https://tktube.com/categories/dcfdf51a95d382c8d30e69a5c11a8d91/\n韓國::https://tktube.com/categories/korean-bj-dance/\n中文字幕::https://tktube.com/categories/8a0059a17039887e9a354fe90e91c1c8/\n日本無碼::https://tktube.com/categories/7c26fad3901898582e98669f503d20de/\n日本有碼::https://tktube.com/categories/d7925a1dc9f80c4da5a47d8bf0ffb1d6/\nFC2-PPV::https://tktube.com/categories/fc2/\n歐美::https://tktube.com/categories/280fb8fa3ac78f44611a041dd5e394a5/\n寫真::https://tktube.com/categories/6965207df7870386905f6ee14c32f389/\nMGS動畫::https://tktube.com/categories/mgs/\n動畫::https://tktube.com/categories/98d0e76bc8de76ab8abed00e7d50a7b4/\n",
    "sourceGroup": "成人视频,R18",
    "sourceIcon": "https://z3.ax1x.com/2021/05/04/gnLfmD.png",
    "sourceName": "©TkTube",
    "sourceUrl": "https://tktube.com/",
    "style": "video{width:100%}"
  },
  {
    "articleStyle": 0,
    "concurrentRate": "",
    "customOrder": 7,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "{\"User-Agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36\"}",
    "injectJs": "if (!/^https:\\/\\/(so\\.toutiao\\.com\\/search\\/?|quark\\.sm\\.cn\\/s|wap\\.sogou\\.com\\/web\\/searchList\\.jsp|m\\.so\\.com\\/s|cn\\.bing\\.com\\/search|www\\.baidu\\.com\\/s)\\?/.test(window.location.href) && !document.getElementById('open-yuedu-bookshelf')) {\n      const btn = document.createElement('div');\n      btn.innerHTML = `<button type=\"button\" id='open-yuedu-bookshelf' style=\"z-index: 9999999999;position: fixed;bottom: 7%;right: 7%;background-color: rgb(255, 153, 0);border-radius: 2px;border: 1px solid rgb(255, 153, 0);color: #fff;font-size:${window.innerWidth/80}vw;font-weight: 400;padding: ${window.innerWidth/400}vw ${window.innerWidth/150}vw;\" onclick=\"window.open('legado://import/addToBookshelf?src=${encodeURIComponent(window.location.href)}','_blank')\">加入书架</button>`;\n      document.body.appendChild(btn);\n    }\n\n    let time,num=0;\n    const herfs = new Map();\n    function onTouchStart(evt) {\n      for (const el of evt.path) {\n        if (el.tagName === \"A\") {\n          if (el.href !== 'javascript:void(0)') {\n            const inner = el.href;\n            herfs.set(el, inner);\n            el.setAttribute('href', 'javascript:void(0)');\n            time = setTimeout(() => {\twindow.open(`legado://import/addToBookshelf?src=${encodeURIComponent(inner)}`, '_blank')\n            }, 600);\n          }\n          break;\n        }\n      }\n    };\nfunction onTouchEnd(evt) {\n      if (time) {\n        clearTimeout(time);\n        time = undefined;\n      }\n\tfor (const el of evt.path) {\n        if (el.tagName === \"A\") {\n          if (el.href === 'javascript:void(0)') {\n            const herf = herfs.get(el);\n            if (herf) {\n              el.setAttribute('href', herf)\n            }\n          }\n          break;\n        }\n    }\n}\n\nfunction addListener(els){\nArray.from(els, (item) => {\n      if (item.getAttribute('add-yuedu-bookshelf') !== 'add-yuedu-bookshelf' && item.innerText && item.href && !/^#|^javascript:/.test(item.href)) {\n        item.setAttribute('add-yuedu-bookshelf', 'add-yuedu-bookshelf');\n        item.addEventListener('touchstart', onTouchStart);\n        item.addEventListener('touchend', onTouchEnd);\n        item.addEventListener('touchcancel', onTouchEnd);\n        item.addEventListener('mousedown', onTouchStart);\n        item.addEventListener('mouseup', onTouchEnd);\n      }\n    });\nnum= els.length;\n}\n\nfunction reAdd(){\n\t\tconst els = document.getElementsByTagName('a');\n\tif(els.length>num)addListener(els);\n}\n\nreAdd();\n\nconst observer = new ResizeObserver(reAdd);\nobserver.observe(document.body);",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": false,
    "ruleArticles": "@js:\nvar labels = `${source.getVariable()||\"\"}`.trim();\n[\n{\n\t\"name\":\"夸克搜索\",\n\t\"url\":\"https://quark.sm.cn/s?q=小说排行\"\n},\n{\n\t\"name\":\"搜狗搜索\",\n\t\"url\":\"https://wap.sogou.com/web/searchList.jsp?keyword=小说排行\"\n},\n{\n\t\"name\":\"头条搜索\",\n\t\"url\":\"https://so.toutiao.com/search/?keyword=小说排行\"\n},\n{\n\t\"name\":\"360搜索\",\n\t\"url\":\"https://m.so.com/s?q=小说排行\"\n},\n{\n\t\"name\":\"必应搜索\",\n\t\"url\":\"https://cn.bing.com/search?q=小说排行\"\n},\n{\n\t\"name\":\"百度搜索\",\n\t\"url\":\"https://www.baidu.com/s?wd=小说排行\"\n}\n].concat(labels?labels.split(/\\s+/).map(it=>{\n\tconst href=it.split(\"::\");\n\treturn {\"name\":href[0],\"url\":href[1]}\n\t}):(source.setVariable(`谷歌搜索(VPN)\t::https://www.google.com/search?q=\n谷歌镜像1::https://shitu.paodekuaiweixinqun.com/webhp?safe=off&hl=zh-CN&q=\n谷歌镜像2::https://images.hk.53yu.com/search?safe=off&hl=zh-CN&q=`),[{\n\t\"name\":\"谷歌搜索(VPN)\",\n\t\"url\":\"https://www.google.com/search?q=\"\n},\n{\n\t\"name\":\"谷歌镜像1\",\n\t\"url\":\"https://shitu.paodekuaiweixinqun.com/webhp?safe=off&hl=zh-CN&q=\"\n},\n{\n\t\"name\":\"谷歌镜像2\",\n\t\"url\":\"https://images.hk.53yu.com/search?safe=off&hl=zh-CN&q=\"\n}]))",
    "ruleContent": "",
    "ruleDescription": "",
    "ruleImage": "",
    "ruleLink": "url",
    "ruleNextPage": "",
    "rulePubDate": "",
    "ruleTitle": "name",
    "singleUrl": false,
    "sortUrl": "",
    "sourceComment": "以如下格式设置源变量，可在列表后追加任意多个书签和搜索引擎\n\n夸克搜索::https://quark.sm.cn/s?q=小说排行",
    "sourceGroup": "🔍搜索,R18",
    "sourceIcon": "https://5b0988e595225.cdn.sohucs.com/q_70,c_zoom,w_640/images/20180118/22271e695f5f48a89795e2b9858f5008.jpeg",
    "sourceName": "聚合搜索",
    "sourceUrl": "https://www.baidu.com",
    "style": "",
    "variableComment": ""
  },
  {
    "articleStyle": 0,
    "customOrder": 8,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "<js>\njson=[];\nif(baseUrl.match(/★/)){\nlist=baseUrl.replace(/http.*?wd=\\s*/,'').split('★');\nfor(i in list){\nhref=list[i].match(/【(.*?)】/)[1];\ntext=list[i].match(/《(.*?)》/)[1];\nintro=list[i].match(/◎(.*?)◎/)[1];\nindex=list[i].match(/^(\\d+、\\d+、)/)?list[i].match(/^(\\d+、\\d+、)/)[1]:list[i].match(/^(.*?)【/)[1]\njson.push({text:text,src:href,intro:intro,index:index})\n}\n}\nJSON.stringify(json)</js>\n$.[*]",
    "ruleContent": "",
    "ruleDescription": "",
    "ruleImage": "$.src",
    "ruleLink": "$.index",
    "ruleNextPage": "",
    "rulePubDate": "$.intro",
    "ruleTitle": "$.text",
    "singleUrl": false,
    "sortUrl": "🐰 艾儿::https://mp.weixin.qq.com/mp/appmsgalbum?__biz=Mzg2ODgyNTkyNw==&action=getalbum&album_id=2472077598102421505&scene=126#wechat_redirect【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/ts/aetk.png?ref=master】《万订小说》◎万订小说◎★https://mp.weixin.qq.com/mp/appmsgalbum?__biz=Mzg2ODgyNTkyNw==&action=getalbum&album_id=2472077597951426561&scene=126#wechat_redirect【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/ts/dashen.png?ref=master】《大神作品》◎大神作品◎★https://mp.weixin.qq.com/mp/appmsgalbum?__biz=Mzg2ODgyNTkyNw==&action=getalbum&album_id=2470719187540541441&scene=126#wechat_redirect【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/ts/wanjie.png?ref=master】《最新完结》◎最新完结◎★https://mp.weixin.qq.com/mp/appmsgalbum?__biz=Mzg2ODgyNTkyNw==&action=getalbum&album_id=2469275510150561793&scene=126#wechat_redirect【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/ts/shouding.png?ref=master】《起点首订》◎起点首订◎★https://mp.weixin.qq.com/mp/appmsgalbum?__biz=Mzg2ODgyNTkyNw==&action=getalbum&album_id=2469271805875486724&scene=126#wechat_redirect【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/ts/shiwan.png?ref=master】《起点十万订》◎起点十万订作品◎★https://mp.weixin.qq.com/mp/appmsgalbum?__biz=Mzg2ODgyNTkyNw==&action=getalbum&album_id=2467582717124444162&scene=126#wechat_redirect【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/ts/yuepiao.png?ref=master】《起点月票》◎起点月票榜◎★https://mp.weixin.qq.com/mp/appmsgalbum?__biz=Mzg2ODgyNTkyNw==&action=getalbum&album_id=2467593988158816258&scene=126#wechat_redirect【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/ts/qita.png?ref=master】《其他资讯》◎其他资讯◎★https://mp.weixin.qq.com/mp/appmsgalbum?__biz=Mzg2ODgyNTkyNw==&action=getalbum&album_id=2470721486103019522&scene=126#wechat_redirect【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/ts/xinshu.png?ref=master】《新书上线》◎新书上线◎★https://mp.weixin.qq.com/mp/appmsgalbum?__biz=Mzg2ODgyNTkyNw==&action=getalbum&album_id=2673425041430446081&scene=126#wechat_redirect【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/ts/wanjie.png?ref=master】《每周完结》◎每周完结汇总◎★https://mp.weixin.qq.com/mp/appmsgalbum?__biz=Mzg2ODgyNTkyNw==&action=getalbum&album_id=2632993193290399745&scene=126#wechat_redirect【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/ts/xinshu.png?ref=master】《每周新书》◎每周新书汇总◎",
    "sourceComment": "by：Lingsanya\n2024年10月更新\n基于一程订阅源更改",
    "sourceGroup": "微信公众号推书,R18",
    "sourceIcon": "https://tc.dhmip.cn/imgs/2024/10/29/d57bea47b0d91b85.png",
    "sourceName": "艾儿的天空",
    "sourceUrl": "艾儿的天空",
    "style": ""
  },
  {
    "articleStyle": 0,
    "customOrder": 8,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "<js>\njson=[];\nif(baseUrl.match(/★/)){\nlist=baseUrl.replace(/http.*?wd=\\s*/,'').split('★');\nfor(i in list){\nhref=list[i].match(/【(.*?)】/)[1];\ntext=list[i].match(/《(.*?)》/)[1];\nintro=list[i].match(/◎(.*?)◎/)[1];\nindex=list[i].match(/^(\\d+、\\d+、)/)?list[i].match(/^(\\d+、\\d+、)/)[1]:list[i].match(/^(.*?)【/)[1]\njson.push({text:text,src:href,intro:intro,index:index})\n}\n}\nJSON.stringify(json)</js>\n$.[*]",
    "ruleContent": "",
    "ruleDescription": "",
    "ruleImage": "$.src",
    "ruleLink": "$.index",
    "ruleNextPage": "",
    "rulePubDate": "$.intro",
    "ruleTitle": "$.text",
    "singleUrl": false,
    "sortUrl": "👩 拖延症少女::https://data.newrank.cn/m/s.html?s=Oi8xPDQ8MTs9【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/ts/tyzsn.png?ref=master】《拖延症少女》◎号内搜索-拖延症少女的种蘑菇日记◎★https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzUyMjEwNjg1MQ==&action=getalbum&album_id=1345594488839929857&scene=126#wechat_redirect【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/ts/zhenli.png?ref=master】《安利整理》◎大家的好文推荐整合◎★https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzUyMjEwNjg1MQ==&action=getalbum&album_id=1841462094366375936&scene=126#wechat_redirect【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/ts/heji.png?ref=master】《合集》◎合集◎★https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzUyMjEwNjg1MQ==&action=getalbum&album_id=1639972761961889797&scene=126#wechat_redirect【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/ts/pandian.png?ref=master】《盘点》◎盘点◎★https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzUyMjEwNjg1MQ==&action=getalbum&album_id=1296482285570686976&scene=126#wechat_redirect【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/ts/qiangtui.png?ref=master】《强推文》◎好文中的好文推荐◎★https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzUyMjEwNjg1MQ==&action=getalbum&album_id=1353008118996860929&scene=126#wechat_redirect【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/ts/shadiao.png?ref=master】《沙雕文》◎沙雕的快乐◎★https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzUyMjEwNjg1MQ==&action=getalbum&album_id=1345612926295670785&scene=126#wechat_redirect【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/ts/kuaichuan.png?ref=master】《快穿故事》◎快穿文和故事集◎★https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzUyMjEwNjg1MQ==&action=getalbum&album_id=1345608230420021249&scene=126#wechat_redirect【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/ts/tongren.png?ref=master】《HP同人文》◎本命德拉科！除了德哈其他都吃◎★http://mp.weixin.qq.com/mp/homepage?__biz=MzUyMjEwNjg1MQ==&hid=2&sn=606421437c8003bbfab3074b3cabb529&scene=18#wechat_redirect【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/ts/qiuwen.png?ref=master】《求文整理》◎小时光一点一滴◎★http://mp.weixin.qq.com/mp/homepage?__biz=MzUyMjEwNjg1MQ==&hid=4&sn=8d12186de8e82f98cb45f3808981a9db&scene=18#wechat_redirect【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/ts/qiangtui.png?ref=master】《强推文合集》◎强推文合集◎★https://mp.weixin.qq.com/s/-IUlibqIqEIqLaD2uke7zA【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/ts/shudan.png?ref=master】《书单合集》◎三年所有书单合集◎★https://mp.weixin.qq.com/s/xtBqdX9LHLc2TPRH25h-zw【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/ts/chanshi.png?ref=master】《女性常识》◎女生第一次要知道的那些事儿◎",
    "sourceComment": "by：Lingsanya\n2024年10月更新\n基于一程订阅源更改",
    "sourceGroup": "微信公众号推书,R18",
    "sourceIcon": "https://tc.dhmip.cn/imgs/2024/10/29/9f95775df7cecb26.png",
    "sourceName": "拖延症少",
    "sourceUrl": "拖鞋",
    "style": ""
  },
  {
    "articleStyle": 0,
    "customOrder": 8,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "<js>\njson=[];\nif(baseUrl.match(/★/)){\nlist=baseUrl.replace(/http.*?wd=\\s*/,'').split('★');\nfor(i in list){\nhref=list[i].match(/【(.*?)】/)[1];\ntext=list[i].match(/《(.*?)》/)[1];\nintro=list[i].match(/◎(.*?)◎/)[1];\nindex=list[i].match(/^(\\d+、\\d+、)/)?list[i].match(/^(\\d+、\\d+、)/)[1]:list[i].match(/^(.*?)【/)[1]\njson.push({text:text,src:href,intro:intro,index:index})\n}\n}\nJSON.stringify(json)</js>\n$.[*]",
    "ruleContent": "",
    "ruleDescription": "",
    "ruleImage": "$.src",
    "ruleLink": "$.index",
    "ruleNextPage": "",
    "rulePubDate": "$.intro",
    "ruleTitle": "$.text",
    "singleUrl": false,
    "sortUrl": "🔆 九哥::https://mp.weixin.qq.com/mp/homepage?__biz=Mzk0NzM4NDQ1MQ==&hid=1&sn=5da30daac494ae3c63760de3f63ec71d&scene=18【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/ts/dsh.png?ref=master】《大书荒之三十六计》◎盘点佳作，整合书单，专注解决书荒◎★https://mp.weixin.qq.com/s/0e7bOXWYGaN_NzhaRShTDw【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/ts/biaoqian.png?ref=master】《标签详解》◎九哥标签流派详解！◎★https://mp.weixin.qq.com/mp/appmsgalbum?__biz=Mzk0NzM4NDQ1MQ==&action=getalbum&album_id=2443305377372241921&scene=173&subscene=&sessionid=svr_28cbb1097a4&enterid=1721635791&from_msgid=2247488104&from_itemidx=1&count=3&nolastread=1#wechat_redirect【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/ts/tuishu.png?ref=master】《九哥推书》◎九哥推书合集◎★https://mp.weixin.qq.com/mp/appmsgalbum?__biz=Mzk0NzM4NDQ1MQ==&action=getalbum&album_id=2473149230543732738&scene=173&subscene=&sessionid=svr_908b8b41295&enterid=1721636097&from_msgid=2247487308&from_itemidx=1&count=3&nolastread=1#wechat_redirect【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/ts/fenlei.png?ref=master】《分类书单》◎分类书单合集◎",
    "sourceComment": "by：Lingsanya\n2024年10月更新\n基于一程订阅源更改",
    "sourceGroup": "微信公众号推书,R18",
    "sourceIcon": "https://tc.dhmip.cn/imgs/2024/10/29/1a787817bfe7792a.png",
    "sourceName": "九哥推书",
    "sourceUrl": "九哥",
    "style": ""
  },
  {
    "articleStyle": 0,
    "customOrder": 8,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "📚 书单,R18",
    "sourceIcon": "https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=3355410905,1678408784&fm=26&gp=0.jpg",
    "sourceName": "星云推书",
    "sourceUrl": "https://vt.sm.cn/api/novelStarReco/index"
  },
  {
    "articleStyle": 0,
    "customOrder": 9,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "",
    "ruleContent": "",
    "ruleDescription": "",
    "ruleLink": "",
    "ruleTitle": "",
    "singleUrl": true,
    "sourceComment": "广告屏蔽测试，阅读版本需要22.11.08以上",
    "sourceGroup": "🔞,R18",
    "sourceIcon": "https://mwfimsvfast3.cc/static/images/new_logo.svg?v=1",
    "sourceName": "漫蛙",
    "sourceUrl": "https://manwa.fun/"
  },
  {
    "articleStyle": 0,
    "customOrder": 10,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "",
    "ruleContent": "",
    "ruleDescription": "",
    "ruleImage": "",
    "ruleLink": "",
    "ruleNextPage": "",
    "rulePubDate": "",
    "ruleTitle": "",
    "singleUrl": true,
    "sortUrl": "",
    "sourceGroup": "📖 阅读,R18",
    "sourceIcon": "https://p2.ssl.qhimgs1.com/t02051e6f5a84a25cfe.jpg",
    "sourceName": "优书",
    "sourceUrl": "https://www.yousuu.com"
  },
  {
    "articleStyle": 2,
    "concurrentRate": "",
    "customOrder": 11,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "$.zhubo",
    "ruleContent": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"/>\n<script src=\"http://bilibili.github.io/flv.js/dist/flv.js\"></script>\n</head>\n<body>\n\t\t\t<video id=\"player1\"  autoplay=\"autoplay\" preload=\"auto\" muted controls=\"controls\">\n\t\t</video>\n\t\t<p>\n    <button onclick=\"enableMute()\" type=\"button\">关闭声音</button>\n\n    <button onclick=\"disableMute()\" type=\"button\">打开声音</button>\n\n</p> \n<div>\n直播链接:{{baseUrl.replace(/zhibo/,\"flv\").replace(/http:\\/\\/api.hclyz.com:81/,\"不可播放rtmp:/\")}}\n</div>\n</body>\n</html>\n<script>\n    if (flvjs.isSupported()) {\n        var videoElement = document.getElementById('player1');\n\t\tvar flvPlayer = flvjs.createPlayer({\n            type: 'flv', \n            url: '{{baseUrl.replace(/zhibo/,\"flv\").replace(/http:\\/\\/api.hclyz.com:81/,\"rtmp://\")}}',\n     });\n\t\tflvPlayer.attachMediaElement(videoElement);\n\t\tflvPlayer.load();\n\t\t//flvPlayer.play();\n    }\n</script>\n <script>\n\nvar myVid = document.getElementById(\"player1\");\n\nfunction enableMute() { \n\n    myVid.muted = true;\n\n} \n\nfunction disableMute() { \n\n    myVid.muted = false;\n\n} \n</script> ",
    "ruleDescription": "",
    "ruleImage": "$.img",
    "ruleLink": "$.address@js:result\n.replace(/\\.flv/,\".zhibo\")\n.replace(/rtmp:\\//,\"\")",
    "rulePubDate": "",
    "ruleTitle": "$.title",
    "singleUrl": false,
    "sortUrl": "偶遇::http://api.hclyz.com:81/mf/jsonouyu.txt\n依依::http://api.hclyz.com:81/mf/jsonyiyi.txt\n夜色::http://api.hclyz.com:81/mf/jsonyese.txt\n亚米::http://api.hclyz.com:81/mf/jsonyami.txt\n色趣::http://api.hclyz.com:81/mf/jsonsequ.txt\n咪狐::http://api.hclyz.com:81/mf/jsonmihu.txt\n夜律::http://api.hclyz.com:81/mf/jsonyelu.txt\n暗语::http://api.hclyz.com:81/mf/jsonanyu.txt\n咪咪::http://api.hclyz.com:81/mf/jsonmimi.txt\n糯米::http://api.hclyz.com:81/mf/jsonnuomi.txt\n苦瓜::http://api.hclyz.com:81/mf/jsonkugua.txt\n蝴蝶::http://api.hclyz.com:81/mf/jsonhudie.txt\n云鹿::http://api.hclyz.com:81/mf/jsonyunlu.txt\n付宝::http://api.hclyz.com:81/mf/jsonfubao.txt\n菠萝::http://api.hclyz.com:81/mf/jsonboluo.txt\n夜艳::http://api.hclyz.com:81/mf/jsonyeyan.txt\n二嫂::http://api.hclyz.com:81/mf/jsonersao.txt\n土豪::http://api.hclyz.com:81/mf/jsontuhao.txt\n盘他::http://api.hclyz.com:81/mf/jsonpanta.txt\n美夕::http://api.hclyz.com:81/mf/jsonmeixi.txt\n坦克::http://api.hclyz.com:81/mf/jsontanke.txt\n蜜桃::http://api.hclyz.com:81/mf/jsonmitao.txt\n她秀::http://api.hclyz.com:81/mf/jsontaxiu.txt\n金鱼::http://api.hclyz.com:81/mf/jsonjinyu.txt\n浴火::http://api.hclyz.com:81/mf/jsonyuhuo.txt\n套路::http://api.hclyz.com:81/mf/jsontaolu.txt\n日出::http://api.hclyz.com:81/mf/jsonrichu.txt\n桃花::http://api.hclyz.com:81/mf/jsontaohua.txt\nLOVE::http://api.hclyz.com:81/mf/jsonLOVE.txt\n久久::http://api.hclyz.com:81/mf/jsonjiujiu.txt\n杏趣::http://api.hclyz.com:81/mf/jsonxingqu.txt\n媚颜::http://api.hclyz.com:81/mf/jsonmeiyan.txt\n灰灰::http://api.hclyz.com:81/mf/jsonhuihui.txt\n爱零::http://api.hclyz.com:81/mf/jsonailing.txt\n爱恋::http://api.hclyz.com:81/mf/jsonailian.txt\n杏播::http://api.hclyz.com:81/mf/jsonxingbo.txt\n金呗::http://api.hclyz.com:81/mf/jsonjinbei.txt\nmoon::http://api.hclyz.com:81/mf/jsonmoon.txt\n夜纯::http://api.hclyz.com:81/mf/jsonyechun.txt\n彩云::http://api.hclyz.com:81/mf/jsoncaiyun.txt\n妞妞::http://api.hclyz.com:81/mf/jsonniuniu.txt\n艳后::http://api.hclyz.com:81/mf/jsonyanhou.txt\n蓝猫::http://api.hclyz.com:81/mf/jsonlanmao.txt\n情趣::http://api.hclyz.com:81/mf/jsonqingqu.txt\n翠鸟::http://api.hclyz.com:81/mf/jsoncuiniao.txt\n糖果::http://api.hclyz.com:81/mf/jsontangguo.txt\n么么哒::http://api.hclyz.com:81/mf/jsonmemeda.txt\n豹娱l::http://api.hclyz.com:81/mf/jsonbaoyul.txt\n卡哇伊::http://api.hclyz.com:81/mf/jsonkawayi.txt\n小妖::http://api.hclyz.com:81/mf/jsonxiaoyao.txt\n幽梦::http://api.hclyz.com:81/mf/jsonyoumeng.txt\n风流::http://api.hclyz.com:81/mf/jsonfengliu.txt\n樱桃::http://api.hclyz.com:81/mf/jsonyingtao.txt\n享色::http://api.hclyz.com:81/mf/jsonxiangse.txt\n娇媚::http://api.hclyz.com:81/mf/jsonjiaomei.txt\n爱爱你::http://api.hclyz.com:81/mf/jsonaiaini.txt\n花房::http://api.hclyz.com:81/mf/jsonhuafang.txt\n卡路里::http://api.hclyz.com:81/mf/jsonkaluli.txt\n名流::http://api.hclyz.com:81/mf/jsonmingliu.txt\n倾心::http://api.hclyz.com:81/mf/jsonqingxin.txt\n樱花::http://api.hclyz.com:81/mf/jsonyinghua.txt\n飘雪::http://api.hclyz.com:81/mf/jsonpiaoxue.txt\n入巷::http://api.hclyz.com:81/mf/jsonruxiang.txt\n蝶恋::http://api.hclyz.com:81/mf/jsondielian.txt\n彩虹::http://api.hclyz.com:81/mf/jsoncaihong.txt\n奥斯卡::http://api.hclyz.com:81/mf/jsonaosika.txt\n皇后::http://api.hclyz.com:81/mf/jsonhuanghou.txt\n牵手::http://api.hclyz.com:81/mf/jsonqianshou.txt\n台妹l::http://api.hclyz.com:81/mf/jsontaimeil.txt\n夜妖姬::http://api.hclyz.com:81/mf/jsonyeyaoji.txt\n一直播::http://api.hclyz.com:81/mf/jsonyizhibo.txt\n玲珑::http://api.hclyz.com:81/mf/jsonlinglong.txt\n橙秀::http://api.hclyz.com:81/mf/jsonchengxiu.txt\n黄瓜::http://api.hclyz.com:81/mf/jsonhuanggua.txt\n颜如玉::http://api.hclyz.com:81/mf/jsonyanruyu.txt\n蛟龙::http://api.hclyz.com:81/mf/jsonjiaolong.txt\n好基友::http://api.hclyz.com:81/mf/jsonhaojiyou.txt\n夜女郎::http://api.hclyz.com:81/mf/jsonyenulang.txt\n娇喘::http://api.hclyz.com:81/mf/jsonjiaochuan.txt\n小妲己::http://api.hclyz.com:81/mf/jsonxiaodaji.txt\n花蝴蝶::http://api.hclyz.com:81/mf/jsonhuahudie.txt\n尤物岛::http://api.hclyz.com:81/mf/jsonyouwudao.txt\n77直播::http://api.hclyz.com:81/mf/json77zhibo.txt\n十八禁::http://api.hclyz.com:81/mf/jsonshibajin.txt\n蝴蝶飞::http://api.hclyz.com:81/mf/jsonhudiefei.txt\n喜欢你::http://api.hclyz.com:81/mf/jsonxihuanni.txt\n兔女郎::http://api.hclyz.com:81/mf/jsontunulang.txt\n双碟::http://api.hclyz.com:81/mf/jsonshuangdie.txt\n约直播::http://api.hclyz.com:81/mf/jsonyuezhibo.txt\n九尾狐::http://api.hclyz.com:81/mf/jsonjiuweihu.txt\n红妆::http://api.hclyz.com:81/mf/jsonhongzhuang.txt\n花仙子::http://api.hclyz.com:81/mf/jsonhuaxianzi.txt\n持久男::http://api.hclyz.com:81/mf/jsonchijiunan.txt\n丽柜厅::http://api.hclyz.com:81/mf/jsonliguiting.txt\n桃花运::http://api.hclyz.com:81/mf/jsontaohuayun.txt\n903娱乐::http://api.hclyz.com:81/mf/json903yule.txt\n视觉秀::http://api.hclyz.com:81/mf/jsonshijuexiu.txt\n芒果派::http://api.hclyz.com:81/mf/jsonmangguopai.txt\n七仙女s::http://api.hclyz.com:81/mf/jsonqixiannus.txt\n夜来香::http://api.hclyz.com:81/mf/jsonyelaixiang.txt\n星宝贝::http://api.hclyz.com:81/mf/jsonxingbaobei.txt\n小蜜蜂::http://api.hclyz.com:81/mf/jsonxiaomifeng.txt\n小棉袄::http://api.hclyz.com:81/mf/jsonxiaomianao.txt\n小辣椒::http://api.hclyz.com:81/mf/jsonxiaolajiao.txt\n小仙女::http://api.hclyz.com:81/mf/jsonxiaoxiannu.txt\n兰桂坊::http://api.hclyz.com:81/mf/jsonlanguifang.txt\n花果山::http://api.hclyz.com:81/mf/jsonhuaguoshan.txt\n招财猫::http://api.hclyz.com:81/mf/jsonzhaocaimao.txt\n心之恋::http://api.hclyz.com:81/mf/jsonxinzhilian.txt\n睡美人::http://api.hclyz.com:81/mf/jsonshuimeiren.txt\n小花螺::http://api.hclyz.com:81/mf/jsonxiaohualuo.txt\n小天使::http://api.hclyz.com:81/mf/jsonxiaotianshi.txt\n小红帽::http://api.hclyz.com:81/mf/jsonxiaohongmao.txt\n樱花雨i::http://api.hclyz.com:81/mf/jsonyinghuayui.txt\n小萌猪::http://api.hclyz.com:81/mf/jsonxiaomengzhu.txt\n小坏蛋::http://api.hclyz.com:81/mf/jsonxiaohuaidan.txt\n小性感::http://api.hclyz.com:81/mf/jsonxiaoxinggan.txt\n红浪漫::http://api.hclyz.com:81/mf/jsonhonglangman.txt\n蚊香社::http://api.hclyz.com:81/mf/jsonwenxiangshe.txt\n蓝月亮::http://api.hclyz.com:81/mf/jsonlanyueliang.txt\n小精灵::http://api.hclyz.com:81/mf/jsonxiaojingling.txt\n红高粱::http://api.hclyz.com:81/mf/jsonhonggaoliang.txt\n小天仙::http://api.hclyz.com:81/mf/jsonxiaotianxian.txt",
    "sourceComment": "某个软件的聚合直播\nrtmp的手机网页应该是无法播放\nmp4的都是广告没管",
    "sourceGroup": "R18",
    "sourceIcon": "https://img2.baidu.com/it/u=3810767422,2486090729&fm=253&fmt=auto&app=138&f=PNG?w=192&h=192",
    "sourceName": "H直播大全",
    "sourceUrl": "http://api.hclyz.com:81",
    "style": "video{\nwidth:100%;\nheight:auto;}"
  },
  {
    "articleStyle": 1,
    "concurrentRate": "",
    "customOrder": 12,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\n    'User-Agent': 'Mozilla/5.0 (Linux; Android 11; Pixel 3 XL Build/RQ3A.211001.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/102.0.4988.0 Mobile Safari/537.36 SearchCraft/3.9.2 (Baidu; P1 11) '\n}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "<js>\njson=[];\nif(baseUrl.match(/ /)){\nlist=baseUrl.replace(/http.*?wd=\\s*/,'').split(' ');\nfor(i in list){\nhref=list[i].match(/【(.*?)】/)[1];\ntext=list[i].match(/《(.*?)》/)[1];\nintro=list[i].match(/◎(.*?)◎/)[1];\nindex=list[i].match(/^(\\d+、\\d+、)/)?list[i].match(/^(\\d+、\\d+、)/)[1]:list[i].match(/^(.*?)【/)[1]\njson.push({text:text,src:href,intro:intro,index:index})\n}\n}\nJSON.stringify(json)</js>\n$.[*]",
    "ruleContent": "",
    "ruleImage": "$.src",
    "ruleLink": "$.index\n@js:\nif(!result.match(/^http/) && !result.match(/\\d+、\\d+、/)){\nresult=\"https://www.coolapk.com/link?url=\"+encodeURIComponent(result)\n}else{result=result}",
    "ruleNextPage": "",
    "rulePubDate": "$.intro",
    "ruleTitle": "$.text",
    "singleUrl": false,
    "sortUrl": "💠 导航::https://knowsex.net/【https://knowsex.net/sub/img/contraceptive.jpg】《知性两性健康》◎两性健康-开放式性教育网站◎ https://aiboy.cc/【https://aiboy.cc/uploadfile/2021/0612/20210612014920789.jpg】《爱男孩帅哥网》◎同志、图片、小说、电影、资讯◎ https://fulihttp.com/【https://xn---fuliaboutcom-h27w88qmr0i7zpx96b.fulistart.com/static/images/logo.svg】《第一福利导航》◎第一学术网😏◎ https://抖淫.com/【https://d.0tcsi.bar/favicon.ico】《抖淫》◎抖淫短视频◎ https://www.zztt35.com/【https://static.zztt87.com/usr/uploads/2022/05/1824266711.png】《黑料不打烊》◎网红黑料、吃瓜🍉｜https://xxxmmm.email/◎ https://141jj.com/【https://files.catbox.moe/v2m4l7.png】《141JJ》◎🚀VPN｜很全的成人網站列表◎ https://theporndude.com/zh【https://media.porndudecdn.com/includes/images/mobile-logo-r.svg】《PornDude》◎🚀VPN｜色情视频网站列表◎ https://mygaysites.com/【https://mygaysites.com/includes/images/mobilegaylogo.svg】《MyGaySites》◎🚀VPN｜同志色情网站聚合◎\n\n\n🌐 聚合::https://www.fuqpremium.com/zh/【https://www.fuqpremium.com/templates/fuqpremium/images/icon.png】《FreePornTubes》◎🚀VPN｜优质色情视频导航◎ https://www.fuq.com/zh/【https://www.fuq.com/templates/fuq/images/logo.svg】《Fuq》◎🚀VPN｜色情电影导航◎ https://www.tgtube.com/zh/【https://www.tgtube.com/templates/tgtube/images/logo.svg】《TGTube》◎🚀VPN｜人妖色情油管视频导航◎ https://www.forhertube.com/zh/【https://www.forhertube.com/templates/forhertube/images/logo.svg】《ForHerTube》◎🚀VPN｜适合女性的色情视频导航◎ https://www.ixxx.com/zh/【https://www.ixxx.com/templates/ixxx/images/logo.svg】《iXXX》◎🚀VPN｜色情电影导航◎ https://www.tubegalore.com/zh/【https://www.tubegalore.com/templates/tubegalore/images/logo.svg】《TubeGalore》◎🚀VPN｜色情电视导航◎ https://www.maturetube.com/zh/【https://www.maturetube.com/templates/maturetube/images/logo.svg】《MatureTube》◎🚀VPN｜辣妈、MILF、奶奶色情导航◎ https://www.gaymaletube.com/zh/【https://www.gaymaletube.com/templates/gaymaletube/images/logo.svg】《GayMaleTube》◎🚀VPN｜同性恋色情视频导航◎ https://www.porzo.com/zh/【https://www.porzo.com/templates/porzo/images/logo.svg】《PORZO》◎🚀VPN｜色情视频导航◎ https://www.dinotube.com/zh/【https://www.dinotube.com/templates/dinotube/images/logo.svg】《DinoTube》◎🚀VPN｜色情视频导航◎ https://www.lobstertube.com/zh/【https://www.lobstertube.com/templates/lobstertube/images/icon.png】《LobsterTube》◎🚀VPN｜性爱、电影、电视导航◎ https://www.tiava.com/zh/【】《Tiava》◎🚀VPN｜色情电影导航◎\n\n\n🎬 传媒::https://byym26.com/【https://s1.ax1x.com/2023/01/26/pSNmjD1.png】《水果派》◎成人影片解说节目◎ http://smyis.xyz/【http://smyis.xyz/Template/xms02b/img/logo.svg】《稻妻影视》◎日本AV视频◎ https://playav.tv/【】《PlayAV》◎亚洲高清影片◎ http://hhdyw.buzz/【http://hhdyw.buzz/template/c25//images/play-logo.png】《八点影院》◎食色大陆◎ https://www.aiwuav.xyz/index.php/label/new.html【https://www.aiwuav.xyz/template/aiw/favicon.ico】《爱污传媒》◎传媒视频聚合｜https://www.aiwu.info/◎ https://kvotr.cc/【https://kvotr.cc/template/mdapp.icu2/images/favicon.ico】《麻豆视频》◎海量高清VIP视频◎ https://www.saosss.com/latest-updates/【http://img1.baidu.com/it/u=3358000656,1590169644&fm=253&fmt=auto&app=138&f=JPEG】《886视频》◎传媒聚合◎ https://yelai.cf/【https://b2less.dongshouji.com/file/pic001/images/icons/jiuyaop/icon-512x512.png】《91自拍》◎高清AV资源◎ https://avhd1.com/【https://avhd1.com/img/logo_icon_avhd1.png】《HD高清AV》◎高清AV◎ https://mizhan.tv/【https://mizhan.tv/upload/site/20221018-1/a872dcc406ff00e088eccfcd60f72c85.png】《咪站HD》◎情色A片◎ https://zishijiaoxue3.xyz/【https://zishijiaoxue3.xyz/templates/theme2/images/loading.gif】《姿势教学》◎一夜夫妻◎ https://taoh2555.com/【】《桃红色界》◎教室诱惑、浴室激情◎ https://85videos.com/【https://85videos.com/template/85videos/images/pixel.png】《85Videos》◎日本AV◎\n\n\n🔞 成人①::https://集芳阁.com/【https://集芳阁.com/static/logo.svg】《集芳阁》◎集芳阁云搜◎ https://porn研究所.com/【https://porn研究所.com/img/logo.svg】《Porn研究所》◎福利视频◎ https://laowangyy.cc/【https://qq.com.xva06.xyz/static/images/logo.svg】《SEAV在线》◎成人视频◎ https://91av.pages.dev/【】《91AV聚合》◎视频导航◎ http://www.wangzhi.mom/【】《影库资源》◎视频导航◎ https://www.tkbcs8.life/【】《脱裤吧》◎https://tuoku9.com/◎\n\n\n🔞 成人②::https://www.shn789.com/【】《四虎影院》◎福利视频◎ https://qswyt.pw/【】《情色五月天》◎福利视频◎ https://7m01.tk/【】《萝莉姬》◎福利视频◎ https://97d77.xyz/【】《蔡萝莉》◎成人影院◎ https://8xx.live/【https://80dv.buzz/p/favicon-32x32.png】《拔插拔插》◎成人视频◎ https://zuixin.fy311.com/【】《风月同天》◎成人视频｜https://www.fyttdz.com/◎ https://www.avbus1.com/【】《AV巴士》◎成人视频◎ https://bkeib.xyz/【】《B影院》◎成人视频｜https://github.com/Bcinema/Btv◎ http://zhiyin202207.xyz/【】《知阴》◎成人视频｜http://HuiJiaDiZhi.com/◎ https://50dh.buzz/【】《5G影院》◎成人视频◎ https://www.69crtt.gq/【】《69成人天堂》◎亚洲成人视频◎ https://nbpp.buzz/【】《奶爸视频》◎成人视频◎ https://www.gcjxdz.xyz/【】《国产精选》◎成人视频◎ https://bi81.top/【】《Bi8.TV》◎福利视频◎ https://2.258porn.cf/【】《258Porn》◎成人AV◎ http://32den.com/【】《YouPorn》◎成人视频◎ https://www.xiaobi096.com/【】《蝌蚪窝》◎成人电影◎ http://www.aqdlt.com/【】《爱情岛论坛》◎亚洲品质自拍视频◎\n\n\n🚀 翻墙::https://po18.fans:1234/【https://po18.love:2345/template/conch/asset/img/load.gif】《Po18hub》◎激情视频导航｜https://po18av.vip/◎ https://www.xnxx.com/【】《XNXX》◎🚀VPN｜成人视频◎ https://zh.xhamster.com/【https://static-lvlt.xhcdn.com/xh-desktop/images/logo/logo.svg】《xHamster》◎🚀VPN｜成人视频◎ https://www.xvideos.com/【https://static-ss.xvideos-cdn.com/v3/img/skins/default/xvideos.com.svg】《XVIDEOS》◎🚀VPN｜成人视频◎ https://cn.pornhub.com/【https://ei.phncdn.com/www-static/images/pornhub_logo_straight.svg】《PornHub》◎🚀VPN｜色情视频及性爱影片◎ https://jable.tv/【】《Jable》◎🚀VPN｜日本高清AV｜https://alldayj.com/◎ https://netflav.com/【https://netflav.com/static/assets/logo.svg】《Netflav》◎🚀VPN｜日本成人电影◎\n\n\n🈲 伦理::https://www.72dy.com/【https://static.tvcache.com//icon/72dy/favicon.png】《72电影》◎高清伦理◎ https://www.2345ti.com/【】《235影视》◎经典理伦片◎ https://vip.eeussjt.com/【】《EEUSS影院》◎快播电影、伦理◎ https://伦理小站.com/【https://伦理小站.com/statics/img/logo.svg】《韩三伦理小站》◎伦理影片◎\n\n\n🔥 耽影::https://www.fu210.top/【】《爱妖灵》◎腐剧、耽美、泰剧暖光影视官网◎ https://www.bl210.top/【】《曙光影视》◎腐剧、耽美、泰剧暖光影视官网◎ https://www.tj8.top/【】《泰剧网》◎腐剧、耽美、泰剧暖光影视官网◎ https://www.bttwoo.com/【】《两个BT》◎同性｜https://www.bttwo.vip/◎ https://g.manmankan.com/【】《漫漫看》◎男同影视大全◎\n\n\n🎨 漫画::https://漫香阁.com/【https://漫香阁.com/favicon.ico】《漫香阁》◎成人H漫画◎ 【】《》◎韩国、日本漫画◎",
    "sourceComment": "",
    "sourceGroup": "R18",
    "sourceIcon": "https://p3-search.byteimg.com/obj/labis/0a5502af6b95a6b49d3acd488aae8398",
    "sourceName": "其他",
    "sourceUrl": "其他影视"
  },
  {
    "articleStyle": 1,
    "customOrder": 13,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\n \"User-Agent\":\"Mozilla/5.0 (Linux; Android 12; HarmonyOS; OCE-AN50; HMSCore 6.15.0.302) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.5735.196 HuaweiBrowser/16.0.3.302 Mobile Safari/537.36\"\n}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "<js>java.t2s(result)</js>\nclass.thumbnail group",
    "ruleContent": "<js>\nfunction $(rule){\n\treturn java.getElements(rule);\n}\nvar tab_name,url_list,all_list;\n//获取线路❗️\ninfo=$('.plyr__video-wrapper@script.0')\nv=JSON.parse(String(info).match(/\\{.*\\}/)[0])\nurl_list+=`<li><a link=\"${v.url}\">默认</a></li>\\n`\nurl_list=`<ul class=\"play_list\">${url_list}</ul>`\nall_list+=url_list;\ntab_name+=`<li>画质<span>1</span></li>\\n`\nall_list=String(all_list).replace(/undefined/g,'')\ntab_name=String(tab_name).replace(/undefined/g,'')\n//获取简介❗️\ndesc=$('.cat').text();\nyear=$('.space-y-2 span.4').text();\nsort=`•${year}`;\n\n//最后结果，拼接完整网页\nresult=`\n<html>\n<title>播放</title>\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no\">\n<!--引入jquery-->\n<script src=\"https://code.jquery.com/jquery-3.0.0.min.js\"></script>\n\n<!--播放器-->\n<div id=\"Player\">\n  <p class=\"url_text\"></p>\n  <iframe src=\"\" border=\"0\" marginwidth=\"0\" framespacing=\"0\" marginheight=\"0\" frameborder=\"0\" scrolling=\"no\" vspale=\"0\" allowfullscreen=\"ture\" noresize=\"\"></iframe>\n</div>\n<div style=\"width:100%;height:29%\"></div>\n\n<!--简介卡片 -->\n<div class=\"card v_info mb20\">\n    <!--标题 -->\n    <h2 class=\"v_title\"></h2>\n    <!--状态、日期、分类 -->\n    <p class=\"v_desc\">\n       <span class=\"desc\">${desc}</span>\n       <span>${sort}</span>\n       <!--简介按钮 -->\n       <span class=\"open_content\" id=\"open_content\">简介</span>\n    </p>\n    <div class=\"v_content\" id=\"v_content\" style=\"display:none;\">\n      <!--封面图片 -->\n      <div class=\"cover\" style=\"\">\n         <img src=\"${java.get('pic')}\"></img>\n      </div>\n      <!--剧情信息 -->\n      <div class=\"content\" id=\"intro_content\">\n        <div id=\"intro\">\n       <p style=\"text-indent:2em;\">${java.get('title')}</p>\n       <!--简介展开 -->\n      <div class=\"show_more\" id=\"show_more\" style=\"display: block;\"></div>\n            </div>\n        </div>\n    </div>\n</div>\n\n<div class=\"card mb20\">\n    <!--线路切换-->\n    <ul class=\"tab_control play_from\">\n        ${tab_name}\n    </ul>\n    <div style=\"height:34px;\"></div>\n    <!--所有播放列表与排序-->\n    <div class=\"tab_content\" id=\"play_list\">\n        ${all_list}\n    </div>\n</div>\n</html>\n\n<script>\n\t//tab按钮线路切换\n var $li = $('.tab_control li');\n var $ul = $('.tab_content ul');\n $li.click(function(){\n    var $this = $(this);\n    var $t = $this.index();\n    $li.removeClass('current');\n    $this.addClass('current');\n    $ul.removeClass('current');\n    $ul.eq($t).addClass('current');\n });\n //选择集数\n var $play_li= $('.play_list li');\n var play= $('#Player');\n var iframe= $('#Player iframe');\n $play_li.click(function(){\n    var $this = $(this);\n    var $t=$this.index();\n    //获取之前的播放链接\n    var bf=$('.play_list li.current');\n    bf=bf.children('a').attr('link');\n    //改变li标签的CSS样式\n    $play_li.removeClass('current');\n    $this.addClass('current');\n    //获取播放链接和标题\n    url=$this.children('a').attr('link');\n    text=$this.children('a').text();\n    //判断链接是否相同，不同就替换\n    if(url!=bf){\n    \trep();\n    }\n });\n //替换\n function rep(){\n      //给iframe的src赋值\n      iframe.attr('src',url);\n      $('.url_text').text(url);\n  }\n \t\n \t//-------------详情页相关-------------- \n \tvar open_content = $('#open_content');\n \tvar intro_content = $('#intro_content'); \n \tvar show_more = $('#show_more'); \n \tvar cover = $('#v_content .cover'); \n \t//展开简历块 \n \topen_content.click(function(){ \n \t\t$('#v_content').toggle(); \n \t\tvar intro_height = $('#intro').get(0).offsetHeight; \n \t\tif(intro_height > 114){ \n \t\t\tshow_more.show(); \n \t\t}; \n \t}); \n \t//内容超出显示更多按钮 \n \tif($(\"#intro\").length>0){\n \t\t var intro_height = $('#intro').get(0).offsetHeight; \n \t\t if(intro_height > 114){\n \t\t \t show_more.show(); \n \t\t \t}; \n \t} \n \t//展开更多内容 \n \tintro_content.click(function(){\n \t\t intro_content.toggleClass('auto'); \n \t\t show_more.toggle(); \n \t\t cover.toggle(); \n \t});\n \t\n \t//初始化\n   (()=>{\n   \t $('.play_list').eq(0).addClass('current');\n\t    $('.play_list li').eq(0).addClass('current');\n\t    $('.tab_control li').eq(0).addClass('current');\n\t    url=$('.play_list li.current a').attr('link');\n\t    rep();\n\t  })();\n</script>\n`\n</js>",
    "ruleImage": "img@data-src\n<js>\njava.put('pic',result)\n</js>",
    "ruleLink": "a.0@href",
    "ruleNextPage": "page",
    "rulePubDate": ".text-nord5@text##^##🕒",
    "ruleTitle": ".truncate@text\n<js>\njava.put('title',result)\n</js>",
    "singleUrl": false,
    "sortUrl": "搜🔎::/vod/search/page/{{page}}/wd/{{java.t2s(source.getVariable())}}.html\n最近更新::/label/rank/by/time/page/{{page}}.html\n最新上市::/label/new/by/time/page/{{page}}.html\n无码破解::/thisavtype/Mosaic_Removed-{{page}}.html\n日本有码::/thisavtype/Censored-{{page}}.html\n日本无码::https://thisav.biz/thisavtype/Uncensored-{{page}}.html\n中文字幕::/thisavtype/CHN_SUB-{{page}}.html\nMGS动画::/thisavtype/MGS-{{page}}.html\n巨乳::/vod/search/page/{{page}}/tag/%E5%B7%A8%E4%B9%B3.html\n美少女::/vod/search/page/{{page}}/tag/%E7%BE%8E%E5%B0%91%E5%A5%B3.html\n制服::/vod/search/id/2/page/{{page}}/tag/%E5%88%B6%E6%9C%8D.html\nFC2影片::/thisavtype/FC2-PPV-{{page}}.html\n本日::/vod/search/by/hits_day/page/{{page}}.html\n本周::/vod/search/by/hits_week/page/{{page}}.html\n本月::/vod/search/by/hits_month/page/{{page}}.html\n评分最高::/label/rank/by/score/page/{{page}}.html\n点赞最多::/label/rank/by/score/page/{{page}}.html",
    "sourceGroup": "video,R18",
    "sourceIcon": "https://img2.baidu.com/it/u=2257099708,1005063348&fm=253&fmt=auto?w=775&h=500",
    "sourceName": "JAVSB",
    "sourceUrl": "https://thisav.biz",
    "style": "*{\n\tmargin:0;padding:0;\n}\nhtml{\n\tbackground-color:#222;\n}\na{\n\ttext-decoration:none;\n\tcolor:#222;\n}\nul{\n\tlist-style:none;\n}\niframe{\n\twidth:100%;height:100%;\n}\nh1,h2,h3,h4,h5,h6{\n\tfont-size:100%;font-weight:normal;\n}\nimg,video{\n\theight:auto;max-width:100%;\n}\n#Player{\n\tposition:fixed;\n\ttop:0;left:0;\n\twidth:100%;height:28%;\n\tz-index:99999;\n\tbackground-color:black;\n}\n.url_text{\n\toverflow-x:hidden;\n\twidth:100%;height:auto;\n\tcolor:#fff;background-color:black;\n\tfont-size:10px;white-space: nowrap;\n}\n\n/*块通用*/ \n.card{padding:15px 15px 0 15px;}\n.card .c_header{display: flex;flex-direction: row;justify-content: space-between;padding-bottom:20px;} \n.card .c_title{font-size:18px;color:#fff;font-weight:700;} \n.card .c_title a{color:#fff;} \n.card .c_right a{color:#666;} \n.card .clear_history{color:#FDD835;display:none;}\n\n/*详情页资料卡*/ \n.v_info .v_title,.v_info .v_title{font-size:22px;color:#eee;line-height:26px;} .v_info .v_desc{position:relative;font-size:12px;color:#999;padding-top:4px;} .v_info .v_desc a{color:#999;} .v_info .v_desc .desc{color:#FF3D00;font-weight:700;} .v_info .hr{color:#666;padding:0 4px;} .v_info .open_content{position:absolute;bottom:0;right:20px;color:#FFB026;text-decoration: underline;padding-left:10px;} .v_info .v_content{display:flex;padding-top:20px;} .v_info .cover,.v_info img{width:auto;height:100px;background:#333;} .v_info .cover{margin-right:10px;} .v_info .content{height:101px;overflow:hidden;font-size:12px;flex:1;color:#999;line-height:19px;position: relative;} .v_info .show_more{position: absolute;bottom:0;right:0;width:100%;padding:38px 0 19px 0;height:19px;background: linear-gradient(to bottom, rgba(34,34,34,0) 0%,rgba(34,34,34,1) 100%);color:#eee;text-align:center;display:none;} .v_info .auto{height:auto;}\n\n/*tab */ \n.tab_control{position:absolute;display: flex;flex-direction: row;overflow-x:scroll;width:92.3%} \n.tab_control li{flex:1;position:relative;height:30px;line-height:34px;top:4px;text-align:center;color:#666;cursor:pointer;overflow: hidden;} \n.tab_control li span{display: inline-block;min-width: 10px;padding: 2px 2px;font-size: 9px;font-weight: 700;line-height: 1;color: #fff;text-align: center;white-space: nowrap;vertical-align: middle;background-color:#FFB026;border-radius: 2px;}\n.tab_control li.current{z-index:99;height:37px;font-weight:700;color:#eee;background-image:linear-gradient(180deg, #BF360C 0%, #444 90%);border-radius: 4px 4px 0 0;} \n.tab_content{padding:12px;background: #444;box-shadow: 0 2px 8px 0 rgba(0,0,0,0.50);border-radius: 5px;} \n.tab_content ul.current{display:block;} \n\n/*播放来源、地址、排序*/\n#play_list ul.current{display:flex;} .play_from li{flex:none;padding:0 10px;} .play_list{display:none;flex-flow: wrap;margin-right:-10px;} .play_list li{width:20%;margin-bottom:10px;} .play_list li a{overflow:hidden;height:40px;line-height:40px;border-radius: 5px;display:block;background:#222;color:#999;text-align:center;margin-right:10px;} .play_list li a:visited{color:#444;} .play_list li.current a{border: 1px solid #BF360C;color:#BF360C;} \n\n/*处理电影的集数宽度*/ \n.large li{width:25%;} .play_list_sort{padding-bottom:20px;color:#999;} \n\n/*遮罩*/ \n.mask{width:100%;height:100%;background:rgba(0, 0, 0, 0.5);position: fixed;left:0;top:0;display: none;} \n\n/*白天主题配色*/\n@media(prefers-color-scheme:light){\nhtml{background:#FEFEFE;}\n.v_title{color:black !important;}\n.v_desc,.v_desc a,#intro{color:#444 !important;}\n.open_content{color:#4898E0 !important;}\n#show_more{background: linear-gradient(to bottom,transparent,#FEFEFE 100%);}\n.tab_content{background:#FEFEFE;}\n.tab_control li span{background:#4898E0;}\n.tab_control li.current{color:#eee;background: linear-gradient(to bottom,black 10%,white 90%);}\n.play_list li a{color:#444;background:#eee;}\n.play_list li.current a{color:black;border:2px solid black;}\n} \n"
  },
  {
    "articleStyle": 0,
    "customOrder": 13,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "@js:\njson=[];\nif(baseUrl.match(/•/)){\nlist=baseUrl.replace(/http.*?wd=\\s*/,'').split('•');\nfor(i in list){\nhref=list[i].match(/【(.*?)】/)[1];\ntext=list[i].match(/《(.*?)》/)[1];\njson.push({text:text,href:href})\n}\n}else{\nlist=baseUrl.replace(/http.*?wd=/,'');\nhref=list.match(/【(.*?)】/)[1];\ntext=list.match(/《(.*?)》/)[1];\njson.push({text:text,href:href})\n}\njson",
    "ruleImage": "",
    "ruleLink": "href",
    "rulePubDate": "href",
    "ruleTitle": "text",
    "singleUrl": false,
    "sortUrl": "\n🔎 常用[5]::http://www.baidu.com?wd=【http://www.wangdaxing.com】《🔎丨夸克导航》•【http://yck.mumuceo.com】《常用 丨源 仓 库》•【https://www.jianguoyun.com】《必备丨云 备 份》•【http://gitee.com/login】《登录丨G i t e e》•【http://mail.qq.com】《📬丨QQ邮箱》\n\n\n💫 其他[9]::http://www.baidu.com?wd=【http://qk.lifves.com】《📰丨期刊杂志》•【https://www.yikm.net】《🎮丨在线游戏》•【https://axutongxue.com】《资源丨阿虚同学》•【http://lazyman.ys168.com】《资源丨懒人资源》•【http://www.meijiecao.top/chat】《娱乐向丨聊天室丨游戏》•【http://jiuniao165.fanqiezhifu.com】《娱乐向丨聊天室丨微信》•【https://picrew.me】《娱乐向丨画一下?丨日文》•【https://www.arealme.cn】《娱乐向丨小测试: 小数据研究所》•【https://www.cbaigui.com】《娱乐向丨志异: 知妖丨显示更新浏览器:取消→确定》\n\n\n🗺️ 导航[11]::http://www.baidu.com?wd=【http://guozhivip.com/rank】《🗺️丨果汁排行》•【http://hao.uc.cn】《🗺️丨UC导航》•【http://h5.mse.360.cn】《🗺️丨360导航》•【http://dh.123.sogou.com】《🗺️丨搜狗导航》•【http://m.ilxdh.com】《🗺️丨龙轩导航》•【http://nav.lazymovie.me】《🗺️丨懒人导航》•【http://www.daoall.cn】《🗺️丨导哦导航》•【https://uz456.com】《🗺️丨UZ导航》•【http://wap.1234wu.com】《🗺️丨123导航》•【https://www.24kdh.com】《🗺️丨24K导航》•【https://www.ak47s.cn】《🗺️丨AK47导航》\n\n\n📚 书源[21]::http://www.baidu.com?wd=【https://b23.tv/uSxM9T】《教程丨关耳:书源的制作过程丨bilibili》•【https://tianyuzhange.lanzous.com/mimaweityzg】《🔞丨天域战歌:不可描述丨提取码:tyzg》•【https://wws.lanzous.com/b01o1817i】《飞卢丨yellyoo丨提取码:1fd0》•【https://wws.lanzous.com/b01o181bc】《替换丨yellyoo丨提取码:dxkl》•【https://www.lanzous.com/b0bw8jwoh】《净化丨烏雲》•【https://gitee.com/zmn1307617161/booksource/tree/master/%E4%B9%A6%E6%BA%90】《女频丨关耳》•【https://gitee.com/vpq/yd/blob/sy/README.md】《综合丨一程》•【https://gitee.com/slaijie/legado/blob/master/legado/README.MD】《详细丨芜恙》•【https://gitee.com/z507525872/book-source】《有声丨破冰》•【https://gitee.com/haxc981/booksrc】《漫画丨Haxc》•【https://www.zhihu.com/people/lang-huo-ba-shi】《整合丨狼火霸世》•【https://www.qian.blue/archives/SanQianShuYuan.html】《整合丨勿埋我心》•【https://yuedu.xiu2.xyz】《公众号丨Xiu2》•【https://gitee.com/ch4nge/readbook/tree/master】《公众号丨Ch4nge》•【https://wwi.lanzous.com/iWPGjmhkd1i】《Onede丨下载文件本地导入》•【https://gitee.com/jia_to_hui/read-30-preferred-book-source/raw/master/%E9%98%85%E8%AF%BB%E4%BC%98%E9%80%89%E4%B9%A6%E6%BA%90.json】《滨江美波丨复制链接网络导入》•【https://www.lanzoui.com/b00nb4i1i】《温暖满怀万花绽丨下载文件本地导入》•【http://shuyuan.miaogongzi.site/shuyuan/1614660488.json】《女频丨乃星丨复制链接网络导入》•【https://gitee.com/namofree/yuedu3/raw/legado3booksource/legado3_booksource_by_Namo.json】《精简丨Namo丨复制链接网络导入》•【http://no-mystery.gitee.io/shuyuan/%E5%85%A8%E7%BD%91%E9%80%9A%E7%94%A8.json】《全网搜书丨不世玄奇丨复制链接网络导入》•【http://no-mystery.gitee.io/shuyuan/%E7%B2%BE%E6%A0%A1%E4%B9%A6%E6%BA%90%E5%90%88%E9%9B%86.json】《精校书源丨不世玄奇丨复制链接网络导入》\n\n\n📥 书籍[14]::http://www.baidu.com?wd=【https://cloud.yuedu.pro】《📥丨阅读链》•【https://www.iysw.net】《📥丨万书网》•【https://m.xiami88.com】《📥丨虾米网》•【https://www.baoshuu.com】《📥丨宝书网》•【http://m.zei8.me】《📥丨贼吧网》•【http://www.jingjiaoba.com】《📥丨精校吧》•【http://noveless.com】《📥丨书荒部落》•【http://www.zxcs.me】《📥丨知轩藏书》•【http://www.zxcs.info】《📥丨知轩藏书②》•【https://www.jiumodiary.com】《📥丨鸠摩搜书》•【https://www.shiyisoushu.com】《📥丨时宜搜书》•【https://ebook.huzerui.com】《📥丨熊猫搜书》•【https://new.shuge.org】《📥丨书格古籍》•【https://blah.me】《📥丨BLAH书库》\n\n\n🛠️ 工具[8]::http://www.baidu.com?wd=【https://www.yeyulingfeng.com】《🛠️丨夜雨聆风》•【https://web.woobx.cn】《🛠️丨一个木函》•【https://uutool.cn】《🛠️丨UU在线》•【https://www.yinsiduanxin.com】《📱丨短信接收》•【https://yunduanxin.net】《📱丨短信接收②》•【http://7qi.me】《📱丨短信轰炸》•【http://h.zy40.cn/dx/index.php】《📱丨短信轰炸②》•【http://h.zy40.cn/sfz】《❓丨随机身份证》\n\n\n⚒️ 工具②[10]::http://www.baidu.com?wd=【http://shuyuan.miaogongzi.site】《⚒️丨书源外链丨网络导入》•【https://www.wenshushu.cn】《⚒️丨文叔叔丨下载:本地导入》•【https://pasteme.cn】《⚒️丨PasteMe丨复制:粘贴导入》•【https://gualemang.com】《⚒️丨网站挂了吗?(检测)》•【https://www.boce.com】《⚒️丨网站测速(PC端)》•【https://4m.cn】《⚒️丨短网址(4M)》•【https://www.ft12.com】《⚒️丨短网址(ft12)》•【http://m.6du.in】《⚒️丨短网站(六度)》•【https://ykjtb.com/c】《⚒️丨剪切板(15分钟)》•【https://sou-yun.cn/STConvert.aspx】《⚒️丨繁简转换(搜韵)》\n\n\n🔧 工具③[10]::http://www.baidu.com?wd=【https://img.fghrsh.net】《🔧丨图床(Fghreh)》•【https://www.hualigs.cn】《🔧丨图床(遇见)》•【https://lab.5ime.cn/video】《🔧丨视频解析》•【http://tool.cccyun.cc】《🔧丨彩虹工具》•【https://xhl97.cn】《🔧丨小澎工具》•【https://tool.retiehe.com】《🔧丨热铁盒 》•【https://www.zixuephp.net/tool.html】《🔧丨php自学》•【https://c.runoob.com】《🔧丨菜鸟工具(编程相关)》•【https://tool.lu】《🔧丨在线工具(编程相关)》•【https://www.sojson.com】《🔧丨SO JSON(编程相关)》\n\n\n🗂️ 软件[8]::http://www.baidu.com?wd=【http://www.yxssp.com/os/android/page/1】《🗂️丨异星》•【https://www.sixyin.com/android】《🗂️丨六音》•【https://www.52pojie.cn/forum.php?mod=forumdisplay&fid=16&filter=lastpost&orderby=lastpost&typeid=232】《🗂️丨吾爱破解》•【https://www.ghpym.com/category/all/android】《🗂️丨果核剥壳》•【http://wap.zntx.org.cn/download/book_list.aspx?siteid=956&action=new】《🗂️丨八神论坛》•【http://www.yehes.com/category/shouji】《🗂️丨夜河资源》•【http://m.u9h.com/top.html】《🔞丨5G资源(🎮)》•【https://www.feixuew.com】《🔞丨飞雪娱乐(🗂️)》\n\n\n📺 影视[11]::http://www.baidu.com?wd=【https://tv.cctv.com/live/m】《📺丨CCTV:官网》•【http://live.64ma.com】《📺丨CCTV:64码》•【http://www.bbbbbb.me】《📺丨导航:思古导航》•【http://dev.rubaoo.com/TimeDiaryV2/s/Zzg=】《📺丨导航:网址收藏》•【http://www.549.tv】《📺丨导航:影视森林》•【http://www.yhdm.tv】《📺丨樱花动漫》•【https://www.5dm.tv】《📺丨5DM》•【http://www.halihali.li】《📺丨哈哩哈哩》•【http://www.bimiacg.com】《📺丨哔咪影视》•【https://www.o8tv.com】《📺丨555影视》•【http://www.zuidazy1.net】《📺丨最大资源》\n\n\n🎨 漫画[12]::http://www.baidu.com?wd=【https://m.dongmanmanhua.cn】《🎨丨咚漫》•【http://www.6mh7.com】《🎨丨6 漫画》•【http://qiman6.com】《🎨丨奇漫屋》•【https://www.nadu8.com】《🎨丨看漫画》•【https://m.dmzj1.com】《🎨丨动漫之家》•【https://www.kukk.net】《🎨丨酷看丨慢》•【http://m.damotu.com】《🎨丨大魔兔丨慢》•【https://kanmanhuala.com】《🎨丨漫画啦丨含特殊》•【http://www.gllmh.com】《👻丨鬼罗丽丨灵异向》•【http://www.biqug.org】《🎨丨笔趣漫丨广告: A》•【https://www.qimiaomh.com】《🎨丨奇妙漫丨广告: A⁻》•【http://m.mhba123.com】《🎨丨漫画吧丨广告: B⁺》\n\n\n🌀 其他[8]::http://www.baidu.com?wd=【https:pan.baidu.com】《☁️丨百度云》•【https://www.lanzous.com】《☁️丨蓝奏云》•【https://cloud.189.cn】《☁️丨天翼云》•【https://www.90pan.com】《☁️丨90盘》•【https://zhiyun.wodemo.net/entry/455642】《智云丨发布页》•【http://h.zy40.cn/t/ca.html】《智云丨平台导航》•【http://h.zy40.cn/t/so.html】《智云丨引擎导航》•【http://h.zy40.cn/gjdq/dh/inde.html】《智云丨影视导航》\n\n\n🔞 特殊[11]::http://www.baidu.com?wd=【https://m.huashi6.com】《📸丨画师通》•【https://huaban.com/favorite/beauty】《📸丨花瓣网》•【https://a7a7.net/meitu】《📸丨阿七美图》•【http://pic.sogou.com/pic/searchList.jsp?uID=&v=5&statref=index_form_1&spver=0&rcer=&keyword=%E7%BE%8E%E5%A5%B3】《📸丨搜狗图片》•【https://www.mh-mh.com】《🎨丨看漫画网》•【https://manhua.zsh8.com】《🎨丨芝士豪八》•【https://18comic.bet】《🎨丨禁漫天堂》•【http://bzgif.com】《📸丨暴走动图》•【http://www.qmsgif.com】《📸丨秋名动图》•【http://h.zy40.cn/z/sejso.php】《📺丨智云视频》•【http://lutu.club】《📺丨鲁兔视频》\n\n\n🎧 有声[12]::http://www.baidu.com?wd=【http://h.zy40.cn/uc/yy.html】《智云丨音乐频道》•【https://ifish.fun】《🎶丨洛奇town》•【https://i.y.qq.com/n2/m】《🎶丨QQ音乐》•【http://m.kuwo.cn】《🎶丨酷我音乐》•【http://m.kugou.com】《🎶丨酷狗音乐》•【https://music.163.com】《🎶丨网易云音乐》•【https://tingbook.cc】《🎧丨听书网》•【http://m.ting89.com】《🎧丨89幻听》•【http://m.ychy.com】《🎧丨海洋听书》•【https://m.tingshubao.com】《🎧丨听书宝丨PC端》•【http://m.ting74.com】《🎧丨74听书丨PC端》•【http://wap.fushu520.com】《🎧丨520听书丨PC端》\n\n\n📥 朗读[6]::http://www.baidu.com?wd=【https://asun.lanzous.com/tp/iNkfMkjhdmb】《朗读丨Google》•【https://21sqw.lanzous.com/iUtqekyou3g】《朗读丨度秘》•【https://21sqw.lanzous.com/iceGXkyoved】《朗读丨小爱》•【https://21sqw.lanzous.com/i2io1wh】《朗读丨讯飞TTS》•【https://21sqw.lanzous.com/i2ilrcf】《朗读丨讯飞语记》•【https://21sqw.lanzous.com/iFxEqiwc1ra】《朗读丨讯飞语音》\n\n\n📥 阅读[9]::http://www.baidu.com?wd=【https://kunfei.lanzous.com/b0f810h4b】《3.0丨测试版(共存)》•【https://github.com/gedoor/legado/blob/master/app/src/main/assets/updateLog.md】《3.0丨更新日志》•【https://kunfei.lanzous.com/b0f7pt4ja】《3.0丨蓝奏云》•【https://www.90pan.com/o138704】《3.0丨90盘》•【https://github.com/gedoor/legado/releases】《3.0丨Github》•【https://github.com/gedoor/MyBookshelf/blob/master/app/src/main/assets/updateLog.md】《2.0丨更新日志》•【https://kunfei.lanzous.com/b0f7pt4hi】《2.0丨蓝奏云》•【https://www.90pan.com/o138703】《2.0丨90盘》•【https://github.com/gedoor/MyBookshelf/releases】《2.0丨Github》\n",
    "sourceComment": "\n特别说明:\n没有大佬推荐网站，我也不是老司机\n[网站整合]和[特殊整合]可能很长一段时间不会更新了\n\n\n更新了啥:\n提取几个说的出口的更新\n\n[网站整合9.2]更新了啥?:\n\n\n21.3.10 校验网站\n确定都能打开\n\n\n1.重新整理(漫画)相关网站\n从@Haxc 大佬分享的漫画源提取\n\n\n2.移除搜索分组\n常用的夸克导航自带聚合搜索引擎\n点击搜索框上方的引擎图标更换\n\n\n3.分组间的整理\n①各分组的网站排序(以网站名称长短排)\n\n②智云分组与云盘分组合并\n\n③美图分组和特殊分组合并\n\n④有声分组进行了pe端处理\n两个有声网站可以\"正常\"浏览了\n\n\n4.书源分组-更详细的分类\n①书源偏向文字化(仅个人理解)\n\n②复制链接网络导入:\n除了乃星小姐姐目前的链接不会更新其他大佬的链接都能自动更新 应该\n\n③勿埋我心大佬的网址加载挺\"玄学\"的\n\n\n5.增加一些网站移除一些网站\n[大声朗读]不能用了，泪\n\n\n6.分格的\" \"\"|\"\" \"改成\"丨\"(读shù/gǔn)\n应该是从1.5个符号?变成1个符号了 大概\n\n────── 分──割──线 ──────\n\n\n说明一下:\n说明一下相关情况\n\n⓪ 不要相信网站广告!\n错信广告照成的损失本人概不负责\n\n\n① [Pro]的诞生:\n全靠 @关耳 大佬的模板，感谢大佬的帮助\n\n\n② 关于网站: 侵删\n大部分来自 源仓库的分享\n小部分来自 酷安的评论区\n\n我只是个搬运工 仅此而已\n\n分享前会确认能打开网站\n保证能打开，不保证能看\n\n\n③ 如何增加网站?:[格式]\n\n加分类:\n新分类名称 两个\":\" http://www.baidu.com?wd=【网站链接1】《网站名称1》•【网站链接2】《网站名称2》\n\n加网站:\n在任意一个\"【网站链接】《网站名称》\"后面加上\"•【新网站链接】《新网站名称》\"就行\n\n\n④ 登录源仓库: @. 大佬的方法\ngitee登录\n\n源仓库→gitee登录\n\n\n⑤ 再次登录源仓库:\n在gitee退出登录→登录\n\n源仓库→gitee登录\n\n\n⑥ [网站整合]成功\"进化\"\n现在是要三次复制粘贴才能分享的订阅源了\n",
    "sourceGroup": "📱 网站,R18",
    "sourceIcon": "http://47.105.79.245/anitama.jpg",
    "sourceName": "网站整合9.2[看源注释]",
    "sourceUrl": "网站整合Pro[9.2 | 165/165]"
  },
  {
    "articleStyle": 1,
    "customOrder": 13,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": ".list_box@ul",
    "ruleContent": "id.video@all",
    "ruleImage": ".lazy@img",
    "ruleLink": "a@href",
    "ruleNextPage": "page",
    "rulePubDate": "span@text",
    "ruleTitle": ".title@text",
    "singleUrl": false,
    "sortUrl": "搜索🕵️::https://www.qinav.com/search/100986_{{page}}.html\n}\n國產::https://www.qinav.com/search/100053_{{page}}.html\n日韓::https://www.qinav.com/search/116524_{{page}}.html\n歐美::https://www.qinav.com/search/116472_{{page}}.html\n動漫::https://www.qinav.com/search/101452_{{page}}.html\n有碼::https://www.qinav.com/search/116520_{{page}}.html\n無碼::https://www.qinav.com/search/100406_{{page}}.html\n字幕::https://www.qinav.com/search/105685_{{page}}.html\n三級::https://www.qinav.com/search/109192_{{page}}.html\n自拍::https://www.qinav.com/search/100070_{{page}}.html\n偷拍::https://www.qinav.com/search/100069_{{page}}.html\n主播::https://www.qinav.com/search/100961_{{page}}.html\n自慰::https://www.qinav.com/search/100039_{{page}}.html\n高潮::https://www.qinav.com/search/100145_{{page}}.html\n巨乳::https://www.qinav.com/search/100034_{{page}}.html\n大奶::https://www.qinav.com/search/100046_{{page}}.html\n蘿莉::https://www.qinav.com/search/100064_{{page}}.html\n少婦::https://www.qinav.com/search/100088_{{page}}.html\n熟女::https://www.qinav.com/search/100029_{{page}}.html\n亂倫::https://www.qinav.com/search/100092_{{page}}.html\n強姦::https://www.qinav.com/search/100100_{{page}}.html\n素人::https://www.qinav.com/search/100366_{{page}}.html\n白嫩::https://www.qinav.com/search/100032_{{page}}.html\n抖音::https://www.qinav.com/search/100483_{{page}}.html \n處女::https://www.qinav.com/search/100077_{{page}}.html \n媽媽::https://www.qinav.com/search/100091_{{page}}.html \n按摩::https://www.qinav.com/search/100248_{{page}}.html \nKTV::https://www.qinav.com/search/100059_{{page}}.html \n破處::https://www.qinav.com/search/100051_{{page}}.html \n裸貸::https://www.qinav.com/search/100135_{{page}}.html \n明星::https://www.qinav.com/search/100125_{{page}}.html \n母子::https://www.qinav.com/search/100392_{{page}}.html \n00後::https://www.qinav.com/search/100141_{{page}}.html \n換妻::https://www.qinav.com/search/100249_{{page}}.html \n極品::https://www.qinav.com/search/100155_{{page}}.html\n微信::https://www.qinav.com/search/100065_{{page}}.html\n幼女::https://www.qinav.com/search/100596_{{page}}.html\n絲襪::https://www.qinav.com/search/100035_{{page}}.html\n噴水::https://www.qinav.com/search/100040_{{page}}.html\n童貞::https://www.qinav.com/search/100028_{{page}}.html\n高中::https://www.qinav.com/search/100990_{{page}}.html\n喝醉::https://www.qinav.com/search/100062_{{page}}.html\n黑人::https://www.qinav.com/search/100164_{{page}}.html\n白虎::https://www.qinav.com/search/100043_{{page}}.html\n白絲::https://www.qinav.com/search/100080_{{page}}.html\n網紅::https://www.qinav.com/search/100036_{{page}}.html\n直播::https://www.qinav.com/search/100038_{{page}}.html\n約炮::https://www.qinav.com/search/100175_{{page}}.html\n教室::https://www.qinav.com/search/101599_{{page}}.html\n宿舍::https://www.qinav.com/search/100076_{{page}}.html\n雙飛::https://www.qinav.com/search/100072_{{page}}.html\n戶外::https://www.qinav.com/search/100087_{{page}}.html\n一站::https://www.qinav.com/home/site-1{{page}}.html\n二站::https://www.qinav.com/home/site-2{{page}}.html\n三站::https://www.qinav.com/home/site-3_{{page}}.html\n四站::https://www.qinav.com/home/site-4_{{page}}.html\n五站::https://www.qinav.com/home/site-5_{{page}}.html\n六站::https://www.qinav.com/home/site-6_{{page}}.html\n七站::https://www.qinav.com/home/site-7_{{page}}.html\n八站::https://www.qinav.com/home/site-8_{{page}}.html\n九站::https://www.qinav.com/home/site-9_{{page}}.html\n十站::https://www.qinav.com/home/site-10_{{page}}.html\n",
    "sourceComment": "/home/site-10",
    "sourceGroup": "R18",
    "sourceIcon": "https://www.qinav.com/static/icon.png",
    "sourceName": "QinAV",
    "sourceUrl": "https://www.qinav.com/",
    "style": "video{width:100%}img{width:100%}"
  },
  {
    "articleStyle": 0,
    "customOrder": 14,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceComment": "by：Lingsanya\n2024年10月更新",
    "sourceGroup": "推书,R18",
    "sourceIcon": "https://i.postimg.cc/hPp6qQdP/MTXX-PT20241027142957519-edit-971919037356380.jpg",
    "sourceName": "芭时圈",
    "sourceUrl": "https://www.basequan.com/"
  },
  {
    "articleStyle": 0,
    "customOrder": 15,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\"User-Agent\":\"\"}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginUi": "",
    "loginUrl": "",
    "ruleArticles": "<js>\nsort = [];\nL = String(baseUrl).replace(/^h[^=]*\\=/,'').split('★');\nfor (i = 0; i < L.length; ++i) {\n  K = (x) => {\n    r = L[i].split('☆')[x];\n    return r ==null ? \"\": r;\n  };\n  sort.push ({\n    title: K(1),\n    date: K(2),\n    img: K(3),\n    link: K(0)\n  });\n};\nJSON.stringify(sort);\n</js>\n$.[*]",
    "ruleDescription": "<!doctype html><html><head lang=\"zh\"><meta charset=\"UTF-8\"><meta name=\"viewport\" content=\"width=device-width, initial-scale=1, user-scalable=no\"><style>*{line-height:1em;margin:0;padding:0;text-underline-offset:.2em;word-break:break-all}body{background-color:#f4f5f7;display:flex;flex-wrap:wrap;place-content:center;place-items:start;padding:15px;color:#001944}.card{border-top:.5px solid rgba(255,255,255,.7);border-radius:24px;background-color:rgba(255,255,255,.6);box-shadow:0 10px 20px rgba(0,0,0,.05);padding:30px;margin:12.5px;width:250px;height:auto}.card > details + div{overflow:hidden;max-height:0;opacity:0;transition:.6s}.card > [open] + div{max-height:888px;opacity:1}.card > details > summary::-webkit-details-marker{display:none}.card > details > summary::-moz-list-bullet{display:none}.card > details > summary{font-size:24px;font-weight:700;user-select:none;outline:0;opacity:.4;transition:.6s;display:block}.card > [open] > summary{opacity:1;margin-bottom:6px;font-size:20.5px}.flex{display:flex;flex-wrap:wrap}.text{line-height:1.4em;display:inline-block;margin-top:9px}a:not([href]){margin-top:9px;margin-right:9px;display:inline-block}a:not([href]) span{margin-left:9px}a[href]{color:#4360b7;text-decoration:none;margin:.2em}a[href]:hover{text-decoration:underline}span{background-color:rgba(0,0,0,.04);padding:.15em .3em;border-radius:.5em;margin-left:.2em;font-family:monospace;opacity:.75}button{font-size:13.5px;font-weight:700;color:#4360b7;background-color:#e7eeff;padding:.65em .9em;margin-top:9px;margin-right:10px;border-radius:2em;border:none;transition:.3s}button:active{background-color:#d6ddee}textarea{margin-top:9px;padding:9px;width:100%;box-sizing:border-box;line-height:1.2em;font-size:13px;min-height:37.6px;max-height:115.6px;resize:vertical;border-radius:9px;color:#333;border:2px solid rgba(0,0,0,.1);background-color:rgba(0,0,0,.006)}input{vertical-align:middle;appearance:none;margin:-2px 2.25px 0 0;width:15px;height:15px;box-sizing:border-box;background-color:rgba(0,0,0,.006);border:2px solid rgba(0,0,0,.1);border-radius:9px;transition:.15s}input:checked{border-color:#4360b7}label{display:inline-block;margin-top:9px;margin-right:9px;font-size:15px}</style><title>写源助手</title></head><body><div class=\"card\"><details><summary>发现格式工具</summary></details><div><textarea id=\"text\" rows=\"3\" placeholder=\"请输入要处理的内容\"></textarea><a>格式转换</a><div class=\"flex\"><button onclick=\"Format()\">html转旧发现</button><button onclick=\"Switch()\">新旧发现互转</button></div><a>每行列数<span>仅新发现</span></a><div class=\"flex\"><button onclick=\"Add(null)\">自动</button><button onclick=\"Add(1)\">1</button><button onclick=\"Add(.4)\">2</button><button onclick=\"Add(.25)\">3</button><button onclick=\"Add(.2)\">4</button></div><a>快捷功能</a><div class=\"flex\"><button onclick=\"Copy('#text')\">复制全文</button><button onclick=\"Cut('#text')\">剪切全文</button><button onclick=\"Empty('#text')\">清空</button></div></div></div><div class=\"card\"><details><summary>正则匹配替换</summary></details><div><textarea id=\"text1\" rows=\"3\" placeholder=\"请输入要处理的内容\"></textarea><a>正则匹配</a><textarea id=\"matchText\" rows=\"1\" placeholder=\"正则表达式\"></textarea><label><input id=\"global\" type=\"checkbox\" checked>全局搜索</label><label><input id=\"ignoreCase\" type=\"checkbox\">忽略大小写</label><div class=\"flex\"><button onclick=\"Match()\">进行匹配</button><button onclick=\"Copy('#matchResult')\">复制结果</button><button onclick=\"Reset()\">清空</button></div><div id=\"tip\"></div><textarea id=\"matchResult\" rows=\"3\" placeholder=\"匹配结果\"></textarea><a>正则替换</a><textarea id=\"replaceText\" rows=\"1\" placeholder=\"想要替换成什么\"></textarea><div class=\"flex\"><button onclick=\"Add1('{\\{page}}')\">&#123;&#123;page&#125;&#125;</button><button onclick=\"Add1('\\\\')\">\\</button><button onclick=\"Add1('<')\">&lt;</button><button onclick=\"Add1('>')\">&gt;</button></div><div class=\"flex\"><button onclick=\"Replace()\">进行替换</button><button onclick=\"Copy('#replaceResult')\">复制结果</button></div><textarea id=\"replaceResult\" rows=\"3\" placeholder=\"替换结果\"></textarea></div></div><div class=\"card\"><details><summary>编码格式转换</summary></details><div><textarea id=\"text2\" rows=\"3\" placeholder=\"请输入要处理的内容\"></textarea><a>url编码</a><label><input id=\"ignoreComponent\" type=\"checkbox\">编码<span>@#$&amp;=:/,;?+</span></label><div class=\"flex\"><button onclick=\"Encode()\">进行编码</button><button onclick=\"Decode()\">进行解码</button></div><a>html转义</a><label><input id=\"super\" type=\"checkbox\">转义全部字符</label><div id=\"temp\" hidden></div><div class=\"flex\"><button onclick=\"EncodeHtml()\">进行转义</button><button onclick=\"DecodeHtml()\">进行反转义</button></div><a>快捷功能</a><div class=\"flex\"><button onclick=\"Copy('#text2')\">复制全文</button><button onclick=\"Cut('#text2')\">剪切全文</button><button onclick=\"Empty('#text2')\">清空</button></div></div></div><div class=\"card\"><details><summary>更多在线链接</summary></details><div><a>工具</a><div class=\"flex\"><button onclick=\"window.open('https://tool.lu/zhconvert')\">简繁转换</button></div><a>写源教程</a><div class=\"flex\"><button onclick=\"window.open('https://www.yuque.com/legado/yuan')\">Linyuan</button><button onclick=\"window.open('https://www.yuque.com/120031xufengnian/yuedu')\">felicità/寿衡</button></div></div></div><script>$=(t=>document.querySelector(t)),$$=(t=>document.execCommand(t)),Copy=(t=>{$(t).select(),$$(\"copy\")}),Empty=(t=>{x=$(t),x.value=\"\",x.focus()}),Cut=(t=>{$(t).select(),$$(\"cut\")}),Format=(()=>{if(t=$(\"#text\"),list=t.value.match(/<[^<]*?(href|open)[=\\(]['\"]([\\s\\S]*?)['\"][\\s\\S]*?>([\\s\\S]*?)</g),list){for(html=\"\",i=0;i<list.length;++i)a=list[i].match(/<[^<]*?(href|open)[=\\(]['\"]([\\s\\S]*?)['\"][\\s\\S]*?>([\\s\\S]*?)</),html+=a[3].trim().replace(/\\n/g,\" \")+\"::\"+a[2]+\"\\r\\n\";t.value=html.replace(/\\r\\n$/,\"\")}}),Switch=(()=>{t=$(\"#text\");try{for(html=\"\",json=JSON.parse(t.value),i=0;i<json.length;++i)html+=json[i].title+\"::\"+json[i].url+\"\\r\\n\";t.value=html.replace(/\\r\\n$/,\"\")}catch(e){if(t.value.match(/\\&\\&|::/g)){for(text=t.value.replace(/\\&\\&/g,\"\\r\\n\"),list=text.match(/.*?::.*/g),html=[],i=0;i<list.length;++i)a=list[i].match(/(.*?)::(.*)/),html.push({title:a[1],url:a[2]});t.value=JSON.stringify(html)}}}),Add=(t=>{x=$(\"#text\");try{for(json=JSON.parse(x.value),i=0;i<json.length;++i)json[i].style={layout_flexGrow:1,layout_flexBasisPercent:t};x.value=JSON.stringify(json)}catch(t){}}),BuildRegex=(()=>(text=$(\"#text1\"),text.value?(match=$(\"#matchText\"),match.value?(op=$(\"#global\").checked?\"g\":\"\",op=$(\"#ignoreCase\").checked?op+\"i\":op,new RegExp(match.value,op)):(match.focus(),!1)):(text.focus(),!1))),Match=(()=>{if(regex=BuildRegex(),t=$(\"#tip\"),x=$(\"#matchResult\"),tip=text=t.textContent=t.style=x.value=\"\",match=$(\"#text1\").value.match(regex),$(\"#global\").checked){for(i=0;i<match.length;++i)text+=match[i]+\"\\r\\n\";tip=\"共找到 \"+match.length+\" 处匹配：\\r\\n\",text=text.replace(/\\r\\n$/,\"\")}else tip=\"匹配位置：\"+regex.lastIndex,text=match[0];return t.textContent=tip,t.style.marginTop=\"9px\",x.value=text,!0}),Reset=(()=>{$(\"#text1\").value=$(\"#matchText\").value=$(\"#tip\").textContent=t.style=$(\"#matchResult\").value=$(\"#replaceText\").value=$(\"#replaceResult\").value=\"\",$(\"#text1\").focus()}),Add1=(t=>{x=$(\"#replaceText\"),start=x.selectionStart,length=x.selectionEnd-start,json=x.value.split(\"\"),json.splice(start,length,t),x.value=json.join(\"\"),x.focus(),x.selectionStart=t.length+start,x.selectionEnd=t.length+start}),Replace=(()=>{regex=BuildRegex(),$(\"#replaceResult\").value=$(\"#text1\").value.replace(regex,$(\"#replaceText\").value)}),Encode=(()=>{t=$(\"#text2\"),text=t.value,t.value=$(\"#ignoreComponent\").checked?encodeURIComponent(text):encodeURI(text)}),Decode=(()=>{t=$(\"#text2\"),text=t.value,t.value=decodeURIComponent(text)}),EncodeHtml=(()=>{if(t=$(\"#text2\"),text=t.value,$(\"#super\").checked)for(u=\"\",i=0;i<text.length;++i)u+=\"&#\"+text.charCodeAt(i)+\";\";else x=$(\"#temp\"),x.textContent=text,u=x.innerHTML;t.value=u}),DecodeHtml=(()=>{t=$(\"#text2\"),text=t.value,x=$(\"#temp\"),x.innerHTML=text.replace(/<br>/g,\"\\r\\n\").replace(/</g,\"&#60;\").replace(/>/g,\"&#62;\"),t.value=x.textContent});</script></body></html>\n🔵<!doctype html><html><head lang=\"zh\"><meta charset=\"UTF-8\"><meta name=\"viewport\" content=\"width=device-width, initial-scale=1, user-scalable=no\"><title>快捷导入</title><style>*{line-height:1em;margin:0;padding:0;text-underline-offset:.2em;word-break:break-all}body{background-color:#f4f5f7;display:flex;flex-wrap:wrap;place-content:center;place-items:start;padding:15px;color:#001944}.card{border-top:.5px solid rgba(255,255,255,.7);border-radius:24px;background-color:rgba(255,255,255,.6);box-shadow:0 10px 20px rgba(0,0,0,.05);padding:30px;margin:12.5px;width:250px;height:auto}.card>details+div{overflow:hidden;max-height:0;opacity:0;transition:.6s}.card>[open]+div{max-height:888px;opacity:1}.card>details>summary::-webkit-details-marker{display:none}.card>details>summary::-moz-list-bullet{display:none}.card>details>summary{font-size:24px;font-weight:700;user-select:none;outline:0;opacity:.4;transition:.6s;display:block}.card>[open]>summary{opacity:1;margin-bottom:6px;font-size:20.5px}.card>b{margin-bottom:6px;font-size:20.5px;display:block}.flex{display:flex;flex-wrap:wrap}.text{line-height:1.4em;display:inline-block;margin-top:9px}a:not([href]){margin-top:9px;margin-right:9px;display:inline-block}a[href]{color:#4360b7;text-decoration:none;margin:.2em}a[href]:hover{text-decoration:underline}legend{background-color:rgba(0,0,0,.04);padding:.15em .3em;border-radius:.5em;margin-left:.2em;font-family:monospace;opacity:.75}button{font-size:13.5px;font-weight:700;color:#4360b7;background-color:#e7eeff;padding:.65em .9em;margin-top:9px;margin-right:10px;border-radius:2em;border:none;transition:.3s}button:active{background-color:#d6ddee}textarea{margin-top:9px;padding:9px;width:100%;box-sizing:border-box;line-height:1.2em;font-size:13px;min-height:37.6px;max-height:115.6px;resize:vertical;border-radius:9px;color:#333;border:2px solid rgba(0,0,0,.1);background-color:rgba(0,0,0,.006)}input{vertical-align:middle;appearance:none;margin:-2px 2.25px 0 0;width:15px;height:15px;box-sizing:border-box;background-color:rgba(0,0,0,.006);border:2px solid rgba(0,0,0,.1);border-radius:9px;transition:.15s}input:checked{border-color:#4360b7}label{display:inline-block;margin-top:9px;margin-right:9px;font-size:15px}fieldset{border:2px solid rgba(0,0,0,.1);background-color:rgba(0,0,0,.006);border-radius:9px;margin-top:9px;padding:5px 18px 18px 18px}</style></head><body><div class=\"card\"><b>快捷导入</b><textarea id=\"url\" rows=\"4\" placeholder=\"请输入资源链接\"></textarea><fieldset><legend>导入格式</legend><label><input type=\"radio\" name=\"path\" value=\"auto\" checked>自动</label><label><input type=\"radio\" name=\"path\" value=\"bookSource\">书源</label><label><input type=\"radio\" name=\"path\" value=\"rssSource\">订阅源</label><label><input type=\"radio\" name=\"path\" value=\"replaceRule\">替换规则</label><label><input type=\"radio\" name=\"path\" value=\"textTocRule\">TXT目录规则</label><label><input type=\"radio\" name=\"path\" value=\"httpTTS\">TTS</label><label><input type=\"radio\" name=\"path\" value=\"theme\">主题</label><label><input type=\"radio\" name=\"path\" value=\"readConfig\">排版</label><label><input type=\"radio\" name=\"path\" value=\"dictRule\">字典规则</label></fieldset><div class=\"flex\"><button onclick=\"Import()\">点击导入</button><button onclick=\"Copy()\">复制</button><button onclick=\"Empty()\">清空</button></div></div><div class=\"card\"><details><summary>长期链接</summary></details><div><fieldset><legend>书源</legend><button onclick=\"SetUrl('https://mirror.ghproxy.com/https://raw.githubusercontent.com/shidahuilang/shuyuan/shuyuan/good.json★1')\">大灰狼</button><button onclick=\"SetUrl('https://mirror.ghproxy.com/https://raw.githubusercontent.com/zmn001125/booksources/master/sources/guaner.txt★1')\">关耳</button><button onclick=\"SetUrl('https://mirror.ghproxy.com/https://raw.githubusercontent.com/cyao2q/yuedu/master/shuyuan★1')\">漠星曜</button><button onclick=\"SetUrl('https://mirror.ghproxy.com/https://raw.githubusercontent.com/PB-pobing/pobing/pb/sy.json★1')\">破冰</button><button onclick=\"SetUrl('https://mirror.ghproxy.com/https://raw.githubusercontent.com/XIU2/Yuedu/master/shuyuan★1')\">XIU2</button><button onclick=\"SetUrl('https://www.gitlink.org.cn/api/yi-c/yd/raw/sy.json?ref=master★1')\">一程</button></fieldset><fieldset><legend>订阅源</legend><button onclick=\"SetUrl('https://www.gitlink.org.cn/api/yi-c/yd/raw/dy.json?ref=master★2')\">一程</button></fieldset><fieldset><legend>替换规则</legend><button onclick=\"SetUrl('https://mirror.ghproxy.com/https://raw.githubusercontent.com/shidahuilang/shuyuan/shuyuan/jinghua.json★3')\">大灰狼</button></fieldset><fieldset><legend>TTS</legend><button onclick=\"SetUrl('https://mirror.ghproxy.com/https://raw.githubusercontent.com/shidahuilang/shuyuan/shuyuan/tts.json★5')\">大灰狼</button></fieldset></div></div><script>$=(e=>document.querySelector(e)),Copy=(()=>{$(\"#url\").select(),document.execCommand(\"copy\")}),Empty=(()=>{x=$(\"#url\"),x.value=\"\",x.focus(),$('[value=\"auto\"]').checked=!0}),Import=(()=>{if(t=$(\"#url\"),!t.value)return t.focus(),!1;path=$('[name=\"path\"]:checked').value,location=`yuedu://import/${path}?src=`+encodeURIComponent(t.value)}),SetUrl=(e=>{x=$(\"#url\"),x.value=e.split(\"★\")[0],document.querySelectorAll('[name=\"path\"]')[e.split(\"★\")[1]].checked=!0,x.focus(),Import()});</script></body></html>\n{{}}\n@js:\nu = \"{{$.link}}\";\n/^\\d+$/.test(u) ? result.split('🔵')[u]: \"\";",
    "ruleImage": "$.img\n@js:\nr = result;\nr == \"\" ? source.sourceIcon: r;",
    "ruleLink": "$.link",
    "rulePubDate": "$.date",
    "ruleTitle": "$.title",
    "shouldOverrideUrlLoading": "if (/s?q=/.test(url)) {\n  q = java.toURL(url).searchParams.get('q');\n  java.searchBook(q.split(' ')[0]);\n  true;\n}",
    "singleUrl": false,
    "sortUrl": "寻书::https://bing.com/search?q=https://quark.sm.cn/api/rest?method=Novelnew.home&format=html&schema=v2&cate=全部&rank=rank_hot&gender=male☆夸克热搜・小说☆大家都在搜的热点☆http://pp.myapp.com/ma_icon/0/icon_42375936_1703676598/256★https://vt.sm.cn/api/novelStarReco/index☆星云推书☆点亮你的兴趣星球\n\n找源::https://bing.com/search?q=https://link3.cc/yckceo☆源仓库☆最新地址发布页☆https://tencentcdn.production.link3.cc/profile_images/1706720313658★https://shuyuan.yiove.com☆YiOVE书源仓库☆专为小说阅读爱好者设计☆https://shuyuan.yiove.com/favicon.ico★http://yx.ccute.xyz☆YX源仓库☆来自书源爱好者的收集小站☆http://yx.ccute.xyz/assets/iframe/images/logo.png★https://legado.aoaostar.com☆@AOAOSTAR☆收集整理☆https://avatars.githubusercontent.com/u/86001674★http://yuedu.miaogongzi.net/gx.html☆@喵公子☆收集整理☆https://i0.hdslb.com/bfs/face/a8f327d80028a97bf3b6f8d5afa260179c623268.jpg★https://qyyuapi.com☆@xiaohan231☆个人主页☆https://qyyuapi.com/logo.png★https://skybook.pages.dev☆@明月照大江☆个人主页\n\n工具::https://bing.com/search?q=0☆写源助手☆会有用喔(大概)★1☆快捷导入☆各种导入格式！",
    "sourceComment": "",
    "sourceGroup": "R18",
    "sourceIcon": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGZpbGw9IiM0NDQiIGQ9Ik04LjQyMiAyMC42MThDMTAuMTc4IDIxLjU0IDExLjA1NiAyMiAxMiAyMlYxMkwyLjYzOCA3LjA3M2EzLjE5NiAzLjE5NiAwIDAgMC0uMDQuMDY3QzIgOC4xNTQgMiA5LjQxNyAyIDExLjk0MnYuMTE3YzAgMi41MjQgMCAzLjc4Ny41OTcgNC44MDFjLjU5OCAxLjAxNSAxLjY3NCAxLjU4IDMuODI1IDIuNzA5eiIvPjxwYXRoIGZpbGw9IiM0NDQiIGQ9Im0xNy41NzcgNC40MzJsLTItMS4wNUMxMy44MjIgMi40NjEgMTIuOTQ0IDIgMTIgMmMtLjk0NSAwLTEuODIyLjQ2LTMuNTc4IDEuMzgybC0yIDEuMDVDNC4zMTggNS41MzYgMy4yNDIgNi4xIDIuNjM4IDcuMDcyTDEyIDEybDkuMzYyLTQuOTI3Yy0uNjA2LS45NzMtMS42OC0xLjUzNy0zLjc4NS0yLjY0MSIgb3BhY2l0eT0iLjciLz48cGF0aCBmaWxsPSIjNDQ0IiBkPSJNMjEuNDAzIDcuMTRhMy4xNTMgMy4xNTMgMCAwIDAtLjA0MS0uMDY3TDEyIDEydjEwYy45NDQgMCAxLjgyMi0uNDYgMy41NzgtMS4zODJsMi0xLjA1YzIuMTUxLTEuMTI5IDMuMjI3LTEuNjkzIDMuODI1LTIuNzA4Yy41OTctMS4wMTQuNTk3LTIuMjc3LjU5Ny00Ljh2LS4xMTdjMC0yLjUyNSAwLTMuNzg4LS41OTctNC44MDIiIG9wYWNpdHk9Ii41Ii8+PC9zdmc+",
    "sourceName": "方寸",
    "sourceUrl": "人间"
  },
  {
    "articleStyle": 1,
    "concurrentRate": "500",
    "customOrder": 15,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "<js>\nheaders={\n    \"User-Agent\": java.getWebViewUA(),\n    \"Origin\": Get('url'),\n    \"Referer\": Get('url'),\n    \"Cookie\": cache.get(Get('url') + 'ck') || ''\n}\ncache.put(java.md5Encode16(Get('url') + \"headers\"),JSON.stringify(headers));\nJSON.stringify(headers);\n</js>",
    "jsLib": "{\"肉视频\":\"https://qyyuapi.com/dy/js/肉视频/jsLib.js\"}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginCheckJs": "var res = result;\nurl = java.ruleUrl;\nif(res.body().includes('cf_chl')){\n    cookie.removeCookie(Get('url'));\n    result = java.startBrowserAwait(url,\"验证\");\n    ck = cookie.getCookie(Get('url'));\n    cache.put(Get('url') + 'ck',ck);\n}\nresult;",
    "loginUi": "[\n  {\n    name: \"💡　　 源　　 站　　 更　　 新　　 💡\",\n    type: \"button\",\n    action: \"update()\",\n    style: {layout_flexGrow: 1, layout_flexBasisPercent: 1}\n  },\n  { name: \"查看当前\", type: \"button\", action: \"look(0)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"查看历史\", type: \"button\", action: \"look(1)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"恢复默认\", type: \"button\", action: \"test(0)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n\n  { name: \"搜索：\", type: \"text\" },\n  { name: \"༺ˇ»`ʚ  点击切换源站  ɞ´«ˇ༻\", type: \"button\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"①肉视频①\", type: \"button\", action: \"$(1)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"②肉视频②\", type: \"button\", action: \"$(2)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"③肉视频③\", type: \"button\", action: \"$(3)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"④肉视频④\", type: \"button\", action: \"$(4)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"⑤肉视频⑤\", type: \"button\", action: \"$(5)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"⑥肉视频⑥\", type: \"button\", action: \"$(6)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"⑦肉视频⑦\", type: \"button\", action: \"$(7)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"⑧肉视频⑧\", type: \"button\", action: \"$(8)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"⑨肉视频⑨\", type: \"button\", action: \"$(9)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n\n  { name: \"༺ˇ»`ʚ  切换搜索筛选  ɞ´«ˇ༻\", type: \"button\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"全部\", type: \"button\", action: \"p(0)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"国产\", type: \"button\", action: \"p(1)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"自拍\", type: \"button\", action: \"p(2)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"探花\", type: \"button\", action: \"p(3)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"OnlyFans\", type: \"button\", action: \"p(4)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"日本\", type: \"button\", action: \"p(5)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n\n  { name: \"༺ˇ»`ʚ  切换分类排序  ɞ´«ˇ༻\", type: \"button\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"时间\", type: \"button\", action: \"q(0)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"观看\", type: \"button\", action: \"q(1)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"点赞\", type: \"button\", action: \"q(2)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n\n  { name: \"༺ˇ»`ʚ  填写收藏词条  ɞ´«ˇ༻\", type: \"button\", action: \"login('【收藏词条】' + n(2) + '填写搜索关键词\\\\n多个关键词用英文逗号“,”隔开')\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"收藏：\", type: \"text\" },\n\n  { name: \"长按倍速：\", type: \"text\" },\n  { name: \"跳过片头：\", type: \"text\" },\n  { name: \"跳过片尾：\", type: \"text\" },\n\n  { name: \"༺ˇ»`ʚ  主题模式切换  ɞ´«ˇ༻\", type: \"button\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"日间模式\", type: \"button\", action: \"a(0)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.45} },\n  { name: \"夜间模式\", type: \"button\", action: \"a(1)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.45} },\n\n  {\n    name: \"清除网站Cookie缓存\",\n    type: \"button\",\n    action: \"deleteCookie()\",\n    style: {layout_flexGrow: 1, layout_flexBasisPercent: 1}\n  },\n\n  { name: \"清除远程代码标识\", type: \"button\", action: \"DeleteJskey()\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n\n  {\n    name: \"💡　　 源　　 站　　 打　　 印　　 💡\",\n    type: \"button\",\n    action: \"test()\",\n    style: {layout_flexGrow: 1, layout_flexBasisPercent: 1}\n  }\n]",
    "loginUrl": "eval(String(Reload('https://qyyuapi.com/dy/js/肉视频/loginUrl.js')));",
    "ruleArticles": "<js>\neval(String(source.loginUrl));\neval(String(Reload('https://qyyuapi.com/dy/file/history.js')));\nresult;\n</js>\n.grid-cols-2.0@.group",
    "ruleContent": "<js>\neval(String(Reload('https://qyyuapi.com/dy/js/肉视频/ruleContent.js')));\n</js>\n<!DOCTYPE html>\n<html lang=\"zh-Hans\">\n<head>\n<title>{{@@.px-2@.hidden.0@text}}</title>\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no\">\n<link rel=\"stylesheet\" href=\"https://qyyuapi.com/css/plyr.css\">\n<style>\n{{String(Reload('https://qyyuapi.com/dy/file/player' + Get('a') + '.css'))}}\n</style>\n</head>\n<body>\n<p></p>\n<div class=\"video-container\">\n  <video id=\"player\" playsinline controls preload=\"auto\" poster=\"https://qyyuapi.com/img/noposter.png\">\n  </video>\n</div>\n<details>\n  <summary>\n    <h3>{{@@.px-2@.mb-1.0@text}}</h3>\n  </summary>\n  <img src=\"{{@@video@poster}}\">\n</details>\n<div class=\"all-info\">\n{{JSON.parse(result).jishu}}\n<div>\n    <p>📆 更新：{{@@.border-b.1@.space-x-1.0@text}}</p>\n    <p>🎥 播放：{{@@.border-b.1@.space-x-1.1@text}}</p>\n    <p>🧡 收藏：{{@@.text-red-600@text}}</p>\n    <p>🎬 番号：{{@@.bg-blue-700@text}}</p>\n    <p>🔖 标签：{{@@.bg-pink-500@text}}</p>\n    <p>📋 简介：{{@@.whitespace-pre-wrap@text}}</p>\n</div>\n</div>\n\n<script src=\"https://gcore.jsdelivr.net/npm/hls.js@canary\"></script>\n<script src=\"https://qyyuapi.com/js/plyr.js\"></script>\n\n<script>\n{{String(Reload('https://qyyuapi.com/dy/file/player.js'))}}\n\nconst JKkey = \"{{java.md5Encode16(baseUrl.replace(/.*\\}([^\\}\\`]+)\\`/,'$1'))}}\";\nconst JDkey = \"{{java.md5Encode16(baseUrl.replace(/.*\\}([^\\}\\`]+)\\`/,'$1') + 'time')}}\";\nconst PTtime = {{/^\\d+$/.test(Map('跳过片头：')) ? Map('跳过片头：') : 0}};\nconst PWtime = {{/^\\d+$/.test(Map('跳过片尾：')) ? Map('跳过片尾：') : 0}};\nconst BSspeed = {{Map('长按倍速：') || 2}};\n\n// 获取视频URL并更新视频源\nfunction geturl() {\n    let zyurl = JSON.parse($(\".jishu button.active\")[0].value);\n    let img = $('img')[0];\n    let fm = \"{{@@video@poster}}\";\n\n    // 更新视频封面\n    $(\".video-container\")[0].style.background = `#000 url('${fm}') no-repeat center center / cover`;\n    let sources = zyurl;\n    return { sources: sources };\n}\n\n// 页面加载时初始化播放器\n(() => {\n    let n = $(\".jishu\")[0].dataset.n;\n    active($('.jishu button'), n);\n    const { sources } = geturl();\n    setTimeout(updatePadding, 100);\n    localStorage.setItem('HistoryTAG', 1);\n    initializePlayer(sources, JDkey, PTtime, PWtime, BSspeed);\n})();\n</script>\n</body>\n</html>\n<js>\nresult\n.replace(/：\\s*/g,'：')\n.replace(/<p>(.+)：<\\/p>/gm, '<p style=\"display:none;\">$1：</p>');\n</js>",
    "ruleImage": "img@src",
    "ruleLink": "a.0@href\n@js:`{{Get('url')}}/@js:\\`\\{\\{Get('url')\\}\\}${result}\\``",
    "ruleNextPage": "page",
    "rulePubDate": "📆{{@@.space-x-1.0@text}}🎥{{@@.space-x-1.1@text}}⌚️{{@@.aspect-video@.bottom-1@text}}🔖{{@@.aspect-video@.top-1@text}}/{{@@.aspect-video@.bottom-0@text}}🏷{{java.getElements('.mb-1 span').text()}}\n@js:result.replace(/\\/\\//g,'/').replace(/🔖\\//,'🔖').replace(/🔖🏷|\\/🏷/,'🏷')",
    "ruleTitle": "h3@text",
    "shouldOverrideUrlLoading": "if (url.startsWith('legadovideo://')) {\n    java.openUrl(\n        decodeURIComponent(url.replace('legadovideo://', '')),\n        'video/*'\n    );\n    true;\n}",
    "singleUrl": false,
    "sortUrl": "<js>\neval(String(Reload('https://qyyuapi.com/dy/js/肉视频/sortUrl.js')));\n</js>",
    "sourceComment": "修改：1、修复内容页视频标题；by：xiaohan231-2025/08/10\n\n修改：1、增加源站；by：xiaohan231-2025/07/24\n\n修改：1、增加点击顶部视频链接调用播放器应用播放；by：xiaohan231-2025/04/30\n\n修改：1、增加清除远程代码标识按钮；by：xiaohan231-2025/04/26\n\n修改：1、新增源变量与localStorage双向备份功能，确保清理缓存和清除WebView数据时，播放历史记录和设置信息不会丢失；by：xiaohan231-2025/04/22\n\n修改：1、播放器增加标记片头片尾功能；2、jsLib代码适配新版阅读；by：xiaohan231-2025/04/20\n\n修改：1、增加清除网站Cookie缓存按钮；2、优化详情信息高度调整；3、优化视频集数切换，结尾切换下一集时不再销毁重建播放器实例；4、增加切换下集自动播放功能；5、增加跳过片尾功能；by：xiaohan231-2025/04/17\n\n修改：1、优化播放器函数，不再直接粘贴参数，改为调用函数时引进；2、UA改为系统webView UA；by：xiaohan231-2025/04/15\n\n修改：1、优化手势控制，增加滑动进度；by：xiaohan231-2025/04/14\n\n修改：1、部分源代码改为远程获取；by：xiaohan231-2025/04/06\n\n新增：1、增加源站：肉视频；by：xiaohan231-2025/02/23",
    "sourceGroup": "🔭 其他,📽 视频,R18",
    "sourceIcon": "https://qyyuapi.com/img/肉视频.png",
    "sourceName": "肉视频",
    "sourceUrl": "肉视频@js:`{{Get('url')}}/home`",
    "variableComment": "JspHXCgzmq549cSvxZRk3cM5EE7N5V32mKk5ZsGlzH7mB4iKPcwRvTVF+nSsYaYkyHFh6tU0uM6gAcU2LO/ZQnF45pl+sO+D+/WIYPhUQyHGEp6lyVJ7JKp9yWihRr9Al3sqXhKPltzub2PZi96Ke4YxqVZPjPSmL3O6xY025Sa7Vm1r1ZLIrgpD4Ksa99Q488bytyVS2P8fSjkQvADOECPkrKGclkhYWKWj0hAAvyDNKDxrCyqqqUjrKooVXTcQ3DDxjpsx5Wd29wdbu4YgaMwdlq7eM7Wgq20PNHRYMQv6mzqElmMn9R4S7YEaJiDpXXStroRJTJtLEB2i6pMCY4F02mndjqQW0PbM+tfwlL8BPYfaSJDdVkvSCRNfUL1rVOJY3HHHX1kAyOG/METDaU0ord6qUbQQMGQVmCgqResqjExJ6AI33IXMtAF1485MjO1nSz2Mi9jw/NoCjXBhnxv0A/3lmQZoYsdfz3LCCOOZKjZQKAZj20BFKz9CBUrmpIrzwdkA/+4vJYyZpjkvYKJAAPDIKbn/ptiK77BjLhWzc4xAW5+YsEiLS/Vl9iTyCrhnnDx4gT+dZ4gysUqfVbIb8BRFwb+B6EwyP7u8ZmtYQlzIFkk2UhZ23Kjqj82AwMsqdbKqw9FL36EVYcm2j/djgb/0W5Vs5VlKOG+hISERjLwLqzgRlOxnwG7YZZNLUE6FWafVPrlyzjhAvM62NXpWmL0GPDowm0iGtni5Tn0IJGyzWVZh5hnvTh/PwOlcJj+q5hVSaFxFK58GLc48+Fc006jvm6iDY5gNbK5xA+ZkRfniCNt49bJaAANoCEro3QFhJkn2ECoOmwN4aYdfdn3SloTv48koLVJu+0NT+AISrmVytYeRuVnqNW5GuwElvCL/i8TWro2qktUUurqvp5e4i5scrNF7gSUG053kPtbrtmCrJ28rZpXWhXIsOv46IMrTpuxpCRHooX+Hs5b+XejfLsuNnBbHE13MQn/M0ebGd9Gh+r6/lt//lgTkWigqsmTrtxhrWAZWzaW/yA+sTSedS2lJCbgNokw7qnbmxwD/P4D6808B5ilzMwLtm9SyNWTwxVkJg028edSaskigcsZ30aH6vr+W3/+WBORaKCo4UnC/XzCimn5Jr+ebXNLnJ51LaUkJuA2iTDuqdubHAJsuJSsWINcAtTK6RzhZCNSIdDbzJz55hCg3jwqPboZqC+e1/3J2yhbnCdDJw3/1qjgTOfZMAHf4HKt/RuYW81hQLJ5E0EGQvvbsJ3D+Y5Ztyka4dEMQZahWDR5hSepleBzikh2TmReB3v0T5xYid8QcPk5CBAU0mi1bSh9nnltSWr0jzsWH1Iyc3vP5hdMbiKkMzVjx7Zqcbf6rbicc76D9V4WyQxK0cSe7d9/9FB3SxZBjAiCO+KOut8Un8msxSnVVwgvKx21dER1iPoNp6UqAmZbr8z45Sy+pruQ5nsfBOQr4l7WVhNegga6nXNzj2tpHudPrDm9Wn2UR4YshDfI2BUHw5QUks0QBNocu+jfuCxNjMeNDzOk0a/ZER3ne8qP3wokNIjSKREwHnyiXZQ1K4gl90XkIKDm01NlT9vSc01Zk7dsMfDJIplEsIREkxY7JlCji8BaOGorXtveh+/8moUPA2KlwI7zMU987ZdFUGnxsnL51m1yJTBFiq8a2aINke1Zq/lQ6kGDq5VuBrM8NXrRSMPwvsGy97ZD6Zs1DHkEz+c8ALXx0yHXiXXGM15hX/P/WTzdA6WpNAYMp+onQJ/zgHvBUQ/73lul4SP+94V9kWjwkqpfw9UXK6MX44GmUMxCAIAON0fCsI/Q4azniKxqQ2LHe4jdXvxAAZ88Wt1v7sfpzBbhawep3OjLmQ86ziAOP/r8LYWw/FU/ideDjhbuSmySyvzX5alHrU+2YG2+mUPOLf6RROC1qs8z1CKGs5f3SNeieYFOFcf4OLhp+L88XhvLGgUnDEnizstIoT6dtov2RXBVVjSOYC1gXiRIiGmA/geEd3jFmxCN9gcC7CKEF7/4SX3qQ1YzcsgdlsAxGqxuXtOngwUwdrI+3+V1ZHoV8dL8D3H12J0G9zsNZjZsrd3x55Zv29ILIYBZLdg7gz2RVh0rVIJGoI/0J5SDo8A0C03S6DvLShgJt0SJyIQfxpwc9Nv/TnVir+cpOQuTkymXklBu2cCH5+aFTvqg92WzyV7mcOzWZJEqXs8E+mSOPWdCIQ6fWqEe6zQ+v/MvpVqyrIOqDQFvTJzdiJp8n/xwPHORgrY6nxhA8vAzSkfUqMkAuZ1RCW/OGXI1aoDWuQBoavZ7T5PaiP4P74hvvFscy7hXkC4btV8L/XlNW9O9EoNbSaJDx6c+MuNNNrLHZ0H+FULugcR6TQDU7/4ghGn81bo7MXxzQjv1TMDqRg3BmLpCSMQKRfh+3GyLCUc0qEASueLd2Pr/7yubOpU4+C4E+IExZRCr3XIL6Y6gvlBmpQ9+JFFSAyCRTwbJG/XQ88Va6iMp/ps3AgW3EyeuX0qPV3SfKzFh+usHgrXVa9xoMu+4u/cDvNNBuvz0czEv2WdeH6JQv37xz5Td2Ez6ZI49Z0IhDp9aoR7rND6/W/iWUCt4CpsJBgXN82HkVlLUfZ1aHOaXsdPUeEJeFitPGca4naQuMZo570DEigh5YxfQfIMxRhVezWptMkPtXvGNJ85ctTzZEcHVanMA3QNWUf/hqVFb3YP2/+RujDloqioZclJBJ3mOij0i/Q4r6oazl/dI16J5gU4Vx/g4uGmgAEPwNzpIdNSymRPqtwEUBBsfdiy6OBAPiK9dv8dv/8/uXl9RKrfUePqZ3kHvjMO14sdXSY6NeT1qBecaAeOuVVrRC0HqDIiZthvIGJg0bbTe5yst86LR1+EsJLy4EcPyeXmMw6zjA+dw1zI5mVua8O3IovWzbnAwS6+q5Sh/kG+7Ndnjv4VCp5Fx4JegvwvM/F7CmsDmgezt6oE/kSUj9Fqau9QB+NTeLHXYuRsCgVnlFEb68Tmeeonjr0hLkkaQFDo4VHzoxyqVejFJhJYZcTv43Kl0PLj8prMT+YB1o++bSkpP1JHFGOV8mVzWCPaZA2WB7jvWpl7tQOsbzX7utxh5W6GDrlsRJ2D9mtFTAWfOFu2Ntsdd+lRpDSA4b3+9a7sOlv8rmI2SKxRln6d1svWeiDow3698BkXWKtgfqlN7BT2+akmZ+TS9ZI1uuo2G6cYTJAD5ATn4xv2pL7oTMvRABb0bsp6E4P1mSln/b0iODj2CVKWZLv+BJQu8vU2o2avEIqiSTqKQqObgZFZH2pEJN0uNOoOY4tmAChfMkrnrhFaFUIUXtPARwyGbYpKn8tYUIGRpIJ9sHxqVQbQIDRUHMuRF9Z9yOStphQ7qcnebDsyTme4Dmevu73B5eSBtTX0eNwc0UrZp9bQDXGGOaZMDyuYEZVbpcaz2u8Hmc4FGQ595Q8noc/xHfqdyjMVRZBbrFeJ4LGVUb/sOj5XVJxNwud2Rx1jQxsQ3ht9GVnEfJYJnleXFiJqFs30dMRh9UlJ7brnNr7jgj2wkC7jMrhlqF1hTK6sAW9A/3EvnWcUXvRGS9tZ+yL6pkGYSTIQSREk5qBr5N7Gst7xSKi5qFDzBDp+t3huUt3gRNM0Q4mvEYTG8E/Nmsvcp1MOl6kEjdod52cb/S3INg+MOE/tqNH0Dst6Gj0mbz5DMcaDEOFFaUOr+WS1AUSAFVgrYev//quT/25ArlrqdxQ/axKibX0wiA/HpmGvj6dciub4kCWptkwzyD0Yh3k6Y8EtdcYPApaJGD7JLSDY/LJpmBTIq4zdfaZLX/Wq94MdN5UoQ13Y5WqkOsq22W/3ESLyVSVT6srKpjnEK+XcjIoDyry8UspPph8AuHGycKtSpGEq/xoovC83S0+gX+dXBNC/AXCjEGKvKXvabq4n1CyZPrSzDRL7bGUsWkTNqEBkCJwN0R6F9PpWjlBViKjGfhw6ejsVyJNbthuPkeuiP+AaWhChzBxkdCov9MpUy1On2TReqZgFEAxGy5e/T/0ec8Bhc22zBNpykuX47XvkxQbIM8r78T/GZmwcbPE6O/p3F1Kht+iFA3BHg5usLZ+cPfvu1uWasBdUDuObbVRsBcM5Wrac4PdgmxOmuvkLAQJWRhvGDnOL41vHK4U+farjjtKZKB0g21Z0qsG1LiR+7V36rKylibCN1PIEKTHN4yp4Qz/xBmsZzmD/m6iStkH++Rs0/fktigBI9XjWqbLzNZbAbHI1TleaeJnWVatGyZ795UKxKO5Yw+B5CXms3mIN5DhO75NIsEDJSTYuEGFUpV1nOy+btdZx69/+C6sf5ZoOEjwVtrTGUfFrhALvfncMTP3p07eTJFgEOd71OwSrlcf04MUPUlWIM62GtW+lDYT6wn6MIvaxD5s3Duut4kEGBLtOxHVuekeGTJGeoyjSqcJo2Cr0v/M9pz+Vc9l3HuIwIDFIhUxngWg+PVpDlHTQl7SnXl2/SaSI48lgeu/w66fSwZLAC1yZjsP8W8/jJlaxZ6ejjxr9OIXBUIPWJWzUemnN3X7ukjPlg+5c1JkFVZMv2V48mV6QeS/hg1XuL9463VNJ7LWmRe6eIRAWh2O1UVMaJ95adGhhZShR+4bq/JXN3uc6+nVtWKJE3OtXUQf97U5f1F6wm/dI1jbA/u/Afe2ig+AA=="
  },
  {
    "articleStyle": 1,
    "concurrentRate": "1000",
    "contentBlacklist": "",
    "customOrder": 16,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "<js>\nheaders={\n    \"User-Agent\": \"Dart/3.6 (dart:io)\",\n    \"Referer\": \"https://www.uaa.com/\",\n    \"token\": cache.get(\"uaaToken\") || ''\n}\ncache.put(\"uaaheaders\",JSON.stringify(headers));\nJSON.stringify(headers);\n</js>",
    "injectJs": "",
    "jsLib": "{\"UAA视频\":\"https://qyyuapi.com/dy/js/UAA视频/jsLib.js\"}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginCheckJs": "",
    "loginUi": "[\n  { name: \"账号：\", type: \"text\" },\n  { name: \"密码：\", type: \"password\" },\n  {\n    name: \"💡登录账号💡\",\n    type: \"button\",\n    action: \"Login()\",\n    style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.45}\n  },\n  {\n    name: \"💡源站更新💡\",\n    type: \"button\",\n    action: \"update()\",\n    style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.45}\n  },\n\n  { name: \"查看当前\", type: \"button\", action: \"look(0)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"查看历史\", type: \"button\", action: \"look(1)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"恢复默认\", type: \"button\", action: \"test(0)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n\n  { name: \"搜索：\", type: \"text\" },\n\n  { name: \"༺ˇ»`ʚ  填写筛选词条  ɞ´«ˇ༻\", type: \"button\", action: \"login('【筛选词条】' + n(2) + '填写分类、标签、屏蔽的词条\\\\n\\\\n多个词条用逗号隔开\\\\n\\\\n🔶搜索增加分类、标签、屏蔽🔶\\\\n\\\\n%%后接分类词条\\\\n\\\\n@@后接标签词条\\\\n\\\\n##后接屏蔽词条')\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1}},\n  { name: \"分类：\", type: \"text\" },\n  { name: \"标签：\", type: \"text\" },\n  { name: \"屏蔽：\", type: \"text\" },\n\n  { name: \"༺ˇ»`ʚ  点击切换源站  ɞ´«ˇ༻\", type: \"button\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"①UAA①\", type: \"button\", action: \"$(1)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"②UAA②\", type: \"button\", action: \"$(2)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"③UAA③\", type: \"button\", action: \"$(3)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n\n  { name: \"༺ˇ»`ʚ  点击切换类型  ɞ´«ˇ༻\", type: \"button\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"全部 \", type: \"button\", action: \"t(0)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"国产\", type: \"button\", action: \"t(1)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"日本\", type: \"button\", action: \"t(2)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"动漫\", type: \"button\", action: \"t(3)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"正规\", type: \"button\", action: \"t(4)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"欧美\", type: \"button\", action: \"t(5)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n\n  { name: \"༺ˇ»`ʚ  点击切换进度  ɞ´«ˇ༻\", type: \"button\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"全部\", type: \"button\", action: \"o(0)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"完结\", type: \"button\", action: \"o(1)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"连载\", type: \"button\", action: \"o(2)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n\n  { name: \"༺ˇ»`ʚ  点击切换来源  ɞ´«ˇ༻\", type: \"button\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"全部\", type: \"button\", action: \"q(0)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"原创首发\", type: \"button\", action: \"q(1)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"会员上传\", type: \"button\", action: \"q(2)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n\n  { name: \"༺ˇ»`ʚ  点击切换排序  ɞ´«ˇ༻\", type: \"button\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"默认\", type: \"button\", action: \"r(0)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"上架\", type: \"button\", action: \"r(1)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"更新\", type: \"button\", action: \"r(2)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"观看\", type: \"button\", action: \"r(3)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"收藏\", type: \"button\", action: \"r(4)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"评分\", type: \"button\", action: \"r(5)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n\n  { name: \"༺ˇ»`ʚ  点击切换取向  ɞ´«ˇ༻\", type: \"button\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"全部\", type: \"button\", action: \"u(0)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"男主\", type: \"button\", action: \"u(1)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"女主\", type: \"button\", action: \"u(2)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"男男\", type: \"button\", action: \"u(3)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"女女\", type: \"button\", action: \"u(4)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"\", type: \"button\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n\n  { name: \"༺ˇ»`ʚ  点击切换日期  ɞ´«ˇ༻\", type: \"button\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"全部\", type: \"button\", action: \"v(0)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.2} },\n  { name: \"今日\", type: \"button\", action: \"v(1)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.2} },\n  { name: \"本周 \", type: \"button\", action: \"v(2)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.2} },\n  { name: \"本月\", type: \"button\", action: \"v(3)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.2} },\n\n  { name: \"༺ˇ»`ʚ  点击切换评分  ɞ´«ˇ༻\", type: \"button\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"全部\", type: \"button\", action: \"w(0)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.15} },\n  { name: \">1\", type: \"button\", action: \"w(1)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.15} },\n  { name: \">2\", type: \"button\", action: \"w(2)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.15} },\n  { name: \">3\", type: \"button\", action: \"w(3)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.15} },\n  { name: \">4\", type: \"button\", action: \"w(4)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.15} },\n\n  { name: \"༺ˇ»`ʚ  填写收藏词条  ɞ´«ˇ༻\", type: \"button\", action: \"login('【收藏词条】' + n(2) + '填写搜索关键词\\\\n多个关键词用英文逗号“,”隔开')\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"收藏：\", type: \"text\" },\n\n  { name: \"长按倍速：\", type: \"text\" },\n  { name: \"跳过片头：\", type: \"text\" },\n  { name: \"跳过片尾：\", type: \"text\" },\n\n  { name: \"༺ˇ»`ʚ  主题模式切换  ɞ´«ˇ༻\", type: \"button\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"日间模式\", type: \"button\", action: \"a(0)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.45} },\n  { name: \"夜间模式\", type: \"button\", action: \"a(1)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.45} },\n\n  {\n    name: \"清除网站Cookie缓存\",\n    type: \"button\",\n    action: \"deleteCookie()\",\n    style: {layout_flexGrow: 1, layout_flexBasisPercent: 1}\n  },\n\n  { name: \"清除远程代码标识\", type: \"button\", action: \"DeleteJskey()\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n\n  {\n    name: \"💡　　 源　　 站　　 打　　 印　　 💡\",\n    type: \"button\",\n    action: \"test()\",\n    style: {layout_flexGrow: 1, layout_flexBasisPercent: 1}\n  }\n]",
    "loginUrl": "eval(String(Reload('https://qyyuapi.com/dy/js/UAA视频/loginUrl.js')));",
    "ruleArticles": "<js>\neval(String(source.loginUrl));\neval(String(Reload('https://qyyuapi.com/dy/file/history.js')));\nresult;\n</js>\n.[?(@.title)]",
    "ruleContent": "<js>\neval(String(Reload('https://qyyuapi.com/dy/js/UAA视频/ruleContent.js')));\n</js>\n<!DOCTYPE html>\n<html lang=\"zh-Hans\">\n<head>\n<title>{{$.model.title}}</title>\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no\">\n<link rel=\"stylesheet\" href=\"https://qyyuapi.com/css/plyr.css\">\n<style>\n{{String(Reload('https://qyyuapi.com/dy/file/player' + Get('a') + '.css'))}}\n</style>\n</head>\n<body>\n<p></p>\n<div class=\"video-container\">\n  <video id=\"player\" playsinline controls preload=\"auto\" poster=\"https://qyyuapi.com/img/noposter.png\">\n  </video>\n</div>\n<details>\n  <summary>\n    <h3>{{$.model.title}}</h3>\n  </summary>\n  <img src=\"{{$.model.coverUrl}}\">\n</details>\n<div class=\"all-info\">\n{{JSON.parse(result).jishu}}\n<div>\n    <p>📆 更新：{{$.model.updateTime||$.model.updateTimeFormat##T.*}}</p>\n    <p>👩‍🎤 女优：{{$.model.actress}}</p>\n    <p>🎦 片商：{{$.model.authors}}</p>\n    <p>👤 上传：{{$.model.uploader}}</p>\n    <p>🎥 播放：{{$.model.viewCountFormat}}</p>\n    <p>🧡 收藏：{{$.model.collectCountFormat}}</p>\n    <p>🎬 番号：{{$.model.number}}</p>\n    <p>📦 分类：{{$.model.categories}}</p>\n    <p>🔖 标签：{{$.model.tags}}</p>\n    <p>📋 简介：{{$.model.brief}}</p>\n    <p>📇 女优介绍：{{$.model.videoActress[*].brief}}</p>\n</div>\n</div>\n\n<script src=\"https://gcore.jsdelivr.net/npm/hls.js@canary\"></script>\n<script src=\"https://qyyuapi.com/js/plyr.js\"></script>\n\n<script>\n{{String(Reload('https://qyyuapi.com/dy/file/player.js'))}}\n\nconst JKkey = \"{{java.md5Encode16(baseUrl.replace(/.*\\`([^\\`]+)\\`/,'$1').replace(/.*\\/\\/[^\\/]+\\//, ''))}}\";\nconst JDkey = \"{{java.md5Encode16(baseUrl.replace(/.*\\`([^\\`]+)\\`/,'$1').replace(/.*\\/\\/[^\\/]+\\//, '') + 'time')}}\";\nconst PTtime = {{/^\\d+$/.test(Map('跳过片头：')) ? Map('跳过片头：') : 0}};\nconst PWtime = {{/^\\d+$/.test(Map('跳过片尾：')) ? Map('跳过片尾：') : 0}};\nconst BSspeed = {{Map('长按倍速：') || 2}};\n\n// 获取视频URL并更新视频源\nfunction geturl() {\n    let zyurl = JSON.parse($(\".jishu button.active\")[0].value);\n    let img = $('img')[0];\n    let fm = \"{{$.model.coverUrl}}\";\n\n    // 更新视频封面\n    $(\".video-container\")[0].style.background = `#000 url('${fm}') no-repeat center center / cover`;\n    let sources = zyurl;\n    return { sources: sources };\n}\n\n// 页面加载时初始化播放器\n(() => {\n    let n = $(\".jishu\")[0].dataset.n;\n    active($('.jishu button'), n);\n    const { sources } = geturl();\n    setTimeout(updatePadding, 100);\n    localStorage.setItem('HistoryTAG', 1);\n    initializePlayer(sources, JDkey, PTtime, PWtime, BSspeed);\n})();\n</script>\n</body>\n</html>\n<js>\nresult\n.replace(/：\\s*/g,'：')\n.replace(/<p>(.+)：<\\/p>/gm, '<p style=\"display:none;\">$1：</p>');\n</js>",
    "ruleDescription": "",
    "ruleImage": "$.coverUrl##$##,{\"headers\":{\"Referer\":\"https://www.uaa.com/\"}}",
    "ruleLink": "@js:`https://www.uaa.com/@js:\\`\\{\\{Get('url') + Path\\}\\}intro?id={{$.id}}&viewId=viewId&force=false\\``",
    "ruleNextPage": "page",
    "rulePubDate": "📆{{$.updateTime||$.updateTimeFormat##T.*}}🎥{{$.viewCountFormat}}📦{{$.categories||$.category}}🔖{{$.tags}}##🔖$",
    "ruleTitle": "$.title\n@js:\nbq = `{{$.title}},{{$.authors}},{{$.actress}},{{$.categories}},{{$.tags}}`;\npb = `{{Map('屏蔽：')}},{{Tag('屏蔽：',Skey('搜索：'))}}`.replace(/^,|,$/g,'');\nvar containsAny = pb.split(',').some(item => new RegExp(item).test(bq));\n(pb !== '' && containsAny) ? '' : result;",
    "shouldOverrideUrlLoading": "if (url.startsWith('legadovideo://')) {\n    java.openUrl(\n        decodeURIComponent(url.replace('legadovideo://', '')),\n        'video/*'\n    );\n    true;\n}",
    "singleUrl": false,
    "sortUrl": "<js>\neval(String(Reload('https://qyyuapi.com/dy/js/UAA视频/sortUrl.js')));\n</js>",
    "sourceComment": "修改：1、增加账号轮询；by：xiaohan231-2025/07/20\n\n修改：1、修复封面图片；by：xiaohan231-2025/05/30\n\n修改：1、增加正文限制弹窗验证；by：xiaohan231-2025/05/04\n\n修改：1、增加点击顶部视频链接调用播放器应用播放；by：xiaohan231-2025/04/30\n\n修改：1、增加清除远程代码标识按钮；by：xiaohan231-2025/04/26\n\n修改：1、新增源变量与localStorage双向备份功能，确保清理缓存和清除WebView数据时，播放历史记录和设置信息不会丢失；by：xiaohan231-2025/04/22\n\n修改：1、播放器增加标记片头片尾功能；2、jsLib代码适配新版阅读；by：xiaohan231-2025/04/20\n\n修改：1、增加清除网站Cookie缓存按钮；2、优化详情信息高度调整；3、优化视频集数切换，结尾切换下一集时不再销毁重建播放器实例；4、增加切换下集自动播放功能；5、增加跳过片尾功能；by：xiaohan231-2025/04/17\n\n修改：1、优化播放器函数，不再直接粘贴参数，改为调用函数时引进；by：xiaohan231-2025/04/15\n\n修改：1、优化手势控制，增加滑动进度；by：xiaohan231-2025/04/14\n\n修改：1、部分源代码改为远程获取；2、优化视频资源链接，可直连播放；by：xiaohan231-2025/04/06\n\n修改：1、优化查看当前信息；2、增加筛选词条功能；by：xiaohan231-2025/03/08\n\n修改：1、优化内容链接；2、查看当前增加显示当前登录账号；by：xiaohan231-2025/03/07\n\n新增：1、新增UAA视频；by：xiaohan231-2025/03/07",
    "sourceGroup": "🔭 其他,📽 视频,R18",
    "sourceIcon": "https://qyyuapi.com/img/uaa.png",
    "sourceName": "UAA视频",
    "sourceUrl": "UAA视频@js:`{{Get('url') + Path}}rank?type=1`",
    "style": "",
    "variableComment": "JspHXCgzmq549cSvxZRk3cM5EE7N5V32mKk5ZsGlzH7mB4iKPcwRvTVF+nSsYaYkyHFh6tU0uM6gAcU2LO/ZQnF45pl+sO+D+/WIYPhUQyHGEp6lyVJ7JKp9yWihRr9Al3sqXhKPltzub2PZi96Ke4YxqVZPjPSmL3O6xY025Sa7Vm1r1ZLIrgpD4Ksa99Q488bytyVS2P8fSjkQvADOECPkrKGclkhYWKWj0hAAvyDNKDxrCyqqqUjrKooVXTcQ3DDxjpsx5Wd29wdbu4YgaMwdlq7eM7Wgq20PNHRYMQv6mzqElmMn9R4S7YEaJiDpXXStroRJTJtLEB2i6pMCY4F02mndjqQW0PbM+tfwlL8BPYfaSJDdVkvSCRNfUL1rVOJY3HHHX1kAyOG/METDaU0ord6qUbQQMGQVmCgqResqjExJ6AI33IXMtAF1485MjO1nSz2Mi9jw/NoCjXBhnxv0A/3lmQZoYsdfz3LCCOOZKjZQKAZj20BFKz9CBUrmpIrzwdkA/+4vJYyZpjkvYKJAAPDIKbn/ptiK77BjLhWzc4xAW5+YsEiLS/Vl9iTyCrhnnDx4gT+dZ4gysUqfVbIb8BRFwb+B6EwyP7u8ZmtYQlzIFkk2UhZ23Kjqj82AwMsqdbKqw9FL36EVYcm2j/djgb/0W5Vs5VlKOG+hISERjLwLqzgRlOxnwG7YZZNLUE6FWafVPrlyzjhAvM62NXpWmL0GPDowm0iGtni5Tn0IJGyzWVZh5hnvTh/PwOlcJj+q5hVSaFxFK58GLc48+Fc006jvm6iDY5gNbK5xA+ZkRfniCNt49bJaAANoCEro3QFhJkn2ECoOmwN4aYdfdn3SloTv48koLVJu+0NT+AISrmVytYeRuVnqNW5GuwElvCL/i8TWro2qktUUurqvp5e4i5scrNF7gSUG053kPtbrtmCrJ28rZpXWhXIsOv46IMrTpuxpCRHooX+Hs5b+XejfLsuNnBbHE13MQn/M0ebGd9Gh+r6/lt//lgTkWigqsmTrtxhrWAZWzaW/yA+sTSedS2lJCbgNokw7qnbmxwD/P4D6808B5ilzMwLtm9SyNWTwxVkJg028edSaskigcsZ30aH6vr+W3/+WBORaKCo4UnC/XzCimn5Jr+ebXNLnJ51LaUkJuA2iTDuqdubHAJsuJSsWINcAtTK6RzhZCNSIdDbzJz55hCg3jwqPboZqC+e1/3J2yhbnCdDJw3/1qjgTOfZMAHf4HKt/RuYW81hQLJ5E0EGQvvbsJ3D+Y5Ztyka4dEMQZahWDR5hSepleBzikh2TmReB3v0T5xYid8QcPk5CBAU0mi1bSh9nnltSWr0jzsWH1Iyc3vP5hdMbiKkMzVjx7Zqcbf6rbicc76D9V4WyQxK0cSe7d9/9FB3SxZBjAiCO+KOut8Un8msxSnVVwgvKx21dER1iPoNp6UqAmZbr8z45Sy+pruQ5nsfBOQr4l7WVhNegga6nXNzj2tpHudPrDm9Wn2UR4YshDfI2BUHw5QUks0QBNocu+jfuCxNjMeNDzOk0a/ZER3ne8qP3wokNIjSKREwHnyiXZQ1K4gl90XkIKDm01NlT9vSc01Zk7dsMfDJIplEsIREkxY7JlCji8BaOGorXtveh+/8moUPA2KlwI7zMU987ZdFUGnxsnL51m1yJTBFiq8a2aINke1Zq/lQ6kGDq5VuBrM8NXrRSMPwvsGy97ZD6Zs1DHkEz+c8ALXx0yHXiXXGM15hX/P/WTzdA6WpNAYMp+onQJ/zgHvBUQ/73lul4SP+94V9kWjwkqpfw9UXK6MX44GmUMxCAIAON0fCsI/Q4azniKxqQ2LHe4jdXvxAAZ88Wt1v7sfpzBbhawep3OjLmQ86ziAOP/r8LYWw/FU/ideDjhbuSmySyvzX5alHrU+2YG2+mUPOLf6RROC1qs8z1CKGs5f3SNeieYFOFcf4OLhp+L88XhvLGgUnDEnizstIoT6dtov2RXBVVjSOYC1gXiRIiGmA/geEd3jFmxCN9gcC7CKEF7/4SX3qQ1YzcsgdlsAxGqxuXtOngwUwdrI+3+V1ZHoV8dL8D3H12J0G9zsNZjZsrd3x55Zv29ILIYBZLdg7gz2RVh0rVIJGoI/0J5SDo8A0C03S6DvLShgJt0SJyIQfxpwc9Nv/TnVir+cpOQuTkymXklBu2cCH5+aFTvqg92WzyV7mcOzWZJEqXs8E+mSOPWdCIQ6fWqEe6zQ+v/MvpVqyrIOqDQFvTJzdiJp8n/xwPHORgrY6nxhA8vAzSkfUqMkAuZ1RCW/OGXI1aoDWuQBoavZ7T5PaiP4P74hvvFscy7hXkC4btV8L/XlNW9O9EoNbSaJDx6c+MuNNNrLHZ0H+FULugcR6TQDU7/4ghGn81bo7MXxzQjv1TMDqRg3BmLpCSMQKRfh+3GyLCUc0qEASueLd2Pr/7yubOpU4+C4E+IExZRCr3XIL6Y6gvlBmpQ9+JFFSAyCRTwbJG/XQ88Va6iMp/ps3AgW3EyeuX0qPV3SfKzFh+usHgrXVa9xoMu+4u/cDvNNBuvz0czEv2WdeH6JQv37xz5Td2Ez6ZI49Z0IhDp9aoR7rND6/W/iWUCt4CpsJBgXN82HkVlLUfZ1aHOaXsdPUeEJeFitPGca4naQuMZo570DEigh5YxfQfIMxRhVezWptMkPtXvGNJ85ctTzZEcHVanMA3QNWUf/hqVFb3YP2/+RujDloqioZclJBJ3mOij0i/Q4r6oazl/dI16J5gU4Vx/g4uGmgAEPwNzpIdNSymRPqtwEUBBsfdiy6OBAPiK9dv8dv/8/uXl9RKrfUePqZ3kHvjMO14sdXSY6NeT1qBecaAeOuVVrRC0HqDIiZthvIGJg0bbTe5yst86LR1+EsJLy4EcPyeXmMw6zjA+dw1zI5mVua8O3IovWzbnAwS6+q5Sh/kG+7Ndnjv4VCp5Fx4JegvwvM/F7CmsDmgezt6oE/kSUj9Fqau9QB+NTeLHXYuRsCgVnlFEb68Tmeeonjr0hLkkaQFDo4VHzoxyqVejFJhJYZcTv43Kl0PLj8prMT+YB1o++bSkpP1JHFGOV8mVzWCPaZA2WB7jvWpl7tQOsbzX7utxh5W6GDrlsRJ2D9mtFTAWfOFu2Ntsdd+lRpDSA4b3+9a7sOlv8rmI2SKxRln6d1svWeiDow3698BkXWKtgfqlN7BT2+akmZ+TS9ZI1uuo2G6cYTJAD5ATn4xv2pL7oTMvRABb0bsp6E4P1mSln/b0iODj2CVKWZLv+BJQu8vU2o2avEIqiSTqKQqObgZFZH2pEJN0uNOoOY4tmAChfMkrnrhFaFUIUXtPARwyGbYpKn8tYUIGRpIJ9sHxqVQbQIDRUHMuRF9Z9yOStphQ7qcnebDsyTme4Dmevu73B5eSBtTX0eNwc0UrZp9bQDXGGOaZMDyuYEZVbpcaz2u8Hmc4FGQ595Q8noc/xHfqdyjMVRZBbrFeJ4LGVUb/sOj5XVJxNwud2Rx1jQxsQ3ht9GVnEfJYJnleXFiJqFs30dMRh9UlJ7brnNr7jgj2wkC7jMrhlqF1hTK6sAW9A/3EvnWcUXvRGS9tZ+yL6pkGYSTIQSREk5qBr5N7Gst7xSKi5qFDzBDp+t3huUt3gRNM0Q4mvEYTG8E/Nmsvcp1MOl6kEjdod52cb/S3INg+MOE/tqNH0Dst6Gj0mbz5DMcaDEOFFaUOr+WS1AUSAFVgrYev//quT/25ArlrqdxQ/axKibX0wiA/HpmGvj6dciub4kCWptkwzyD0Yh3k6Y8EtdcYPApaJGD7JLSDY/LJpmBTIq4zdfaZLX/Wq94MdN5UoQ13Y5WqkOsq22W/3ESLyVSVT6srKpjnEK+XcjIoDyry8UspPph8AuHGycKtSpGEq/xoovC83S0+gX+dXBNC/AXCjEGKvKXvabq4n1CyZPrSzDRL7bGUsWkTNqEBkCJwN0R6F9PpWjlBViKjGfhw6ejsVyJNbthuPkeuiP+AaWhChzBxkdCov9MpUy1On2TReqZgFEAxGy5e/T/0ec8Bhc22zBNpykuX47XvkxQbIM8r78T/GZmwcbPE6O/p3F1Kht+iFA3BHg5usLZ+cPfvu1uWasBdUDuObbVRsBcM5Wrac4PdgmxOmuvkLAQJWRhvGDnOL41vHK4U+farjjtKZKB0g21Z0qsG1LiR+7V36rKylibCN1PIEKTHN4yp4Qz/xBmsZzmD/m6iStkH++Rs0/fktigBI9XjWqbLzNZbAbHI1TleaeJnWVatGyZ795UKxKO5Yw+B5CXms3mIN5DhO75NIsEDJSTYuEGFUpV1nOy+btdZx69/+C6sf5ZoOEjwVtrTGUfFrhALvfncMTP3p07eTJFgEOd71OwSrlcf04MUPUlWIM62GtW+lDYT6wn6MIvaxD5s3Duut4kEGBLtOxHVuekeGTJGeoyjSqcJo2Cr0v/M9pz+Vc9l3HuIwIDFIhUxngWg+PVpDlHTQl7SnXl2/SaSI48lgeu/w66fSwZLAC1yZjsP8W8/jJlaxZ6ejjxr9OIXBUIPWJWzUemnN3X7ukjPlg+5c1JkFVZMv2V48mV6QeS/hg1XuL9463VNJ7LWmRe6eIRAWh2O1UVMaJ95adGhhZShR+4bq/JXN3uc6+nVtWKJE3OtXUQf97U5f1F6wm/dI1jbA/u/Afe2ig+AA=="
  },
  {
    "articleStyle": 1,
    "customOrder": 16,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "<js>\nheaders={\n    \"User-Agent\": java.getWebViewUA(),\n    \"Origin\": Get('url'),\n    \"Referer\": Get('url'),\n    \"Cookie\": cache.get(Get('url') + 'ck') || ''\n}\ncache.put(java.md5Encode16(Get('url') + \"headers\"),JSON.stringify(headers));\nJSON.stringify(headers);\n</js>",
    "jsLib": "{\"Hanime1\":\"https://qyyuapi.com/dy/js/Hanime1/jsLib.js\"}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginCheckJs": "var res = result;\nurl = java.ruleUrl;\nif(res.body().includes('cf_chl')){\n    cookie.removeCookie(Get('url'));\n    result = java.startBrowserAwait(url,\"验证\");\n    ck = cookie.getCookie(Get('url'));\n    cache.put(Get('url') + 'ck',ck);\n}\nresult;",
    "loginUi": "[\n  { name: \"查看当前\", type: \"button\", action: \"look(0)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"查看历史\", type: \"button\", action: \"look(1)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"恢复默认\", type: \"button\", action: \"test(0)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n\n  { name: \"搜索：\", type: \"text\" },\n  { name: \"༺ˇ»`ʚ  点击切换源站  ɞ´«ˇ༻\", type: \"button\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"①Hanime1①\", type: \"button\", action: \"$(1)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.45} },\n  { name: \"②Hanime1②\", type: \"button\", action: \"$(2)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.45} },\n  { name: \"③Hanime1③\", type: \"button\", action: \"$(3)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.45} },\n  { name: \"④Hanime1④\", type: \"button\", action: \"$(4)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.45} },\n  { name: \"⑤Hanime1⑤\", type: \"button\", action: \"$(5)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.45} },\n  { name: \"⑥Hanime1⑥\", type: \"button\", action: \"$(6)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.45} },\n  { name: \"⑦Hanime1⑦\", type: \"button\", action: \"$(7)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.45} },\n  { name: \"⑧Hanime1⑧\", type: \"button\", action: \"$(8)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.45} },\n\n  { name: \"༺ˇ»`ʚ  点击切换排序  ɞ´«ˇ༻\", type: \"button\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"默认排序\", type: \"button\", action: \"o(0)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"最新上市\", type: \"button\", action: \"o(1)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"最新上傳\", type: \"button\", action: \"o(2)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"本日排行\", type: \"button\", action: \"o(3)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"本週排行\", type: \"button\", action: \"o(4)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"本月排行\", type: \"button\", action: \"o(5)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"觀看次數\", type: \"button\", action: \"o(6)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"他們在看\", type: \"button\", action: \"o(7)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"\", type: \"button\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n\n  { name: \"༺ˇ»`ʚ  筛选发布日期  ɞ´«ˇ༻\", type: \"button\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"年份：\", type: \"text\" },\n  { name: \"月份：\", type: \"text\" },\n\n  { name: \"༺ˇ»`ʚ  填写收藏词条  ɞ´«ˇ༻\", type: \"button\", action: \"login('【收藏词条】' + n(2) + '填写搜索关键词\\\\n多个关键词用英文逗号“,”隔开')\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"收藏：\", type: \"text\" },\n\n  { name: \"长按倍速：\", type: \"text\" },\n  { name: \"跳过片头：\", type: \"text\" },\n  { name: \"跳过片尾：\", type: \"text\" },\n\n  { name: \"༺ˇ»`ʚ  主题模式切换  ɞ´«ˇ༻\", type: \"button\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"日间模式\", type: \"button\", action: \"a(0)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.45} },\n  { name: \"夜间模式\", type: \"button\", action: \"a(1)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.45} },\n\n  {\n    name: \"清除网站Cookie缓存\",\n    type: \"button\",\n    action: \"deleteCookie()\",\n    style: {layout_flexGrow: 1, layout_flexBasisPercent: 1}\n  },\n\n  { name: \"清除远程代码标识\", type: \"button\", action: \"DeleteJskey()\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n\n  {\n    name: \"💡　　 源　　 站　　 打　　 印　　 💡\",\n    type: \"button\",\n    action: \"test()\",\n    style: {layout_flexGrow: 1, layout_flexBasisPercent: 1}\n  }\n]",
    "loginUrl": "eval(String(Reload('https://qyyuapi.com/dy/js/Hanime1/loginUrl.js')));",
    "ruleArticles": "@js:\neval(String(source.loginUrl));\neval(String(Reload('https://qyyuapi.com/dy/file/history.js')));\nvar list = java.getElements('.home-rows-videos-wrapper a || .col-xs-12');\nif (/watch\\?v=/.test(list[0])) {\n    list;\n} else {\n    java.getElements('.home-rows-videos-wrapper a!0 || .col-xs-12!0');\n}",
    "ruleContent": "<js>\neval(String(Reload('https://qyyuapi.com/dy/js/Hanime1/ruleContent.js')));\n</js>\n<!DOCTYPE html>\n<html lang=\"zh-Hans\">\n<head>\n<title>{{java.getElements('title').text()}}</title>\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no\">\n<meta name=\"referrer\" content=\"no-referrer\">\n<link rel=\"stylesheet\" href=\"https://qyyuapi.com/css/plyr.css\">\n<style>\n{{String(Reload('https://qyyuapi.com/dy/file/player' + Get('a') + '.css'))}}\n</style>\n</head>\n<body>\n<p></p>\n<div class=\"video-container\">\n  <video id=\"player\" playsinline controls preload=\"auto\" poster=\"https://qyyuapi.com/img/noposter.png\">\n  </video>\n</div>\n<details>\n  <summary>\n    <h3></h3>\n  </summary>\n  <img>\n</details>\n<div class=\"all-info\">\n{{JSON.parse(result).jishu}}\n<div>\n  <p></p>\n  <p></p>\n  <p></p>\n  <p></p>\n  <p></p>\n  <p></p>\n</div>\n</div>\n\n<script src=\"https://gcore.jsdelivr.net/npm/hls.js@canary\"></script>\n<script src=\"https://qyyuapi.com/js/plyr.js\"></script>\n\n<script>\n{{String(Reload('https://qyyuapi.com/dy/file/player.js'))}}\n\nconst JKkey = \"{{java.md5Encode16(baseUrl.replace(/.*\\}([^\\}\\`]+)\\`/,'$1'))}}\";\nconst JDkey = \"{{java.md5Encode16(baseUrl.replace(/.*\\}([^\\}\\`]+)\\`/,'$1') + 'time')}}\";\nconst PTtime = {{/^\\d+$/.test(Map('跳过片头：')) ? Map('跳过片头：') : 0}};\nconst PWtime = {{/^\\d+$/.test(Map('跳过片尾：')) ? Map('跳过片尾：') : 0}};\nconst BSspeed = {{Map('长按倍速：') || 2}};\nconst Next = $(\".jishu\")[0].style.display === 'none' ? null : 1;\n\n// 获取视频URL并更新视频源\nasync function geturl() {\n    try {\n        let src = $(\".jishu button.active\")[0].dataset.src;\n        let result = await fetchRequest(src, {{String(cache.get(java.md5Encode16(Get('url') + \"headers\")))}});\n\n        if (result) {\n            const parser = new DOMParser();\n            const doc = parser.parseFromString(result, 'text/html');\n\n            // 获取页面信息\n            let img = doc.querySelector('video') ? doc.querySelector('video').getAttribute('poster') : '';\n            let bt = doc.querySelector('#shareBtn-title').innerText;\n            let rq = '📆 日期：' + (doc.querySelector('.video-description-panel div') ? doc.querySelector('.video-description-panel div').innerText : '').replace(/[\\s\\S]*?(\\d{4}-\\d.*)/,'$1');\n            let bf = '🎥 播放：' + (doc.querySelector('.video-description-panel div') ? doc.querySelector('.video-description-panel div').innerText : '').replace(/[\\s\\S]*?：(.*?)\\s[\\s\\S]*$/,'$1');\n            let dz = '🧡 点赞：' + (doc.querySelector('#video-like-btn') ? doc.querySelector('#video-like-btn').innerText : '').replace(/[\\s\\S]*?(\\d+)[\\s\\S]*/,'$1');\n            let sc = '👤 上传：' + (doc.querySelector('.card-mobile-user') ? doc.querySelector('.card-mobile-user').innerText : '');\n            let bq = '🔖 标签：' + (doc.querySelector('.video-tags-wrapper') ? doc.querySelector('.video-tags-wrapper').innerText : '').replace(/^\\n|\\n\\s*\\n[\\s\\S]*/g,'').replace(/\\n/g,'，').replace(/\\s+/g,'');\n            let jj = '📋 简介：' + (doc.querySelector('.video-caption-text') ? doc.querySelector('.video-caption-text').innerText : '');\n            let fm = doc.querySelector('video') ? doc.querySelector('video').getAttribute('poster') : '';\n\n            // 获取视频源\n            let zyurl = [];\n            let list1 = doc.querySelectorAll('video source') ? doc.querySelectorAll('video source') : [];\n\n            if (!list1[0]) {\n                let res = doc.querySelector('script[type=\"application/ld+json\"]');\n                let content = res.textContent || res.innerText;\n                content = content.replace(/[\\u0000-\\u001F\\u007F]/g, '');\n                let jsonData = JSON.parse(content);\n                let url1 = jsonData.contentUrl;\n                zyurl.push({ src: url1, size: '0' });\n            } else {\n                list1.forEach(function(source) {\n                    let src = source.getAttribute('src');\n                    let size = source.getAttribute('size');\n                    zyurl.push({ src: src, size: size });\n                });\n            }\n\n            zyurl.sort((a, b) => parseInt(b.size) - parseInt(a.size));\n\n            // 更新页面信息\n            $(\"details>summary>h3\")[0].innerText = bt;\n            $(\".all-info>div>p\")[2].innerText = rq;\n            $(\".all-info>div>p\")[3].innerText = bf;\n            $(\".all-info>div>p\")[4].innerText = dz;\n            $(\".all-info>div>p\")[5].innerText = sc;\n            $(\".all-info>div>p\")[6].innerText = bq;\n            $(\".all-info>div>p\")[7].innerText = jj;\n            $(\".all-info>div>p\")[2].style = /：\\s*$/.test(rq) ? \"display:none;\" : \"\";\n            $(\".all-info>div>p\")[3].style = /：\\s*$/.test(bf) ? \"display:none;\" : \"\";\n            $(\".all-info>div>p\")[4].style = /：\\s*$/.test(dz) ? \"display:none;\" : \"\";\n            $(\".all-info>div>p\")[5].style = /：\\s*$/.test(sc) ? \"display:none;\" : \"\";\n            $(\".all-info>div>p\")[6].style = /：\\s*$/.test(bq) ? \"display:none;\" : \"\";\n            $(\".all-info>div>p\")[7].style = /：\\s*$/.test(jj) ? \"display:none;\" : \"\";\n\n            // 更新详情封面\n            $(\"img\")[0].src = fm;\n\n            // 更新视频封面\n            $(\".video-container\")[0].style.background = `#000 url('${fm}') no-repeat center center / cover`;\n\n            // 返回视频源\n            let sources = zyurl;\n            return { sources: sources };\n        } else {\n            throw new Error(\"请求失败\");\n        }\n    } catch (error) {\n        console.error(\"错误:\", error);\n        throw error;\n    }\n}\n\n// 点击集数按钮时调用的函数\nasync function jishu(item) {\n    var video = $('video')[0];\n    var wasPlaying = video && !video.paused;\n    omit($('.jishu button.active'));\n    item.className = \"active\";\n    const { sources } = await geturl();\n    setTimeout(updatePadding, 100);\n    var index2 = Array.from(item.parentNode.children).indexOf(item);\n    var Progress = {\n        index2: index2\n    };\n    localStorage.setItem(JKkey, JSON.stringify(Progress));\n    localStorage.removeItem(JDkey);\n    initializePlayer(sources, JDkey, PTtime, PWtime, BSspeed, Next);\n    if (wasPlaying && video) {\n        const tryAutoPlay = () => {\n            if (video.readyState >= 3) {\n                video.play().catch(e => {\n                    console.log(\"自动播放被阻止:\", e);\n                    $('.plyr__control--overlaid').show();\n                });\n                video.removeEventListener('canplay', tryAutoPlay);\n            }\n        };\n        if (video.readyState >= 3) {\n            video.play().catch(e => console.log(\"立即播放失败:\", e));\n        } else {\n            video.addEventListener('canplay', tryAutoPlay);\n        }\n    }\n}\n\n// 页面加载时初始化播放器\n(async () => {\n    var n = $(\".jishu\")[0].dataset.n;\n    var Progress = localStorage.getItem(JKkey);\n    if (Progress) {\n        var history = JSON.parse(Progress);\n        n = history.index2;\n    }\n    active($('.jishu button'), n);\n    const { sources } = await geturl();\n    setTimeout(updatePadding, 100);\n    localStorage.setItem('HistoryTAG', 1);\n    initializePlayer(sources, JDkey, PTtime, PWtime, BSspeed, Next);\n})();\n</script>\n</body>\n</html>",
    "ruleImage": "img.1@src||img@src",
    "ruleLink": ".overlay@href||href##^.*\\/\\/[^\\/]+\n@js:`https://hanime1.me/@js:\\`\\{\\{Get('url')\\}\\}${result}\\``",
    "ruleNextPage": "page",
    "rulePubDate": "⌚️ {{@@.card-mobile-duration.0@text}}    🎥 {{@@.card-mobile-duration.-1@text}}    👤 {{@@.card-mobile-genre-wrapper@text}}##⌚️     🎥     👤",
    "ruleTitle": ".card-mobile-title@text||.home-rows-videos-title@text",
    "shouldOverrideUrlLoading": "if (url.startsWith('legadovideo://')) {\n    java.openUrl(\n        decodeURIComponent(url.replace('legadovideo://', '')),\n        'video/*'\n    );\n    true;\n}",
    "singleUrl": false,
    "sortUrl": "<js>\neval(String(Reload('https://qyyuapi.com/dy/js/Hanime1/sortUrl.js')));\n</js>",
    "sourceComment": "修改：1、增加源站；by：xiaohan231-2025/07/24\n\n修改：1、增加直连源站；by：xiaohan231-2025/06/24\n\n修改：1、播放器增加切换上下集按钮；2、增加点击顶部视频链接调用播放器应用播放；by：xiaohan231-2025/04/30\n\n修改：1、增加清除远程代码标识按钮；by：xiaohan231-2025/04/26\n\n修改：1、新增源变量与localStorage双向备份功能，确保清理缓存和清除WebView数据时，播放历史记录和设置信息不会丢失；by：xiaohan231-2025/04/22\n\n修改：1、播放状态点击切换集数，自动开始播放；by：xiaohan231-2025/04/21\n\n修改：1、播放器增加标记片头片尾功能；2、jsLib代码适配新版阅读；by：xiaohan231-2025/04/20\n\n修改：1、增加清除网站Cookie缓存按钮；2、优化详情信息高度调整；3、优化视频集数切换，结尾切换下一集时不再销毁重建播放器实例；4、增加切换下集自动播放功能；5、增加跳过片尾功能；by：xiaohan231-2025/04/17\n\n修改：1、优化播放器函数，不再直接粘贴参数，改为调用函数时引进；2、UA改为系统webView UA；by：xiaohan231-2025/04/15\n\n修改：1、优化手势控制，增加滑动进度；by：xiaohan231-2025/04/14\n\n修改：1、部分源代码改为远程获取；by：xiaohan231-2025/04/06\n\n修改：1、快进改为60s,可以在播放完成后快进到结尾，自动切换下集；2、修复列表规则；by：xiaohan231-2025/01/20\n\n修改：1、增加自动切换下集；by：xiaohan231-2025/01/13\n\n修改：1、优化播放器样式；2、增加跳过片头功能；3、增加缓存播放进度功能；by：xiaohan231-2025/01/11\n\n修改：1、增加夜间主题模式切换；by：xiaohan231-2025/01/09\n\n修改：1、搜索关键词改为在登录页填写；2、设置参数改为在源变量保存；3、优化分类链接by：xiaohan231-2025/01/06\n\n修改：1、增加缓存历史播放记录；by：xiaohan231-2025/01/03\n\n修改：1、增加登录页按钮自适应宽度；by：xiaohan231-2024/12/29\n\n修改：1、优化播放器样式，固定播放器高度；2、视频链接改为异步获取；by：xiaohan231-2024/12/07\n\n修改：1、重写内容规则，剧集获取改为异步加载；2、登录页增加自定义长按播放倍速(默认2倍速)；3、优化播放页面样式；by：xiaohan231-2024/12/05\n\n修改：1、增加验证激活过期时间；by：xiaohan231-2024/10/20\n\n修改：1、优化人机验证检查；2、增加验证XH发布页订阅激活；by：xiaohan231-2024/10/18\n\n修改：1、添加人机验证检查；by：xiaohan231-2024/10/11\n\n修改：1、优化页面样式；by：xiaohan231-2024/08/25\n\n修改：1、优化长按倍速播放功能；2、增加分辨率切换功能；by：xiaohan231-2024/08/24\n\n修改：1、优化播放器样式；2、选择播放倍速后，点击屏幕不再恢复成正常；3、添加长按2倍速播放功能，想要设置成其他的可以在内容规则根据注释修改；by：xiaohan231-2024/08/21\n\n修改：1、调用Plyr插件搭建网页播放器；2、设置播放器默认比例为16/9，以防止加载时播放器高度变动；3、优化播放器样式；by：xiaohan231-2024/08/20\n\n修改：1、增加收藏关键词；2、视频不再采用第三方解析，改为调用原生播放器；3、添加视频封面；by：xiaohan231-2024/08/18\n\n修改：1、优化内容规则；by：xiaohan231-2024/08/17\n\n修改：1、修复cosplay视频链接获取bug；2、修复部分视频无法解析bug；3、优化视频链接获取，自动选择最高分辨率；4、增加排序方式切换和发布日期筛选；by：xiaohan231-2024/08/14\n\n修改：1、修复列表bug；2、修改分类地址获取；3、优化内容规则；by：xiaohan231-2024/08/11\n\nby：xiaohan231-2024/08/10",
    "sourceGroup": "🔭 其他,📽 视频,R18",
    "sourceIcon": "https://qyyuapi.com/img/Hanime1.png",
    "sourceName": "Hanime1",
    "sourceUrl": "Hanime1@js:`{{Get('url')}}`",
    "variableComment": "JspHXCgzmq549cSvxZRk3cM5EE7N5V32mKk5ZsGlzH7mB4iKPcwRvTVF+nSsYaYkyHFh6tU0uM6gAcU2LO/ZQnF45pl+sO+D+/WIYPhUQyHGEp6lyVJ7JKp9yWihRr9Al3sqXhKPltzub2PZi96Ke4YxqVZPjPSmL3O6xY025Sa7Vm1r1ZLIrgpD4Ksa99Q488bytyVS2P8fSjkQvADOECPkrKGclkhYWKWj0hAAvyDNKDxrCyqqqUjrKooVXTcQ3DDxjpsx5Wd29wdbu4YgaMwdlq7eM7Wgq20PNHRYMQv6mzqElmMn9R4S7YEaJiDpXXStroRJTJtLEB2i6pMCY4F02mndjqQW0PbM+tfwlL8BPYfaSJDdVkvSCRNfUL1rVOJY3HHHX1kAyOG/METDaU0ord6qUbQQMGQVmCgqResqjExJ6AI33IXMtAF1485MjO1nSz2Mi9jw/NoCjXBhnxv0A/3lmQZoYsdfz3LCCOOZKjZQKAZj20BFKz9CBUrmpIrzwdkA/+4vJYyZpjkvYKJAAPDIKbn/ptiK77BjLhWzc4xAW5+YsEiLS/Vl9iTyCrhnnDx4gT+dZ4gysUqfVbIb8BRFwb+B6EwyP7u8ZmtYQlzIFkk2UhZ23Kjqj82AwMsqdbKqw9FL36EVYcm2j/djgb/0W5Vs5VlKOG+hISERjLwLqzgRlOxnwG7YZZNLUE6FWafVPrlyzjhAvM62NXpWmL0GPDowm0iGtni5Tn0IJGyzWVZh5hnvTh/PwOlcJj+q5hVSaFxFK58GLc48+Fc006jvm6iDY5gNbK5xA+ZkRfniCNt49bJaAANoCEro3QFhJkn2ECoOmwN4aYdfdn3SloTv48koLVJu+0NT+AISrmVytYeRuVnqNW5GuwElvCL/i8TWro2qktUUurqvp5e4i5scrNF7gSUG053kPtbrtmCrJ28rZpXWhXIsOv46IMrTpuxpCRHooX+Hs5b+XejfLsuNnBbHE13MQn/M0ebGd9Gh+r6/lt//lgTkWigqsmTrtxhrWAZWzaW/yA+sTSedS2lJCbgNokw7qnbmxwD/P4D6808B5ilzMwLtm9SyNWTwxVkJg028edSaskigcsZ30aH6vr+W3/+WBORaKCo4UnC/XzCimn5Jr+ebXNLnJ51LaUkJuA2iTDuqdubHAJsuJSsWINcAtTK6RzhZCNSIdDbzJz55hCg3jwqPboZqC+e1/3J2yhbnCdDJw3/1qjgTOfZMAHf4HKt/RuYW81hQLJ5E0EGQvvbsJ3D+Y5Ztyka4dEMQZahWDR5hSepleBzikh2TmReB3v0T5xYid8QcPk5CBAU0mi1bSh9nnltSWr0jzsWH1Iyc3vP5hdMbiKkMzVjx7Zqcbf6rbicc76D9V4WyQxK0cSe7d9/9FB3SxZBjAiCO+KOut8Un8msxSnVVwgvKx21dER1iPoNp6UqAmZbr8z45Sy+pruQ5nsfBOQr4l7WVhNegga6nXNzj2tpHudPrDm9Wn2UR4YshDfI2BUHw5QUks0QBNocu+jfuCxNjMeNDzOk0a/ZER3ne8qP3wokNIjSKREwHnyiXZQ1K4gl90XkIKDm01NlT9vSc01Zk7dsMfDJIplEsIREkxY7JlCji8BaOGorXtveh+/8moUPA2KlwI7zMU987ZdFUGnxsnL51m1yJTBFiq8a2aINke1Zq/lQ6kGDq5VuBrM8NXrRSMPwvsGy97ZD6Zs1DHkEz+c8ALXx0yHXiXXGM15hX/P/WTzdA6WpNAYMp+onQJ/zgHvBUQ/73lul4SP+94V9kWjwkqpfw9UXK6MX44GmUMxCAIAON0fCsI/Q4azniKxqQ2LHe4jdXvxAAZ88Wt1v7sfpzBbhawep3OjLmQ86ziAOP/r8LYWw/FU/ideDjhbuSmySyvzX5alHrU+2YG2+mUPOLf6RROC1qs8z1CKGs5f3SNeieYFOFcf4OLhp+L88XhvLGgUnDEnizstIoT6dtov2RXBVVjSOYC1gXiRIiGmA/geEd3jFmxCN9gcC7CKEF7/4SX3qQ1YzcsgdlsAxGqxuXtOngwUwdrI+3+V1ZHoV8dL8D3H12J0G9zsNZjZsrd3x55Zv29ILIYBZLdg7gz2RVh0rVIJGoI/0J5SDo8A0C03S6DvLShgJt0SJyIQfxpwc9Nv/TnVir+cpOQuTkymXklBu2cCH5+aFTvqg92WzyV7mcOzWZJEqXs8E+mSOPWdCIQ6fWqEe6zQ+v/MvpVqyrIOqDQFvTJzdiJp8n/xwPHORgrY6nxhA8vAzSkfUqMkAuZ1RCW/OGXI1aoDWuQBoavZ7T5PaiP4P74hvvFscy7hXkC4btV8L/XlNW9O9EoNbSaJDx6c+MuNNNrLHZ0H+FULugcR6TQDU7/4ghGn81bo7MXxzQjv1TMDqRg3BmLpCSMQKRfh+3GyLCUc0qEASueLd2Pr/7yubOpU4+C4E+IExZRCr3XIL6Y6gvlBmpQ9+JFFSAyCRTwbJG/XQ88Va6iMp/ps3AgW3EyeuX0qPV3SfKzFh+usHgrXVa9xoMu+4u/cDvNNBuvz0czEv2WdeH6JQv37xz5Td2Ez6ZI49Z0IhDp9aoR7rND6/W/iWUCt4CpsJBgXN82HkVlLUfZ1aHOaXsdPUeEJeFitPGca4naQuMZo570DEigh5YxfQfIMxRhVezWptMkPtXvGNJ85ctTzZEcHVanMA3QNWUf/hqVFb3YP2/+RujDloqioZclJBJ3mOij0i/Q4r6oazl/dI16J5gU4Vx/g4uGmgAEPwNzpIdNSymRPqtwEUBBsfdiy6OBAPiK9dv8dv/8/uXl9RKrfUePqZ3kHvjMO14sdXSY6NeT1qBecaAeOuVVrRC0HqDIiZthvIGJg0bbTe5yst86LR1+EsJLy4EcPyeXmMw6zjA+dw1zI5mVua8O3IovWzbnAwS6+q5Sh/kG+7Ndnjv4VCp5Fx4JegvwvM/F7CmsDmgezt6oE/kSUj9Fqau9QB+NTeLHXYuRsCgVnlFEb68Tmeeonjr0hLkkaQFDo4VHzoxyqVejFJhJYZcTv43Kl0PLj8prMT+YB1o++bSkpP1JHFGOV8mVzWCPaZA2WB7jvWpl7tQOsbzX7utxh5W6GDrlsRJ2D9mtFTAWfOFu2Ntsdd+lRpDSA4b3+9a7sOlv8rmI2SKxRln6d1svWeiDow3698BkXWKtgfqlN7BT2+akmZ+TS9ZI1uuo2G6cYTJAD5ATn4xv2pL7oTMvRABb0bsp6E4P1mSln/b0iODj2CVKWZLv+BJQu8vU2o2avEIqiSTqKQqObgZFZH2pEJN0uNOoOY4tmAChfMkrnrhFaFUIUXtPARwyGbYpKn8tYUIGRpIJ9sHxqVQbQIDRUHMuRF9Z9yOStphQ7qcnebDsyTme4Dmevu73B5eSBtTX0eNwc0UrZp9bQDXGGOaZMDyuYEZVbpcaz2u8Hmc4FGQ595Q8noc/xHfqdyjMVRZBbrFeJ4LGVUb/sOj5XVJxNwud2Rx1jQxsQ3ht9GVnEfJYJnleXFiJqFs30dMRh9UlJ7brnNr7jgj2wkC7jMrhlqF1hTK6sAW9A/3EvnWcUXvRGS9tZ+yL6pkGYSTIQSREk5qBr5N7Gst7xSKi5qFDzBDp+t3huUt3gRNM0Q4mvEYTG8E/Nmsvcp1MOl6kEjdod52cb/S3INg+MOE/tqNH0Dst6Gj0mbz5DMcaDEOFFaUOr+WS1AUSAFVgrYev//quT/25ArlrqdxQ/axKibX0wiA/HpmGvj6dciub4kCWptkwzyD0Yh3k6Y8EtdcYPApaJGD7JLSDY/LJpmBTIq4zdfaZLX/Wq94MdN5UoQ13Y5WqkOsq22W/3ESLyVSVT6srKpjnEK+XcjIoDyry8UspPph8AuHGycKtSpGEq/xoovC83S0+gX+dXBNC/AXCjEGKvKXvabq4n1CyZPrSzDRL7bGUsWkTNqEBkCJwN0R6F9PpWjlBViKjGfhw6ejsVyJNbthuPkeuiP+AaWhChzBxkdCov9MpUy1On2TReqZgFEAxGy5e/T/0ec8Bhc22zBNpykuX47XvkxQbIM8r78T/GZmwcbPE6O/p3F1Kht+iFA3BHg5usLZ+cPfvu1uWasBdUDuObbVRsBcM5Wrac4PdgmxOmuvkLAQJWRhvGDnOL41vHK4U+farjjtKZKB0g21Z0qsG1LiR+7V36rKylibCN1PIEKTHN4yp4Qz/xBmsZzmD/m6iStkH++Rs0/fktigBI9XjWqbLzNZbAbHI1TleaeJnWVatGyZ795UKxKO5Yw+B5CXms3mIN5DhO75NIsEDJSTYuEGFUpV1nOy+btdZx69/+C6sf5ZoOEjwVtrTGUfFrhALvfncMTP3p07eTJFgEOd71OwSrlcf04MUPUlWIM62GtW+lDYT6wn6MIvaxD5s3Duut4kEGBLtOxHVuekeGTJGeoyjSqcJo2Cr0v/M9pz+Vc9l3HuIwIDFIhUxngWg+PVpDlHTQl7SnXl2/SaSI48lgeu/w66fSwZLAC1yZjsP8W8/jJlaxZ6ejjxr9OIXBUIPWJWzUemnN3X7ukjPlg+5c1JkFVZMv2V48mV6QeS/hg1XuL9463VNJ7LWmRe6eIRAWh2O1UVMaJ95adGhhZShR+4bq/JXN3uc6+nVtWKJE3OtXUQf97U5f1F6wm/dI1jbA/u/Afe2ig+AA=="
  },
  {
    "articleStyle": 0,
    "customOrder": 16,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "源仓库,R18",
    "sourceIcon": "https://img.fy6b.com/2024/06/13/7ca5da52f9cc0.jpg",
    "sourceName": "开源书源资源库",
    "sourceUrl": "http://sj.ysupan.com/ttrj#/"
  },
  {
    "articleStyle": 1,
    "customOrder": 17,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.submenu",
    "ruleContent": "",
    "ruleDescription": "",
    "ruleImage": "class.CAI_img@tag.img@src",
    "ruleLink": "tag.a.0@href",
    "ruleNextPage": "class.newsPag@tag.a.-1@href",
    "rulePubDate": "class.p_bz_rq@text##.+日期：",
    "ruleTitle": "class.csc@text",
    "singleUrl": false,
    "sortUrl": "美文选粹::http://www.jiaoshi100.com/index.php?m=content&c=index&a=lists&catid=133&z=\n时文选粹::http://www.jiaoshi100.com/index.php?m=content&c=index&a=lists&catid=120&z=\n作文365::http://www.jiaoshi100.com/index.php?m=content&c=index&a=lists&catid=121&z=\n作文头条::http://www.jiaoshi100.com/index.php?m=content&c=index&a=lists&catid=119&z=\n读写计划::http://www.jiaoshi100.com/index.php?m=content&c=index&a=lists&catid=132&z=\n师说::http://www.jiaoshi100.com/index.php?m=content&c=index&a=lists&catid=122&z=",
    "sourceGroup": "📖 阅读,R18",
    "sourceIcon": "https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=1971586952,3598078305&fm=26&gp=0.jpg",
    "sourceName": "作文指北",
    "sourceUrl": "http://www.jiaoshi100.com"
  },
  {
    "articleStyle": 0,
    "concurrentRate": "",
    "customOrder": 17,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "{\"User-Agent\": \"\"}",
    "injectJs": "",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "data",
    "ruleContent": "<!doctype html><html><head lang=\"zh\"><meta charset=\"UTF-8\"><meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=no\"><title>隐订阅</title></head><body><div class=\"markdown-body\"><b style=\"font-weight: 700; font-size: 20px; \">{{$..title}}</b><a style=\"display: block; font-size: 13.5px; font-family: serif; color: #999; margin: 10px 0; \">{{$..source}}&nbsp;&nbsp;&nbsp;{{$..date##(.*?)T(.*?).{4}Z##$1 $2###}}</a>\n{{$..content}}\n<a href=\"{{$..url}}\" style=\"display: block;font-size:13.5px;font-family: serif;margin: 10px 0;\">阅读原文</a></div></body></html>\n",
    "ruleImage": "img\n@js:\nr = result;\nr != \"\" ? r: source.sourceIcon;",
    "ruleLink": "/detail?id={$.id}",
    "ruleNextPage": "{{baseUrl}}##&id=\\d*##&id={{$.data[-1].id}}",
    "rulePubDate": "{{$.source}}   {{$.date##(.*?)T(.*?).{4}Z##$1 $2###}}",
    "ruleTitle": "title\n<js>result;</js>\n@@text",
    "singleUrl": false,
    "sortUrl": "@js:\nu = source.key;\nsort = \"\";\nlist = JSON.parse(java.ajax(u+'/source')).data;\nfor (i = 0; i < list.length; i++) {\n  sort += list[i].name + \"::/feed?limit=25&id=&media=\" + list[i].id + \"&keyword=\\n\"\n};\n`变量搜索::/feed?limit=25&id=&media=&keyword={{source.getVariable()}}\n// ↓在此添加↓\n\n\n\n// ↑在此添加↑\n`+sort;",
    "sourceComment": "↓在分类URL↓添加可订阅关键词\n\n关键词::/feed?limit=25&id=&media=&keyword=关键词",
    "sourceGroup": "源仓库,R18",
    "sourceIcon": "https://app.yinrss.com/Ninja108.png",
    "sourceName": "隐订阅",
    "sourceUrl": "https://api.yinrss.com",
    "style": "* {text-underline-offset: .2em;}body {padding: 0 10px;}img {height: auto;}iframe, audio, video {margin: 10px 0;width: 100%;}audio {height: 60px;}button{display: none;}@media (prefers-color-scheme: dark) {.markdown-body, [data-theme=\"dark\"] {color-scheme: dark;--color-prettylights-syntax-comment: #8b949e;--color-prettylights-syntax-constant: #79c0ff;--color-prettylights-syntax-entity: #d2a8ff;--color-prettylights-syntax-storage-modifier-import: #c9d1d9;--color-prettylights-syntax-entity-tag: #7ee787;--color-prettylights-syntax-keyword: #ff7b72;--color-prettylights-syntax-string: #a5d6ff;--color-prettylights-syntax-variable: #ffa657;--color-prettylights-syntax-brackethighlighter-unmatched: #f85149;--color-prettylights-syntax-invalid-illegal-text: #f0f6fc;--color-prettylights-syntax-invalid-illegal-bg: #8e1519;--color-prettylights-syntax-carriage-return-text: #f0f6fc;--color-prettylights-syntax-carriage-return-bg: #b62324;--color-prettylights-syntax-string-regexp: #7ee787;--color-prettylights-syntax-markup-list: #f2cc60;--color-prettylights-syntax-markup-heading: #1f6feb;--color-prettylights-syntax-markup-italic: #c9d1d9;--color-prettylights-syntax-markup-bold: #c9d1d9;--color-prettylights-syntax-markup-deleted-text: #ffdcd7;--color-prettylights-syntax-markup-deleted-bg: #67060c;--color-prettylights-syntax-markup-inserted-text: #aff5b4;--color-prettylights-syntax-markup-inserted-bg: #033a16;--color-prettylights-syntax-markup-changed-text: #ffdfb6;--color-prettylights-syntax-markup-changed-bg: #5a1e02;--color-prettylights-syntax-markup-ignored-text: #c9d1d9;--color-prettylights-syntax-markup-ignored-bg: #1158c7;--color-prettylights-syntax-meta-diff-range: #d2a8ff;--color-prettylights-syntax-brackethighlighter-angle: #8b949e;--color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;--color-prettylights-syntax-constant-other-reference-link: #a5d6ff;--color-fg-default: #e6edf3;--color-fg-muted: #848d97;--color-fg-subtle: #6e7681;--color-canvas-default: #0d1117;--color-canvas-subtle: #161b22;--color-border-default: #30363d;--color-border-muted: #21262d;--color-neutral-muted: rgba(110,118,129,0.4);--color-accent-fg: #2f81f7;--color-accent-emphasis: #1f6feb;--color-success-fg: #3fb950;--color-success-emphasis: #238636;--color-attention-fg: #d29922;--color-attention-emphasis: #9e6a03;--color-attention-subtle: rgba(187,128,9,0.15);--color-danger-fg: #f85149;--color-danger-emphasis: #da3633;--color-done-fg: #a371f7;--color-done-emphasis: #8957e5;}}@media (prefers-color-scheme: light) {.markdown-body, [data-theme=\"light\"] {color-scheme: light;--color-prettylights-syntax-comment: #57606a;--color-prettylights-syntax-constant: #0550ae;--color-prettylights-syntax-entity: #6639ba;--color-prettylights-syntax-storage-modifier-import: #24292f;--color-prettylights-syntax-entity-tag: #116329;--color-prettylights-syntax-keyword: #cf222e;--color-prettylights-syntax-string: #0a3069;--color-prettylights-syntax-variable: #953800;--color-prettylights-syntax-brackethighlighter-unmatched: #82071e;--color-prettylights-syntax-invalid-illegal-text: #f6f8fa;--color-prettylights-syntax-invalid-illegal-bg: #82071e;--color-prettylights-syntax-carriage-return-text: #f6f8fa;--color-prettylights-syntax-carriage-return-bg: #cf222e;--color-prettylights-syntax-string-regexp: #116329;--color-prettylights-syntax-markup-list: #3b2300;--color-prettylights-syntax-markup-heading: #0550ae;--color-prettylights-syntax-markup-italic: #24292f;--color-prettylights-syntax-markup-bold: #24292f;--color-prettylights-syntax-markup-deleted-text: #82071e;--color-prettylights-syntax-markup-deleted-bg: #ffebe9;--color-prettylights-syntax-markup-inserted-text: #116329;--color-prettylights-syntax-markup-inserted-bg: #dafbe1;--color-prettylights-syntax-markup-changed-text: #953800;--color-prettylights-syntax-markup-changed-bg: #ffd8b5;--color-prettylights-syntax-markup-ignored-text: #eaeef2;--color-prettylights-syntax-markup-ignored-bg: #0550ae;--color-prettylights-syntax-meta-diff-range: #8250df;--color-prettylights-syntax-brackethighlighter-angle: #57606a;--color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;--color-prettylights-syntax-constant-other-reference-link: #0a3069;--color-fg-default: #1F2328;--color-fg-muted: #656d76;--color-fg-subtle: #6e7781;--color-canvas-default: #ffffff;--color-canvas-subtle: #f6f8fa;--color-border-default: #d0d7de;--color-border-muted: hsla(210,18%,87%,1);--color-neutral-muted: rgba(175,184,193,0.2);--color-accent-fg: #0969da;--color-accent-emphasis: #0969da;--color-success-fg: #1a7f37;--color-success-emphasis: #1f883d;--color-attention-fg: #9a6700;--color-attention-emphasis: #9a6700;--color-attention-subtle: #fff8c5;--color-danger-fg: #d1242f;--color-danger-emphasis: #cf222e;--color-done-fg: #8250df;--color-done-emphasis: #8250df;}}.markdown-body {-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;margin: 0;color: var(--color-fg-default);background-color: var(--color-canvas-default);font-family: -apple-system,BlinkMacSystemFont,\"Segoe UI\",\"Noto Sans\",Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\";font-size: 16px;line-height: 1.5;word-wrap: break-word;}.markdown-body .octicon {display: inline-block;fill: currentColor;vertical-align: text-bottom;}.markdown-body h1:hover .anchor .octicon-link:before, .markdown-body h2:hover .anchor .octicon-link:before, .markdown-body h3:hover .anchor .octicon-link:before, .markdown-body h4:hover .anchor .octicon-link:before, .markdown-body h5:hover .anchor .octicon-link:before, .markdown-body h6:hover .anchor .octicon-link:before {width: 16px;height: 16px;content: ' ';display: inline-block;background-color: currentColor;-webkit-mask-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>\");mask-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>\");}.markdown-body details, .markdown-body figcaption, .markdown-body figure {display: block;}.markdown-body summary {display: list-item;}.markdown-body [hidden] {display: none !important;}.markdown-body a {background-color: transparent;color: var(--color-accent-fg);text-decoration: none;}.markdown-body abbr[title] {border-bottom: none;-webkit-text-decoration: underline dotted;text-decoration: underline dotted;}.markdown-body b, .markdown-body strong {font-weight: var(--base-text-weight-semibold, 600);}.markdown-body dfn {font-style: italic;}.markdown-body h1 {margin: .67em 0;font-weight: var(--base-text-weight-semibold, 600);padding-bottom: .3em;font-size: 2em;border-bottom: 1px solid var(--color-border-muted);}.markdown-body mark {background-color: var(--color-attention-subtle);color: var(--color-fg-default);}.markdown-body small {font-size: 90%;}.markdown-body sub, .markdown-body sup {font-size: 75%;line-height: 0;position: relative;vertical-align: baseline;}.markdown-body sub {bottom: -0.25em;}.markdown-body sup {top: -0.5em;}.markdown-body img {border-style: none;max-width: 100%;box-sizing: content-box;background-color: var(--color-canvas-default);}.markdown-body code, .markdown-body kbd, .markdown-body pre, .markdown-body samp {font-family: monospace;font-size: 1em;}.markdown-body figure {margin: 1em 40px;}.markdown-body hr {box-sizing: content-box;overflow: hidden;background: transparent;border-bottom: 1px solid var(--color-border-muted);height: .25em;padding: 0;margin: 24px 0;background-color: var(--color-border-default);border: 0;}.markdown-body input {font: inherit;margin: 0;overflow: visible;font-family: inherit;font-size: inherit;line-height: inherit;}.markdown-body [type=button], .markdown-body [type=reset], .markdown-body [type=submit] {-webkit-appearance: button;appearance: button;}.markdown-body [type=checkbox], .markdown-body [type=radio] {box-sizing: border-box;padding: 0;}.markdown-body [type=number]::-webkit-inner-spin-button, .markdown-body [type=number]::-webkit-outer-spin-button {height: auto;}.markdown-body [type=search]::-webkit-search-cancel-button, .markdown-body [type=search]::-webkit-search-decoration {-webkit-appearance: none;appearance: none;}.markdown-body ::-webkit-input-placeholder {color: inherit;opacity: .54;}.markdown-body ::-webkit-file-upload-button {-webkit-appearance: button;appearance: button;font: inherit;}.markdown-body a:hover {text-decoration: underline;}.markdown-body ::placeholder {color: var(--color-fg-subtle);opacity: 1;}.markdown-body hr::before {display: table;content: \"\";}.markdown-body hr::after {display: table;clear: both;content: \"\";}.markdown-body table {border-spacing: 0;border-collapse: collapse;display: block;width: max-content;max-width: 100%;overflow: auto;}.markdown-body td, .markdown-body th {padding: 0;}.markdown-body details summary {cursor: pointer;}.markdown-body details:not([open])>*:not(summary) {display: none !important;}.markdown-body a:focus, .markdown-body [role=button]:focus, .markdown-body input[type=radio]:focus, .markdown-body input[type=checkbox]:focus {outline: 2px solid var(--color-accent-fg);outline-offset: -2px;box-shadow: none;}.markdown-body a:focus:not(:focus-visible), .markdown-body [role=button]:focus:not(:focus-visible), .markdown-body input[type=radio]:focus:not(:focus-visible), .markdown-body input[type=checkbox]:focus:not(:focus-visible) {outline: solid 1px transparent;}.markdown-body a:focus-visible, .markdown-body [role=button]:focus-visible, .markdown-body input[type=radio]:focus-visible, .markdown-body input[type=checkbox]:focus-visible {outline: 2px solid var(--color-accent-fg);outline-offset: -2px;box-shadow: none;}.markdown-body a:not([class]):focus, .markdown-body a:not([class]):focus-visible, .markdown-body input[type=radio]:focus, .markdown-body input[type=radio]:focus-visible, .markdown-body input[type=checkbox]:focus, .markdown-body input[type=checkbox]:focus-visible {outline-offset: 0;}.markdown-body kbd {display: inline-block;padding: 3px 5px;font: 11px ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;line-height: 10px;color: var(--color-fg-default);vertical-align: middle;background-color: var(--color-canvas-subtle);border: solid 1px var(--color-neutral-muted);border-bottom-color: var(--color-neutral-muted);border-radius: 6px;box-shadow: inset 0 -1px 0 var(--color-neutral-muted);}.markdown-body h1, .markdown-body h2, .markdown-body h3, .markdown-body h4, .markdown-body h5, .markdown-body h6 {margin-top: 24px;margin-bottom: 16px;font-weight: var(--base-text-weight-semibold, 600);line-height: 1.25;}.markdown-body h2 {font-weight: var(--base-text-weight-semibold, 600);padding-bottom: .3em;font-size: 1.5em;border-bottom: 1px solid var(--color-border-muted);}.markdown-body h3 {font-weight: var(--base-text-weight-semibold, 600);font-size: 1.25em;}.markdown-body h4 {font-weight: var(--base-text-weight-semibold, 600);font-size: 1em;}.markdown-body h5 {font-weight: var(--base-text-weight-semibold, 600);font-size: .875em;}.markdown-body h6 {font-weight: var(--base-text-weight-semibold, 600);font-size: .85em;color: var(--color-fg-muted);}.markdown-body p {margin-top: 0;margin-bottom: 10px;}.markdown-body blockquote {margin: 0;padding: 0 1em;color: var(--color-fg-muted);border-left: .25em solid var(--color-border-default);}.markdown-body ul, .markdown-body ol {margin-top: 0;margin-bottom: 0;padding-left: 2em;}.markdown-body ol ol, .markdown-body ul ol {list-style-type: lower-roman;}.markdown-body ul ul ol, .markdown-body ul ol ol, .markdown-body ol ul ol, .markdown-body ol ol ol {list-style-type: lower-alpha;}.markdown-body dd {margin-left: 0;}.markdown-body tt, .markdown-body code, .markdown-body samp {font-family: ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size: 12px;}.markdown-body pre {margin-top: 0;margin-bottom: 0;font-family: ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size: 12px;word-wrap: normal;}.markdown-body .octicon {display: inline-block;overflow: visible !important;vertical-align: text-bottom;fill: currentColor;}.markdown-body input::-webkit-outer-spin-button, .markdown-body input::-webkit-inner-spin-button {margin: 0;-webkit-appearance: none;appearance: none;}.markdown-body .mr-2 {margin-right: var(--base-size-8, 8px) !important;}.markdown-body::before {display: table;content: \"\";}.markdown-body::after {display: table;clear: both;content: \"\";}.markdown-body>*:first-child {margin-top: 0 !important;}.markdown-body>*:last-child {margin-bottom: 0 !important;}.markdown-body a:not([href]) {color: inherit;text-decoration: none;}.markdown-body .absent {color: var(--color-danger-fg);}.markdown-body .anchor {float: left;padding-right: 4px;margin-left: -20px;line-height: 1;}.markdown-body .anchor:focus {outline: none;}.markdown-body p, .markdown-body blockquote, .markdown-body ul, .markdown-body ol, .markdown-body dl, .markdown-body table, .markdown-body pre, .markdown-body details {margin-top: 0;margin-bottom: 16px;}.markdown-body blockquote>:first-child {margin-top: 0;}.markdown-body blockquote>:last-child {margin-bottom: 0;}.markdown-body h1 .octicon-link, .markdown-body h2 .octicon-link, .markdown-body h3 .octicon-link, .markdown-body h4 .octicon-link, .markdown-body h5 .octicon-link, .markdown-body h6 .octicon-link {color: var(--color-fg-default);vertical-align: middle;visibility: hidden;}.markdown-body h1:hover .anchor, .markdown-body h2:hover .anchor, .markdown-body h3:hover .anchor, .markdown-body h4:hover .anchor, .markdown-body h5:hover .anchor, .markdown-body h6:hover .anchor {text-decoration: none;}.markdown-body h1:hover .anchor .octicon-link, .markdown-body h2:hover .anchor .octicon-link, .markdown-body h3:hover .anchor .octicon-link, .markdown-body h4:hover .anchor .octicon-link, .markdown-body h5:hover .anchor .octicon-link, .markdown-body h6:hover .anchor .octicon-link {visibility: visible;}.markdown-body h1 tt, .markdown-body h1 code, .markdown-body h2 tt, .markdown-body h2 code, .markdown-body h3 tt, .markdown-body h3 code, .markdown-body h4 tt, .markdown-body h4 code, .markdown-body h5 tt, .markdown-body h5 code, .markdown-body h6 tt, .markdown-body h6 code {padding: 0 .2em;font-size: inherit;}.markdown-body summary h1, .markdown-body summary h2, .markdown-body summary h3, .markdown-body summary h4, .markdown-body summary h5, .markdown-body summary h6 {display: inline-block;}.markdown-body summary h1 .anchor, .markdown-body summary h2 .anchor, .markdown-body summary h3 .anchor, .markdown-body summary h4 .anchor, .markdown-body summary h5 .anchor, .markdown-body summary h6 .anchor {margin-left: -40px;}.markdown-body summary h1, .markdown-body summary h2 {padding-bottom: 0;border-bottom: 0;}.markdown-body ul.no-list, .markdown-body ol.no-list {padding: 0;list-style-type: none;}.markdown-body ol[type=\"a s\"] {list-style-type: lower-alpha;}.markdown-body ol[type=\"A s\"] {list-style-type: upper-alpha;}.markdown-body ol[type=\"i s\"] {list-style-type: lower-roman;}.markdown-body ol[type=\"I s\"] {list-style-type: upper-roman;}.markdown-body ol[type=\"1\"] {list-style-type: decimal;}.markdown-body div>ol:not([type]) {list-style-type: decimal;}.markdown-body ul ul, .markdown-body ul ol, .markdown-body ol ol, .markdown-body ol ul {margin-top: 0;margin-bottom: 0;}.markdown-body li>p {margin-top: 16px;}.markdown-body li+li {margin-top: .25em;}.markdown-body dl {padding: 0;}.markdown-body dl dt {padding: 0;margin-top: 16px;font-size: 1em;font-style: italic;font-weight: var(--base-text-weight-semibold, 600);}.markdown-body dl dd {padding: 0 16px;margin-bottom: 16px;}.markdown-body table th {font-weight: var(--base-text-weight-semibold, 600);}.markdown-body table th, .markdown-body table td {padding: 6px 13px;border: 1px solid var(--color-border-default);}.markdown-body table td>:last-child {margin-bottom: 0;}.markdown-body table tr {background-color: var(--color-canvas-default);border-top: 1px solid var(--color-border-muted);}.markdown-body table tr:nth-child(2n) {background-color: var(--color-canvas-subtle);}.markdown-body table img {background-color: transparent;}.markdown-body img[align=right] {padding-left: 20px;}.markdown-body img[align=left] {padding-right: 20px;}.markdown-body .emoji {max-width: none;vertical-align: text-top;background-color: transparent;}.markdown-body span.frame {display: block;overflow: hidden;}.markdown-body span.frame>span {display: block;float: left;width: auto;padding: 7px;margin: 13px 0 0;overflow: hidden;border: 1px solid var(--color-border-default);}.markdown-body span.frame span img {display: block;float: left;}.markdown-body span.frame span span {display: block;padding: 5px 0 0;clear: both;color: var(--color-fg-default);}.markdown-body span.align-center {display: block;overflow: hidden;clear: both;}.markdown-body span.align-center>span {display: block;margin: 13px auto 0;overflow: hidden;text-align: center;}.markdown-body span.align-center span img {margin: 0 auto;text-align: center;}.markdown-body span.align-right {display: block;overflow: hidden;clear: both;}.markdown-body span.align-right>span {display: block;margin: 13px 0 0;overflow: hidden;text-align: right;}.markdown-body span.align-right span img {margin: 0;text-align: right;}.markdown-body span.float-left {display: block;float: left;margin-right: 13px;overflow: hidden;}.markdown-body span.float-left span {margin: 13px 0 0;}.markdown-body span.float-right {display: block;float: right;margin-left: 13px;overflow: hidden;}.markdown-body span.float-right>span {display: block;margin: 13px auto 0;overflow: hidden;text-align: right;}.markdown-body code, .markdown-body tt {padding: .2em .4em;margin: 0;font-size: 85%;white-space: break-spaces;background-color: var(--color-neutral-muted);border-radius: 6px;}.markdown-body code br, .markdown-body tt br {display: none;}.markdown-body del code {text-decoration: inherit;}.markdown-body samp {font-size: 85%;}.markdown-body pre code {font-size: 100%;}.markdown-body pre>code {padding: 0;margin: 0;word-break: normal;white-space: pre;background: transparent;border: 0;}.markdown-body .highlight {margin-bottom: 16px;}.markdown-body .highlight pre {margin-bottom: 0;word-break: normal;}.markdown-body .highlight pre, .markdown-body pre {padding: 16px;overflow: auto;font-size: 85%;line-height: 1.45;color: var(--color-fg-default);background-color: var(--color-canvas-subtle);border-radius: 6px;}.markdown-body pre code, .markdown-body pre tt {display: inline;max-width: auto;padding: 0;margin: 0;overflow: visible;line-height: inherit;word-wrap: normal;background-color: transparent;border: 0;}.markdown-body .csv-data td, .markdown-body .csv-data th {padding: 5px;overflow: hidden;font-size: 12px;line-height: 1;text-align: left;white-space: nowrap;}.markdown-body .csv-data .blob-num {padding: 10px 8px 9px;text-align: right;background: var(--color-canvas-default);border: 0;}.markdown-body .csv-data tr {border-top: 0;}.markdown-body .csv-data th {font-weight: var(--base-text-weight-semibold, 600);background: var(--color-canvas-subtle);border-top: 0;}.markdown-body [data-footnote-ref]::before {content: \"[\";}.markdown-body [data-footnote-ref]::after {content: \"]\";}.markdown-body .footnotes {font-size: 12px;color: var(--color-fg-muted);border-top: 1px solid var(--color-border-default);}.markdown-body .footnotes ol {padding-left: 16px;}.markdown-body .footnotes ol ul {display: inline-block;padding-left: 16px;margin-top: 16px;}.markdown-body .footnotes li {position: relative;}.markdown-body .footnotes li:target::before {position: absolute;top: -8px;right: -8px;bottom: -8px;left: -24px;pointer-events: none;content: \"\";border: 2px solid var(--color-accent-emphasis);border-radius: 6px;}.markdown-body .footnotes li:target {color: var(--color-fg-default);}.markdown-body .footnotes .data-footnote-backref g-emoji {font-family: monospace;}.markdown-body .pl-c {color: var(--color-prettylights-syntax-comment);}.markdown-body .pl-c1, .markdown-body .pl-s .pl-v {color: var(--color-prettylights-syntax-constant);}.markdown-body .pl-e, .markdown-body .pl-en {color: var(--color-prettylights-syntax-entity);}.markdown-body .pl-smi, .markdown-body .pl-s .pl-s1 {color: var(--color-prettylights-syntax-storage-modifier-import);}.markdown-body .pl-ent {color: var(--color-prettylights-syntax-entity-tag);}.markdown-body .pl-k {color: var(--color-prettylights-syntax-keyword);}.markdown-body .pl-s, .markdown-body .pl-pds, .markdown-body .pl-s .pl-pse .pl-s1, .markdown-body .pl-sr, .markdown-body .pl-sr .pl-cce, .markdown-body .pl-sr .pl-sre, .markdown-body .pl-sr .pl-sra {color: var(--color-prettylights-syntax-string);}.markdown-body .pl-v, .markdown-body .pl-smw {color: var(--color-prettylights-syntax-variable);}.markdown-body .pl-bu {color: var(--color-prettylights-syntax-brackethighlighter-unmatched);}.markdown-body .pl-ii {color: var(--color-prettylights-syntax-invalid-illegal-text);background-color: var(--color-prettylights-syntax-invalid-illegal-bg);}.markdown-body .pl-c2 {color: var(--color-prettylights-syntax-carriage-return-text);background-color: var(--color-prettylights-syntax-carriage-return-bg);}.markdown-body .pl-sr .pl-cce {font-weight: bold;color: var(--color-prettylights-syntax-string-regexp);}.markdown-body .pl-ml {color: var(--color-prettylights-syntax-markup-list);}.markdown-body .pl-mh, .markdown-body .pl-mh .pl-en, .markdown-body .pl-ms {font-weight: bold;color: var(--color-prettylights-syntax-markup-heading);}.markdown-body .pl-mi {font-style: italic;color: var(--color-prettylights-syntax-markup-italic);}.markdown-body .pl-mb {font-weight: bold;color: var(--color-prettylights-syntax-markup-bold);}.markdown-body .pl-md {color: var(--color-prettylights-syntax-markup-deleted-text);background-color: var(--color-prettylights-syntax-markup-deleted-bg);}.markdown-body .pl-mi1 {color: var(--color-prettylights-syntax-markup-inserted-text);background-color: var(--color-prettylights-syntax-markup-inserted-bg);}.markdown-body .pl-mc {color: var(--color-prettylights-syntax-markup-changed-text);background-color: var(--color-prettylights-syntax-markup-changed-bg);}.markdown-body .pl-mi2 {color: var(--color-prettylights-syntax-markup-ignored-text);background-color: var(--color-prettylights-syntax-markup-ignored-bg);}.markdown-body .pl-mdr {font-weight: bold;color: var(--color-prettylights-syntax-meta-diff-range);}.markdown-body .pl-ba {color: var(--color-prettylights-syntax-brackethighlighter-angle);}.markdown-body .pl-sg {color: var(--color-prettylights-syntax-sublimelinter-gutter-mark);}.markdown-body .pl-corl {text-decoration: underline;color: var(--color-prettylights-syntax-constant-other-reference-link);}.markdown-body g-emoji {display: inline-block;min-width: 1ch;font-family: \"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\";font-size: 1em;font-style: normal !important;font-weight: var(--base-text-weight-normal, 400);line-height: 1;vertical-align: -0.075em;}.markdown-body g-emoji img {width: 1em;height: 1em;}.markdown-body .task-list-item {list-style-type: none;}.markdown-body .task-list-item label {font-weight: var(--base-text-weight-normal, 400);}.markdown-body .task-list-item.enabled label {cursor: pointer;}.markdown-body .task-list-item+.task-list-item {margin-top: 4px;}.markdown-body .task-list-item .handle {display: none;}.markdown-body .task-list-item-checkbox {margin: 0 .2em .25em -1.4em;vertical-align: middle;}.markdown-body .contains-task-list:dir(rtl) .task-list-item-checkbox {margin: 0 -1.6em .25em .2em;}.markdown-body .contains-task-list {position: relative;}.markdown-body .contains-task-list:hover .task-list-item-convert-container, .markdown-body .contains-task-list:focus-within .task-list-item-convert-container {display: block;width: auto;height: 24px;overflow: visible;clip: auto;}.markdown-body ::-webkit-calendar-picker-indicator {filter: invert(50%);}.markdown-body .markdown-alert {padding: var(--base-size-8) var(--base-size-16);margin-bottom: 16px;color: inherit;border-left: .25em solid var(--color-border-default);}.markdown-body .markdown-alert>:first-child {margin-top: 0;}.markdown-body .markdown-alert>:last-child {margin-bottom: 0;}.markdown-body .markdown-alert .markdown-alert-title {display: flex;font-weight: var(--base-text-weight-medium, 500);align-items: center;line-height: 1;}.markdown-body .markdown-alert.markdown-alert-note {border-left-color: var(--color-accent-emphasis);}.markdown-body .markdown-alert.markdown-alert-note .markdown-alert-title {color: var(--color-accent-fg);}.markdown-body .markdown-alert.markdown-alert-important {border-left-color: var(--color-done-emphasis);}.markdown-body .markdown-alert.markdown-alert-important .markdown-alert-title {color: var(--color-done-fg);}.markdown-body .markdown-alert.markdown-alert-warning {border-left-color: var(--color-attention-emphasis);}.markdown-body .markdown-alert.markdown-alert-warning .markdown-alert-title {color: var(--color-attention-fg);}.markdown-body .markdown-alert.markdown-alert-tip {border-left-color: var(--color-success-emphasis);}.markdown-body .markdown-alert.markdown-alert-tip .markdown-alert-title {color: var(--color-success-fg);}.markdown-body .markdown-alert.markdown-alert-caution {border-left-color: var(--color-danger-emphasis);}.markdown-body .markdown-alert.markdown-alert-caution .markdown-alert-title {color: var(--color-danger-fg);}"
  },
  {
    "articleStyle": 1,
    "concurrentRate": "20/10000",
    "contentBlacklist": "",
    "customOrder": 18,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "<js>\nheaders={\n    \"User-Agent\": \"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Mobile Safari/537.36 EdgA/127.0.0.0\",\n    \"Origin\": Get('url'),\n    \"Referer\": Get('url'),\n    \"Cookie\": cache.get(Get('url') + 'ck') || ''\n}\ncache.put(\"Missavheaders\", JSON.stringify(headers));\nJSON.stringify(headers);\n</js>",
    "injectJs": "",
    "jsLib": "{\"MISSAV\":\"https://qyyuapi.com/dy/js/MISSAV/jsLib.js\"}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginCheckJs": "var res = result;\nurl = java.ruleUrl;\nif(res.body().includes('cf_chl')){\n    cookie.removeCookie(Get('url'));\n    result = java.startBrowserAwait(url,\"验证\");\n    ck = cookie.getCookie(Get('url'));\n    cache.put(Get('url') + 'ck',ck);\n}\nresult;",
    "loginUi": "[\n  { name: \"查看当前\", type: \"button\", action: \"look(0)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"查看历史\", type: \"button\", action: \"look(1)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"恢复默认\", type: \"button\", action: \"test(0)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n\n  { name: \"搜索：\", type: \"text\" },\n  { name: \"༺ˇ»`ʚ  点击切换源站  ɞ´«ˇ༻\", type: \"button\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"①MISSAV①\", type: \"button\", action: \"$(1)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"②MISSAV②\", type: \"button\", action: \"$(2)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"③MISSAV③\", type: \"button\", action: \"$(3)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"④MISSAV④\", type: \"button\", action: \"$(4)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"⑤MISSAV⑤\", type: \"button\", action: \"$(5)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"⑥MISSAV⑥\", type: \"button\", action: \"$(6)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"⑦MISSAV⑦\", type: \"button\", action: \"$(7)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"⑧MISSAV⑧\", type: \"button\", action: \"$(8)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"⑨MISSAV⑨\", type: \"button\", action: \"$(9)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"⑩MISSAV⑩\", type: \"button\", action: \"$(10)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"⑪MISSAV⑪\", type: \"button\", action: \"$(11)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"⑫MISSAV⑫\", type: \"button\", action: \"$(12)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n\n  { name: \"༺ˇ»`ʚ  点击切换分类  ɞ´«ˇ༻\", type: \"button\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"类型标签\", type: \"button\", action: \"o(0)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.45} },\n  { name: \"女优一览\", type: \"button\", action: \"o(1)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.45} },\n\n  { name: \"༺ˇ»`ʚ  影片浏览排序  ɞ´«ˇ༻\", type: \"button\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"今日\", type: \"button\", action: \"q(0)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.2} },\n  { name: \"本周\", type: \"button\", action: \"q(1)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.2} },\n  { name: \"本月\", type: \"button\", action: \"q(2)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.2} },\n  { name: \"全部\", type: \"button\", action: \"q(3)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.2} },\n\n  { name: \"༺ˇ»`ʚ  影片其他排序  ɞ´«ˇ༻\", type: \"button\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"发行日期\", type: \"button\", action: \"q(4)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"最近更新\", type: \"button\", action: \"q(5)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"收藏数量\", type: \"button\", action: \"q(6)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n\n  { name: \"༺ˇ»`ʚ  分类影片过滤  ɞ´«ˇ༻\", type: \"button\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"所有\", type: \"button\", action: \"r(0)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.2} },\n  { name: \"单人\", type: \"button\", action: \"r(1)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.2} },\n  { name: \"多人\", type: \"button\", action: \"r(2)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.2} },\n  { name: \"中文\", type: \"button\", action: \"r(3)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.2} },\n\n  { name: \"༺ˇ»`ʚ  搜索影片过滤  ɞ´«ˇ༻\", type: \"button\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"所有影片\", type: \"button\", action: \"s(0)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"单人作品\", type: \"button\", action: \"s(1)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"日本AV\", type: \"button\", action: \"s(2)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"无码流出\", type: \"button\", action: \"s(3)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"无码影片\", type: \"button\", action: \"s(4)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"中文字幕\", type: \"button\", action: \"s(5)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n\n  { name: \"༺ˇ»`ʚ  分类女优排序  ɞ´«ˇ༻\", type: \"button\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"影片数量\", type: \"button\", action: \"p(0)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.45} },\n  { name: \"出道时间\", type: \"button\", action: \"p(1)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.45} },\n\n  { name: \"༺ˇ»`ʚ  女优加载过滤  ɞ´«ˇ༻\", type: \"button\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"身高\", type: \"button\", action: \"login('【身高参数】' + n(2) + '[0]131-135 [1]136-140 [2]141-145 [3]146-150 [4]151-155 [5]156-160 [6]161-165 [7]166-170 [8]171-175 [9]176-180 [10]181-185 [11]186-190\\\\n\\\\n填写对应身高序号')\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.2} },\n  { name: \"年龄\", type: \"button\", action: \"login('【年龄参数】' + n(2) + '[0]0-20 [1]20-30 [2]30-40\\\\n[3]40-50 [4]50-60 [5]60-99\\\\n\\\\n填写对应年龄序号')\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.2} },\n  { name: \"罩杯\", type: \"button\", action: \"login('【罩杯参数】' + n(2) + '可选罩杯范围：A~Q\\\\n只能填写一个大写字母')\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.2} },\n  { name: \"出道\", type: \"button\", action: \"login('【出道年份】' + n(2) + '填写年份，如：2024\\\\n只能填写一个')\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.2} },\n  { name: \"身高：\", type: \"text\" },\n  { name: \"年龄：\", type: \"text\" },\n  { name: \"罩杯：\", type: \"text\" },\n  { name: \"出道：\", type: \"text\" },\n\n  { name: \"༺ˇ»`ʚ  女优加载页数  ɞ´«ˇ༻\", type: \"button\", action: \"login('【加载页数】' + n(2) + '填写数字或范围，如：15或10-20')\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"页数：\", type: \"text\" },\n\n  { name: \"༺ˇ»`ʚ  填写收藏词条  ɞ´«ˇ༻\", type: \"button\", action: \"login('【收藏词条】' + n(2) + '填写搜索关键词\\\\n多个关键词用英文逗号“,”隔开')\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"收藏：\", type: \"text\" },\n\n  { name: \"长按倍速：\", type: \"text\" },\n  { name: \"跳过片头：\", type: \"text\" },\n  { name: \"跳过片尾：\", type: \"text\" },\n\n  { name: \"༺ˇ»`ʚ  主题模式切换  ɞ´«ˇ༻\", type: \"button\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"日间模式\", type: \"button\", action: \"a(0)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.45} },\n  { name: \"夜间模式\", type: \"button\", action: \"a(1)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.45} },\n\n  {\n    name: \"清除网站Cookie缓存\",\n    type: \"button\",\n    action: \"deleteCookie()\",\n    style: {layout_flexGrow: 1, layout_flexBasisPercent: 1}\n  },\n\n  { name: \"清除远程代码标识\", type: \"button\", action: \"DeleteJskey()\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n\n  {\n    name: \"💡　　 源　　 站　　 打　　 印　　 💡\",\n    type: \"button\",\n    action: \"test()\",\n    style: {layout_flexGrow: 1, layout_flexBasisPercent: 1}\n  }\n]",
    "loginUrl": "eval(String(Reload('https://qyyuapi.com/dy/js/MISSAV/loginUrl.js')));",
    "ruleArticles": "<js>\neval(String(source.loginUrl));\neval(String(Reload('https://qyyuapi.com/dy/file/history.js')));\nresult;\n</js>\n.thumbnail.group",
    "ruleContent": "<js>\neval(String(Reload('https://qyyuapi.com/dy/js/MISSAV/ruleContent.js')));\n</js>\n<!DOCTYPE html>\n<html lang=\"zh-Hans\">\n<head>\n<title></title>\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no\">\n<link rel=\"stylesheet\" href=\"https://qyyuapi.com/css/plyr.css\">\n<style>\n{{String(Reload('https://qyyuapi.com/dy/file/player' + Get('a') + '.css'))}}\n</style>\n</head>\n<body>\n<p></p>\n<div class=\"video-container\">\n  <video id=\"player\" playsinline controls preload=\"auto\" poster=\"https://qyyuapi.com/img/noposter.png\">\n  </video>\n</div>\n<details>\n  <summary>\n    <h3></h3>\n  </summary>\n  <img>\n</details>\n<div class=\"all-info\">\n{{JSON.parse(result).jishu}}\n<div>\n    <p>📆 发行：{{@css:.text-secondary:contains(发行日期:)@text##发行日期:|}}</p>\n    <p></p>\n    <p>👩‍🎤 女优：{{@css:.text-secondary:contains(女优:)@text##女优:}}</p>\n    <p>👨‍🎤 男优：{{@css:.text-secondary:contains(男优:)@text##男优:}}</p>\n    <p>🎦 片商：{{@css:.text-secondary:contains(发行商:)@text##发行商:}}</p>\n    <p>🕵️‍♀️ 导演：{{@css:.text-secondary:contains(导演:)@text##导演:}}</p>\n    <p>🔖 标签：{{@css:.text-secondary:contains(标籤:)@text##标籤:}}</p>\n    <p>🏷 系列：{{@css:.text-secondary:contains(系列:)@text##系列:}}</p>\n    <p></p>\n    <p>✏️ 标题：{{@css:.text-secondary:contains(标题:)@text##标题:}}</p>\n    <p>📋 简介：{{@@[property=\"og:description\"]@content##.*免费加入会员.*}}</p>\n</div>\n</div>\n\n<script src=\"https://gcore.jsdelivr.net/npm/hls.js@canary\"></script>\n<script src=\"https://qyyuapi.com/js/plyr.js\"></script>\n\n<script>\n{{String(Reload('https://qyyuapi.com/dy/file/player.js'))}}\n\nconst JKkey = \"{{java.md5Encode16(baseUrl.replace(/.*\\}([^\\}\\`]+)\\`/,'$1'))}}\";\nconst JDkey = \"{{java.md5Encode16(baseUrl.replace(/.*\\}([^\\}\\`]+)\\`/,'$1') + 'time')}}\";\nconst PTtime = {{/^\\d+$/.test(Map('跳过片头：')) ? Map('跳过片头：') : 0}};\nconst PWtime = {{/^\\d+$/.test(Map('跳过片尾：')) ? Map('跳过片尾：') : 0}};\nconst BSspeed = {{Map('长按倍速：') || 2}};\n\n// 获取视频URL并更新视频源\nfunction geturl() {\n    let zyurl = JSON.parse($(\".jishu button.active\")[0].value);\n    let img = $('img')[0];\n    let bt = $(\".jishu button.active\")[0].dataset.bt;\n    let fh = $(\".jishu button.active\")[0].dataset.fh;\n    let lx = $(\".jishu button.active\")[0].dataset.lx;\n    let fm = $(\".jishu button.active\")[0].dataset.fm;\n\n    // 更新页面信息\n    $(\"title\")[0].innerText = bt;\n    $(\"details>summary>h3\")[0].innerText = bt;\n    $(\".all-info>div>p\")[3].innerText = fh;\n    $(\".all-info>div>p\")[10].innerText = lx;\n    $(\".all-info>div>p\")[3].style = /：\\s*$/.test(fh) ? \"display:none;\" : \"\";\n    $(\".all-info>div>p\")[10].style = /：\\s*$/.test(lx) ? \"display:none;\" : \"\";\n\n    // 更新详情封面\n    img.src = fm;\n\n    // 更新视频封面\n    $(\".video-container\")[0].style.background = `#000 url('${fm}') no-repeat center center / cover`;\n    let sources = zyurl;\n    return { sources: sources };\n}\n\n// 点击集数按钮时调用的函数\nfunction jishu(item) {\n    var video = $('video')[0];\n    var wasPlaying = video && !video.paused;\n    omit($('.jishu button.active'));\n    item.className = \"active\";\n    const { sources } = geturl();\n    setTimeout(updatePadding, 100);\n    var index2 = Array.from(item.parentNode.children).indexOf(item);\n    var Progress = {\n        index2: index2\n    };\n    localStorage.setItem(JKkey, JSON.stringify(Progress));\n    initializePlayer(sources, JDkey, PTtime, PWtime, BSspeed);\n    if (wasPlaying && video) {\n        const tryAutoPlay = () => {\n            if (video.readyState >= 3) {\n                video.play().catch(e => {\n                    console.log(\"自动播放被阻止:\", e);\n                    $('.plyr__control--overlaid').show();\n                });\n                video.removeEventListener('canplay', tryAutoPlay);\n            }\n        };\n        if (video.readyState >= 3) {\n            video.play().catch(e => console.log(\"立即播放失败:\", e));\n        } else {\n            video.addEventListener('canplay', tryAutoPlay);\n        }\n    }\n}\n\n// 页面加载时初始化播放器\n(() => {\n    let n = $(\".jishu\")[0].dataset.n;\n    active($('.jishu button'), n);\n    const { sources } = geturl();\n    setTimeout(updatePadding, 100);\n    localStorage.setItem('HistoryTAG', 1);\n    initializePlayer(sources, JDkey, PTtime, PWtime, BSspeed);\n})();\n</script>\n</body>\n</html>\n<js>\nresult\n.replace(/：\\s*/g,'：')\n.replace(/<p>(.+)：<\\/p>/gm, '<p style=\"display:none;\">$1：</p>');\n</js>",
    "ruleDescription": "",
    "ruleImage": "img@data-src",
    "ruleLink": "a.0@href##^.*\\/\\/[^\\/]+\n@js:`https://missav.live/@js:\\`\\{\\{Get('url')\\}\\}${result}\\``",
    "ruleNextPage": "page",
    "rulePubDate": "⌚️ {{@@.right-1@text}}    📦 {{@@.left-1@text}}\n@js:result.replace(/📦\\s*$/,'')",
    "ruleTitle": ".text-secondary@text",
    "shouldOverrideUrlLoading": "if (url.startsWith('legadovideo://')) {\n    java.openUrl(\n        decodeURIComponent(url.replace('legadovideo://', '')),\n        'video/*'\n    );\n    true;\n}",
    "singleUrl": false,
    "sortUrl": "<js>\neval(String(Reload('https://qyyuapi.com/dy/js/MISSAV/sortUrl.js')));\n</js>",
    "sourceComment": "修改：1、增加源站；by：xiaohan231-2025/07/24\n\n修改：1、增加点击顶部视频链接调用播放器应用播放；by：xiaohan231-2025/04/30\n\n修改：1、增加清除远程代码标识按钮；by：xiaohan231-2025/04/26\n\n修改：1、新增源变量与localStorage双向备份功能，确保清理缓存和清除WebView数据时，播放历史记录和设置信息不会丢失；by：xiaohan231-2025/04/22\n\n修改：1、播放状态点击切换集数，自动开始播放；by：xiaohan231-2025/04/21\n\n修改：1、播放器增加标记片头片尾功能；2、jsLib代码适配新版阅读；by：xiaohan231-2025/04/20\n\n修改：1、增加清除网站Cookie缓存按钮；2、优化详情信息高度调整；3、优化视频集数切换，结尾切换下一集时不再销毁重建播放器实例；4、增加切换下集自动播放功能；5、增加跳过片尾功能；by：xiaohan231-2025/04/17\n\n修改：1、优化播放器函数，不再直接粘贴参数，改为调用函数时引进；2、UA改为系统webView UA；by：xiaohan231-2025/04/15\n\n修改：1、优化手势控制，增加滑动进度；by：xiaohan231-2025/04/14\n\n修改：1、部分源代码改为远程获取；by：xiaohan231-2025/04/06\n\n修改：1、修复源站；by：xiaohan231-2025/01/16\n\n修改：1、优化播放器样式；2、增加跳过片头功能；3、增加缓存播放进度功能；by：xiaohan231-2025/01/11\n\n修改：1、增加夜间主题模式切换；by：xiaohan231-2025/01/09\n\n修改：1、搜索关键词改为在登录页填写；2、设置参数改为在源变量保存；3、优化分类链接；by：xiaohan231-2025/01/06\n\n修改：1、增加登录页按钮自适应宽度；by：xiaohan231-2024/12/29\n\n修改：1、优化播放器样式，固定播放器高度；2、修复搜索页面加载；by：xiaohan231-2024/12/07\n\n修改：1、登录页增加自定义长按播放倍速(默认2倍速)；2、优化播放页面样式；by：xiaohan231-2024/12/05\n\n修改：1、增加验证激活过期时间；by：xiaohan231-2024/10/20\n\n修改：1、优化人机验证检查；2、增加验证XH发布页订阅激活；by：xiaohan231-2024/10/18\n\n修改：1、优化页面样式；by：xiaohan231-2024/08/25\n\n修改：1、优化长按倍速播放功能；2、增加分辨率切换功能；by：xiaohan231-2024/08/24\n\n修改：1、优化播放器样式；2、选择播放倍速后，点击屏幕不再恢复成正常；3、添加长按2倍速播放功能，想要设置成其他的可以在内容规则根据注释修改；by：xiaohan231-2024/08/21\n\n修改：1、调用Plyr插件搭建网页播放器；2、设置播放器默认比例为16/9，以防止加载时播放器高度变动；3、优化播放器样式；by：xiaohan231-2024/08/20\n\n修改：1、修复部分视频无法播放的bug；2、增加收藏关键词；3、视频不再采用第三方解析，改为调用原生播放器；4、添加视频封面；by：xiaohan231-2024/08/18\n\nby：xiaohan231-2024/08/17",
    "sourceGroup": "🔭 其他,📽 视频,R18",
    "sourceIcon": "https://qyyuapi.com/img/MISSAV.png",
    "sourceName": "MISSAV",
    "sourceUrl": "MISSAV@js:`{{Get('url')}}/dm10/cn`",
    "style": "",
    "variableComment": "JspHXCgzmq549cSvxZRk3cM5EE7N5V32mKk5ZsGlzH7mB4iKPcwRvTVF+nSsYaYkyHFh6tU0uM6gAcU2LO/ZQnF45pl+sO+D+/WIYPhUQyHGEp6lyVJ7JKp9yWihRr9Al3sqXhKPltzub2PZi96Ke4YxqVZPjPSmL3O6xY025Sa7Vm1r1ZLIrgpD4Ksa99Q488bytyVS2P8fSjkQvADOECPkrKGclkhYWKWj0hAAvyDNKDxrCyqqqUjrKooVXTcQ3DDxjpsx5Wd29wdbu4YgaMwdlq7eM7Wgq20PNHRYMQv6mzqElmMn9R4S7YEaJiDpXXStroRJTJtLEB2i6pMCY4F02mndjqQW0PbM+tfwlL8BPYfaSJDdVkvSCRNfUL1rVOJY3HHHX1kAyOG/METDaU0ord6qUbQQMGQVmCgqResqjExJ6AI33IXMtAF1485MjO1nSz2Mi9jw/NoCjXBhnxv0A/3lmQZoYsdfz3LCCOOZKjZQKAZj20BFKz9CBUrmpIrzwdkA/+4vJYyZpjkvYKJAAPDIKbn/ptiK77BjLhWzc4xAW5+YsEiLS/Vl9iTyCrhnnDx4gT+dZ4gysUqfVbIb8BRFwb+B6EwyP7u8ZmtYQlzIFkk2UhZ23Kjqj82AwMsqdbKqw9FL36EVYcm2j/djgb/0W5Vs5VlKOG+hISERjLwLqzgRlOxnwG7YZZNLUE6FWafVPrlyzjhAvM62NXpWmL0GPDowm0iGtni5Tn0IJGyzWVZh5hnvTh/PwOlcJj+q5hVSaFxFK58GLc48+Fc006jvm6iDY5gNbK5xA+ZkRfniCNt49bJaAANoCEro3QFhJkn2ECoOmwN4aYdfdn3SloTv48koLVJu+0NT+AISrmVytYeRuVnqNW5GuwElvCL/i8TWro2qktUUurqvp5e4i5scrNF7gSUG053kPtbrtmCrJ28rZpXWhXIsOv46IMrTpuxpCRHooX+Hs5b+XejfLsuNnBbHE13MQn/M0ebGd9Gh+r6/lt//lgTkWigqsmTrtxhrWAZWzaW/yA+sTSedS2lJCbgNokw7qnbmxwD/P4D6808B5ilzMwLtm9SyNWTwxVkJg028edSaskigcsZ30aH6vr+W3/+WBORaKCo4UnC/XzCimn5Jr+ebXNLnJ51LaUkJuA2iTDuqdubHAJsuJSsWINcAtTK6RzhZCNSIdDbzJz55hCg3jwqPboZqC+e1/3J2yhbnCdDJw3/1qjgTOfZMAHf4HKt/RuYW81hQLJ5E0EGQvvbsJ3D+Y5Ztyka4dEMQZahWDR5hSepleBzikh2TmReB3v0T5xYid8QcPk5CBAU0mi1bSh9nnltSWr0jzsWH1Iyc3vP5hdMbiKkMzVjx7Zqcbf6rbicc76D9V4WyQxK0cSe7d9/9FB3SxZBjAiCO+KOut8Un8msxSnVVwgvKx21dER1iPoNp6UqAmZbr8z45Sy+pruQ5nsfBOQr4l7WVhNegga6nXNzj2tpHudPrDm9Wn2UR4YshDfI2BUHw5QUks0QBNocu+jfuCxNjMeNDzOk0a/ZER3ne8qP3wokNIjSKREwHnyiXZQ1K4gl90XkIKDm01NlT9vSc01Zk7dsMfDJIplEsIREkxY7JlCji8BaOGorXtveh+/8moUPA2KlwI7zMU987ZdFUGnxsnL51m1yJTBFiq8a2aINke1Zq/lQ6kGDq5VuBrM8NXrRSMPwvsGy97ZD6Zs1DHkEz+c8ALXx0yHXiXXGM15hX/P/WTzdA6WpNAYMp+onQJ/zgHvBUQ/73lul4SP+94V9kWjwkqpfw9UXK6MX44GmUMxCAIAON0fCsI/Q4azniKxqQ2LHe4jdXvxAAZ88Wt1v7sfpzBbhawep3OjLmQ86ziAOP/r8LYWw/FU/ideDjhbuSmySyvzX5alHrU+2YG2+mUPOLf6RROC1qs8z1CKGs5f3SNeieYFOFcf4OLhp+L88XhvLGgUnDEnizstIoT6dtov2RXBVVjSOYC1gXiRIiGmA/geEd3jFmxCN9gcC7CKEF7/4SX3qQ1YzcsgdlsAxGqxuXtOngwUwdrI+3+V1ZHoV8dL8D3H12J0G9zsNZjZsrd3x55Zv29ILIYBZLdg7gz2RVh0rVIJGoI/0J5SDo8A0C03S6DvLShgJt0SJyIQfxpwc9Nv/TnVir+cpOQuTkymXklBu2cCH5+aFTvqg92WzyV7mcOzWZJEqXs8E+mSOPWdCIQ6fWqEe6zQ+v/MvpVqyrIOqDQFvTJzdiJp8n/xwPHORgrY6nxhA8vAzSkfUqMkAuZ1RCW/OGXI1aoDWuQBoavZ7T5PaiP4P74hvvFscy7hXkC4btV8L/XlNW9O9EoNbSaJDx6c+MuNNNrLHZ0H+FULugcR6TQDU7/4ghGn81bo7MXxzQjv1TMDqRg3BmLpCSMQKRfh+3GyLCUc0qEASueLd2Pr/7yubOpU4+C4E+IExZRCr3XIL6Y6gvlBmpQ9+JFFSAyCRTwbJG/XQ88Va6iMp/ps3AgW3EyeuX0qPV3SfKzFh+usHgrXVa9xoMu+4u/cDvNNBuvz0czEv2WdeH6JQv37xz5Td2Ez6ZI49Z0IhDp9aoR7rND6/W/iWUCt4CpsJBgXN82HkVlLUfZ1aHOaXsdPUeEJeFitPGca4naQuMZo570DEigh5YxfQfIMxRhVezWptMkPtXvGNJ85ctTzZEcHVanMA3QNWUf/hqVFb3YP2/+RujDloqioZclJBJ3mOij0i/Q4r6oazl/dI16J5gU4Vx/g4uGmgAEPwNzpIdNSymRPqtwEUBBsfdiy6OBAPiK9dv8dv/8/uXl9RKrfUePqZ3kHvjMO14sdXSY6NeT1qBecaAeOuVVrRC0HqDIiZthvIGJg0bbTe5yst86LR1+EsJLy4EcPyeXmMw6zjA+dw1zI5mVua8O3IovWzbnAwS6+q5Sh/kG+7Ndnjv4VCp5Fx4JegvwvM/F7CmsDmgezt6oE/kSUj9Fqau9QB+NTeLHXYuRsCgVnlFEb68Tmeeonjr0hLkkaQFDo4VHzoxyqVejFJhJYZcTv43Kl0PLj8prMT+YB1o++bSkpP1JHFGOV8mVzWCPaZA2WB7jvWpl7tQOsbzX7utxh5W6GDrlsRJ2D9mtFTAWfOFu2Ntsdd+lRpDSA4b3+9a7sOlv8rmI2SKxRln6d1svWeiDow3698BkXWKtgfqlN7BT2+akmZ+TS9ZI1uuo2G6cYTJAD5ATn4xv2pL7oTMvRABb0bsp6E4P1mSln/b0iODj2CVKWZLv+BJQu8vU2o2avEIqiSTqKQqObgZFZH2pEJN0uNOoOY4tmAChfMkrnrhFaFUIUXtPARwyGbYpKn8tYUIGRpIJ9sHxqVQbQIDRUHMuRF9Z9yOStphQ7qcnebDsyTme4Dmevu73B5eSBtTX0eNwc0UrZp9bQDXGGOaZMDyuYEZVbpcaz2u8Hmc4FGQ595Q8noc/xHfqdyjMVRZBbrFeJ4LGVUb/sOj5XVJxNwud2Rx1jQxsQ3ht9GVnEfJYJnleXFiJqFs30dMRh9UlJ7brnNr7jgj2wkC7jMrhlqF1hTK6sAW9A/3EvnWcUXvRGS9tZ+yL6pkGYSTIQSREk5qBr5N7Gst7xSKi5qFDzBDp+t3huUt3gRNM0Q4mvEYTG8E/Nmsvcp1MOl6kEjdod52cb/S3INg+MOE/tqNH0Dst6Gj0mbz5DMcaDEOFFaUOr+WS1AUSAFVgrYev//quT/25ArlrqdxQ/axKibX0wiA/HpmGvj6dciub4kCWptkwzyD0Yh3k6Y8EtdcYPApaJGD7JLSDY/LJpmBTIq4zdfaZLX/Wq94MdN5UoQ13Y5WqkOsq22W/3ESLyVSVT6srKpjnEK+XcjIoDyry8UspPph8AuHGycKtSpGEq/xoovC83S0+gX+dXBNC/AXCjEGKvKXvabq4n1CyZPrSzDRL7bGUsWkTNqEBkCJwN0R6F9PpWjlBViKjGfhw6ejsVyJNbthuPkeuiP+AaWhChzBxkdCov9MpUy1On2TReqZgFEAxGy5e/T/0ec8Bhc22zBNpykuX47XvkxQbIM8r78T/GZmwcbPE6O/p3F1Kht+iFA3BHg5usLZ+cPfvu1uWasBdUDuObbVRsBcM5Wrac4PdgmxOmuvkLAQJWRhvGDnOL41vHK4U+farjjtKZKB0g21Z0qsG1LiR+7V36rKylibCN1PIEKTHN4yp4Qz/xBmsZzmD/m6iStkH++Rs0/fktigBI9XjWqbLzNZbAbHI1TleaeJnWVatGyZ795UKxKO5Yw+B5CXms3mIN5DhO75NIsEDJSTYuEGFUpV1nOy+btdZx69/+C6sf5ZoOEjwVtrTGUfFrhALvfncMTP3p07eTJFgEOd71OwSrlcf04MUPUlWIM62GtW+lDYT6wn6MIvaxD5s3Duut4kEGBLtOxHVuekeGTJGeoyjSqcJo2Cr0v/M9pz+Vc9l3HuIwIDFIhUxngWg+PVpDlHTQl7SnXl2/SaSI48lgeu/w66fSwZLAC1yZjsP8W8/jJlaxZ6ejjxr9OIXBUIPWJWzUemnN3X7ukjPlg+5c1JkFVZMv2V48mV6QeS/hg1XuL9463VNJ7LWmRe6eIRAWh2O1UVMaJ95adGhhZShR+4bq/JXN3uc6+nVtWKJE3OtXUQf97U5f1F6wm/dI1jbA/u/Afe2ig+AA=="
  },
  {
    "articleStyle": 2,
    "customOrder": 19,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "{ \"User-Agent\": \"Mozilla/5.0 (Linux; Android 9) Mobile Safari/537.36\"}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.post-item",
    "ruleContent": "<js>page={{@.pagination-post@a.-1@span@text}}\n\nurl=baseUrl.replace('.html','.html/')\n\nnurl=[]\nfor(i=1;i<page;i++){\n\t\tnurl.push(url+i)\n\t}\n\nhtml=src\n\njava.ajaxAll(nurl).map(item=>{\n\t\thtml += '\\n'+item.body()\n\t})\njava.toast('加载成功\\n　正在获取图片')\nhtml\n</js>\n\nclass.post-content@tag.img@src\n<js>\nli='\\n'\nlist=result.split('\\n')\nfor(i in list){\n\t\tli += '<li><img src=\"http://bpic.wotucdn.com/20/32/52/20325281-1190f9105412b42f759882ce262c2dcb-3.jpg\" data-src=\"'+list[i]+'\"></li>\\n'\n\t}\nli\n</js>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\">\n\r\n\n\n<ul id=\"box\">\n{{result}}\n</ul>\n\n\n<link rel=\"stylesheet\" href=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.css\">\r\n<script src=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.js\"></script>\n<script>\n\troot = document.getElementById('box')\n\tlazy = new IntersectionObserver(entires => {\n\t\tentires.forEach(item => {\n\t\t\tif(item.isIntersecting){\n\t\t\t\titem=item.target\n\t\t\t\titem.src=item.getAttribute('data-src')\n\t\t\t\tlazy.unobserve(item)\n\t\t\t}\n\t\t})\n\t}, {\n\t\troot: root,\n\t\tthreshold: [0],\n\t\trootMargin:\"0px 0px 500px 0px\"\n\t})\n\nimgs = document.getElementsByTagName('img')\nArray.from(imgs).forEach(item => {\n\t\tlazy.observe(item)\n\t})\n\n//查看大图插件\nnew Viewer(root,{title:false,interval:3000})\n</script>",
    "ruleImage": "img@src",
    "ruleLink": "@class.post-title@a@href",
    "ruleNextPage": "page",
    "rulePubDate": "📆{{@class.author@text}}〖{{@class.post-date@text}}〗",
    "ruleTitle": "h3@text",
    "singleUrl": false,
    "sortUrl": "NEW::https://www.coszip.com/\n搜索::https://www.coszip.com/search/{{source.getVariable()}}/page/{{page}}\nCosplay::https://www.coszip.com/category/cosplay/page/{{page}}\nPhotoBook::https://www.coszip.com/category/photobook/page/{{page}}\nErotica/Nude::https://www.coszip.com/category/erotica-nude/page/{{page}}",
    "sourceComment": "需挂梯子",
    "sourceGroup": "📖 R18图,R18",
    "sourceIcon": "https://www.coszip.com/media/2022/09/logo-designer.png",
    "sourceName": "COSPLAYZIP",
    "sourceUrl": "https://www.coszip.com/",
    "style": "/*标题相关*/\nh3{text-align:center}\nh5{margin-bottom:0;padding-left:5;}\n* {\n\tmargin: 0;\n\tpadding: 0\n}\nul {\n\tfont-size: 0;\n\theight: 100%;\n\toverflow-y: scroll\n}\nli {\n\tlist-style: none;\n\ttext-align: center\n}\nimg {\n\twidth: 100%;\n\theight: auto\n}"
  },
  {
    "articleStyle": 0,
    "customOrder": 19,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\n    'User-Agent': 'Mozilla/5.0 (Linux; Android 11; Pixel 3 XL Build/RQ3A.211001.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/102.0.4988.0 Mobile Safari/537.36 SearchCraft/3.9.2 (Baidu; P1 11) '\n}",
    "injectJs": "if(location.href.indexOf('https://passport.csdn.net/signwap')!=-1 || location.href.indexOf('https://passport.gitcode.net/cross')!=-1){localStorage.removeItem('isLogin')};function getCookie(name){var cookies = document.cookie.split(';');for (var i = 0; i < cookies.length; i++) {var cookie = cookies[i].trim();if (cookie.indexOf(name + '=') === 0) {return cookie.substring(name.length + 1);}} return null;}if(getCookie('UserName') && localStorage.getItem('isLogin')!=1){localStorage.setItem('isLogin',1);location.href=`https://blog.csdn.net/${getCookie('UserName')}`};setTimeout(()=>{ if(getCookie('UserName')){if(document.querySelector('.logout')){var para = document.createElement('a');para.setAttribute('href','https://passport.csdn.net/account/logout');para.setAttribute('class','openApp');para.innerHTML='退出';document.querySelector('.openApp').parentNode.replaceChild(para,document.querySelector('.openApp'));}else{var para = document.createElement('a');para.setAttribute('href',`https://blog.csdn.net/${getCookie('UserName')}`);para.setAttribute('class','openApp');para.innerHTML='个人中心';document.querySelector('.openApp').parentNode.replaceChild(para,document.querySelector('.openApp'));}}else{ document.querySelector('.openApp').parentNode.removeChild(document.querySelector('.openApp'));} },300);setTimeout(()=>{document.querySelector('.m_toolbar_left_app_btn').parentNode.removeChild(document.querySelector('.m_toolbar_left_app_btn'));},300);",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "🗂️ 软件,R18",
    "sourceIcon": "https://g.csdnimg.cn/static/logo/favicon32.ico",
    "sourceName": "CSDN",
    "sourceUrl": "https://passport.csdn.net/signwap",
    "style": ".openApp,.m_toolbar_left_app_btn{display:none !important;}"
  },
  {
    "articleStyle": 1,
    "customOrder": 20,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": ".visited[4:]",
    "ruleContent": "script@all<js>\nresult = eval(result.match(/eval(\\(.+\\))/)[1]).match(/src:[\"'](.+?)[\"']/)[1];\nresult = `<video src=\"${result}\" width=\"100%\" height=\"280px\" controls=\"controls\" ></video>`;\nresult = `<html><head><meta charset=\"utf-8\"><meta name=\"viewport\" content=\"width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no\" /><style>html,body{background-color:black;margin:0;padding:0;width:100%;}</style></head><body>${result}</body></html>`\n</js>",
    "ruleImage": "img@data-src",
    "ruleLink": "href",
    "ruleNextPage": "page",
    "ruleTitle": "img@alt",
    "singleUrl": false,
    "sortUrl": "精品海外::https://www.pornlulu.com/cat/387?page={{page}}\n國產情色::https://www.pornlulu.com/cat/119?page={{page}}\n國產自拍::https://www.pornlulu.com/cat/263?page={{page}}\n國產精品::https://www.pornlulu.com/cat/249?page={{page}}\n中文字幕::https://www.pornlulu.com/cat/48?page={{page}}\n亞洲情色::https://www.pornlulu.com/cat/22?page={{page}}\n歐美極品::https://www.pornlulu.com/cat/266?page={{page}}\n日本無碼::https://www.pornlulu.com/cat/270?page={{page}}\n日本有碼::https://www.pornlulu.com/cat/269?page={{page}}\n",
    "sourceGroup": "成人视频,R18",
    "sourceIcon": "https://i.postimg.cc/Bnh5dKYH/IMG-20220930-223954.jpg",
    "sourceName": "©Pornlulu",
    "sourceUrl": "https://www.pornlulu.com/"
  },
  {
    "articleStyle": 2,
    "customOrder": 20,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\"User-Agent\": \"Mozilla/5.0 (Linux; Android 12; 22041211AC Build/SP1A.210812.016) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.104 Mobile Safari/537.36\"}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "[class=\"embed-responsive embed-responsive-16by9-rotating position-relative\"]",
    "ruleContent": "<js>\np=String(result.match(/contentUrl\":\"(.*.m3u8)\",/)[1]).replace(/\\\\/g,\"\");\n pi=java.getString('ol@li.-1@text')||1;\n`<html>\n    <head>\n        <meta name=\"viewport\" content=\"width=device-width\">\n        <style>\n            body {\n                margin: 0;\n                font-family: Arial, sans-serif;\n                background: linear-gradient(135deg, #ece9e6, #ffffff);\n                display: flex;\n                flex-direction: column;\n                align-items: center;\n                justify-content: flex-start;\n                padding: 20px;\n            }\n            .container {\n                width: 100%;\n                max-width: 800px;\n                background: #fff;\n                border-radius: 10px;\n                box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);\n                overflow: hidden;\n                margin-bottom: 20px;\n            }\n            h3 {\n                margin: 0;\n                padding: 10px 20px;\n                font-size: 0.9em;\n                background: #333;\n                color: #fff;\n                border-radius: 10px 10px 0 0;\n            }\n            .video-container {\n                width: 100%;\n                background: #000;\n                position: relative;\n            }\n            video {\n                width: 100%;\n                height: auto;\n                display: block;\n            }\n            .info-container {\n                padding: 20px;\n            }\n            .info-container p {\n                margin: 10px 0;\n                color: #555;\n            }\n            .info-container p span {\n                font-weight: bold;\n                color: #000;\n            }\n        </style>\n    </head>\n    <body>\n        <div class=\"container\">\n        <h3><title>👤Mengteen</title>🏷${pi}</h3>\n            <div class=\"video-container\">\n                <video controls autoplay name=\"media\" id=\"videoPlayer\">\n                    <source src=\"${p}\" type=\"video/mp4\">\n                </video>\n            </div>\n            <div class=\"info-container\">\n                \n            </div>\n        </div>\n\n        <script>\n            // 获取视频元素\n            const video = document.getElementById('videoPlayer');\n            let touchStartX = 0;\n            let touchStartY = 0;\n            let touchStartTime = 0;\n            let isLongPress = false;\n\n            // 滑动快进\n            video.addEventListener('touchstart', (e) => {\n                touchStartX = e.touches[0].clientX;\n                touchStartY = e.touches[0].clientY;\n                touchStartTime = Date.now();\n                isLongPress = false;\n            });\n\n            video.addEventListener('touchmove', (e) => {\n                const deltaX = e.touches[0].clientX - touchStartX;\n                const deltaY = e.touches[0].clientY - touchStartY;\n\n                // 如果是水平滑动，且未进入长按状态\n                if (Math.abs(deltaX) > Math.abs(deltaY) && !isLongPress) {\n                    const duration = video.duration;\n                    const seekTime = video.currentTime + (deltaX / 100); // 每滑动100px快进1秒\n                    video.currentTime = Math.min(Math.max(seekTime, 0), duration);\n                }\n            });\n\n            // 长按快进\n            video.addEventListener('touchend', (e) => {\n                const touchEndTime = Date.now();\n                const touchDuration = touchEndTime - touchStartTime;\n\n                // 如果长按时间超过500ms，进入长按快进状态\n                if (touchDuration > 500) {\n                    isLongPress = true;\n\n                    // 在长按状态下，根据滑动距离快进\n                    const deltaX = e.changedTouches[0].clientX - touchStartX;\n                    const duration = video.duration;\n                    const seekTime = video.currentTime + (deltaX / 100); // 每滑动100px快进1秒\n                    video.currentTime = Math.min(Math.max(seekTime, 0), duration);\n                } else {\n                    isLongPress = false;\n                }\n            });\n\n            // 防止默认行为（如页面滚动）\n            video.addEventListener('touchmove', (e) => {\n                e.preventDefault();\n            });\n        </script>\n    </body>\n</html>`;\n\n</js>",
    "ruleImage": "img@src",
    "ruleLink": "a.0@href##(\\d+)##/$1###",
    "ruleNextPage": "page",
    "rulePubDate": "🏷{{@@class.badge badge-success@text}}｜📆{{@@span@text}}",
    "ruleTitle": "img@alt",
    "singleUrl": false,
    "sortUrl": "首页::/p/1/c/33?page={{page}}\n搜索::/q/{{(source.getVariable()==''||source.getVariable()==null)?source.setVariable('年轻'):source.getVariable()}}?page={{page}}\n国内伦理::/p/1/c/33?area_id=2&page={{page}}\n香港伦理::/p/1/c/33?area_id=5&page={{page}}\n台湾伦理::/p/1/c/33?area_id=4&page={{page}}\n韩国伦理::/p/1/c/33?area_id=17&page={{page}}\n日本伦理::/p/1/c/33?area_id=18&page={{page}}\n欧美伦理::/p/1/c/33?area_id=6&page={{page}}\n其它伦理::/p/1/c/33?area_id=3&page={{page}}\n泰国伦理::/p/1/c/33?area_id=10&page={{page}}\n印度伦理::/p/1/c/33?area_id=14&page={{page}}",
    "sourceComment": "源社区：@Mengteen\n二传或者是其它问题请@我并告知我",
    "sourceGroup": "🔞,R18",
    "sourceIcon": "https://cdn.sshs.rip/20/6e/20a43d023d77b2839892076750cb0f6e.webp",
    "sourceName": "🎞PTT伦理",
    "sourceUrl": "https://ptt.co/zh-cn/##@Mengteen",
    "style": "iframe{\n\theight:600px\n}\ntitle{\n\tdisplay:block\n}"
  },
  {
    "articleStyle": 0,
    "customOrder": 20,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "R18",
    "sourceIcon": "",
    "sourceName": "樱之空动漫",
    "sourceUrl": "https://www.skrcc.cc/"
  },
  {
    "articleStyle": 0,
    "customOrder": 21,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "{\n\"User-Agent\": \"Mozilla/5.0 (Linux; U; Android 8.1.0; zh-CN; MI 8 Lite Build/OPM1.171019.019) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/78.0.3904.108 UCBrowser/13.2.0.1100 Mobile Safari/537.36\"\n}",
    "lastUpdateTime": 1675946926480,
    "loadWithBaseUrl": true,
    "ruleArticles": "id.content@h3",
    "ruleLink": "a@href",
    "ruleTitle": "a@textNodes",
    "singleUrl": true,
    "sortUrl": "首页::http://yuedu.miaogongzi.net/gx.html",
    "sourceGroup": "📖 阅读,R18",
    "sourceIcon": "https://i.loli.net/2021/06/23/S7rvWRZtPIq34MJ.png",
    "sourceName": "喵公子书源管理",
    "sourceUrl": "http://yuedu.miaogongzi.net/gx.html"
  },
  {
    "articleStyle": 0,
    "customOrder": 21,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.inline1||class.articleLink2||class.navLink",
    "ruleImage": "tag.img@src",
    "ruleLink": "tag.a.0@href||href@js:\"https://sou-yun.cn/\"+result",
    "ruleNextPage": "text.下一页@href",
    "rulePubDate": "class.comment@text",
    "ruleTitle": "tag.a.0@text",
    "singleUrl": false,
    "sortUrl": "全部类别::https://sou-yun.cn/AnalyzeCi.aspx\n诗词库::https://sou-yun.cn/PoemIndex.aspx?\n诗文观止::https://sou-yun.cn/PoemIndex.aspx?path=%e8%a9%a9%e6%96%87%e8%a7%80%e6%ad%a2\n典故::https://sou-yun.cn/PoemIndex.aspx?path=%e5%85%b8%e6%95%85\n唐诗::https://sou-yun.cn/PoemIndex.aspx?path=%e5%94%90%e8%a9%a9\n岁时::https://sou-yun.cn/PoemIndex.aspx?path=%e6%ad%b2%e6%99%82\n咏物::https://sou-yun.cn/PoemIndex.aspx?path=%e8%a9%a0%e7%89%a9\n当代::https://sou-yun.cn/PoemIndex.aspx?path=%e7%95%b6%e4%bb%a3\n人文地理::https://sou-yun.cn/PoemIndex.aspx?path=%e4%ba%ba%e6%96%87%e5%9c%b0%e7%90%86\n典故、词汇::https://sou-yun.cn/AllusionsIndex.aspx?sort=People",
    "sourceGroup": "🛠 工具,R18",
    "sourceIcon": "https://sou-yun.cn/images/publish.png",
    "sourceName": "诗词",
    "sourceUrl": "https://sou-yun.cn"
  },
  {
    "articleStyle": 0,
    "customOrder": 22,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": ".update_area@li",
    "ruleContent": "<!DOCTYPE html>\n<html>\n\n<head>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\">\n    <link rel=\"stylesheet\" href=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.css\">\n    <script src=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.js\"></script>\n    <script src=\"http://lib.sinaapp.com/js/jquery/2.0.2/jquery-2.0.2.min.js\"></script>\n</head>\n\n<body>\n    <h3>{{@@.item_title@tag.h1@text}}</h3>\n<h5>{{@class.item_info@text}}</h5>\n    <div id=\"box\">{{@@class.content.0@tag.img@html}}</div>\n  \n  <div id=\"loads\">加载中 </div>\n    <script>\n        var loads;\n        $(document).ready(function () {\n            var box = document.getElementById(\"box\");\n            loads = document.getElementById(\"loads\");\n            new Viewer(box, { title: false, interval: 3000 })\n            var i = 1;\n            var page = {{@@class.page.0@tag.a.-2@textNodes##\\n}}-1;\n            var url = \"{{baseUrl.replace('.html','-')}}\";\n            new IntersectionObserver(entries => {\n                if (entries[0].intersectionRatio) {\n                    if (entries[0].intersectionRatio <= 0) return;\n                    for (var j = 0; j < 1; j++) {\n                        fetchHtml(i, page, url);\n                        i += 1;\n                    }\n                }\n            }).observe(loads)\n        });\n\n\n        function fetchHtml(i, page, url) {\n        \t\n            if (i <= page) {\n                nurl = url + i + '.html';\n                $.ajax({\n                    url: nurl,\n                    dataType: 'html',\n                    success: function (html) {\n                        $('#box').append('<h5>' + (++i) + '->' + (++page) + '</h5>');\n                        $('#box').append($(html).find('.content img'));\n                        box.viewer.update();\n                    },\n                    error: function (xhr) { }\n                });\n            } else {\n                $('#loads').html(\"\");\n            }\n        }\n    </script>\n</body>\n\n</html>\n",
    "ruleImage": "img@src",
    "ruleLink": "a@href",
    "ruleNextPage": ".page@a.-1@href",
    "rulePubDate": "{{@@span.0@text}}   {{@@span.1@text}}    👁{{@@span.2@text}}",
    "ruleTitle": ".meta-title@text",
    "singleUrl": false,
    "sortUrl": "精选::/hots.html\n微博网红::/group/wanghong.html\n喵糖映画::/group/miaotangyinghua.html\n森萝财团::/group/senluocaituan.html\n风之领域::/group/fengzhilingyu.html\n轻兰映画::/group/qinglanyinghua.html\n稚乖画册::/group/zhiguaihuace.html\n少女秩序::/group/shaonvzhixu.html\n紧急企划::/group/jinjiqihua.html\n喵写真::/group/miaoxiezhen.html\n",
    "sourceGroup": "🔞 18禁,R18",
    "sourceIcon": "https://fulitu.me//favicon.ico",
    "sourceName": "福利兔",
    "sourceUrl": "https://fulitu.me/",
    "style": "/*标题相关*/\nh3{text-align:center}\nh6{margin-bottom:0}\nimg{width:100%}\nh5{margin-bottom:0;padding-left:5;}"
  },
  {
    "articleStyle": 1,
    "customOrder": 22,
    "enableJs": true,
    "enabled": false,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": ".post-big.hentry",
    "ruleContent": "script@all##\"url\":\"(.*)\",\"url##$1##\n@js:\nresult=result.replace(/\\\\/g,'')\nresult = \"<video src=\\\"\" + result + \"\\\" width=\\\"100%\\\" height=\\\"100%\\\" controls=\\\"controls\\\" ></video>\";\nresult = \"<html><head><meta charset=\\\"utf-8\\\"><meta name=\\\"viewport\\\" content=\\\"width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no\\\" /><style>html,body{margin:0;padding:0;width:100%;}</style></head><body>\" + result + \"</body></html>\";\nresult",
    "ruleImage": ".thumbnail-wrap@img@src",
    "ruleLink": "a@href",
    "ruleNextPage": "text.下一页@href",
    "rulePubDate": "{{@.video-length@text}} {{@.entry-views@text}}",
    "ruleTitle": "h2@text",
    "singleUrl": false,
    "sortUrl": "中文字幕::/vodtype/25.html\n日本有码::/vodtype/23.html\n日本无码::/vodtype/24.html\n童颜巨乳::/vodtype/26.html\n性感人妻::/vodtype/27.html\n卡通动漫::/vodtype/32.html\n国产精品::/vodtype/21.html\n最新::/label/new.html\n热门::/label/hot.html\n精品推荐::/vodtype/20.html\n主播秀色::/vodtype/22.html",
    "sourceComment": "",
    "sourceGroup": "成人视频,R18",
    "sourceIcon": "https://i.postimg.cc/Bnh5dKYH/IMG-20220930-223954.jpg",
    "sourceName": "©HylTV",
    "sourceUrl": "https://hyule60.com"
  },
  {
    "articleStyle": 1,
    "customOrder": 22,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginUi": "",
    "loginUrl": "/?login",
    "ruleArticles": "class.th",
    "ruleContent": "class.video_player&&class.container&&class.player_twocolumns&&class.column&&class.player&&class.player-holder@all\t\t\t\t\t\t\t\t\t\t\t\t\t",
    "ruleImage": "class.lazy-load@data-original",
    "ruleLink": "a@href",
    "ruleNextPage": "page",
    "rulePubDate": "class.sticky_time",
    "ruleTitle": "class.lazy-load@alt",
    "singleUrl": false,
    "sortUrl": "首页::/\n搜索::/search/{{(source.getVariable()==''||source.getVariable()==null)?source.setVariable('91'):source.getVariable()}}/#search\n最新::/new/\n热门视频::/most-popular/{{page}}/\n國產自拍::/categories/21c031e02ee6ad29acda82b9625b28ef/{{page}}/\n主播福利::/categories/21dc971a5d4361143877eb09b7cd08a5/{{page}}/\n网红黑料::/categories/df045d713ee359e3cd54398e9526b1be/{{page}}/\n女主播::/categories/f55f93328d328d9aa8d708c02ea5fb71/{{page}}/\n傳媒映畫::/categories/cc1dce3873efbfae9448ff8049d72b95/{{page}}/\n中文字幕::/categories/6eec9fd0dad785e04651354b8ddab749/{{page}}/\n高清無碼::/categories/cd80c93db2d41150d80f5668f6e20b7f/{{page}}/\n高清有碼::/categories/ddc1aab6fe0d5609e60d6941280b7660/{{page}}/\n歐美風情::/categories/a0b14da040498ca8c3882059087b722c/{{page}}/\n卡通動漫::/categories/b83d6021cfa5cc3a3feff746a6f72b12/{{page}}/\nfc2::/categories/fc2/{{page}}/\n东南亚::/categories/ea5151e1beaf53e829f4857313d7eb8c/{{page}}/\n三級電影::/categories/6c589f4e28d3bb2944ec613ac6a25456/{{page}}/",
    "sourceComment": "www.theavporn.com\nhttps://theavporn.github.io/theavporn/",
    "sourceGroup": "111,R18",
    "sourceIcon": "https://tav110.xyz/favicon.ico",
    "sourceName": "TheAVPorn(登录)",
    "sourceUrl": "https://tav110.xyz/"
  },
  {
    "articleStyle": 2,
    "customOrder": 22,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.stui-vodlist__item",
    "ruleContent": "class.stui-player__video@script.0@all##.*var now=unescape\\(\"(.*)\"\\);var pn.*##$1\n<js>\nresult=unescape(result)\nresult=\"https://www.ycylf.live/js/player/dmplayer/player/index.php?url=\"+result\nif(result){\n\tjava.toast('🔞视频链接获取成功！\\n链接解密中，请耐心等待\\nby 银河中的咸鱼')\nresult = \"<iframe scrolling=\\\"no\\\" allowfullscreen=\\\"\\\" src=\\\"\" + result + \"\\\" width=\\\"100%\\\" height=\\\"240\\\"></iframe>\";\r\nresult = \"<html><head><meta charset=\\\"utf-8\\\"><meta name=\\\"viewport\\\" content=\\\"width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no\\\" /><style>html,body{margin:0;padding:0;width:100%;}</style></head><body>\" + result + \"</body></html>\"\n result\n}else{\n\tjava.toast('🔞视频链接获取失败❗️\\nby 银河中的咸鱼')\n}\n</js>",
    "ruleImage": "a@data-original##$##,{\"headers\":{\"Referer\":\"https://www.ycylf.live/\"}}",
    "ruleLink": "a.0@href##$##/avav-0-0.html",
    "ruleNextPage": "page",
    "ruleTitle": "class.stui-vodlist__title@text",
    "singleUrl": false,
    "sortUrl": "更早::https://www.ycylf.live/old/index{{page-1==0?\"\":page}}.html\n23年::https://www.ycylf.live/2023/index{{page-1==0?\"\":page}}.html\n22年::https://www.ycylf.live/2022/index{{page-1==0?\"\":page}}.html\n21年::https://www.ycylf.live/2021/index{{page-1==0?\"\":page}}.html\n20年::https://www.ycylf.live/2020/index{{page-1==0?\"\":page}}.html\n19年::https://www.ycylf.live/2019/index{{page-1==0?\"\":page}}.html\n18年::https://www.ycylf.live/2018/index{{page-1==0?\"\":page}}.html\n17年::https://www.ycylf.live/2017/index{{page-1==0?\"\":page}}.html\n16年::https://www.ycylf.live/old/2016/index{{page-1==0?\"\":page}}.html\n15年::https://www.ycylf.live/old/2015/index{{page-1==0?\"\":page}}.html\n14年::https://www.ycylf.live/old/2014/index{{page-1==0?\"\":page}}.html\n首页::https://www.ycylf.live/",
    "sourceComment": "class.mb-img@style##background\\-image\\:url\\(|\\)\\;",
    "sourceGroup": "R18",
    "sourceIcon": "https://img1.baidu.com/it/u=1496571514,2586450180&fm=253&fmt=auto&app=138&f=PNG?w=120&h=120",
    "sourceName": "妖次元里番",
    "sourceUrl": "https://www.ycylf.live"
  },
  {
    "articleStyle": 0,
    "customOrder": 22,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "tag.ol@tag.li",
    "ruleContent": "<js>result</js>",
    "ruleDescription": "",
    "ruleImage": "",
    "ruleLink": "tag.a@href",
    "rulePubDate": "",
    "ruleTitle": "tag.a@text",
    "singleUrl": false,
    "sortUrl": "【三洞真经】\n洞真上清经::http://www.daorenjia.com/c8\n洞玄灵宝经::http://www.daorenjia.com/c9\n洞神三皇经::http://www.daorenjia.com/c10\n三洞经教::http://www.daorenjia.com/c11\n【四辅真经】\n太平部诸经::http://www.daorenjia.com/c12\n太玄部经诀::http://www.daorenjia.com/c13\n正一部经籙::http://www.daorenjia.com/c14\n道德真经::http://www.daorenjia.com/c15\n四子真经::http://www.daorenjia.com/c16\n黄帝阴符经::http://www.daorenjia.com/c17\n道教易学::http://www.daorenjia.com/c18\n太清金丹经::http://www.daorenjia.com/c19\n太清摄养经::http://www.daorenjia.com/c20\n【道教论集】\n诸子文集::http://www.daorenjia.com/c21\n道学论著::http://www.daorenjia.com/c22\n全真文集::http://www.daorenjia.com/c23\n道教类书::http://www.daorenjia.com/c24\n【道法众术】\n道法诸经::http://www.daorenjia.com/c25\n道法总集::http://www.daorenjia.com/c26\n【道教科仪】\n科戒威仪::http://www.daorenjia.com/c27\n灵宝诸斋仪::http://www.daorenjia.com/c28\n灯仪法忏章表::http://www.daorenjia.com/c29\n【道史仙传】\n神仙高道传::http://www.daorenjia.com/c30\n仙境名山志::http://www.daorenjia.com/c31",
    "sourceGroup": "📖 阅读,R18",
    "sourceIcon": "http://m.daorenjia.com/favicon.ico",
    "sourceName": "道藏",
    "sourceUrl": "http://www.daorenjia.com"
  },
  {
    "articleStyle": 1,
    "customOrder": 23,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginUrl": "https://playav.tv/",
    "ruleArticles": "article",
    "ruleContent": "class.video-player@all",
    "ruleImage": "img@data-src",
    "ruleLink": "a@href",
    "ruleNextPage": "page",
    "rulePubDate": ".duration@text",
    "ruleTitle": "img@alt",
    "singleUrl": false,
    "sortUrl": "搜索::https://playav.tv/?s={{source.getVariable()}}\n巨乳::https://playav.tv/tag/巨乳/page/{{page}}\n國產麻豆::https://playav.tv/category/chinese-model/page/{{page}}\n大家爱看::https://playav.tv/?filter=most-viewed\n素人自拍::https://playav.tv/category/chinese/page/{{page}}\nSWAG::https://playav.tv/category/swag/page/{{page}}\nN砲房::https://playav.tv/category/numbersex/page/{{page}}\n中文有碼::https://playav.tv/category/chinese-censored/page/{{page}}\n日本無碼::https://playav.tv/category/uncensored/page/{{page}}\n韓國::https://playav.tv/category/korean/page/{{page}}\n歐美::https://playav.tv/category/sexy-babes/page/{{page}}",
    "sourceGroup": "可用,R18",
    "sourceIcon": "https://playav.tv/wp-content/uploads/2020/11/playav.tv_.png",
    "sourceName": "PlayAV",
    "sourceUrl": "https://playav.tv/",
    "style": "video{width:100%}img{width:100%}"
  },
  {
    "articleStyle": 2,
    "customOrder": 25,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\n\t\"User-Agent\": \"Mozilla/5.0 (Linux; Android 9) Mobile Safari/537.36\",\"referer\": \"{{baseUrl}}\"\n\t}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": ".picture-list a",
    "ruleContent": ".picture-item-box@all##src=\".*\" data-src##src\n<js>##href##</js>",
    "ruleImage": "img@data-src",
    "ruleLink": "href",
    "ruleNextPage": "text.下一页@href",
    "rulePubDate": "span@text",
    "ruleTitle": "text",
    "singleUrl": false,
    "sortUrl": "热姐::https://mak803-ad398-dke3e.xofulitu765.xyz/arttype/2001/\n罗莉塔::https://mak803-ad398-dke3e.xofulitu765.xyz/arttype/2002/\n性感的::https://mak803-ad398-dke3e.xofulitu765.xyz/arttype/2003/\n杂志::https://mak803-ad398-dke3e.xofulitu765.xyz/arttype/2004/\n角色扮演::https://mak803-ad398-dke3e.xofulitu765.xyz/arttype/5001/\n美足::https://mak803-ad398-dke3e.xofulitu765.xyz/arttype/5029/\n唯美::https://mak803-ad398-dke3e.xofulitu765.xyz/arttype/2002/\n模特儿::https://mak803-ad398-dke3e.xofulitu765.xyz/arttype/5031/\n日本::https://mak803-ad398-dke3e.xofulitu765.xyz/arttype/5032/\n东盟::https://mak803-ad398-dke3e.xofulitu765.xyz/arttype/5033/\n韩国::https://mak803-ad398-dke3e.xofulitu765.xyz/t/5034/\n搜索::https://mak803-ad398-dke3e.xofulitu765.xyz/s/wd/{{(source.getVariable()==''||source.getVariable()==null)?source.setVariable('萝莉'):\"\"}}{{source.getVariable()}}/",
    "sourceGroup": "🔞 18禁,R18",
    "sourceIcon": "https://mak803-ad398-dke3e.xofulitu765.xyz/upload/site/20230424-1/df71d5a55b9888cf6b0f445ab8a8fe80.png",
    "sourceName": "美足美图",
    "sourceUrl": "https://mak803-ad398-dke3e.xofulitu765.xyz"
  },
  {
    "articleStyle": 0,
    "customOrder": 25,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "⚙️ 工具,R18",
    "sourceIcon": "https://ss2.bdstatic.com/70cFvnSh_Q1YnxGkpoWK1HF6hhy/it/u=2493829930,2242002218&fm=26&gp=0.jpg",
    "sourceName": "花瓣",
    "sourceUrl": "https://huaban.com"
  },
  {
    "articleStyle": 0,
    "customOrder": 25,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "<js>\njson=[];\nif(baseUrl.match(/•/)){\nlist=baseUrl.replace(/http.*?wd=\\s*/,'').split('•');\nfor(i in list){\ntext=list[i].match(/《(.*?)》/)[1];\nindex=list[i].match(/^(\\d+、\\d+、)/)?list[i].match(/^(\\d+、\\d+、)/)[1]:list[i].match(/^(.*?)《/)[1]\njson.push({text:text,index:index})\n}\n}else{\nlist=baseUrl.replace(/http.*?wd=/,'');\ntext=list.match(/《(.*?)》/)[1];\nindex=list.match(/^(\\d+、\\d+、)/)?list.match(/^(\\d+、\\d+、)/)[1]:list.match(/^(.*?)《/)[1];\njson.push({text:text,index:index})\n}\nJSON.stringify(json)</js>\n$.[*]",
    "ruleContent": "",
    "ruleDescription": "❗️0、0、开始❗️\n<script>jiexi=[//蓝奏云解析\n\n//格式：[\"解析名称\",\"请求链接\",\"链接参数\",\"密码参数\",\"下载参数\"],\n\n[\"默认解析\",\"https://apis.jxcxin.cn/api/lanzou\",\"url\",\"pwd\",\"type=down\"],\n[\"备用解析\",\"https://tool.bitefu.net/lanzou\",\"url\",\"pwd\",\"type=down\"],\n\n]</script>\n\n\n<br>\n<div class=\"url\">\n<p>资源链接/蓝奏云文件链接</p>\n<textarea rows=\"4\" placeholder=\"蓝奏云链接可以直接拼接密码\n格式：链接#密码\n例子：http://qiqi.lanzoub.com/b09tbdngh#666\" oninput=\"geturl()\"></textarea>\n</div>\n\n<br>\n<div class=\"pwd\">\n<p>如果是蓝奏云链接，请输入密码</p>\n<textarea placeholder=\"在上面写了/没有密码 留空即可\" oninput=\"geturl()\"></textarea>\n</div>\n\n<br>\n<div>\n<p>蓝奏解析接口</p>\n<div class=\"port\"></div>\n<hr>\n</div>\n\n\n\n<br>\n<div>\n<p>资源导入格式</p>\n<div class=\"path\">\n\t\t<button onclick=\"xuan(this,1)\" value=\"auto\"><b>自动识别</b></button>\n\t\t<button onclick=\"xuan(this,1)\" value=\"bookSource\"><b>书源导入</b></button>\n\t\t<button onclick=\"xuan(this,1)\" value=\"rssSource\"><b>订阅导入</b></button>\n\t\t<button onclick=\"xuan(this,1)\" value=\"replaceRule\"><b>替换净化</b></button>\n\t\t<button onclick=\"xuan(this,1)\" value=\"textTocRule\"><b>TXT目录</b></button>\n\t\t<button onclick=\"xuan(this,1)\" value=\"httpTTS\"><b>TTS朗读</b></button>\n\t\t<button onclick=\"xuan(this,1)\" value=\"theme\"><b>阅读主题</b></button>\n\t\t<button onclick=\"xuan(this,1)\" value=\"readConfig\"><b>阅读排版</b></button>\n</div>\n<hr>\n</div>\n\n<br>\n<div>\n<p>导入阅读</p>\n<textarea rows=\"6\" placeholder=\"请输入资源链接\" readonly></textarea>\n<div>\n\t\t<button onclick=\"copy(2)\"><b>复制链接</b></button>\n\t\t<button onclick=\"importu()\" style=\"float:right\"><b>导入阅读</b></button>\n</div>\n<hr>\n</div>\n\n\n\n<iframe hidden></iframe>\n<script>\n\n\n//选中标签\n$=(rule)=>document.querySelectorAll(rule);\n\n\n//获取textarea\ntextarea=(index)=>$('textarea')[index];\n\n\n//删除active\nomit=(A)=>Array.from(A,a=>a.className='');\n\n\n//复制链接\nfunction copy(index){\n\t\ttextarea(index).select();//选中文本\n\t\tdocument.execCommand('copy');//复制\n\t}\n\n\n//切换选择\nxuan=(item,type)=>{\n\t\ttype=type==0?'port':'path'\n\t\tbtn=$(`.${type} button.active`)\n\t\tif(item.value==btn[0].value)return;\n\t\tomit(btn)\n\t\titem.className='active'\n\t\tgeturl()\n\t}\n\n\n//获取value\ngetu=(type,index)=>{\n\t\tu=String($('.'+type+' button.active')[0].value).split(',')[index].trim();\n\nif(type=='path')u=`legado://import/${u}?src=`;\n\t\treturn u\n}\n\n\n//获取url\ngeturl=()=>{\n\t\turl = String(textarea(0).value).trim()\nif(/^\\s*$/.test(url))return textarea(2).value='';\n\nif(url.match(/lanzou/)){//蓝奏云url拼接\ntry{\n\t\tif(url.match(/#.+/)){\n\t\t\t\tpwd = url.split('#')[1]\n\t\t\t\turl = url.split('#')[0]\n\t\t\t}\n\t\telse{\n\t\t\t\tpwd = String(textarea(1).value).trim()\n\t\t\t}\n\t}\ncatch(err){pwd=''}\nurl = getu('port',0)+\n\t'?'+getu('port',1)+'='+url.replace('/tp/','/').replace(/[\\?#].*/g,'')+\n\t'&'+getu('port',2)+'='+pwd+\n\t'&'+getu('port',3);\n}\nreturn textarea(2).value=url=getu('path',0)+url\n}\n\n\n//导入阅读\nimportu=()=>{\n\t\tgeturl();\n\t\tif(!url)return;\n\t\treturn $('iframe')[0].src = url;\n\t}\n\n\n//初始化\n(()=>{\n\n//格式化解析\n\t\t$('.port')[0].innerHTML = '\\n\\t\\t'+jiexi.map(x=>`<button onclick=\"xuan(this,0)\" value=\"${x[1]},${x[2]},${x[3]},${x[4]}\"><b>${x[0]}</b></button>`).join('\\n\\t\\t')+'\\n'\n\n\t\t$('.port button')[0].className='active'\n\t\t$('.path button')[0].className='active'\n\t\treturn geturl()\n\t})()\n</script>\n<style>\n*{\n\tz-index:0;\n\tmargin:0;\n\tpadding:0;\n\twidth:100%;\n\theight:auto;\n}\n.port,.path{\n\toverflow-x:auto;\n\toverflow-y:hidden;\n\twhite-space:nowrap;\n}\nbutton{\n\twidth:30%;\n\tmargin:1.25%;\n\tpadding:5px;\n\toutline:none;\n\tborder-radius:8px;\n\tfont-size:0.7rem;\n\ttext-overflow:ellipsis;\n  overflow:hidden;\n\tposition:sticky;\n}\nbutton.active{\n\tz-index:1;\n\tcolor:#166188;\n\tleft:0;right:0;\n}\n</style>\n❗️0、0、结束❗️\n\n\n\n——————分割线————————\n{{}}\n<js>\nindex='{{$.index}}';\nif(index.match(/\\d+、\\d+、/)){\nreg=eval('/❗️'+index+'开始❗️[\\\\s\\\\S]+?❗️'+index+'结束❗️/g');\nreg2=eval('/❗️'+index+'..❗️/g');\nresult=result.match(reg)?result.match(reg)[0]:'<br/>'\nresult.replace(reg2,'')}else{result=''}\n</js>",
    "ruleImage": "http://pp.myapp.com/ma_icon/0/icon_54155739_1657017481/256{{}}",
    "ruleLink": "$.id@js:\nurl=`{{$.url}}`\nif(result)url+=`/tp/{{$.id}}`;\nString(url).replace(/^蓝奏链接(.+com).*\\/(.+)/,'$1/tp/$2').replace(/^..导入/,'')",
    "rulePubDate": "$.intro",
    "ruleTitle": "$.text",
    "singleUrl": false,
    "sortUrl": "帮你导入::http://www.baidu.com?wd=0、0、《帮你导入》◎◎",
    "sourceComment": "",
    "sourceGroup": "⚙️工具,R18",
    "sourceIcon": "http://pp.myapp.com/ma_icon/0/icon_54155739_1657017481/256",
    "sourceName": "帮你导入",
    "sourceUrl": "帮你导入",
    "style": ""
  },
  {
    "articleStyle": 0,
    "customOrder": 26,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sortUrl": "",
    "sourceGroup": "🎞️ 影视,R18",
    "sourceIcon": "https://www.agedm.org/favicon.ico",
    "sourceName": "age动漫",
    "sourceUrl": "https://m.agedm.org/#/"
  },
  {
    "articleStyle": 0,
    "customOrder": 26,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "{\n  \"User-Agent\": \"Mozilla/5.0 (Linux; Android 8.1.0; JKM-AL00b Build/HUAWEIJKM-AL00b; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/044807 Mobile Safari/537.36\"\n}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "<js>\njson=[];\nif(baseUrl.match(/•/)){\nlist=baseUrl.replace(/http.*?wd=\\s*/,'').split('•');\nfor(i in list){\nhref=list[i].match(/【(.*?)】/)[1];\ntext=list[i].match(/《(.*?)》/)[1];\nintro=list[i].match(/◎(.*?)◎/)[1];\nindex=list[i].match(/^(\\d+、\\d+、)/)?list[i].match(/^(\\d+、\\d+、)/)[1]:list[i].match(/^(.*?)【/)[1]\njson.push({text:text,src:href,intro:intro,index:index})\n}\n}else{\nlist=baseUrl.replace(/http.*?wd=/,'');\nhref=list.match(/【(.*?)】/)[1];\ntext=list.match(/《(.*?)》/)[1];\nintro=list.match(/◎(.*?)◎/)[1];\nindex=list.match(/^(\\d+、\\d+、)/)?list.match(/^(\\d+、\\d+、)/):list.match(/^(.*?)【/)[1]\njson.push({text:text,src:href,intro:intro,index:index})\n}\nJSON.stringify(json)</js>\n$.[*]",
    "ruleContent": "",
    "ruleDescription": "❗️3、0、开始❗️\n<center><b><br><h3 style=\"color:#812424\">酷安@如月流光</h3><br><br><a href='https://wwa.lanzoui.com/b0dky9fwj'>精校书源&订阅丨点击下载<sup>21.8.19</a><br>提取码 76wm<p><br><a href='https://wwa.lanzoui.com/b0dkz53mj'>备用下载链接</a><br>提取码 73h9\n❗️3、0、结束❗️\n❗️0、0、开始❗️\n<b><center><h2 style=\"color:#812424\">目前版本</h2>\n\n<h3>21.8.30</h3>\n\n<h5>每周一不稳定更新(大概)，建议周二<a href='yuedu://rsssource/importonline?src=http://yck.mumuceo.com/yuedu/rssyuan/jsons?id=765'>导入</a></h5></center><details><summary align=\"right\"><h6><marquee direction=up scrollamount=2 height=18px width=50px>bug 反馈<br><br>更新建议<br><br>讨论交流</marquee></h6></summary><center><h5>阅读目前<font color='#B60000'>不支持</font>跳转应用<br>请长按链接到酷安/浏览器打开</h5>https://www.coolapk.com/feed/26888668?shareKey=NzJhZTJiMzA4NjUxNjBhODJkNDY~&shareUid=4339115&shareFrom=com.coolapk.market_11.1.5.1</details>更新了啥 ?<div class=\"渐变\"><br>\n📑 本次更新为【基础更新⁺】<p>\n📑 (书源整合-重构_V0.3)<br>>>尽量避免高度变化，修改配色，移除tts相关整合及部分书源整合<p>\n📑 增加两个网站<p>\n🎉 namo大佬更新了精简源<p>\n🎉 haxc大佬更新了漫画源<p>\n🎉 破冰大佬更新了自用源<p>\n💠 酷安大佬近两周书源分享整合<p></div>\n\n\n<div id=\"悬浮窗\" class=\"背景\" style=\"z-index:9; position:fixed; display:block; top:9\">\n<details>\n<summary><center><b><big><big><div class=\"按钮\">⚙️</big></big></summary><br>\n<div class=\"按钮\" onclick=\"搜索()\">搜索</div>\n\n<details>\n<summary class=\"按钮\">音乐</summary><br>\n<div class=\"按钮\" onclick=\"网易云()\">网 易 云</div>\n<div class=\"按钮\" onclick=\"随机音乐()\">随机音乐</div>\n<div class=\"按钮\" onclick=\"音乐设置()\">音乐设置\n</details>\n\n<details>\n<summary><div class=\"按钮\">其他</div></summary><br>\n<div class=\"按钮\">暂无扩展</div>\n<div class=\"按钮\">敬请期待\n</details>\n</details>\n</div>\n\n<details id=\"搜索\"><summary></summary>\n<center><div style=\"z-index: 8; position: fixed ! important; top: 20px; left: 9px; width:250px; height:100px\" class=\"背景\">\n<div onclick=\"搜索()\" style=\"float:right\"><sup>❌</div>\n<details open onclick=\"显示()\">\n<summary id=\"显示\"> &nbsp &nbsp &nbsp <sub>↑</sub>关闭🕰️显示<sub>↑</summary><div id=\"时间\"></details>\n<div class=\"背景\" style=height:115px>\n<big><font color=\"#812424\"> &nbsp &nbsp夸 &nbsp克 &nbsp搜 &nbsp索<sup>🔍</font></big><br>\n<table>\n<tr><button onclick=\"音乐()\" class=\"按钮\" style=\"width:40px\">🎶</button>\n\n<form action=\"https://quark.sm.cn/s\" target=\"_blank\">\n<input type=\"text\" id=\"kssj\" placeholder=\"开始时间/网站类型\" style=\"width:35px\">\n<input type=\"text\" name=\"q\" id=\"txt\" placeholder=\"填写内容...\" style=\"width:95px\">\n<input type=\"text\" id=\"jssj\" placeholder=\"结束时间/文件类型\" style=\"width:35px\">\n<button type=\"submit\" class=\"按钮\" style=\"width:40px\">🔍</button></form></tr>\n\n<tr><button onclick=\"高级()\" class=\"按钮\" style=\"width:65px\"><b>百度高级</button></form>\n<input id=\"url\" type=\"text\" placeholder=\"填写网址...\" value=\"baidu.com\" style=\"width:115px\"><button onclick=\"更多()\" class=\"按钮\" style=\"width:65px\"><b>更多搜索</button></form></tr>\n</table>\n<div class=\"背景\">\n<details open><summary><center><b><a id=\"aa\"><br><sub>↑</sub>不显示网站跳转<sub>↑<br><br></a></b></summary><center>\n<a href=\"https://quark.sm.cn/api/rest?method=Novelnew.home&format=html&schema=v2&gender=male&cate=全部&rank=rank_hot\" id=\"a1\">夸克排行</a>&nbsp\n<a href=\"https://vt.sm.cn/api/novelStarReco/index?uc_param_str=dnntnwvepffrgibijbprsvdsdicheiniut#\" id=\"a2\">星云推书</a>&nbsp\n<a href=\"https://www.jianguoyun.com\" id=\"a3\">坚果云[备份]</a><br>\n<a href=\"https://www.douban.com/group/658662/discussion?start=0\" id=\"a4\">豆瓣打分</a>&nbsp\n<a href=\"http://www.zxcs.me\" id=\"a5\">知轩藏书</a>&nbsp\n<a href=\"http://yck.mumuceo.com/yuedu/rssyuan/index.html\" id=\"a6\">源仓库[订阅]</a><br>\n<a href=\"http://qk.lifves.com\" id=\"b1\">期刊</a>&nbsp\n<a href=\"https://iao.su/t\" id=\"b2\">网站分享</a>&nbsp\n<a href=\"https://www.runoob.com/tags/html-reference.html\" id=\"b3\">标签查看</a>&nbsp\n<a href=\"https://a7a7.net/meitu\" id=\"b4\">美图</a><br><br>\n</details>\n<img style=\"width:233px; height:20px\" class=\"按钮\" onclick=\"刷新()\" src=\"https://v2.jinrishici.com/one.svg\">\n</details>\n\n<details id=\"网易云\"><summary></summary><div style=\"z-index: 8; position: fixed ! important; top: 210px; left: 2px; width:270px\"><div onclick=\"网易云()\" style=\"float:right\"><sub>❌</div>\n<iframe frameborder=\"no\" style=\"width:100%; height:300px\" src=\"https://music.163.com/outchain/player?type=0&id=3778678&auto=1&\"></iframe></div></details>\n\n<details id=\"音乐设置\"><summary></summary><div style=\"z-index:8;position:fixed!important; width:100%; height:85px; bottom:0px; left:0px; background-color:#f0f0f4\"><div onclick=\"音乐设置()\" style=\"float:right\"><sup>❌</div><center><table><tr>\n<td><button value=\"https://6url.cn/zazEPh\" onclick=\"bsnmusic(this.value)\" id='mus1' style=\"width:99%; background-color: #f0f0f2\"><b>中文歌曲</button></td>\n<td><button value=\"https://6url.cn/cW8uFL\" onclick=\"bsnmusic(this.value)\" id='mus2' style=\"width:99%; background-color: #f0f0f2\"><b>英文歌曲</button></td>\n<td><button value=\"https://6url.cn/M34fN9\" onclick=\"bsnmusic(this.value)\" id='mus3' style=\"width:99%; background-color: #f0f0f2\"><b>小 语 种</button></td>\n<td><button value=\"https://6url.cn/wApnVs\" onclick=\"bsnmusic(this.value)\" id='mus4' style=\"width:99%; background-color: #f0f0f2\"><b>纯 音 乐</button></td>\n<td rowspan=2><button  onclick=\"下一首()\" style=\"width:99%; height:99%; background-color: #f0f0f2\"><center><b>下<br>一<br>首</button></td></tr><tr>\n<td colspan=\"4\"><audio id=\"bsnmusic\" controls=\"controls\" autoplay preload=\"auto\">\n<source type=\"audio/mpeg\"></source></audio></td>\n</tr></table></div></details>\n\n<script>\nfunction $()\n{\nvar elements = new Array();\nfor (var i = 0; i < arguments.length; i++)\n{\nvar element = arguments[i];\nif (typeof element == 'string')\nelement = document.getElementById(element);\nif (arguments.length == 1)\nreturn element;\nelements.push(element);\n}\nreturn elements;\n}\n</script>\n<script>\n//〔悬浮窗移动〕\nvar div=$('悬浮窗'); div.addEventListener('touchmove', function(event){\n\nevent.preventDefault();\n//阻止其他事件\n\n//如果悬浮窗的位置有手指拖动\nif(event.targetTouches.length == 1) {\n\nvar touch = event.targetTouches[0];\n//就把悬浮窗放在手指所在位置\n\ndiv.style.left = touch.pageX + 'px';\ndiv.style.top = touch.pageY + 'px';\n}}, false);\n</script>\n<script>\nfunction 搜索(){\nvar x=$(\"搜索\").open;\nif(x==true){$(\"搜索\").open=false;}\nelse{$(\"搜索\").open=true;}}\n</script>\n<script>\nfunction 显示(){\nvar x=$(\"显示\").open; if(x==true)\n{$(\"显示\").open=false;$(\"显示\").innerHTML=\" &nbsp &nbsp &nbsp <sub>↑</sub>关闭🕰️显示<sub>↑\";}\nelse\n{$(\"显示\").open=true;$(\"显示\").innerHTML=\" &nbsp &nbsp &nbsp <sup>↓</sup>打开🕰️显示<sup>↓\";}\n}\n</script>\n<script>\nfunction 网易云(){\nvar x=$(\"网易云\").open;\nif(x==true){$(\"网易云\").open=false;}\nelse{$(\"网易云\").open=true;}}\n</script>\n<script>\nfunction 音乐设置(){\nvar x=$(\"音乐设置\").open;\nif(x==true){$(\"音乐设置\").open=false;}\nelse{$(\"音乐设置\").open=true;}}\n</script>\n<script>\nfunction 刷新(){\n$(\"aa\").innerHTML=\"<br><sub>↑</sub>不显示网站跳转<sub>↑<br><br>\";\n$(\"a1\").innerHTML=\"夸克排行\";\n$(\"a1\").href=\"https://quark.sm.cn/api/rest?method=Novelnew.home&format=html&schema=v2&gender=male&cate=全部&rank=rank_hot\";\n$(\"a2\").innerHTML=\"星云推书\";\n$(\"a2\").href=\"https://vt.sm.cn/api/novelStarReco/index?uc_param_str=dnntnwvepffrgibijbprsvdsdicheiniut#\";\n$(\"a3\").innerHTML=\"坚果[云备份]\";\n$(\"a3\").href=\"https://www.jianguoyun.com\";\n$(\"a4\").innerHTML=\"豆瓣打分\";\n$(\"a4\").href=\"https://www.douban.com/group/658662/discussion?start=0\";\n$(\"a5\").innerHTML=\"知轩藏书\";\n$(\"a5\").href=\"http://www.zxcs.me\";\n$(\"a6\").innerHTML=\"源仓库[订阅]\";\n$(\"a6\").href=\"http://yck.mumuceo.com/yuedu/rssyuan/index.html\";\n$(\"b1\").innerHTML=\"期刊\";\n$(\"b1\").href=\"http://qk.lifves.com\";\n$(\"b2\").innerHTML=\"网站分享\";\n$(\"b2\").href=\"https://iao.su/t\";\n$(\"b3\").innerHTML=\"标签查看\";\n$(\"b3\").href=\"https://www.runoob.com/tags/html-reference.html\";\n$(\"b4\").innerHTML=\"美图\";\n$(\"b4\").href=\"https://a7a7.net/meitu\";\n}\n</script>\n\n\n<script>\nfunction 更多(){\nvar txt= $(\"txt\").value;\nvar url=$(\"url\").value;\n\nvar sogou=\"https://m.sogou.com/web/searchList.jsp?s_from=pcsearch&keyword=\";\nvar\ntop=\"https://mtop.chinaz.com/search/\";\nvar url1=\"https://quark.sm.cn/api/rest?method=quark_fanyi.dlpage&schema=v2&format=html&entry=fanyi_common#zh/en/\";\nvar url2=\"https://weixin.sogou.com/weixin?type=2&query=\";\n\n$(\"aa\").innerHTML=\"<br><big><sup>🔎 </sup><b>\"+txt+\"<big><sub>/<sub><i>\"+url+\"<br><br>\";\n$(\"a1\").innerHTML=\"夸克翻译\";\n$(\"a1\").href=url1+txt;\n$(\"a2\").innerHTML=\"网站信息\";\n$(\"a2\").href=top+txt;\n$(\"a3\").innerHTML=\"跳转网址\";\n$(\"a3\").href=\"http://\"+url;\n$(\"a4\").innerHTML=\"微信文章\";\n$(\"a4\").href=url2+txt;\n$(\"a5\").innerHTML=\"360站内\";\n$(\"a5\").href=\"https://m.so.com/s?q=\"+txt+\" site:\"+url+\"&src=result_input&srcg=default_srcg&nlpv=&psid=e9e59abb99ac75a47c154c12894dfd71&sug_pos=&ssid=&sug=&_ms=0\";\n$(\"a6\").innerHTML=\"搜狗站内\";\n$(\"a6\").href=sogou+txt+\" site:\"+url;\n\nvar url3=\"https://www.zhihu.com/search?from=toolnb&q=\";\nvar url4=\"https://m.weibo.cn/search?containerid=100103type=1&q=\";\nvar url5=\"https://m.bilibili.com/search?keyword=\";\nvar url6a=\"https://www.xiaobaipan.com/list-\";\nvar url6b=\".html?from=1\";\n\n$(\"b1\").innerHTML=\"知乎\";\n$(\"b1\").href=url3+txt;\n$(\"b2\").innerHTML=\"微博\";\n$(\"b2\").href=url4+txt;\n$(\"b3\").innerHTML=\"B站\";\n$(\"b3\").href=url5+txt;\n$(\"b4\").innerHTML=\"小白盘\";\n$(\"b4\").href=url6a+txt+url6b;\n}\n</script>\n<script>\nfunction 高级(){\nvar txt=$(\"txt\").value;\nvar url=$(\"url\").value;\nvar kssj=$(\"kssj\").value;\nvar jssj=$(\"jssj\").value;\n\nvar baidu=\"https://m.baidu.com/s?from=1024325b&word=\";\n\n$(\"aa\").innerHTML=\"<b><br><big><sup>🔎 </sup>\"+txt+\"<big><sub>/<sub><i>\"+url+\"<sup>\"+kssj+\"-\"+jssj+\"<br><br>\";\n$(\"a1\").innerHTML=\"无广搜索\";\n$(\"a1\").href=baidu+\"intitle:\"+txt;\n$(\"a2\").innerHTML=\"精准搜索\";\n$(\"a2\").href=baidu+\"intext:\"+txt;\n$(\"a3\").innerHTML=\"网站类型\";\n$(\"a3\").href=baidu+txt+\" inurl:\"+kssj;\n$(\"a4\").innerHTML=\"站内搜索\";\n$(\"a4\").href=\"http://zhannei.baidu.com/cse/site?q=\"+txt+\"&click=1&cc=\"+url+\"&s=&nsid=\";\n$(\"a5\").innerHTML=\"高级搜索\";\n$(\"a5\").href=baidu+txt+\" site:\"+url;\n$(\"a6\").innerHTML=\"文件类型\";\n$(\"a6\").href=baidu+txt+\"filetype:\"+jssj;\n$(\"b1\").innerHTML=\"时间搜索\";\n$(\"b1\").href=baidu+\"intitle:\"+txt+\" \"+kssj+\"..\"+jssj;\n\n$(\"b2\").innerHTML=\"\";\n$(\"b3\").innerHTML=\"\";\n$(\"b4\").innerHTML=\"\";\n}\n</script>\n<script>\nfunction 音乐(){\nvar txt= $(\"txt\").value;\nvar musicwl=\"https://music.xf1433.com/?name=\";\nvar musictz=\"http://lite.tonzhon.com/search?keyword=\";\nvar musicxm=\"&type=ximalaya\";\nvar musickw=\"&type=kuwo\";\nvar musickg=\"&type=kugou\";\nvar musicwy=\"&type=netease\";\n\n$(\"aa\").innerHTML=\"<br><big><sup>🎶 </sup><b>\"+txt+\"<big><sub>/<sub><i>so.music\";\n\n$(\"a1\").innerHTML=\"酷我音乐\";\n$(\"a1\").href=musicwl+txt+musickw;\n$(\"a2\").innerHTML=\"网易云音乐\";\n$(\"a2\").href=musicwl+txt+musicwy;\n$(\"a3\").innerHTML=\"酷狗音乐\";\n$(\"a3\").href=musicwl+txt+musickg;\n$(\"a4\").innerHTML=\"铜钟聚合\";\n$(\"a4\").href=musictz+txt;\n$(\"a5\").innerHTML=\"喜马拉雅\";\n$(\"a5\").href=musicwl+txt+musicxm;\n\n$(\"a6\").innerHTML=\"\";\n$(\"b1\").innerHTML=\"\";\n$(\"b2\").innerHTML=\"\";\n$(\"b3\").innerHTML=\"\";\n$(\"b4\").innerHTML=\"\";\n}   \n</script>\n<script>\n    var automusic = $(\"bsnmusic\"); \n    automusic.loop = false;\n    automusic.addEventListener('ended', function () {   $(\"bsnmusic\").src=\n$(\"bsnmusic\").src\n    }, false);\n</script>\n<script>\nfunction bsnmusic(bsnmusic){\n$(\"bsnmusic\").src=bsnmusic;\n$(\"bsnmusic\").play();\n}\n</script>\n<script>\nfunction 随机音乐(){\nvar clas=['mus1','mus2','mus3','mus4'];\nvar x=Math.floor(Math.random()*(4+1-0)+0);\n$(\"bsnmusic\").src=\n$(clas[x]).value;\n$(\"bsnmusic\").play();\n}\n</script>\n<script>\nfunction 下一首(){\n$(\"bsnmusic\").src=\n$(\"bsnmusic\").src;$(\"bsnmusic\").play();\n}\n</script>\n<script>//时间显示\nwindow.onload=getTime;\nfunction getTime(){\nvar today=new Date();\nvar year=today.getFullYear();//获取年\nvar month=today.getMonth()+1;//获取月\nvar date=today.getDate();//获取日\nvar day=today.getDay();//获取星期\nvar hours=today.getHours();//获取小时\nvar minutes=today.getMinutes();//获取分钟\nvar seconds=today.getSeconds();//获取秒\nvar milliseconds=today.getMilliseconds();//获取毫秒\n\n//当???小于/等于/大于一个数值时，???显示为\nif(hours<1){\nhours=\"午夜 \"+hours;\n} else if(hours<7){\nhours=\"凌晨 \"+hours;\n} else if(hours<12){\nhours=\"上午 \"+hours;\n} else if(hours<13){\nhours=\"正午 \"+hours;\n} else if(hours<19){\nhours=\"下午 \"+[hours-12];\n} else if(hours<22){\nhours=\"晚上 \"+[hours-12];\n} else if(hours<24){\nhours=\"半夜 \"+[hours-12];\n}\n\nif(day<1){\nday=\"星期天\";\n} else if(day<2){\nday=\"星期一\";\n} else if(day<3){\nday=\"星期二\";\n} else if(day<4){\nday=\"星期三\";\n} else if(day<5){\nday=\"星期四\";\n} else if(day<6){\nday=\"星期五\";\n} else if(day<7){\nday=\"星期六\";\n}\n\nif(minutes<10){\nminutes=\"0\"+minutes;\n}\nif(seconds<10){\nseconds=\"0\"+seconds;\n}\nvar 显示=year+'年'+month+'月'+date+'日'+day+'<br>'+hours+\":\"+minutes+\":\"+seconds+\"<sup><i>\"+milliseconds;\n$('时间').innerHTML=显示;\nsetInterval(\"getTime()\",1000)\n}\n</script>\n\n\n\n<details>\n<summary align=\"right\" style=\"color:#812424\">各类说明</summary><div class=\"渐变\"><p><details><summary style=\"color:#812424\">作者の闲话</summary><div class=\"渐变\"><center><br>封面没整理完<br>好看的图片太难找，不好看的图片不想要😂<br>没有关系，Pro⁺是长期订阅，慢慢完善🌹<p>虽然链接长了亿点，但是为了方便复制就不用短网址\"加密\"了。<p>本来有大佬主页跳转的，阅读现在并不支持跳转应用，只能先放着，再议<p><br><details><summary style=\"color:#812424\">关于Pro⁺の更多操作:</summary><div class=\"渐变\"><br>直接显示视频(不会)<br>自定义跳转<自定义> (需要编写HTML)<br>自定义<自定义排版>(凭感觉看着排)<p>实现上面的功能需要亿些技巧，我不会，大佬没空，也没有网站可以整合了，咸鱼万岁≧▽≦</details></details><p>\n\n<details align=\"right\"><summary style=\"color:#812424\">Pro⁺格式介绍</summary><div class=\"渐变\" align=\"left\">Pro⁺有两种格式<br>因为连接符号都是\"•\"，所以格式间可以混用<p>格式一<br>在分类URL填写<br>网站链接【封面链接】《标题名称》◎名称补充◎<p>格式二<br>(标题): 在分类URL填写<br>定位数字1、定位数字2、【封面链接】《标题名称》◎名称补充◎<p><br>(内容): 在描述规则填写<br>❗️定位数字1、定位数字2、开始❗️<br>自定义内容<br>❗️定位数字1、定位数字2、结束❗️<p>ps:只要定位数字对，就可以显示自定义内容<p><br>总格式<br>分类名::http://www.baidu.com?wd=格式一/格式二•格式一/格式二</details><h4>\n\n<details><summary style=\"color:#812424\">Pro⁺更新了什么?</summary><div class=\"渐变\"><br>0. 周更计划<br>酷安一周书源整理<p>1. 订阅格式二<br>可显示自定义内容(就是你现在看的这个)<p>2. 自定义封面<br>可显示自定义封面<sup>支持gif格式</sup><p>3. 自定义名称补充<br>在原网站网址处自定义文字(方便分类)<p>4. a标签链接跳转&一键导入<br>支持书源，订阅源\"一键导入\"<p>5. a标签链接跳转&超级整合<br>可以整合很多网站到一个标题里</details><p>\n\n<details align=\"right\"><summary style=\"color:#812424\">关于周更计划</summary><div class=\"渐变\"><center><br>\n每天都高频率打开酷安看大佬们的更新，就想着整合一下🌹<p>注: 每次上线看到的分享才会记录下来，评论被吞了或者没看见的分享无法记录哦</details><p>\n\n<details><summary style=\"color:#812424\">原本的源注释</summary><div class=\"渐变\"><br><big><center>说明一下相关情况</center></big><br>❗不要相信网站广告，不要对网站氪金❗<br>错信广告照成的损失本人概不负责<p>关于整合的网站来源<br><sub>如果觉得侵犯了你的权益请联系我删除</sub><p>整合的网站大部分发掘于源仓库历史分享，小部分来自酷安的评论区<br>ps:订阅分享前应该会确认能打开网站<br>保证能打开，不保证能看哦🙄</details><p>\n\n<details align=\"right\"><summary style=\"color:#812424\">关于特殊整合</summary><div class=\"渐变\"><center><br>特殊Pro⁺暂时不整理，鸽一会<p>建议使用大佬们分享的特殊订阅源，干净清爽无广告<p><br>这次真的是(源仓库订阅)特殊网站最大供应商了😂<p><br>关于特殊网站: 特殊网站的危害(必看)<p>1.可能会导致你的财产损失<p>2.可能会导致你的数据泄漏<p>特殊网站的广告非常多，代码会乱跳网页，如果包涵木马程序可能会让你的手机报废/成为肉鸡<br>ps:很多特殊网站是和黑客合伙的(或者就是黑客开的)，如果你的手机成为肉鸡，那就麻烦了。<p><br><a href=\"https://m.baidu.com/s?from=1013843q&word=%E8%89%B2%E6%83%85%E7%BD%91%E7%AB%99%E7%9B%97%E5%8F%B7\">色情网站盗号<br><a href=\"http://gd.sina.cn/news/zx/2016-01-11/detail-ifxnkkux1089585.d.html?from=wap\">色情网站盗取银行卡密码<br><a href=\"http://news.sohu.com/20090827/n266266692.shtml\">色情网站传播病毒<br><a href=\"http://mobile.rmzxb.com.cn/tranm/index/url/www.rmzxb.com.cn/c/2018-03-31/2012315.shtml\">色情网站让你成肉鸡</a><h4><br>如果你不在意以上危害，请自己在<a href=\"http://m.baidu.com\">百度</a>寻找特殊网站。<details><summary><p>再次重申:<br>如果你因为使用[特殊整合]造成的数据泄漏/偷号盗号/经济损失，本人概不负责哦🙄</summary><p><a href=\"yuedu://rsssource/importonline?src=http://yck.mumuceo.com/yuedu/rssyuan/jsons?id=766\">特殊Pro⁺丨没有整合，待整合<p><a href=\"yuedu://rsssource/importonline?src=\">仓库特殊订阅整合丨待整理<p><a href=\"yuedu://rsssource/importonline?src=http://shuyuan.miaogongzi.net/shuyuan/1619856867.json\">31🔞订阅丨一键导入\n❗️0、0、结束❗️\n❗️1、0、开始❗️\n<body bgcolor='050505'><center><br><br><br>\n<table cellspacing=\"0\">\n<tr><td rowspan='2' valign=\"top\" style=\"text-align:left; width:71%\"><img src='https://api.ixiaowai.cn/api/api.php' alt=\"图片加载失败\" width=\"100%\">\n<h2 id=\"a0\">框架重构</h2></td>\n<th width=\"32%\">↓作者选择↓</th></tr>\n<tr><td rowspan='2'>\n<div style='overflow:auto; height:100%; color:000' class='按钮'><b>\n<details id=\"c0\" open><summary></summary>\n<p onclick=\"c0_00()\">🔸最近更新</p>\n<p onclick=\"c1_01()\">乃星</p>\n<p onclick=\"c1_10()\">糖果超甜哒</p>\n<p onclick=\"c2_16()\">库拉索芦荟</p>\n<p onclick=\"c2_17()\">都还没睡醒</p>\n<p onclick=\"c2_18()\">柒夏锦年</p>\n<details open><summary>💠需要下载</summary>\n<p onclick=\"c4_03()\">浪仙人</p>\n<p onclick=\"c4_04()\">蚂蚁吃豆芽</p>\n<p onclick=\"c3_01()\">易文君</p>\n<p onclick=\"c3_03()\">GIO10</p>\n<p onclick=\"c3_08()\">未月十八</p>\n<p onclick=\"c3_19()\">鸡排饭加蛋</p>\n<p onclick=\"c3_20()\">用户无名称</p>\n<p onclick=\"c3_27()\">太闲</p>\n<p onclick=\"c3_28()\">逸团</p>\n</details></details>\n<details id=\"c1\"><summary></summary>\n<p onclick=\"c1_00()\">🔸精品推荐</p>\n<p onclick=\"c1_01()\">乃星</p>\n<p onclick=\"c1_02()\">无恙</p>\n<p onclick=\"c1_03()\">氧化钙_</p>\n<p onclick=\"c1_04()\">常校书源</p>\n<p onclick=\"c1_05()\">山抹清风</p>\n<p onclick=\"c1_06()\">南笙星辰</p>\n<p onclick=\"c1_07()\">滨江美波</p>\n<p onclick=\"c1_08()\">匿名不吓你</p>\n<p onclick=\"c1_09()\">温暖满怀绽</p>\n<p onclick=\"c1_10()\">糖果超甜哒</p>\n<p onclick=\"c1_11()\">guguda121</p>\n<details><summary>💠查看更多</summary>\n<details><summary>订阅导入🔹</summary>\n<p onclick=\"c1_12()\">🔹九五订阅</p>\n<p onclick=\"c1_13()\">🔹仓库㊕㊝</p>\n</details>\n<details><summary>链接整合🔹</summary>\n<p onclick=\"c1_14()\">🔹酷安菊鶸</p>\n<p onclick=\"c1_15()\">🔹遗忘情感</p>\n</details></details></details>\n<details id=\"c2\"><summary></summary>\n<p onclick=\"c2_00()\">🔸一键导入</p>\n<p onclick=\"c2_01()\">? ? ?</p>\n<p onclick=\"c2_02()\">佚名</p>\n<p onclick=\"c2_03()\">寻岞</p>\n<p onclick=\"c2_04()\">千仞云</p>\n<p onclick=\"c2_05()\">不思慕</p>\n<p onclick=\"c2_06()\">风扬兮</p>\n<p onclick=\"c2_07()\">贾亦真</p>\n<p onclick=\"c2_08()\">凡凡黄</p>\n<p onclick=\"c2_09()\">Sangdi7</p>\n<p onclick=\"c2_10()\">Y大先生</p>\n<p onclick=\"c2_11()\">狼火霸世</p>\n<p onclick=\"c2_12()\">暗香迷蝶</p>\n<p onclick=\"c2_13()\">在下不狂</p>\n<p onclick=\"c2_14()\">上山不易弃</p>\n<p onclick=\"c2_15()\">电子菩萨会</p>\n<p onclick=\"c2_16()\">库拉索芦荟</p>\n<p onclick=\"c2_17()\">都还没睡醒</p></details>\n<details id=\"c3\"><summary></summary>\n<p onclick=\"c3_00()\">🔸本地导入</p>\n<p onclick=\"c3_01()\">易文君</p>\n<p onclick=\"c3_02()\">雪痕伤</p>\n<p onclick=\"c3_03()\">GIO10</p>\n<p onclick=\"c3_04()\">Xy宝儿</p>\n<p onclick=\"c3_05()\">XiErLuo</p>\n<p onclick=\"c3_06()\">yellyoo</p>\n<p onclick=\"c3_07()\">长歌2021</p>\n<p onclick=\"c3_08()\">未月十八</p>\n<p onclick=\"c3_09()\">秋月枫叶</p>\n<p onclick=\"c3_10()\">片恋将为</p>\n<p onclick=\"c3_11()\">鱼儿飞呀飞</p>\n<p onclick=\"c3_12()\">于花都之中</p>\n<p onclick=\"c3_13()\">笛寄明月楼</p>\n<p onclick=\"c3_14()\">路遥星亦辞</p>\n<p onclick=\"c3_15()\">夏目的余波</p>\n<p onclick=\"c3_16()\">不是质与合</p>\n<p onclick=\"c3_17()\">励志当肚兜</p>\n<p onclick=\"c3_18()\">杞人忧天_x</p>\n<p onclick=\"c3_19()\">鸡排饭加蛋</p>\n<p onclick=\"c3_20()\">用户无名称</p>\n<p onclick=\"c3_28()\">逸团</p>\n<details><summary>💠其他云盘</summary>\n<p onclick=\"c3_21()\">安争お</p>\n<p onclick=\"c3_22()\">kanalian</p>\n<p onclick=\"c3_23()\">飞鸽信鸽</p>\n<p onclick=\"c3_24()\">听一曲寂寥</p>\n<p onclick=\"c3_25()\">鱼离不开水</p>\n<p onclick=\"c3_26()\">联发科牛批</p>\n<p onclick=\"c3_27()\">太闲</p></details></details>\n<details id=\"c4\"><summary></summary>\n<p onclick=\"c4_00()\">🔸书籍下载</p>\n<p onclick=\"c4_01()\">徽氚</p>\n<p onclick=\"c4_02()\">刘作鹛</p>\n<p onclick=\"c4_03()\">浪仙人</p>\n<p onclick=\"c4_04()\">蚂蚁吃豆芽</p></details>\n<details id=\"c5\"><summary></summary>\n<p onclick=\"c5_00()\">🔸其他资源</p>\n<p onclick=\"c5_01()\">帝君</p>\n<p onclick=\"c5_02()\">格致k</p>\n<details open><summary>订阅导入🔹</summary>\n<p onclick=\"c5_03()\">🔹亡灵诗人</p>\n<p onclick=\"c5_04()\">🔹Engels13</p>\n<p onclick=\"c5_05()\">🔹名字难取</p>\n</details>\n<details><summary>各类整合🔹</summary>\n<p onclick=\"c5_06()\">🔹勿埋我心</p>\n<p onclick=\"c5_07()\">🔹苏寅Tools</p>\n<p onclick=\"c5_08()\">🔹酷安寻岞</p>\n</details>\n</details></div></td></tr>\n<tr><td rowspan='3' height='100px'><b><br>\n<h3><a href=\"\" id=\"a1\"></a></h3>\n<h5 id=\"a2\">尽量避免了高度变化，修改配色</h5><br>\n<h3><a href=\"\" id=\"a3\"></a></h3>\n<h5 id=\"a4\">移除tts相关整合及部分书源整合</h5>\n</td></tr>\n<tr><th>↓类型选择↓</th></tr>\n<tr><td rowspan='3' class=\"按钮\">\n<div style='overflow:auto;height:100%'>\n<h4  onclick=\"c0_00()\" class=\"按钮\">最近更新</h4>\n<h4  onclick=\"c1_00()\" class=\"按钮\">精品推荐</h4>\n<h4  onclick=\"c2_00()\" class=\"按钮\">一键导入</h4>\n<h4  onclick=\"c3_00()\" class=\"按钮\">本地导入</h4>\n<h4  onclick=\"c4_00()\" class=\"按钮\">书籍下载</h4>\n<h4  onclick=\"c5_00()\" class=\"按钮\">其他资源</h4>\n</div></td></tr>\n<tr><td valign=\"bottom\" rowspan='2'><b>\n<i><h5 id=\"a5\" align=\"right\">V0.3 .</h5></i>\n</td></tr><tr></tr>\n</table><style>\n*{margin:0;padding:0;border-radius:5px}\ni{color:d0d77e}\na{color:ddcc44}\na:hover{color:503070}\np{height:12.5%}\np:hover{background:-webkit-linear-gradient(-55deg,#666,#fff,#888)}\nh2{height:36px}\nh3{height:24px}\nh4{padding:4px}\nh5{padding-top:8px;height:16px}\nth{height:1px; background:linear-gradient(to right bottom,red 8%,yellow 40%,red 100%); -webkit-background-clip:text; color:transparent}\ntable{text-align:center; width:100%; height:65%; background:#080808; color:c4d77e}\n</style><script>\nfunction $(){\nvar elements = new Array();\nfor (var i = 0; i < arguments.length; i++){\nvar element = arguments[i];\nif (typeof element == 'string')\nelement = document.getElementById(element);\nif (arguments.length == 1)\nreturn element;\nelements.push(element);}\nreturn elements;}\n</script><script>\nfunction c0_00(){\nvar x=$(\"c0\").open;\nif(x==true){$(\"c0\").open=false;}\nelse{$(\"c0\").open=true;}}\n</script><script>\nfunction c1_00(){\nvar x=$(\"c1\").open;\nif(x==true){$(\"c1\").open=false;}\nelse{$(\"c1\").open=true;}}\n</script><script>\nfunction c2_00(){\nvar x=$(\"c2\").open;\nif(x==true){$(\"c2\").open=false;}\nelse{$(\"c2\").open=true;}}\n</script><script>\nfunction c3_00(){\nvar x=$(\"c3\").open;\nif(x==true){$(\"c3\").open=false;}\nelse{$(\"c3\").open=true;}}\n</script><script>\nfunction c4_00(){\nvar x=$(\"c4\").open;\nif(x==true){$(\"c4\").open=false;}\nelse{$(\"c4\").open=true;}}\n</script><script>\nfunction c5_00(){\nvar x=$(\"c5\").open;\nif(x==true){$(\"c5\").open=false;}\nelse{$(\"c5\").open=true;}}\n</script>\n\n\n<script>\nfunction c1_01(){\n$(\"a0\").innerHTML=\"酷安@乃星\";\n$(\"a1\").innerHTML=\"女频源丨导入\";\n$(\"a1\").href=\"yuedu://booksource/importonline?src=http://shuyuan.miaogongzi.net/shuyuan/1626319938.json\";\n$(\"a2\").innerHTML=\"\";\n$(\"a3\").innerHTML=\"晋江api-改丨导入\";\n$(\"a3\").href=\"yuedu://booksource/importonline?src=https://shuyuan.miaogongzi.net/shuyuan/1629542804.json\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.?.?? .\"}\n</script><script>\nfunction c1_02(){\n$(\"a0\").innerHTML=\"酷安@无恙\";\n$(\"a1\").innerHTML=\"详细源丨导入\";\n$(\"a1\").href=\"yuedu://booksource/importonline?src=https://slaijie.gitee.io/legado/legado/BookSource210116.json\";\n$(\"a2\").innerHTML=\"\";\n$(\"a3\").innerHTML=\"\";\n$(\"a3\").href=\"\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.?.?? .\"}\n</script><script>\nfunction c1_03(){\n$(\"a0\").innerHTML=\"酷安@氧化钙_\";\n$(\"a1\").innerHTML=\"长期下载链接\";\n$(\"a1\").href=\"https://thenight.lanzoui.com/b055a72pa\";\n$(\"a2\").innerHTML=\"提取码 0000\";\n$(\"a3\").innerHTML=\"书源*590丨导入\";\n$(\"a3\").href=\"yuedu://booksource/importonline?src=http://shuyuan.miaogongzi.net/shuyuan/1626191885.txt\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.7.13 .\"}\n</script><script>\nfunction c1_04(){\n$(\"a0\").innerHTML=\"常校书源\";\n$(\"a1\").innerHTML=\"Xiu2\";\n$(\"a1\").href=\"https://yuedu.xiu2.xyz\";\n$(\"a2\").innerHTML=\"\";\n$(\"a3\").innerHTML=\"喵公子\";\n$(\"a3\").href=\"http://yuedu.miaogongzi.net/gx.html\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.?.?? .\"}\n</script><script>\nfunction c1_05(){\n$(\"a0\").innerHTML=\"酷安@山抹清风\";\n$(\"a1\").innerHTML=\"自制源丨偏🔞丨导入\";\n$(\"a1\").href=\"yuedu://booksource/importonline?src=https://cdn.jsdelivr.net/gh/Gladtbam/BookS/ALL.json\";\n$(\"a2\").innerHTML=\"\";\n$(\"a3\").innerHTML=\"书源下载<sup>21.6.18\";\n$(\"a3\").href=\"https://wwa.lanzoui.com/im5QUqe2z9g\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.?.?? .\"}\n</script><script>\nfunction c1_06(){\n$(\"a0\").innerHTML=\"酷安@南笙星辰\";\n$(\"a1\").innerHTML=\"通用源丨下载\";\n$(\"a1\").href=\"https://wwi.lanzoux.com/iYDtgjxc9mf\";\n$(\"a2\").innerHTML=\"\";\n$(\"a3\").innerHTML=\"\";\n$(\"a3\").href=\"\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.1.1 .\"}\n</script><script>\nfunction c1_07(){\n$(\"a0\").innerHTML=\"酷安@滨江美波\";\n$(\"a1\").innerHTML=\"精简源丨导入\";\n$(\"a1\").href=\"yuedu://booksource/importonline?src=https://gitee.com/jia_to_hui/read-30-preferred-book-source/raw/master/bookSource.json\";\n$(\"a2\").innerHTML=\"\";\n$(\"a3\").innerHTML=\"\";\n$(\"a3\").href=\"\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.6.18 .\"}\n</script><script>\nfunction c1_08(){\n$(\"a0\").innerHTML=\"酷安@匿名不然吓死你\";\n$(\"a1\").innerHTML=\"<sup>新/</sup>必应搜书&一个书源丨下载\";\n$(\"a1\").href=\"https://wwa.lanzoui.com/il3iJsk15la\";\n$(\"a2\").innerHTML=\"\";\n$(\"a3\").innerHTML=\"必应搜书&一个书源丨导入\";\n$(\"a3\").href=\"yuedu://booksource/importonline?src=http://yck.mumuceo.com/yuedu/shuyuan/jsons?id=3926-5100\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.8.?? .\"}\n</script><script>\nfunction c1_09(){\n$(\"a0\").innerHTML=\"酷安@温暖满怀万花绽\";\n$(\"a1\").innerHTML=\"精选源丨导入\";\n$(\"a1\").href=\"yuedu://booksource/importonline?src=https://gitee.com/baize12/baize/raw/master/yuedu/81.json\";\n$(\"a2\").innerHTML=\"\";\n$(\"a3\").innerHTML=\"精选源丨下载\";\n$(\"a3\").href=\"https://www.lanzoui.com/b00nb4i1i\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"20.12.8 .\"}\n</script><script>\nfunction c1_10(){\n$(\"a0\").innerHTML=\"酷安@糖果超甜哒\";\n$(\"a1\").innerHTML=\"女频源丨导入\";\n$(\"a1\").href=\"yuedu://booksource/importonline?src=https://tangguochaotian.coding.net/p/tangguoshuyuan1015/d/tangguo/git/raw/master/exportBookSource.json\";\n$(\"a2\").innerHTML=\"\";\n$(\"a3\").innerHTML=\"淑女源丨导入\";\n$(\"a3\").href=\"yuedu://booksource/importonline?src=https://shuyuan.miaogongzi.net/shuyuan/1629227088.json\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.?.?? .\"}\n</script><script>\nfunction c1_11(){\n$(\"a0\").innerHTML=\"酷安@guguda121\";\n$(\"a1\").innerHTML=\"书源*1500⁺丨原生整合\";\n$(\"a1\").href=\"yuedu://booksource/importonline?src=https://guguda121.coding.net/p/guguda121yuedu/d/guguda121yuedu/git/raw/master/1-guguda121.json\";\n$(\"a2\").innerHTML=\"\";\n$(\"a3\").innerHTML=\"书源*1500⁺丨自用小改\";\n$(\"a3\").href=\"yuedu://booksource/importonline?src=https://guguda121.coding.net/p/guguda121yuedu/d/guguda121yuedu/git/raw/master/2-guguda121.json\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.?.?? .\"}\n</script><script>\nfunction c1_12(){\n$(\"a0\").innerHTML=\"九五订阅\";\n$(\"a1\").innerHTML=\"95订阅丨导入\";\n$(\"a1\").href=\"yuedu://rsssource/importonline?src=http://shuyuan.miaogongzi.net/shuyuan/1619427388.json\";\n$(\"a2\").innerHTML=\"\";\n$(\"a3\").innerHTML=\"23订阅丨导入\";\n$(\"a3\").href=\"yuedu://rsssource/importonline?src=http://shuyuan.miaogongzi.net/shuyuan/1619456819.json\";\n$(\"a4\").innerHTML=\"(95订阅)阅读官方精简版\";\n$(\"a5\").innerHTML=\"21.4.25 .\"}\n</script><script>\nfunction c1_13(){\n$(\"a0\").innerHTML=\"仓库㊕㊝\";\n$(\"a1\").innerHTML=\"⑪新闻资讯丨导入\";\n$(\"a1\").href=\"yuedu://rsssource/importonline?src=http://yck.mumuceo.com/yuedu/rssyuan/jsons?id=10-15-17-57-59-60-88-101-104-911-912-913-952-953\";\n$(\"a2\").innerHTML=\"\";\n$(\"a3\").innerHTML=\"⑫视频音频丨导入\";\n$(\"a3\").href=\"yuedu://rsssource/importonline?src=http://yck.mumuceo.com/yuedu/rssyuan/jsons?id=69-224-296-337-339-341-354-372-780-781-782-895\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.?.?? .\"}\n</script><script>\nfunction c1_14(){\n$(\"a0\").innerHTML=\"酷安@菊鶸\";\n$(\"a1\").innerHTML=\"书源整合&使用教程\";\n$(\"a1\").href=\"https://github.com/ifwlzs/YueDuBackup/blob/master/README.md\";\n$(\"a2\").innerHTML=\"\";\n$(\"a3\").innerHTML=\"备用链接\";\n$(\"a3\").href=\"https://gitee.com/ifwlzs/YueDuBackup/blob/master/README.md\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.?.?? .\"}\n</script><script>\nfunction c1_15(){\n$(\"a0\").innerHTML=\"酷安@遗忘情感\";\n$(\"a1\").innerHTML=\"书源整合\";\n$(\"a1\").href=\"https://www.coolapk.com/feed/28840273?shareKey=NTJkZjJlMWRiNWE5NjEwNzEyZDM~&shareUid=4339115&shareFrom=com.coolapk.market_11.2.3\";\n$(\"a2\").innerHTML=\"\";\n$(\"a3\").innerHTML=\"\";\n$(\"a3\").href=\"\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.?.?? .\"\n}\n</script>\n\n\n<script>\nfunction c2_01(){\n$(\"a0\").innerHTML=\"酷安@? ? ?\";\n$(\"a1\").innerHTML=\"43笔趣阁丨导入\";\n$(\"a1\").href=\"yuedu://booksource/importonline?src=https://cdn.jsdelivr.net/gh/cyao2q/yuedu@master/shuyuan\";\n$(\"a2\").innerHTML=\"\";\n$(\"a3\").innerHTML=\"\";\n$(\"a3\").href=\"\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.?.?? .\"}\n</script><script>\nfunction c2_02(){\n$(\"a0\").innerHTML=\"酷安@佚名\";\n$(\"a1\").innerHTML=\"哔哩轻小说丨导入\";\n$(\"a1\").href=\"yuedu://booksource/importonline?src=http://shuyuan.miaogongzi.net/shuyuan/1620751061.json\";\n$(\"a2\").innerHTML=\"\";\n$(\"a3\").innerHTML=\"\";\n$(\"a3\").href=\"\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.?.?? .\"}\n</script><script>\nfunction c2_03(){\n$(\"a0\").innerHTML=\"酷安@寻岞\";\n$(\"a1\").innerHTML=\"书源*1121丨导入\";\n$(\"a1\").href=\"yuedu://booksource/importonline?src=https://share.dmca.gripe/dl/h4I725wkRjtAFryN.json\";\n$(\"a2\").innerHTML=\"\";\n$(\"a3\").innerHTML=\"1100⁺书源丨下载\";\n$(\"a3\").href=\"https://share.dmca.gripe/h4I725wkRjtAFryN.json\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.?.?? .\"}\n</script><script>\nfunction c2_04(){\n$(\"a0\").innerHTML=\"酷安@千仞云\";\n$(\"a1\").innerHTML=\"书源*150丨导入\";\n$(\"a1\").href=\"yuedu://booksource/importonline?src=https://shuyuan.miaogongzi.net/shuyuan/1628574450.json\";\n$(\"a2\").innerHTML=\"\";\n$(\"a3\").innerHTML=\"tts\";\n$(\"a3\").href=\"legado://import/auto?src=https://shuyuan.miaogongzi.net/shuyuan/1628554471.json\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.8.?? .\"}\n</script><script>\nfunction c2_05(){\n$(\"a0\").innerHTML=\"酷安@不思慕\";\n$(\"a1\").innerHTML=\"精品源*8丨导入\";\n$(\"a1\").href=\"yuedu://booksource/importonline?src=http://shuyuan.miaogongzi.net/shuyuan/1627051601.json\";\n$(\"a2\").innerHTML=\"\";\n$(\"a3\").innerHTML=\"新丨书源下载\";\n$(\"a3\").href=\"https://wwe.lanzoui.com/igv6Ns34h7e\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.?.?? .\"}\n</script><script>\nfunction c2_06(){\n$(\"a0\").innerHTML=\"酷安@风扬兮\";\n$(\"a1\").innerHTML=\"书源*50丨导入\";\n$(\"a1\").href=\"yuedu://booksource/importonline?src=http://shuyuan.miaogongzi.net/shuyuan/1627365193.txt\";\n$(\"a2\").innerHTML=\"\";\n$(\"a3\").innerHTML=\"50源丨下载\";\n$(\"a3\").href=\"https://wwi.lanzoui.com/iAUXGrwnbyh\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.7.28 .\"}\n</script><script>\nfunction c2_07(){\n$(\"a0\").innerHTML=\"酷安@贾亦真\";\n$(\"a1\").innerHTML=\"漫画源*98丨导入\";\n$(\"a1\").href=\"yuedu://booksource/importonline?src=http://shuyuan.miaogongzi.net/shuyuan/1618368197.txt\";\n$(\"a2\").innerHTML=\"\";\n$(\"a3\").innerHTML=\"\";\n$(\"a3\").href=\"\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.?.?? .\"}\n</script><script>\nfunction c2_08(){\n$(\"a0\").innerHTML=\"酷安@凡凡黄\";\n$(\"a1\").innerHTML=\"校验源*634丨导入\";\n$(\"a1\").href=\"yuedu://booksource/importonline?src=http://yuedu.miaogongzi.net/shuyuan/hff634.json\";\n$(\"a2\").innerHTML=\"\";\n$(\"a3\").innerHTML=\"\";\n$(\"a3\").href=\"\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.?.?? .\"}\n</script><script>\nfunction c2_09(){\n$(\"a0\").innerHTML=\"酷安@Sangdi7\";\n$(\"a1\").innerHTML=\"醋溜儿文学丨导入\";\n$(\"a1\").href=\"yuedu://booksource/importonline?src=http://shuyuan.miaogongzi.net/shuyuan/1624978658.json\";\n$(\"a2\").innerHTML=\"\";\n$(\"a3\").innerHTML=\"\";\n$(\"a3\").href=\"\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.?.?? .\"}\n</script><script>\nfunction c2_10(){\n$(\"a0\").innerHTML=\"酷安@Y大先生\";\n$(\"a1\").innerHTML=\"书源*270丨导入\";\n$(\"a1\").href=\"yuedu://booksource/importonline?src=http://shuyuan.miaogongzi.net/shuyuan/1626729748.json\";\n$(\"a2\").innerHTML=\"\";\n$(\"a3\").innerHTML=\"新丨书源导入\";\n$(\"a3\").href=\"yuedu://booksource/importonline?src=http://shuyuan.miaogongzi.net/shuyuan/1627874396.json\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.?.?? .\"}\n</script><script>\nfunction c2_11(){\n$(\"a0\").innerHTML=\"酷安@狼火霸世\";\n$(\"a1\").innerHTML=\"知乎主页\";\n$(\"a1\").href=\"https://www.zhihu.com/people/lang-huo-ba-shi\";\n$(\"a2\").innerHTML=\"\";\n$(\"a3\").innerHTML=\"500源丨导入\";\n$(\"a3\").href=\"yuedu://booksource/importonline?src=https://cdn.jsdelivr.net/gh/yeyulingfeng01/yuedu.github.io/yuedu3.0-20210105.json\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.3.13 .\"}\n</script><script>\nfunction c2_12(){\n$(\"a0\").innerHTML=\"酷安@暗香迷蝶\";\n$(\"a1\").innerHTML=\"书源*770丨导入\";\n$(\"a1\").href=\"yuedu://booksource/importonline?src=http://shuyuan.miaogongzi.net/shuyuan/1625163110.json\";\n$(\"a2\").innerHTML=\"\";\n$(\"a3\").innerHTML=\"推书君优化丨导入\";\n$(\"a3\").href=\"yuedu://booksource/importonline?src=http://shuyuan.miaogongzi.net/shuyuan/1625449721.json\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.?.?? .\"}\n</script><script>\nfunction c2_13(){\n$(\"a0\").innerHTML=\"酷安@在下不狂\";\n$(\"a1\").innerHTML=\"通用源*105丨导入\";\n$(\"a1\").href=\"yuedu://booksource/importonline?src=http://shuyuan.miaogongzi.net/shuyuan/1627802706.txt\";\n$(\"a2\").innerHTML=\"\";\n$(\"a3\").innerHTML=\"2.0耽美源丨下载\";\n$(\"a3\").href=\"https://chenmeng.lanzoui.com/igFVfs2noqd\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.7.29 .\"}\n</script><script>\nfunction c2_14(){\n$(\"a0\").innerHTML=\"酷安@上山不易岂能言弃\";\n$(\"a1\").innerHTML=\"书源*5丨敏感字少\";\n$(\"a1\").href=\"yuedu://booksource/importonline?src=http://yck.mumuceo.com/yuedu/shuyuan/jsons?id=4990-5000-4991-4999-4998\";\n$(\"a2\").innerHTML=\"\";\n$(\"a3\").innerHTML=\"\";\n$(\"a3\").href=\"\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.?.?? .\"}\n</script><script>\nfunction c2_15(){\n$(\"a0\").innerHTML=\"酷安@电子菩萨会普渡已注销用户吗\";\n$(\"a1\").innerHTML=\"女频源*55丨导入\";\n$(\"a1\").href=\"yuedu://booksource/importonline?src=http://shuyuan.miaogongzi.net/shuyuan/1624932143.json\";\n$(\"a2\").innerHTML=\"\";\n$(\"a3\").innerHTML=\"\";\n$(\"a3\").href=\"\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.?.?? .\"}\n</script><script>\nfunction c2_16(){\n$(\"a0\").innerHTML=\"酷安@库拉索芦荟\";\n$(\"a1\").innerHTML=\"奇书网丨导入\";\n$(\"a1\").href=\"yuedu://booksource/importonline?src=https://cdn.jsdelivr.net/gh/5528046/shuyuan@main/%E5%A5%87%E4%B9%A6%E7%BD%91.json\";\n$(\"a2\").innerHTML=\"\";\n$(\"a3\").innerHTML=\"\";\n$(\"a3\").href=\"\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.8.1? .\"}\n</script><script>\nfunction c2_17(){\n$(\"a0\").innerHTML=\"酷安@都还没睡醒\";\n$(\"a1\").innerHTML=\"书源*500⁺丨导入\";\n$(\"a1\").href=\"yuedu://booksource/importonline?src=https://cdn.bizha.top/BookSource/shareBookSource.json\";\n$(\"a2\").innerHTML=\"\";\n$(\"a3\").innerHTML=\"\";\n$(\"a3\").href=\"\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.8.1? .\"\n}\n</script><script>\nfunction c2_18(){\n$(\"a0\").innerHTML=\"酷安@柒夏锦年\";\n$(\"a1\").innerHTML=\"💰息壤中文网丨导入\";\n$(\"a1\").href=\"yuedu://booksource/importonline?src=https://cdn.jsdelivr.net/gh/kaitl/BookSource/yuedu.json\";\n$(\"a2\").innerHTML=\"\";\n$(\"a3\").innerHTML=\"\";\n$(\"a3\").href=\"\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.8.?? .\"\n}\n</script>\n\n\n<script>\nfunction c3_01(){\n$(\"a0\").innerHTML=\"酷安@易文君\";\n$(\"a1\").innerHTML=\"自用源*56丨下载\";\n$(\"a1\").href=\"https://wwr.lanzoui.com/iIx0tsy3ngj\";\n$(\"a2\").innerHTML=\"提取码 2333\";\n$(\"a3\").innerHTML=\"新丨自用源*43丨下载\";\n$(\"a3\").href=\"https://wwr.lanzoui.com/iLZ9qt0idmh\";\n$(\"a4\").innerHTML=\"2233\";\n$(\"a5\").innerHTML=\"21.8.2? .\"}\n</script><script>\nfunction c3_02(){\n$(\"a0\").innerHTML=\"酷安@雪痕伤\";\n$(\"a1\").innerHTML=\"书源下载\";\n$(\"a1\").href=\"https://wwi.lanzoui.com/iEFs6sb8hgf\";\n$(\"a2\").innerHTML=\"提取码 4gnd\";\n$(\"a3\").innerHTML=\"\";\n$(\"a3\").href=\"\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.?.?? .\"}\n</script><script>\nfunction c3_03(){\n$(\"a0\").innerHTML=\"酷安@GIO10\";\n$(\"a1\").innerHTML=\"3.0源*159丨下载\";\n$(\"a1\").href=\"https://gio10.lanzoui.com/iQMxrray9wh\";\n$(\"a2\").innerHTML=\"提取码 gqsn\";\n$(\"a3\").innerHTML=\"新丨书源下载\";\n$(\"a3\").href=\"https://gio10.lanzoui.com/iJMy7stzhod\";\n$(\"a4\").innerHTML=\"提取码 aq77\";\n$(\"a5\").innerHTML=\"21.?.?? .\"}\n</script><script>\nfunction c3_04(){\n$(\"a0\").innerHTML=\"酷安@Xy宝儿\";\n$(\"a1\").innerHTML=\"书源下载\";\n$(\"a1\").href=\"https://wwr.lanzoui.com/imk1zr1rh6d\";\n$(\"a2\").innerHTML=\"提取码 I2rb\";\n$(\"a3\").innerHTML=\"\";\n$(\"a3\").href=\"\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.?.?? .\"}\n</script><script>\nfunction c3_05(){\n$(\"a0\").innerHTML=\"酷安@XiErLuo\";\n$(\"a1\").innerHTML=\"自用源丨下载\";\n$(\"a1\").href=\"https://wwa.lanzoui.com/iTmXRrq9pmj\";\n$(\"a2\").innerHTML=\"提取码 2333\";\n$(\"a3\").innerHTML=\"\";\n$(\"a3\").href=\"\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.?.?? .\"}\n</script><script>\nfunction c3_06(){\n$(\"a0\").innerHTML=\"酷安@yellyoo\";\n$(\"a1\").innerHTML=\"飞卢源*30丨下载\";\n$(\"a1\").href=\"https://wws.lanzoux.com/b01o1817i\";\n$(\"a2\").innerHTML=\"提取码 1fd0\";\n$(\"a3\").innerHTML=\"替换净化丨下载\";\n$(\"a3\").href=\"https://wws.lanzoux.com/b01o181bc\";\n$(\"a4\").innerHTML=\"提取码 dxkl\";\n$(\"a5\").innerHTML=\"21.?.?? .\"}\n</script><script>\nfunction c3_07(){\n$(\"a0\").innerHTML=\"酷安@长歌2021\";\n$(\"a1\").innerHTML=\"书源*3000⁺丨下载\";\n$(\"a1\").href=\"https://wwe.lanzoui.com/b01ochssb\";\n$(\"a2\").innerHTML=\"提取码 5igt\";\n$(\"a3\").innerHTML=\"\";\n$(\"a3\").href=\"\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.?.?? .\"}\n</script><script>\nfunction c3_08(){\n$(\"a0\").innerHTML=\"酷安@未月十八\";\n$(\"a1\").innerHTML=\"书源下载\";\n$(\"a1\").href=\"https://wwa.lanzoui.com/iqVZLsb0mfg\";\n$(\"a2\").innerHTML=\"\";\n$(\"a3\").innerHTML=\"新丨大整合书源丨下载\";\n$(\"a3\").href=\"https://wwa.lanzoui.com/ifTVJtbdl8h\";\n$(\"a4\").innerHTML=\"提取码 wy108\";\n$(\"a5\").innerHTML=\"21.8.29 .\"}\n</script><script>\nfunction c3_09(){\n$(\"a0\").innerHTML=\"酷安@秋月枫叶\";\n$(\"a1\").innerHTML=\"精品源*20丨下载\";\n$(\"a1\").href=\"https://ygdmw.lanzoui.com/icuivhi\";\n$(\"a2\").innerHTML=\"\";\n$(\"a3\").innerHTML=\"精选源*53丨下载\";\n$(\"a3\").href=\"https://ygdmw.lanzoui.com/id3fnddpbwj\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.?.?? .\"}\n</script><script>\nfunction c3_10(){\n$(\"a0\").innerHTML=\"酷安@片恋将为\";\n$(\"a1\").innerHTML=\"个人优化源丨下载\";\n$(\"a1\").href=\"https://wwa.lanzoui.com/b0axoy41c\";\n$(\"a2\").innerHTML=\"提取码 4hot\";\n$(\"a3\").innerHTML=\"\";\n$(\"a3\").href=\"\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.?.?? .\"}\n</script><script>\nfunction c3_11(){\n$(\"a0\").innerHTML=\"酷安@天上的鱼儿飞呀飞\";\n$(\"a1\").innerHTML=\"321源丨下载\";\n$(\"a1\").href=\"https://wwe.lanzoux.com/iaAwrok4yjg\";\n$(\"a2\").innerHTML=\"\";\n$(\"a3\").innerHTML=\"\";\n$(\"a3\").href=\"\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.?.?? .\"}\n</script><script>\nfunction c3_12(){\n$(\"a0\").innerHTML=\"酷安@于花都之中\";\n$(\"a1\").innerHTML=\"书源下载\";\n$(\"a1\").href=\"https://wws.lanzoui.com/b0269ornc\";\n$(\"a2\").innerHTML=\"提取码 2333\";\n$(\"a3\").innerHTML=\"\";\n$(\"a3\").href=\"\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.?.?? .\"}\n</script><script>\nfunction c3_13(){\n$(\"a0\").innerHTML=\"酷安@笛寄明月楼\";\n$(\"a1\").innerHTML=\"男频源*13丨下载\";\n$(\"a1\").href=\"https://wwe.lanzoui.com/iwYfWq6mswj\";\n$(\"a2\").innerHTML=\"提取码 614218\";\n$(\"a3\").innerHTML=\"\";\n$(\"a3\").href=\"\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.?.?? .\"}\n</script><script>\nfunction c3_14(){\n$(\"a0\").innerHTML=\"酷安@路遥星亦辞\";\n$(\"a1\").innerHTML=\"3.0源丨下载\";\n$(\"a1\").href=\"https://qiling.lanzoui.com/iQxgcro6bfi\";\n$(\"a2\").innerHTML=\"\";\n$(\"a3\").innerHTML=\"\";\n$(\"a3\").href=\"\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.7.21 .\"}\n</script><script>\nfunction c3_15(){\n$(\"a0\").innerHTML=\"酷安@夏目的余波\";\n$(\"a1\").innerHTML=\"书源*288丨下载\";\n$(\"a1\").href=\"https://wwa.lanzoui.com/u/%E7%BA%A2%E8%B0%B7%E6%BB%A9\";\n$(\"a2\").innerHTML=\"\";\n$(\"a3\").innerHTML=\"\";\n$(\"a3\").href=\"\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.?.?? .\"}\n</script><script>\nfunction c3_16(){\n$(\"a0\").innerHTML=\"酷安@不是质数也不是合数\";\n$(\"a1\").innerHTML=\"书源下载\";\n$(\"a1\").href=\"https://wwe.lanzoui.com/i7yJ0sfsm3g\";\n$(\"a2\").innerHTML=\"\";\n$(\"a3\").innerHTML=\"\";\n$(\"a3\").href=\"\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.8.?? .\"}\n</script><script>\nfunction c3_17(){\n$(\"a0\").innerHTML=\"酷安@励志当肚兜\";\n$(\"a1\").innerHTML=\"🔞源丨下载\";\n$(\"a1\").href=\"https://wwa.lanzoux.com/itX2moiqw4j\";\n$(\"a2\").innerHTML=\"提取码 bjvs\";\n$(\"a3\").innerHTML=\"\";\n$(\"a3\").href=\"\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.?.?? .\"}\n</script><script>\nfunction c3_18(){\n$(\"a0\").innerHTML=\"酷安@杞人忧天_x\";\n$(\"a1\").innerHTML=\"新丨书源下载\";\n$(\"a1\").href=\"https://wwa.lanzoui.com/i3C0hs6acja\";\n$(\"a2\").innerHTML=\"\";\n$(\"a3\").innerHTML=\"替换净化丨下载\";\n$(\"a3\").href=\"https://wwa.lanzoui.com/iPYvMrkqpib\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.?.?? .\"}\n</script><script>\nfunction c3_19(){\n$(\"a0\").innerHTML=\"酷安@鸡排饭加个蛋吧\";\n$(\"a1\").innerHTML=\"精选自用源*28丨下载\";\n$(\"a1\").href=\"https://wwe.lanzoui.com/iUlnssyctqj\";\n$(\"a2\").innerHTML=\"\";\n$(\"a3\").innerHTML=\"\";\n$(\"a3\").href=\"\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.8.?? .\"}\n</script><script>\nfunction c3_20(){\n$(\"a0\").innerHTML=\"酷安@该用户未设置名称\";\n$(\"a1\").innerHTML=\"轻小说文库丨下载\";\n$(\"a1\").href=\"https://wwa.lanzoui.com/iCmr8szkdkb\";\n$(\"a2\").innerHTML=\"\";\n$(\"a3\").innerHTML=\"\";\n$(\"a3\").href=\"\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.?.?? .\"}\n</script><script>\nfunction c3_21(){\n$(\"a0\").innerHTML=\"酷安@安争お\";\n$(\"a1\").innerHTML=\"8.1分享丨下载\";\n$(\"a1\").href=\"https://url91.ctfile.com/f/33061991-504407752-c64c48\";\n$(\"a2\").innerHTML=\"8011\";\n$(\"a3\").innerHTML=\"订阅*350丨下载\";\n$(\"a3\").href=\"https://url91.ctfile.com/f/33061991-505067550-f02384\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.8.1 .\"}\n</script><script>\nfunction c3_22(){\n$(\"a0\").innerHTML=\"酷安@kanalian\";\n$(\"a1\").innerHTML=\"书源*300⁺丨下载\";\n$(\"a1\").href=\"https://pan.bilnn.com/s/YgzGtW\";\n$(\"a2\").innerHTML=\"提取码 toubi\";\n$(\"a3\").innerHTML=\"书源*2000⁺丨下载\";\n$(\"a3\").href=\"https://pan.bilnn.com/s/NNeGSl\";\n$(\"a4\").innerHTML=\"提取码 senhora\";\n$(\"a5\").innerHTML=\"21.?.?? .\"}\n</script><script>\nfunction c3_23(){\n$(\"a0\").innerHTML=\"酷安@飞鸽信鸽\";\n$(\"a1\").innerHTML=\"自用源下载\";\n$(\"a1\").href=\"https://share.weiyun.com/RRkV4sLn\";\n$(\"a2\").innerHTML=\"\";\n$(\"a3\").innerHTML=\"\";\n$(\"a3\").href=\"\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.?.?? .\"}\n</script><script>\nfunction c3_24(){\n$(\"a0\").innerHTML=\"酷安@听一曲寂寥\";\n$(\"a1\").innerHTML=\"书源下载\";\n$(\"a1\").href=\"https://share.weiyun.com/lnwo5CDj\";\n$(\"a2\").innerHTML=\"\";\n$(\"a3\").innerHTML=\"\";\n$(\"a3\").href=\"\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.8.?? .\"}\n</script><script>\nfunction c3_25(){\n$(\"a0\").innerHTML=\"酷安@鱼离不开水\";\n$(\"a1\").innerHTML=\"500源丨下载\";\n$(\"a1\").href=\"https://pan.baidu.com/s/1dTnlqXHhi5F7aR4MVY65_g\";\n$(\"a2\").innerHTML=\"提取码 x0x6\";\n$(\"a3\").innerHTML=\"\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.?.? .\"}\n</script><script>\nfunction c3_26(){\n$(\"a0\").innerHTML=\"酷安@联发科牛批\";\n$(\"a1\").innerHTML=\"书源下载\";\n$(\"a1\").href=\"https://alywp.net/5NpEQY\";\n$(\"a2\").innerHTML=\"\";\n$(\"a3\").innerHTML=\"\";\n$(\"a3\").href=\"\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.?.?? .\"}\n</script><script>\nfunction c3_27(){\n$(\"a0\").innerHTML=\"酷安@太闲\";\n$(\"a1\").innerHTML=\"书源下载\";\n$(\"a1\").href=\"https://share.weiyun.com/1y2ZlxA8\";\n$(\"a2\").innerHTML=\"提取码 gdn8iq\";\n$(\"a3\").innerHTML=\"\";\n$(\"a3\").href=\"\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.8.?? .\"}\n</script><script>\nfunction c3_28(){\n$(\"a0\").innerHTML=\"酷安@逸团\";\n$(\"a1\").innerHTML=\"书源下载\";\n$(\"a1\").href=\"https://wwa.lanzoui.com/izpUBt9krni\";\n$(\"a2\").innerHTML=\"提取码 fzdq\";\n$(\"a3\").innerHTML=\"\";\n$(\"a3\").href=\"\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.8.?? .\"}\n</script>\n\n\n<script>\nfunction c4_01(){\n$(\"a0\").innerHTML=\"酷安@徽氚\";\n$(\"a1\").innerHTML=\"epub合集丨哈利波特&魔戒\";\n$(\"a1\").href=\"https://wwe.lanzoui.com/b01obivgh\";\n$(\"a2\").innerHTML=\"提取码 9tw2\";\n$(\"a3\").innerHTML=\"\";\n$(\"a3\").href=\"\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.?.?? .\"}\n</script><script>\nfunction c4_02(){\n$(\"a0\").innerHTML=\"酷安@刘作鹛\";\n$(\"a1\").innerHTML=\"6G飞卢小说分享丨下载\";\n$(\"a1\").href=\"https://pan.baidu.com/wap/init?surl=RfFG2P3z_e5hjgqS4st9Cg\";\n$(\"a2\").innerHTML=\"提取码 8bu8 丨 解压码 321\";\n$(\"a3\").innerHTML=\"\";\n$(\"a3\").href=\"\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.?.?? .\"}\n</script><script>\nfunction c4_03(){\n$(\"a0\").innerHTML=\"酷安@浪仙人\";\n$(\"a1\").innerHTML=\"epub丨我想吃了，你的胰脏\";\n$(\"a1\").href=\"https://pan.lanzou.com/ipy6Zsdg3yj\";\n$(\"a2\").innerHTML=\"提取码 fk7y\";\n$(\"a3\").innerHTML=\"<sup>新/</sup>epub丨青春猪头少年\";\n$(\"a3\").href=\"https://pan.lanzou.com/iuzHisswdpg\";\n$(\"a4\").innerHTML=\"提取码 6swp\";\n$(\"a5\").innerHTML=\"21.8.?? .\"}\n</script><script>\nfunction c4_04(){\n$(\"a0\").innerHTML=\"酷安@蚂蚁吃豆芽\";\n$(\"a1\").innerHTML=\"豆瓣top250图书(收藏版)\";\n$(\"a1\").href=\"https://www.aliyundrive.com/s/zmkyCQqFtUY\";\n$(\"a2\").innerHTML=\"\";\n$(\"a3\").innerHTML=\"新丨中国最美的气质套装\";\n$(\"a3\").href=\"https://www.aliyundrive.com/s/d5NMbgwPTma\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.?.?? .\"\n}\n</script>\n\n\n<script>\nfunction c5_01(){\n$(\"a0\").innerHTML=\"酷安@帝君\";\n$(\"a1\").innerHTML=\"第一版主丨复制粘贴导入\";\n$(\"a1\").href=\"https://cdn.jsdelivr.net/gh/orzend/Yuedu/dybz77.txt\";\n$(\"a2\").innerHTML=\"\";\n$(\"a3\").innerHTML=\"\";\n$(\"a3\").href=\"\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.?.?? .\"}\n</script><script>\nfunction c5_02(){\n$(\"a0\").innerHTML=\"酷安@格致k\";\n$(\"a1\").innerHTML=\"<sup>书源/</sup>期刊杂志丨复制粘贴导入\";\n$(\"a1\").href=\"https://pasteme.cn/123473\";\n$(\"a2\").innerHTML=\"提取码 1234\";\n$(\"a3\").innerHTML=\"<sup>订阅/</sup>知乎热榜丨复制粘贴导入\";\n$(\"a3\").href=\"https://pasteme.cn/140909\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.?.?? .\"}\n</script><script>\nfunction c5_03(){\n$(\"a0\").innerHTML=\"酷安@亡灵诗人\";\n$(\"a1\").innerHTML=\"订阅源*233丨导入\";\n$(\"a1\").href=\"yuedu://rsssource/importonline?src=http://shuyuan.miaogongzi.net/shuyuan/1622713264.json\";\n$(\"a2\").innerHTML=\"\";\n$(\"a3\").innerHTML=\"🔞丨99订阅丨导入\";\n$(\"a3\").href=\"yuedu://rsssource/importonline?src=http://shuyuan.miaogongzi.net/shuyuan/1626510726.json\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.?.?? .\"}\n</script><script>\nfunction c5_04(){\n$(\"a0\").innerHTML=\"酷安@Engels13\";\n$(\"a1\").innerHTML=\"31🔞订阅丨导入\";\n$(\"a1\").href=\"yuedu://rsssource/importonline?src=http://shuyuan.miaogongzi.net/shuyuan/1619856867.json\";\n$(\"a2\").innerHTML=\"\";\n$(\"a3\").innerHTML=\"\";\n$(\"a3\").href=\"\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.?.?? .\"}\n</script><script>\nfunction c5_05(){\n$(\"a0\").innerHTML=\"酷安@名字太难取了啊啊啊啊\";\n$(\"a1\").innerHTML=\"订阅源丨哔哩哔哩丨下载\";\n$(\"a1\").href=\"https://wwr.lanzoux.com/iBdEHoxut0b\";\n$(\"a2\").innerHTML=\"提取码 68qw\";\n$(\"a3\").innerHTML=\"\";\n$(\"a3\").href=\"\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.?.?? .\"}\n</script><script>\nfunction c5_06(){\n$(\"a0\").innerHTML=\"??@勿埋我心\";\n$(\"a1\").innerHTML=\"书源整合\";\n$(\"a1\").href=\"https://www.qian.blue/archives/SanQianShuYuan.html\";\n$(\"a2\").innerHTML=\"\";\n$(\"a3\").innerHTML=\"\";\n$(\"a3\").href=\"\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.?.?? .\"}\n</script><script>\nfunction c5_07(){\n$(\"a0\").innerHTML=\"酷安@苏寅 Tools\";\n$(\"a1\").innerHTML=\"书源整合\";\n$(\"a1\").href=\"https://suyin-tools.cn/d/kDyvaGLz/Tools/Android/%E9%98%85%E8%AF%BB%E7%A5%9E%E5%99%A8/%E9%98%85%E8%AF%BB\";\n$(\"a2\").innerHTML=\"\";\n$(\"a3\").innerHTML=\"\";\n$(\"a3\").href=\"\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.?.?? .\"}\n</script><script>\nfunction c5_08(){\n$(\"a0\").innerHTML=\"酷安@寻岞\";\n$(\"a1\").innerHTML=\"iOS 类阅读软件整合\";\n$(\"a1\").href=\"https://www.coolapk.com/feed/27077424?shareKey=OTgzNWI4NmVhMWE2NjBhODUxNDY~&shareUid=4339115&shareFrom=com.coolapk.market_11.1.5.1\";\n$(\"a2\").innerHTML=\"\";\n$(\"a3\").innerHTML=\"\";\n$(\"a3\").href=\"\";\n$(\"a4\").innerHTML=\"\";\n$(\"a5\").innerHTML=\"21.?.?? .\"\n}\n</script>\n❗️1、0、结束❗️\n❗️0、1、开始❗️\n<center><h2 style=\"color:#812424\">文字相关<br><textarea style=\"width:50%;height:60%;\">\n\n移动字体(走马灯)\n<marquee>\n\n\n文字居中\n<center>\n\n\n字体加粗\n<b>\n\n\n字体加大(可叠加)\n<big>\n\n\n字体原始样式(字体减小)\n<pre>\n\n</textarea><textarea style=\"width:50%;height:60%;\" >\n\n回车(换行)[单]\n<br>\n\n\n段落\n<p>\n\n\n行\n<tr>\n\n\n字体删除线\n<s>\n\n</textarea><textarea style=\"width:100%;height:40%;\" >\n\n自定义字体大小\n<h1>\n从h1-h6  h1最大 h6最小\n\n\n自定义字体颜色     \n<font color='#value'>文字</font>\n\nsize=\"1-7\"(字体大小)\n\n\n\n\n标签，隐藏\n<details>\n<summary>标题</summary>\n内容\n</details>\n\n\ndiv(无边框，可以改宽度)\n<div style=\"width:自定义数字px;height:0px\">内容</div>\n\n\n创建一个文本框(就是现在这个)\n<textarea style=\"width:100%;height:25%;\">\n\n</textarea>链接相关<textarea style=\"width:100%;height:50%;\" >\n\n跳转链接网站\n<a href='链接'>名称</a>\n\n\n直接显示图片\n<embed type=\"image/jpg\" src=\"链接\" width=\"50\" height=\"50\">\n\n\n直接显示网页\n<iframe src='链接' width='100%'\nheight='100%'></iframe>\n\n</textarea>背景相关<textarea style=\"width:100%;height:40%;\" >\n\n自定义背景颜色\n<body bgcolor='#value'>\n\n\n自定义背景图片\n<body background='链接'>\n\n\n自定义背景音乐\n<embed src=\"链接\" autostart=\"true\" loop=\"true\" width=\"0\" height=\"0\">\n\n</textarea>一键导入<textarea style=\"width:100%;height:45%;\" >\n\n[书源]一键导入格式\n<a href=\"yuedu://booksource/importonline?src=链接\">名称</a>\n\n\n[订阅]一键导入格式\n<a href=\"yuedu://rsssource/importonline?src=链接\">名称</a>\n\n\n[替换净化]一键导入格式\n<a href=\"yuedu://replace/importonline?src=链接\">名称</a>\n\n</textarea>不会用的<textarea style=\"width:100%;height:30%;\" >\n\n视频\n<video src=\"链接\" width=\"100%\" height=\"100%\"></video>\n\n\n贴影视文件\n<img dynsrc='链接' width='100%' height='100%' start=mouseover>\n\n</textarea><body background='http://s2.zimgs.cn/ims?kt=url&at=smstruct&key=aHR0cHM6Ly9jLXNzbC5kdWl0YW5nLmNvbS91cGxvYWRzL2l0ZW0vMjAyMDAzLzI2LzIwMjAwMzI2MTEyNzA3X3V0bHNjLnRodW1iLjEwMDBfMC5qcGc=&sign=yx:V9ldJ6662lgI0dHWWIE-tqsYk-c=&tv=400_400' body\nbgproperties=fixed>\n❗️0、1、结束❗️\n❗️1、1、开始❗️\n<b><center><h3>📥丨阅读下载</h3><br><font color=\"#812424\"><big><big>3.0</big></big></font>丨<a href='https://kunfei.lanzoux.com/b0f810h4b'>测试版丨<a href='https://github.com/gedoor/legado/blob/master/app/src/main/assets/updateLog.md'>更新日志<p><br><a href='https://kunfei.lanzoux.com/b0f7pt4ja'>蓝奏云丨点击下载<p><br><a href='https://www.90pan.com/o138704'>90云盘丨点击下载<p><br><a href='https://github.com/gedoor/legado/releases'>GitHub丨点击下载</a><p><br><h3>───── 分──割──线 ─────</h3><br><font color=\"#812424\"><big><big>2.0</big></big></font>丨<a href='https://github.com/gedoor/MyBookshelf/blob/master/app/src/main/assets/updateLog.md'>更新日志<p><br><a href='https://kunfei.lanzoux.com/b0f7pt4hi'>蓝奏云丨点击下载<p><br><a href='https://www.90pan.com/o138703'>90云盘丨点击下载<p><br><a href='https://github.com/gedoor/MyBookshelf/releases'>GitHub丨点击下载\n❗️1、1、结束❗️\n❗️1、2、开始❗️\n<center><b><embed type=\"image/jpg\" src=\"http://ku.mumuceo.com/static/images/applogo/yuedu.png\" width=\"50\" height=\"50\"><br>阅读<p><a href='https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzIzMTc0NzE1MQ==&action=getalbum&album_id=1429936613618188289&scene=126#wechat_redirect'>使用教程、<a href='https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzIzMTc0NzE1MQ==&action=getalbum&album_id=1337256947799916544&scene=126#wechat_redirect'>书源分享、<a href='https://www.yuque.com/legado'>语雀官网、<a href='https://alanskycn.gitee.io/teachme'>规则描述</a><p><br><embed type=\"image/jpg\" src=\"http://mmbiz.qpic.cn/mmbiz_png/hpfMV8hEuL2eS6vnCxvTzoOiaCAibV6exBzJWq9xMic9xDg3YXAick87tsfafic0icRwkQ5ibV0bJ84JtSuxhPuEDVquA/0?wx_fmt=png\" width=\"50\" height=\"50\"><br>小说拾遗<p><a href=\"https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzI2MDg2NjAwMg==&action=getalbum&album_id=1319671603470581762&scene=173&subscene=91&sessionid=1619315396&enterid=1619315465&from_msgid=2247489143&from_itemidx=1&count=3&nolastread=1#wechat_redirect\">书单分享、<a href=\"https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzI2MDg2NjAwMg==&action=getalbum&album_id=1319666229510193155&scene=173&subscene=91&sessionid=1619315396&enterid=1619315479&from_msgid=2247489120&from_itemidx=1&count=3&nolastread=1#wechat_redirect\">潜力新书、<a href=\"https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzI2MDg2NjAwMg==&action=getalbum&album_id=1319668267623170050&scene=173&subscene=91&sessionid=1619315396&enterid=1619315441&from_msgid=2247489153&from_itemidx=1&count=3&nolastread=1#wechat_redirect\">完结小说、<a href=\"https://mp.weixin.qq.com/mp/appmsgalbum?action=getalbum&album_id=1319675692849872897&__biz=MzI2MDg2NjAwMg==#wechat_redirect\">女频小说</a><p><br><embed type=\"image/jpg\" src=\"http://img.100weidu.com/weixin/head/MzI5NTA4NjgwNw==\" width=\"50\" height=\"50\"><br>赤戟的书荒救济所<p><a href=\"https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzI5NTA4NjgwNw==&action=getalbum&album_id=1319454340050157569&scene=173&subscene=91&sessionid=1619326853&enterid=1619327650&from_msgid=2647743292&from_itemidx=1&count=3&nolastread=1#wechat_redirect\" >网文推书、<a href=\"https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzI5NTA4NjgwNw==&action=getalbum&album_id=1319471313224040448&scene=173&subscene=91&sessionid=1619326853&enterid=1619326864&from_msgid=2647743197&from_itemidx=1&count=3&nolastread=1#wechat_redirect\" >澎湃精选、<a href=\"https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzI5NTA4NjgwNw==&action=getalbum&album_id=1526356920989712387&scene=173&subscene=91&sessionid=1619326853&enterid=1619327736&from_msgid=2647743086&from_itemidx=1&count=3&nolastread=1#wechat_redirect\" >年度盘点、<a href=\"https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzI5NTA4NjgwNw==&action=getalbum&album_id=1333946780098330626&scene=173&subscene=91&sessionid=1619326853&enterid=1619327489&from_msgid=2647743307&from_itemidx=1&count=3&nolastread=1#wechat_redirect\" >网文杂谈</a><p><br><embed type=\"image/jpg\" src=\"链接\" width=\"50\" height=\"50\"><br>推书、寻书<p><a href='https://vt.sm.cn/api/novelStarReco/index?uc_param_str=dnntnwvepffrgibijbprsvdsdicheiniut#'><sup>精/</sup>星云寻书 <p><a href=\"https://quark.sm.cn/api/rest?method=Novelnew.home&format=html&schema=v2&gender=male&cate=全部&rank=rank_hot\"><sup>㊕</sup>夸克小说排行榜、<a href=\"https://www.douban.com/group/658662/discussion?start=0\"><sup>㊝</sup>豆瓣小说打分器<p><a href='https://www.yousuu.com'>优书网、<a href='https://www.tuishujun.com'>推书君、<a href='http://www.wencaijia.com'>书荒啦、<a href='https://www.basequan.com'>芭莳圈、<a href='https://www.qidiantu.com'>起点图</a><p>↓有登录需求↓<br><a href='http://www.saowen.net'>扫文小院、<a href='http://www.txtnovel.top'>书香门第、<a href='http://www.lkong.net'>龙空论坛\n❗️1、2、结束❗️\n❗️1、3、开始❗️\n<b><h3 style=\"color:#812424\" align=\"center\">📥丨朗读引擎&字体下载</h3><h4><details><summary>作者闲话</summary><br>21.4.30前找到的各朗读引擎\"最新\"版本分享整合<p>ps:除了(大声朗读)和(新大声朗读)<br>其他的引擎作者并没有体验过，不知道引擎能不能用，好不好用<p>pps:如果使用离线朗读，(讯飞相关引擎)'个人感觉'下一个<官方版本>的讯飞语记就行了<p>小爱朗读引擎据说只有小米手机才能听</details><p><br><details open><summary align=\"right\">【精品】引擎&字体</summary><center><br>Ag2S20150909<h4><a href='https://cdn.jsdelivr.net/gh/ag2s20150909/TTS@master/release'>【精】新大声朗读</a><p><br>渊呀<p><a href='https://pan.baidu.com/s/1SCxYdguzjcwUfPO1Ba-evg'>度盘: 8000字体丨点击下载</a><br>提取码 yuan<p><a href='http://m.fonts.net.cn'>网站: 字体天下<p><a href='www.zitiguanjia.com'>网站: Aa字库</a></details><p><br><details><summary>字体下载</summary><center><br>乐珣<p><a href='https://wws.lanzoux.com/b01hofuqj'>107字体丨点击下载</a><br>提取码 fgrw<p><br>人送匪号丶龙哥哥<p><a href='https://wws.lanzoux.com/iEn4ahq0s6h'>5个<font color='#812424'>拼音</font>字体丨点击下载</a><br>提取码 brcn<p><br>松屿<p><a href='https://pan.baidu.com/s/1h8j3TO3RXaZismRlpCtQ8g'>度盘: 409字体丨点击下载</a><br>提取码 wx03</details><p><br><details><summary align=\"right\">朗读引擎</summary><center><br>丨丨丨丨丨<p><a href='https://wwa.lanzoux.com/b05h5wbzg'>【精】大声朗读<br>0.8 21.4.28丨点击下载</a><br>提取码 readaloud<p><br>大雨打湿衣<p><a href='https://pan.baidu.com/s/1to6mfzpJ3CcvYjlo5k0xEw'>度盘: 谷歌&讯飞&度秘丨点击下载</a><br>提取码 9kcs</center><details><summary>Google文字转语音引擎</summary><center><br>已修改用戶名<p><a href='https://asun.lanzoux.com/tp/iMzSfn0kgva'>24.9.361717975(210316632)丨点击下载</a><p><br>亡灵诗人<p><a href='https://21sqw.lanzoux.com/ihnVvl1tn0j'>点击下载</a></details><br><details><summary>小爱语音引擎</summary><center><br>相爱不能见<p><a href='https://wwi.lanzoux.com/i7b8qo361yd'>小爱语音引擎1.2.8丨点击下载</a><p><br>亡灵诗人<p><a href='https://21sqw.lanzoux.com/iceGXkyoved'>点击下载</a></details><br><details><summary>度秘语音引擎</summary><center><br>LV老酱<p><a href='https://onecat.lanzoux.com/tp/iePPeim8gla'>3.0-1.0.15丨点击下载</a><p><br>阿卡比拉奇<p><a href='https://cloud.189.cn/t/FBRV3qArmY7r'>【下载需要登录天翼云账号】</a><br>提取码 g8j8<p><br>亡灵诗人<p><a href='https://21sqw.lanzoux.com/iUtqekyou3g'>分享1丨点击下载</a><p><a href='https://pan.baidu.com/s/1xRHwRsjDAgtLusrHvCOXUQ'>度盘: 分享2丨点击下载</a><br>提取码 xs3u</details><br><details><summary>讯飞相关引擎</summary><center><br>风雨满楼<p><a href='http://dl4.downname.com/apk/xunfeiyuji%20vip.apk'>讯飞语记 5.6.1301-会员版丨点击下载</a><p><br>云劲子<p><a href='https://cloud.189.cn/t/jqEruebUbiei'>【下载需要登录天翼云账号】</a><p><br>亡灵诗人<p><a href='https://21sqw.lanzoux.com/i2ilrcf'>讯飞语记去广告丨点击下载<p><a href='https://21sqw.lanzoux.com/iFxEqiwc1ra'>讯飞语音破解版丨点击下载<p><a href='https://21sqw.lanzoux.com/i2io1wh'>讯飞tts丨点击下载</details>\n❗️1、3、结束❗️\n❗️1、4、开始❗️\n<center><b><br>📥丨体验没那么好的下载网站整合<p><br><br><big>↓书籍下载↓</big><p><a href=\"https://m.txt8080.com\">80电子书、<a href=\"http://m.xshuyaya.cc\">YY电子书、<a href=\"https://m.xiaxs.la\">TXT小说、<a href=\"https://m.xbookben.com\">新书本<p><a href=\"https://m.kankezw.com\">奇书网、<a href=\"http://m.llskw.com\">来奇网、<a href=\"https://m.aoyetxt.com\"><sup>慢/</sup>熬夜电子书</a><p><a href=\"https://sobooks.cc\">SoBooks</a><br>下载按钮有点迷<p><a href=\"https://bks.thefuture.top\">THEFUTURE</a><br>加载慢<p><a href=\"https://m.baoshuu.com\">宝书网</a><br>和趣书网一个书库? 趣书的排版更好看<p><a href=\"http://www.jingjiaoba.com\">精校吧</a><br>不更新了丨城通网盘<p><br>↓有登录需求↓<br><a href=\"https://cloud.yuedu.pro\">阅读链、<a href=\"https://m.tianxilang.com\">添喜郎、<a href=\"http://www.1050qm.com/forum.php?forumlist=1&mobile=2\">阡陌居、<a href=\"https://www.goodepub.com\">星空书海</a><p><br>↓需要微信↓<br><a href=\"http://www.toplinks.cc\">淘链客<sup>需要扫码、<a href=\"https://www.jiumodiary.com\">鸠摩搜书<sup>需要扫码<h4><a href=\"https://ebook.huzerui.com\">熊猫搜书<sup>需要关注公众号</a><h4><br><br>↓PC端↓<br><a href=\"http://www.banshujiang.cn\">搬书匠、<a href=\"http://www.freexiaoshuo.com\">免费小说、<a href=\"http://www.pdfbook.cn\">云海图书馆<p><a href=\"http://www.haodoo.net\">好读<sup>加载慢、<a href=\"https://www.inien.com\">亿年书<sup>屏蔽移动<p><a href=\"http://www.dududog.com\">读读狗<sup>有登录需求</a><p><br>↓有付费需求↓<br><a href=\"https://www.qqszz.com\">千秋书在、<a href=\"http://www.txtnovel.top\">书香门第<sup>论坛<p><a href=\"http://fast8.com\">快吧软件<sup>PC端</sup>(早期分享的免费)</a><p><br>↓慎点: 代码跳网站↓<br><a href=\"https://m.kanbang.cc\">看帮网、<a href=\"http://m.xxqishu.com\">新奇书网、<a href=\"https://www.555x.org\">无限小说网<sup>屏蔽移动\n❗️1、4、结束❗️\n❗️1、5、开始❗️\n<center><b><br>导航&软件分组的不常用网站?<br>ps:感觉夜河&八神没啥名声就移到这了<p><br>↓导航网站整合↓<p><a href=\"http://zhiyun.han.cx/t/ca.html\"><sup>㊕ </sup>智云导航<p><a href=\"http://hao.uc.cn\">UC导航、<a href=\"http://h5.mse.360.cn\">360导航、<a href=\"http://dh.123.sogou.com\">搜狗导航<p><a href=\"http://www.016.cn\">016导航、<a href=\"https://www.24kdh.com\">24K导航、<a href=\"https://www.ak47s.cn\">AK47导航、<a href=\"https://m.bidianer.com\">笔点导航<p><a href=\"https://uz456.com\">UZ导航、<a href=\"http://m.hao123.com\">123导航、<a href=\"http://wap.1234wu.com\">123导航²、<a href='http://www.xinxiudh.com'>新秀导航</a><p><br>↓软件下载网站整合↓<p><a href=\"http://www.yehes.com/category/shouji\">夜河资源、<a href=\"http://zntx.org.cn/download/book_list.aspx?siteid=956&action=new\">八神论坛、<a href='https://domye.xyz'>软件推荐<p><a href=\"https://bbs.binmt.cc/forum.php?mod=forumdisplay&fid=52&filter=lastpost&orderby=lastpost\">MT论坛<sup>有登录及回复需求<p><a href=\"http://bbs.lieyou888.com/forum-115-0-0-1.html\">芥子空间<sup>PC端<p><a href=\"http://www.fast8.com/list/2_1.html\">快吧软件<sup>PC端</sup>有登录需求\n❗️1、5、结束❗️\n❗️1、6、开始❗️\n<center><b><br>不常用的在线工具<p><br>↓在线工具↓<p><a href=\"https://www.zixuephp.net/tool.html\">php自学、<a href=\"https://c.runoob.com\">菜鸟工具、<a href=\"https://tool.lu\">在线工具<p><a href=\"https://www.sojson.com\">SO JSON、<a href=\"http://www.jsons.cn/reg\">JSONS.CN、<a href=\"https://www.w3school.com.cn/tags/tag_a.asp\">W3school</a><p><br>↓? ? ?↓<p><a href='https://color.uisdc.com'>中国色彩、<a href='https://tool.mingdawoo.com'>近邻词汇<p><a href=\"https://lab.5ime.cn/video\">视频去水印、<a href='https://www.qyw0.com/tool/jiexi'>视频解析<p><a href=\"https://sou-yun.cn/STConvert.aspx\">繁简转换(搜韵)、<a href=\"https://www.acy.moe/sy\">兽音译者(喵呜版)</a><p><br>↓? ? ?↓<p><a href='https://music.xf1433.com'><sup>㊕</sup>音乐外链、<a href='https://search.chongbuluo.com'>资源搜索<sup>PC端<p><a href=\"http://www.gjw123.com\">123工具、<a href=\"http://tool.cccyun.cc\">彩虹工具、<a href=\"https://xhl97.cn\">小澎工具、<a href=\"https://tool.retiehe.com\">热铁盒<h4><a href=\"http://www.atoolbox.net\">一个工具箱<sup>有付费需求</a><p><br>↓网站检测↓<br><a href=\"https://gualemang.com\">网站挂了吗?(检测)、<a href=\"https://www.boce.com\">网站测速(PC端)</a><p><br>↓剪切板↓<br><a href=\"https://netcut.cn\">剪切板1、<a href=\"https://airportal.cn\">剪切板2、<a href=\"https://oc.to0l.cn\">剪切板3、<a href='https://txtpad.cn'>剪切板4</a><p><br>↓短网址↓<br><a href=\"https://4m.cn\">4M、<a href=\"https://www.ft12.com\">ft12、<a href=\"http://m.6du.in\">六度</a><p><br>↓图片相关↓<br><a href='http://www.uugai.com'>logo制作、<a href='https://ps.gaoding.com/sources/index.html'>在线PS<p><a href='https://www.sukoutu.com'>速抠图、<a href='http://matting.deeplor.com'>在线抠图<sup>PC端</a><p><br>↓图床↓<br><a href=\"https://www.hualigs.cn\">遇见、<a href=\"https://img.fghrsh.net\">Fghreh\n❗️1、6、结束❗️\n❗️1、7、开始❗️\n<center><b><br>不常用的无广影视网站<p><br>↓影视网站整合↓<br>\n<a href=\"http://www.bbbbbb.me\">思古导航</a><br>现在才三个影视网站，全安排了😘<p><a href=\"http://live.64ma.com\">CCTV:64码<p><a href=\"http://www.bimiacg.com\">哔咪动漫</a><p><br>↓各种剧↓<br><a href=\"https://m.hanjutv2020.com\">韩剧、<a href=\"https://m.taijutv.com\">泰剧、<a href=\"https://gimy.co\">gimy剧</a><p><br>↓???↓<br><a href=\"https://m.vodxc.in\">星辰、<a href=\"https://xn--tv-ks3d939o.xyz\">速影、<a href=\"https://www.novipnoad.com\">NO视频</a><p><br>↓数字影视↓<br><a href=\"https://m.88kan.com\">88影视、<a href=\"https://m.jjmeiju.com\">99美剧、<a href=\"https://329tv.net\">329影城</a><p><br>↓其他影视↓<br><a href=\"https://m.dyjihe.com\">电影集合、<a href=\"https://www.ku2000.com\">爱尚影视、<a href=\"https://www.kpkuang.com\">看片狂人、<a href=\"https://dsys.tv\">大师影视<p><a href=\"https://www.cupfox.com\">茶杯影视、<a href=\"http://m.zlyk.com\">周六影库、<a href=\"https://777tv.net\">小鸭影音、<a href=\"https://www.mayiyingshi.com\">蚂蚁影视\n❗️1、7、结束❗️\n❗️1、8、开始❗️\n<center><b><br>网盘&其他网站整合<br>ps:使用订阅会出现的网盘网站整理，加上几个分享书源的平台，一些不好分组的网站<p><br>↓网盘官网整合↓<br><a href=\"https://www.lanzoux.com\">蓝奏云、<a href=\"https:pan.baidu.com\">百度云<sup>PC端、<a href=\"https://cloud.189.cn\">天翼云<h4><a href=\"https://www.ctfile.com\">城通网盘、<a href=\"https://www.77file.com\">77file<sup>PC端、<a href=\"https://www.90pan.com\">90盘、<a href=\"https://www.wenshushu.cn\">文叔叔</a><p><br>↓书源分享平台?↓<br><a href=\"https://coding.net\">CODING、<a href=\"http://gitee.com\">Gitee</a><p><br>↓其他网站↓<br><a href=\"https://zh.wikihow.com/%E9%A6%96%E9%A1%B5\">Wiki How</a><br>基础指南<p><a href=\"https://yixi.tv/#\">一席</a><br>关于一些问题的探讨<p><a href=\"https://www.ear0.com\">EAR 聆</a><br>各种各样的声音<p><br>↓其他网站²↓<br><a href=\"https://bbs.tianya.cn/m/block.jsp?1493682600284\">天涯论坛<sup>定位尴尬<p><a href=\"https://xm.sb\">Pixiv ic<sup>加载慢、<a href=\"https://language.chinadaily.com.cn\">新闻资讯<sup>英文<p><a href=\"http://lackar.com/aa\">AnywhereAnything<sup>PC端<p><a href=\"https://oo1.win\">炫猿导航<sub>只是无法打开，网站没问题</a><p><br>↓搜索&翻译↓<p><a href=\"http://m.chinaso.com\">中国搜索、<a href=\"http://m.youdao.com\">有道翻译、<a href=\"https://translate.google.cn\">谷歌翻译、<a href=\"https://fanyi.baidu.com\">百度翻译</a><p><br>↓封面来源↓<p><a href=\"https://m.588ku.com\">千库网<p><a href=\"https://699pic.com\">摄图网<sup>手机端没有gif查看<p><a href=\"https://wap.ciweimao.com/setting/app_download_1\">刺猬猫の书籍封面<sup>点击下载\n❗️1、8、结束❗️\n❗️2、0、开始❗️\n<center><b><br><h3 style=\"color:#812424\">酷安@渊呀</h3><h5>链接支持长期订阅</h5><br><br><a href='yuedu://booksource/importonline?src=https://olixina.coding.net/p/yuedu/d/source/git/raw/master/bookSource.json?download=false'><marquee direction=up scrollamount=3 height=20 width=85px><center>刺猬猫<font color='#812424'>正版</font><br><br>书耽<font color='#812424'>正版</font><br><br><font color='#812424'>API</font>精品源</marquee>丨一键导入</a><details><summary align=\"right\"><h5>查看链接</summary>https://olixina.coding.net/p/yuedu/d/source/git/raw/master/bookSource.json?download=false</details><h5 align=\"right\"><a href='https://www.coolapk.com/feed/25598515?shareKey=MTE0N2QxMjIzY2RhNjA1MmJhZGI~&shareUid=4339115&shareFrom=com.coolapk.market_11.0'>书源发布页<br>评论区有详细介绍</h5><a href='https://pan.baidu.com/s/1SCxYdguzjcwUfPO1Ba-evg'>8000字体丨点击下载</a><br>提取码 yuan\n❗️2、0、结束❗️\n❗️2、1、开始❗️\n<center><b><br><h3 style=\"color:#812424\">酷安@挚爱晚行</h3><h5>链接支持长期订阅</h5><br><br><a href='yuedu://booksource/importonline?src=https://cdn.jsdelivr.net/gh/bushixuanqi/book-source/%E5%85%A8%E7%BD%91%E9%80%9A%E7%94%A8.json'><marquee direction=up scrollamount=3 height=20 width=100px><center><font color='#812424'>全网</font>搜书<br><br><font color='#812424'>通用</font>书源</marquee>丨一键导入</a><details><summary align=\"right\"><h5>查看链接</summary>https://cdn.jsdelivr.net/gh/bushixuanqi/book-source/%E5%85%A8%E7%BD%91%E9%80%9A%E7%94%A8.json<p></details><a href='yuedu://booksource/importonline?src=https://cdn.jsdelivr.net/gh/bushixuanqi/book-source/%E4%B9%A6%E6%BA%90%E5%90%88%E9%9B%86.json'>失效书源<font color='#812424'>修复</font>丨一键导入</a><details><summary align=\"right\"><h5>查看链接</summary>https://cdn.jsdelivr.net/gh/bushixuanqi/book-source/%E4%B9%A6%E6%BA%90%E5%90%88%E9%9B%86.json\n❗️2、1、结束❗️\n❗️2、2、开始❗️\n<center><b><br><h3 style=\"color:#812424\">酷安@北半球左岸</h3><h5>链接支持长期订阅?</h5><br><br><a href='yuedu://rsssource/importonline?src=http://yck.mumuceo.com/yuedu/rssyuan/jsons?id=819'><sup>订阅/</sup>仓库㊕㊝丨推书聚合丨一键导入</a><details><summary align=\"right\"><h5>查看链接</summary>http://yck.mumuceo.com/yuedu/rssyuan/jsons?id=819<p></details><a href='https://wwa.lanzoui.com/b03hsmkbc'>订阅下载</a><br>提取码 tsjh<h5 align=\"right\"><a href='https://www.coolapk.com/feed/27029209?shareKey=M2YzYjI1NzQ1MjRiNjBiYjY4ODk~&shareUid=4339115&shareFrom=com.coolapk.market_11.2.3'>订阅发布页\n❗️2、2、结束❗️\n❗️2、3、开始❗️\n<center><b><br><h3 style=\"color:#812424\">酷安@关耳010225</h3><h5>链接支持长期订阅</h5><br><br><a href='https://b23.tv/av801826172/p1'>⭐丨书源的制作过程<sup>bilibili<h5><a href='https://guaner001125.gitee.io/html/index.html'>一个网站，一些东西</h5><br><a href='yuedu://booksource/importonline?src=https://guaner001125.coding.net/p/coding-code-guide/d/booksources/git/raw/master/sources/guaner.json'><marquee direction=up scrollamount=3 height=15 width=40px>女频<br>晋江<br>耽美</marquee>丨一键导入</a><details><summary align=\"right\"><h5>查看链接</summary>https://guaner001125.coding.net/p/coding-code-guide/d/booksources/git/raw/master/sources/guaner.json<p></details><a href='yuedu://booksource/importonline?src=https://guaner001125.coding.net/p/coding-code-guide/d/booksources/git/raw/master/sources/guaner.txt'>旧版书源(阅读版本<21.7.7)导入<sup>不再更新</a><p><br><a href='yuedu://booksource/importonline?src=http://yck.mumuceo.com/d/17Dfg'>晋江<sup style=\"color:#812424\">API</sup>丨正版丨一键导入<p><br><a href='https://wwa.lanzoux.com/b05fs5ccd'>书源下载</a><br>提取码 guaner<p><br><a href='yuedu://rsssource/importonline?src=https://guaner001125.coding.net/p/coding-code-guide/d/booksources/git/raw/master/sources/guanerRSS.json'>一些订阅丨一键导入\n❗️2、3、结束❗️\n❗️2、4、开始❗️\n<center><b><br><h3 style=\"color:#812424\">酷安@haxc981</h3><h5>链接支持长期订阅</h5><br><br><a href='yuedu://booksource/importonline?src=https://haxc.coding.net/p/booksrc/d/booksrc/git/raw/master/Book3.0Source.json'>漫画源丨一键导入</a><details><summary align=\"right\"><h5>查看链接</summary>https://haxc.coding.net/p/booksrc/d/booksrc/git/raw/master/Book3.0Source.json\n❗️2、4、结束❗️\n❗️2、5、开始❗️\n<center><b><br><h3 style=\"color:#812424\">酷安@破冰pobing</h3><h5>链接支持长期订阅</h5><br><br><a href='yuedu://booksource/importonline?src=https://pbpobing.coding.net/p/yueduyuan/d/sy/git/raw/master/syhj.json'>自用源丨一键导入</a><details><summary align=\"right\"><h5>查看链接</summary>https://pbpobing.coding.net/p/yueduyuan/d/sy/git/raw/master/syhj.json<p></details>\n<a href='yuedu://booksource/importonline?src=https://pbpobing.coding.net/p/yueduyuan/d/sy/git/raw/master/50.json'>精选源丨一键导入</a><details><summary align=\"right\"><h5>查看链接</summary>https://pbpobing.coding.net/p/yueduyuan/d/sy/git/raw/master/50.json<p></details>\n<a href='yuedu://booksource/importonline?src=https://pbpobing.coding.net/p/yueduyuan/d/sy/git/raw/master/bqg.json'>笔趣阁丨一键导入</a><details><summary align=\"right\"><h5>查看链接</summary>https://pbpobing.coding.net/p/yueduyuan/d/sy/git/raw/master/bqg.json<p></details>\n<a href='yuedu://booksource/importonline?src=https://pbpobing.coding.net/p/yueduyuan/d/sy/git/raw/master/yshj.json'>有声源丨一键导入</a><details><summary align=\"right\"><h5>查看链接</summary>https://pbpobing.coding.net/p/yueduyuan/d/sy/git/raw/master/yshj.json<p></details>\n<a href='yuedu://booksource/importonline?src=https://gitee.com/z507525872/book-source/raw/master/yshj.json'>有声源丨备用链接</a><details><summary align=\"right\"><h5>查看链接</summary>https://gitee.com/z507525872/book-source/raw/master/yshj.json\n❗️2、5、结束❗️\n❗️2、6、开始❗️\n<center><b><br><h3 style=\"color:#812424\">酷安@namoferr</h3><h5>链接支持长期订阅</h5><br><br><a href='yuedu://booksource/importonline?src=https://namofree.gitee.io/yuedu3/legado3_booksource_by_Namo.json'>精简源丨一键导入</a><details><summary align=\"right\"><h5>查看链接</summary>https://namofree.gitee.io/yuedu3/legado3_booksource_by_Namo.json\n❗️2、6、结束❗️\n❗️2、7、开始❗️\n<center><b><br><h3 style=\"color:#812424\">酷安@onede</h3><p><br><br><a href='yuedu://booksource/importonline?src=http://shuyuan.miaogongzi.net/shuyuan/1626966311.json'>34精选源丨一键导入<sup>21.7.22\n❗️2、7、结束❗️\n❗️2、8、开始❗️\n<center><b><br><h3 style=\"color:#812424\">酷安@一程丶</h3><h5><a href='https://gitee.com/vpq/yd/blob/sy/README.md'>Gitee主页</h5><br><br><a href='yuedu://booksource/importonline?src=http://shuyuan.miaogongzi.net/shuyuan/1627741986.json'>综合源*270丨导入<sup>21.7.30<p><br><a href='yuedu://rsssource/importonline?src=http://shuyuan.miaogongzi.net/shuyuan/1627682222.json'>订阅源*203丨导入<sup>21.7.30<p><br><a href='https://wwi.lanzoux.com/b05hl9sf'>书源&订阅丨下载\n❗️2、8、结束❗️\n❗️2、9、开始❗️\n<center><b><br><h3 style=\"color:#812424\">酷安@天域战歌</h3><h5>链接支持长期订阅</h5><br><br><a href='yuedu://booksource/importonline?src=https://tianyuzhange.coding.net/p/booksource/d/shuyuan/git/raw/master/2.0shuyuan.json'><big>2.0源</big>丨导入</a><details><summary align=\"right\"><h5>查看链接</summary>https://tianyuzhange.coding.net/p/booksource/d/shuyuan/git/raw/master/2.0shuyuan.json<p></details><a href='yuedu://booksource/importonline?src=https://tianyuzhange.coding.net/p/booksource/d/shuyuan/git/raw/master/huahuo.json'><big>3.0源</big>丨导入</a><details><summary align=\"right\"><h5>查看链接</summary>https://tianyuzhange.coding.net/p/booksource/d/shuyuan/git/raw/master/huahuo.json<p></details><a href='https://tianyuzhange.lanzoui.com/iEBJgpcflyh'>1188(2.0源)丨下载<sup>21.5.23<p><br><a href='https://tianyuzhange.lanzoux.com/mimaweityzg'>🔞丨不可描述丨下载</a><br>提取码 tyzg\n❗️2、9、结束❗️\n───────── 分──割──线 ───\n{{}}\n<js>\nindex='{{$.index}}';\nif(index.match(/\\d+、\\d+、/)){\nreg=eval('/❗️'+index+'开始❗️[\\\\s\\\\S]+?❗️'+index+'结束❗️/g');\nreg2=eval('/❗️'+index+'..❗️/g');\nresult=result.match(reg)?result.match(reg)[0]:'<br/>'\nresult.replace(reg2,'')}else{result=''}\n</js>",
    "ruleImage": "$.src",
    "ruleLink": "$.index\n@js:\nif(!result.match(/^http/) && !result.match(/\\d+、\\d+、/)){\nresult=\"https://www.coolapk.com/link?url=\"+encodeURIComponent(result)\n}else{result=result}",
    "ruleNextPage": "",
    "rulePubDate": "$.intro",
    "ruleTitle": "$.text",
    "singleUrl": false,
    "sortUrl": "📑 说明::http://www.baidu.com?wd=yuedu://rsssource/importonline?src=http://yck.mumuceo.com/yuedu/rssyuan/jsons?id=765【】《每周一不稳定更新(大概)》◎建议周二导入◎•0、0、【https://wimg.588ku.com/gif/21/03/19/41c5fc0e6c67b2228d5df88508ee909d.gif】《📑丨21.8.30》◎更新了啥?丨各种说明◎•0、1、【https://wimg.588ku.com/gif/20/05/12/d9570839ef490ff08d959625cd759e4b.gif】《💠丨玩转自定义》◎自定义扩展操作一览◎•https://m.w3cschool.cn/regex_rmjc/regex_rmjc-n5a328cn.html【】《💠丨正则表达式30分钟入门》◎◎\n\n\n📕 周更::http://www.baidu.com?wd=1、0、【https://wimg.588ku.com/gif/20/04/16/21266ce30e8c267b0b11bd6fcd0415a4.gif】《🌟丨书源整合-重构》◎ 整合向丨书源丨订阅丨其他丨周更?◎•3、0、【】《㊕ 如月流光》◎【酷安绝版】3000⁺精校源丨21.8.19◎•www.legado.top【】《🎉丨阅读官网》◎www.legado.top◎•http://yuedu.juhua.fun/tool【】《🛠️丨发现美化与正则匹配》◎http://yuedu.juhua.fun/tool◎•1、2、【http://s2.zimgs.cn/ims?kt=url&at=ori&key=aHR0cDovL2hiaW1nLmh1YWJhbmltZy5jb20vYTE4OWYxYjdhYjlkOGFiZjg4NTA2NzczMDE1MjlhODFmNzI4ZWE1ZmUwOWE5LXkyQTJrc19mdzY1OA==&sign=yx:FvGQ7irtcKS9_L9OaBO1Wms7KVg=&tv=0_0】《📚丨推书，寻书》◎推书网站整合丨微信公众号◎•https://shouku123.com/suwako【】《📚丨小说网站整合》◎by 斯卡雷特家的一般通过妖精女仆◎\n\n\n🔎 常用::http://www.baidu.com?wd=http://www.wangdaxing.com【https://img95.699pic.com/photo/40140/9848.gif_wh860.gif】《🔎丨夸克导航》◎自带七大搜索引擎丨点击图标切换◎•https://bestming.gitee.io/search_tools/mobile.html【https://www.logoids.com/upload/2016-08/2/2016863364342115.gif】《🔎丨高级搜索》◎玩转百度引擎丨告别该死的广告◎•http://yck.mumuceo.com/yuedu/rssyuan/index.html【http://ku.mumuceo.com/static/images/applogo/yuedu.png】《🏚️丨源仓库[订阅]》◎yuedu/rssyuan/index.html◎•http://yck.mumuceo.com/yuedu/shuyuan/index.html【http://ku.mumuceo.com/static/images/applogo/yuedu.png】《🏚️丨源仓库[书源]》◎yuedu/shuyuan/index.html◎•http://yck.mumuceo.com/yuedu/theme/index.html【http://ku.mumuceo.com/static/images/applogo/yuedu.png】《🏚️丨源仓库[主题]》◎yuedu/theme/index.html◎•https://www.jianguoyun.com【https://th.bing.com/th/id/R18f5a341d646a6630dcd703a2da868a0?rik=Nw7LokW1Xwn%2ftA&riu=http%3a%2f%2fpic.baike.soso.com%2fugc%2fbaikepic2%2f27883%2f20170515133003-1667440676.jpg%2f300&ehk=0KvndMOp3VViGY48l%2f5BQVpFBfKRAijAVAzKvNd5nRs%3d&risl=&pid=ImgRaw】《☁️丨坚果 云备份》◎jianguoyun.com◎•http://mail.qq.com【https://th.bing.com/th/id/R5f68e8664922e36988ef1343a41c9089?rik=%2bT%2bLWjptKZ5cSw&riu=http%3a%2f%2fi1.qhimg.com%2fdr%2f270_500_%2ft019d84f1cf93e8c53d.png&ehk=hlFEFvp3DuZ9k%2bAYxRb%2feXDg6WTH4fWq%2fZ3mMOExeFQ%3d&risl=&pid=ImgRaw】《📭丨QQ邮箱》◎mail.qq.com◎\n\n\n📚 书源::http://www.baidu.com?wd=https://www.lanzoux.com/b0bw8jwoh【http://www.puhuajia.com/data/attachment/portal/201905/03/102949htrh3fpzwh3achff.jpg】《💠丨烏雲》◎ 替换丨净化◎•2、0、【https://wimg.588ku.com/gif/21/04/15/809b2cec0672919136ff6b1c19530acd.gif】《⭐丨渊呀》◎api精品源丨8000字体◎•2、1、【https://wimg.588ku.com/gif/20/11/11/03cabc6c6a4cb540cb2bf8d440091796.gif】《⭐丨不世玄奇》◎修复源丨全网搜书丨通用书源◎•2、2、【https://wimg.588ku.com/gif/21/04/15/09c17111ef8a7713656cd2b60de9f1c4.gif】《⭐丨北半球左岸》◎订阅源丨仓库㊕㊝丨悬浮窗の更多扩展◎•2、3、【https://img95.699pic.com/photo/40158/3822.gif_wh860.gif】《⭐丨关耳010225》◎ 女频向丨晋江丨耽美丨书源制作◎•2、4、【】《🎨丨haxc981》◎ 漫画源丨8.27更新◎•2、5、【】《🎧丨破冰6》◎ 有声源丨8.27更新◎•2、6、【】《📚丨namoferr》◎ 精简源丨主看起点丨8.30更新◎•2、7、【】《📚丨onede》◎ 精选源丨起点&晋江丨7.22更新◎•2、8、【】《📚丨一程丶》◎ 综合源丨订阅丨特殊丨7.30更新◎•2、9、【】《📚丨天域战歌》◎ 2.0源丨🔞丨1100⁺源丨7.25更新◎\n\n\n📥 下载::http://www.baidu.com?wd=1、1、【http://ku.mumuceo.com/static/images/applogo/yuedu.png】《🌟丨阅读下载》◎阅读3.0下载丨阅读2.0下载丨更新说明◎•1、3、【】《🌟丨朗读，字体》◎朗读引擎下载丨字体下载◎•1、4、【】《🌟丨其他下载》◎体验没那么好的下载网站◎•http://www.zxcs.me【】《⭐丨【精】知轩藏书》◎yyds丨屏蔽移动丨http://www.zxcs.me◎•https://m.zxcs.info【】《📥丨知轩藏书②》◎资源 77file盘丨https://m.zxcs.info◎•http://shuxiangjia.cn【】《🌏丨书享家》◎三个导航里最好用的?丨shuxiangjia.cn◎•https://bookfere.com/ebook【】《🌏丨书伴网》◎书籍下载网站导航丨bookfere.com◎•https://www.jioluo.com/9031/.html【】《🌏丨角落吧》◎书籍下载网站整合丨jioluo.com◎•https://www.iysw.net【】《📥丨万书网》◎🔞下载丨加载慢丨iysw.net◎•https://m.xiami88.com【】《📥丨虾米网》◎🔞下载丨屏蔽移动?丨和万书网一个排版，怀疑是同书库◎•https://m.qubook.net【】《📥丨趣书网》◎可能和宝书网同书库丨这个排版更好看◎•http://m.zei8.me【】《📥丨贼吧网》◎http://m.zei8.me◎•https://www.15huang.com【】《📥丨书荒网》◎https://www.15huang.com◎•https://www.shudan.vip/?btwaf=32683401&amp=1【】《📥丨书单网》◎https://www.shudan.vip/?btwaf=32683401&amp=1◎•https://pan.shudan.vip/list-1.html【】《📥丨书单网②》◎资源 城通网盘丨https://pan.shudan.vip/list-1.html◎•http://downnovel.com【】《📥丨Novel dl》◎http://downnovel.com◎•https://new.shuge.org【】《📥丨书格古籍》◎古籍丨https://new.shuge.org◎•https://cloud.189.cn/t/I7Fze2am2Azm【】《📥丨书格资源》◎资源 城通网盘丨https://cloud.189.cn/t/I7Fze2am2Azm◎•http://noveless.com【】《📥丨书荒部落》◎资源 城通网盘丨http://noveless.com◎•https://www.sxpdf.com【】《📥丨书行天下》◎https://www.sxpdf.com◎•https://m.zhijiandoukou.com【】《📥丨指尖豆蔻》◎https://m.zhijiandoukou.com◎•https://www.kgbook.com【】《📥丨苦瓜书盘》◎https://www.kgbook.com◎•http://m.44txt.com【】《📥丨思思电子书》◎http://m.44txt.com◎•https://www.aixdzs.com【】《📥丨爱下电子书》◎屏蔽移动丨下载在书籍页右上角◎•https://545c.com/dir/7823036-11625293-090948【】《📥丨图书馆资源》◎资源 城通网盘丨https://545c.com/dir/7823036-11625293-090948◎•https://cloud.189.cn/t/uAjqAjuyIzE3【】《📥丨出版社资源丨提取码 8vkr》◎资源 天翼云盘丨下载需要登录◎•https://sn9.us/dir/17192461-27868687-4e3441【】《📥丨掌阅，kindle，有声书籍》◎资源 城通网盘丨https://sn9.us◎\n\n\n🗂️ 软件::http://www.baidu.com?wd=1、5、【https://wimg.588ku.com/gif/20/12/04/be4e396db866fb261d9984d0d9ae135c.gif】《🌟丨导航，软件》◎不常用的导航&软件网站◎•https://dalao.ru【http://s2.zimgs.cn/ims?kt=url&at=smstruct&key=aHR0cHM6Ly9jLXNzbC5kdWl0YW5nLmNvbS91cGxvYWRzL2l0ZW0vMjAyMDAzLzI2LzIwMjAwMzI2MTEyNzA3X3V0bHNjLnRodW1iLjEwMDBfMC5qcGc=&sign=yx:V9ldJ6662lgI0dHWWIE-tqsYk-c=&tv=400_400】《⭐丨【精】不死鸟》◎https://iao.su丨https://dalao.ru◎•https://mailnav.cn【http://s2.zimgs.cn/ims?kt=url&at=ori&key=aHR0cHM6Ly9pbWcuemNvb2wuY24vY29tbXVuaXR5LzAxODJhNTVkNmYyMDhhYTgwMTIxNzZkN2YxZGY4OS5qcGdAMTI4MHdfMWxfMm9fMTAwc2guanBn&sign=yx:qqfhAlJGi-HDpoNnqPqP7gWhwdU=&tv=0_0】《📬丨㊕邮箱大全》◎邮箱&网盘&域名网站导航丨mailnav.cn◎•http://guozhivip.com/rank【】《🌏丨㊕果汁排行》◎各知名平台热搜整合◎•http://m.ilxdh.com【】《🌏丨㊝龙轩导航》◎较为优秀的导航网站◎•http://nav.lazymovie.me【】《🌏丨懒人导航》◎可能需要关注公众号◎•http://lazyman.ys168.com【】《🗂️丨懒人资源》◎PC端丨需要关注公众号◎•https://axutongxue.com【】《🗂️丨阿虚同学》◎https://axutongxue.com◎•https://www.sixyin.com/mobile【】《🗂️丨六音软件》◎https://www.sixyin.com/mobile◎•http://www.yxssp.com/os/android/page/1【】《🗂️丨异星软件》◎http://www.yxssp.com/os/android/page/1◎•https://www.52pojie.cn/forum.php?mod=forumdisplay&fid=16&filter=lastpost&orderby=lastpost&typeid=232【】《🗂️丨吾爱破解》◎有登录需求丨https://www.52pojie.cn◎•https://www.ghpym.com/category/all/android【】《🗂️丨果核剥壳》◎https://www.ghpym.com/category/all/android◎\n\n\n🛠️ 工具::http://www.baidu.com?wd=1、6、【https://wimg.588ku.com/gif/21/04/27/175a5b33900bf3092d98e51d59140e45.gif】《🌟丨在线工具》◎不常用的在线工具网站◎•http://shuyuan.miaogongzi.site【https://wimg.588ku.com/gif/21/04/13/29145bc998b1a99f8b82525bc1ba14e5.gif】《🛠️丨【精】书源外链》◎单个书源/复数书源丨网络导入◎•https://pasteme.cn【https://wimg.588ku.com/gif/21/03/15/88ae1c24c59bced99fab4daab3cf898a.gif】《🛠️丨㊕PasteMe》◎单个书源丨复制粘贴导入◎•https://ykjtb.com/c【】《🛠️丨㊝一块剪切板(15分钟)》◎或许你只是需要15分钟的临时分享◎•https://www.yeyulingfeng.com【】《🛠️丨夜雨聆风》◎https://www.yeyulingfeng.com◎•https://web.woobx.cn【】《🛠️丨一个木函》◎知名网站?丨https://web.woobx.cn◎•https://uutool.cn【】《🛠️丨UU在线》◎https://uutool.cn◎•https://www.yinsiduanxin.com【】《🛠️丨短信接收》◎https://www.yinsiduanxin.com◎•https://yunduanxin.net【】《🛠️丨短信接收②》◎https://yunduanxin.net◎•http://zhiyun.han.cx/dx/index.php【】《🛠️丨短信轰炸》◎http://zhiyun.han.cx/dx/index.php◎•http://zhiyun.han.cx/sfz【】《🛠️丨随机身份证》◎随机获取一个真实身份证◎\n\n🎨 漫画::http://www.baidu.com?wd=http://www.6mh7.com【http://s2.zimgs.cn/ims?kt=url&at=ori&key=aHR0cDovL2Itc3NsLmR1aXRhbmcuY29tL3VwbG9hZHMvaXRlbS8yMDE4MTAvMDQvMjAxODEwMDQxNTIyMzNfamFrbW0uanBn&sign=yx:cfWp5tfoFqOaLFbC40rhmVdSgsA=&tv=0_0】《🎨丨6 漫画》◎http://www.6mh7.com◎•http://qiman6.com【http://s2.zimgs.cn/ims?kt=url&at=ori&key=aHR0cDovL2Mtc3NsLmR1aXRhbmcuY29tL3VwbG9hZHMvaXRlbS8yMDIwMDYvMDkvMjAyMDA2MDkxMDQyMjFfaXdram8udGh1bWIuMTAwMF8wLmpwZw==&sign=yx:fRerONru78K1W9BZADB9CKua6mw=&tv=0_0】《🎨丨奇漫屋》◎http://qiman6.com◎•https://m.dongmanmanhua.cn【http://s2.zimgs.cn/ims?kt=url&at=ori&key=aHR0cDovL2Mtc3NsLmR1aXRhbmcuY29tL3VwbG9hZHMvaXRlbS8yMDE5MTAvMDUvMjAxOTEwMDUyMDE0NDRfdm1GSm4udGh1bWIuNzAwXzAuanBlZw==&sign=yx:5d7dd3jZae5ZnLkU3SdNdpPuoM8=&tv=0_0】《🎨丨咚漫漫画》◎https://m.dongmanmanhua.cn◎•http://www.migudm.cn【http://s2.zimgs.cn/ims?kt=url&at=ori&key=aHR0cDovL2Mtc3NsLmR1aXRhbmcuY29tL3VwbG9hZHMvaXRlbS8yMDIwMDEvMDUvMjAyMDAxMDUyMTM3MjZfRnhmd2YudGh1bWIuNDAwXzAuanBlZw==&sign=yx:rPTKFpba4ps79_8iMIZuU77XmdM=&tv=0_0】《🎨丨咪咕漫画》◎http://www.migudm.cn◎•https://m.dmzj1.com【http://s2.zimgs.cn/ims?kt=url&at=ori&key=aHR0cDovL3BpYy5xaWFueWU4OC5jb20vNGtkb25nbWFuM2FjMmM2NjctNzMxMy0zOTRhLWEzZGQtODY2ODBjNzVkYzFiLmpwZw==&sign=yx:fTeigik9ZStiMJ5DGl-DpQa0bhE=&tv=0_0】《🎨丨动漫之家》◎知名网站丨注意❗代码跳网站◎•https://www.kukk.net【】《🎨丨酷看漫丨加载慢》◎https://www.kukk.net◎•http://m.damotu.com【】《🎨丨大魔兔丨加载慢》◎http://m.damotu.com◎•https://kanmanhuala.com【】《🎨丨漫画啦丨含特殊》◎https://kanmanhuala.com◎•http://www.gllmh.com【】《👻丨鬼罗丽丨灵异向》◎http://www.gllmh.com◎•http://www.biqug.org【】《🎨丨笔趣漫丨广告: A》◎http://www.biqug.org◎•https://www.qimiaomh.com【】《🎨丨奇妙漫丨广告: A⁻》◎https://www.qimiaomh.com◎•http://m.mhba123.com【】《🎨丨漫画吧丨广告: B⁺》◎http://m.mhba123.com◎\n\n📺 影视::http://www.baidu.com?wd=1、7、【https://wimg.588ku.com/gif/20/12/21/9436c6a25cceac167ab2274492748bab.gif】《🌟丨无广影视》◎不常用的无广影视网站◎•http://dev.rubaoo.com/TimeDiaryV2/s/Zzg=【】《🌏丨网址收藏》◎导航丨http://dev.rubaoo.com/TimeDiaryV2/s/Zzg◎•http://www.549.tv【】《🌏丨影视森林》◎导航丨http://www.549.tv◎•https://m.cctv.com【】《📺丨CCTV》◎官网丨https://m.cctv.com◎•http://www.yhdm.tv【】《📺丨樱花动漫》◎http://www.yhdm.tv◎•https://www.nfmovies.com【】《📺丨奈非影视》◎思古推荐丨加载广告◎•http://m.kuaikan66.com【】《📺丨快看影视》◎思古推荐丨注意广告◎•https://m.wydy8.com【】《📺丨万影网》◎思古推荐丨注意广告◎•http://www.halihali2.com【】《📺丨哈哩哈哩》◎http://www.halihali2.com◎•https://www.zhaikanys.com【】《📺丨宅看影视》◎https://www.zhaikanys.com◎\n\n\n🎧 有声::http://www.baidu.com?wd=http://zhiyun.han.cx/uc/yy.html【】《智云丨音乐频道》◎http://zhiyun.han.cx/uc/yy.html◎•https://tingbook.cc【】《🎧丨听书网》◎https://tingbook.cc◎•http://m.ychy.com【】《🎧丨海洋听书》◎http://m.ychy.com◎•http://m.ting74.com【】《🎧丨74听书丨PC端》◎http://m.ting74.com◎•https://i.y.qq.com/n2/m【】《🎶丨QQ音乐》◎榜单最全丨代码高频跳应用◎•http://m.kugou.com【】《🎶丨酷狗音乐》◎http://m.kugou.com◎•http://m.kuwo.cn【】《🎶丨酷我音乐》◎http://m.kuwo.cn◎•https://music.163.com【】《🎶丨网易云音乐》◎https://music.163.com◎\n\n🔞 特殊::http://www.baidu.com?wd=https://huaban.com/favorite/beauty【http://c1.kuangxiangit.com/uploads/allimg/c200722/22-07-20105224-92963-100187005.jpg】《🌆丨花瓣网》◎https://huaban.com/favorite/beauty◎•https://a7a7.net/meitu【http://c1.kuangxiangit.com/uploads/allimg/c201116/16-11-20175552-47532-100204645.jpg】《🌆丨阿七美图》◎https://a7a7.net/meitu◎•http://pic.sogou.com/pic/searchList.jsp?uID=&v=5&statref=index_form_1&spver=0&rcer=&keyword=%E7%BE%8E%E5%A5%B3【】《🌆丨搜狗图片》◎http://pic.sogou.com/pic◎•https://www.mh-mh.com【】《🎨丨看漫画网》◎https://www.mh-mh.com◎•https://manhua.zsh8.com【】《🎨丨芝士豪八》◎https://manhua.zsh8.com◎•https://18comic.bet【】《🎨丨禁漫天堂》◎屏蔽联通?◎•http://z.zy40.cn/z/sejso.php【】《📺丨智云视频》◎网站出了点问题丨无法观看?◎•http://lutu.me【】《📺丨鲁兔视频》◎网站出了点问题丨无法观看?◎•https://www.feixuew.com【】《📥丨飞雪娱乐(🗂️)》◎屏蔽联通◎•http://m.u9h.com/top.html【】《📥丨5G资源网(🎮)》◎http://m.u9h.com/top.html◎•http://m.121down.com/azgame/galgame【】《📥丨121手机站(🎮)》◎http://m.121down.com/azgame/galgame◎\n\n\n\n💠 其他::http://www.baidu.com?wd=1、8、【https://wimg.588ku.com/gif/21/02/22/4cce7f9a52da2a5fe4ae49d3b264d59f.gif】《🌟丨网盘，其他》◎不常用的网盘&其他网站◎•http://qk.lifves.com【https://wimg.588ku.com/gif/21/04/27/77753c90bf49d61840d7c04c904cefea.gif】《⭐丨【精】期刊杂志》◎http://qk.lifves.com◎•https://liumingye.github.io/quarkHomePage/index.html【https://img.aneeo.com/2019/04/28/5cc5a33cc4c4c.jpg】《🔎丨夸克浏览》◎〔夸克导航〕H5仿制版丨长按图标设置◎•https://www.yikm.net【】《🎮丨㊕在线游戏》◎yikm.net◎•https://dos.zczc.cz【】《🎮丨㊕在线游戏②》◎dos.zczc.cz◎•https://www.crazygames.com【】《🎮丨㊕在线游戏③》◎英文丨crazygames.com◎•http://h.4399.com/wap/xyxRank.htm【】《🎮丨㊝4399》◎h.4399.com◎•https://picrew.me【】《🎮丨画一下?丨加载慢》◎日文丨https://picrew.me◎•https://www.arealme.cn【】《💠丨小数据研究所》◎各种小测试丨https://www.arealme.cn◎•https://www.cbaigui.com【】《💠丨志异: 知妖》◎显示更新浏览器:取消→确定◎•https://quouyu.cn【】《💠丨聊天①》◎去偶遇丨【荐】正经人谁聊天氪金啊◎•https://crosst.chat/?加油【】《💠丨聊天②》◎十字街丨好像聊不了◎•http://www.nmliao.cn/randomdeskrynewj1hcwk.html?v=j1hcwk【】《💠丨聊天③》◎匿名聊天①◎•http://59.110.239.57:8889/chat?username=加油【】《💠丨聊天④》◎匿名聊天②◎",
    "sourceComment": "",
    "sourceGroup": "🍺整合,R18",
    "sourceIcon": "https://www.930tu.com/favicon.ico",
    "sourceName": "整合Pro⁺",
    "sourceUrl": "网站整合 Pro⁺",
    "style": "\n\n/*消除链接下划线*/\na{text-decoration: none;}\n\n\n/*去除details小三角及边框*/\ndetails summary::-webkit-details-marker { display:none; }\nsummary{outline:none;}\n\n\n/*div样式〔渐变〕*/\n.渐变{border: 1px solid; border-image: -webkit-linear-gradient(90deg,#6772FF, #51E2F7) 5 10;}\n\n\n/*div样式〔按钮〕*/\n.按钮{\n/*背景颜色和字体颜色*/\nbackground:#f2ecde; color:#622a1d;\n/*边框大小及颜色(上，左，右，下)*/\nborder-top:2px   solid #dcdcdc;\nborder-left:2px   solid #dcdcdc;\nborder-right:2px   solid #a3a3a3;\nborder-bottom:2px   solid #a3a3a3;\n/*阴影大小及颜色(下，右下，右)*/\nbox-shadow: 1px 0px 1px #404040;\n/*文字与边框的距离(左，右)*/\npadding-left:2px;\npadding-right:2px;\n/*圆角弧度*/\nborder-radius:10px;\n/*宽与高*/\nwidth:90%;\nheight:25px;\n/*文字居中*/\ntext-align: center;\n}\n\n\n/*div样式〔背景〕*/\n.背景{\n/*背景颜色*/\nbackground-color:#f2ecde;\n/*圆角弧度*/\nborder-radius:15px;\n/*边框大小及颜色*/\nborder:2px   solid #622a1d;\n}"
  },
  {
    "articleStyle": 0,
    "customOrder": 27,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "⚙️ 工具,R18",
    "sourceIcon": "https://pic.topys.cn/editor/20190514/870545190.png",
    "sourceName": "TOPYS",
    "sourceUrl": "https://m.topys.cn"
  },
  {
    "articleStyle": 0,
    "customOrder": 27,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sortUrl": "",
    "sourceGroup": "影视,R18",
    "sourceIcon": "https://cdn.aiqingyu1314.com/mayi/statics/img/favicon.ico",
    "sourceName": "蚂蚁影视",
    "sourceUrl": "https://www.mayiyingshi.org/"
  },
  {
    "articleStyle": 0,
    "customOrder": 28,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": ".thumb-block",
    "ruleContent": "body@all\n<js>var URL=result.match(/\\('(https:.*?\\.*mp4\\?.*?)'/)[1];\nresult = URL.replace(/\\\\/g,\"\");\nresult =\"<video src=\"+result+\" width=\\\"100%\\\" height=\\\"100%\\\" autoplay      muted controls>  </video>\"\n</js>",
    "ruleImage": "img@data-src",
    "ruleLink": "tag.a.0@href",
    "ruleNextPage": "class.no-page next-page@href",
    "rulePubDate": "交流暗号🐧892966579       🕐{{@@class.duration@text}}",
    "ruleTitle": "a@title",
    "singleUrl": false,
    "sortUrl": "//搜索一设置源变量后再重进刷新下就行\n搜索一::https://s2.yxy57.icu/?k={{source.getVariable()}}\n\n\n//搜索二直接改搜索栏里的“k=”后面的文字就行\n搜索二::https://s2.yxy57.icu/?k=美女\n\n\n\n\n\n国产::https://s2.yxy57.icu/?k=国产\n欧美::https://s2.yxy57.icu/?k=欧美\n日韩::https://s2.yxy57.icu/?k=日韩\n白虎::https://s2.yxy57.icu/?k=白虎\n丝袜::https://s2.yxy57.icu/?k=丝袜\n中文::https://s2.yxy57.icu/?k=中文\n偷拍::https://s2.yxy57.icu/?k=偷拍\n",
    "sourceComment": "搜索的使用方法看注释",
    "sourceGroup": "R18",
    "sourceIcon": "https://i.postimg.cc/tT45zyZQ/9399ca50f4495079a2c4f54f268dcad6.gif",
    "sourceName": "玉羞园(免翻已修复)",
    "sourceUrl": "https://s2.yxy57.icu/"
  },
  {
    "articleStyle": 1,
    "contentWhitelist": "",
    "customOrder": 28,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "<js>\nJSON.parse(String(org.jsoup.Jsoup.parse(result).select(\"script[id='__NEXT_DATA__']\")).replace(/<.*?script.*?>/g,\"\")).props.pageProps.data\n</js>",
    "ruleContent": "<js>\nresult=result.match(/const source = '(https.*playlist.m3u8)';/)[1]\nresult = \"<video src=\\\"\" + result + \"\\\" width=\\\"100%\\\" height=\\\"240px\\\" controls=\\\"controls\\\" ></video>\";\r\nresult = \"<html><head><meta charset=\\\"utf-8\\\"><meta name=\\\"viewport\\\" content=\\\"width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no\\\" /><style>html,body{margin:0;padding:0;width:100%;}</style></head><body>\" + result + \"</body></html>\"\n</js>",
    "ruleImage": "img_preview",
    "ruleLink": "<js>/video/{{result._id}}</js>",
    "ruleNextPage": "page",
    "rulePubDate": "<js>\n📆 {{result.release}}&nbsp;⏱️ {{result.timeLengh}}\n</js>",
    "ruleTitle": "title",
    "singleUrl": false,
    "sortUrl": "巨乳::https://avple.tv/tags/1/{{page}}/date\n中出::https://avple.tv/tags/2/{{page}}/date\n人妻::https://avple.tv/tags/3/{{page}}/date\n出軌::https://avple.tv/tags/4/{{page}}/date\n熟女::https://avple.tv/tags/5/{{page}}/date\n不倫::https://avple.tv/tags/6/{{page}}/date\n主奴調教::https://avple.tv/tags/7/{{page}}/date\n凌辱強暴::https://avple.tv/tags/8/{{page}}/date\n制服誘惑::https://avple.tv/tags/9/{{page}}/date\n多P群交::https://avple.tv/tags/10/{{page}}/date\n絲襪美腿::https://avple.tv/tags/11/{{page}}/date\n少女::https://avple.tv/tags/12/{{page}}/date\n絲襪::https://avple.tv/tags/13/{{page}}/date\n乳交::https://avple.tv/tags/14/{{page}}/date\n黑絲::https://avple.tv/tags/15/{{page}}/date\n口爆::https://avple.tv/tags/16/{{page}}/date\n調教::https://avple.tv/tags/17/{{page}}/date\n潮吹::https://avple.tv/tags/18/{{page}}/date\n凌辱::https://avple.tv/tags/19/{{page}}/date\n美腿::https://avple.tv/tags/20/{{page}}/date\n強姦::https://avple.tv/tags/21/{{page}}/date\n輪姦::https://avple.tv/tags/22/{{page}}/date\n老師::https://avple.tv/tags/23/{{page}}/date\n短髮::https://avple.tv/tags/24/{{page}}/date\n誘惑::https://avple.tv/tags/25/{{page}}/date\n痴女::https://avple.tv/tags/26/{{page}}/date\n中文字幕::https://avple.tv/tags/27/{{page}}/date\nNTR::https://avple.tv/tags/28/{{page}}/date\n接吻::https://avple.tv/tags/29/{{page}}/date\n夫目前犯::https://avple.tv/tags/30/{{page}}/date\n年齡差::https://avple.tv/tags/31/{{page}}/date\n顏射::https://avple.tv/tags/32/{{page}}/date\n多P::https://avple.tv/tags/33/{{page}}/date\n眼鏡娘::https://avple.tv/tags/34/{{page}}/date\n運動裝::https://avple.tv/tags/35/{{page}}/date\n男友視角::https://avple.tv/tags/36/{{page}}/date\n童貞::https://avple.tv/tags/37/{{page}}/date\n溫泉::https://avple.tv/tags/38/{{page}}/date\n口交::https://avple.tv/tags/39/{{page}}/date\n按摩::https://avple.tv/tags/40/{{page}}/date\n深喉::https://avple.tv/tags/41/{{page}}/date\n學校::https://avple.tv/tags/42/{{page}}/date\n直接開啪::https://avple.tv/tags/43/{{page}}/date\n監獄::https://avple.tv/tags/44/{{page}}/date\n刑具::https://avple.tv/tags/45/{{page}}/date\n3P::https://avple.tv/tags/46/{{page}}/date\n漁網::https://avple.tv/tags/47/{{page}}/date\n肛交::https://avple.tv/tags/48/{{page}}/date\n校服::https://avple.tv/tags/49/{{page}}/date\n水著::https://avple.tv/tags/50/{{page}}/date\n美尻::https://avple.tv/tags/51/{{page}}/date\n處女作::https://avple.tv/tags/52/{{page}}/date\n綑綁::https://avple.tv/tags/53/{{page}}/date\n長身::https://avple.tv/tags/54/{{page}}/date\nOL::https://avple.tv/tags/55/{{page}}/date\n軟體::https://avple.tv/tags/56/{{page}}/date\n媚藥::https://avple.tv/tags/57/{{page}}/date\n盜攝偷拍::https://avple.tv/tags/58/{{page}}/date\n偷拍::https://avple.tv/tags/59/{{page}}/date\n4小時以上::https://avple.tv/tags/60/{{page}}/date\n魔鏡號::https://avple.tv/tags/61/{{page}}/date\n痙攣::https://avple.tv/tags/62/{{page}}/date\n貧乳::https://avple.tv/tags/63/{{page}}/date\n瞬間插入::https://avple.tv/tags/64/{{page}}/date\n圖書館::https://avple.tv/tags/65/{{page}}/date\n催眠::https://avple.tv/tags/66/{{page}}/date\n蘿莉::https://avple.tv/tags/67/{{page}}/date\n球隊經理::https://avple.tv/tags/68/{{page}}/date\n一日十回::https://avple.tv/tags/69/{{page}}/date\n過膝襪::https://avple.tv/tags/70/{{page}}/date\n女同歡愉::https://avple.tv/tags/71/{{page}}/date\n錄像::https://avple.tv/tags/72/{{page}}/date\n搜查官::https://avple.tv/tags/73/{{page}}/date\n護士::https://avple.tv/tags/74/{{page}}/date\n廁所::https://avple.tv/tags/75/{{page}}/date\n吊帶襪::https://avple.tv/tags/76/{{page}}/date\n泥醉::https://avple.tv/tags/77/{{page}}/date\n放尿::https://avple.tv/tags/78/{{page}}/date\n露出::https://avple.tv/tags/79/{{page}}/date\n和服::https://avple.tv/tags/80/{{page}}/date\n洗浴場::https://avple.tv/tags/81/{{page}}/date\n風俗娘::https://avple.tv/tags/82/{{page}}/date\n泡姬::https://avple.tv/tags/83/{{page}}/date\n巨漢::https://avple.tv/tags/84/{{page}}/date\n偶像::https://avple.tv/tags/85/{{page}}/date\n感謝祭::https://avple.tv/tags/86/{{page}}/date\n兔女郎::https://avple.tv/tags/87/{{page}}/date\nCosplay::https://avple.tv/tags/88/{{page}}/date\n腳交::https://avple.tv/tags/89/{{page}}/date\n汽車::https://avple.tv/tags/90/{{page}}/date\n醜男::https://avple.tv/tags/91/{{page}}/date\n復仇::https://avple.tv/tags/92/{{page}}/date\n無碼解放::https://avple.tv/tags/93/{{page}}/date\n逃犯::https://avple.tv/tags/94/{{page}}/date\n醫生::https://avple.tv/tags/95/{{page}}/date\n電車::https://avple.tv/tags/96/{{page}}/date\n女僕::https://avple.tv/tags/97/{{page}}/date\n主播::https://avple.tv/tags/98/{{page}}/date\n未亡人::https://avple.tv/tags/99/{{page}}/date\n泳池::https://avple.tv/tags/100/{{page}}/date\n情侶::https://avple.tv/tags/101/{{page}}/date\n白虎::https://avple.tv/tags/102/{{page}}/date\n男M::https://avple.tv/tags/103/{{page}}/date\n處女::https://avple.tv/tags/104/{{page}}/date\n黑人::https://avple.tv/tags/105/{{page}}/date\n家庭教師::https://avple.tv/tags/106/{{page}}/date\n健身房::https://avple.tv/tags/107/{{page}}/date\n獸耳::https://avple.tv/tags/108/{{page}}/date\n下雨天::https://avple.tv/tags/109/{{page}}/date\n家政婦::https://avple.tv/tags/110/{{page}}/date\n痴漢::https://avple.tv/tags/111/{{page}}/date\n空姐::https://avple.tv/tags/112/{{page}}/date\n旗袍::https://avple.tv/tags/113/{{page}}/date\n母乳::https://avple.tv/tags/114/{{page}}/date\n綜藝::https://avple.tv/tags/115/{{page}}/date\n便利店::https://avple.tv/tags/116/{{page}}/date\n紋身::https://avple.tv/tags/117/{{page}}/date\n時間停止::https://avple.tv/tags/118/{{page}}/date\n婚紗::::https://avple.tv/tags/119/{{page}}/date\n肉絲::https://avple.tv/tags/120/{{page}}/date\nSWAG::https://avple.tv/tags/122/{{page}}/date\n麻豆傳媒::https://avple.tv/tags/121/{{page}}/date\n果凍傳媒::https://avple.tv/tags/123/{{page}}/date\n皇家華人::https://avple.tv/tags/124/{{page}}/date\n精東影業::https://avple.tv/tags/125/{{page}}/date\n天美傳媒::https://avple.tv/tags/126/{{page}}/date\n星空傳媒::https://avple.tv/tags/127/{{page}}/date\n樂播傳媒::https://avple.tv/tags/128/{{page}}/date\n蜜桃傳媒::https://avple.tv/tags/129/{{page}}/date\n烏鴉傳媒::https://avple.tv/tags/130/{{page}}/date\n國產自拍::https://avple.tv/tags/131/{{page}}/date\n探花精選::https://avple.tv/tags/132/{{page}}/date\nHongKongDoll::https://avple.tv/tags/133/{{page}}/date\nNicoLove::https://avple.tv/tags/134/{{page}}/date\nFC2PPV::https://avple.tv/tags/135/{{page}}/date\n孟若羽::https://avple.tv/tags/136/{{page}}/date\n福利姬::https://avple.tv/tags/137/{{page}}/date\n台灣AV::https://avple.tv/tags/138/{{page}}/date",
    "sourceGroup": "成人视频,R18",
    "sourceIcon": "https://i.postimg.cc/q7MH2x2p/IMG-20220716-132525.jpg",
    "sourceName": "©Avple",
    "sourceUrl": "https://avple.tv/",
    "style": ""
  },
  {
    "articleStyle": 0,
    "customOrder": 28,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "⚙️ 工具,R18",
    "sourceIcon": "https://p.ssl.qhimg.com/dmsmflm/318_210_/ss/40_130/t01fd769330483feaa4.png",
    "sourceName": "优设",
    "sourceUrl": "https://www.uisdc.com"
  },
  {
    "articleStyle": 0,
    "customOrder": 29,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\n    'User-Agent': 'Mozilla/5.0 (Linux; Android 11; Pixel 3 XL Build/RQ3A.211001.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/102.0.4988.0 Mobile Safari/537.36 SearchCraft/3.9.2 (Baidu; P1 11) '\n}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "R18",
    "sourceIcon": "https://legado.cn/template/comiis_app/pic/icon114.png",
    "sourceName": "爱城影视",
    "sourceUrl": "https://90hd.top?from=VIP"
  },
  {
    "articleStyle": 0,
    "customOrder": 29,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "⚙️ 工具,R18",
    "sourceIcon": "https://bkimg.cdn.bcebos.com/pic/80cb39dbb6fd5266b9277876a918972bd4073647?x-bce-process=image/resize,m_lfit,h_700,limit_1/quality,Q_80",
    "sourceName": "胶片的味道",
    "sourceUrl": "http://letsfilm.org"
  },
  {
    "articleStyle": 0,
    "customOrder": 29,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginUrl": "",
    "singleUrl": true,
    "sourceComment": "by.不似苏",
    "sourceGroup": "阅读,R18",
    "sourceIcon": "https://pic.616pic.com/ys_bnew_img/00/40/60/lpnkWglWkG.jpg",
    "sourceName": "渔（源仓库）",
    "sourceUrl": "https://flowus.cn/youtiaoyu/share/07424af4-5afe-41b2-b95d-d8604cd2cda9"
  },
  {
    "articleStyle": 0,
    "customOrder": 30,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.list-col",
    "ruleContent": "{{@class.panel-body@html##<p.*?gif.*?p>}}{{@script@html##<script.*?realsrv.com.*|<script.*?poweredby.*|ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz.*}}{{@link@html}}\n<div class=\"phpage-bottom\">\n{{@id.next_series@li@html}}</div>",
    "ruleDescription": "",
    "ruleImage": "tag.img@data-original&&tag.img@src",
    "ruleLink": "tag.a.0@href@js:result.replace(/.*?album\\/(\\d+).*/g,\"https://orangeapp.cc/photo/$1\")",
    "ruleNextPage": "class.prevnext.0@href",
    "rulePubDate": "class.tags@text||class.video-views pull-left@text&&class.video-added@text",
    "ruleTitle": "tag.img@title",
    "singleUrl": false,
    "sortUrl": "搜索::/search/photos?search_query={{source.getVariable()==''?source.setVariable(\"处女\"):source.getVariable()}}&page={{page}}&main_tag=0\n总排行榜::https://jm-comic1.cc/albums?o=mv\n月排行榜::/albums?t=m&o=mv&page={{page}}\n周排行榜::/albums?o=mv&t=w&page={{page}}\n日排行榜::/albums?o=mv&t=t&page={{page}}\n                                                                                   特殊play/play::/\n连载更新::/promotes/26\n网站推荐::/promotes/27\nCG图集::/albums/doujin/sub/CG?page={{page}}\nCosplay::/albums/another/sub/cosplay?page={{page}}\n全彩::/search/photos?search_query=%E5%85%A8%E5%BD%A9&page={{page}}\n重口::/search/photos?search_query=%E9%87%8D%E5%8F%A3&page={{page}}\n口交::/search/photos?search_query=%E5%8F%A3%E4%BA%A4&main_tag=0&page={{page}}\n乳汁::/search/photos?search_query=%E4%B9%B3%E6%B1%81&main_tag=0&page={{page}}\n骑大车::/search/photos?search_query=%E9%A8%8E%E5%A4%A7%E8%BB%8A&main_tag=0&page={{page}}\n勇者::/search/photos?search_query=%E5%8B%87%E8%80%85&main_tag=0&page={{page}}\n魔物娘::/search/photos?search_query=%E9%AD%94%E7%89%A9%E5%A8%98&main_tag=0&page={{page}\n3D::/search/photo/?search_query=3D&page={{page}}\n魅魔::/search/photos?search_query=%E9%AD%85%E9%AD%94&page={{page}}\n精灵::/search/photos?search_query=%E7%B2%BE%E7%81%B5&main_tag=0&page={{page}}\n触手::/search/photos?search_query=%E8%A7%A6%E6%89%8B&main_tag=0&page={{page}}\n阿黑颜::/search/photos?search_query=%E9%98%BF%E9%BB%91%E9%A1%8F&page={{page}}\n扶他::/search/photos?search_query=%E6%89%B6%E4%BB%96&page={{page}}\n风的工坊::/search/photos?search_query=%E9%A2%A8%E7%9A%84%E5%B7%A5%E6%88%BF&page={{page}}\n4K汉化组::/search/photos?search_query=4k%E6%BC%A2%E5%8C%96%E7%B5%84&page={{page}}\n                                                                主题   A漫::/        vnbgfg                                                                                                                            \n剧情向::/search/photos?search_query=%E5%8A%87%E6%83%85%E5%90%91&page={{page}}\n纯爱::/search/photos?search_query=%E7%B4%94%E6%84%9B&page={{page}}\n痴女::/search/photos?search_query=%E7%99%A1%E5%A5%B3&page={{page}}\n自慰::/search/photos?search_query=%E8%87%AA%E6%85%B0&page={{page}}\n触手::/search/photos?search_query=%E8%A7%B8%E6%89%8B&page={{page}}\n魔物::/search/photos?search_query=%E9%AD%94%E7%89%A9&page={{page}}\n性转换::/search/photos?search_query=%E6%80%A7%E8%BD%89%E6%8F%9B&page={{page}}\n乱伦::/search/photos?search_query=%E4%BA%82%E5%80%AB&page={{page}}\n人妻::/search/photos?search_query=%E4%BA%BA%E5%A6%BB&page={{page}}\nNTR::/search/photos?search_query=NTR&page={{page}}\n校园::/search/photos?search_query=%E6%A0%A1%E5%9C%92&page={{page}}\n百合::/search/photos?search_query=%E7%99%BE%E5%90%88&page={{page}}\n师生::/search/photos?search_query=%E5%B8%AB%E7%94%9F&page={{page}}\n                                                                                                                                     角色/扮演::/无\n御姐::/search/photos?search_query=%E5%BE%A1%E5%A7%90&page={{page}}\n熟女::/search/photos?search_query=%E7%86%9F%E5%A5%B3&page={{page}}\n巨乳::/search/photos?search_query=%E5%B7%A8%E4%B9%B3&page={{page}}\n贫乳::/search/photos?search_query=%E8%B2%A7%E4%B9%B3&page={{page}}\n女王::/search/photos?search_query=%E5%A5%B3%E7%8E%8B&page={{page}}\n教师::/search/photos?search_query=%E6%95%99%E5%B8%AB&page={{page}}\n女仆::/search/photos?search_query=%E5%A5%B3%E5%83%95&page={{page}}\n护士::/search/photos?search_query=%E8%AD%B7%E5%A3%AB&page={{page}}\n泳装::/search/photos?search_query=%E6%B3%B3%E8%A3%9D&page={{page}}\n眼镜::/search/photos?search_query=%E7%9C%BC%E9%8F%A1&page={{page}}\n连裤袜::/search/photos?search_query=%E9%80%A3%E8%A4%B2%E8%A5%AA&page={{page}}\n其他制服::/search/photos?search_query=%E5%85%B6%E4%BB%96%E5%88%B6%E6%9C%8D&page={{page}}\n兔女郎::/search/photos?search_query=%E5%85%94%E5%A5%B3%E9%83%8E&page={{page}}    \n                                                                                                                                                                                                                                                 其  他::/无\n最新A漫::/albums?o=mr&page={{page}}\n最新韩漫::/albums/hanman?o=mr&page={{page}}\n最新美漫::/albums/meiman?o=mr&page={{page}}\n最新同人::/albums/doujin?o=mr&page={{page}}\n最新短篇::/albums/short?o=mr&page={{page}}\n最新其他::/albums/another?o=mr&page={{page}}\n最新单行本::/albums/single?o=mr&page={{page}}\n                                                                                                                           ",
    "sourceGroup": "~,R18",
    "sourceIcon": "https://jm-comic1.cc/media/logo/new_logo.png?v=20210720",
    "sourceName": "禁漫天堂",
    "sourceUrl": "https://jm-comic1.cc/"
  },
  {
    "articleStyle": 0,
    "concurrentRate": "",
    "customOrder": 31,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "{\"User-Agent\": \"Mozilla/5.0 (Linux; Android 8.0.0; MI 5s Plus Build/OPR1.170623.032; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/71.0.3578.99 Mobile Safari/537.36\"}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginUi": "",
    "loginUrl": "",
    "ruleArticles": "@js:\ntry{\n\t$=JSON.parse(src).text\n\tif($==\"no file\")$=[];\n\t}\ncatch(err){\n\n//网站整合\nif(baseUrl.match(/^https?\\:\\/\\/(www.)?baidu.com\\?wd=\\s*/)){\n\t\t$=[]\n\t\tbaseUrl.replace(/^.*?wd=\\s*/,'').replace(/\\,/g,',{\"headers\":{\"User-Agent\":\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/82.0.4080.0 Safari/537.36 Edg/82.0.453.0\"}}').\n\t\tsplit('♞♞').map($$=>$.push({\n\t\t\t\tname_all: $$.match(/《(.*?)》/)[1],\n\t\t\t\ttime: $$.match(/◎(.*?)◎/)[1].replace(/■/,'■■■■■■■■■■■■■■■■■■').replace(/^g(.*)/,'固定链接$1'),\n\t\t\t\turi: $$.match(/【(.*?)】/)[1],\n\t\t\t\turl: $$.match(/^(.*?)【/)[1]\n\t\t\t}));\n}\n\n//‼️下面这组elseif语句，是为最后一个发现列表【酷安版阅读去限制】构建下载链接。与官方蓝奏云4个测试版中的共存版apk不能共存。\nelse if(\n\tbaseUrl.match(/\\/legadox\\//)){\n$=json=[]\n\t\tname_all = src.match(/\\[(legado.*?)\\]\\((.*?)\\)\\s*上次(构建时间.*)/)[1]\n\t\tid = \"https://ghproxy.com/\"+ src.match(/\\[(legado.*?)\\]\\((.*?)\\)\\s*上次(构建时间.*)/)[2]\n\t\ttime = src.match(/\\[(legado.*?)\\]\\((.*?)\\)\\s*上次(构建时间.*)/)[3]\n\njson.push({name_all:name_all,id:id,time:time})\n\nJSON.stringify(json)\n\n//最新构建下载:[legado-3.23.013123.apk](https://github.com/10bits/gedoor-Build/releases/download/legado-3.23.013123/legado-3.23.013123.apk) 上次构建时间:2023-02-01 02:15:27\n\t}\n\n\n\n\n//蓝奏云\nelse{\n\n//蓝奏云非分组链接\nif(String(java.getString('text.举报文件@href')).length){$=[{\n\t\tname_all: String(java.getString('class.md@textNodes')),\n\t\ticon: String(java.getString('class.md@textNodes')).replace(/.*\\./,''),\n\t\tsize: String(java.getString('class.mtt@text')).replace(/\\( /,'').replace(/ \\)/,''),\n\t\ttime: String(java.getString('class.mf@textNodes')).replace(/.*\\n/,''),\n\t\turi: baseUrl.replace(/^(.+com).*\\/(.+)$/,'$2'),\n\t\turl: baseUrl.replace(/^(.+com).*\\/(.+)$/,'$1/tp/$2')\n\t}]}\n\n//蓝奏云分组链接\nelse{\n\tmat = baseUrl.match(/^(.*?com)[^##]*\\/(.+)$/)\n\t\turl = mat[1]\n\t\turi = mat[2]\nfunction $(reg){\n\t\treturn uri.match(reg)?true:false\n\t}\n\n\n//get【pwd】(链接提取码)\npwd = \n\n//蓝奏云密码\n$(/##.*/)?  baseUrl.match(/##(.*?)(【|$)/)[1]:\n\n//‼️Thomas密码。密码写这里也行，列表链接那里不写。\n//‼️$(/b03p9ftpc/)?  \"read\":\n\n\"\";\n\n\n//get 【body】\neval(src.match(/var pgs;([\\s\\S]*?pgs.+;)/)[1])\neval('body=\"\";$='+src.match(/data :([\\s\\S]*?\\})/)[1])\nfor(key in $)body+=key+'='+$[key]+'&';\nbody=String(body).replace(/&$/,'')\n\n\n//补全【url】\nurl += `/filemoreajax.php,{\"method\":\"POST\",\"body\":\"${body}\",\"uri\":\"${uri}\"}`\n\n\n//ajax\n$=JSON.parse(java.ajax(baseUrl=url));\n$=$.text!=0?$.text:\n\n//密码错误提示\n[{name_all:$.info,time:uri+$.info,url:uri+$.info}];\n}\n\n}}\njava.put('url', baseUrl)\n$.map($=>JSON.stringify($))",
    "ruleContent": "",
    "ruleDescription": "❗️0、0、开始❗️\n111\n❗️0、0、结束❗️\n❗️0、1、开始❗️\n<title>{{$.name_all}}</title><style>\ninput{\n\toutline:0;\n\ttext-indent:10px;\n\tborder:1px solid #000;\n\twidth:60%;\n\theight:35px;\n\tposition:absolute;\n\ttop:35%;\n\tleft:10%;\n\tborder-top-left-radius:10px;\n\tborder-bottom-left-radius:10px\n}\nbutton{\n\toutline:none;\n\twidth:20%;\n\theight:35px;\n\tposition:absolute;\n\ttop:35%;\n\tright:10%;\n\tborder-top-right-radius:10px;\n\tborder-bottom-right-radius:10px\n}\nh3{text-align:center}\n</style>\n\n\n<br><h3>帮你导入</h3>\n<input type=\"text\" id=\"src\" placeholder=\"输入正确的资源链接...\">\n<button onclick=\"clickme()\">一键导入</button>\n<iframe id=\"iframe\" src=\"\" hidden></iframe>\n\n<script>\nfunction clickme(){\n\tdocument.getElementById('iframe').src = \"legado://import/auto?src=\"+document.getElementById('src').value\n}\n</script>\n❗️0、1、结束❗️\n\n\n❗️0、2、开始❗️\n<style>\nbutton,input{\nmargin:8px\n}\n#basic-addon1,#replaceSpan1{\nbackground-color:Azure;\npadding:5px\n}\ntextarea{\nbackground-color:GhostWhite;\nborder:0px basic-addon1\n}\n</style>\n<script>function $(selector) { return document.querySelector(selector); }\nfunction $$(selector) { return document.querySelectorAll(selector); }</script>\n<br>\n✱✱输入蓝奏云文件链接：\n <div class=\"form-group\">\n                    <div class=\"col-sm-12\">\n                        <textarea class=\"form-control\" onmouseover=\"this.focus();\" id=\"textSour\" name=\"textSour\" rows=\"10\" aria-describedby=\"basic-addon1 style=\"max-height: 2222px;\" placeholder=\"以下示例格式皆可：\nhttp://qiqi.lanzoub.com/b09tbdngh#666\nhttp://qiqi.lanzoub.com/b09tbdngh密码:666\n下载：http://qiqi.lanzoub.com/b09tbdngh\n密码：666\n我用蓝奏浏览器分享了[帮你导入v2], 下载链接:https://wwp.lanzoup.com/iAI4L0p0x2qh  提取码 : read, 你可以不限速下载哦\"></textarea>\n                    </div>\n                </div>\n                <div class=\"form-group\">\n                    <div class=\"col-sm-12\">\n                        <div class=\"input-group\">\n                            <span>✱✱输入密码：</span>\n                            <input type=\"text\" class=\"form-control\" id=\"textPattern\" name=\"textPattern\" placeholder=\"若无密码 留空即可\" aria-describedby=\"basic-addon1\" style=\"width: 65%;\">\n                        </div>\n                    </div>\n                </div>\n\n                <div class=\"form-group\">\n                    <div class=\"col-sm-8\">\n                        <input type=\"button\" onclick=\"  set='https://apis.jxcxin.cn/api/lanzou'; return onMatch()\" value=\"  解析线路一  \" class=\"btn btn-success\">\n                        <input type=\"button\" onclick=\"set='https://tool.bitefu.net/lanzou'; return onMatch()\" value=\"  解析线路二  \" class=\"btn btn-success\">\n                        <input type=\"button\" onclick=\"set='https://lanzou.baihe.gay'; return onMatch()\" value=\"  解析线路三  \" class=\"btn btn-success\">\n\n                   <div class=\"col-sm-8\">\n<button onclick=\"href=copyText7()\">一键导入书源</button>\n\n<button onclick=\"href=copyText8()\">一键导入订阅</button>\n\n<button onclick=\"href=copyText9()\">一键导入净化</button>\n                    </div>\n                </div>\n\n                        <button onclick=\"href=auto()\">非蓝奏链一键</button>\n\n<button onclick=\"copyText()\">◎复制直链◎</button>\n                        <input type=\"button\" onclick=\"Empty();\" value=\"  清空输入框  \" class=\"btn btn-danger\">\n                    </div>\n\n                <div class=\"form-group\">\n                    <div class=\"col-sm-12\">\n<div id=\"textResult\"></div>\n                        <textarea onmouseover=\"this.focus();\" id=\"textMatchResult\" class=\"form-control\" rows=\"10\" style=\"max-height: 2222px;\" placeholder=\"直链作用：分享给别人\n＃可直接网络导入书源订阅源，无须先把蓝奏云文件下载到本地（源文件需为txt文件上传到蓝奏云）。\n\n＃“非蓝奏链一键”：非蓝奏云的源链接，自动识别是书源还是订阅源等，一键导入。\n\n＃本工具依赖服务器配置，若服务器咕了，则本工具失效，直链失效。\" readonly=\"readonly\"></textarea>\n                    </div>\n                </div>\n<div class=\"col-sm-12\">\nrssSource by.迷迭  <br>\nthk.Thomas提供 &金01461协助\n</div>\n<iframe id=\"source\" src=\"\" width=\"0px\" height=\"0px\" style=\"visibility:hidden\"></iframe>\n<script>\nvar copyText = function() {\n    var text = document.getElementById('input');\n    // 选中文本\n    text.select()\n    // 复制\n    document.execCommand('copy')\n}\n\n//🖤🖤🖤🖤生成直链🖤🖤🖤🖤\nfunction onMatch() {\n    var lanzurl =  document.getElementById(\"textSour\").value.match(/.*(http.*?)(#|\\s|提取码|密码|$)/)[1];\n    var mima = document.getElementById(\"textSour\").value.match(/(#|提取码|密码)/)? document.getElementById(\"textSour\").value.match(/[\\s\\S]*(码[\\s：:]*|#)(.*?)(\\,.*|\\s*$)/)[2]: document.getElementById(\"textPattern\").value;\n\nvar textMatchResult = set+\"?type=down&url=\"+ lanzurl + \"&pwd=\" + mima;\n\ndocument.getElementById(\"textMatchResult\").value = textMatchResult;\nreturn textMatchResult;\n}\n\n//🖤🖤🖤🖤复制直链🖤🖤🖤🖤\nvar copyText = function() {\n    var text = document.getElementById('textMatchResult');\n    // 选中文本\n    text.select()\n    // 复制\n    document.execCommand('copy')\n}\n\n//🖤🖤🖤清空输入框🖤🖤🖤\nfunction Empty() {\n $(\"#textSour\").value=\"\";\n $(\"#textPattern\").value=\"\";\n    $(\"#textMatchResult\").value=\"\";\n    $(\"#textReplace\").value=\"\";\n    $(\"#textReplaceResult\").value=\"\";\n    $(\"#textSour\").select();\n}\n\n//💔legado://import/auto?src=并且不能用这个自动判断语句，会出错。懒得再搞判断书源/订阅源/净化规则了💔\n\n//❤️非蓝奏链一键导入❤️\nvar auto = function() {\n    document.getElementById(\"source\").src =\"legado://import/auto?src=\"+document.getElementById(\"textSour\").value;\n}\n\n//❤️书源一键导入❤️\nvar copyText7 = function() {\n    document.getElementById(\"source\").src =\"legado://import/bookSource?src=\"+onMatch();\n}\n\n//❤️❤️订阅源一键导入❤️❤️\nvar copyText8 = function() {\n    document.getElementById(\"source\").src = \"legado://import/rssSource?src=\"+onMatch();\n}\n\n//❤️❤️❤️净化规则一键导入❤️❤️❤️\nvar copyText9 = function() {\n    document.getElementById(\"source\").src = \"legado://import/replaceRule?src=\"+onMatch();\n}\n\n</script>\n❗️0、2、结束❗️\n\n\n\n\n{{}}@js:\nurl=String(java.getString('$.url'))\n\n//一键导入html\nif(url.match(/^📥/)){\nurl=String(url).replace('📥','')\n\nurl=url.match(/^legado\\:\\/\\//)?url:\n\n//迷迭仓略写链接的补全\nurl.match(/^\\//)? 'legado://import/auto?src=https://agit.ai/butterfly/yd/raw/branch/yd'+url:\n\n'legado://import/auto?src='+url\n\n\nresult=`<title>{{$.name_all}}</title>\n<iframe src=\"${url}\" hidden></iframe>\n<br><h3>{{$.name_all}}</h3>\n<h5>导入不成功？多导入几次试试</h5>\n<h6><b>\n↓资源链接，点击复制\n<a href=\"${url}\">一键导入</a>\n<textarea id=\"copy\" onclick=\"copy()\">${String(url).replace(/legado.*?src=/,'')}</textarea>\n{{$.time}}\n</b></h6><style>\na{float:right;text-decoration:none}\nh3,h5{text-align:center}\nh6{margin:0 2;position:sticky;top:30%}\ntextarea{width:100%;border-radius:5px}\n</style><script>\nfunction copy(){\n\tdocument.getElementById('copy').select()\n\tdocument.execCommand('copy')\n\talert(\"复制成功\")\n}\n</script>`}\n\n//自定义html\nelse if(url.match(/\\d+、\\d+、/)){\nreg=new RegExp('❗️'+url+'开始❗️\\\\s*([\\\\s\\\\S]+?)\\\\s*❗️'+url+'结束❗️')\n\n//默认禁用放大缩小按钮\nresult=result.match(reg)?'<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no\">'+result.match(reg)[1]:'<br>未找到对应html'\n}else{result=''}",
    "ruleImage": "$.uri\n@js:\n\nu=String(java.get('url'));\nuri = String(result) || (u.match(/uri\":\"([^\"]+)/)?u.match(/uri\":\"([^\"]+)/)[1]:\"\");\n\n\nfunction $(reg){\n\t\treturn uri.match(reg)?true:false\n\t}\n\nsrc =\n\n//蓝奏云列表图标\n$(/【[^】]/)?  baseUrl.match(/【(.*?)(】|$)/)[1]:\n\n//‼️酷安用户简化图标\n//‼️$(/http|^\\d{3}(\\/\\d\\d){3}$/)?  uri:\n\n$(/http/)?  uri:\n\n//一程简化图标\n$(/^\\//)?  uri:\n\n//‼️4⃣️423图标。\n//‼️baseUrl.match(/423down/)?  \"https://pic.616pic.com/ys_b_img/00/04/50/svvOHW89bj.jpg\":\n\n//蝶图标链接\n$(/^md/)?  \"http://pp.myapp.com/ma_icon/0/icon_52437554_1640934578/256\":\n\n//‼️▶️影视仓/多仓。图标写这里也行，列表那里不写。\n//‼️$(/b09svqv1c/)?  \"http://pic.y8l.com/up/2022-6/202262415595588.png\":\n\n//默认封面\n\"https://android-artworks.25pp.com/fs08/2023/01/03/9/110_03e44582413966c9a6310cf847cc08ba_con_130x130.png\";\n\n//‼️补全酷安用户图标链接\n//‼️src.match(/^\\d{3}(\\/\\d\\d){3}$/) ?`http://avatar.coolapk.com/data/${src}_avatar_middle.jpg` :  \n\n//补全一程图标链接\nsrc.match(/^\\/[^\\.]*\\.png$/) ? `https://gitee.com/i-c/tc/raw/master/dy/yd${src}` : \nsrc",
    "ruleLink": "$.id@js:\nurl=`{{$.url}}`\n//下面这句if是为了【去限制共存版】\nif(result.match(/github/)){result}\nelse if(result){url+=`/tp/{{$.id}}`;\nString(url).replace(/^蓝奏链接(.+com).*\\/(.+)/,'$1/tp/$2').replace(/^..导入/,'')}",
    "ruleNextPage": "@js:\ntry{\n\t\tu = String(java.get('url'))\n\t\tp = u.match(/pg=(\\d+)&/)[1]\n\t\tp = 'pg='+(parseInt(p)+1)+'&'\n\t\turl = u.replace(/pg=(\\d+)&/,p)\n\t}\ncatch(err){url=\"\"}\nurl",
    "rulePubDate": "💾 {{$.icon}}　📥 {{$.size}}　⏱️ {{$.time}}\n##💾 　📥 　⏱️\\s*",
    "ruleTitle": "$.name_all",
    "singleUrl": false,
    "sortUrl": "📚一键导入1::http://www.baidu.com?wd=0、2、【md】《💙难受云.直链生成。or一键导入》◎‼️须先上传书源文件（txt）到难受云◎♞♞https://www.yckceo.com/yuedu/shuyuan/index.html,【http://www.yckceo.com/favicon.ico】《💚源仓库.书源》◎◎♞♞https://www.yckceo.com/yuedu/rssyuan/index.html,【http://www.yckceo.com/favicon.ico】《💚源仓库.订阅源》◎◎♞♞https://www.yckceo.com/yiciyuan/tuyuan/index.html,【http://www.yckceo.com/favicon.ico】《💚源仓库.异次元.漫画源（需复制链接到异次元导入）》◎■◎♞♞📥https://code.gitlink.org.cn/yi-c/yd/raw/branch/master/sy.json【/sy.png】《❤️一程书源》◎g｜每月更新◎♞♞📥https://code.gitlink.org.cn/yi-c/yd/raw/branch/master/dy.json【/dy.png】《❤️一程订阅源》◎g｜每月更新◎♞♞https://code.gitlink.org.cn/yi-c/yd/src/branch/master/README.md【/fb.png】《🧡查看最后更新日期》◎■◎♞♞📥https://raw.githubusercontents.com/PB-pobing/pobing/pb/50.json【/sy.png】《❤️破冰书源》◎g｜随缘更新◎♞♞https://agit.ai/butterfly/pobing【/fb.png】《🧡查看最后更新日期》◎■◎♞♞📥https://ghproxy.com/https://raw.githubusercontent.com/zmn001125/booksources/master/sources/guaner.txt【/sy.png】《❤️关耳书源.女频向》◎g｜佛系更新◎♞♞https://agit.ai/butterfly/guaner【/fb.png】《🧡查看最后更新日期》◎■◎♞♞📥https://raw.iqiq.io/XIU2/Yuedu/master/shuyuan【/sy.png】《❤️XIU2书源》◎g｜◎♞♞https://agit.ai/butterfly/xiu2/commits/branch/master/shuyuan【/fb.png】《🧡查看最后更新日期》◎■◎♞♞📥https://www.gitlink.org.cn/api/haxc/book/raw?filepath=bookSource.json【/sy.png】《❤️Haxc漫画源.导入时有标示日期》◎■◎♞♞📥https://www.gitlink.org.cn/api/fcdlcb/ydsy/raw?filepath=bookSource.json【/sy.png】《💔风停在了窗边书源.22.8.18》◎g｜已不更？◎♞♞📥https://www.gitlink.org.cn/api/fcdlcb/ydsy/raw?filepath=exportRssSource.json【/dy.png】《💔风停在了窗边订阅源.22.8.18》◎g｜已不更？◎♞♞https://code.gitlink.org.cn/fcdlcb/ydsy/【/fb.png】《🧡查看最后更新日期》◎■◎\n\n\n📚一键导入2::http://www.baidu.com?wd=https://legado.aoaostar.com/【/yj.png】《💙一键导入.aoaostar整理收集》◎‼️标示的日期仅为采集刷新日期◎♞♞http://yuedu.miaogongzi.net/gx.html【/yj.png】《❤️一键导入.喵公子整理收集》◎网页◎♞♞https://legado.git.llc/【/yj.png】《💙一键导入.知命整理收集》◎■◎♞♞https://agit.ai/butterfly/yd/【md】《🧡查看以下各合集的版本日期》◎仅作参考.为上传仓库日期.非作者发布日期◎♞♞📥/迷迭书源.json【md】《💙迷迭常用书源》◎◎♞♞📥/迷迭订阅源.json【md】《💙迷迭常用订阅源》◎◎♞♞📥/迷迭TTS.json【md】《💙迷迭TTS在线语音引擎》◎‼️在线TTS朗读会耗用大量流量◎♞♞📥/Namo书源.json【/sy.png】《💙Namo书源》◎◎♞♞📥/黄凡凡书源.json【/sy.png】《💙黄凡凡书源》◎◎♞♞📥/onede书源.json【/sy.png】《💙onede书源》◎◎♞♞📥/不世玄奇书源.json【/sy.png】《💙不世玄奇.搜索引擎书源+通用书源》◎◎♞♞📥/不世玄奇订阅源.json【/dy.png】《💙不世玄奇.通用发现.订阅源》◎■◎♞♞📥https://ghproxy.com/https://github.com/MD-butterfly/yd/raw/main/Engels.json【https://android-artworks.25pp.com/fs08/2023/01/03/9/110_03e44582413966c9a6310cf847cc08ba_con_130x130.png】《💙Engels订阅源》◎看了身体会变得奇怪｜不可以涩涩！◎♞♞https://md-butterfly.github.io/yd/index.html【md】《💝一键导入.迷迭整理收集.暂不维护更新这个页面了》◎网页◎♞♞https://md-butterfly.github.io/yd/readme.html【md】《readme》◎本订阅源的一些乱七八糟说明◎♞♞https://jq.qq.com/?_wv=1027&k=6xsTVR3U【http://pp.myapp.com/ma_icon/0/icon_10555_1657195559/256】《暗香迷蝶QQ交流群462030508点我跳转加群》◎若跳转支付请拒绝，自己手动加群（中毒？）◎\n\n\n📗相关::http://www.baidu.com?wd=https://legado.cn/【/yd3.png】《❤️阅读论坛cn》◎legado.cn◎♞♞https://legado.cc/【/yd3.png】《❤️阅读论坛cc》◎legado.cc◎♞♞https://www.yuque.com/legado【/yq.png】《❤️阅读手册》◎使用说明、源制作、官方公告。◎♞♞https://yuedu.juhua.fun/tool【/fxmh.png】《❤️发现美化》◎阅读｜正则小工具◎♞♞https://m.w3cschool.cn/regex_rmjc/regex_rmjc-n5a328cn.html【/bcs.png】《❤️正则表达式》◎w3cschool编程狮◎♞♞https://data.newrank.cn/m/s.html?s=NykyOzI9MS5LNQ%3D%3D【/ydlogo.png】《阅读公众号搜索》◎◎\n\n📙阅读3.0官方::https://kunfei.lanzoui.com/b0f810h4b##【https://i.loli.net/2021/06/23/S7rvWRZtPIq34MJ.png】\nTTS.Server::https://jing332.lanzouw.com/b09ho81qb##1234\n🎨异次元/漫画::https://yiciyuan.lanzoui.com/b00ej0kba##【https://mmbiz.qlogo.cn/mmbiz_jpg/GwqVApVbd26P0XRjNg7FOdcy1kBEBfNV6PhmNPdMxGrejHxe7cibbbLE5msAj3x5KtPo2FxdI7XPFOcGsW43Zzg/300】\n4⃣️小说软件::https://423down.lanzouv.com/b0f1cdr9i##【https://pic.616pic.com/ys_b_img/00/04/50/svvOHW89bj.jpg】\n\n📙阅读2.0 已不更::https://kunfei.lanzoui.com/b0f7pt4hi##【https://i.loli.net/2021/06/23/S7rvWRZtPIq34MJ.png】\n📙阅读X 3.0 已不更::https://hahahahahaha.lanzoux.com/b08rjey5i##no18ls【https://i.loli.net/2021/06/23/S7rvWRZtPIq34MJ.png】\n📙阅读.A (去限制共存)::https://agit.ai/butterfly/legadox/raw/branch/master/README.md\n📙阅读pro/不似苏::https://busisu.lanzoub.com/s/yuedupro##【https://i.loli.net/2021/06/23/S7rvWRZtPIq34MJ.png】",
    "sourceComment": "异次元23.2.2图源\n网络导入：http://c.nxw.so/4342\n下载：wws.lanzoul.com/immBr0mgzh1c\n————————\n酷安版阅读 与官方蓝奏云4个测试版中的主apk不能共存（签名不同，只能2选1安装）\n阅读.A(去限制共存版）与官方蓝奏云4个测试版中的共存版apk不能共存（应该，迷迭没安装这个版本）\n————————\nby.Thomas.  迷迭轻改&收集整理。\n✱✱交流群462030508。\nA群637775313不加人。若家炸了查看此群群资料找新家。\n✱✱内容取自网络，仅供学习参考，请同学们在24小时内删除✱✱\n————————\n直链实际格式为：https://lanzou.baihe.gay/?type=down&url=【蓝奏云链接】&pwd=【密码】\n————————\nw页请求头\n{\"User-Agent\": \"Mozilla/5.0 (Windows; U; Windows NT 5.2;. en-US) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36 Quark/4.6.6.164\"}\n\n,{\"headers\":{\"User-Agent\":\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/82.0.4080.0 Safari/537.36 Edg/82.0.453.0\"}}\n\nm页请求头\n{\"User-Agent\": \"Mozilla/5.0 (Linux; Android 8.0.0; MI 5s Plus Build/OPR1.170623.032; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/71.0.3578.99 Mobile Safari/537.36\"}\n\n,{\"headers\":{\"User-Agent\": \"Mozilla/5.0 (Linux; Android 8.0.0; MI 5s Plus Build/OPR1.170623.032; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/71.0.3578.99 Mobile Safari/537.36\"}}",
    "sourceGroup": "合集,R18",
    "sourceIcon": "https://agit.ai/butterfly/yd/raw/branch/yd/pic/0green.jpg",
    "sourceName": "yck+书源♞蓝奏云",
    "sourceUrl": "https://www.lanzoux.com/#a1",
    "style": "#jhss a{\nfont-size:10px;\ncolor:red;\ntext-decoration:none;\n}\n\n#jhss p{\ndisplay:inline-block;\nwidth:8em;\n}\n\n#jhss p{\nmargin:0;\npadding:0;\ncolor:#666;\n}\n\n#jhss div{\nmargin:0;\npadding:10px;\n}\n\n#jhss h1{\nmargin:0;\npadding:9px;\nfont-size:20px;\n}\n\n#jhss input{\nmargin:2px;\npadding:2px 6px;\nfont-size: 1em;\nbackground-color:rgba(200,200,200,0.5);\ncolor:#A00;\nborder:0;\nborder-radius: 3px;\ntext-decoration: none;\ntext-align:center;\n}\ntextarea{\nwidth:100%\n}\n.menu {\n\tjustify-content: space-between;\n\tmax-width: 900px;\n\tmargin: 0 5px;\n}\n.menu .button {\n\twidth: 55px;\n\theight: 15px;\n\tmin-height: 5px;\n\tmargin: 5px 0px;\n\tcursor: pointer;\n}\n.button text {\n\ttext-anchor: middle;\n\tdominant-baseline: middle;\n}\n\n.button rect {\n\twidth: 100%;\n\theight: 100%;\n\tfill: transparent;\n\tstroke: #666;\n\tstroke-width: 2px;\n}\n.button rect.busy {\n\tstroke: #fD1850;\n\tstroke-dasharray: 30 90;\n\tanimation: stroker 1s linear infinite;\n}\n.tabbox {\n\tflex: 1;\n\tdisplay: flex;\n\tflex-flow: column;\n}\n.tabtitle {\n\tdisplay: flex;\n\tz-index: 1;\n\tjustify-content: center;\n}\n.tabtitle>div {\n\tcursor: pointer;\n\tpadding: 1px 10px 0 10px;\n\tborder-bottom: 3px solid transparent;\n\tfont-weight: bold;\n}\n.tabtitle>.this {\n\tcolor: #4f9da6;\n\tborder-bottom-color: #4EBBE4;\n}\n.tabbody {\n\tflex: 1;\n\tdisplay: flex;\n\tmargin-top: -1px;\n\tborder: 1px solid #A9A9A9;\n\theight: 0;\n}\n.tabbody>* {\n\tflex: 1;\n\tflex-flow: column;\n\tdisplay: none;\n}\n.tabbody>.this {\n\tdisplay: flex;\n}\n.tabbody>*>.titlebar{\n\tdisplay: flex;\n}\n.tabbody>*>.titlebar>*{\n\tflex: 1;\n\tmargin: 1px 1px 1px 1px;\n}\n.tabbody>*>.context {\n\tflex: 1;\n\tflex-flow: column;\n\tborder: 0;\n\tpadding: 5px;\n\toverflow-y: auto;\n}\n.tabbody>*>.inputbox{\n\tborder: 0;\n\tborder-bottom: #A9A9A9 solid 1px;\n\theight: 15px;\n\ttext-align:center;\n}\n.link>* {\n\tdisplay: flex;\n\tmargin: 5px;\n\tborder-bottom: 1px solid;\n\ttext-decoration: none;\n}\n#RuleList>label>* {\n\tbackground: #eee;\n\tpadding-left: 3px;\n\tmargin: 2px 0;\n\tcursor: pointer;\n}\n#RuleList input[type=radio] {\n\tdisplay: none;\n}\n#RuleList input[type=\"radio\"]:checked+* {\n\tbackground: #15cda8;\n}\n.isError {\n\tcolor: #FF0000;\n}\n#RuleJsonString{\nheight:600px\n}\nsvg text{\nfont-size:10px\n}"
  },
  {
    "articleStyle": 2,
    "customOrder": 31,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.update_area_lists@tag.li",
    "ruleContent": "<!DOCTYPE html>\r\n<html>\r\n\r\n<head>\r\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\">\r\n    <link rel=\"stylesheet\" href=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.css\">\r\n    <script src=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.js\"></script>\r\n    <script src=\"http://lib.sinaapp.com/js/jquery/2.0.2/jquery-2.0.2.min.js\"></script>\r\n</head>\r\n\r\n<body>\r\n    <h3>{{@@.item_title@tag.h1@text}}</h3>\r\n<h5>{{@class.jianjie@text}}</h5>\r\n    <div id=\"box\">{{@@class.content.0@tag.p@tag.img@html}}</div>\r\n    <div id=\"loads\">加载中 </div>\r\n    <script>\r\n        var loads;\r\n        $(document).ready(function () {\r\n            var box = document.getElementById(\"box\");\r\n            loads = document.getElementById(\"loads\");\r\n            new Viewer(box, { title: false, interval: 3000 })\r\n            var i = 1;\r\n            var page = {{@@class.page.0@tag.a.-2@textNodes##\\n}}-1;\r\n            var url = \"{{baseUrl.replace('.html','_')}}\";\r\n            new IntersectionObserver(entries => {\r\n                if (entries[0].intersectionRatio) {\r\n                    if (entries[0].intersectionRatio <= 0) return;\r\n                    for (var j = 0; j < 1; j++) {\r\n                        fetchHtml(i, page, url);\r\n                        i += 1;\r\n                    }\r\n                }\r\n            }).observe(loads)\r\n        });\r\n\r\n\r\n        function fetchHtml(i, page, url) {\n        \t\r\n            if (i <= page) {\r\n                nurl = url + i + '.html';\r\n                $.ajax({\r\n                    url: nurl,\r\n                    dataType: 'html',\r\n                    success: function (html) {\r\n                        $('#box').append('<h5>' + (++i) + '->' + (++page) + '</h5>');\r\n                        $('#box').append($(html).find('p img'));\r\n                        box.viewer.update();\r\n                    },\r\n                    error: function (xhr) { }\r\n                });\r\n            } else {\r\n                $('#loads').html(\"\");\r\n            }\r\n        }\r\n    </script>\r\n</body>\r\n\r\n</html>",
    "ruleImage": "tag.a@tag.img@src",
    "ruleLink": "tag.a@href",
    "ruleNextPage": "class.page@tag.a.-2@href",
    "rulePubDate": "{{@class.meta-post@textNodes}}_浏览:{{@class.cx_like@textNodes}}",
    "ruleTitle": "tag.a@title",
    "singleUrl": false,
    "sortUrl": "最新::/zx.html\r\n随机::/XiuRen/index{{ Math.ceil(Math.random()*50) }}.html\n最热::/rm.html\r\n秀人网::/XiuRen/\r\nImiss爱蜜社::/IMiss/\r\n模范学院::/MFStar/\r\n魅妍社::/MiStar/\r\n美媛馆::/MyGirl/\r\n尤物馆::/YouWu/\r\n嗲囡囡::/FeiLin/\r\n蜜桃社::/MiiTao/\r\n尤蜜荟::/YouMi/\r\n画语界::/XiaoYu/\r\n花漾::/HuaYang/\r\n星颜社::/XingYan/\r\n兔几盟::/BoLoli/\r\n优星馆::/Uxing/\r\n影私荟::/WingS/\r\n星乐园::/LeYuan/\r\n顽味生活::/Taste/\r\n糖果画报::/Candy/\r\n萌榜::/Micat/\n小海豚::/xiaohaitun.html",
    "sourceComment": "2022 5 17 \nfix bug\n启用永久域名： xrmnw.cc  xiu09.top(01到09)\n<js>\nvar num=0;\nvar data=org.jsoup.Jsoup.parse(result);\nvar conts=data.select('.content img');\nnum+=data.select('.content img').size();\nvar page=data.select('.page').first().select('a:nth-last-child(-n+2)').last().text();\nfor(var i=1;i<page;i++){\nurl=baseUrl.replace('.html','')+'_'+i+'.html';\njava.toast('正在加载第'+i+'页');\np=org.jsoup.Jsoup.connect(url).get();\nconts+=p.select('.content img');\nnum+=p.select('.content img').size();\n}\njava.toast('加载完成共'+num+'张');\n'<a href=\"'+baseUrl+'\" style=\"color:#000000\">原文地址</a>'+conts\n</js>\n",
    "sourceGroup": "图片,R18",
    "sourceIcon": "https://images.weserv.nl/?url=https://article.biliimg.com/bfs/article/ded67638d944a7e0ef4452b721fd6434a22de16d.png",
    "sourceName": "秀人集v16",
    "sourceUrl": "https://www.xiu01.top",
    "style": "/*标题相关*/\r\nh3{text-align:center}\r\nh6{margin-bottom:0}\r\nimg{width:100%}\nh5{margin-bottom:0;padding-left:5;}"
  },
  {
    "articleStyle": 2,
    "customOrder": 32,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "{\"User-Agent\":\"okhttp/5.0.0-alpha.3\"}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "data.list",
    "ruleContent": "<js>\n\n// 格式化解析\njiexi = eval(String(source.sourceComment)).map($=>'<button onclick=\"xuan(this,\\'.jiexi\\')\" value=\"'+$[1]+'\"><b>'+$[0]+'</b></button>');\n\n\n// 格式化集数\njishu = JSON.parse(result).data.episodes\n.map($=>'<button onclick=\"xuan(this,\\'.jishu\\')\" value=\"'+$.playUrl+'\"><b>'+$.episodeNum+'</b></button>');\n\n\n// 返回json\nJSON.stringify({\n\tjiexi: '<div>\\n\\t\\t'+jiexi.join('\\n\\t\\t')+'\\n</div>',\n\tjishu: '<div>\\n\\t\\t'+jishu.join('\\n\\t\\t')+'\\n</div>'\n});\n</js>\n<title>{{$.data.name}}</title>\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no\">\n<iframe frameborder=\"no\" allowfullscreen></iframe>\n<p></p>\n<hr>\n\n\n<details>\n<summary><h3>{{$.data.name}}</h3></summary>\n<br>\n<p>🔮 类型：{{$..region&&$..language&&$..year##\\n## ∙ }}</p>\n<p>📝 评分：{{$..movieMark}}分</p>\n<p>🔖 更新：{{$..seasonNum}}</p>\n<p>🏷️ 标签：{{$..tag##\\n|,##, }}</p>\n<br>\n<p>📑 简介：{{$..desc##\\s*(^|[。！？]+[”」）】]?)\\s*##$1<br>}}</p>\n<br>\n</details>\n<hr>\n\n\n<div class=\"jiexi\">\n<p>解析</p>\n{{JSON.parse(result).jiexi}}\n</div>\n<hr>\n\n\n<div class=\"jishu\">\n<p>集数</p>\n{{JSON.parse(result).jishu}}\n</div>\n<hr>\n\n\n\n\n\n<script>\n//选中标签\n$=(rule)=>document.querySelectorAll(rule);\n\n//删除active\nomit=(A)=>Array.from(A,a=>a.className='');\n\n//增加active\nactive=($,i)=>$[i].className='active';\n\n//选择集数\nxuan = (item,type)=>{\n\t\tbtn = $(type+' button.active');\n\t\tif(item.value==btn[0].value)return;\n\t\tomit(btn); item.className='active'\n\t\treturn geturl()\n\t}\n\n\n//拼接链接\nval=(type)=>$(type+' button.active')[0].value.trim();\ngeturl=()=>\n\t$('iframe')[0].src=$('p')[0].innerText=\n\t\tval('.jiexi') + val('.jishu');\n\n\n//初始化\n(()=>{\n\t\tactive($('.jiexi button'),0)\n\t\tactive($('.jishu button'),0)\n\t\treturn geturl()\n\t})()\n</script>",
    "ruleImage": "posterImageUrl",
    "ruleLink": "/v1/media/detail?appChannel=Oppo&appPackage=com.beauty.drama&appVersion=20230601&movieId={{$.id}}&os=android&withEpisodes=true",
    "ruleNextPage": "page",
    "rulePubDate": "📆 {{$.year}}　🎴 {{$.seasonNum}}",
    "ruleTitle": "name",
    "singleUrl": false,
    "sortUrl": "最近更新::/v1/search/unified?appChannel=Oppo&appPackage=com.beauty.drama&appVersion=20230601&os=android&pageNum={{page}}&pageSize=24&sortField=update_time\n精选影片::/v1/media/adventure?appChannel=Oppo&appPackage=com.beauty.drama&appVersion=20230601&os=android&pageNum={{page}}&pageSize=24\n播放月榜::/v1/search/unified?appChannel=Oppo&appPackage=com.beauty.drama&appVersion=20230601&os=android&pageNum={{page}}&pageSize=24&sortField=play_times\n搜索月榜::/v1/search/unified?appChannel=Oppo&appPackage=com.beauty.drama&appVersion=20230601&os=android&pageNum={{page}}&pageSize=24&sortField=search_times\n\n变量搜索::/v2/search/keyword?appChannel=Oppo&appPackage=com.beauty.drama&appVersion=20230601&os=android&pageNum={{page}}&pageSize=24&keyword={{v=source.getVariable();if(!v||/^\\s*$/.test(v))source.setVariable('成龙历险记');source.getVariable()}}\n\n　电影　::/v1/search/unified?appChannel=Oppo&appPackage=com.beauty.drama&appVersion=20230601&os=android&pageNum={{page}}&pageSize=24&sortField=&type=1\n  电视剧  ::/v1/search/unified?appChannel=Oppo&appPackage=com.beauty.drama&appVersion=20230601&os=android&pageNum={{page}}&pageSize=24&sortField=&type=2\n　综艺　::/v1/search/unified?appChannel=Oppo&appPackage=com.beauty.drama&appVersion=20230601&os=android&pageNum={{page}}&pageSize=24&type=3\n　动漫　::/v1/search/unified?appChannel=Oppo&appPackage=com.beauty.drama&appVersion=20230601&os=android&pageNum={{page}}&pageSize=24&type=4",
    "sourceComment": "// 套壳app如下\n// https://apk-vip.lanzoub.com/s/list\n\n// 备用接口\n// http://159.75.24.72:6001\n// http://api.jiujiyan.com\n// https://web.imijing.cn\n\n\n[//解析列表_开始\n[\"Ⓧ 禁用\",\"\"],\n[\"Ⓐ 小白\",\"https://www.mtosz.com/erzi.php?url=\"],\n[\"Ⓑ 战狼\",\"https://jx.zhanlangbu.com/?url=\"],\n[\"Ⓒ 阿狸\",\"https://zy.aoxtv.com/m3u8.php?url=\"],\n[\"Ⓓ 神马\",\"https://api.tinga88.com/?url=\",\"次选\"],\n[\"Ⓔ 人人\",\"https://vip.mpos.ren/v/?url=\",\"次选\"],\n]//解析列表_结束",
    "sourceGroup": "🎞️ 影视,R18",
    "sourceIcon": "https://android-artworks.25pp.com/fs08/2023/02/13/2/110_24eed334ddcd996d84e5a729dac43efc_con_130x130.png",
    "sourceName": "爱美剧",
    "sourceUrl": "http://api.imijing.cn",
    "style": "*{\n\tz-index:0;\n\tmargin:0;\n\tpadding:0;\n\twidth:100%;\n\theight:auto;\n}\np{\n\ttext-indent:5px;\n}\nbody>p:first-of-type{\n\twidth:100.05%;\n\tposition:sticky;top:285px;\n\theight:15px;font-size:0.7rem;\n\tborder-bottom-right-radius:5px;\n\tborder-bottom-left-radius:5px;\n\tbackground:#000;color:#fff;\n\twhite-space:nowrap;\n\toverflow:hidden;\n\ttext-overflow:ellipsis;\n\tz-index:2;\n}\niframe{\n\tposition:sticky;top:0;\n\tbackground:#000;color:#fff;\n\theight:285px;\n\tz-index:2;\n}\n\n\ndetails{\n\twidth:90%;\n\tmargin:0 5%;\n\tpadding:10 0;\n}\nsummary{\n\twidth:90%;\n\tmargin:0 5%;\n\toutline:none;\n\ttext-align:center;\n}\nsummary::-webkit-details-marker{\n\tdisplay:none;\n}\n\n\n.jiexi>div{\n\toverflow-x:auto;\n\toverflow-y:hidden;\n\twhite-space:nowrap;\n}\nbutton{\n\twidth:21.65%;\n\tmargin:1.25%;\n\tpadding:5px;\n\toutline:none;\n\tborder-radius:8px;\n\tfont-size:0.7rem;\n\ttext-overflow:ellipsis;\n  overflow:hidden;\n\tposition:sticky;\n}\nbutton.active{\n\tz-index:1;\n\tcolor:#166188;\n\tleft:0;right:0;\n}\n.jishu button.active{\n\ttop:300;bottom:0;\n}"
  },
  {
    "articleStyle": 1,
    "customOrder": 33,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.col-xs-12 col-sm-4 col-md-3 col-lg-3",
    "ruleContent": "<js>\nresult=decodeURIComponent(result.match(/strencode2\\(\"(.*?)\"\\)/)[1]).match(/src='(.*?)'/)[1];\n`<html>\n<head>\n<meta charset=\"utf-8\">\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no\" />\n</head>\n<body>\n<video src=\"${result}\" width=\"100%\" height=\"auto\" controls=\"controls\" ></video>\n</body>\n</html>`\n</js>",
    "ruleDescription": "",
    "ruleImage": "img@src",
    "ruleLink": "a@href",
    "ruleNextPage": "page",
    "rulePubDate": "class.duration@text",
    "ruleTitle": "class.video-title title-truncate m-t-5@text",
    "singleUrl": false,
    "sortUrl": "主页::/v.php?category=rf&viewtype=basic&page={{page}},{'webView': true}\n91原创::/v.php?category=ori&viewtype=basic&page={{page}},{'webView': true}\n当前最热::/v.php?category=hot&viewtype=basic&page={{page}},{'webView': true}\n本月最热::/v.php?category=top&viewtype=basic&page={{page}},{'webView': true}\n10分钟以上 ::/v.php?category=long&viewtype=basic&page={{page}},{'webView': true}\n20分钟以上 ::/v.php?category=longer&viewtype=basic&page={{page}},{'webView': true}\n本月收藏::/v.php?category=tf&viewtype=basic&page={{page}},{'webView': true}\n 收藏最多::/v.php?category=mf&viewtype=basic&page={{page}},{'webView': true}\n高清::/v.php?category=hd&viewtype=basic&page={{page}},{'webView': true}\n上月最热::/v.php?category=top&m=-1&viewtype=basic&page={{page}},{'webView': true}\n本月讨论::/v.php?category=md&viewtype=basic&page={{page}},{'webView': true}\n",
    "sourceComment": "",
    "sourceGroup": "成人视频,R18",
    "sourceIcon": "https://z3.ax1x.com/2021/05/04/gnLfmD.png",
    "sourceName": "©91porn",
    "sourceUrl": "https://91porn.com/",
    "style": "body{background-color:black;margin:0;padding:0;width:100%;}"
  },
  {
    "articleStyle": 2,
    "concurrentRate": "",
    "customOrder": 33,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "list@video||list",
    "ruleDescription": "art_content",
    "ruleImage": "pic@text||art_pic",
    "ruleLink": "art_id",
    "ruleNextPage": "page",
    "rulePubDate": "art_time&&art_class##\\s##🐔",
    "ruleTitle": "name@text||art_title",
    "singleUrl": false,
    "sortUrl": "唯美清纯::https://lebozy.com/api.php/provide/art/at/xml/?ac=detail&t=25&pg={{page=Math.ceil(Math.random()*100) }}\n网友自拍::https://lebozy.com/api.php/provide/art/at/xml/?ac=detail&t=26&pg={{page=Math.ceil(Math.random()*100) }}\n亚洲激情::https://lebozy.com/api.php/provide/art/at/xml/?ac=detail&t=27&pg={{page=Math.ceil(Math.random()*100) }}\n欧美激情::https://lebozy.com/api.php/provide/art/at/xml/?ac=detail&t=28&pg={{page=Math.ceil(Math.random()*100) }}\n露出偷窥::https://lebozy.com/api.php/provide/art/at/xml/?ac=detail&t=29&pg={{page=Math.ceil(Math.random()*100) }}\n漫画::https://lebozy.com/api.php/provide/art/at/xml/?ac=detail&t=31&pg={{page}}\n动图::https://lebozy.com/api.php/provide/art/at/xml/?ac=detail&t=32&pg={{page=Math.ceil(Math.random()*100) }}\n\nsm::https://lebozy.com/api.php/provide/art/at/xml/?ac=detail&t=17&pg={{page=Math.ceil(Math.random()*100) }}\n学生校园::https://lebozy.com/api.php/provide/art/at/xml/?ac=detail&t=18&pg={{page=Math.ceil(Math.random()*100) }}\n玄幻仙侠::https://lebozy.com/api.php/provide/art/at/xml/?ac=detail&t=19&pg={{page=Math.ceil(Math.random()*100) }}\n明星偶像::https://lebozy.com/api.php/provide/art/at/xml/?ac=detail&t=20&pg={{page=Math.ceil(Math.random()*100) }}\n生活都市::https://lebozy.com/api.php/provide/art/at/xml/?ac=detail&t=21&pg={{page=Math.ceil(Math.random()*100) }}\n不伦恋情::https://lebozy.com/api.php/provide/art/at/xml/?ac=detail&t=22&pg={{page=Math.ceil(Math.random()*100) }}\n经验故事::https://lebozy.com/api.php/provide/art/at/xml/?ac=detail&t=23&pg={{page=Math.ceil(Math.random()*100) }}\n科学幻想::https://lebozy.com/api.php/provide/art/at/xml/?ac=detail&t=24&pg={{page=Math.ceil(Math.random()*100) }}\n",
    "sourceGroup": "封子秦,R18",
    "sourceIcon": "https://img0.baidu.com/it/u=3463526531,2337093999&fm=253&fmt=auto&app=138&f=JPEG?w=889&h=500",
    "sourceName": "📖乐播",
    "sourceUrl": "https://lebozy.com/api.php/provide/art/at/xml/?ac=detail&t=32&pg={{page}}"
  },
  {
    "articleStyle": 0,
    "customOrder": 33,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "",
    "ruleContent": "",
    "ruleDescription": "",
    "ruleImage": "",
    "ruleLink": "",
    "ruleNextPage": "",
    "rulePubDate": "",
    "ruleTitle": "",
    "singleUrl": true,
    "sortUrl": "",
    "sourceGroup": "⚙️ 工具,R18",
    "sourceIcon": "http://cdn.jandan.net/static/img/icon.png",
    "sourceName": "煎蛋",
    "sourceUrl": "http://jandan.net/pic"
  },
  {
    "articleStyle": 0,
    "customOrder": 34,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.ucontent@li",
    "ruleContent": "class.s-tab-main@html",
    "ruleImage": "@js:\"https://i.postimg.cc/htVZ5jk1/1665570814797.png\"",
    "ruleLink": "tag.a@href",
    "ruleNextPage": "text.下一页@href",
    "rulePubDate": "class.time@text",
    "ruleTitle": "class.ctitle@text",
    "singleUrl": true,
    "sortUrl": "情侣::https://xn---jfgsoucom-xo3rt4olv7g07mz39a.jifangge-club.com/search.php?k=SwmVnh7DhV5fti8rANEOnA%3D%3D\n真实自拍::https://xn---jfgsoucom-xo3rt4olv7g07mz39a.jifangge-club.com/search.php?k=sxFQ8fIfXNi%2F7h%2FTa%2BVqaQ%3D%3D\n艳照门::https://xn---jfgsoucom-xo3rt4olv7g07mz39a.jifangge-club.com/search.php?k=sWJNZL81qog%2FV0kqE7K4xg%3D%3D\n韩国::https://xn---jfgsoucom-xo3rt4olv7g07mz39a.jifangge-club.com/search.php?k=qYmLQw%2Bg9uPbbhsqBrcq2Q%3D%3D\n91大神::https://xn---jfgsoucom-xo3rt4olv7g07mz39a.jifangge-club.com/search.php?k=WuIS%2BITZ25HLRd6XZW%2FOxA%3D%3D\n重口::https://xn---jfgsoucom-xo3rt4olv7g07mz39a.jifangge-club.com/search.php?k=DEbPb09hbgP9k6scQg63sw%3D%3D\n国产3P::https://xn---jfgsoucom-xo3rt4olv7g07mz39a.jifangge-club.com/search.php?k=GWLkyuIEPQDeXCqVFoTAyA%3D%3D\n寻花::https://xn---jfgsoucom-xo3rt4olv7g07mz39a.jifangge-club.com/search.php?k=rKKopyjdoS20rSOUxh3zJQ%3D%3D\n探花::https://xn---jfgsoucom-xo3rt4olv7g07mz39a.jifangge-club.com/search.php?k=hgzJx3zpIIxdOEMcWHz2Tg%3D%3D\n百度云泄露::https://xn---jfgsoucom-xo3rt4olv7g07mz39a.jifangge-club.com/search.php?k=2lC5aEeJd1u2dqQ%2FmdRIVQ%3D%3D\n叫爸爸::https://xn---jfgsoucom-xo3rt4olv7g07mz39a.jifangge-club.com/search.php?k=y8uZo8HwYsn8SvxL1UCb0g%3D%3D\n双飞::https://xn---jfgsoucom-xo3rt4olv7g07mz39a.jifangge-club.com/search.php?k=5thccQpFuzxfZnnatss5wQ%3D%3D\n援交::https://xn---jfgsoucom-xo3rt4olv7g07mz39a.jifangge-club.com/search.php?k=eYLQqyMZKX0naw7R9aFiUQ%3D%3D\n高潮::https://xn---jfgsoucom-xo3rt4olv7g07mz39a.jifangge-club.com/search.php?k=vxgb5Mhrcm45%2BvJ3jR%2FK5w%3D%3D\n云盘泄密::https://xn---jfgsoucom-xo3rt4olv7g07mz39a.jifangge-club.com/search.php?k=Uk8R2RDqogK686unextaRA%3D%3D\n百度云::https://xn---jfgsoucom-xo3rt4olv7g07mz39a.jifangge-club.com/search.php?k=5ZDf525skrVIknBGx5lmFQ%3D%3D\n母狗::https://xn---jfgsoucom-xo3rt4olv7g07mz39a.jifangge-club.com/search.php?k=6%2BdjspHsB86vEMDYR8vX0g%3D%3D\nSWAG::https://xn---jfgsoucom-xo3rt4olv7g07mz39a.jifangge-club.com/search.php?k=dth6EA%2B8L38m3Nca%2FQFL2Q%3D%3D\n灌醉::https://xn---jfgsoucom-xo3rt4olv7g07mz39a.jifangge-club.com/search.php?k=CgBbOg15Du4JraAsWNBNjQ%3D%3D\n乱伦::https://xn---jfgsoucom-xo3rt4olv7g07mz39a.jifangge-club.com/search.php?k=62iSChVBLwn9fxJe4R2eFw%3D%3D\n台湾::https://xn---jfgsoucom-xo3rt4olv7g07mz39a.jifangge-club.com/search.php?k=SxxaH9csNSivTS3P7gZoFg%3D%3D\n双洞::https://xn---jfgsoucom-xo3rt4olv7g07mz39a.jifangge-club.com/search.php?k=PsCugwsYtwmQ4ClpO%2FoDjg%3D%3D\n黑人::https://xn---jfgsoucom-xo3rt4olv7g07mz39a.jifangge-club.com/search.php?k=Jo0QDMWSz9h5NGQAE9Q6VQ%3D%3D\n模特::https://xn---jfgsoucom-xo3rt4olv7g07mz39a.jifangge-club.com/search.php?k=rkt3PZIjjsRwGyupHFDGaA%3D%3D\n明星::https://xn---jfgsoucom-xo3rt4olv7g07mz39a.jifangge-club.com/search.php?k=QYz3d2N9zvH04hLT6JKzUQ%3D%3D\n外围::https://xn---jfgsoucom-xo3rt4olv7g07mz39a.jifangge-club.com/search.php?k=IMWBtdaYv%2Fjxugi4%2BHhZ4A%3D%3D\nE罩::https://xn---jfgsoucom-xo3rt4olv7g07mz39a.jifangge-club.com/search.php?k=est3SVEmdTex%2Fvm3L4vYPw%3D%3D\n平胸::https://xn---jfgsoucom-xo3rt4olv7g07mz39a.jifangge-club.com/search.php?k=6KvMA5igEDec1T31X3GJzw%3D%3D\n萝莉::https://xn---jfgsoucom-xo3rt4olv7g07mz39a.jifangge-club.com/search.php?k=z90Pw6%2BPlSZL6DsNDa3HDw%3D%3D\n偷拍::https://xn---jfgsoucom-xo3rt4olv7g07mz39a.jifangge-club.com/search.php?k=kA%2FTlS7qmOLRGkgF%2Fn0INQ%3D%3D\n强奸::https://xn---jfgsoucom-xo3rt4olv7g07mz39a.jifangge-club.com/search.php?k=rkfTz9iRzCZ2YZ9BgpLQPQ%3D%3D\n孕妇::https://xn---jfgsoucom-xo3rt4olv7g07mz39a.jifangge-club.com/search.php?k=T5nxv4JMS0RuKayEmUskBg%3D%3D\n露出::https://xn---jfgsoucom-xo3rt4olv7g07mz39a.jifangge-club.com/search.php?k=cWH28OVOk5XusdgQlQ42DA%3D%3D\n学生::https://xn---jfgsoucom-xo3rt4olv7g07mz39a.jifangge-club.com/search.php?k=S4a6Y3Jh0ahrOuC%2BnPWraw%3D%3D\n厕所::https://xn---jfgsoucom-xo3rt4olv7g07mz39a.jifangge-club.com/search.php?k=OBoF9jSv3ssvCWLzi0ZUow%3D%3D\n丝袜::https://xn---jfgsoucom-xo3rt4olv7g07mz39a.jifangge-club.com/search.php?k=HZAcWdDll929vjXxi%2Fis9Q%3D%3D\n麻豆::https://xn---jfgsoucom-xo3rt4olv7g07mz39a.jifangge-club.com/search.php?k=AAzZLiir3JVotigCPt5yyw%3D%3D\n剧情::https://xn---jfgsoucom-xo3rt4olv7g07mz39a.jifangge-club.com/search.php?k=vX2kdY6Bji%2BZDgJC3Uom8Q%3D%3D\n少妇::https://xn---jfgsoucom-xo3rt4olv7g07mz39a.jifangge-club.com/search.php?k=WvRQ3zJ6x0Iddtyv%2F3kQ7Q%3D%3D\n初中::https://xn---jfgsoucom-xo3rt4olv7g07mz39a.jifangge-club.com/search.php?k=7zlfwQmL2OCGlwAMuO9PkQ%3D%3D\n户外::https://xn---jfgsoucom-xo3rt4olv7g07mz39a.jifangge-club.com/search.php?k=P5xjiQfnsJ62f4Hz3RGbVg%3D%3D\n巨乳::https://xn---jfgsoucom-xo3rt4olv7g07mz39a.jifangge-club.com/search.php?k=B5Vt3CkBgs3beFwmKholzg%3D%3D\n按摩师::https://xn---jfgsoucom-xo3rt4olv7g07mz39a.jifangge-club.com/search.php?k=JM5fp9rXtfWRGHxSh8zS5w%3D%3D\n抖音::https://xn---jfgsoucom-xo3rt4olv7g07mz39a.jifangge-club.com/search.php?k=zFa%2FHlIv9P7FSIj1wrTPLw%3D%3D\n极品::https://xn---jfgsoucom-xo3rt4olv7g07mz39a.jifangge-club.com/search.php?k=IuN82Iai2xUOVHMMANfnOA%3D%3D\n勾引::https://xn---jfgsoucom-xo3rt4olv7g07mz39a.jifangge-club.com/search.php?k=vh64QmiM3Mo2OcKdxDQdsQ%3D%3D\n调教::https://xn---jfgsoucom-xo3rt4olv7g07mz39a.jifangge-club.com/search.php?k=%2BQeUgBv85wKceg%2FDI5Ak0w%3D%3D\n对白::https://xn---jfgsoucom-xo3rt4olv7g07mz39a.jifangge-club.com/search.php?k=%2B9ccuxdMZa3%2FJ8LzxMB6qg%3D%3D\n喷水::https://xn---jfgsoucom-xo3rt4olv7g07mz39a.jifangge-club.com/search.php?k=1oRbUL2Xn9xhEmXGx6GsQA%3D%3D\n白虎::https://xn---jfgsoucom-xo3rt4olv7g07mz39a.jifangge-club.com/search.php?k=UKNntcz6aNUmZxjkxJCFPQ%3D%3D\n肛交::https://xn---jfgsoucom-xo3rt4olv7g07mz39a.jifangge-club.com/search.php?k=nWw6UIl046QAjrvoKFS2Rw%3D%3D\n宿舍::https://xn---jfgsoucom-xo3rt4olv7g07mz39a.jifangge-club.com/search.php?k=12%2BMLChLTiqIX3cSShXxtg%3D%3D",
    "sourceComment": "",
    "sourceGroup": "🔞 18禁,R18",
    "sourceIcon": "https://i.postimg.cc/tCs5Fb8F/1664101587780.png",
    "sourceName": "©集芳阁®",
    "sourceUrl": "https://xn---jfgsoucom-xo3rt4olv7g07mz39a.jifangge-club.com/"
  },
  {
    "articleStyle": 0,
    "customOrder": 34,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "📖 阅读,R18",
    "sourceIcon": "https://cdn2.jianshu.io/assets/web/misc-logo-805143ddec2e594416e891df316a73a7.png",
    "sourceName": "简书",
    "sourceUrl": "https://www.jianshu.com"
  },
  {
    "articleStyle": 1,
    "customOrder": 35,
    "enableJs": false,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "{\n  \"User-Agent\": \"okhttp/4.2.2\"\n}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "$.data.vodrows",
    "ruleContent": "<video src=\"{{$.data.httpurl}}{{$.data.httpurl_preview}}\" autoplay muted controls></video>",
    "ruleImage": "$.coverpic",
    "ruleLink": "http://ios.bxguwen.com{{$.play_url}}",
    "ruleNextPage": "$..next_url",
    "rulePubDate": "{{$.updatetime}}  {{$.scorenum}}分  {{$.areaname}}   {{$.catename}} {{$.actor_tags..tagname}}  {{$.tags..tagname}} ",
    "ruleTitle": "@js:\nif (\"{{$.isvip}}{{$.islimitv3}}\"==\"00\"){result=\"{{$.title}}\"}else{result=\"\"}",
    "singleUrl": false,
    "sortUrl": "搜索用::http://ios.bxguwen.com/search?page={{page}}&wd={{v=source.getVariable()}}\n青纯少女::http://ios.bxguwen.com/vod/listing-6-0-0-0-0-0-0-0-0-1\n辣妹大奶::http://ios.bxguwen.com/vod/listing-7-3-0-0-0-0-0-0-0-1\n女同专属::http://ios.bxguwen.com/vod/listing-8-0-0-0-0-0-0-0-0-1\n素人出演::http://ios.bxguwen.com/vod/listing-9-0-0-0-0-0-0-0-0-1\n角色扮演::http://ios.bxguwen.com/vod/listing-10-0-0-0-0-0-0-0-0-1\n成人动漫::http://ios.bxguwen.com/vod/listing-11-0-0-0-0-0-0-0-0-1\n人妻熟女::http://ios.bxguwen.com/vod/listing-12-0-0-0-0-0-0-0-0-1\n变态另类::http://ios.bxguwen.com/vod/listing-13-0-0-0-0-0-0-0-0-1\n经典伦理::http://ios.bxguwen.com/vod/listing-14-0-0-0-0-0-0-0-0-1",
    "sourceComment": "//      >>> 当前时间是：2025-06-23 04:07:37 <<<\n//  关注微信公众号【神秘的哥哥们】有惊喜哦！！！\n//  当前接口：http://ios.bxguwen.com/vod/listing-6-1-0-0-0-0-0-0-0-1\n模板http://ios.bxguwen.com/vod/listing-cateid-areaid-yearid-definition-duration-freetype-mosaic-langvoice-orderby-1\n\n{\"retcode\":0,\"errmsg\":\"\",\"data\":{\"now\":1750622857,\"action\":\"listing\",\"sample_params\":\"$cateid:0-$areaid:0-$yearid:0-$definition:0-$duration:0-$freetype:0-$mosaic:0-$langvoice:0-$orderby:0-$page:1\",\"params\":{\"cateid\":\"6\",\"areaid\":\"1\",\"yearid\":\"0\",\"definition\":\"0\",\"duration\":\"0\",\"freetype\":\"0\",\"mosaic\":\"0\",\"langvoice\":\"0\",\"orderby\":\"0\",\"page\":\"1\"},\n\"vodrows\":[],\"pageinfo\":{\"plist\":[{\"pos\":\"curr\",\"page\":1,\"text\":1,\"url\":\"/vod/listing-6-1-0-0-0-0-0-0-0-1\"}\n],\n\"pagesize\":16,\"total\":0,\"totalpage\":1,\"page\":1,\"start\":0,\"end\":0,\"prev\":0,\"next\":0,\"curr_url\":\"/vod/listing-6-1-0-0-0-0-0-0-0-1\",\"first_url\":\"/vod/listing-6-1-0-0-0-0-0-0-0-1\",\"prev_url\":\"/vod/listing-6-1-0-0-0-0-0-0-0-1\",\"next_url\":\"/vod/listing-6-1-0-0-0-0-0-0-0-1\",\"last_url\":\"/vod/listing-6-1-0-0-0-0-0-0-0-1\",\"page_url\":\"/vod/listing-6-1-0-0-0-0-0-0-0-[?]\",\"pages\":[1]},\n\"orders\":[{\"keyid\":1,\"value\":\"最多好评\"},\n{\"keyid\":2,\"value\":\"最多播放\"},\n{\"keyid\":3,\"value\":\"最高评分\"}\n],\n\"categories\":[{\"cateid\":\"16\",\"parentid\":\"0\",\"uuid\":\"\",\"catename\":\"香蕉原创\"},\n{\"cateid\":\"5\",\"parentid\":\"0\",\"uuid\":\"\",\"catename\":\"制服诱惑\"},\n{\"cateid\":\"6\",\"parentid\":\"0\",\"uuid\":\"\",\"catename\":\"清纯少女\"},\n{\"cateid\":\"7\",\"parentid\":\"0\",\"uuid\":\"\",\"catename\":\"辣妹大奶\"},\n{\"cateid\":\"8\",\"parentid\":\"0\",\"uuid\":\"\",\"catename\":\"女同专属\"},\n{\"cateid\":\"9\",\"parentid\":\"0\",\"uuid\":\"\",\"catename\":\"素人出演\"},\n{\"cateid\":\"10\",\"parentid\":\"0\",\"uuid\":\"\",\"catename\":\"角色扮演\"},\n{\"cateid\":\"11\",\"parentid\":\"0\",\"uuid\":\"\",\"catename\":\"成人动漫\"},\n{\"cateid\":\"12\",\"parentid\":\"0\",\"uuid\":\"\",\"catename\":\"人妻熟女\"},\n{\"cateid\":\"13\",\"parentid\":\"0\",\"uuid\":\"\",\"catename\":\"变态另类\"},\n{\"cateid\":\"14\",\"parentid\":\"0\",\"uuid\":\"\",\"catename\":\"经典伦理\"},\n{\"cateid\":\"4\",\"parentid\":\"0\",\"uuid\":\"\",\"catename\":\"偷拍自拍\"}\n],\n\"areas\":[{\"areaid\":\"2\",\"areaname\":\"国产\",\"sortnum\":\"1\"},\n{\"areaid\":\"3\",\"areaname\":\"日本\",\"sortnum\":\"2\"},\n{\"areaid\":\"8\",\"areaname\":\"台湾省\",\"sortnum\":\"3\"},\n{\"areaid\":\"5\",\"areaname\":\"韩国\",\"sortnum\":\"4\"},\n{\"areaid\":\"7\",\"areaname\":\"香港\",\"sortnum\":\"5\"},\n{\"areaid\":\"6\",\"areaname\":\"欧美\",\"sortnum\":\"6\"}\n],\n\"years\":[{\"yearid\":\"12\",\"yearname\":\"2025\",\"sortnum\":\"0\"},\n{\"yearid\":\"14\",\"yearname\":\"2024\",\"sortnum\":\"1\"},\n{\"yearid\":\"15\",\"yearname\":\"2023\",\"sortnum\":\"2\"},\n{\"yearid\":\"16\",\"yearname\":\"2022\",\"sortnum\":\"3\"},\n{\"yearid\":\"17\",\"yearname\":\"2021\",\"sortnum\":\"4\"},\n{\"yearid\":\"18\",\"yearname\":\"2020\",\"sortnum\":\"5\"},\n{\"yearid\":\"6\",\"yearname\":\"2019\",\"sortnum\":\"6\"},\n{\"yearid\":\"3\",\"yearname\":\"2018\",\"sortnum\":\"7\"}\n],\n\"definitions\":[{\"keyid\":1,\"value\":\"标清\"},\n{\"keyid\":2,\"value\":\"高清\"}\n],\n\"durations\":[{\"keyid\":1,\"value\":\"长片\"},\n{\"keyid\":2,\"value\":\"短片\"}\n],\n\"freetypes\":[{\"keyid\":1,\"value\":\"免费\"},\n{\"keyid\":2,\"value\":\"会员\"}\n],\n\"mosaics\":[{\"keyid\":1,\"value\":\"有码\"},\n{\"keyid\":2,\"value\":\"无码\"}\n],\n\"langvoices\":[{\"keyid\":1,\"value\":\"中文字幕\"},\n{\"keyid\":2,\"value\":\"国语对白\"},\n{\"keyid\":3,\"value\":\"其它\"}]}}",
    "sourceGroup": "R18",
    "sourceIcon": "https://i.postimg.cc/WbBpgPrK/1655357335965.png",
    "sourceName": "©香蕉®",
    "sourceUrl": "http://ios.bxguwen.com/vod/listing-0-0-0-0-0-0-2-0-0-1",
    "style": "video{width:100%}"
  },
  {
    "articleStyle": 1,
    "customOrder": 35,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.item-issue!-1:-2@div!0:-1",
    "ruleContent": "class.text-detail@html&&class.picture-detail@html@js:\"<a href=\"+baseUrl+\">原文地址<a>\"+result",
    "ruleImage": "tag.img@src",
    "ruleLink": "class.div-link@href",
    "rulePubDate": "@js:if(String(result).match(/issue-article/)){a=String(result).match(/作者([^<]+)</);result=\"文章·\"+a[1]}else{if(String(result).match(/issue-picture/)){a=String(result).match(/class=\"date\">([^\"]+)<span class=\"issue-no\">([^\"]+)<\\/span>/);\nresult=\"图文·\"+a[1]+a[2]}else{result=\"问答\"}}",
    "ruleTitle": "class.text-content-short@text||class.text-title@text##作者.*",
    "singleUrl": false,
    "sortUrl": "",
    "sourceGroup": "🍆尤物,R18",
    "sourceIcon": "http://image.wufazhuce.com/apple-touch-icon.png",
    "sourceName": "一个",
    "sourceUrl": "http://m.wufazhuce.com/index"
  },
  {
    "articleStyle": 0,
    "concurrentRate": "",
    "customOrder": 36,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\n    'User-Agent': 'Mozilla/5.0 (Linux; Android 11; Pixel 3 XL Build/RQ3A.211001.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/102.0.4988.0 Mobile Safari/537.36 SearchCraft/3.9.2 (Baidu; P1 11) '\n}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "<js>\njson=[];\nif(baseUrl.match(/ /)){\nlist=baseUrl.replace(/http.*?wd=\\s*/,'').split(' ');\nfor(i in list){\nhref=list[i].match(/【(.*?)】/)[1];\ntext=list[i].match(/《(.*?)》/)[1];\nintro=list[i].match(/◎(.*?)◎/)[1];\nindex=list[i].match(/^(\\d+、\\d+、)/)?list[i].match(/^(\\d+、\\d+、)/)[1]:list[i].match(/^(.*?)【/)[1]\njson.push({text:text,src:href,intro:intro,index:index})\n}\n}\nJSON.stringify(json)</js>\n$.[*]",
    "ruleContent": "",
    "ruleDescription": "",
    "ruleImage": "$.src",
    "ruleLink": "$.index",
    "ruleNextPage": "",
    "rulePubDate": "$.intro",
    "ruleTitle": "$.text",
    "singleUrl": false,
    "sortUrl": "🎥-影视▪️影院::https://www.o8tv.com/【https://i.postimg.cc/Gt9kN6VT/de6a398e2e6f25cd8fea8814651e2403.png】《555影院®》◎在线影院◎ https://app.movie/【https://i.postimg.cc/nzjWQ5SG/1657028424447.png】《App影院®》◎在线影院◎ https://fullxcinema-com.translate.goog/category/celebrity-porn-videos/?_x_tr_sl=auto&_x_tr_tl=zh-CN&_x_tr_hl=zh-CN【https://i.postimg.cc/P5L9Z6Hw/141e2972743b1e14db0c2fe409fd3fda.png】《全电影网》◎电影网站◎ https://www.novipnoad.com/【https://i.postimg.cc/Y2y7w6rm/1657177866100.png】《Novipnoad®》◎在线影院◎ https://www.ikanbot.com/【https://i.postimg.cc/L5FKJwJY/1657464485475.png】《爱机器人®》◎影视直播◎ http://m.360live.cc/【https://i.postimg.cc/6q7P40T7/1657171372253.png】《爱看卫视》◎卫视在线直播◎ http://www.aiqingtv.com:8/【https://i.postimg.cc/Gh5M40BM/1660216319238.png】《爱情.TV》◎在线影院◎ https://xiaoyakankan.com/cat/15.html【https://i.postimg.cc/Mp52b9rZ/1658047723416.png】《小鸭看看®》◎在线影院◎ https://www.pkmp4.com/【https://i.postimg.cc/W4T8QvbP/1657585183153.png】《片库影院®》◎在线影院◎ https://ddrk.me/【https://i.postimg.cc/Zq0kncDk/1658839233937.png】《低端影院®》◎在线影院◎ http://www.renren.pro/【https://i.postimg.cc/wMytDpgh/1657021317616.png】《人人影视®》◎电影网站◎ https://www.pbpb.tv/【https://i.postimg.cc/8kxfghJX/1657179241087.png】《片吧影院®》◎在线影院◎ http://hense66.sexurl.xyz/【https://i.postimg.cc/8CbGXPcg/1678704603667.png】《很涩视频》◎在线视频◎ https://www.libvio.me/【https://i.postimg.cc/2jZWSPmM/5b55c5e231aca321b58fe16d59c3ee75.png】《Libvio.me》◎在线影院◎ https://www.66.ca/forum.php?fid=56&mod=forumdisplay【https://i.postimg.cc/90YS3Vq5/1657217561547.png】《华人社区》◎社区阅读网站◎\n☸-文娱▪️阅读::https://mp3-banana.pro/【https://i.postimg.cc/d3HR8qqW/1636542691088.png】《俄语音乐》◎俄站步非烟◎ https://siyufm.net/lists/?page=2&author=12【https://i.postimg.cc/zXHKN1nK/1637811407315.png】《私语电台》◎私密电台◎ https://asmrs.live/category/%E6%AD%A5%E9%9D%9E%E7%83%9F%E7%AC%AC%E4%B8%80%E5%AD%A3【https://i.postimg.cc/15yTD2t8/1643175843924.png】《Asmrs~🎧》◎在线音频◎ https://es.iporntv.net/search/%E4%B8%AD+%E6%96%87+%E9%9F%B3%E5%A3%B0+asmr【https://i.postimg.cc/kGSc5QGT/1657418160867.png】《中文音声》◎资源网站◎ https://m.xingdiantai.com/freeradio/【https://i.postimg.cc/tJWDWsS9/1636543129910.png】《杏吧电台》◎免费电台网站◎ http://hja27.com/【https://i.postimg.cc/KjNH5kQJ/8e5e7fc946028dcf4f32a2173ae4c319.png】《海角社区》◎登录在线社区◎ https://heiliao6.pro/【https://i.postimg.cc/MGJHYjQK/df8abf301d246c79be2416cb2d382e3c.png】《黑料链接®》◎链接网站◎ https://www.g718.sx/【https://i.postimg.cc/nhRTwV51/60caf55a7c86f32a0ffd3252d718353e.png】《718车友会®》◎在线论坛◎ https://www.51cg1.com/【https://i.postimg.cc/63K4SCLn/1657033842033.png】《51吃瓜网》◎在线论坛◎ https://jav.gallery/【https://i.postimg.cc/fL1fHJWz/1655687656501.png】《動宝在线》◎在线视频网站◎ https://qq.com.tiege03.xyz/?uid=128879【https://i.postimg.cc/CLH3C2fH/1639307031234.png】《铁哥TV》◎在线网站◎ https://www.pornfind.org/【https://i.postimg.cc/1RL5Vrbx/1643170566233.png】《搜索引擎》◎导航网站◎ https://qq.com.lsck01.xyz/【https://i.postimg.cc/15pk15cJ/22f1c92cf8ecb6af575fb4e502a91ebd.png】《绿色仓库》◎视频导航网站◎ https://qq.com.tieniux15.top/【https://i.postimg.cc/m2TDkYx5/1655817959914.png】《铁牛资源》◎导航链接◎ https://qq.com.beiwotv.xyz/【https://i.postimg.cc/G2dbSRjm/1655822701904.png】《被窝TV》◎导航网站◎\n🔲-图片▪️套图::https://heaven.porn/【https://i.postimg.cc/gj5D3V3t/1637729257404.png】《Heaven》◎全球套图精选◎ https://www.pornpics.com/【https://i.postimg.cc/V6HtGBmL/ac28d790f21bb18524b5bab2496e361f.png】《Pornpics》◎中外图库[高清大图]◎ https://www.nudexxx.pics/categories/babe/【https://i.postimg.cc/131j1j0v/1638332202023.png】《Nudexxx》◎在线图片◎ https://www.xxxftvgirls.com/【https://i.postimg.cc/QM3pzCY7/1655781876454.png】《Xxxftvgirls》◎全球套图精选◎ https://www.gravurehunter.com/【https://i.postimg.cc/mgBQv38B/c144ea102b481a06e2cfbff4eecbb1b9.png】《Gravure》◎在线图片◎ https://sexynude.pics/【https://i.postimg.cc/dV7qX4Pg/1655823076713.png】《Sexynude》◎在线图片◎ https://nakedwomen.pics/【https://i.postimg.cc/28FX9mTf/1657271779518.png】《Nakedwomen》◎在线图片◎ https://thotsbay.tv/?fulione【https://i.postimg.cc/CLnhg9hR/1678630353262.png】《Thotsbay》◎在线图片◎ https://latestones.com/models【https://i.postimg.cc/rFFTYphv/10c7bcd9cd616a05b07a8e5155ff568e.png】《Latestones》◎高清写真◎ https://www.eroticbeauties.net/【https://i.postimg.cc/15qw8YBz/e70b08733fceb554437154b2ea2b5a53.png】《eroticbeauties》◎在线图片◎ https://www.metarthunter.com/most-viewed/【https://i.postimg.cc/Gp4T8xSs/cae05c94e7c8ffae80289e7bc24b3f34.png】《Metarthunter》◎花花公子图片站◎ https://www.hqseek.com/【https://i.postimg.cc/1Xd6bLng/1636528074158.png】《Hqseek》◎在线图片◎ https://www.freexcafe.com/?ref=porndude【https://i.postimg.cc/kX35Jpx4/1655983982372.png】《Freexcafe.com》◎在线图片◎ https://www.freebigtitpornpics.com/【https://i.postimg.cc/7PTBbdtR/1656073522948.png】《Bigtitpornpics》◎国际图片◎ https://www.jpbeauties.com/【https://i.postimg.cc/BZDtwf7C/1637918486763.png】《JPbeauties》◎日本图片◎ https://www.eastbabes.com/【https://i.postimg.cc/bvJLc0qZ/1656221729360.png】《Eastbabes》◎在线图片◎ https://www.erosberry.com/?ref=porndude【https://i.postimg.cc/4NXqnm2v/b36328b476f62c28399930a8a7b98030.png】《Erosberry.com》◎在线图片◎\n🔳-传媒▪️日系::https://www.helloavgirls.com/?qingse.one【https://i.postimg.cc/nhRvftvn/1637637245085.png】《Hello~avgirls》◎日系av视频网站◎ https://www.tw0913.com/index/index_1.html【https://i.postimg.cc/jdhFZbMb/1655657370807.png】《AV中文》◎短视频网站◎ https://netflav.com/?qingse.one【https://i.postimg.cc/B68nz9r5/9b463e356784d62007bbfa9ab669d88e.png】《Netflav》◎日系资源~浏览器打开◎ https://www.fuq.com/zh/【https://i.postimg.cc/pL082scx/1656697944724.png】《Fuq.com》◎在线视频◎ https://www.tubev.sex/【https://i.postimg.cc/3Jc0Mxv8/1655872958452.png】《Tubev.sex》◎日系视频◎ https://pigav.com/【https://i.postimg.cc/5ytmqkJ5/1636714890664.png】《Pigav.com》◎视频网站◎ https://www.atube.xxx/?hl=zh【https://i.postimg.cc/YCGJ5q3P/1636849542518.png】《Dtube.xxx》◎在线视频◎ https://www.pfree.one/【https://i.postimg.cc/1tcn0fX7/a139d7adf597e53efc35411870cb9e62.png】《Pfree.one》◎在线视频◎ https://foxlibrary.xyz/【https://i.postimg.cc/qqJqngpX/a1c375a47f312841f8fa6eec14ed61cc.png】《FoxLibrary》◎在线视频◎ https://www.rtmm6.com/video/1/【https://i.postimg.cc/rw4G8443/1657012825802.png】《人体美媚》◎综合网站◎ https://hhhjav.com/【https://i.postimg.cc/Qtf8mGyQ/1656046620044.png】《三H视频》◎综合视频◎ https://fyptt.to/【https://i.postimg.cc/8c9D4yHY/1657563183687.png】《海外抖音》◎海外抖音网站◎ https://eden01.com/【https://i.postimg.cc/bJty35ns/1656074689383.png】《伊甸园网》◎综合视频◎ https://www.fengyuetongtian.com/【https://i.postimg.cc/7ZnG4jsL/1655829430458.png】《风月同天》◎国产视频◎ https://www.bus13.com/【https://i.postimg.cc/bwWMLL57/1655688619355.png】《艾薇巴士》◎视频影院◎ https://avhd1.com/index.html【https://i.postimg.cc/R04Ps1FK/1655817933907.png】《AV视频》◎在线视频◎\n🈂-动漫▪️漫画::https://www-hentaicloud-com.translate.goog/videos?o=mr&_x_tr_sl=auto&_x_tr_tl=zh-CN&_x_tr_hl=zh-CN【https://i.postimg.cc/cLxmt8qt/1657264255748.png】《Hentaicloud》◎在线漫画◎ https://hentaidude.com/【https://i.postimg.cc/VLRc1YRt/1657024067326.png】《hentaidude》◎在线动漫◎ https://www.animehentaivideos.xxx/【https://i.postimg.cc/hj2wwX1T/1657216924243.png】《Hentai~VI》◎日系动漫◎ https://animeidhentai.com/【https://i.postimg.cc/G2Sfn4Ww/1656838030280.png】《Animeid》◎日系动漫◎ https://porcore.com/【https://i.postimg.cc/1zBgGkj0/1657010517944.png】《Porcore》◎在线漫画◎ http://www.177picyy.com/html/category/cg/cg-cn/【https://i.postimg.cc/qgfhYGQt/1656838187853.png】《177漫画》◎在线漫画◎ https://porn3dx.com/【https://i.postimg.cc/sfYtC7st/1657263526600.png】《Porn3dx》◎在线漫画◎ https://www.ho5ho.com/?ref=porndude【https://i.postimg.cc/Kzcw2rKV/1658321960709.png】《全彩H漫》◎在线漫画◎ https://www-hentairules-net.translate.goog/category/incest/?_x_tr_sl=auto&_x_tr_tl=zh-CN&_x_tr_hl=zh-CN【https://i.postimg.cc/PJ34ypKS/1656921716625.png】《hentairules》◎在线漫画◎ https://doujins.com/【https://i.postimg.cc/QdxnMzSN/a6222dd9366f54f87b8f7870bfe43089.png】《Doujins》◎在线动漫◎ https://asmhentai.com/【https://i.postimg.cc/QMGcdFZv/1656904673161.png】《Asmhentai》◎在线漫画◎ https://comics.8muses.com/comics【https://i.postimg.cc/cHCkjmMF/1656747410145.png】《8muses.com》◎在线动漫◎ https://www.cartoonpornvideos.com/【https://i.postimg.cc/PxBHqhpx/1656917164314.png】《Cartoon~P》◎在线动漫◎ https://h-ciyuan.com/【https://i.postimg.cc/R0djvfpk/1657800089071.png】《H~ciyuan》◎在线动漫◎ https://hanime1.me/【https://i.postimg.cc/zvTCGjfx/3761b8bde0f4a3f5d6fc633fd54f0fc6.png】《hanime1.me》◎漫画网站◎\n🎥-VR▪️博客::https://sharesome.com/news/【https://i.postimg.cc/gj4HKk9B/1636708458829.png】《Sharesone™》◎时尚博客直播◎ https://nudebabes.tube/【https://i.postimg.cc/FRZThKzw/1637547515349.png】《Nudebabes》◎在线影院◎ https://m.livejasmin.com/en/list/girl/www.cavhot.com【https://i.postimg.cc/3RDq1WJm/1638681569437.png】《Livejasmin》◎欧美在线直播◎ https://m-chaturbate-com.translate.goog/?_x_tr_sl=auto&_x_tr_tl=zh-CN&_x_tr_hl=zh-CN【https://i.postimg.cc/Mp58kP1S/1656736242263.png】《Chaturbate》◎欧美直播網站◎ https://xn--zp3-xxxsspcom-yp8ve33bkpevz1kpxq.xn--yetv14dbin23n.com/?fulione【https://i.postimg.cc/mrzDLSN0/1657067668701.png】《xxxsspcom™》◎中文抖淫◎ https://viralporn.com/【https://i.postimg.cc/zfGYVCJx/1657014358637.png】《Viralporn》◎欧美直播網站◎ https://51papaya.com/【https://i.postimg.cc/sDLntHFK/1678275099518.png】《51papaya》◎在线短视频◎ https://vrporn.com/?a=634574【https://i.postimg.cc/JzKcYQdk/1655469952522.png】《Vrporn.com[VR]》◎VR视频站◎ https://virtualrealporn.com/?nats=OTk5MTAwMDMuNS44LjEwLjAuMC4wLjAuMA【https://i.postimg.cc/FFJ2fFfW/1655542912385.png】《virualrealporn[VR]》◎VR视频站◎ https://m.instantfap.com/?ref=porndude【https://i.postimg.cc/NM7v3FWG/1636714420842.png】《Instantfap》◎欧美在线视频直播站[优质画面]◎ https://www.sex.com/【https://i.postimg.cc/N0zRGwXh/1655566034717.png】《Sex.com》◎欧美在线视频直播站[优质画面]◎ https://www.xfree.com/?popularFeed=150672【https://i.postimg.cc/Kj0rSZ00/1b675b5fcb22bb8c84bf3682ebad5759.png】《Xfree.com》◎博客直播[优质画面]◎ https://fikfap.com/?ref=porndude【https://i.postimg.cc/DyVy8K9r/1655654233967.png】《Fikfap.com》◎博客直播[优质画面]◎ https://xxxtik.com/?ref=porndude【https://i.postimg.cc/mkxbZNW4/a2b0d5776f5161f168d8394f3bd37074.png】《Xxxtik.com》◎博客直播[优质画面]◎ https://tik.porn/video/216500【https://i.postimg.cc/9XBRnLsy/1655648357308.png】《Tik.porn》◎博客直播[优质画面]◎\n🔞-在线【宽屏】::https://cn.pornhub.com/view_video.php?viewkey=ph5f5367cd02a9a【https://i.postimg.cc/PfZcf8W1/1637937252627.png】《Pornhub》◎🇨🇦在线视频◎ https://www.xvideos.com/【https://i.postimg.cc/L6yQskbQ/1637936393141.png】《Xvideos》◎🇨🇿在线视频◎ https://www.bookofp.com/zh/celebrities/【https://i.postimg.cc/xd72QNs4/1659110706030.png】《Bookofp》◎🇱🇷在线视频◎ https://beeg.com/?ref=porndude【https://i.postimg.cc/T17T3Lm8/1637937050924.png】《Beeg.com》◎🇬🇳在线视频◎ https://m.shameless.com/【https://i.postimg.cc/8CWvGJ1v/1655955946009.png】《shameless》◎🇮🇸在线视频◎ https://txxx.com/【https://i.postimg.cc/CKS3NdBC/1656841152906.png】《Txxx.com》◎🇨🇿在线视频◎ https://m.tnaflix.com/【https://i.postimg.cc/Jzw65BYB/1657106388720.png】《Tnaflix.com》◎🇭🇺在线视频◎ https://fuqer.mobi/【https://i.postimg.cc/FzRB7zqf/2096f0a90436c081102ce000cb1b82b9.png】《Fuqer.mobi》◎🇩🇪在线视频◎ https://teenxmovies.net/【https://i.postimg.cc/MGfGBqPJ/1655986800440.png】《Teenxmovies》◎🇩🇪在线视频◎ https://www.xnxx.com/【https://i.postimg.cc/3NT7QXZF/1638079383739.png】《Xnxx.com》◎🇺🇸在线视频◎ https://www.joysporn.com/?ref=porndude【https://i.postimg.cc/ydy26fDV/1656468812234.png】《Joysporn》◎🇭🇺在线视频◎ https://www.youporn.com/【https://i.postimg.cc/g21CS5TH/1658916855443.png】《Youporn》◎🇨🇴在线视频◎ https://www.gotporn.com/【https://i.postimg.cc/N0hGHFZf/1658840245284.png】《Gotporn.com》◎🇭🇺在线视频◎ https://4kporn.xxx/【https://i.postimg.cc/ht2r3jht/1638700576004.png】《4Kporn.xxx》◎🇳🇴在线视频◎ https://porndoe.com/?utm_campaign=theporndude&utm_medium=trafficbuy&utm_source=theporndude【https://i.postimg.cc/hG3NT5Vz/1637931210565.png】《Porndoe》◎🇫🇷在线视频◎\n🔞-在线【欧美】::http://www.incestflix.com/?ref=porndude【https://i.postimg.cc/G36dHWwM/1638705175642.png】《Incestflix》◎🇮🇩在线视频◎ https://crazyshit.com/category/random-nudity/【https://i.postimg.cc/dtjdr2pM/357020e158482026a20a7e713f6b6279.png】《Crayshit.com》◎🇦🇽在线视频◎ https://motherless.com【https://i.postimg.cc/LXZynXtV/1656205674304.png】《Motherless》◎🇻🇪在线视频◎ https://zh.xhamster.com/【https://i.postimg.cc/VLd9cpxN/1638625257182.png】《Xhameter》◎🇹🇳在线视频◎ https://www.ixxx.com【https://i.postimg.cc/7PjrhdTS/1656846388876.png】《Ixxx.com》◎🇹🇳在线视频◎ https://fuqqt.com/videos/babe【https://i.postimg.cc/TwQzJhLv/1656205530357.png】《Fuqqt.com》◎🇭🇺在线视频◎ https://shooshtime.com/【https://i.postimg.cc/DZzSwpJk/1656294092715.png】《Shooshtime》◎🇫🇮在线视频◎ https://fapster.xxx/categories/【https://i.postimg.cc/zf5fxnkx/1656330613273.png】《Fapster.xxx》◎🇮🇩在线视频◎ https://pornone.com/【https://i.postimg.cc/RZj3rKJD/1656981369071.png】《Pornone.com》◎🇮🇩在线视频◎ https://www.porntube.com/?cid=2930【https://i.postimg.cc/442qfqDm/1638143733789.png】《Porntube》◎🇲🇸在线视频◎ https://www.eporner.com/【https://i.postimg.cc/FscqrGTv/1656079279240.png】《Epornet》◎🇰🇿在线视频◎ https://www.redtube.com/【https://i.postimg.cc/Wp8NN7yM/1656336459126.png】《Redtube》◎🇬🇦在线视频◎ https://www.pornhd.com/【https://i.postimg.cc/HLWTf1T9/47dd395f818d744f5f6b897508d3309f.png】《Pornhd》◎🇮🇩在线视频◎ https://www.18porn.sex/【https://i.postimg.cc/v83FXZLS/1656123183464.png】《18porn.sex》◎🇾🇪在线视频◎ https://pornkai.com/【https://i.postimg.cc/C5gR1VJC/1656347595775.png】《Pornkai》◎🇨🇦在线视频◎\n🔞-在线【备选】::https://pornontube.com/zh-cn/【https://i.postimg.cc/SRZHh6nJ/1657441598978.png】《Pornontube》◎在线电影◎ https://www.fellatiojapan.com/en/?ref=1860c830【https://i.postimg.cc/0Nvm3sM8/1657504985437.png】《Fellatiojapan》◎在线视频网站◎ https://pmatehunter.com/【https://i.postimg.cc/251kXxS9/1657442432339.png】《Pmate~H》◎国际图片◎ https://www.tubegalore.com/zh/【https://i.postimg.cc/8cyY5pTK/1665305809050.png】《Tubegalore》◎在线视频◎ https://m.porn555.com/【https://i.postimg.cc/mrHj6MxN/1657449171627.png】《Porn555.com》◎视频网站◎ https://www.qpornosite.com/【https://i.postimg.cc/zXXc4mKS/647a65f79ad84414ec8ef7037833ee62.png】《qpornosite》◎视频网站◎ https://www.fuqpremium.com/zh/【https://i.postimg.cc/3RYktqSK/c424aec60f743d6db1474dade05b3173.png】《fuqpremium》◎在线视频◎ https://www.lobstertube.com/zh/【https://i.postimg.cc/CMcXFYLT/0b02fc4ba24b38f90f62c54142be537c.png】《LobsterTube》◎数百万激情色情电影◎ https://familyporn.tv/【https://i.postimg.cc/hjjpKYNg/1657448947985.png】《家庭porn》◎在线视频网站◎ https://www.tube8.com/【https://i.postimg.cc/28C8L5vd/c1c46f7c390245ed8325cf5cbcdfa54d.png】《Tybe.8.com》◎在线直播网站◎ https://www.handjobjapan.com/en/?ref=a2f6354a【https://i.postimg.cc/9XBBBLTK/1657198533076.png】《Handjobjaan》◎日系手活◎ https://jav.javfinder.tk/【https://i.postimg.cc/tJ4x5bFj/1665130749332.png】《Javfinder.tk》◎在线视频◎ https://www.porzo.com/zh/【https://i.postimg.cc/htbRGgLV/1657444600756.png】《Porzo.com》◎在线视频◎ https://aboutporno.net/【https://i.postimg.cc/sx2PrBwC/1657560491814.png】《aboutporno.net》◎视频网站◎ https://adultdeepfakes.com/【https://i.postimg.cc/rmsLp1bX/1657442859439.png】《Adultdeepfakes》◎影院在线◎\n📖-书单▪️榜单®::https://vt.sm.cn/api/novelStarReco/index【https://i.postimg.cc/3Ng0mjYb/1642215764921.png】《星云推书》◎书荒搜书神器◎ https://m.qidian.com/rank/【https://i.postimg.cc/Bb6H9P0h/1643185593580.png】《起点榜单》◎起点中文网榜单◎ https://quark.sm.cn/api/rest?method=Novelnew.home&format=html&schema=v2&gender=male&cate=%E5%85%A8%E9%83%A8&rank=rank_hot&pv=2420440【https://i.postimg.cc/XqXmn23H/1656398173543.png】《夸克榜单》◎夸克浏览器小说榜单◎ https://m.baidu.com/sf?openapi=1&dspName=iphone&dsp=iphone&from_sf=1&pd=bookstore&resource_id=5077&type=2&card_id=5143&word=%E5%85%A8%E9%83%A8%E5%88%86%E7%B1%BB&title=%E6%9B%B4%E5%A4%9A%E6%8E%A8%E8%8D%90&tag1=%E5%85%A8%E9%83%A8%E5%88%86%E7%B1%BB&lid=11549307334103749569&referlid=11549307334103749569&ms=1&frsrcid=5143&frorder=4【https://i.postimg.cc/YS5CqKk1/1643192297572.png】《百度榜单》◎百度浏览器小说榜单◎ https://www.yousuu.com【https://i.postimg.cc/ZqV9LKk4/d6460ce69df5934d47ec2e184264d447.png】《优书榜单》◎优书网书单◎ https://data.newrank.cn/m/s.html?s=Py8yOTE5KDE4【https://i.postimg.cc/nLWpBQzP/1656640745508.png】《小说拾遗》◎小说拾遗公众号-号内搜索◎ https://mp.weixin.qq.com/mp/appmsgalbum?action=getalbum&album_id=1319671603470581762&__biz=MzI2MDg2NjAwMg==#wechat_redirect【https://i.postimg.cc/Wp7cCtpP/9afbe88df402cbaacd6a1f34bb95451a.png】《精选书单》◎主推优质完结和连载100万字以上小说◎ https://mp.weixin.qq.com/mp/appmsgalbum?action=getalbum&album_id=1319666229510193155&__biz=MzI2MDg2NjAwMg==#wechat_redirect【https://i.postimg.cc/dtW1vnvq/1656158438840.png】《潜力新书》◎主推大神新书和20～100万字的优质新书◎ http://mp.weixin.qq.com/mp/homepage?__biz=MzI2MDg2NjAwMg==&hid=11&sn=c55d27329c109430838bc5b5f5b615b7&scene=18#wechat_redirect【https://i.postimg.cc/Nf2g2B79/d7844cc4a188295fb56ff7ee13e7c518.png】《高分必看》◎高分完本合集◎ https://mp.weixin.qq.com/mp/appmsgalbum?action=getalbum&album_id=1319668267623170050&__biz=MzI2MDg2NjAwMg==#wechat_redirect【https://i.postimg.cc/YCYjTCQ1/1643194013372.png】《近期完结》◎主推近一段时间内优质的完结小说◎ https://mp.weixin.qq.com/mp/appmsgalbum?action=getalbum&album_id=1319675692849872897&__biz=MzI2MDg2NjAwMg==#wechat_redirect【https://i.postimg.cc/MHJwdrSX/f3406e1fcc20a92dcaf944c71b0d67ab.png】《后宫精选》◎后宫精选合集◎ https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzI5NTA4NjgwNw==&action=getalbum&album_id=1319454340050157569&scene=126&devicetype=android-28&version=28000f3d&lang=zh_CN&nettype=WIFI&ascene=3&pass_ticket=B8GunWN7RjA2Q%2FaVYxT%2BSITrnCodRKKdEfgFLaYKNzv56Vgj9IUBy%2B6yzAlQVE4M&wx_header=1【https://i.postimg.cc/tTF4MXws/1643177963800.png】《网文书单》◎每期三本-新书速递、养肥佳作、完本好书◎ https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzI5NTA4NjgwNw==&action=getalbum&album_id=1319471313224040448&scene=126&devicetype=android-28&version=28000f3d&lang=zh_CN&nettype=WIFI&ascene=3&pass_ticket=B8GunWN7RjA2Q%2FaVYxT%2BSITrnCodRKKdEfgFLaYKNzv56Vgj9IUBy%2B6yzAlQVE4M&wx_header=1【https://i.postimg.cc/htNQd8pH/1656748079978.png】《澎湃精选》◎超过50万字，连载或完本的优秀作品◎ https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzI5NTA4NjgwNw==&action=getalbum&album_id=1526356920989712387&scene=126&devicetype=android-28&version=28000f3d&lang=zh_CN&nettype=WIFI&ascene=3&pass_ticket=B8GunWN7RjA2Q%2FaVYxT%2BSITrnCodRKKdEfgFLaYKNzv56Vgj9IUBy%2B6yzAlQVE4M&wx_header=1【https://i.postimg.cc/FRH068g6/1656311375852.png】《年度盘点》◎年度盘点各分类中诞生的新书、完本书◎ https://mp.weixin.qq.com/mp/homepage?__biz=MzI5NTA4NjgwNw==&hid=1&sn=0fcecdc85b8c23e596880f8c895b901d&scene=18&devicetype=android-28&version=28000f3d&lang=zh_CN&nettype=WIFI&ascene=59&session_us=gh_2aa0f3c6dd8f&pass_ticket=B8GunWN7RjA2Q%2FaVYxT%2BSITrnCodRKKdEfgFLaYKNzv56Vgj9IUBy%2B6yzAlQVE4M&wx_header=1【https://i.postimg.cc/TP7Md7D4/1657562436540.png】《赤戟资源》◎最新热门分类◎",
    "sourceComment": "",
    "sourceGroup": "合集,R18",
    "sourceIcon": "https://i.postimg.cc/tT45zyZQ/9399ca50f4495079a2c4f54f268dcad6.gif",
    "sourceName": "㊣集装箱®",
    "sourceUrl": "Online <2.32>"
  },
  {
    "articleStyle": 2,
    "customOrder": 36,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "id.dlNews@tag.td||.title",
    "ruleContent": "<js>\r\nhtml = result\r\n//总页数-1(最后一页没有图\r\npage = parseInt(java.getString('class.pager@tag.li.-3@tag.a@text'))\r\njava.log(\"共\"+page+\"页\")\r\nif(page>1){\r\nnurl=[];\r\nbase=baseUrl.replace('.aspx','p');\r\nfor(i=2;i<=page;i++){\r\n\tnurl.push(base+i+\".aspx,{'retry':16}\")\t\r\n}\r\n\r\nres=java.ajaxAll(nurl)\r\nfor(i in res){\r\n\thtml += org.jsoup.Jsoup.parse(res[i].body())\r\n}\r\n}\r\n</js>\r\n\r\nid.content@tag.img@src##\\n##,\r\n\r\n<js>\r\nli='\\n'\r\nlist=result.split(',')\r\nfor(i in list){\r\n\t\tli += '<li><img src=\"https://www.166w.cc/images/logo.jpg_gzip.aspx\" data-src=\"'+list[i]+'\"></li>\\n'\r\n\t}\r\n\r\n</js>\r\n\r\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\">\r\n\r\n<h3>{{@@.title2@text}}</h3>\r\n<h6>{{@@id.printBody@tag.div.2@text}}</h6>\r\n<h6 id='hits'></h6>\r\n<ul id=\"box\">\r\n{{result}}\r\n</ul>\n<div id='relists'></div>\r\n<script>\r\n    var wqcms = new Object();\r\n</script>\r\n{{@@tag.script.-3@html##$(function(){wqcms.imgCont=$i('content');wqcms.imgResize();InitContStyle();wqcms.dispVars();});}}\r\n<script>\r\n    hits = document.getElementById(\"hits\");\r\n    hits.innerHTML = \"观看:\" + wqcms.hits + \"次\";\r\n</script>\r\n\r\n<link rel=\"stylesheet\" href=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.css\">\r\n<script src=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.js\"></script>\r\n<script>\n\r\n\troot = document.getElementById('box')\n\trelists = document.getElementById('relists')\n\t  pl = \"{{@@class.relist@tag.li@class.sum@textNodes##\\n##\\$}}\".split(\"$\");\r\n                times = \"{{@@class.relist@tag.li@class.author@class.date@textNodes##\\n##\\$}}\".split(\"$\");\r\n                layers = \"{{@@class.relist@tag.li@class.reLayer@text##\\n##\\$}}\".split(\"$\");\r\n\r\n                for (x = layers.length - 1; x >= 0; x--) {\r\n                    relists.innerHTML += \"<h4>\" + layers[x] + \"<span style='color: #999; font-size: 12px;'>\" + times[x] + \"</span><br>\" + pl[x] + \"</h4>\"\r\n                }\r\n\tlazy = new IntersectionObserver(entires => {\r\n\t\tentires.forEach(item => {\r\n\t\t\tif(item.isIntersecting){\r\n\t\t\t\titem=item.target\r\n\t\t\t\titem.src=item.getAttribute('data-src')\r\n\t\t\t\tlazy.unobserve(item)\r\n\t\t\t}\r\n\t\t})\r\n\t}, {\r\n\t\troot: root,\r\n\t\tthreshold: [0],\r\n\t\trootMargin:\"0px 0px 500px 0px\"\r\n\t})\r\n\r\nimgs = document.getElementsByTagName('img')\r\nArray.from(imgs).forEach(item => {\r\n\t\tlazy.observe(item)\r\n\t})\r\n\r\n//查看大图插件\r\nnew Viewer(root,{title:false,interval:3000})\r\n</script>\r\n",
    "ruleImage": "tag.img@src",
    "ruleLink": "tag.a@href",
    "ruleNextPage": "class.pager@tag.li.-2@tag.a@href",
    "rulePubDate": ".date@textNodes",
    "ruleTitle": "tag.img@alt||tag.a@text",
    "singleUrl": false,
    "sortUrl": "首页::/c49.aspx\r\n随机::/c49p{{ Math.ceil(Math.random()*70) }}.aspx\r\n搜索::/search.aspx?keyword={{(source.getVariable()==''||source.getVariable()==null)?source.setVariable('美女'):source.getVariable()}}&where=title",
    "sourceGroup": "🍆尤物,R18",
    "sourceIcon": "https://www.nicesss.com/wp-content/themes/ripro/assets/images/favicon/favicon.png",
    "sourceName": "24FA美女频道-每天6更.back",
    "sourceUrl": "https://www.269.one/Mobile.aspx",
    "style": "/*标题相关*/\nh3{text-align:center}\nh6{margin-bottom:0}\n* {\n\tmargin: 0;\n\tpadding: 0\n}\nul {\n\tfont-size: 0;\n\theight: 100%;\n\toverflow-y: scroll\n}\nli {\n\tlist-style: none;\n\ttext-align: center\n}\nimg {\n\twidth: 100%;\n\theight: auto\n}"
  },
  {
    "articleStyle": 0,
    "customOrder": 37,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginUi": "",
    "loginUrl": "",
    "ruleArticles": "$.info.new||$.data",
    "ruleLink": "https://www.aliyundrive.com/s/{{$.alikey}}",
    "ruleNextPage": "page",
    "rulePubDate": "{{$.alititle}}🫡{{$.aliuser}}",
    "ruleTitle": "$.title",
    "singleUrl": false,
    "sortUrl": "@js:\nurl =\"https://gitcafe.net/tool/alipaper/\";\nsort = \"\";\n body = \"action=get_token\";\n head = {\"User-Agent\":\"PostmanRuntime/7.32.3\",\"Content-Type\":\"application/x-www-form-urlencoded\",\"Host\":\"gitcafe.net\"};\n res = JSON.parse(java.post(url,body,head).body());\n token = res.data;\nsourceList = [[\"华语电视\",\"hyds\"],[\"日韩电视\",\"rhds\"],[\"欧美电视\",\"omds\"],[\"其他电视\",\"qtds\"],[\"华语电影\",\"hydy\"],[\"欧美电影\",\"omdy\"],[\"日韩电影\",\"rhdy\"],[\"国漫\",\"hydm\"],[\"日漫\",\"rhdm\"],[\"美漫\",\"omdm\"],[\"纪录\",\"jlp\"],[\"综艺\",\"zyp\"],[\"教育\",\"jypx\"],[\"出版\",\"cbs\"],[\"知识\",\"zspx\"]];\r\nsourceList.map((a,i)=>{sort += a[0]+\"::\"+url+',{\"method\": \"POST\",\"headers\":{\"User-Agent\":\"PostmanRuntime/7.32.3\"},\"body\":\"action=viewcat&num={{page}}&cat='+a[1]+\"&token=\"+token+'\"}\\n'})\ncache.put(url,sort)\n\njava.log(sort)\nv=source.getVariable()\nif(v==\"\"||v==null)source.setVariable(\"2023\");\n\n\"最新::https://gitcafe.net/alipaper/home.json\" +\"\\n\"+ \"变量搜索::\"+url+',{\"method\": \"POST\",\"headers\":{\"User-Agent\":\"PostmanRuntime/7.32.3\"},\"body\":\"action=search&from=web&keyword='+'{{source.getVariable()}}'+\"&token=\"+token+'\"}\\n'+sort\n",
    "sourceComment": "当这个列表没有数据时，试试刷新分类\n使用变量搜索时也需要手动刷新分类\n更多选项=>>刷新分类",
    "sourceGroup": "💠 其他,R18",
    "sourceIcon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAKlBMVEUAAADSZDfSZDfryaDSZDe0RjLrh0u/UTTWaTpLP07///9dU2BaT13ryaCZFnJdAAAABHRSTlMAzPl3IDm31QAAAAFiS0dECmjQ9FYAAAAHdElNRQfmAgUJCiJhiWOMAAAAbUlEQVQI12NgcGAAAhYgDhEA0q5ARqgLA4NLKIgR4pbmCmKUeqSlpYUDGSpuQEYKkOGSBgJIDBaXWWlpq9MSGFjcZqelzQEyXNzSIHJ3715LS8u9e5eB+e61zG25dw2A2kAMBjAAmwICvBeABAC90CPadJikOwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMi0wMi0wNVQwNjoxMDozNCswMzowMCU/+JYAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjItMDItMDVUMDY6MTA6MzQrMDM6MDBUYkAqAAAAAElFTkSuQmCC",
    "sourceName": "阿里云资源",
    "sourceUrl": "https://gitcafe.net/"
  },
  {
    "articleStyle": 0,
    "customOrder": 37,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceComment": "//:Mengteen",
    "sourceGroup": "😍,R18",
    "sourceIcon": "https://cdn.sshs.rip/63/a0/63d782d6ef5f9104b6b92f3ca0a317a0.webp",
    "sourceName": "😍随机福利视频",
    "sourceUrl": "https://jiejie.uk/xjj/fuli/"
  },
  {
    "articleStyle": 0,
    "customOrder": 38,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "R18",
    "sourceIcon": "http://buliang11.com/favicon.ico",
    "sourceName": "不良研究生~单身宅男夜晚女性",
    "sourceUrl": "https://buliang11.com/"
  },
  {
    "articleStyle": 0,
    "customOrder": 38,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "⚙️ 工具,R18",
    "sourceIcon": "https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=3760152525,4216272517&fm=26&gp=0.jpg",
    "sourceName": "博海拾贝",
    "sourceUrl": "https://bh.sb"
  },
  {
    "articleStyle": 3,
    "customOrder": 39,
    "enableJs": false,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 1676889802852,
    "loadWithBaseUrl": false,
    "ruleArticles": "$.model.data",
    "ruleContent": "$.model.url\n@js:\nresult = \"<video src=\\\"\" + result + \"\\\" width=\\\"100%\\\" height=\\\"100%\\\" controls=\\\"controls\\\" ></video>\";\nresult = \"<html><head><meta charset=\\\"utf-8\\\"><meta name=\\\"viewport\\\" content=\\\"width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no\\\" /><style>html,body{margin:0;padding:0;width:100%;}</style></head><body>\" + result + \"</body></html>\";\nresult",
    "ruleImage": "$.coverUrl",
    "ruleLink": "$.id@js:\"https://api.uaa.com/video/app/video/intro?id=\"+result+\"&viewId=16758385134915627\"",
    "rulePubDate": "",
    "ruleTitle": "$.title",
    "singleUrl": false,
    "sortUrl": "最多观看::https://api.uaa.com/video/app/video/search?orderType=3&page={{page}}&size=30\n最多收藏::https://api.uaa.com/video/app/video/search?orderType=4&page={{page}}&size=30\n最新上架::https://api.uaa.com/video/app/video/search?orderType=1&page={{page}}&size=30\n国产::https://api.uaa.com/video/app/video/search?orderType=3&origin=1&page={{page}}&size=30\n日本::https://api.uaa.com/video/app/video/search?orderType=3&origin=2&page={{page}}&size=30\n动漫::https://api.uaa.com/video/app/video/search?orderType=3&origin=3&page={{page}}&size=30\n巨乳::https://api.uaa.com/video/app/video/search?orderType=3&page={{page}}&size=30&tag=%E5%B7%A8%E4%B9%B3\n白虎::https://api.uaa.com/video/app/video/search?orderType=3&page={{page}}&size=30&tag=%E7%99%BD%E8%99%8E\n字幕::https://api.uaa.com/video/app/video/search?orderType=3&page={{page}}&size=30&tag=%E5%AD%97%E5%B9%95\n渔网::https://api.uaa.com/video/app/video/search?orderType=3&page={{page}}&size=30&tag=%E6%B8%94%E7%BD%91%E8%A2%9C",
    "sourceGroup": "R18",
    "sourceIcon": "https://www.uaa.com/assets/uaalogo.7acb1f90.svg",
    "sourceName": "UAA",
    "sourceUrl": "https://www.uaa.com/video/search"
  },
  {
    "articleStyle": 0,
    "customOrder": 39,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "",
    "ruleContent": "",
    "ruleDescription": "",
    "ruleImage": "",
    "ruleLink": "",
    "ruleNextPage": "",
    "rulePubDate": "",
    "ruleTitle": "",
    "singleUrl": true,
    "sourceGroup": "📰 资讯,R18",
    "sourceIcon": "https://p5.img.cctvpic.com/photoAlbum/templet/common/DEPA1604367490409644/logonew190218.jpg",
    "sourceName": "央视网",
    "sourceUrl": "https://m.cctv.com"
  },
  {
    "articleStyle": 0,
    "customOrder": 40,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "Mozilla/5.0 (Linux; Android 9; 16s Pro Build;wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/81.0.4044.138 Mobile Safari/537.36 SearchCraft/2.8.2 (baidu; P1 10)",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "@js:\njson=[];\nif(baseUrl.match(/-/)){\nlist=baseUrl.replace(/http.*?wd=/,'').split('-');\nfor(i in list){\nhref=list[i].match(/.*?:(.*)/)[1];\ntext=list[i].match(/(.*?):.*/)[1];\njson.push({text:text,href:href})\n}\n}else{\nlist=baseUrl.replace(/http.*?wd=/,'');\nhref=list.match(/.*?:(.*)/)[1];\ntext=list.match(/(.*?):.*/)[1];\njson.push({text:text,href:href})\n}\njson",
    "ruleLink": "href",
    "ruleTitle": "text",
    "singleUrl": false,
    "sortUrl": "🔴_ssr_🎥[7]::http://www.baidu.com?wd=🔴 | pornhub:https://cn.pornhub.com/view_video.php?viewkey=ph5f5367cd02a9a-🔴 | xvideos:https://www.xvideos.com/-🔴 | redtube:https://www.redtube.com/-🔴 | chaturbate:https://chaturbate.global-🔴 | xixi:http://xixi.page-🔴 | pornca:https://www.pornocarioca.com-🔴 | jable:https://jable.tv/\n\n⚪️_online_🎥[7]::http://www.baidu.com?wd=⚪️ | 八叉:https://8xb2tn.com/html/category/video/video4/-⚪️ | 鲁兔:https://lutu.club-⚪️ | 铁牛:https://qq.com.tieniu06.xyz-⚪️ | 导航:https://www.xingdh.com/-⚪️ | 艾尔:https://yuanqi06.com/category/lunli-⚪️ | 红人:http://ggtj.info/index.php/vod/type/id/184/page/2.html-⚪️ | 舞技:https://5g46xz.xyz:1443/\n\n⚫️_online_🎥ssr[7]::http://www.baidu.com?wd=⚫️ | sexal:https://sexalarab.com-⚫️ | araby:https://arabysexy.com-⚫️ | mouthss:https://motherless.com-⚫️ | xhamsrer:https://xhamster15.com-⚫️ | cnna:https://cnnamador.com-⚫️ | ixxx:https://www.ixxx.com-⚫️ | nude:https://www.nudevista.com\n\n🔵_read_🎥ssr[7]::http://www.baidu.com?wd=🔵 | skinnyeroteens:http://www.skinnyeroticteens.com-🔵 | zipai:https://dtaz.top-🔵 | assoass:https://www.assoass.com-🔵 | stripchat:https://zh.stripchat.com/-🔵 | avgle:https://avgle.com/-🔵 | ainimei:https://animeidhentai.com-🔵 | aizlpai:http://aimeihuo.buzz/\n\n",
    "sourceGroup": "R18",
    "sourceIcon": "https://s3.ax1x.com/2021/02/07/ytDpOe.jpg",
    "sourceName": "Online",
    "sourceUrl": "Box~1.0"
  },
  {
    "articleStyle": 0,
    "customOrder": 40,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "",
    "ruleContent": "",
    "ruleDescription": "",
    "ruleImage": "",
    "ruleLink": "",
    "ruleNextPage": "",
    "rulePubDate": "",
    "ruleTitle": "",
    "singleUrl": true,
    "sortUrl": "",
    "sourceGroup": "📰 资讯,R18",
    "sourceIcon": "https://img.jiemian.com/static/jmw/image/logoh.gif",
    "sourceName": "界面新闻",
    "sourceUrl": "https://m.jiemian.com"
  },
  {
    "articleStyle": 0,
    "customOrder": 41,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "",
    "ruleContent": "",
    "ruleDescription": "",
    "ruleImage": "",
    "ruleLink": "",
    "rulePubDate": "",
    "ruleTitle": "",
    "singleUrl": true,
    "sourceGroup": "📰 资讯,R18",
    "sourceIcon": "http://47.105.79.245/nfw.png",
    "sourceName": "南方网",
    "sourceUrl": "http://www.southcn.com"
  },
  {
    "articleStyle": 0,
    "customOrder": 42,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "",
    "ruleContent": "",
    "ruleDescription": "",
    "ruleImage": "",
    "ruleLink": "",
    "ruleNextPage": "",
    "shouldOverrideUrlLoading": "",
    "singleUrl": true,
    "sortUrl": "",
    "sourceComment": "https://www.sshs.pw/\n\t",
    "sourceGroup": "图片,R18",
    "sourceIcon": "https://www.10357756.xyz/static/favicon.ico",
    "sourceName": "绅士会所",
    "sourceUrl": "https://www.10357756.xyz/"
  },
  {
    "articleStyle": 0,
    "customOrder": 44,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "🎞️ 影视,R18",
    "sourceIcon": "http://dianying.im/statics/logo.png",
    "sourceName": "电影先生",
    "sourceUrl": "http://dianying.im"
  },
  {
    "articleStyle": 0,
    "customOrder": 44,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "",
    "ruleContent": "",
    "ruleImage": "",
    "ruleLink": "",
    "rulePubDate": "",
    "ruleTitle": "",
    "singleUrl": true,
    "sourceGroup": "📰 资讯,R18",
    "sourceIcon": "https://n.sinaimg.cn/default/80905340/20200331/sinalogo.png",
    "sourceName": "新浪网",
    "sourceUrl": "https://sina.cn"
  },
  {
    "articleStyle": 0,
    "customOrder": 45,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceComment": "链接里的广告不要相信\n本链接所有内容全部取自网络 仅用于网络环境测试 请于二十四小时之内删除\n免费书源交流群：178801993",
    "sourceGroup": "R18",
    "sourceIcon": "https://img2.baidu.com/it/u=2497591018,1494490685&fm=253&fmt=auto&app=138&f=JPEG?w=375&h=500",
    "sourceName": "爱看买家秀",
    "sourceUrl": "https://www.ikmjx.com/"
  },
  {
    "articleStyle": 0,
    "customOrder": 45,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "",
    "ruleContent": "",
    "ruleDescription": "",
    "ruleImage": "",
    "ruleLink": "",
    "rulePubDate": "",
    "ruleTitle": "",
    "singleUrl": true,
    "sortUrl": "",
    "sourceGroup": "📰 资讯,R18",
    "sourceIcon": "https://s3.bytecdn.cn/growth/fe_sdk/image/banner_toutiao_icon_bce0b302.png",
    "sourceName": "今日头条",
    "sourceUrl": "https://m.toutiao.com/?W2atIF=1"
  },
  {
    "articleStyle": 0,
    "contentBlacklist": "https://df45021685143567.ygnrvsz.cn/1_3.html,https://df45021685143663.ygnrvsz.cn/3_19.html,https://cfdf45021685143938.gbjxzmn.cn/13.html,https://cfdf45021685143938.gbjxzmn.cn/13.html",
    "customOrder": 46,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginUi": "",
    "loginUrl": "",
    "singleUrl": true,
    "sourceComment": "【不要相信里面的任何广告，都是假的】\n本链接所有内容全部取自网络 仅用于网络环境测试 请于二十四小时之内删除\n免费书源交流群：178801993",
    "sourceGroup": "R18",
    "sourceIcon": "https://www.sewen.info/17mb/logo.png",
    "sourceName": "铯纹网",
    "sourceUrl": "https://www.sewen.info/"
  },
  {
    "articleStyle": 0,
    "customOrder": 46,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "",
    "ruleContent": "",
    "ruleDescription": "",
    "ruleImage": "",
    "ruleLink": "",
    "rulePubDate": "",
    "ruleTitle": "",
    "singleUrl": true,
    "sortUrl": "",
    "sourceGroup": "📰 资讯,R18",
    "sourceIcon": "https://p3.ssl.qhimgs1.com/t01b3884c2667659e59.gif",
    "sourceName": "百度风云",
    "sourceUrl": "http://top.baidu.com"
  },
  {
    "articleStyle": 2,
    "concurrentRate": "",
    "customOrder": 47,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.update_area_lists@tag.li",
    "ruleContent": "<js>\nvar num=0;\nvar data=org.jsoup.Jsoup.parse(result);\nvar conts=data.select('.content img');\nnum+=data.select('.content img').size();\nvar page=data.select('.page').first().select('a:nth-last-child(-n+2)').last().text();\nfor(var i=1;i<page;i++){\nurl=baseUrl.replace('.html','')+'_'+i+'.html';\njava.toast('正在加载第'+i+'页');\np=org.jsoup.Jsoup.connect(url).get();\nconts+=p.select('.content img');\nnum+=p.select('.content img').size();\n}\njava.toast('加载完成共'+num+'张');\n'<a href=\"'+baseUrl+'\" style=\"color:#000000\">原文地址</a>'+conts\n</js>",
    "ruleDescription": "",
    "ruleImage": "tag.a@tag.img@src",
    "ruleLink": "tag.a@href",
    "ruleNextPage": "class.page@tag.a.-2@href",
    "rulePubDate": "class.meta-post@textNodes",
    "ruleTitle": "tag.a@title",
    "singleUrl": false,
    "sortUrl": "一周推荐::https://www.xiurenb.net/top.html\n最新::https://www.xiurenb.net/new.html\n最热::https://www.xiurenb.net/hot.html\n秀人网::https://www.xiurenb.net/XiuRen/\nImiss爱蜜社::https://www.xiurenb.net/IMiss/\n模范学院::https://www.xiurenb.net/MFStar/\n魅妍社::https://www.xiurenb.net/MiStar/\n美媛馆::https://www.xiurenb.net/MyGirl/\n爱蜜社::https://www.xiurenb.net/IMiss/\n尤物馆::https://www.xiurenb.net/YouWu/\n嗲囡囡::https://www.xiurenb.net/FeiLin/\n蜜桃社::https://www.xiurenb.net/MiiTao/\n尤蜜荟::https://www.xiurenb.net/YouMi/\n画语界::https://www.xiurenb.net/XiaoYu/\n花漾::https://www.xiurenb.net/HuaYang/\n星颜社::https://www.xiurenb.net/XingYan/\n兔几盟::https://www.xiurenb.net/BoLoli/\n优星馆::https://www.xiurenb.net/Uxing/\n影私荟::https://www.xiurenb.net/WingS/\n星乐园::https://www.xiurenb.net/LeYuan/\n顽味生活::https://www.xiurenb.net/Taste/\n糖果画报::https://www.xiurenb.net/Candy/\n萌榜::https://www.xiurenb.net/Micat/",
    "sourceComment": "Author:JiXieShi",
    "sourceGroup": "图片,R18",
    "sourceIcon": "https://images.weserv.nl/?url=https://article.biliimg.com/bfs/article/ded67638d944a7e0ef4452b721fd6434a22de16d.png",
    "sourceName": "秀人集",
    "sourceUrl": "https://www.xiurenb.net",
    "style": "/*标题相关*/\nh3{text-align:center}\nh6{margin-bottom:0}\nimg{width:100%,height:auto;}\nh5{margin-bottom:0;padding-left:5;}"
  },
  {
    "articleStyle": 0,
    "customOrder": 48,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceComment": "书源交流群：374309405\n加载较慢 耐心等待即可\n欢迎制作书源 \n网站内含有广告 请不要点击 以防受骗",
    "sourceGroup": "R18",
    "sourceIcon": "",
    "sourceName": "肉文阁",
    "sourceUrl": "https://www.rouwenwu19.com/"
  },
  {
    "articleStyle": 2,
    "customOrder": 48,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\"User-Agent\": \"Mozilla/5.0 (Linux; Android 12; 22041211AC Build/SP1A.210812.016) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.104 Mobile Safari/537.36\"}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": ".inside-article",
    "ruleContent": "@js:\nlet pics = java.getString('p@a@img@src'); \nlet p = String(pics).split(\"\\n\").map(i => `<img src=\"${i}\">`).join(\"\\n\");\np = '<title>🏄Mengteen</title>\\n' +  \n'<style>\\n' +\n'  * {margin: 0; padding: 0}\\n' +  \n'  img {width: 100%;height: auto}\\n' +\n'  /* Mengteen阅图基础UI */\\n' +\n'  /* 返回按钮基础 */\\n' +\n'  #backToTopBtn {\\n' +\n'    display: none;\\n' + \n'    position: fixed;\\n' +\n'    bottom: 36px;\\n' +\n'    right: 18px;\\n' +\n'    z-index: 999;\\n' +\n'    border: none;\\n' +\n'    outline: none;\\n' +\n'    background: linear-gradient(135deg, #ADD8E6, #FFF8DC);\\n' +  \n'    color: white;\\n' +\n'    cursor: pointer;\\n' +\n'    padding: 2px;\\n' +\n'    border-radius: 10%;\\n' +\n'    font-size: 18px;\\n' +\n'    box-shadow: 0 8px 32px rgba(70, 130, 180, 0.3);\\n' +  \n'    transition: all 0.3s ease;\\n' +  \n'    backdrop-filter: blur(4px);\\n' +  \n'    border: 1px solid rgba(255, 255, 255, 0.3);\\n' +  \n'  }\\n' +\n'  \\n' +\n'  #backToTopBtn:hover {\\n' +\n'    background: linear-gradient(135deg, #ADD8E6, #FFF8DC);\\n' +  \n'    transform: scale(1.08);\\n' +  \n'    box-shadow: 0 8px 25px rgba(70, 130, 180, 0.4);\\n' +  \n'  }\\n' +\n'  \\n' +\n'  #backToTopBtn:active {\\n' +\n'    transform: scale(0.95);\\n' +  \n'  }\\n' +\n'  \\n' +\n'  /* 图片加载完成提示基础 */\\n' +\n'  #image-loaded-toast {\\n' +\n'    position: fixed;\\n' +\n'    bottom: 33px;\\n' +\n'    left: 50%;\\n' +\n'    transform: translateX(-50%);\\n' +\n'    background: rgba(0, 0, 0, 0.7);\\n' +\n'    color: white;\\n' +\n'    padding: 10px 20px;\\n' +\n'    border-radius: 20px;\\n' +\n'    font-size: 14px;\\n' +\n'    z-index: 998;\\n' +\n'    backdrop-filter: blur(4px);\\n' +\n'    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);\\n' +\n'    opacity: 0;\\n' +\n'    transition: opacity 0.3s;\\n' +\n'    pointer-events: none;\\n' +\n'  }\\n' +\n'  \\n' +\n'  /* 标题卡片基础 */\\n' +\t\n'  #image-loaded-toast.show {\\n' +\n'    opacity: 1;\\n' +\n'  }\\n' +\n'</style>\\n' +\n'<div style=\"' +  \n  'text-align:center;' +      \n  'padding:50px 20px 20px;' + \n  'margin:0 0 0px;' +        \n  'position:relative;' +      \n  'background:linear-gradient(135deg, #f0f7ff, #e6f0ff);' +   \n'\">\\n' +\n'  <!-- 标题卡片 -->\\n' +\n'  <div style=\"' +  \n    'position:relative;' +   \n    'z-index:10;' +          \n    'display:inline-block;' + \n    'transform:translateY(-20px);' + \n    'filter: drop-shadow(0 15px 25px rgba(70,130,180,0.25));' + \n  '\">\\n' +\n  \n  '    <div style=\"' +  \n    'background:rgba(255,255,255,0.75);' + \n    'backdrop-filter:blur(12px);' +        \n    'padding:16px 48px;' +                 \n    'border-radius:18px;' +               \n    'border:1px solid rgba(255,255,255,0.5);' + \n    'box-shadow:0 8px 32px rgba(70,130,180,0.2), inset 0 0 12px rgba(255,255,255,0.6);' + \n    'position:relative;' +  \n    'overflow:hidden;' +    \n  '\">\\n' +\n  \n  '      <!-- 顶部高光 -->\\n' +\n  '      <div style=\"' +  \n    'position:absolute;' + \n    'top:0; left:0; right:0;' + \n    'height:40%;' +        \n    'background:linear-gradient(to bottom, rgba(255,255,255,0.4), transparent);' + \n    'pointer-events:none;' + \n  '\"></div>\\n' +\n  \n  '      \\n' +\n  '      <h3 style=\"' +  \n    'background:linear-gradient(135deg, #4a7bd0, #00a2b8);' + \n    '-webkit-background-clip:text;' + \n    'background-clip:text;' +         \n    'color:transparent;' +            \n    'font-size:1.3rem;' +             \n    'font-weight:700;' +              \n    'margin:0;' +                     \n    'letter-spacing:-0.5px;' +        \n    'position:relative;' +            \n    'z-index:2;' +                    \n  '\">{{@@title@text## – Cos波蕾}}</h3>\\n' +  //主标题   \n  \n  '      <!-- 左下装饰点 -->\\n' +\n  '      <div style=\"' +  \n    'position:absolute;' +  \n    'bottom:12px;' +        \n    'left:20px;' +          \n    'width:6px;' +          \n    'height:6px;' +         \n    'background:#00a2b8;' + \n    'border-radius:50%;' +  \n    'opacity:0.7;' +        \n  '\"></div>\\n' +\n  \n  '      <!-- 右下装饰点 -->\\n' +\n  '      <div style=\"' +  \n    'position:absolute;' +\n    'bottom:12px;' +\n    'right:20px;' +       \n    'width:6px;' +\n    'height:6px;' +\n    'background:#4a7bd0;' + \n    'border-radius:50%;' +\n    'opacity:0.7;' +\n  '\"></div>\\n' +\n  \n  '    </div>\\n' +  \n  '  </div>\\n' +    \n  \n  '  \\n' +\n  '  <!-- 时间信息 -->\\n' +\n  '  <div style=\"' +  \n    'margin-top:0px;' +   \n    'padding:0px 20px;' + \n  '\">\\n' +\n  \n  '    <h5 style=\"' +  \n    'color:#6c757d;' +       \n    'font-weight:400;' +      \n    'font-size:1rem;' +    \n    'margin:0;' +             \n    'line-height:1.6;' +      \n    'letter-spacing:0.3px;' + \n    'position:relative;' +    \n    'display:inline-block;' + \n    'max-width:700px;' +      \n  '\">\\n' +\n  \n  '      {{@@.posted-on@.entry-date@text}} 收录 \\n' +  //副标题\n  \n  '      <!-- 下划线装饰 -->\\n' +\n  '      <div style=\"' +  \n    'position:absolute;' + \n    'bottom:-5px;' +       \n    'left:0;' +            \n    'width:100%;' +        \n    'height:1px;' +        \n    'background:linear-gradient(90deg, transparent, rgba(70,130,180,0.3), transparent);' + \n  '\"></div>\\n' +\n  \n  '    </h5>\\n' +  \n  '  </div>\\n' +   \n  \n  '  \\n' +\n  '  <!-- 左上装饰圆 -->\\n' +\n  '  <div style=\"' +  \n    'position:absolute;' + \n    'top:10%;' +           \n    'left:15%;' +          \n    'width:40px;' +        \n    'height:40px;' +       \n    'border-radius:50%;' + \n    'background:linear-gradient(135deg, rgba(74,123,208,0.1), transparent);' + \n    'filter:blur(2px);' +  \n  '\"></div>\\n' +\n  \n  '  <!-- 右下装饰圆 -->\\n' +\n  '  <div style=\"' +  \n    'position:absolute;' +\n    'bottom:15%;' +      \n    'right:10%;' +       \n    'width:60px;' +      \n    'height:60px;' +     \n    'border-radius:50%;' +\n    'background:linear-gradient(135deg, rgba(0,162,184,0.1), transparent);' + \n    'filter:blur(4px);' + \n    'transform:rotate(30deg);' + \n  '\"></div>\\n' +\n  \n'</div>\\n' +  \np +  \n// 图片加载完成提示\n'\\n<div id=\"image-loaded-toast\">✅ 全部图片已完成加载</div>\\n' +\n// 原有返回顶部按钮和功能脚本保持不变\n'\\n<button id=\"backToTopBtn\" title=\"回到顶部\">🔝</button>\\n' +\n'<script>\\n' +\n'(function() {\\n' +\n'  const backToTopBtn = document.getElementById(\"backToTopBtn\");\\n' +\n'  const toast = document.getElementById(\"image-loaded-toast\");\\n' +\n'  \\n' +\n'  // 图片加载完成检测\\n' +\n'  const images = document.querySelectorAll(\"img\");\\n' +\n'  let loadedCount = 0;\\n' +\n'  const totalImages = images.length;\\n' +\n'  \\n' +\n'  // 如果页面没有图片，直接隐藏提示\\n' +\n'  if(totalImages === 0) {\\n' +\n'    toast.style.display = \"none\";\\n' +\n'  }\\n' +\n'  \\n' +\n'  // 检测图片加载完成\\n' +\n'  images.forEach(img => {\\n' +\n'    if(img.complete) {\\n' +\n'      checkAllLoaded();\\n' +\n'    } else {\\n' +\n'      img.addEventListener(\"load\", checkAllLoaded);\\n' +\n'      img.addEventListener(\"error\", checkAllLoaded);\\n' +\n'    }\\n' +\n'  });\\n' +\n'  \\n' +\n'  function checkAllLoaded() {\\n' +\n'    loadedCount++;\\n' +\n'    if(loadedCount >= totalImages) {\\n' +\n'      showToast();\\n' +\n'    }\\n' +\n'  }\\n' +\n'  \\n' +\n'  function showToast() {\\n' +\n'    toast.classList.add(\"show\");\\n' +\n'    setTimeout(() => {\\n' +\n'      toast.classList.remove(\"show\");\\n' +\n'    }, 2000);\\n' +\n'  }\\n' +\n'  \\n' +\n'  // 监听页面滚动事件\\n' +\n'  window.addEventListener(\"scroll\", () => {\\n' +\n'    const scrollPosition = window.scrollY || document.documentElement.scrollTop;\\n' +\n'    \\n' +\n'    if (scrollPosition > 288) {\\n' +\n'      backToTopBtn.style.display = \"block\";\\n' +\n'      backToTopBtn.style.opacity = \"1\";\\n' + \n'    } else {\\n' +\n'      backToTopBtn.style.display = \"none\";\\n' +\n'    }\\n' +\n'  });\\n' +\n'  \\n' +\n'  // 点击事件监听器\\n' +\n'  backToTopBtn.addEventListener(\"click\", () => {\\n' +\n'    window.scrollTo({\\n' +\n'      top: 0,\\n' +\n'      behavior: \"smooth\"\\n' +\n'    });\\n' +\n'  });\\n' +\n'})();\\n' +\n'</script>';",
    "ruleImage": "img@src",
    "ruleLink": "h2@a@href",
    "ruleNextPage": "page",
    "rulePubDate": "🔖{{@@.cat-links@a@text}}｜📆{{@@time@text}}",
    "ruleTitle": "h2@a@text",
    "singleUrl": false,
    "sortUrl": "首页::/page/{{page}}\n搜索::/page/{{page}}?s={{(source.getVariable()==''||source.getVariable()==null)?source.setVariable('大尺度'):source.getVariable()}}\n角色扮演::/category/cosplay/page/{{page}}\n纯情写真::/category/chunqing/page/{{page}}\n欧美套图::/category/oumei/page/{{page}}",
    "sourceComment": "源社区：@Mengteen  2025.7.3更新\n二传二创或者是其它问题请联系我。\n我邮箱:[xxxmgqxxx@vip.qq.com]\n我QQ:99737563(备注来意)\n1.不需要挂🪜,个别网络加载可能有点慢，别急！\n2.设计了全新看图UI,自适应全屏,增加一键返回顶上按钮,增加图片加载完成提示。\n3.搜索和分类是按我自己个人喜欢的,你也可以放一些你自己喜欢的。",
    "sourceGroup": "🔞,R18",
    "sourceIcon": "https://cdn.sshs.rip/7b/ef/7b521fec7f16375cdae775707e1c63ef.webp",
    "sourceName": "👙cos波蕾",
    "sourceUrl": "https://cn.cosblay.com/##@Mengteen",
    "variableComment": "🏄Mengteen提示：在此输入关键词搜索！"
  },
  {
    "articleStyle": 2,
    "customOrder": 49,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "{\"User-Agent\":\"Mozilla/5.0 (Linux; Android 10; TEL-AN00 Build/HONORTEL-AN00; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/92.0.4515.105 Mobile Safari/537.36\"}",
    "injectJs": "const video = document.getElementById('video');\n        let isDragging = false;\n        let startX = 0;\n        let startTime = 0;\n\n        video.addEventListener('touchstart', (e) => {\n            isDragging = true;\n            startX = e.touches[0].clientX;\n            startTime = video.currentTime;\n            video.pause();  // 暂停视频\n        });\n\n        video.addEventListener('touchmove', (e) => {\n            if (!isDragging) return;\n            const dx = e.touches[0].clientX - startX;\n            const duration = video.duration;\n            const change = (dx / video.clientWidth) * duration;\n            video.currentTime = Math.min(Math.max(startTime + change, 0), duration);\n        });\n\n        video.addEventListener('touchend', () => {\n            if (isDragging) {\n                video.play();  // 继续播放视频\n                isDragging = false;\n            }\n        });",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "$.model.data",
    "ruleContent": "<div class=\"container\">\n        <h3>{{$.model.title}}</h3>\n        <div class=\"video-container\">\n            <video id=\"video\" src=\"{{$.model.url}}\" poster=\"{{$.model.coverUrl}}\" controls></video>\n        </div>\n        <hr />\n        <div class=\"info-container\">\n            <p>⌚️ 时长：<span>{{$.model.durationFormat}}</span></p>\n            <p>📆 日期：<span>{{$.model.onlineTime##T|.000.*## }}</span></p>\n            <p>🎥 播放：<span>{{$.model.viewCount}}次</span></p>\n            <p>📩 收藏：<span>{{$.model.collectCount}}</span></p>\n            <p>🕵 片商：<span>{{$.model.authors}}</span></p>\n            <p>👤 上传：<span>{{$.model.uploader}}</span></p>\n            <p>🔖 标签：<span>{{$.model.categories}},{{$.model.tags}}</span></p>\n            <p>🏷 简介：<span>{{$.model.brief}}</span></p>\n        </div>\n    </div>",
    "ruleDescription": "",
    "ruleImage": "$.coverUrl",
    "ruleLink": "https://www.uaa.com/api/video/app/video/intro?force=false&id={{$.id}}&viewId=17225706561773551",
    "ruleNextPage": "page",
    "rulePubDate": "{{$.onlineTime##T.*}} {{$.tags}}",
    "ruleTitle": "$.title",
    "singleUrl": false,
    "sortUrl": "搜索::/api/video/app/video/search?keyword={{source.getVariable()}}&orderType=0&page={{page}}&size=33\n国产视频::/api/video/app/video/search?orderType=1&origin=1&page={{page}}&size=33\n日本AV::/api/video/app/video/search?orderType=1&origin=2&page={{page}}&size=33\nH动漫::/api/video/app/video/search?orderType=1&origin=3&page={{page}}&size=33\n\n观看排行::/api/video/app/video/search?category=&orderType=3&page={{page}}&searchType=1&size=32\n收藏排行::/api/video/app/video/search?category=&orderType=4&page={{page}}&searchType=1&size=32\n\n自拍偷拍::/api/video/app/video/search?category=&keyword=自拍偷拍&orderType=0&page={{page}}&searchType=1&size=32\n探花精选::/api/video/app/video/search?category=&keyword=探花精选&orderType=0&page={{page}}&searchType=1&size=32\n主播福利::/api/video/app/video/search?category=主播福利&orderType=1&page={{page}}&size=33\n",
    "sourceComment": "//改uaa",
    "sourceGroup": "18禁,R18",
    "sourceIcon": "https://www.uaa.com/assets/uaalogo.7acb1f90.svg",
    "sourceName": "UAA-视频",
    "sourceUrl": "https://www.uaa.com",
    "style": "body {\n            margin: 0;\n            font-family: Arial, sans-serif;\n            background: linear-gradient(135deg, #ece9e6, #ffffff);\n            display: flex;\n            flex-direction: column;\n            align-items: center;\n            justify-content: flex-start;\n            padding: 20px;\n        }\n        .container {\n            width: 100%;\n            max-width: 800px;\n            background: #fff;\n            border-radius: 10px;\n            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);\n            overflow: hidden;\n            margin-bottom: 20px;\n        }\n        h3 {\n            margin: 0;\n            padding: 10px 20px;\n            font-size: 0.9em;\n            background: #333;\n            color: #fff;\n            border-radius: 10px 10px 0 0;\n        }\n        .video-container {\n            width: 100%;\n            background: #000;\n            position: relative;\n        }\n        video {\n            width: 100%;\n            height: auto;\n            display: block;\n        }\n        .info-container {\n            padding: 20px;\n        }\n        .info-container p {\n            margin: 10px 0;\n            color: #555;\n        }\n        .info-container p span {\n            font-weight: bold;\n            color: #000;\n        }"
  },
  {
    "articleStyle": 2,
    "customOrder": 50,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.archive-list@class.col-12@class.waterfall-item",
    "ruleContent": "<html>\n    <head>\n        <meta charset=\"UTF-8\"></meta>\n        <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge, chrome=1\"></meta>\n        <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no\"></meta>\n        <meta name=\"robots\" content=\"max-image-preview:large\"></meta>\n        <link rel=\"alternate\" type=\"application/rss+xml\" title=\"日式JK » Feed\" href=\"https://www.jk.rs/feed\"></link>\n        <link rel=\"alternate\" type=\"application/rss+xml\" title=\"日式JK » 评论 Feed\" href=\"https://www.jk.rs/comments/feed\"></link>\n        <link rel=\"alternate\" type=\"application/rss+xml\" title=\"日式JK » 夏的JK 评论 Feed\" href=\"https://www.jk.rs/2024/09/06/910.html/feed\"></link>\n        <style id=\"classic-theme-styles-inline-css\" type=\"text/css\">\n            \n/*! This file is auto-generated */\n.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}\n\n        </style>\n\n        <link rel=\"stylesheet\" id=\"jimu-lightgallery-css\" href=\"https://www.jk.rs/wp-content/plugins/nicetheme-jimu/modules/base/assets/lightGallery/css/lightgallery.min.css\" type=\"text/css\" media=\"all\"></link>\n        <link rel=\"stylesheet\" id=\"jimu-css\" href=\"https://www.jk.rs/wp-content/plugins/nicetheme-jimu/modules/jimu.css\" type=\"text/css\" media=\"all\"></link>\n        <link rel=\"stylesheet\" id=\"jimu-blocks-css\" href=\"https://www.jk.rs/wp-content/plugins/nicetheme-jimu/modules/blocks.css\" type=\"text/css\" media=\"all\"></link>\n        <link rel=\"stylesheet\" id=\"glightbox-css\" href=\"https://www.jk.rs/wp-content/themes/Mango-1.1.1/plugins/glightbox/glightbox.min.css\" type=\"text/css\" media=\"all\"></link>\n        <link rel=\"stylesheet\" id=\"bootstrap-css\" href=\"https://www.jk.rs/wp-content/themes/Mango-1.1.1/plugins/bootstrap/bootstrap.min.css\" type=\"text/css\" media=\"all\"></link>\n        <link rel=\"stylesheet\" id=\"iconfont-css\" href=\"https://www.jk.rs/wp-content/themes/Mango-1.1.1/plugins/iconfont/iconfont.css\" type=\"text/css\" media=\"all\"></link>\n        <link rel=\"stylesheet\" id=\"animate-css\" href=\"https://www.jk.rs/wp-content/themes/Mango-1.1.1/css/animate.min.css\" type=\"text/css\" media=\"all\"></link>\n        <link rel=\"stylesheet\" id=\"reset-css\" href=\"https://www.jk.rs/wp-content/themes/Mango-1.1.1/css/reset.css\" type=\"text/css\" media=\"all\"></link>\n        <link rel=\"stylesheet\" id=\"style-css\" href=\"https://www.jk.rs/wp-content/themes/Mango-1.1.1/style.css\" type=\"text/css\" media=\"all\"></link>\n\n        <script type=\"text/javascript\" src=\"https://www.jk.rs/wp-includes/js/jquery/jquery.min.js\" id=\"jquery-core-js\"></script>\n        <script type=\"text/javascript\" src=\"https://www.jk.rs/wp-includes/js/jquery/jquery-migrate.min.js\" id=\"jquery-migrate-js\"></script>\n        <script defer=\"\" type=\"text/javascript\" src=\"https://www.jk.rs/wp-content/plugins/nicetheme-jimu/library/static/alpine.min.js\" id=\"alpine-defer-js\"></script>\n        <link rel=\"canonical\" href=\"https://www.jk.rs/2024/09/06/910.html\"></link>\n        <link rel=\"alternate\" type=\"application/json+oembed\" href=\"https://www.jk.rs/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.jk.rs%2F2024%2F09%2F06%2F910.html\"></link>\n        <link rel=\"alternate\" type=\"text/xml+oembed\" href=\"https://www.jk.rs/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.jk.rs%2F2024%2F09%2F06%2F910.html&format=xml\"></link>\n        <link rel=\"pingback\" href=\"https://www.jk.rs/xmlrpc.php\"></link>\n        <link rel=\"icon\" href=\"https://www.jk.rs/wp-content/uploads/2024/05/cropped-ICO2-32x32.png\" sizes=\"32x32\"></link>\n        <link rel=\"icon\" href=\"https://www.jk.rs/wp-content/uploads/2024/05/cropped-ICO2-192x192.png\" sizes=\"192x192\"></link>\n        <link rel=\"apple-touch-icon\" href=\"https://www.jk.rs/wp-content/uploads/2024/05/cropped-ICO2-180x180.png\"></link>\n        <meta name=\"msapplication-TileImage\" content=\"https://www.jk.rs/wp-content/uploads/2024/05/cropped-ICO2-270x270.png\"></meta>\n        <style>\n            \n            @font-face {\n                font-family: 'DINAlternate-Bold';\n                src: url(https://www.jk.rs/wp-content/themes/Mango-1.1.1/fonts/DINAlternate-Bold.ttf) format(\"truetype\");\n                font-style: normal;\n            }\n\n            .font-price {\n                font-family: 'DINAlternate-Bold', arial, sans-serif\n            }\n\n            .font-number {\n                font-family: 'DINAlternate-Bold', arial, sans-serif\n            }\n        \n        </style>\n        <script>\n            \n    window.GeetestCaptcha = {\n        runCaptcha: () => true\n    }\n\n        </script>\n        <style id=\"theia-sticky-sidebar-stylesheet-TSS\">\n            .theiaStickySidebar:after {content: \"\"; display: table; clear: both;}\n        </style>\n    </head>\n    <body class=\"post-template-default single single-post postid-910 single-format-image\" style=\"transform: none;\">\n{{@class.masonry-list@html}}\n\n                <a href=\"javascript:\" class=\"login-close btn btn-light btn-icon btn-rounded btn-sm \">\n                    <span>\n                        <i class=\"iconfont icon-guanbi_close1\"></i>\n                    </span>\n                </a>\n            </div>\n        </div>\n        <div class=\"mobile-overflow\"></div>\n        <script>\n        </script>\n        <script defer=\"\" src=\"https://tj.u2.cm/random-string.js\" data-website-id=\"5d82d153-8c11-4c5c-b2bf-36be4f5fe845\"></script>\n        <script type=\"text/javascript\" id=\"wpopt_front-js-extra\">\n            \n/* <![CDATA[ */\nvar wpopt = {\"ajax_url\":\"https:\\/\\/www.jk.rs\\/wp-admin\\/admin-ajax.php\",\"ajax_name\":\"wp_opt\",\"is_post\":\"1\",\"post_id\":\"910\",\"module_post_views_open\":\"1\"};\n/* ]]> */\n\n        </script>\n        <script type=\"text/javascript\" src=\"https://www.jk.rs/wp-content/plugins/wp-opt/static/js/front.min.js\" id=\"wpopt_front-js\"></script>\n        <script type=\"text/javascript\" src=\"https://www.jk.rs/wp-content/plugins/nicetheme-jimu/modules/base/assets/lightGallery/js/lightgallery-all.min.js\" id=\"jimu-lightgallery-js\"></script>\n        <script type=\"text/javascript\" src=\"https://www.jk.rs/wp-content/plugins/nicetheme-jimu/modules/base/assets/lightGallery/js/lightgallery-load.min.js\" id=\"jimu-lightgallery-load-js\"></script>\n        <script type=\"text/javascript\" src=\"https://www.jk.rs/wp-content/plugins/nicetheme-jimu/modules/jimu.js\" id=\"jimu-js\"></script>\n        <script type=\"text/javascript\" src=\"https://www.jk.rs/wp-content/plugins/nicetheme-module-bigger-share-module/static/nice-poster.js\" id=\"nice-poster-js\"></script>\n        <script type=\"text/javascript\" src=\"https://www.jk.rs/wp-content/plugins/nicetheme-module-nice-blocks/assets/blocks.js\" id=\"nc-blocks-js-js\"></script>\n        <script type=\"text/javascript\" src=\"https://www.jk.rs/wp-content/themes/Mango-1.1.1/plugins/vanilla-lazyload/lazyload.min.js\" id=\"lazyload-js\"></script>\n        <script type=\"text/javascript\" src=\"https://www.jk.rs/wp-content/themes/Mango-1.1.1/plugins/shuffle/shuffle.min.js\" id=\"shuffle-js\"></script>\n        <script type=\"text/javascript\" src=\"https://www.jk.rs/wp-content/themes/Mango-1.1.1/js/ajax-comment.js\" id=\"ajax-comments-js\"></script>\n        <script type=\"text/javascript\" src=\"https://www.jk.rs/wp-includes/js/clipboard.min.js\" id=\"clipboard-js\"></script>\n        <script type=\"text/javascript\" src=\"https://www.jk.rs/wp-content/themes/Mango-1.1.1/plugins/glightbox/glightbox.min.js\" id=\"glightbox-js\"></script>\n        <script type=\"text/javascript\" src=\"https://www.jk.rs/wp-content/themes/Mango-1.1.1/js/image-post.js\" id=\"imagepost-js\"></script>\n        <script type=\"text/javascript\" src=\"https://www.jk.rs/wp-content/themes/Mango-1.1.1/plugins/theia-sticky-sidebar/ResizeSensor.min.js\" id=\"ResizeSensor-js\"></script>\n        <script type=\"text/javascript\" src=\"https://www.jk.rs/wp-content/themes/Mango-1.1.1/plugins/theia-sticky-sidebar/theia-sticky-sidebar.min.js\" id=\"stickySidebar-js\"></script>\n        <script type=\"text/javascript\" src=\"https://www.jk.rs/wp-content/themes/Mango-1.1.1/js/nicetheme.js\" id=\"nicetheme-js\"></script>\n        <div class=\"nice-popup\" :class=\"{ 'nice-popup-open': itemToBeRemoved.length > 0 }\" x-data=\"imageDeletePopupData\">\n            <div class=\"nice-popup-overlay\" @click=\"itemToBeRemoved = ''\"></div>\n            <div class=\"nice-popup-body\">\n                <div class=\"nice-popup-close\" @click=\"itemToBeRemoved = ''\">\n                    <span class=\"svg-white\"></span>\n                    <span class=\"svg-dark\"></span>\n                </div>\n                <div class=\"nice-popup-content\">\n                    <div class=\"popup-body\">\n                        <div class=\"text-center\">\n                            <i class=\"text-64 text-danger iconfont icon-guansuo_lock-one my-3\"></i>\n                            <h2 class=\"text-lg mb-4\"> 您确定要删除此图像吗？ </h2>\n                        </div>\n                    </div>\n                    <div class=\"popup-footer\">\n                        <div class=\"row g-2 g-md-3\">\n                            <div class=\"col\">\n                                <button @click=\"itemToBeRemoved = ''\" class=\"btn btn-light btn-block\"> 取消 </button>\n                            </div>\n                            <div class=\"col\">\n                                <button @click=\"remove\" class=\"btn btn-primary btn-block\"> 移除 </button>\n                            </div>\n                        </div>\n                    </div>\n                </div>\n            </div>\n        </div>\n    </body>\n</html>",
    "ruleImage": "img@data-src",
    "ruleLink": "@class.item-content@class.item-title@a@href",
    "ruleNextPage": "page",
    "ruleTitle": "@class.item-content@text",
    "singleUrl": false,
    "sortUrl": "jk::jk/page/{{page}}",
    "sourceGroup": "R18",
    "sourceIcon": "https://www.jk.rs/wp-content/uploads/2024/05/日式JK-5-1.webp",
    "sourceName": "日式jk",
    "sourceUrl": "https://www.jk.rs/",
    "style": ""
  },
  {
    "articleStyle": 1,
    "customOrder": 50,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": ".thumb-block",
    "ruleContent": "body@all<js>var URL=result.match(/\\('(https:.*?\\.*mp4\\?.*?)'/)[1];\nresult = URL.replace(/\\\\/g,\"\");\nresult =\"<video src=\"+result+\" width=\\\"100%\\\" height=\\\"100%\\\" autoplay      muted controls>  </video>\"\n</js>",
    "ruleImage": "img@data-src",
    "ruleLink": "tag.a.0@href",
    "ruleNextPage": "class.no-page next-page@href",
    "rulePubDate": ".duration.0@text",
    "ruleTitle": "a@title",
    "singleUrl": false,
    "sortUrl": "福利姬::http://yxy003.com/?k=福利姬\n妹妹::http://yxy005.com/?k={{(source.getVariable()==''||source.getVariable()==null)?source.setVariable('妹妹'):\"\"}}{{source.getVariable()}}\n熟女::http://yxy003.com/?k=熟女\n嫩模::http://yxy003.com/?k=嫩模\n反差::http://yxy003.com/?k=反差\n校服::http://yxy003.com/?k=校服\n医生::http://yxy003.com/?k=医生\n中文::http://yxy003.com/?k=中文\n偷拍::http://yxy003.com/?k=偷拍\n3p::http://yxy003.com/?k=3p\n乱伦::http://yxy003.com/?k=乱伦",
    "sourceGroup": "R18",
    "sourceIcon": "https://i.postimg.cc/NjQmTCJ5/1629968589491.png",
    "sourceName": "©玉羞园",
    "sourceUrl": "http://yxy003.com/"
  },
  {
    "articleStyle": 0,
    "customOrder": 50,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "📰 资讯,R18",
    "sourceIcon": "http://m.people.cn/img/WIRELESS/2016/06/218/images/tip-logo.png",
    "sourceName": "人民网",
    "sourceUrl": "http://m.people.cn"
  },
  {
    "articleStyle": 0,
    "customOrder": 51,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\n\t\"User-Agent\": \"Mozilla/5.0 (Linux; Android 9) Mobile Safari/537.36\",\"referer\": \"{{baseUrl}}\"\n\t}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceComment": "遇到广告点击OK 再返回即可 欢迎制作书源\n书源交流群：255399726",
    "sourceGroup": "R18",
    "sourceIcon": "https://xn--bd1aygdef469chaijkl876anaopq.alicesw13.icu/logo.png",
    "sourceName": "爱丽丝书屋（h）",
    "sourceUrl": "https://xn--bd1aygdef469chaijkl876anaopq.alicesw13.icu/"
  },
  {
    "articleStyle": 0,
    "customOrder": 51,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "",
    "ruleContent": "",
    "ruleImage": "",
    "ruleLink": "",
    "rulePubDate": "",
    "ruleTitle": "",
    "singleUrl": true,
    "sortUrl": "",
    "sourceGroup": "📰 资讯,R18",
    "sourceIcon": "https://file.thepaper.cn/wap/v3/img/deskicon.png",
    "sourceName": "澎湃新闻",
    "sourceUrl": "https://m.thepaper.cn"
  },
  {
    "articleStyle": 0,
    "customOrder": 52,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.posts-row ajaxpager@class.posts-item card ajax-item",
    "ruleContent": "class.theme-box wp-posts-content@html",
    "ruleImage": "@class.item-thumbnail@a@img@src",
    "ruleLink": "@class.item-thumbnail@a@href",
    "rulePubDate": "@class.item-body@class.item-meta@item.0@text",
    "ruleTitle": "@class.item-body@class.item-heading@text",
    "singleUrl": false,
    "sortUrl": "阿里云盘::http://wpxj.ewp.cc/al\n百度云盘::http://wpxj.ewp.cc/bd\n夸克云盘::http://wpxj.ewp.cc/kk",
    "sourceGroup": "R18",
    "sourceIcon": "http://wpxj.ewp.cc/wp-content/uploads/2023/05/1683467066-IMG_20230507_213559-2.png",
    "sourceName": "酱酱资源",
    "sourceUrl": "http://wpxj.ewp.cc/"
  },
  {
    "articleStyle": 1,
    "customOrder": 52,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "{\n\t\"User-Agent\":\"5.0 (Linux; Android 12.0.1; zh-cn; Pixel 8 Pro; wv lite baiduboxapp) baiduboxapp/ AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/108.0.4758.46 UCBrowser/13.9.1.1172 Mobile Safari/537.36 WuZhui/8.1.1 SearchCraft/3.9.2 (Baidu; P1 12) Quark/4.5.5.155 ALiSearchApp/2.4 AliApp(TB/9.5.6)\"\n\t}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginUrl": "",
    "ruleArticles": "class.waterfall@li||$.data",
    "ruleContent": "{{@@head@all}}\n{{@@class.container.1@all}}\n<div class=\"hide\">{{@@class.container.0@all}}</div>",
    "ruleDescription": "",
    "ruleImage": "$.videoImgUrl\n<js>\nif(result!=\"\"){\n\tresult='https://5ggz4.xyz:1443'+result\n\t}else{\nresult=java.getElements('@@img').attr('src')\n\t\t}\n</js>\n##webp##jpg",
    "ruleLink": "a.0@href||$.pageUrl",
    "ruleNextPage": "page",
    "rulePubDate": "$.createTime",
    "ruleTitle": "p@text||$.videoTitle",
    "singleUrl": false,
    "sortUrl": "搜索::https://s.5ght.buzz/search?title=%E4%B8%8D%E5%9C%A8&current={{page}}&size=16&source=v2,{\"method\": \"POST\"}\n大陆::https://5ghp.buzz/h/%E5%A4%A7%E9%99%86/{{page-1==0?\"\":\"page/\"+page}}\n日韩::https://5ghp.buzz/h/%E6%97%A5%E9%9F%A9/{{page-1==0?\"\":\"page/\"+page}}\n欧美::https://5ghp.buzz/h/%E6%AC%A7%E7%BE%8E/{{page-1==0?\"\":\"page/\"+page}}\n动漫::https://5ghp.buzz/h/%E5%8A%A8%E6%BC%AB/{{page-1==0?\"\":\"page/\"+page}}\n图片::https://5ghp.buzz/h/%E8%89%B2%E5%9B%BE/{{page-1==0?\"\":\"page/\"+page}}",
    "sourceComment": "",
    "sourceGroup": "R18",
    "sourceIcon": "https://i.postimg.cc/W3wNcSVJ/6b769effd2d1e7c1fc42f30de698f0c7.gif",
    "sourceName": "©5g影院®",
    "sourceUrl": "https://5ghp.buzz/",
    "style": ".hide,.gg_tp,.waterfall,.lm_bt,.w_z,.b_t,hr{\n\tdisplay:none;\n }\n#ha1ynwutxu{\n\tdisplay:none;\n\t}"
  },
  {
    "articleStyle": 0,
    "customOrder": 52,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "🎞️ 影视,R18",
    "sourceIcon": "https://www.kan.cc/statics/logo/favicon.ico",
    "sourceName": "看韩剧",
    "sourceUrl": "https://www.kan.cc"
  },
  {
    "articleStyle": 0,
    "customOrder": 52,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "📰 资讯,R18",
    "sourceIcon": "https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=838111592,1726027923&fm=26&gp=0.jpg",
    "sourceName": "环球网",
    "sourceUrl": "https://www.huanqiu.com"
  },
  {
    "articleStyle": 2,
    "customOrder": 53,
    "enableJs": false,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": false,
    "ruleArticles": "class.video-list",
    "ruleContent": "tag.a@text.线路一@href\n<js> \nresult=result.substr( result.indexOf(\"\\\",mp4(\\\"\")+7);\nresult=\"https://chpvhbh.com\"+result.substring(0, result.indexOf(\"\\\"\"));\n\n\r\nresult = \"<video src=\\\"\" + result + \"\\\" width=\\\"100%\\\" height=\\\"285px\\\" controls=\\\"controls\\\" ></video>\";\r\nresult = \"<html><head><meta charset=\\\"utf-8\\\"><meta name=\\\"viewport\\\" content=\\\"width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no\\\" /><style>html,body{margin:0;padding:0;width:100%;}</style></head><body>\" + result + \"</body></html>\"\n</js>",
    "ruleImage": "tag.script@html\n<js> \nresult=result.replace(\"\\n\" ,\"\").replace(\"\t \" ,\"\");\n\"https://000093ch.com\"+result.substring(result.indexOf(\"get_img(\")+9,result.indexOf(\");\")-1);\n</js>",
    "ruleLink": "tag.a@href",
    "ruleNextPage": "page",
    "rulePubDate": "class.tag-box@text",
    "ruleTitle": "tag.h5@text",
    "singleUrl": false,
    "sortUrl": "三级::https://079jk.com/Html/109/{{page - 1 == 0 ? \"\": \"index-\"+page+\".html\"}}\n女优::https://www.079jk.com/Html/100/{{page - 1 == 0 ? \"\": \"index-\"+page+\".html\"}}\n人妻::https://079jk.com/Html/111/{{page - 1 == 0 ? \"\": \"index-\"+page+\".html\"}}\n国产::https://079jk.com/Html/60/{{page - 1 == 0 ? \"\": \"index-\"+page+\".html\"}}\n欧美::https://079jk.com/Html/62/{{page - 1 == 0 ? \"\": \"index-\"+page+\".html\"}}\n无码::https://079jk.com/Html/113/{{page - 1 == 0 ? \"\": \"index-\"+page+\".html\"}}",
    "sourceComment": "",
    "sourceGroup": "R18",
    "sourceIcon": "https://i.postimg.cc/tTksN9Yf/1630060356248.png",
    "sourceName": "©痴汉",
    "sourceUrl": "https://www.079jk.com/"
  },
  {
    "articleStyle": 0,
    "customOrder": 53,
    "enableJs": true,
    "enabled": false,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "article",
    "ruleContent": "<js>\nplayer=result.match(\"https.*m3u8\")[0]\nresult = \"{{@@title@text}}<video src=\\\"\" + player\n + \"\\\"width=\\\"100%\\\" height=\\\"auto\\\" controls=\\\"controls\\\" ></video>\";\r\nresult = \"<html><head><meta charset=\\\"utf-8\\\"><meta name=\\\"viewport\\\" content=\\\"width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no\\\" /><style>html,body{margin:0;padding:0;width:100%;}</style></head><body>\" + result + \"</body></html>\"\n</js>",
    "ruleDescription": "",
    "ruleImage": "提取不到",
    "ruleLink": "a@href",
    "ruleNextPage": "page",
    "rulePubDate": "",
    "ruleTitle": "class.post-card-title@text##热榜.*",
    "shouldOverrideUrlLoading": "class.post-content@tag.img!-1@html",
    "singleUrl": false,
    "sortUrl": "全部::https://heiliao464.pro/<,page/{{page}}/>\n搜索::https://heiliao464.pro/search/{{source.getVariable()}}/",
    "sourceComment": "//多个视频不会写，故只能播放单视频的正文\n//期待大佬修改\n发邮件到heiliaobudayang@gmail.com",
    "sourceGroup": "无需翻墙,R18",
    "sourceIcon": "https://i03piccdn.sogoucdn.com/14b82bd552025ec1",
    "sourceName": "黑料",
    "sourceUrl": "https://heiliao461.pro/",
    "style": ""
  },
  {
    "articleStyle": 0,
    "customOrder": 53,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "🎞️ 影视,R18",
    "sourceIcon": "https://p0.ssl.qhimgs1.com/t028449c26308504c44.jpg",
    "sourceName": "宝宝呵护",
    "sourceUrl": "https://www.hehubb.com"
  },
  {
    "articleStyle": 2,
    "customOrder": 53,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.videos-listb@tag.li||class.sousuo",
    "ruleContent": "<js>page=Number({{@@class.page.0@tag.a.-2@textNodes}})\nurl=baseUrl.replace('.html','_')\n\nnurl=[]\nfor(i=1;i<page;i++){\n\t\tnurl.push(url+i+'.html,{\"retry\": 9}')\n\t}\n\nhtml=src\njava.toast('稍等片刻\\n　正在飞速加载')\njava.ajaxAll(nurl).map(item=>{\n\t\thtml += '\\n'+item.body()\n\t})\njava.toast('加载成功\\n　正在获取图片')\nhtml\n</js>\n\ntag.p@tag.img@src\n<js>\nli='\\n'\nlist=result.split('\\n')\nfor(i in list){\n\t\tli += '<li><img src=\"http://bpic.wotucdn.com/20/32/52/20325281-1190f9105412b42f759882ce262c2dcb-3.jpg\" data-src=\"'+list[i]+'\"></li>\\n'\n\t}\nli\n</js>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\">\n\r\n\n\n<ul id=\"box\">\n{{result}}\n</ul>\n\n\n<link rel=\"stylesheet\" href=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.css\">\r\n<script src=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.js\"></script>\n<script>\n\troot = document.getElementById('box')\n\tlazy = new IntersectionObserver(entires => {\n\t\tentires.forEach(item => {\n\t\t\tif(item.isIntersecting){\n\t\t\t\titem=item.target\n\t\t\t\titem.src=item.getAttribute('data-src')\n\t\t\t\tlazy.unobserve(item)\n\t\t\t}\n\t\t})\n\t}, {\n\t\troot: root,\n\t\tthreshold: [0],\n\t\trootMargin:\"0px 0px 500px 0px\"\n\t})\n\nimgs = document.getElementsByTagName('img')\nArray.from(imgs).forEach(item => {\n\t\tlazy.observe(item)\n\t})\n\n//查看大图插件\nnew Viewer(root,{title:false,interval:3000})\n</script>",
    "ruleDescription": "",
    "ruleImage": "tag.a@href##.+\\D((\\d+)\\d{3})\\D##https://www.plmn5.cc/Uploadfile/pic/$1.jpg##",
    "ruleLink": "tag.a@href",
    "ruleNextPage": "page",
    "ruleTitle": "tag.a@alt||tag.p@text",
    "singleUrl": false,
    "sortUrl": "秀人网::https://www.plmn5.cc/XiuRen/<,index{{page}}.html>\n搜索::https://www.plmn5.cc/plus/search/index.asp?keyword={{source.getVariable()}}<,&searchtype=title&p={{page}}>",
    "sourceGroup": "R18",
    "sourceIcon": "https://www.plmn5.cc/uploadfile/202406/18/BA154120852.webp",
    "sourceName": "漂亮美女",
    "sourceUrl": "https://www.plmn5.cc/",
    "style": "* {\n\tmargin: 0;\n\tpadding: 0\n}\nul {\n\tfont-size: 0;\n\theight: 100%;\n\toverflow-y: scroll\n}\nli {\n\tlist-style: none;\n\ttext-align: center\n}\nimg {\n\twidth: 100%;\n\theight: auto\n}"
  },
  {
    "articleStyle": 0,
    "customOrder": 54,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceComment": "所有内容均取自网络 仅用于网络环境测试 请于二十四小时之内删除\n侵删\n免费书源交流群：178801993",
    "sourceGroup": "R18",
    "sourceIcon": "https://www.xgmn01.xyz/uploadfile/202306/2/A4161748326.jpg",
    "sourceName": "XNXX（免翻版）",
    "sourceUrl": "https://xnuu.cc/"
  },
  {
    "articleStyle": 2,
    "customOrder": 55,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": ".recommended@.recommended-grids@.col-md-2:matches((?i)^((?!秀人|UU|XIUREN|IMISS|XIAOYU|FEILIN).)*$)",
    "ruleContent": ".photo_box@tag.img@src##\\n##\\$\n\n<js>\nli='\\n'\njava.log(result)\nlist=result.split('$')\nfor(i in list){\n\t     if(list[i].length<20) break;\n\t\tli += '<li><img src=\"https://www.jokerlu6.pw/template/jokerlu/images/logo.png\" data-src=\"https://imageproxy.pimg.tw/resize?url='+list[i].replace(/^(http(.*)\\.jpg).*/,'$1')+'\"></li>\\n';\n\t}\nli\n</js>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\">\n\n\n<ul id=\"box\">\n{{result}}\n</ul>\n<h3>{{@@.song-info@h3@text}}</h3>\r\n<h6>{{@@id.myList@h4@text}}</h6>\n\n<link rel=\"stylesheet\" href=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.css\">\r\n<script src=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.js\"></script>\n<script>\n\troot = document.getElementById('box')\n\tlazy = new IntersectionObserver(entires => {\n\t\tentires.forEach(item => {\n\t\t\tif(item.isIntersecting){\n\t\t\t\titem=item.target\n\t\t\t\titem.src=item.getAttribute('data-src')\n\t\t\t\tlazy.unobserve(item)\n\t\t\t}\n\t\t})\n\t}, {\n\t\troot: root,\n\t\tthreshold: [0],\n\t\trootMargin:\"0px 0px 500px 0px\"\n\t})\n\nimgs = document.getElementsByTagName('img')\nArray.from(imgs).forEach(item => {\n\t\tlazy.observe(item)\n\t})\n\n//查看大图插件\nnew Viewer(root,{title:false,interval:3000})\n</script>",
    "ruleImage": "https://imageproxy.pimg.tw/resize?url={{@@img@src}}",
    "ruleLink": "a.0@href",
    "ruleNextPage": ".mbyc.-2@a@href",
    "rulePubDate": ".time@p@text",
    "ruleTitle": ".title@text",
    "singleUrl": false,
    "sortUrl": "清凉写真::/index.php/arttype/110.html\n清凉随机::/index.php/arttype/110-{{ Math.ceil(Math.random()*2767) }}/\n美女图::/index.php/arttype/76.html\n美女随机::/index.php/arttype/76-{{ Math.ceil(Math.random()*699) }}/\n丝袜美腿::/index.php/arttype/111.html\n丝袜随机::/index.php/arttype/111-{{ Math.ceil(Math.random()*754) }}/\n亚洲美女::/index.php/arttype/77.html\n亚洲随机::/index.php/arttype/77-{{ Math.ceil(Math.random()*473) }}/\n素人正妹::/index.php/arttype/79.html\n素人随机::/index.php/arttype/79-{{ Math.ceil(Math.random()*163) }}/\r\nCOSPLAY::/index.php/arttype/80.html\nCOS随机::/index.php/arttype/80-{{ Math.ceil(Math.random()*850) }}/\r\n性感激情::/index.php/arttype/112.html\r\n欧美写真::/index.php/arttype/113.html\r\n欧美美女::/index.php/arttype/78.html",
    "sourceComment": "免费的图片代理https://imageproxy.pimg.tw 可代理 jpg gif,可靠性未知,能用多久不知道,到时候想看自己找梯子,(都有梯子了,还看这个?)",
    "sourceGroup": "R18",
    "sourceIcon": "https://eia.jokerlu-sin.buzz/favicon.ico",
    "sourceName": "jokerlu",
    "sourceUrl": "https://eia.jokerlu-sin.buzz/",
    "style": "* {\n\tmargin: 0;\n\tpadding: 0\n}\nul {\n\tfont-size: 0;\n\theight: 100%;\n\toverflow-y: scroll\n}\nli {\n\tlist-style: none;\n\ttext-align: center\n}\nimg {\n\twidth: 100%;\n\theight: auto\n}"
  },
  {
    "articleStyle": 0,
    "customOrder": 55,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "🎞️ 影视,R18",
    "sourceIcon": "https://www.bl210.com/templets/default/images/img/favicon.ico",
    "sourceName": "爱妖灵",
    "sourceUrl": "https://www.bl210.com"
  },
  {
    "articleStyle": 0,
    "customOrder": 55,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "",
    "ruleContent": "",
    "ruleDescription": "",
    "ruleImage": "",
    "ruleLink": "",
    "rulePubDate": "",
    "ruleTitle": "",
    "singleUrl": true,
    "sortUrl": "",
    "sourceGroup": "🎞️ 影视,R18",
    "sourceIcon": "https://dgss3.bdstatic.com/-bA2ezTa2gU2pMbgoY3K/img/0/512_512/ce8d065cbedf24ecf82449b4033450f2.png",
    "sourceName": "哔哩哔哩",
    "sourceUrl": "https://m.bilibili.com"
  },
  {
    "articleStyle": 0,
    "concurrentRate": "5",
    "customOrder": 56,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "id.content.0@tag.article",
    "ruleContent": "id.msacwl-slider-1@tag.img@data-lazy##(.*)\n<pre>\n    <js>\n        imgList = result.split(\"\\n\");\n        imgDom = \"\";\n        for (let i = 0; i < imgList.length; i++) {\n          imgDom += `<img src=\"http://iph.href.lu/375x400?text=AiKan\" data-src=\"${imgList[i]}\" />`;\n        }\n      </js>\n</pre>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\" />\n<h3>{{@@class.entry-title.0@text}}</h3>\n<p>时间：{{@@class.updated.0@text}}</p>\n<p>{{@@class.entry-content@tag.p.[0:4]@text}}</p>\n<div id=\"imgbox\">{{result}}</div>\n<!-- tag.iframe.0@data-src -->\n<iframe src=\"{{@@tag.iframe.0@data-src}}\"></iframe>\n<link rel=\"stylesheet\" href=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.css\" />\n<script src=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.js\"></script>\n<script>\n  root = document.getElementById(\"imgbox\");\n  //查看大图插件\n  new Viewer(root, {\n    title: false,\n    interval: 3000,\n  });\n  lazy = new IntersectionObserver(\n    (entires) => {\n      console.log(\"entires\", entires);\n      entires.forEach((item) => {\n        if (item.isIntersecting) {\n          item = item.target;\n          item.src = item.getAttribute(\"data-src\");\n          lazy.unobserve(item);\n        }\n      });\n    },\n    {\n      root: root,\n      threshold: [0],\n      rootMargin: \"0px 0px 500px 0px\",\n    }\n  );\n\n  imgs = document.getElementsByTagName(\"img\");\n  Array.from(imgs).forEach((item) => {\n    lazy.observe(item);\n  });\n</script>\n",
    "ruleDescription": "",
    "ruleImage": "class.featured-image.0@tag.a.0@tag.img@data-src",
    "ruleLink": "class.featured-image.0@tag.a.0@href",
    "ruleNextPage": "page",
    "rulePubDate": "class.updated.0@text",
    "ruleTitle": "class.featured-image.0@tag.a.0@title",
    "singleUrl": false,
    "sortUrl": "首页::/\n搜索::/page/{{page}}?s={{(source.getVariable()==''||source.getVariable()==null)?source.setVariable('hokage'):source.getVariable()}}\n角色扮演::/category/ero-cosplay/page/{{page}}\n性感::/category/sexy-set/page/{{page}}\n在线视频::/category/online-video/page/{{page}}\nnude::/category/nude/page/{{page}}",
    "sourceComment": "首页只有10条",
    "sourceGroup": "🔞 18禁,R18",
    "sourceIcon": "https://avatars.githubusercontent.com/u/49548316",
    "sourceName": "Mitaku动漫Coser",
    "sourceUrl": "https://mitaku.net",
    "style": " body {\n    padding: 30rpx;\n  }\n  img {\n    display: block;\n    width: 100%;\n  }\n  iframe {\n    margin-top: 30rpx;\n    display: block;\n    width: 100%;\n    min-height: 200px;\n    border: 0;\n    outline: 0;\n    background: url(\"http://iph.href.lu/375x200?text=Video\") contian/center no-repeat;\n  }"
  },
  {
    "articleStyle": 2,
    "customOrder": 56,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "$.list",
    "ruleDescription": "$.art_content",
    "ruleImage": "$.art_content##.*(http.+?\\.jpg).*##$1",
    "ruleLink": "$.art_id",
    "ruleNextPage": "page",
    "rulePubDate": "$.art_time<js>function timestampToTime(timestamp) {\n        var date = new Date(timestamp * 1000);//时间戳为10位需*1000，时间戳为13位的话不需乘1000\n        var Y = date.getFullYear() + '-';\n        var M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';\n        var D = date.getDate() + ' ';\n        var h = date.getHours() + ':';\n        var m = date.getMinutes() + ':';\n        var s = date.getSeconds();\n        return Y+M+D+h+m+s;\n    }\n    result=timestampToTime(result)</js>",
    "ruleTitle": "$.art_name",
    "singleUrl": false,
    "sortUrl": "全部::https://52zyapi.com/home/cjapi/asda/mc10/pic/json?cid=0&pg={{page}}\n精品套图::https://52zyapi.com/home/cjapi/asda/mc10/pic/json?cid=0&pg={{page}}&t=828\n网友自拍::https://52zyapi.com/home/cjapi/asda/mc10/pic/json?cid=0&pg={{page}}&t=831\n丝袜美腿::https://52zyapi.com/home/cjapi/asda/mc10/pic/json?cid=0&pg={{page}}&t=833\n唯美写真::https://52zyapi.com/home/cjapi/asda/mc10/pic/json?cid=0&pg={{page}}&t=834\n人体艺术::https://52zyapi.com/home/cjapi/asda/mc10/pic/json?cid=0&pg={{page}}&t=835\n亚洲色图::https://52zyapi.com/home/cjapi/asda/mc10/pic/json?cid=0&pg={{page}}&t=830\n成人动漫::https://52zyapi.com/home/cjapi/asda/mc10/pic/json?cid=0&pg={{page}}&t=832\n欧美激情::https://52zyapi.com/home/cjapi/asda/mc10/pic/json?cid=0&pg={{page}}&t=829",
    "sourceGroup": "R18",
    "sourceIcon": "https://img2.baidu.com/it/u=674439633,2502913322&fm=253&fmt=auto&app=120&f=JPEG?w=1280&h=800",
    "sourceName": "52资源-图版,视频有水印，就不弄了。源仓库现在卡到爆。。",
    "sourceUrl": "https://52zyapi.com/home/cjapi/asda/mc10/pic/json?cid=0&pg={{page}}"
  },
  {
    "articleStyle": 0,
    "customOrder": 57,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceComment": "1阅读书源交流群:1015950952。\n2该订阅源由源仓库用户ID:15839搜集整理\n3订阅源所有链接均经过测试可以正常使用，如载入失败请自行挂梯。如依然无法正常使用请自行删除。\n3由于只是搜集整理 所有内容取自网络 本人不承担任何责任及后果 如有侵害 请第一时间联系阅读书源交流群:1015950952的群主要求删除并致歉。\n4订阅源内容取自网络，仅供学习参考 请在获取后24小时内删除。",
    "sourceGroup": "合集,R18",
    "sourceIcon": "https://img1.baidu.com/it/u=3097007933,3775451098&fm=253&fmt=auto&app=120&f=JPEG?w=1200&h=750",
    "sourceName": "135个R18订阅源（源注释必看）",
    "sourceUrl": "yuedu://rsssource/importonline?src=https://jt12.de/SYV2/2023/03/17/0/02/42/167898256264133da2869d4.json"
  },
  {
    "articleStyle": 0,
    "customOrder": 58,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "div",
    "ruleImage": "img@sec",
    "ruleTitle": "class.item_cont@text",
    "singleUrl": true,
    "sortUrl": "国::https://056985.com/#/home",
    "sourceComment": "半成品",
    "sourceGroup": "合集,R18",
    "sourceIcon": "",
    "sourceName": "黑料社区",
    "sourceUrl": "https://056985.com/#/home"
  },
  {
    "articleStyle": 0,
    "customOrder": 59,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "entries",
    "ruleDescription": "<title>{{$.name}}</title>\n<iframe src=\"legado://import/auto?src=https://www.gitlink.org.cn/api/yi-c/yd/raw/{{$.path}}?ref=master\" hidden></iframe>\n<br><h3>{{$.name}}</h3>\n<h5>导入不成功？多导入几次试试<br>提示没有浏览器，升级阅读3.0到最新版<br>格式不对，提示英文，使用电信网络/魔法上网<br>如果导入后不会用，请关注微信公众号<br>阅读加油<br>有食用教程滴</h5>\n<h6><b>\n↓资源链接，点击复制\n<a href=\"legado://import/auto?src=https://www.gitlink.org.cn/api/yi-c/yd/raw/{{$.path}}?ref=master\">一键导入</a>\n<textarea id=\"copy\" onclick=\"copy()\">https://www.gitlink.org.cn/api/yi-c/yd/raw/{{$.path}}?ref=master</textarea>\n{{$..message}}😊{{$..created_at}}😊{{$..time_from_now}}\n</b></h6><style>\na{float:right;text-decoration:none}\nh3,h5{text-align:center}\nh6{margin:0 2;position:sticky;top:30%}\ntextarea{width:100%;border-radius:5px}\n</style><script>\nfunction copy(){\n\tdocument.getElementById('copy').select()\n\tdocument.execCommand('copy')\n\talert(\"链接复制成功👉请粘贴到对应导入地方导入\")\n}\n</script>",
    "ruleImage": "@js:\"https://inisqw.gitee.io/rss/66.jpg\"",
    "ruleLink": "https://www.gitlink.org.cn/api/yi-c/yd/raw/{{$.path}}?ref=master",
    "rulePubDate": "{{$..created_at}}😊{{$..time_from_now}}😊{{$..message}}",
    "ruleTitle": "name",
    "singleUrl": false,
    "sourceComment": "",
    "sourceGroup": "R18",
    "sourceIcon": "https://inisqw.gitee.io/rss/66.jpg",
    "sourceName": "一程(一起开源发布页)(一键导入)",
    "sourceUrl": "https://www.gitlink.org.cn/api/yi-c/yd/entries.json?ref=master"
  },
  {
    "articleStyle": 0,
    "customOrder": 59,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "🌐 媒体,R18",
    "sourceIcon": "https://www.930tu.com/favicon.ico",
    "sourceName": "央视直播",
    "sourceUrl": "https://tv.cctv.com/live/m/"
  },
  {
    "articleStyle": 1,
    "customOrder": 60,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "{\"User-Agent\":\"Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Mobile Safari/537.36 Edg/91.0.864.67\"\n}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.thumb-block",
    "ruleContent": "<js>\nvar src=result.match(/html5player.setVideoUrlHigh\\('(.+)'/)[1]\n\nvar img=result.match(/html5player.setThumbUrl\\('(.+)'/)[1]\n\nvar result=\"<video src=\\\"\"+src+\"\\\" width=\\\"100%\\\" height=\\\"auto\\\" controls=\\\"controls\\\"  poster=\\\"\"+img+\"\\\"></video>\";\n\n\"<html><head><meta charset=\\\"utf-8\\\"><style>body\\{background-color:\\#000000\\}</style></head>\"+ \"<body>\"+result+\"</body></html>\"\n</js>",
    "ruleImage": "class.thumb@tag.a@tag.img@data-src",
    "ruleLink": "class.thumb@tag.a@href",
    "ruleNextPage": "page",
    "ruleTitle": "class.thumb-under@text",
    "singleUrl": false,
    "sortUrl": "jk::https://www.xnxx.com/search/jk/{{page}}\n搜索::https://www.xnxx.com/search/超美巨乳/{{page}}\njav::https://www.xnxx.com/search/jav/{{page}}\n国产::https://www.xnxx.com/search/国产/{{page}}",
    "sourceComment": "需vpn\n搜索自己替换关键词\n【画质更改教程】\n内容规则中的『setVideoUrlLow』替换下面的英文。\n高清：setVideoUrlHigh\n标清：setVideoUrlLow\n<js>github@ifwlzs</js>",
    "sourceGroup": "R18",
    "sourceIcon": "https://www.xnxx.com/favicon-32x32.png",
    "sourceName": "XNXX",
    "sourceUrl": "https://www.xnxx.com/",
    "style": "##github@ifwlzs"
  },
  {
    "articleStyle": 1,
    "customOrder": 61,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "{\"User-Agent\":\"Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Mobile Safari/537.36 Edg/91.0.864.67\"\n}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.thumb-block",
    "ruleContent": "<js>\nvar src=result.match(/html5player.setVideoUrlHigh\\('(.+)'/)[1]\n\nvar img=result.match(/html5player.setThumbUrl\\('(.+)'/)[1]\n\nvar result=\"<video src=\\\"\"+src+\"\\\" width=\\\"100%\\\" height=\\\"auto\\\" controls=\\\"controls\\\"  poster=\\\"\"+img+\"\\\"></video>\";\n\n\"<html><head><meta charset=\\\"utf-8\\\"><style>body\\{background-color:\\#000000\\}</style></head>\"+ \"<body>\"+result+\"</body></html>\"\n</js>",
    "ruleImage": "class.thumb@tag.a@tag.img@data-src",
    "ruleLink": "class.thumb@tag.a@href",
    "ruleNextPage": "page",
    "ruleTitle": "class.title@text",
    "singleUrl": false,
    "sortUrl": "jk::https://www.xvideos.com/?k=jk&p={{page}}\n搜索::https://www.xvideos.com/?k=超美巨乳&p={{page}}\njav::https://www.xvideos.com/?k=jav&p={{page}}\n国产::https://www.xvideos.com/?k=国产&p={{page}}",
    "sourceComment": "需vpn\n搜索自己替换关键词\n【画质更改教程】\n内容规则中的『setVideoUrlLow』替换下面的英文。\n高清：setVideoUrlHigh\n标清：setVideoUrlLow\n<js>github@ifwlzs</js>",
    "sourceGroup": "R18",
    "sourceIcon": "https://www.xvideos.com/favicon-32x32.png",
    "sourceName": "XVideos",
    "sourceUrl": "https://www.xvideos.com/",
    "style": "##github@ifwlzs"
  },
  {
    "articleStyle": 0,
    "customOrder": 62,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.thumb-overlay-albums&&class.well well-sm",
    "ruleContent": "",
    "ruleDescription": "",
    "ruleImage": "tag.img@data-original&&tag.img@src",
    "ruleLink": "tag.a.0@href@js:\"https://18comic.vip\"+result",
    "ruleNextPage": "class.prevnext.0@href",
    "rulePubDate": "class.video-views pull-left@text&&class.video-added@text",
    "ruleTitle": "tag.img@title",
    "singleUrl": false,
    "sortUrl": "\n总排行榜::https://18comic.vip/albums?o=mv\r\n月排行榜::https://18comic.vip/albums?t=m&o=mv\r\n日排行榜::https://18comic.vip/albums?o=mv&t=t\n最新A漫::https://18comic.vip/albums?o=mr\n同人::https://18comic.vip/albums/doujin\n\n单行本::https://18comic.vip/albums/single?o=mr\n短篇::https://18comic.vip/albums/short\n其他::https://18comic.vip/albums/another\n韩漫::https://18comic.vip/albums/hanman\n美漫::https://18comic.vip/albums/meiman\nH动漫::https://18comic.vip/videos\nH电影::https://18comic.vip/movies",
    "sourceGroup": "R18",
    "sourceIcon": "https://18comic.vip/media/logo/new_logo.png?v=20210720",
    "sourceName": "禁漫天堂",
    "sourceUrl": "https://18comic.vip/【🔺ssr】"
  },
  {
    "articleStyle": 2,
    "concurrentRate": "",
    "customOrder": 62,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.update_area_lists@tag.li",
    "ruleContent": "<!DOCTYPE html>\r\n<html>\r\n\r\n<head>\r\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\">\r\n    <link rel=\"stylesheet\" href=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.css\">\r\n    <script src=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.js\"></script>\r\n    <script src=\"http://lib.sinaapp.com/js/jquery/2.0.2/jquery-2.0.2.min.js\"></script>\r\n</head>\r\n\r\n<body>\r\n    <h3>{{@@.item_title@tag.h1@text}}</h3>\r\n    <h5>{{@class.jianjie@tag.p@text}}</h5>\r\n    <div id=\"box\">{{@@class.content_left.0@tag.p@tag.img@html}}</div>\r\n    <div id=\"loads\">加载中 </div>\r\n    <script>\r\n        var io,loads;\n        var i = 1;\r\n        var page = {{@@class.page.0@tag.a.-2@textNodes##\\n}} - 1;\r\n        var url = \"{{baseUrl.replace('.html','_')}}\";\r\n        $(document).ready(function () {\r\n            var box = document.getElementById(\"box\");\r\n            loads = document.getElementById(\"loads\");\r\n            new Viewer(box, {url: 'src',title: false,interval: 3000}); \r\n            io = new IntersectionObserver(entries => {\r\n                if (entries[0].intersectionRatio <= 0) return;\r\n                for (var j = 0; j < 1; j++) {\r\n                    fetchHtml(i, page, url);\r\n                    i += 1;\r\n                }\r\n            }).observe(loads);\r\n        })\r\n\r\n\r\n\r\n        function fetchHtml(i, page, url) {\r\n            if (i <= page) {\r\n                nurl = url + i + '.html';\r\n                $.ajax({\r\n                    url: nurl,\r\n                    dataType: 'html',\r\n                    success: function (html) {\r\n                        $('#box').append('<h5>' + (++i) + '->' + (++page) + '</h5>');\r\n                        $('#box').append($(html).find('p img'));\r\n                        box.viewer.update();\r\n                    },\r\n                    error: function (xhr) { }\r\n                });\r\n            } else {\r\n                $('#loads').html(\"\");\r\n            }\r\n        }\r\n    </script>\r\n</body>\r\n\r\n</html>",
    "ruleDescription": "",
    "ruleImage": "tag.a@tag.img@src",
    "ruleLink": "tag.a@href",
    "ruleNextPage": "class.page@tag.a.-2@href",
    "rulePubDate": "{{@class.meta-post@textNodes}}_浏览{{@class.cx_like@textNodes}}次",
    "ruleTitle": "tag.a@title",
    "singleUrl": false,
    "sortUrl": "一周推荐::https://www.xrmn5.cc/tj.html\n最新::https://www.xrmn5.cc/zx.html\n最热::https://www.xrmn5.cc/rm.html\n秀人网::https://www.xrmn5.cc/XiuRen/\nImiss爱蜜社::https://www.xrmn5.cc/Imiss/\n模范学院::https://www.xrmn5.cc/MFStar/\n魅妍社::https://www.xrmn5.cc/MiStar/\n美媛馆::https://www.xrmn5.cc/MyGirl/\n爱蜜社::https://www.xrmn5.cc/IMiss/\n尤物馆::https://www.xrmn5.cc/YouWu/\n嗲囡囡::https://www.xrmn5.cc/FeiLin/\n蜜桃社::https://www.xrmn5.cc/MiiTao/\n尤蜜荟::https://www.xrmn5.cc/YouMi/\n画语界::https://www.xrmn5.cc/XiaoYu/\n花漾::https://www.xrmn5.cc/HuaYang/\n星颜社::https://www.xrmn5.cc/XingYan/\n兔几盟::https://www.xrmn5.cc/BoLoli/\n优星馆::https://www.xrmn5.cc/Uxing/\n影私荟::https://www.xrmn5.cc/WingS/\n星乐园::https://www.xrmn5.cc/LeYuan/\n顽味生活::https://www.xrmn5.cc/Taste/\n糖果画报::https://www.xrmn5.cc/Candy/\n萌榜::https://www.xrmn5.cc/Micat/",
    "sourceComment": "",
    "sourceGroup": "R18",
    "sourceIcon": "https://images.weserv.nl/?url=https://article.biliimg.com/bfs/article/ded67638d944a7e0ef4452b721fd6434a22de16d.png",
    "sourceName": "秀人集b-v3",
    "sourceUrl": "https://www.xrmn5.cc/",
    "style": "/*标题相关*/\r\nh3{text-align:center}\r\nh6{margin-bottom:0}\r\nimg{width:100%}\nh5{margin-bottom:0;padding-left:5;}"
  },
  {
    "articleStyle": 0,
    "customOrder": 63,
    "enableJs": false,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": false,
    "ruleArticles": "class.clearfix@tag.li",
    "ruleContent": "id.post@all",
    "ruleImage": "class.image-list-item-image@a@img@src",
    "ruleLink": "a@href",
    "ruleNextPage": "class.nextpostslink@href",
    "rulePubDate": "class.image-list-item-regist-date@text",
    "ruleTitle": "class.image-list-item-title@text",
    "singleUrl": false,
    "sortUrl": "搜索::https://zh.hentai-img.com/search/keyword/Genshin/\n排行::https://zh.hentai-img.com/ranking/\n萝莉::https://zh.hentai-img.com/search/tag/lolita",
    "sourceGroup": "R18",
    "sourceIcon": "https://avatars.githubusercontent.com/u/49548316",
    "sourceName": "hentai-img",
    "sourceUrl": "https://zh.hentai-img.com/"
  },
  {
    "articleStyle": 0,
    "customOrder": 64,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.update_area_lists cl@li||.update_area@li",
    "ruleContent": "class.content@html##nav[\\s\\u0000-\\uffff]*##\"></div>",
    "ruleImage": "tag.img@data-original&&tag.img@src",
    "ruleLink": "a.0@href",
    "ruleNextPage": "page",
    "rulePubDate": "class.meta-post@text",
    "ruleTitle": "class.meta-title@text||class.img_title@text",
    "singleUrl": false,
    "sortUrl": "首页::https://www.99zipai.com/{{page - 1 == 0 ? \"\": \"index_\"+page+\".html\"}}\n美图分享::https://www.99zipai.com/share/{{page - 1 == 0 ? \"\": \"index_\"+page+\".html\"}}\n自拍::https://www.99zipai.com/selfies/{{page - 1 == 0 ? \"\": \"index_\"+page+\".html\"}}",
    "sourceComment": "https://www.7aipai.com/\n<js>github@ifwlzs</js>",
    "sourceGroup": "R18",
    "sourceIcon": "https://www.99zipai.com/skin/5zipai/images/logo.png",
    "sourceName": "美拍",
    "sourceUrl": "https://www.99zipai.com/",
    "style": "img{\n\twidth:100%;\n\theight:auto;\n\t}##github@ifwlzs"
  },
  {
    "articleStyle": 0,
    "concurrentRate": "",
    "customOrder": 65,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginCheckJs": "",
    "loginUi": "",
    "loginUrl": "",
    "ruleArticles": "class.row col6 clearfix@dl&&class.col clearfix@ul@li\n<js>java.log(result)</js>",
    "ruleContent": "class.main@html",
    "ruleDescription": "",
    "ruleImage": "tag.img@data-original&&tag.img@src",
    "ruleLink": "dt@a@href&&a@href",
    "ruleNextPage": "text.下一页@href",
    "rulePubDate": "dt@a@i@text&&span@text",
    "ruleTitle": "class.s xst@text&&h3@text",
    "singleUrl": false,
    "sortUrl": "图片::https://aa2bp.com/tupian/index.html\n偷窥自拍::https://aa2bp.com/toukuizipai/index.html\n亚洲色图::https://aa2bp.com/yazhousetu/index.html\n欧美色图::https://aa2bp.com/oumeisetu/index.html\n动漫图片::https://aa2bp.com/dongmantupian/index.html\n美腿丝袜::https://aa2bp.com/meituisiwa/index.html\n清纯唯美::https://aa2bp.com/qingchunweimei/index.html\n熟女图区::https://aa2bp.com/shunvtuqu/index.html\n另类图片::https://aa2bp.com/lingleitupian/index.html\n小说::https://aa2bp.com/xiaoshuo/index.html\n都市激情::https://aa2bp.com/doushijiqing/index.html\n家庭乱伦::https://aa2bp.com/jiatingluanlun/index.html\n人妻女友::https://aa2bp.com/renqinvyou/index.html\n武侠古典::https://aa2bp.com/wuxiagudian/index.html\n迷情校园::https://aa2bp.com/miqingxiaoyuan/index.html\n另类小说::https://aa2bp.com/lingleixiaoshuo/index.html\n黄色笑话::https://aa2bp.com/huangsexiaohua/index.html\n性爱技巧::https://aa2bp.com/xingaijiqiao/index.html\n",
    "sourceComment": "<js>github@ifwlzs</js>",
    "sourceGroup": "R18",
    "sourceIcon": "https://avatars.githubusercontent.com/u/49548316",
    "sourceName": "快活影院",
    "sourceUrl": "https://aa2bp.com/",
    "style": "img{\n\twidth:100%;\n\theight:auto;\n\t}##github@ifwlzs"
  },
  {
    "articleStyle": 0,
    "customOrder": 65,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.list@li",
    "ruleContent": "script@all<js>\nresult=result.match(/http.*m3u8/)[0]</js>\n<video src=\"{{result}}\" width=\"100%\" height=\"auto\" controls></video>  \n{{@@title@text##-亚洲学院}}",
    "ruleImage": "img@data-original",
    "ruleLink": "a@href",
    "ruleNextPage": "page",
    "ruleTitle": "class.info@text",
    "singleUrl": false,
    "sortUrl": "搜索::http://apw7y.com/s/nid/1/page/{{page}}/sid/1/wd/{{source.getVariable()}}/\n玩偶::http://apw7y.com/s/nid/1/page/{{page}}/sid/1/wd/HONGKONGDO/\n最新::http://apw7y.com/label/hot/by/time/nid/1/page/{{page}}/sid/1/\n国产自拍::http://apw7y.com/t/5/nid/1/page/{{page}}/sid/1/\n主播诱惑::http://apw7y.com/t/6-{{page}}/\n探花约炮::http://apw7y.com/t/7-{{page}}/\n偷拍偷窥::http://apw7y.com/t/8-{{page}}/\n乱伦侵犯::http://apw7y.com/t/9-{{page}}/\n网爆吃瓜::http://apw7y.com/t/10-{{page}}/\n短视频::http://apw7y.com/t/11-{{page}}/\n传媒剧情::http://apw7y.com/t/12-{{page}}/\n网爆::http://apw7y.com/s/nid/1/page/{{page}}/sid/1/wd/%E7%BD%91%E7%88%86/\n泄密::http://apw7y.com/s/nid/1/page/{{page}}/sid/1wd/%E6%B3%84%E5%AF%86/\n事件::http://apw7y.com/s/nid/1/page/{{page}}/sid/1/wd/%E4%BA%8B%E4%BB%B6/\n自拍::http://apw7y.com/s/nid/1/page/{{page}}/sid/1/wd/%E8%87%AA%E6%8B%8D/\n偷拍::http://apw7y.com/s/nid/1/page/{{page}}/sid/1/wd/%E5%81%B7%E6%8B%8D/\n乱伦::http://apw7y.com/s/nid/1/page/{{page}}/sid/1/wd/%E4%B9%B1%E4%BC%A6/\n强奸::http://apw7y.com/s/nid/1/page/{{page}}/sid/1/wd/%E5%BC%BA%E5%A5%B8/\n偷看::http://apw7y.com/s/nid/1/page/{{page}}/sid/1/wd/%E5%81%B7%E7%AA%A5/\n内射::http://apw7y.com/s/nid/1/page/{{page}}/sid/1/wd/%E5%86%85%E5%B0%84/\n不雅::http://apw7y.com/s/nid/1/page/{{page}}/sid/1/wd/%E4%B8%8D%E9%9B%85/\n流出::http://apw7y.com/s/nid/1/page/{{page}}/sid/1/wd/%E6%B5%81%E5%87%BA/\n电话::http://apw7y.com/s/nid/1/page/{{page}}/sid/1/tag/%E7%94%B5%E8%AF%9D/\n探花::http://apw7y.com/s/nid/1/page/{{page}}/sid/1/wd/%E6%8E%A2%E8%8A%B1/\n白虎::http://apw7y.com/s/nid/1/page/{{page}}/sid/1/tag/%E7%99%BD%E8%99%8E/\n约炮::http://apw7y.com/s/nid/1/page/{{page}}/sid/1/wd/%E7%BA%A6%E7%82%AE/\n漏出::http://apw7y.com/s/nid/1/page/{{page}}/sid/1/wd/%E6%BC%8F%E5%87%BA/\n调教::http://apw7y.com/s/nid/1/page/{{page}}/sid/1/wd/%E8%B0%83%E6%95%99/\n诱惑::http://apw7y.com/s/nid/1/page/{{page}}/sid/1/wd/%E8%AF%B1%E6%83%91/\n日韩自拍::http://apw7y.com/t/13-{{page}}/\n日韩无码::http://apw7y.com/t/14-{{page}}/\n中文::http://apw7y.com/t/15-2/\n中文字幕::http://apw7y.com/t/15-{{page}}/\nav解说::http://apw7y.com/t/17-{{page}}/\n换脸明星::http://apw7y.com/t/18-{{page}}/\n无码字幕::http://apw7y.com/t/19-{{page}}/\n港台伦理::http://apw7y.com/t/29-{{page}}/\n日韩伦理::http://apw7y.com/t/30-{{page}}/\n3D动漫::http://apw7y.com/t/27-{{page}}/\n岬奈奈::http://apw7y.com/s/nid/1/page/{{page}}/sid/1/wd/%E5%B2%AC%E5%A5%88%E5%A5%88/\n天使萌::http://apw7y.com/s/nid/1/page/{{page}}/sid/1/wd/%E5%A4%A9%E4%BD%BF%E8%90%8C/",
    "sourceComment": "发布地址：https://18fby.com/?new18w",
    "sourceGroup": "💠 其他,R18",
    "sourceIcon": "https://i03piccdn.sogoucdn.com/14b82bd552025ec1",
    "sourceName": "亚洲学院",
    "sourceUrl": "http://apw7y.com/"
  },
  {
    "articleStyle": 1,
    "customOrder": 65,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "",
    "ruleContent": "",
    "ruleDescription": "",
    "ruleImage": "",
    "ruleLink": "",
    "rulePubDate": "",
    "ruleTitle": "",
    "singleUrl": true,
    "sourceGroup": "🌐 媒体,R18",
    "sourceIcon": "https://cdn.aixifan.com/dotnet/20130418/umeditor/dialogs/emotion/images/ac/47.gif",
    "sourceName": "AC正义",
    "sourceUrl": "https://m.acfun.cn"
  },
  {
    "articleStyle": 2,
    "customOrder": 66,
    "enableJs": false,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": false,
    "ruleArticles": "$.[*]",
    "ruleContent": "class.wookmark-initialised@img@html##src.*data-",
    "ruleImage": "t_url",
    "ruleLink": "g_url",
    "ruleNextPage": "page",
    "ruleTitle": "desc",
    "singleUrl": false,
    "sortUrl": "热门::https://www.pornpics.com/search/srch.php?q=popular&limit=20&offset={{(page-1)*20}}\n搜索::https://www.pornpics.com/search/srch.php?q=关键字&limit=20&offset={{(page-1)*20}}\n丝袜::https://www.pornpics.com/search/srch.php?q=stocking&limit=20&offset={{(page-1)*20}}\r\n亚洲::https://www.pornpics.com/search/srch.php?q=asians&limit=20&offset={{(page-1)*20}}\r\n萝莉::https://www.pornpics.com/search/srch.php?q=lolita&limit=20&offset={{(page-1)*20}}\r\n青少年::https://www.pornpics.com/search/srch.php?q=teenager&limit=20&offset={{(page-1)*20}}\r\n白::https://www.pornpics.com/search/srch.php?q=white&limit=20&offset={{(page-1)*20}}\r\n自拍::https://www.pornpics.com/search/srch.php?q=Selfie&limit=20&offset={{(page-1)*20}}\r\n公开场合::https://www.pornpics.com/getchank2.php?rid=1&cat=102&limit=20&offset={{(page-1)*20}}\r\n肛::https://www.pornpics.com/search/srch.php?q=anus&limit=20&offset={{(page-1)*20}}\n",
    "sourceComment": "需VPN\n搜索自行替换关键字，只支持英文搜索\n<js>github@ifwlzs</js>",
    "sourceGroup": "R18",
    "sourceIcon": "https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fsafe-img.xhscdn.com%2Fbw1%2F5a93370d-5604-4420-82cb-dea9f6bf5573%3FimageView2%2F2%2Fw%2F1080%2Fformat%2Fjpg&refer=http%3A%2F%2Fsafe-img.xhscdn.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1681571427&t=bd6d35c7eeb261f7d2cf98747331db22",
    "sourceName": "pornpics",
    "sourceUrl": "https://www.pornpics.com/",
    "style": "img{\n\twidth:100%;\n\theight:auto;\n\t}##github@ifwlzs"
  },
  {
    "articleStyle": 0,
    "customOrder": 66,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "html",
    "ruleContent": "",
    "ruleDescription": "",
    "ruleImage": "",
    "ruleLink": "@js:result=baseUrl",
    "ruleNextPage": "",
    "rulePubDate": "",
    "ruleTitle": "title@text",
    "singleUrl": true,
    "sortUrl": "",
    "sourceGroup": "🎲 娱乐,R18",
    "sourceIcon": "https://timg01.bdimg.com/timg?pa=&imgtype=0&sec=1439619614&di=fe42d025ac49ce069f1dba2dbcde01d6&quality=90&size=b870_10000&src=http%3A%2F%2Fpic.rmb.bdstatic.com%2F6eeac2fe89faa79c58f63faa73cf4b04.jpeg",
    "sourceName": "糗事百科",
    "sourceUrl": "https://www.qiushibaike.com"
  },
  {
    "articleStyle": 0,
    "customOrder": 68,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "R18",
    "sourceIcon": "",
    "sourceName": "韩漫书源",
    "sourceUrl": "legado://import/bookSource?src=https://jt12.de/SYV2_4/2024/03/04/20/48/54/170955653465e5c33680046.json"
  },
  {
    "articleStyle": 1,
    "customOrder": 69,
    "enableJs": false,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "{\n  \"User-Agent\": \"okhttp/4.2.2\"\n}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "$.data.vodrows",
    "ruleContent": "<video src=\"{{$.data.httpurl}}{{$.data.httpurl_preview}}\"autoplay muted controls ></video>",
    "ruleImage": "coverpic",
    "ruleLink": "http://ios.bxguwen.com{{$.play_url}}",
    "ruleNextPage": "$..next_url",
    "rulePubDate": "{{$.updatetime}}  {{$.scorenum}}分  {{$.areaname}}   {{$.catename}} {{$.actor_tags..tagname}}  {{$.tags..tagname}} ",
    "ruleTitle": "$.title",
    "singleUrl": false,
    "sortUrl": "辣妹大奶::/vod/listing-7-0-0-0-0-0-0-0-0-1\n搜索::/search?page={{page}}&wd=东京热\n偷拍自拍::/vod/listing-4-0-0-0-0-0-0-0-0-1\n制服诱惑::/vod/listing-5-0-0-0-0-0-0-0-0-1\n青纯少女::/vod/listing-6-0-0-0-0-0-0-0-0-1\n\n女同专属::/vod/listing-8-0-0-0-0-0-0-0-0-1\n素人出演::/vod/listing-9-0-0-0-0-0-0-0-0-1\n角色扮演::/vod/listing-10-0-0-0-0-0-0-0-0-1\n成人动漫::/vod/listing-11-0-0-0-0-0-0-0-0-1\n人妻熟女::/vod/listing-12-0-0-0-0-0-0-0-0-1\n变态另类::/vod/listing-13-0-0-0-0-0-0-0-0-1\n经典伦理::/vod/listing-14-0-0-0-0-0-0-0-0-1",
    "sourceGroup": "封子秦,R18",
    "sourceIcon": "https://zptk.hotlinkprotect.com/upload/2024/12/43e7e2c3b9625da4831cc323ce219951.jpg",
    "sourceName": "Bxguwen",
    "sourceUrl": "http://ios.bxguwen.com/vod/listing-0-0-0-0-0-0-2-0-0-1(豆奶)",
    "style": "video{width:100%}"
  },
  {
    "articleStyle": 0,
    "customOrder": 70,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "封子秦,R18",
    "sourceIcon": "https://i.postimg.cc/tT45zyZQ/9399ca50f4495079a2c4f54f268dcad6.gif",
    "sourceName": "秘密入口",
    "sourceUrl": "https://www.xn--vctr31ecwaz4k.com/"
  },
  {
    "articleStyle": 0,
    "customOrder": 71,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "{\"User-Agent\":\"Mozilla/5.0 (Linux; Android 10; TEL-AN00 Build/HONORTEL-AN00; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/92.0.4515.105 Mobile Safari/537.36\"}",
    "injectJs": "",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "$.model.data",
    "ruleContent": "<!-- <p>http://play.eeefun.cc/?url=={{$.model.url}}</p> -->\n<!-- <iframe src='http://play.eeefun.cc/?url={{$.model.url}}'></iframe> -->\n<hr />\n<p>播放地址: {{$.model.url}}</p>\n<iframe src=\"https://tools.liumingye.cn/m3u8/#{{$.model.url}}\"></iframe>\n<details>\n  <summary>\n    <h3>{{$.model.title}}</h3>\n  </summary>\n  <img src={{$.model.coverUrl}}>\n  <div>\n    <p>⌚️ 时长：{{$.model.durationFormat}}</p>\n    <p>📆 日期：{{$.model.onlineTime##T|.000.*## }}</p>\n    <p>🎥 播放：{{$.model.viewCount}}次</p>\n    <p>📩 收藏：{{$.model.collectCount}}</p>\n    <p>🕵 片商：{{$.model.authors}}</p>\n    <p>👤 上传：{{$.model.uploader}}</p>\n    <p>🔖 标签：{{$.model.categories}},{{$.model.tags}}</p>\n    <p>🏷 简介：{{$.model.brief}}</p>\n</details>",
    "ruleDescription": "",
    "ruleImage": "$.coverUrl",
    "ruleLink": "https://api.uaa.com/video/app/video/intro?force=false&id={{$.id}}&viewId=16887182234803442",
    "ruleNextPage": "page",
    "rulePubDate": "{{$.vip##1##VIP}} {{$.onlineTime##T.*}} {{$.tags}}##^0##免费",
    "ruleTitle": "$.title",
    "singleUrl": false,
    "sortUrl": "变量搜索::/video/app/video/search?keyword={{v=source.getVariable();if(/^\\s*$/.test(v)||v==null)source.setVariable('无码');source.getVariable()}}&orderType=0&page={{page}}&size=33\n\n最新排行::/video/app/video/search?category=&orderType=1&page=1&size=33\n\n观看排行::/video/app/video/search?category=&orderType=-1&page=1&size=33\n\n收藏排行::/video/app/video/search?category=&orderType=4&page=1&size=33\n\nH动漫::/video/app/video/search?orderType=1&origin=3&page={{page}}&size=33\n\n\n泡面番::/video/app/video/search?category=%E6%B3%A1%E9%9D%A2%E7%95%AA&orderType=1&page={{page}}&size=33\n\n国产视频::/video/app/video/search?orderType=1&origin=1&page={{page}}&size=33\n\n\n少女萝莉::/video/app/video/search?orderType=1&page={{page}}&size=33&tag=少女萝莉\n\n白虎::/video/app/video/search?orderType=1&page={{page}}&size=33&tag=白虎\n\n自拍偷拍::/video/app/video/search?category=自拍偷拍&orderType=1&page={{page}}&size=33\n\n探花精选::/video/app/video/search?category=探花精选&orderType=1&page=1&size=33\n\n\n主播福利::/video/app/video/search?category=主播福利&orderType=1&page=1&size=33\n\n\n日本AV::/video/app/video/search?orderType=1&origin=2&page={{page}}&size=33\n\n\n制服诱惑\n丝袜网袜::/video/app/video/search?orderType=1&page={{page}}&size=33&tag=丝袜网袜\n泳装水着::/video/app/video/search?orderType=1&page={{page}}&size=33&tag=泳装水着\nJK制服::/video/app/video/search?orderType=1&page={{page}}&size=33&tag=JK制服\n女仆::/video/app/video/search?orderType=1&page={{page}}&size=33&tag=女仆\n吊带袜::/video/app/video/search?orderType=1&page={{page}}&size=33&tag=吊带袜\n兔女郎::/video/app/video/search?orderType=1&page={{page}}&size=33&tag=兔女郎\n伪娘::/video/app/video/search?orderType=1&page={{page}}&size=33&tag=伪娘\n\n身材样貌\n苗条::/video/app/video/search?orderType=1&page={{page}}&size=33&tag=苗条\n美腿美脚::/video/app/video/search?orderType=1&page={{page}}&size=33&tag=美腿美脚\n美臀::/video/app/video/search?orderType=1&page={{page}}&size=33&tag=美臀\n熟女::/video/app/video/search?orderType=1&page={{page}}&size=33&tag=熟女\n巨乳::/video/app/video/search?orderType=1&page={{page}}&size=33&tag=巨乳\n\n交合喜好\n颜射::/video/app/video/search?orderType=1&page={{page}}&size=33&tag=颜射\n足交::/video/app/video/search?orderType=1&page={{page}}&size=33&tag=足交\n肛交::/video/app/video/search?orderType=1&page={{page}}&size=33&tag=肛交\n潮吹::/video/app/video/search?orderType=1&page={{page}}&size=33&tag=潮吹\n口交::/video/app/video/search?orderType=1&page={{page}}&size=33&tag=口交\n69::/video/app/video/search?orderType=1&page={{page}}&size=33&tag=69\n乳交::/video/app/video/search?orderType=1&page={{page}}&size=33&tag=乳交\n内射中出::/video/app/video/search?orderType=1&page={{page}}&size=33&tag=内射中出\n\n\n刺激玩法\n捆绑调教::/video/app/video/search?orderType=1&page={{page}}&size=33&tag=捆绑调教\n痴女痴汉::/video/app/video/search?orderType=1&page={{page}}&size=33&tag=痴女痴汉\n强奸轮奸::/video/app/video/search?orderType=1&page={{page}}&size=33&tag=强奸轮奸\n3P群交::/video/app/video/search?orderType=1&page={{page}}&size=33&tag=3P群交\n奇异催眠::/video/app/video/search?orderType=1&page={{page}}&size=33&tag=奇异催眠\n出轨::/video/app/video/search?orderType=1&page={{page}}&size=33&tag=出轨\n家庭乱伦::/video/app/video/search?orderType=1&page={{page}}&size=33&tag=家庭乱伦\nNTR::/video/app/video/search?orderType=1&page={{page}}&size=33&tag=NTR\n\n\n角色扮演\n医生护士::/video/app/video/search?orderType=1&page={{page}}&size=33&tag=医生护士\n空中女郎::/video/app/video/search?orderType=1&page={{page}}&size=33&tag=空中女郎\n未亡人::/video/app/video/search?orderType=1&page={{page}}&size=33&tag=未亡人\n老师校园::/video/app/video/search?orderType=1&page={{page}}&size=33&tag=老师校园\n人妻主妇::/video/app/video/search?orderType=1&page={{page}}&size=33&tag=人妻主妇\nOL::/video/app/video/search?orderType=1&page={{page}}&size=33&tag=OL\n姐姐妹妹::/video/app/video/search?orderType=1&page={{page}}&size=33&tag=姐姐妹妹\n母亲女儿::/video/app/video/search?orderType=1&page={{page}}&size=33&tag=母亲女儿\nTS人妖::/video/app/video/search?orderType=1&page={{page}}&size=33&tag=TS人妖\n女高中生::/video/app/video/search?orderType=1&page={{page}}&size=33&tag=女高中生\n",
    "sourceComment": "//网页网址 https://www.uaa.com/video\n//VIP可以观看\n//搬运，请注明源作者😎",
    "sourceGroup": "源仓库,R18",
    "sourceIcon": "https://www.uaa.com/assets/uaalogo.7acb1f90.svg",
    "sourceName": "UAA/友爱-视频",
    "sourceUrl": "https://api.uaa.com",
    "style": "*{\n\tz-index:0;\n\tmargin:0;\n\tpadding:0;\n\twidth:99.3%;\n\theight:auto;\n}\n\np{\n\ttext-indent:5px;\n}\nbody>p:first-of-type{\n\twidth:100%;\n\tposition:sticky;\n\ttop:0.3px;\n\theight:15px;font-size:0.7rem;\n\tborder-radius:5px 5px 5px 5px;\n\tbackground:#000;color:#fff;\n\twhite-space:nowrap;\n\toverflow:auto;\n\tz-index:4;\n}\niframe{\n\tposition:sticky;top:16;\n\tbackground:#000;color:#fff;\n\tborder-radius:10px 10px 10px 10px;\t\n\theight:285px;\n\tz-index:3;\n}\n\ndetails{\n\twidth:90%;\n\tmargin:0 5%;\n\tpadding:10px;\n}\n\nsummary{\n\twidth:90%;\n\tmargin:0.5%;\n\toutline:none;\n\ttext-align:center;\n \t}"
  },
  {
    "articleStyle": 0,
    "customOrder": 71,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "",
    "ruleContent": "",
    "ruleDescription": "",
    "ruleImage": "",
    "ruleLink": "",
    "rulePubDate": "",
    "ruleTitle": "",
    "singleUrl": true,
    "sourceGroup": "📰 资讯,R18",
    "sourceIcon": "http://m.anitama.cn/style/image/res/icon/android-chrome-192x192.png",
    "sourceName": "Anitama",
    "sourceUrl": "http://m.anitama.cn"
  },
  {
    "articleStyle": 0,
    "customOrder": 72,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\"User-Agent\":\"Mozilla/5.0 (Linux; Android 10; TEL-AN00 Build/HONORTEL-AN00; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/92.0.4515.105 Mobile Safari/537.36\"}",
    "injectJs": "",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginUrl": "https://www.sslt.xyz/member.php?mod=logging&action=login&mobile=2",
    "ruleArticles": "class.list",
    "ruleContent": "<p>{{@@class.view_tit@text}}</p>\n<div>{{@@class.message@all}}</div>\n---------\n<span>没有附件，需登录。如附件名称错误，请自行更改文件名称</span>",
    "ruleDescription": "",
    "ruleLink": "tag.a.2@href",
    "ruleNextPage": "page",
    "rulePubDate": "class.muser@span@text",
    "ruleTitle": "em@text",
    "singleUrl": false,
    "sortUrl": "同人审核区::https://www.sslt.xyz/forum.php?mod=forumdisplay&fid=2&page={{page}}\n同人连载::https://www.sslt.xyz/forum.php?mod=forumdisplay&fid=3&page={{page}}\n同人完结::https://www.sslt.xyz/forum.php?mod=forumdisplay&fid=4&page={{page}}\n\n常规审核区::https://www.sslt.xyz/forum.php?mod=forumdisplay&fid=7&page={{page}}\n常规连载::https://www.sslt.xyz/forum.php?mod=forumdisplay&fid=8&page={{page}}\n常规完结::https://www.sslt.xyz/forum.php?mod=forumdisplay&fid=9&page={{page}}\n",
    "sourceComment": "没有附件，需登录。如附件名称错误，请自行更改文件名称",
    "sourceGroup": "源仓库,R18",
    "sourceIcon": "https://www.sslt.xyz/data/attachment/common/template/boardimg_20240616mcgfcqmv.png",
    "sourceName": "搜书论坛",
    "sourceUrl": "https://www.sslt.xyz"
  },
  {
    "articleStyle": 0,
    "customOrder": 73,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "源仓库,R18",
    "sourceIcon": "https://img.fy6b.com/2024/06/13/7ca5da52f9cc0.jpg",
    "sourceName": "阅读app源",
    "sourceUrl": "https://mzrjk.top"
  },
  {
    "articleStyle": 0,
    "customOrder": 74,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "{ \n\t\"User-Agent\": \"Mozilla/5.0 (Linux; U; Android 9; zh-CN; ONEPLUS A5000 Build/PKQ1.180716.001) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/78.0.3904.108 Quark/5.5.8.205 Mobile Safari/537.36Ultra/1.6.12 Mark/imetox\",\"x-requested-with\": \"XMLHttpRequest\"}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "li",
    "ruleContent": "script@all",
    "ruleImage": "img@data-original",
    "ruleLink": "a.0@href",
    "ruleNextPage": "page",
    "rulePubDate": "class.vodtime@text",
    "ruleTitle": "class.vodname@text",
    "shouldOverrideUrlLoading": "",
    "singleUrl": false,
    "sortUrl": "91原创::/list/91资源cn/ori/{{page}}.html\n当前最热::/list/91资源cn/hot/{{page}}.html\n本月最热::/list/91资源cn/top/{{page}}.html\n非付费::/list/91资源cn/nonpaid/{{page}}.html\n10分钟以上::/list/91资源cn/long/{{page}}.html\n20分钟以上::/list/91资源cn/longer/{{page}}.html\n本月收藏::/list/91资源cn/tf/{{page}}.html\n最近加精::/list/91资源cn/rf/{{page}}.html\n高清::/list/91资源cn/hd.html\n每月最热::/list/91资源cn/top-1/{{page}}.html\n本月讨论::/list/91资源cn/md/{{page}}.html\n收藏最多::/list/91资源cn/mf/{{page}}.html\n\n/91原创::/list/91资源/ori/{{page}}.html\n/本月最热::/list/91资源/top/{{page}}.html\n/非付费::/list/91资源/nonpaid/{{page}}.html\n/10分钟以上 ::/list/91资源/long/{{page}}.html\n/20分钟以上 ::/list/91资源/longer/{{page}}.html\n/本月收藏::/list/91资源/tf/{{page}}.html\n/最近加精::/list/91资源/rf/{{page}}.html\n/高清::/list/91资源/hd/{{page}}.html\n",
    "sourceComment": "//正文需要更好的体验就自个写",
    "sourceGroup": "源仓库,R18",
    "sourceIcon": "",
    "sourceName": "神秘电影{18}",
    "sourceUrl": "https://4042420.one/",
    "style": ""
  },
  {
    "articleStyle": 1,
    "customOrder": 74,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.td_module_4",
    "ruleImage": "tag.img@src",
    "ruleLink": "tag.a.1@href",
    "ruleNextPage": "class.page-nav@tag.a.-1@href",
    "rulePubDate": "tag.time@text",
    "ruleTitle": "tag.a.1@text",
    "singleUrl": false,
    "sortUrl": "//搜索项在“=”后面输入要找的内容\n最新::https://www.yxssp.com/\n🔎搜索::http://www.yxssp.com/?s=\n安卓::http://www.yxssp.com/os/android\n电脑::http://www.yxssp.com/os/windows\n苹果::http://www.yxssp.com/os/apple\nLinux::http://www.yxssp.com/os/linux",
    "sourceGroup": "🛠 工具,R18",
    "sourceIcon": "http://www.yxssp.com/wp-content/uploads/2017/12/yx250.png",
    "sourceName": "异星软件",
    "sourceUrl": "http://www.yxssp.com"
  },
  {
    "articleStyle": 2,
    "customOrder": 75,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "article",
    "ruleContent": "<js>\r\n//总页数-1(最后一页没有图\r\npage = parseInt(java.getString('class.page-links@class.post-page-numbers.-2@span@text'))\r\njava.log(\"共\"+page+\"页\")\r\nif(page>1){\nhtml = result\r\nnurl=[];\nbase=baseUrl;\r\nfor(i=2;i<=page;i++){\r\n\tnurl.push(base+\"/\"+i+\",{'retry':16}\");\r\n}\r\n\r\nres=java.ajaxAll(nurl)\r\nfor(i in res){\r\n\thtml += org.jsoup.Jsoup.parse(res[i].body())\r\n}\r\n}else{ html = result }\r\n</js>\n\nclass.single-content@tag.img@src##\\n##,\r\n\r\n<js>\r\nli='\\n'\r\nlist=result.split(',')\r\nfor(i in list){\r\n\t\tli += '<li><img src=\"https://flmfxz.com/2022/01/lmmpiclogo.png\" data-src=\"'+list[i]+'\"></li>\\n'\r\n\t}\r\n\r\n</js>\r\n\r\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\">\r\n\r\n\r\n<ul id=\"box\">\r\n{{result}}\r\n</ul>\r\n<h3>{{@@tag.h3.0@text}}</h3>\r\n<link rel=\"stylesheet\" href=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.css\">\r\n<script src=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.js\"></script>\r\n<script>\n\r\n\troot = document.getElementById('box')\r\n\tlazy = new IntersectionObserver(entires => {\r\n\t\tentires.forEach(item => {\r\n\t\t\tif(item.isIntersecting){\r\n\t\t\t\titem=item.target\r\n\t\t\t\titem.src=item.getAttribute('data-src')\r\n\t\t\t\tlazy.unobserve(item)\r\n\t\t\t}\r\n\t\t})\r\n\t}, {\r\n\t\troot: root,\r\n\t\tthreshold: [0],\r\n\t\trootMargin:\"0px 0px 500px 0px\"\r\n\t})\r\n\r\nimgs = document.getElementsByTagName('img')\r\nArray.from(imgs).forEach(item => {\r\n\t\tlazy.observe(item)\r\n\t})\r\n\r\n//查看大图插件\r\nnew Viewer(root,{title:false,interval:3000})\r\n</script>\r\n",
    "ruleImage": "img@src",
    "ruleLink": "h2@a@href",
    "ruleNextPage": "page",
    "rulePubDate": "time@datetime",
    "ruleTitle": "h2@a@text",
    "singleUrl": false,
    "sortUrl": "cosplay::https://www.cybesx.com/cosplay/page/{{page}}/\n丝袜::https://www.cybesx.com/siwa/page/{{page}}/\n模特::https://www.cybesx.com/model/page/{{page}}/\n性感::https://www.cybesx.com/goddess/page/{{page}}/\n私房::https://www.cybesx.com/selfiephoto/page/{{page}}/\n街拍::https://www.cybesx.com/streetphotography/page/{{page}}/",
    "sourceGroup": "R18",
    "sourceIcon": "https://flmfxz.com/2020/04/favicon.png",
    "sourceName": "柠檬皮🔞",
    "sourceUrl": "https://www.cybesx.com",
    "style": "/*标题相关*/\nh3{text-align:center}\nh6{margin-bottom:0}\n* {\n\tmargin: 0;\n\tpadding: 0\n}\nul {\n\tfont-size: 0;\n\theight: 100%;\n\toverflow-y: scroll\n}\nli {\n\tlist-style: none;\n\ttext-align: center\n}\nimg {\n\twidth: 100%;\n\theight: auto\n}"
  },
  {
    "articleStyle": 0,
    "customOrder": 76,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "🎞️ 影视,R18",
    "sourceIcon": "https://94580.net/258x258.png",
    "sourceName": "329影城",
    "sourceUrl": "https://329tv.net"
  },
  {
    "articleStyle": 2,
    "concurrentRate": "",
    "customOrder": 76,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.update_area_lists@tag.li",
    "ruleContent": "<!DOCTYPE html>\r\n<html>\r\n\r\n<head>\r\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\">\r\n    <link rel=\"stylesheet\" href=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.css\">\r\n    <script src=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.js\"></script>\r\n    <script src=\"http://lib.sinaapp.com/js/jquery/2.0.2/jquery-2.0.2.min.js\"></script>\r\n</head>\r\n\r\n<body>\r\n    <h3>{{@@.item_title@tag.h1@text}}</h3>\r\n<h5>{{@class.jianjie@text}}</h5>\r\n    <div id=\"box\">{{@@class.content.0@tag.p@tag.img@html}}</div>\r\n    <div id=\"loads\">加载中 </div>\r\n    <script>\r\n        var loads;\r\n        $(document).ready(function () {\r\n            var box = document.getElementById(\"box\");\r\n            loads = document.getElementById(\"loads\");\r\n            new Viewer(box, { title: false, interval: 3000 })\r\n            var i = 1;\r\n            var page = {{@@class.page.0@tag.a.-2@textNodes##\\n}}-1;\r\n            var url = \"{{baseUrl.replace('.html','_')}}\";\r\n            new IntersectionObserver(entries => {\r\n                if (entries[0].intersectionRatio) {\r\n                    if (entries[0].intersectionRatio <= 0) return;\r\n                    for (var j = 0; j < 1; j++) {\r\n                        fetchHtml(i, page, url);\r\n                        i += 1;\r\n                    }\r\n                }\r\n            }).observe(loads)\r\n        });\r\n\r\n\r\n        function fetchHtml(i, page, url) {\n        \t\r\n            if (i <= page) {\r\n                nurl = url + i + '.html';\r\n                $.ajax({\r\n                    url: nurl,\r\n                    dataType: 'html',\r\n                    success: function (html) {\r\n                        $('#box').append('<h5>' + (++i) + '->' + (++page) + '</h5>');\r\n                        $('#box').append($(html).find('p img'));\r\n                        box.viewer.update();\r\n                    },\r\n                    error: function (xhr) { }\r\n                });\r\n            } else {\r\n                $('#loads').html(\"\");\r\n            }\r\n        }\r\n    </script>\r\n</body>\r\n\r\n</html>",
    "ruleDescription": "",
    "ruleImage": "tag.a@tag.img@src",
    "ruleLink": "tag.a@href",
    "ruleNextPage": "class.page@tag.a.-2@href",
    "rulePubDate": "{{@class.meta-post@textNodes}}_浏览:{{@class.cx_like@textNodes}}",
    "ruleTitle": "tag.a@title",
    "singleUrl": false,
    "sortUrl": "最新::/zx.html\r\n随机::/XiuRen/index{{ Math.ceil(Math.random()*50) }}.html\r\n一周推荐::/tj.html\r\n最热::/rm.html\r\n秀人网::/XiuRen/\r\nImiss爱蜜社::/IMiss/\r\n模范学院::/MFStar/\r\n魅妍社::/MiStar/\r\n美媛馆::/MyGirl/\r\n尤物馆::/YouWu/\r\n嗲囡囡::/FeiLin/\r\n蜜桃社::/MiiTao/\r\n尤蜜荟::/YouMi/\r\n画语界::/XiaoYu/\r\n花漾::/HuaYang/\r\n星颜社::/XingYan/\r\n兔几盟::/BoLoli/\r\n优星馆::/Uxing/\r\n影私荟::/WingS/\r\n星乐园::/LeYuan/\r\n顽味生活::/Taste/\r\n糖果画报::/Candy/\r\n萌榜::/Micat/",
    "sourceComment": "",
    "sourceGroup": "R18",
    "sourceIcon": "https://images.weserv.nl/?url=https://article.biliimg.com/bfs/article/ded67638d944a7e0ef4452b721fd6434a22de16d.png",
    "sourceName": "秀人集v21",
    "sourceUrl": "https://xrmn9.ooov.bf",
    "style": "/*标题相关*/\r\nh3{text-align:center}\r\nh6{margin-bottom:0}\r\nimg{width:100%}\nh5{margin-bottom:0;padding-left:5;}"
  },
  {
    "articleStyle": 0,
    "customOrder": 77,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.pb@tag.div",
    "ruleDescription": "",
    "ruleImage": "class.focus@tag.span@tag.img@src",
    "ruleNextPage": "class.pagination pagination-multi@class.next-page@tag.a@href",
    "rulePubDate": "class.text-muted time.0@text##发布于:",
    "ruleTitle": "class.excerpt excerpt-one.0@tag.header@tag.a@text",
    "singleUrl": true,
    "sourceGroup": "R18",
    "sourceIcon": "https://www.xx3004.vip/wp-content/themes/xiu/images/wap-logo.png",
    "sourceName": "美女写真",
    "sourceUrl": "https://www.san449.com/meinv"
  },
  {
    "articleStyle": 1,
    "customOrder": 78,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.line_bottom@tr",
    "ruleContent": "class.entry@html",
    "ruleLink": "tag.a.0@href",
    "ruleNextPage": "page",
    "rulePubDate": "text",
    "ruleTitle": "a@title",
    "singleUrl": false,
    "sortUrl": "最新::https://3sdfs.enpeta.com/e/action/ListInfo/?classid=1",
    "sourceComment": "https://3sdfs.enpeta.com/e/action/ListInfo/?classid=1\n最新::https://31.enpeta.com/e/action/ListInfo/index.php?page={{page}}&classid=1",
    "sourceGroup": "R18",
    "sourceIcon": "https://avatars.githubusercontent.com/u/49548316",
    "sourceName": "性趣套图",
    "sourceUrl": "https://enpeta.com"
  },
  {
    "articleStyle": 0,
    "customOrder": 79,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceComment": "ai交互小说软件需登录",
    "sourceGroup": "R18",
    "sourceIcon": "https://r2.sexyai.top/20240806/b926254a7adf44b99d4999b201798b0b.png",
    "sourceName": "魅魔ai",
    "sourceUrl": "http://i.sexyai.top/y7ICn"
  },
  {
    "articleStyle": 0,
    "customOrder": 80,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "id.content@h3",
    "ruleLink": "a@href",
    "ruleTitle": "a@textNodes",
    "singleUrl": true,
    "sortUrl": "首页::https://legado.aoaostar.com",
    "sourceGroup": "📖 阅读,R18",
    "sourceIcon": "https://www.aoaostar.com/favicon.ico",
    "sourceName": "阅读APP源-AOAOSTAR",
    "sourceUrl": "https://legado.aoaostar.com"
  },
  {
    "articleStyle": 1,
    "customOrder": 80,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.video_list@li",
    "ruleContent": "class.link_name video_title@tag.a@href\n<js>\nresult=\"https://ylnse.d337799.xyz/\"+result\njava.log(result)\nresult = \"<video src=\\\"\" + result + \"\\\" width=\\\"100%\\\" height=\\\"280px\\\" controls=\\\"controls\\\" ></video>\"; result = \"<html><head><meta charset=\\\"utf-8\\\"><meta name=\\\"viewport\\\" content=\\\"width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no\\\" /><style>html,body{margin:0;padding:0;width:100%;}</style></head><body>\" +result + \"</body></html>\"\n</js>\n##https://ylnse.d337799.xyz/https://ppp.downloadxx.com/assets##https://jteu0.vcll22.xyz/v<js>##.mp4##/index.m3u8</js>",
    "ruleImage": "img@alt\n<js>\nresult=result.replace('/image/','')\nresult='https://29jo1.pcll11.xyz/'+result\n</js>",
    "ruleLink": "tag.a@href",
    "ruleNextPage": "page",
    "rulePubDate": "",
    "ruleTitle": "tag.p.0@text##点击支持本站发展",
    "singleUrl": false,
    "sortUrl": "首页::https://jcsgq.xyz/\n高清无码::https://jcsgq.xyz/html/other/index_21_{{page}}.html\n无码::https://jcsgq.xyz/sousuo/index.php?title=-无码-",
    "sourceComment": "恆制作=我也不会补补修修就那样了\n\n补充分类规则",
    "sourceGroup": "R18",
    "sourceIcon": "https://img1.baidu.com/it/u=3262300751,2192213310&fm=253&fmt=auto&app=138&f=JPEG?w=889&h=500",
    "sourceName": "蔡萝莉",
    "sourceUrl": "https://jcsgq.xyz/",
    "style": ""
  },
  {
    "articleStyle": 1,
    "customOrder": 81,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "ul@li",
    "ruleContent": "<p style=\"text-align:center\"><strong>{{@@h1.1@text}}</strong>\n</p>\n<iframe src=\"https://8xq1r2.com:8443/v/{{@@id.fullVideoURL@text}}\" width=\"100%\" height=\"285px\" scrolling=\"no\" border=\"0\" frameborder=\"no\" framespacing=\"0\" allowfullscreen=\"true\">\n</iframe> ",
    "ruleImage": "img@data-src",
    "ruleLink": "a.0@href",
    "ruleNextPage": "text.下页@href",
    "ruleTitle": "p@text",
    "singleUrl": false,
    "sortUrl": "大陸::https://8xqf.buzz/categories/大陆/\n日韓::https://8xqf.buzz/categories/日韩/\n歐美::https://8xqf.buzz/categories/欧美/\n三級::https://8xqf.buzz/categories/三级/\n動畫::https://8xqf.buzz/categories/动画/\n上传::https://8xvp.buzz/wangyoushangchuan/\nswag::https://8xvp.buzz/swag/\n剪辑::https://8xvp.buzz/avjianji/\n中字::https://8xvp.buzz/zhongwenzimu/",
    "sourceGroup": "R18",
    "sourceIcon": "https://i.postimg.cc/3NHQTJpJ/1658938308728.png",
    "sourceName": "八视频",
    "sourceUrl": "https://8xuy.buzz/video/"
  },
  {
    "articleStyle": 0,
    "customOrder": 81,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "$.data.items[?(!(@.imgsrc == ''))]",
    "ruleContent": "\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no\">\n<br>\n<h3>{{$..message}}(暂时)</h3>\n<h3>{{$..title}}</h3>\n<h6>\n\t<a href=\"{{$..shareLink}}\">{{$..source}}</a>\n\t<i>{{$..ptime}}</i>\n</h6>\n<div id=\"body\"></div>\n\n\n\n<script>\nvar body = '{{$..body##'##\"}}';\nvar imgs = {{java.getString(\"$.data..img\").length() > 0 ? java.getString(\"$.data..img\"):\"[]\"}}\nvar videos = {{java.getString(\"$..video\").length() > 0 ? java.getString(\"$..video\"):\"[]\"}}\n\nfunction render(template, imgs,videos) {\nreturn template.replace(/\\<\\!\\-\\-IMG#(.*?)\\-\\-\\>/g, (match, key) => \"<img src=\\\"\"+imgs[key].src + \"\\\">\").replace(/\\<\\!\\-\\-VIDEO#(.*?)\\-\\-\\>/g, (match, key) => \"<video controls><source src=\\\"\" + videos[key].url_mp4 + \"\\\"type=\\\"video/mp4\\\"></video>\");\n}\n\n\ndocument.getElementById('body').outerHTML = render(body,imgs,videos)\n</script>",
    "ruleImage": "$.imgsrc",
    "ruleLink": "{{java.getString(\"TAG\").length() < 0 ? \"/nc/api/v2/article/preload/\"+java.getString(\"$.postid\")+\"/full\" :  \"/nc/api/v2/article/\"+java.getString(\"$.postid\")+\"/full\" }}",
    "ruleNextPage": "page",
    "rulePubDate": "$.mtime",
    "ruleTitle": "$.title",
    "singleUrl": false,
    "sortUrl": "轻松::/nc/api/v1/feed/static/normal-list?start={{(page-1)*20}}&tid=T1350383429665&size=20",
    "sourceGroup": "💠 其他,R18",
    "sourceIcon": "http://cms-bucket.ws.126.net/2022/0419/6778ac9cj00ral2om001zc000ij00ijc.jpg",
    "sourceName": "轻松一刻",
    "sourceUrl": "https://gw.m.163.com"
  },
  {
    "articleStyle": 0,
    "customOrder": 82,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "{\n    'User-Agent': 'Mozilla/5.0 (Linux; Android 11; Pixel 3 XL Build/RQ3A.211001.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/102.0.4988.0 Mobile Safari/537.36 SearchCraft/3.9.2 (Baidu; P1 11) '\n}",
    "injectJs": "const styleDom=document.createElement('style')\r\nstyleDom.innerHTML=`\r\n.pinyinContson{ clear:both; overflow:hidden; margin-top:10px;}\r\n.pinyinContson span{ line-height:100%; width:39px;text-align:center;display:inline-block;}\r\n.pinyinContson .pinyin{ clear:both; line-height:160%; font-size:12px;font-weight:normal;float:left; width:36px;}\r\n.pinyinContson .hanzi{clear:both; margin-bottom:10px;  text-align:center;float:left; font-size:20px; height:36px; width:36px; line-height:36px; text-align:center;  background:url(https://ziyuan.guwendao.net//dict/imgs/bigImgbk2.png) no-repeat 2px; background-size:32px 32px;font-family:KaiTi;}\r\n.contson{ clear:both; overflow:hidden;}\r\n.contson .hr{ height:15px; margin-top:15px; overflow:hidden; border-top:1px solid #DAD9D1;}\r\n.sourceimg{height:auto; clear:both; margin-top:30px; text-align:center; color:#999999; margin-bottom: 25px;}\r\n.sourceimg a{color:#999999;font-size:14px;}\r\n.contyishang{ height:auto; clear:both; margin-top:10px; font-size:14px; margin-left:20px; margin-right:20px; line-height:200%;}\r\n.contyishang p{ margin-bottom:10px; line-height:200%;}\r\n.contyishang a{ font-size:14px;  padding-left:0px; color:#19537D; line-height:200%; text-decoration:underline;}\r\n.contyishang span{ line-height:200%;}\r\n.contyishang .contson{ clear:both; overflow:hidden;}\r\n.source{display: flex;align-items: center;}\r\n.source img{ float:left; width:25px; height:25px;-moz-border-radius:15px;-webkit-border-radius:15px;border-radius:15px; margin-right:10px;}\r\n.source a{font-size:12px; color:#65645F;line-height:27px;}\r\n.source span{ color:#65645F;font-size:12px;}\r\n`\ndocument.getElementsByTagName('head')[0].appendChild(styleDom)\r\nfunction shangxiShow(id, idjm, shiid) {window.location.href=`https://so.gushiwen.cn/nocdn/ajaxshangxi.aspx?id=${idjm}`}\r\nfunction fanyiShow(id, idjm, shiid) {window.location.href=`https://so.gushiwen.cn/nocdn/ajaxfanyi.aspx?id=${idjm}`  }\r\nfunction ziliaoShow2020(id, authorid) {window.location.href=`https://so.gushiwen.cn/authors/ajaxziliao.aspx?id=${id}`}\r\nfunction OnYiwen(id, idjm) {window.location.href = `https://so.gushiwen.cn/nocdn/ajaxshiwencont230427.aspx?id=${idjm}&value=yi`}\r\nfunction OnZhushi(id, idjm) {window.location.href = `https://so.gushiwen.cn/nocdn/ajaxshiwencont230427.aspx?id=${idjm}&value=yizhu`}\r\nfunction OnShangxi(id, idjm) {window.location.href = `https://so.gushiwen.cn/nocdn/ajaxshiwencont230427.aspx?id=${idjm}&value=yizhushang`}\r\nfunction OnYiwen230427(id, idjm) {window.location.href = `https://so.gushiwen.cn/nocdn/ajaxshiwencont230427.aspx?id=${idjm}&value=yi`}\r\nfunction OnZhushi230427(id, idjm) {window.location.href = `https://so.gushiwen.cn/nocdn/ajaxshiwencont230427.aspx?id=${idjm}&value=yizhu`}\r\nfunction OnShangxi230427(id, idjm) {window.location.href = `https://so.gushiwen.cn/nocdn/ajaxshiwencont230427.aspx?id=${idjm}&value=yizhushang`}\r\nfunction OnPinyin230427(id, idjm) {window.location.href = `https://so.gushiwen.cn/nocdn/ajaxshiwencont230427.aspx?id=${idjm}&value=yin`}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sortUrl": "",
    "sourceGroup": "📖 阅读,R18",
    "sourceIcon": "https://ts2.cn.mm.bing.net/th?id=ODLS.0fb30a7c-5c0c-461f-a214-20ac5d3cd0b4&w=32&h=32&qlt=91&pcl=fffffa&o=6&pid=1.2",
    "sourceName": "古诗文网",
    "sourceUrl": "https://www.gushiwen.cn/"
  },
  {
    "articleStyle": 2,
    "customOrder": 83,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.row-gallery@a",
    "ruleContent": "@js:\na=java.getElements(\"gallery-thumbnails\").toString()\nb=a.match(/total=\"\\d+\"/)[0].match(/\\d+/)[0]\nc=a.match(/id=\"\\d+\"/)[0].match(/\\d+/)[0]\nb=Number(b)\nd=\"\"\nfor(i=1;i<=b;i++){\n\td=d+'<img src=\"https://cdn.pururin.to/assets/images/data/'+c+'/'+i+'.jpg\">'\n\t}\nd",
    "ruleImage": "img@data-src",
    "ruleLink": "a@href",
    "ruleNextPage": "class.pagination flex-wrap@li.-1@a@href",
    "ruleTitle": "h2@text",
    "singleUrl": false,
    "sortUrl": "首页::https://pururin.to/\nNewest::https://pururin.to\nMost Popular::https://pururin.to/browse/most-popular\nHighest Rated::https://pururin.to/browse/highest-rated\nMost Viewed::https://pururin.to/browse/most-viewed\nTitle::https://pururin.to/browse/title\nRandom::https://pururin.to/browse/random",
    "sourceComment": "",
    "sourceGroup": "R18",
    "sourceIcon": "https://i.postimg.cc/wxQpYXF9/1660809059840.png",
    "sourceName": "pu漫画",
    "sourceUrl": "https://pururin.to/"
  },
  {
    "articleStyle": 0,
    "customOrder": 83,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "{\n    'User-Agent': 'Mozilla/5.0 (Linux; Android 11; Pixel 3 XL Build/RQ3A.211001.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/102.0.4988.0 Mobile Safari/537.36 SearchCraft/3.9.2 (Baidu; P1 11) '\n}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sortUrl": "",
    "sourceGroup": "⚙️ 工具,R18",
    "sourceIcon": "http://sy.legado1.top/sy.php/cfd2b470188567c06d8fb75bd7454de7.png",
    "sourceName": "坚果云",
    "sourceUrl": "https://www.jianguoyun.com/#/home"
  },
  {
    "articleStyle": 0,
    "customOrder": 84,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "💠 其他,R18",
    "sourceIcon": "https://www.jigdh.com/static/images/index/jiguang.svg",
    "sourceName": "极光导航",
    "sourceUrl": "https://www.jigdh.com/"
  },
  {
    "articleStyle": 0,
    "customOrder": 85,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.post-item@tag.h3",
    "ruleContent": "<!DOCTYPE html>\n<html lang=\"zh\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>{{@class.post-title@h2@text}}</title>\n    <style>\n        body {\n            font-family: Arial, sans-serif;\n            background-color: #f0f0f0;\n            padding: 20px;\n        }\n        .card {\n            background-color: white;\n            border-radius: 10px;\n            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);\n            padding: 20px;\n            max-width: 500px;\n            margin: 0 auto;\n        }\n        h1 {\n            text-align: center;\n            color: #333;\n        }\n        p {\n            line-height: 1.5;\n            color: #666;\n        }\n    </style>\n</head>\n<body>\n    <div class=\"card\">\n    {{@tag.strong@p@html}}\n    </div>\n</body>\n</html>",
    "ruleDescription": "@class.category@text",
    "ruleLink": "@a@href",
    "ruleNextPage": "page",
    "ruleTitle": "@text",
    "singleUrl": false,
    "sourceGroup": "📖 阅读,R18",
    "sourceIcon": "https://yyjingyan.com/usr/themes/Single-master/img/ip_card.jpg",
    "sourceName": "有用经验",
    "sourceUrl": "https://yyjingyan.com/index.php/page/{{page}}",
    "style": ""
  },
  {
    "articleStyle": 0,
    "customOrder": 86,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": " {\n\"User-Agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.135 Safari/537.36\"\n}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginUi": "",
    "loginUrl": "",
    "ruleArticles": "tag.article",
    "ruleContent": "@js:\nvar title = java.getElements(\".entry-title\");\n\nvar content = java.getElements(\".entry-content\");\n\nvar date = java.getElements(\".wpd-comment-date\");\n\nvar  text = java.getElements(\".wpd-comment-text\");\n\nvar author = java.getElements(\".wpd-comment-author\")\nvar list = [];\nfor(var i = 0;i < author.size();i++){\nlist[i] ='<p><a id = \"author\">'+author.get(i).text()+'</a><br><br><a id = \"text\">'+text.get(i).text()+'</a><br><br><a id = \"date\">'+date.get(i).text()+'</a><hr>'\n}\nvar clean = (content+list.join(\" \")).replace(/(\\<button.*\\】)|(\\<pre\\>\\<a.*pre\\>)/g,\"\");\n\nvar convert = clean.replace(/\\<pre\\>/g, \"\\<a id=\\\"convert\\\"\\>\").replace(/\\<\\/pre\\>/g,\"\\<\\/a\\>\")\n\nresult = title+convert",
    "ruleImage": "class.entry-content@tag.img@src",
    "ruleLink": "class.entry-title@tag.a.0@href",
    "ruleNextPage": "page",
    "rulePubDate": "@js:\nfunction myFormat(str) {\nvar d = new Date(str);\nvar weeks = d.getFullYear() + '/' + (d.getMonth() + 1) + '/' + d.getDate() + '  ' + d.getHours() + ':' + d.getMinutes() + ':' + d.getSeconds();\n\nreturn weeks\n}\nvar time = \"{{@@class.entry-date@datetime}}\";\n\nvar author = \"{{@@class.author@tag.a@text}}\"\nresult = myFormat(time)+'           '+author\n",
    "ruleTitle": "class.entry-title@tag.a.0@text",
    "singleUrl": false,
    "sortUrl": "搜索::https://www.hacg.mom/wp/page\\/{{page}}?s={{source.getVariable()}}\n文章::https://www.hacg.mom/wp/age.html/page\\/{{page}}\n动画::https://www.hacg.mom/wp/anime.html/page\\/{{page}}\n漫画::https://www.hacg.mom/wp/comic.html/page\\/{{page}}\n游戏::https://www.hacg.mom/wp/game.html/page\\/{{page}}\n其他::https://www.hacg.mom/wp/book.html/page\\/{{page}}",
    "sourceComment": "",
    "sourceGroup": "🔞 18禁,R18",
    "sourceIcon": "https://s3.ax1x.com/2020/11/19/DnHXhq.png",
    "sourceName": "琉璃神社",
    "sourceUrl": "https://www.hacg.mom/wp/",
    "style": ".entry-title {\nfont-size:15;\nword-break:break-all;\ncolor:white;\ntext-align:center\n}\n\n\np {\nfont-size:12;\nword-break:break-all;\ncolor:#BBBBBB;\n}\n\n#date {\nfont-size:10;\ncolor:#BBBBBB;\n}\n\n#text {\nfont-size:10;\ncolor:#BBBBBB;\nword-break:break-all;\n}\n\n#author {\nfont-size:12;\nfont-weight: bold;\ncolor:#00ADFF;\n}\n\n#convert{\nfont-size:12;\ncolor:#BBBBBB;\nword-break:break-all;\n}\n\nhr{\nwidth:100%;\nheight:1px;\nmargin:0 auto;\nborder:0;\nbackground: #333;\nbackground-image: linear-gradient(to right, #ccc, #333, #ccc); \n}\n\nimg {\nwidth:100%;\nheight:auto;\nborder:solid;\n}\n\nbody {\nbackground:#0F0F0F;\n}\n\nh2 {\ncolor:#BBBBBB;\n}\n\nul {\ncolor:#BBBBBB;\n}\n"
  },
  {
    "articleStyle": 0,
    "concurrentRate": "",
    "customOrder": 87,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "$.list",
    "ruleContent": "",
    "ruleDescription": "<!doctype html>\r\n<html>\r\n<head>\r\n    <meta charset=\"UTF-8\">\r\n    <title>{{$.vod_name||art_name}}</title>\r\n    <link rel=\"stylesheet\" href=\"https://cdn.jsdelivr.net/npm/dplayer/dist/DPlayer.min.css\">\r\n</head>\r\n<body>\r\n    <div id=\"dplayer\"></div>\r\n\t<p>{{$.vod_name||art_name}}</p>\r\n    <script src=\"https://cdn.jsdelivr.net/npm/dplayer/dist/DPlayer.min.js\"></script>\r\n    <script>\r\n        const dp = new DPlayer({\r\n            container: document.getElementById('dplayer'),\r\n            video: {\r\n                url: '{{$.vod_play_url##.*?\\$(.*?m3u8).*##$1}}',\r\n                pic: '{{$.vod_pic}}',\r\n                type: 'auto'\r\n            }\r\n        });\r\n\r\n        let startTimer;\r\n        let endTimer;\r\n        let timer;\r\n        let speed = 1;\r\n\r\n        const videoElement = dp.video;\r\n        const videoContainer = videoElement.parentNode;\r\n\r\n        videoContainer.addEventListener('touchstart', startHandler);\r\n        videoContainer.addEventListener('touchend', endHandler);\r\n        videoElement.addEventListener('dblclick', doubleClickHandler);\r\n\r\n        function doubleClickHandler() {\r\n            const duration = videoElement.duration;\r\n            const currentTime = videoElement.currentTime;\r\n            const newTime = currentTime + 30;\r\n\r\n            if (newTime < duration) {\r\n                videoElement.currentTime = newTime;\r\n            } else {\r\n                videoElement.currentTime = duration;\r\n            }\r\n        }\r\n\r\n        function startHandler(event) {\r\n            event.preventDefault();\r\n            startTimer = new Date().getTime();\r\n            timer = setTimeout(checkLongPress, 500);\r\n        }\r\n\r\n        function endHandler(event) {\r\n            event.preventDefault();\r\n            endTimer = new Date().getTime();\r\n\r\n            if ((endTimer - startTimer) < 500) {\r\n                if (speed === 1) {\r\n                    speed = 2;\r\n                } else {\r\n                    speed = 1;\r\n                }\r\n                videoElement.playbackRate = speed;\r\n            }\r\n\r\n            clearTimeout(timer);\r\n        }\r\n\r\n        function checkLongPress() {\r\n            if (timer) {\r\n                speed = 2;\r\n                videoElement.playbackRate = speed;\r\n            }\r\n        }\r\n\r\n        let currentPosition;\r\n        let startPosition;\r\n\r\n        videoContainer.addEventListener('touchstart', function (e) {\r\n            startPosition = e.changedTouches[0].pageX;\r\n            currentPosition = startPosition;\r\n        });\r\n\r\n        videoContainer.addEventListener('touchmove', function (e) {\r\n            e.preventDefault();\r\n            currentPosition = e.changedTouches[0].pageX;\r\n        });\r\n\r\n        videoContainer.addEventListener('touchend', function (e) {\r\n            const time = (currentPosition - startPosition) * 0.05;\r\n            videoElement.currentTime += time;\r\n        });\r\n</script>\r\n</body>\r\n</html>",
    "ruleImage": "$.vod_pic||$.art_pic##https://www.siwapic.com##https://img.siwazywimg.com:5278",
    "ruleLink": "https://help.siwazywcdn2.com:5278/m3u8.php?url={{$.vod_play_url##.*?\\$(.*?m3u8).*##$1}}{{$.art_id}}",
    "ruleNextPage": "page",
    "rulePubDate": "$.vod_time||$.art_time",
    "ruleTitle": "$.vod_name||$.art_name",
    "singleUrl": false,
    "sortUrl": "\n亚洲无码::https://siwazyw.cc/api.php/provide/vod/at/json/?ac=detail&t=1&pg={{page}}\n2亚洲有码::https://siwazyw.cc/api.php/provide/vod/at/json/?ac=detail&t=2&pg={{page}}\n3欧美情色::https://siwazyw.cc/api.php/provide/vod/at/json/?ac=detail&t=3&pg={{page}}\n4中文字幕::https://siwazyw.cc/api.php/provide/vod/at/json/?ac=detail&t=4&pg={{page}}\n5动漫卡通::https://siwazyw.cc/api.php/provide/vod/at/json/?ac=detail&t=5&pg={{page}}\n20美女主播::https://siwazyw.cc/api.php/provide/vod/at/json/?ac=detail&t=20&pg={{page}}\n21人妻熟女::https://siwazyw.cc/api.php/provide/vod/at/json/?ac=detail&t=21&pg={{page}}\n22强奸乱伦::https://siwazyw.cc/api.php/provide/vod/at/json/?ac=detail&t=22&pg={{page}}\n23日韩伦理::https://siwazyw.cc/api.php/provide/vod/at/json/?ac=detail&t=23&pg={{page}}\n24国产自拍::https://siwazyw.cc/api.php/provide/vod/at/json/?ac=detail&t=24&pg={{page}}\n\n37精选口爆::https://siwazyw.cc/api.php/provide/vod/at/json/?ac=detail&t=37&pg={{page}}\n38同性同志::https://siwazyw.cc/api.php/provide/vod/at/json/?ac=detail&t=38&pg={{page}}\n39重口味::https://siwazyw.cc/api.php/provide/vod/at/json/?ac=detail&t=39&pg={{page}}\n\n46韩国主播::https://siwazyw.cc/api.php/provide/vod/at/json/?ac=detail&t=46&pg={{page}}\n47JAV 4K::https://siwazyw.cc/api.php/provide/vod/at/json/?ac=detail&t=47&pg={{page}}\n4891大神::https://siwazyw.cc/api.php/provide/vod/at/json/?ac=detail&t=48&pg={{page}}\n49网红福利::https://siwazyw.cc/api.php/provide/vod/at/json/?ac=detail&t=49&pg={{page}}\n50国外热门资源::https://siwazyw.cc/api.php/provide/vod/at/json/?ac=detail&t=50&pg={{page}}\n52Pornhub欧美资源::https://siwazyw.cc/api.php/provide/vod/at/json/?ac=detail&t=52&pg={{page}}\n53Pornhub亚洲资源::https://siwazyw.cc/api.php/provide/vod/at/json/?ac=detail&t=53&pg={{page}}\r\n\n",
    "sourceComment": "",
    "sourceGroup": "🔞 18禁,R18",
    "sourceIcon": "https://img0.baidu.com/it/u=3463526531,2337093999&fm=253&fmt=auto&app=138&f=JPEG?w=889&h=500",
    "sourceName": "模板",
    "sourceUrl": "https://siwazyw.cc/api.php/provide/vod/at/json/?ac=detail&t=1&pg={{page}}",
    "style": "video {\n    max-width: 100%;\n    height: auto;\n}\nvideo::-webkit-media-controls {\r\n  /* 不隐藏控制条 */\r\n  opacity: 1;\r\n}"
  },
  {
    "articleStyle": 2,
    "customOrder": 87,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.listpic||class.newslist textlist@ul",
    "ruleContent": "{{@@video@html}}\n{{@@class.nbodys@img@html}}\n{{@@class.newsbody@class.nbodys@textNodes}}",
    "ruleImage": "a@tag.div@data-original",
    "ruleLink": "a@href",
    "ruleNextPage": "page",
    "rulePubDate": "class.time@text",
    "ruleTitle": "class.vodname@text||class.name@text",
    "singleUrl": false,
    "sortUrl": "成人动漫::https://z52zjjttfsfi.xyz:52888/home/piclist/7/832-{{page}}.html\n精品图集::https://z52zjjttfsfi.xyz:52888/home/piclist/7/828-{{page}}.html\n欧美风情::https://z52zjjttfsfi.xyz:52888/home/piclist/7/829-{{page}}.html\n亚洲情色::https://z52zjjttfsfi.xyz:52888/home/piclist/7/830-{{page}}.html\n性爱自拍::https://z52zjjttfsfi.xyz:52888/home/piclist/7/831-{{page}}.html\n美腿丝袜::https://z52zjjttfsfi.xyz:52888/home/piclist/7/833-{{page}}.html\n唯美写真::https://z52zjjttfsfi.xyz:52888/home/piclist/7/834-{{page}}.html\n人体艺术::https://z52zjjttfsfi.xyz:52888/home/piclist/7/835-{{page}}.html\n\n\n都市情感::https://z52zjjttfsfi.xyz:52888/home/textlist/7/836-{{page}}.html\n人妻熟女::https://z52zjjttfsfi.xyz:52888/home/textlist/7/837-{{page}}.html\n玄幻武侠::https://z52zjjttfsfi.xyz:52888/home/textlist/7/838-{{page}}.html\n另类其它::https://z52zjjttfsfi.xyz:52888/home/textlist/7/839-{{page}}.html\n明星校园::https://z52zjjttfsfi.xyz:52888/home/textlist/7/840-{{page}}.html\n家庭乱伦::https://z52zjjttfsfi.xyz:52888/home/textlist/7/841-{{page}}.html\n成人小说::https://z52zjjttfsfi.xyz:52888/home/textlist/7/842-{{page}}.html\n暴力虐待::https://z52zjjttfsfi.xyz:52888/home/textlist/7/843-{{page}}.html\n\n日韩无码::https://z52zjjttfsfi.xyz:52888/home/vodlist/7/721-{{page}}.html\n欧美无码::https://z52zjjttfsfi.xyz:52888/home/vodlist/7/722-{{page}}.html\n中文字幕::https://z52zjjttfsfi.xyz:52888//home/vodlist/7/723-{{page}}.html\n日韩有码::https://z52zjjttfsfi.xyz:52888//home/vodlist/7/724-{{page}}.html\n国产自拍::https://z52zjjttfsfi.xyz:52888//home/vodlist/7/725-{{page}}.html\n国产偷拍::https://z52zjjttfsfi.xyz:52888//home/vodlist/7/726-{{page}}.html\n卡通动漫::https://z52zjjttfsfi.xyz:52888//home/vodlist/7/727-{{page}}.html\n三级剧情::https://z52zjjttfsfi.xyz:52888//home/vodlist/7/728-{{page}}.html",
    "sourceComment": "记住该网页，防止丢失：cmcm05.com",
    "sourceGroup": "R18",
    "sourceIcon": "https://pic1.hmpicimage.com/katong/2022/10/19/ebaef36f-39b6-454e-8651-473d04846268/001.jpg",
    "sourceName": "x52",
    "sourceUrl": "https://x52xaattemej.xyz:52888/"
  },
  {
    "articleStyle": 2,
    "customOrder": 88,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": ".posts-wrapper@article",
    "ruleContent": "script@all&&.entry-content@all",
    "ruleImage": ".placeholder@img@data-src",
    "ruleLink": ".entry-title@a@href",
    "ruleNextPage": "page",
    "rulePubDate": "🕓{{@@.meta-date@time@text}}    [{{@@.meta-price@text}}]",
    "ruleTitle": ".entry-title@text",
    "singleUrl": false,
    "sortUrl": "搜索::https://www.nicesss.com/?s=%E5%B0%8F%E6%B5%B7%E8%87%80\n秀人::https://www.nicesss.com/xr/page/{{page}}\n秘境::https://www.nicesss.com/mij/page/{{page}}\n丝真::https://www.nicesss.com/siz/page/{{page}}\n热帖::https://www.nicesss.com/rez/page/{{page}}\n私影::https://www.nicesss.com/%e7%a7%81%e5%bd%b1/page/{{page}}\nCoser::https://www.nicesss.com/cosplya/page/{{page}}",
    "sourceGroup": "🔞 18禁,R18",
    "sourceIcon": "https://www.nicesss.com/wp-content/themes/ripro/assets/images/favicon/favicon.png",
    "sourceName": "哟糖社",
    "sourceUrl": "https://www.nicesss.com/"
  },
  {
    "articleStyle": 0,
    "customOrder": 88,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "🎞️ 影视,R18",
    "sourceIcon": "https://ps.ssl.qhmsg.com/t02f91aae775d10f2a8.jpg",
    "sourceName": "8号影院",
    "sourceUrl": "http://www.8hyyw.com"
  },
  {
    "articleStyle": 0,
    "customOrder": 89,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\n    'User-Agent': 'Mozilla/5.0 (Linux; Android 11; Pixel 3 XL Build/RQ3A.211001.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/102.0.4988.0 Mobile Safari/537.36 SearchCraft/3.9.2 (Baidu; P1 11) '\n}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "<js>\njson=[];\nif(baseUrl.match(/★/)){\nlist=baseUrl.replace(/http.*?wd=\\s*/,'').split('★');\nfor(i in list){\nhref=list[i].match(/【(.*?)】/)[1];\ntext=list[i].match(/《(.*?)》/)[1];\nintro=list[i].match(/◎(.*?)◎/)[1];\nindex=list[i].match(/^(\\d+、\\d+、)/)?list[i].match(/^(\\d+、\\d+、)/)[1]:list[i].match(/^(.*?)【/)[1]\njson.push({text:text,src:href,intro:intro,index:index})\n}\n}\nJSON.stringify(json)</js>\n$.[*]",
    "ruleImage": "$.src",
    "ruleLink": "$.index",
    "rulePubDate": "$.intro",
    "ruleTitle": "$.text",
    "singleUrl": false,
    "sortUrl": "📰 日报::https://tophub.today/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/jrrb.png?ref=master】《今日热榜》◎各站热榜聚合◎★https://s.weibo.com/top/summary【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/wbrs.png?ref=master】《微博热搜》◎最新鲜·最热门·最有料◎★http://top.baidu.com/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/bdrs.png?ref=master】《百度热搜》◎百度热搜各类榜单◎★https://www.zhihu.com/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/zh.png?ref=master】《知乎》◎知识分享社区◎\n\n\n🌏 新闻::http://m.people.cn/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/rmw.png?ref=master】《人民网》◎权威媒体、大众网站◎★https://m.cctv.com/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/ysw.png?ref=master】《央视网》◎中央广播电视总台◎★https://m.chinanews.com/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/zxw.png?ref=master】《中新网》◎中国新闻网◎★https://xw.qq.com/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/txw.png?ref=master】《腾讯网》◎新闻、生活、资讯等互联网媒体平台◎★https://m.toutiao.com/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/jrtt.png?ref=master】《今日头条》◎通用信息平台◎★https://m.thepaper.cn/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/ppxw.png?ref=master】《澎湃新闻》◎问答式新闻与新闻追踪◎★https://m.jiemian.com/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/jmxw.png?ref=master】《界面新闻》◎中产阶级的新闻及商业社交平台◎★https://sina.cn/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/xlw.png?ref=master】《新浪网》◎24小时及时新闻◎★https://3g.163.com/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/wy.png?ref=master】《网易》◎中国领先的互联网技术公司◎★http://www.gov.cn/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/gwy.png?ref=master】《国务院》◎中央人民政府门户网站◎★https://m.guancha.cn/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/gcz.png?ref=master】《观察者》◎中西文化交流平台◎★https://www.huanqiu.com/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/hqw.png?ref=master】《环球网》◎中国领先的国际资讯门户◎★https://www.un.org/zh/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/lhg.png?ref=master】《联合国》◎健康地球上的和平、尊严与平等◎\n\n\n🎶 音乐::https://www.tosound.com/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/ts.png?ref=master】《淘声》◎全球免费声音素材聚合平台◎★http://www.xmsj.org/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/yyssq.png?ref=master】《音乐搜索器》◎多站合一音乐搜索，音乐在线试听◎★https://bgmcat.com/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/bgmm.png?ref=master】《BGM猫》◎视频配乐、片头音乐◎★https://hali.life:82/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/yyjs.png?ref=master】《音乐解锁》◎解锁已购的加密音乐◎★http://www.waasaa.com/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/wsw.png?ref=master】《挖沙网》◎挖沙，放肆幻听◎★http://www.ningmeng.name/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/sfg.png?ref=master】《私房歌》◎民谣，独立◎★https://ifish.fun/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/ysyy.png?ref=master】《洛奇Town》◎鱼声音乐精选◎★http://www.misshcl.com/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/ysxj.png?ref=master】《盐酸小姐》◎没有人像我一样◎★https://m.9ku.com/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/jkyy.png?ref=master】《九酷音乐》◎流行歌曲大全◎★http://m.htqyy.com/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/htqyy.png?ref=master】《好听轻音乐》◎轻音乐交流平台◎★http://www.tyqyyw.com/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/tyqyy.png?ref=master】《田园轻音乐》◎轻音乐分享网站◎★http://www.52qingyin.cn/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/qylw.png?ref=master】《清音陋屋》◎优美纯音乐精美散文分享网站◎\n\n\n🛰 直播::https://livechina.cctv.com/index.shtml【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/zbzg.png?ref=master】《直播中国》◎展现美丽中国◎★http://tv.cctv.com/m/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/yszb.png?ref=master】《央视直播》◎中央广播电视总台◎★https://m.kankanzhibo.com/pindaodaquan/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/kkzb.png?ref=master】《看看直播》◎电视台直播、NBA录像回放◎★https://m.huya.com/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/hyzb.png?ref=master】《虎牙直播》◎弹幕式互动直播平台◎★https://m.douyu.com/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/dyzb.png?ref=master】《斗鱼直播》◎每个人的直播平台◎★https://wap.yy.com/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/yyzb.png?ref=master】《ＹＹ直播》◎全民娱乐的互动直播平台◎★https://live.douyin.com/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/dy.png?ref=master】《抖音直播》◎人气火爆的抖音直播间大全◎\n\n\n📻 音频::https://podtown.xyz/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/bkxz.png?ref=master】《播客小镇》◎播客节目聚合◎★http://diantaiwang.com/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/dtw.png?ref=master】《广播电台》◎电台之家提供电台网址电台节目查询◎★https://sao.fm/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/safm.png?ref=master】《思奥FM》◎网络收音机◎★http://m.cnr.cn/#/pages/broadcast/broadcast【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/ygw.png?ref=master】《央广电台》◎中央广播电视总台◎★https://m.qtfm.cn/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/qtfm.png?ref=master】《蜻蜓FM》◎听书听小说听电台◎★https://m.lizhi.fm/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/lzfm.png?ref=master】《荔枝FM》◎广播剧听书直播◎\n\n\n📺 视频::https://m.acfun.cn/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/aczy.png?ref=master】《AC正义》◎国内首家弹幕视频网站◎★https://www.xinpianchang.com/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/xpc.png?ref=master】《新片场》◎发现全球优质视频与创作人◎★https://m.bilibili.com/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/blbl.png?ref=master】《哔哩哔哩》◎国内知名的在线视频弹幕网站◎★https://haokan.baidu.com/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/hksp.png?ref=master】《好看视频》◎海量高清短视频◎★https://m.ixigua.com/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/xgsp.png?ref=master】《西瓜视频》◎高清免费在线视频◎\n\n\n🍵 生活::https://www.jianshu.com/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/js.png?ref=master】《简书》◎优质的创作社区◎★https://m.douban.com/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/db.png?ref=master】《豆瓣》◎一个神奇的社区◎★https://zh.wikihow.com/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/wh.png?ref=master】《wikiHow》◎万事指南网站◎★http://neikuw.com/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/nkcx.png?ref=master】《内酷网》◎内酷才是真酷，追求清静寂定的心境。◎\n\n\n🎲 娱乐::http://i.jandan.net/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/jd.png?ref=master】《煎蛋》◎地球上没有新鲜事◎★https://www.zhangzs.com/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/zzs.png?ref=master】《涨姿势》◎骚年,来这里涨点姿势吧！◎★http://m.ifanjian.net/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/fjz.png?ref=master】《泛见志》◎一个有内涵的网站◎★https://www.dbbqb.com/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/dbzjsj.png?ref=master】《逗比拯救世界》◎专业的表情包搜索网站◎★https://m.soogif.com/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/soogif.png?ref=master】《SOOGIF》◎gif制作及搜索◎★https://m.hupu.com/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/hp.png?ref=master】《虎扑》◎体育、游戏等兴趣社区◎\n\n\n🎰 游媒::https://www.gcores.com/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/jh.png?ref=master】《机核GCORES》◎分享游戏玩家生活，探讨游戏相关文化。◎★http://www.chuapp.com/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/cl.png?ref=master】《触乐》◎国内最优秀的游戏媒体之一◎★https://www.yystv.cn/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/yys.png?ref=master】《游研社》◎游戏新媒体◎★http://www.nadianshi.com/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/synds.png?ref=master】《手游那点事》◎关注手机游戏运营和手机游戏推广◎★https://www.vgtime.com/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/yxsg.png?ref=master】《游戏时光》◎分享游戏乐趣◎\n\n\n📑 期刊::http://qk.demo.lifves.com/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/qkzz.png?ref=master】《电子期刊》◎初见·杂志期刊，意林、读者、故事会◎★https://m.fx361.com/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/ckw.png?ref=master】《参考网》◎过期杂志阅读平台◎★http://www.53bk.com/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/szbz.png?ref=master】《多媒体数字报纸》◎53BK数字报纸系统◎\n\n\n🗞️ 资讯::https://wap.zol.com.cn/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/zgczx.png?ref=master】《中关村在线》◎手机,电脑等科技数码的资讯和行情报价◎★https://bohaishibei.com/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/bhsb.png?ref=master】《博海拾贝》◎博海拾贝官方网站◎★https://www.yxgapp.com/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/yxg.png?ref=master】《译学馆》◎译制知识视频的平台◎★https://m.36kr.com/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/36k.png?ref=master】《36氪》◎互联网创业资讯◎★https://m.dgtle.com/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/szwb.png?ref=master】《数字尾巴》◎丰富的数码资讯◎★https://hackernews.cc/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/hkzx.png?ref=master】《黑客资讯》◎国际威胁情报、黑客动向及维基解密资讯。◎\n\n\n✏️ 设计::https://hao.uisdc.com/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/sjswzdh.png?ref=master】《设计师网站导航》◎设计师精选国内外优质网站◎★https://www.uisdc.com/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/ys.png?ref=master】《优设》◎设计师交流学习平台◎★https://huaban.com/discovery/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/hb.png?ref=master】《花瓣》◎发现网络上你喜欢的事物◎★https://m.duitang.com/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/dt.png?ref=master】《堆糖》◎美图壁纸兴趣社区◎★https://m.zhisheji.com/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/zsj.png?ref=master】《致设计》◎电商设计师交流平台◎★https://m.topys.cn/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/topys.png?ref=master】《TOPYS》◎创意内容平台◎★http://www.woshipm.com/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/rrdscpjl.png?ref=master】《人人都是产品经理》◎产品经理、产品爱好者学习交流平台◎★https://www.toodaylab.com/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/lxshsys.png?ref=master】《理想生活实验室》◎创意设计与生活消费的媒体◎\n\n\n🛰️ 科技::https://m.guokr.com/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/gk.png?ref=master】《果壳》◎泛科技主题网站◎★https://www.pingwest.com/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/pw.png?ref=master】《品玩》◎有品好玩的科技，一切与你有关！◎★https://m.huxiu.com/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/hx.png?ref=master】《虎嗅》◎商业科技资讯◎★https://sspai.com/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/ssp.png?ref=master】《少数派》◎高品质数字消费指南◎★https://m.ithome.com/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/itzj.png?ref=master】《IT之家》◎前沿科技新闻网站◎★https://www.ifanr.com/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/afe.png?ref=master】《爱范儿》◎聚焦新创和消费主题的科技媒体◎★https://m.tmtpost.com/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/tmt.png?ref=master】《钛媒体》◎全球科技财经资讯平台◎★http://m.zealer.com/【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/mt/zealer.png?ref=master】《ZEALER》◎电子产品评测网站◎",
    "sourceGroup": "一程,R18",
    "sourceIcon": "https://gitee.com/yc-sy/yd/raw/master/dy/tb/mt.png",
    "sourceName": "媒体ᴍᵀ",
    "sourceUrl": "媒体合集"
  },
  {
    "articleStyle": 1,
    "customOrder": 91,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "$.data",
    "ruleDescription": "$.content",
    "ruleImage": "@js:'{{java.getString('$.content').match(/<img.*?src=\"(.*?)\".*?>/)?java.getString('$.content').match(/<img.*?src=\"(.*?)\".*?>/)[1]:null}}'",
    "ruleLink": "$.url",
    "ruleNextPage": "page",
    "rulePubDate": "{{java.timeFormatUTC(java.getString(\"updated\")*1000,\"YYYY-MM-dd HH:mm:ss\",8)}}",
    "ruleTitle": "$.title",
    "singleUrl": false,
    "sortUrl": "https://www.zhihu.com/api/v4/columns/c_1085975047386050560/items?limit=30&offset={{(page-1)*30}}",
    "sourceComment": "1.打开浏览器，打开你要制作的知乎专栏页面，查看url，例如‘每天60秒读懂世界’的页面url为<https://www.zhihu.com/column/c_1261258401923026944>\n2.复制url后半段<c_1261258401923026944>，这是专栏的id\n3.修改知乎专栏模板订阅源\n（1）.修改上面的源url，把你复制的<c_1261258401923026944>知乎专栏id，替换进去。位置在/columns/和/items之间\n（2）.修改下面的分类url，把你复制的<c_1261258401923026944>知乎专栏id，替换进去。位置在/columns/和/items之间\n（3）.修改订阅源名称",
    "sourceGroup": "📖 阅读,R18",
    "sourceIcon": "https://picx.zhimg.com/v2-624f6eb03f71a1b045034d25185d29f4_l.jpg?source=d16d100b",
    "sourceName": "知乎每日早报",
    "sourceUrl": "https://www.zhihu.com/api/v4/columns/c_1085975047386050560/items?limit=30&offset={{(page-1)*30}}",
    "style": "/*标题相关*/\nh3{text-align:center}\nh6{margin-bottom:0}\n* {\n\tmargin: 0;\n\tpadding: 0\n}\nul {\n\tfont-size: 0;\n\theight: 100%;\n\toverflow-y: scroll\n}\nli {\n\tlist-style: none;\n\ttext-align: center\n}\nimg {\n\twidth: 100%;\n\theight: auto\n}"
  },
  {
    "articleStyle": 0,
    "customOrder": 94,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\n    'User-Agent': 'Mozilla/5.0 (Linux; Android 12; BON-AL00 Build/HUAWEIBON-AL00; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/99.0.4844.88 Mobile Safari/537.36'\n}",
    "injectJs": "//$(\"div.layui-panel\").eq(0).remove();\nsetInterval(function () {\n    $(\"div.layui-hide-md\").css(\"display\",\"none\");\n},100)",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "<js>\njson=[];\nif(baseUrl.match(/★/)){\nlist=baseUrl.replace(/http.*?wd=\\s*/,'').split('★');\nfor(i in list){\nhref=list[i].match(/【(.*?)】/)[1];\ntext=list[i].match(/《(.*?)》/)[1];\nintro=list[i].match(/◎(.*?)◎/)[1];\nindex=list[i].match(/^(\\d+、\\d+、)/)?list[i].match(/^(\\d+、\\d+、)/)[1]:list[i].match(/^(.*?)【/)[1]\njson.push({text:text,src:href,intro:intro,index:index})\n}\n}\nJSON.stringify(json)</js>\n$.[*]",
    "ruleContent": "",
    "ruleDescription": "❗️0、1、开始❗️\n<!DOCTYPE html>\n<html lang=\"zh\">\n\n<head>\n  <style>\nbody {\n  background-color: #EFF0F2;\n}\n\nh2 {\n  margin-top: 30px;\n  font-size: 30px;\n  font-weight: bold;\n  text-shadow: -2px -2px 5px #FFFFFF, 2px 2px 5px #B3B3B3;\n}\n\nbutton,\ninput {\n  background-color: #EFF0F4;\n  margin: 5px;\n  border: 0.1px solid #FFFFFF;\n  padding: 5px 10px;\n  font-size: 14px;\n  line-height: 1.4;\n  box-shadow: inset -2px -2px 5px #FFFFFF, inset 2px 2px 5px #B3B3B3;\n  border-radius: 6px;\n  transition: all 0.3s ease;\n}\n\n#A,\n#basic-addon1,\n#replaceSpan1 {\n  background-color: #EFF0F4;\n  padding: 5px;\n  border: 0.1px solid #FFFFFF;\n  box-shadow: -1px -1px 3px #FFFFFF, 1px 1px 3px #B3B3B3;\n  border-radius: 6px;\n}\n\nbutton,\ninput[type=\"button\"] {\n  outline: none;\n  height: 30px;\n  background: #EFF0F4;\n  border: 0.1px solid #FFFFFF;\n  box-shadow: -2px -2px 5px #FFFFFF, 2px 2px 5px #B3B3B3;\n  border-radius: 6px;\n}\n\nbutton:hover,\ninput[type=\"button\"]:hover {\n  border: 1px solid #FFFFFF;\n  box-shadow: inset -2px -2px 5px #FFFFFF, inset 2px 2px 5px #B3B3B3;\n  transform: scale(1);\n}\n\ntextarea {\n  background-color: #EFF0F4;\n  padding: 5px;\n  border: 2px solid #FAFAFA;\n  box-shadow: inset 2px 2px 5px #B3B3B3, inset -2px -2px 10px #FFFFFF, 1px 1px 5px #B3B3B3, -1px -1px 5px #FFFFFF;\n  border-radius: 6px;\n}\n\n#bt7,\n#bt8 {\n  width: 48.8%;\n  border-radius: 6px;\n  transition: all 0.3s ease;\n}\n\n#bt7:active,\n#bt8:active {\n  border: 1px solid #FFFFFF;\n  box-shadow: inset -2px -2px 5px #FFFFFF, inset 2px 2px 5px #B3B3B3;\n  transform: scale(1);\n}\n\nid {\n  background-color: #EFF0F4;\n  border: 0.1px solid #FFFFFF;\n  padding: 5px;\n  box-shadow: inset 1px 1px 3px #B3B3B3, inset -1px -1px 3px #FFFFFF;\n  border-radius: 12px;\n}\n\n#jhss a {\n  font-size: 10px;\n  color: red;\n  text-decoration: none;\n}\n\n#jhss p {\n  display: inline-block;\n  width: 8em;\n  margin: 0;\n  padding: 0;\n  color: #666;\n}\n\n#jhss div {\n  margin: 0;\n  padding: 10px;\n}\n\n#jhss h1 {\n  margin: 0;\n  padding: 9px;\n  font-size: 20px;\n}\n\n#jhss input {\n  margin: 2px;\n  padding: 2px 6px;\n  font-size: 1em;\n  background-color: rgba(200,200,200,0.5);\n  color: #A00;\n  border: 0;\n  border-radius: 3px;\n  text-decoration: none;\n  text-align: center;\n}\n\ntextarea {\n  width: 95%;\n}\n\n.menu {\n  justify-content: space-between;\n  max-width: 900px;\n  margin: 0 5px;\n}\n\n.button,\n.menu .button {\n  width: 55px;\n  height: 15px;\n  min-height: 5px;\n  margin: 5px 0px;\n  cursor: pointer;\n}\n\n.button text {\n  text-anchor: middle;\n  dominant-baseline: middle;\n}\n\n.button rect {\n  width: 100%;\n  height: 100%;\n  fill: transparent;\n  stroke: #666;\n  stroke-width: 2px;\n}\n\n.button rect.busy {\n  stroke: #fD1850;\n  stroke-dasharray: 30 90;\n  animation: stroker 1s linear infinite;\n}\n\n.tabbox {\n  flex: 1;\n  display: flex;\n  flex-flow: column;\n}\n\n.tabtitle {\n  display: flex;\n  z-index: 1;\n  justify-content: center;\n}\n\n.tabtitle > div {\n  cursor: pointer;\n  padding: 1px 10px 0 10px;\n  border-bottom: 3px solid transparent;\n  font-weight: bold;\n}\n\n.tabtitle > .this {\n  color: #4f9da6;\n  border-bottom-color: #4EBBE4;\n}\n\n.tabbody {\n  flex: 1;\n  display: flex;\n  margin-top: -1px;\n  border: 1px solid #A9A9A9;\n  height: 0;\n}\n\n.tabbody > * {\n  flex: 1;\n  flex-flow: column;\n  display: none;\n}\n\n.tabbody > .this {\n  display: flex;\n}\n\n.tabbody > * > .titlebar {\n  display: flex;\n}\n\n.tabbody > * > .titlebar > * {\n  flex: 1;\n  margin: 1px;\n}\n\n.tabbody > * > .context {\n  flex: 1;\n  flex-flow: column;\n  border: 0;\n  padding: 5px;\n  overflow-y: auto;\n}\n\n.tabbody > * > .inputbox {\n  border: 0;\n  border-bottom: #A9A9A9 solid 1px;\n  height: 15px;\n  text-align: center;\n}\n\n.link > * {\n  display: flex;\n  margin: 5px;\n  border-bottom: 1px solid;\n  text-decoration: none;\n}\n\n#RuleList > label > * {\n  background: #eee;\n  padding-left: 3px;\n  margin: 2px 0;\n  cursor: pointer;\n}\n\n#RuleList input[type=radio] {\n  display: none;\n}\n\n#RuleList input[type=\"radio\"]:checked + * {\n  background: #15a;\n}\n\n.isError {\n  color: #FF0000;\n}\n\n#RuleJsonString {\n  height: 600px;\n}\n\nsvg text {\n  font-size: 10px;\n}\n  </style>\n</head>\n\n<body>\n  <div class=\"center\">\n    <!-- 链接示例 -->\n    <div style=\"margin: 10px 0px 30px 0px; font-size: 15px; text-align: center;\">\n    <a href=\"https://www.xuhuhu.com/beautify/urlencode/\" id=\"A\">URL 解码</a>\n    <a href=\"http://5ujq.com/\" id=\"A\">简繁转换</a>\n    <a href=\"https://neumorphism.io/\" id=\"A\">CSS代码生成器</a></div>\n    <div class=\"center\"><center>\n    <h2> 美化发现 </h2>\n   </center>\n  </div>\n    <!-- 输入框 -->\n    <textarea rows=\"10\" id=\"input\" onfocus=\"di()\" placeholder=\"格式化发现请输入带 html 标签的发现内容\"></textarea>\n    <span class=\"center\">\n    <br> 发现转换 </br> </span>\n    <!-- 按钮 -->\n    <button onclick=\"getInput1(); dis()\" id=\"bt1\">格式化发现</button>\n    <button onclick=\"getInput2(); dis()\" id=\"bt2\">发现格式互转</button>\n    <span class=\"center\">\n    <br> 发现排版 </br> </span>\n    <!-- 不同排版的按钮 -->\n    <button onclick=\"getInput3(1);\" id=\"bt3\">一行四组</button>\n    <button onclick=\"getInput3(2);\" id=\"bt4\">一行三组</button>\n    <button onclick=\"getInput3(3);\" id=\"bt5\">一行两组</button>\n    <button onclick=\"getInput3(4);\" id=\"bt6\">一行一组</button>\n    <button onclick=\"getInput3(5);\" id=\"bt7\">排版必选项</button>\n    <span class=\"center\">\n    <br> 复制结果 </br> </span>\n    <!-- 复制结果的按钮 -->\n    <button onclick=\"copyText()\" id=\"bt8\">一键复制</button>\n    <p></p>\n    <div class=\"center\"><center>\n    <h2> 正则表达式匹配替换 </h2>\n   </center>\n  </div>\n    <!-- 输入框 -->\n    <div class=\"form-group\">\n      <div class=\"col-sm-12\">\n        <textarea class=\"form-control\" onmouseover=\"this.focus();\" id=\"textSour\" name=\"textSour\" rows=\"10\"\n          placeholder=\"请输入要验证的文本\"></textarea>\n      </div>\n    </div>\n    <!-- 正则表达式等输入框 -->\n    <div class=\"form-group\">\n      <div class=\"col-sm-12\">\n        <div class=\"input-group\">\n          <span> 正则表达式 </span>\n          <input type=\"text\" class=\"form-control\" id=\"textPattern\" name=\"textPattern\" placeholder=\"请输入自定义正则表达式\"\n            aria-describedby=\"basic-addon1\" style=\"width: 65%;\">\n        </div>\n      </div>\n    </div>\n    <!-- 其他选项 -->\n    <div class=\"form-group\">\n      <div class=\"col-sm-2\">\n        <div class=\"input-group\" style=\"margin-left: 20px;\">\n          <label class=\"checkbox\" style=\"cursor: pointer;\">\n            <input type=\"checkbox\" value=\"global\" checked=\"checked\" id=\"optionGlobal\" name=\"optionGlobl\">全局搜索</label>\n        </div>\n      </div>\n      <div class=\"col-sm-2\">\n        <div class=\"input-group\" style=\"margin-left: 20px;\">\n          <label class=\"checkbox\" style=\"cursor: pointer;\">\n            <input type=\"checkbox\" value=\"ignoreCase\" id=\"optionIgnoreCase\" name=\"optionIgnoreCase\">忽略大小写</label>\n        </div>\n      </div>\n      <div class=\"col-sm-8\">\n        <!-- 验证、清空、复制按钮 -->\n        <input type=\"button\" onclick=\"return onMatch();\" value=\"验证匹配内容\" class=\"btn btn-success\">\n        <input type=\"button\" onclick=\"Empty();\" value=\"清空输入框\" class=\"btn btn-danger\">\n        <button onclick=\"copyText3()\">一键复制</button>\n      </div>\n    </div>\n    <!-- 结果展示 -->\n    <div class=\"form-group\">\n      <div class=\"col-sm-12\">\n        <div id=\"textResult\"></div>\n        <textarea onmouseover=\"this.focus();\" id=\"textMatchResult\" class=\"form-control\" rows=\"10\" style=\"max-height: 2222px;\"\n          placeholder=\"得到验证后内容，内容为空为验证失败\" readonly=\"readonly\"></textarea>\n      </div>\n    </div>\n    <div class=\"form-group\">\n      <div class=\"col-sm-4\">\n        <div class=\"input-group\" style=\"width: 98%;\">\n          <span> 替换文本 </span>\n          <input type=\"text\" class=\"form-control\" id=\"textReplace\" name=\"textReplace\" placeholder=\"请输入替换内容\"\n            aria-describedby=\"replaceSpan1\" style=\"width: 70%;\">\n          <!-- 替换按钮 -->\n          <button value=\"{\\{page}}\" onclick=\"pp(this.value)\">page</button>\n          <button value=\".\" onclick=\"pp(this.value)\">.</button>\n          <button value=\"/\" onclick=\"pp(this.value)\">/</button>\n          <button value=\"_\" onclick=\"pp(this.value)\">_</button>\n          <button value=\"-\" onclick=\"pp(this.value)\">-</button>\n          <button value=\"+\" onclick=\"pp(this.value)\">+</button>\n          <button value=\"=\" onclick=\"pp(this.value)\">=</button>\n          <button value=\"&\" onclick=\"pp(this.value)\">&</button>\n          <button value=\"$\" onclick=\"pp(this.value)\">$</button>\n        </div>\n      </div>\n      <div class=\"col-sm-2\">\n        <!-- 替换按钮 -->\n        <div class=\"input-group\">\n          <button onclick=\"return onReplace()\" class=\"btn btn-success\">替换匹配内容</button>\n          <button onclick=\"copyText2()\">一键复制</button>\n        </div>\n      </div>\n      <div class=\"col-sm-6\">\n      </div>\n    </div>\n    <div class=\"form-group\">\n      <div class=\"col-sm-12\">\n        <textarea readonly=\"readonly\" id=\"textReplaceResult\" class=\"form-control\" rows=\"10\" placeholder=\"此处为替换后内容\"></textarea>\n      </div>\n    </div>\n    <div class=\"center\"><center style=\"margin: 30px 0px 10px 0px; font-size: 12px; text-align: center;\">\n      <id>\n      源码：关耳；优化：一程\n      </id></center>\n    </div>\n</body>\n\n<script>\n  function $(selector) {\n    return document.querySelector(selector);\n  }\n\n  function $$(selector) {\n    return document.querySelectorAll(selector);\n  }\n</script>\n\n<script>\nvar copyText = function() {\n  var text = document.getElementById('input');\n  // 选中文本\n  text.select()\n  // 复制\n  document.execCommand('copy')\n}\nvar copyText2 = function() {\n  var text = document.getElementById('textReplaceResult');\n  // 选中文本\n  text.select()\n  // 复制\n  document.execCommand('copy')\n}\nvar copyText3 = function() {\n  var text = document.getElementById('textMatchResult');\n  // 选中文本\n  text.select()\n  // 复制\n  document.execCommand('copy')\n}\n</script>\n\n<script>\nfunction pp(a){\n$(\"#textReplace\").value+=a.replace(/\\\\/,'');\n$(\"#textReplace\").focus()\n}\nfunction dis(){\ndocument.getElementById(\"bt1\").disabled=true\n}\nfunction di(){\ndocument.getElementById(\"bt1\").disabled=false\n}\nfunction getInput1(){\ntext=$(\"#input\").value;\nlist=text.match(/<a.*?href=\"([^\"]+)\".*?>([\\s\\S]+?)<\\/a>/g);\nhtml=\"\"\nif(list.length==0){\nhtml=\"格式化失败！！！请检查是否为带html标签\"\n}else{\nhtml=\"\"\n}\nfor(i in list){\na=list[i].match(/<a.*?href=\"([^\"]+)\".*?>([\\s\\S]+?)<\\/a>/);\nhtml+=a[2]+\"::\"+a[1]+\"\\n\"\n}\n$(\"#input\").value=html\n}\n\n\nfunction getInput2(){\ntext=$(\"#input\").value;\nif(text.match(/\\&\\&|::/g)){\ntext=text.replace(/\\&\\&/g,'\\n');\nlist=text.match(/.*::.*/g);\nhtml=[];\nfor(i=0;i<list.length;i++){\nl=list[i].match(/(.*)::(.*)/);\ntitle=l[1];url=l[2]\nhtml.push({\ntitle:title,\nurl:url,\nstyle:{}\n})\n}\n$(\"#input\").value=JSON.stringify(html)\n}else{\nhtml=\"\";\njson=JSON.parse(text);\nfor(i in json){\nhtml+=json[i].title+\"::\"+json[i].url+\"\\n\"\n}\n$(\"#input\").value=html\n}\n}\nfunction getInput3(flag){\ntext=$(\"#input\").value;\nif(flag==1){\njson=JSON.parse(text);\nfor(i in json){\njson[i].style.layout_flexBasisPercent=0.2\n}\n}else if(flag==2){\njson=JSON.parse(text);\nfor(i in json){\njson[i].style.layout_flexBasisPercent=0.25\n}\n}else if(flag==3){\njson=JSON.parse(text);\nfor(i in json){\njson[i].style.layout_flexBasisPercent=0.4\n}\n}else if(flag==4){\njson=JSON.parse(text);\nfor(i in json){\njson[i].style.layout_flexBasisPercent=1\n}\n}else if(flag==5){\njson=JSON.parse(text);\nfor(i in json){\njson[i].style.layout_flexGrow=1\n}\n}\n$(\"#input\").value=JSON.stringify(json)\n}\nfunction setVisible(idElement, visible) {\n  var obj = document.getElementById(idElement);\n  obj.style.visibility = visible? \"visible\" : \"hidden\";\n}\nfunction isValidFields() {\n  var textSour = document.getElementById(\"textSour\");\n  if (null == textSour.value || textSour.value.length < 1) {\n    textSour.focus();\n    JsonsMessageBox($(\"#textSour\"), \"请输入待匹配文本\");\n    return false;\n  }\n  var textPattern = document.getElementById(\"textPattern\");\n  if (null == textPattern.value || textPattern.value.length < 1) {\n    textPattern.focus();\n    JsonsMessageBox($(\"#textPattern\"), \"请输入正则表达式\");\n    return false;\n  }\n  return true;\n}\nfunction buildRegex() {\n  var op = \"\";\n  if (document.getElementById(\"optionGlobal\").checked) op = \"g\";\n  if (document.getElementById(\"optionIgnoreCase\").checked) op = op + \"i\";\n  return new RegExp(document.getElementById(\"textPattern\").value, op);\n}\nfunction onMatch() {\n  if (!isValidFields())\n    return false;\n  document.getElementById(\"textMatchResult\").value = \"\";\n  var regex = buildRegex();\n  var result = document.getElementById(\"textSour\").value.match(regex);\n  if (null == result || 0 == result.length) {\n    document.getElementById(\"textMatchResult\").value = \"（没有匹配）\";\n    return false;\n  }\n  if (document.getElementById(\"optionGlobal\").checked) {\n    var re=\"\";\n    var strResult = \"共找到 \" + result.length + \" 处匹配：\\r\\n\";\n    document.getElementById(\"textResult\").innerText=strResult;\n    for (var i = 0; i < result.length; ++i) { re += result[i] + \"\\r\\n\"; }\n    document.getElementById(\"textMatchResult\").value = re;\n  }\n  else {\n    document.getElementById(\"textMatchResult\").value = \"匹配位置：\" + regex.lastIndex + \"\\r\\n匹配结果：\"+result[0];\n  }\n  return true;\n}\nfunction onReplace() {\n  var str = document.getElementById(\"textSour\").value;\n  var regex = buildRegex();\n  document.getElementById(\"textReplaceResult\").value = str.replace(regex, document.getElementById(\"textReplace\").value);\n}\nfunction reset() {\n  $(\"#textSour\").value=\"\";\n  $(\"#textPattern\").value=\"\";\n  $(\"#textMatchResult\").value=\"\";\n  $(\"#textReplace\").value=\"\";\n  $(\"#textReplaceResult\").value=\"\";\n}\n$(\"#regCommon a\").click(function () {\n  $(\"#textPattern\").val($(this).attr(\"t\"));\n  onMatch();\n});\nfunction Empty() {\n  $(\"#textSour\").value=\"\";\n  $(\"#textMatchResult\").value=\"\";\n  $(\"#textReplace\").value=\"\";\n  $(\"#textReplaceResult\").value=\"\";\n  $(\"#textSour\").select();\n}\n</script>\n</html>\n❗️0、1、结束❗️\n\n\n——————分割线————————\n{{}}\n<js>\nindex='{{$.index}}';\nif(index.match(/\\d+、\\d+、/)){\nreg=eval('/❗️'+index+'开始❗️[\\\\s\\\\S]+?❗️'+index+'结束❗️/g');\nreg2=eval('/❗️'+index+'..❗️/g');\nresult=result.match(reg)?result.match(reg)[0]:'<br/>'\nresult.replace(reg2,'')}else{result=''}\n</js>",
    "ruleImage": "$.src",
    "ruleLink": "$.index\n@js:\nif(!result.match(/^http/) && !result.match(/\\d+、\\d+、/)){\nresult=\"https://www.coolapk.com/link?url=\"+encodeURIComponent(result)\n}else{result=result}",
    "ruleNextPage": "",
    "rulePubDate": "$.intro",
    "ruleTitle": "$.text",
    "singleUrl": false,
    "sortUrl": "💠 荟萃::http://www.baidu.com/wd=0、1、【https://gitee.com/yc-sy/yd/raw/master/dy/yd/fxmh.png】《美化发现》◎阅读发现美化、正则替换◎★https://flowus.cn/ycheng/share/923f5a35-6dcf-47d1-b8eb-b9c5ef3ed39b【https://gitee.com/yc-sy/yd/raw/master/dy/yd/gx.png】《更新笔记》◎一程｜书源、订阅、教程、一键导入◎★http://yuedu.miaogongzi.net/gx.html【https://gitee.com/yc-sy/yd/raw/master/dy/yd/mgz.png】《大佬云集》◎喵公子｜书源、有声、漫画、净化……◎★https://www.yckceo.com/yuedu/shuyuan/index.html【https://gitee.com/yc-sy/yd/raw/master/dy/yd/yck.png】《源仓库》◎阅读书源仓库｜https://yckceo.vip/◎★https://www.yuque.com/legado【https://gitee.com/yc-sy/yd/raw/master/dy/yd/ydlogo.png】《阅读手册》◎使用说明、源制作、官方公告。◎★https://miaogongzi.lanzout.com/b01rgkhhe【https://gitee.com/yc-sy/yd/raw/master/dy/yd/yd.png】《阅读beta》◎喵公子｜阅读Beta版下载◎★https://github.com/gedoor/legado/releases【https://gitee.com/yc-sy/yd/raw/master/dy/yd/yd.png】《阅读（安卓版）》◎阅读Beta版下载，阅读更新地址◎★https://github.com/mgz0227/legado-Harmony【https://gitee.com/yc-sy/yd/raw/master/dy/yd/ydhm.png】《阅读（鸿蒙版）》◎鸿蒙版阅读更新地址◎★https://m.w3cschool.cn/regex_rmjc/regex_rmjc-n5a328cn.html【https://gitee.com/yc-sy/yd/raw/master/dy/yd/bcs.png】《正则表达式》◎w3cschool编程狮◎★https://www.dapeng8.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/dpymw.png】《大鹏源码网》◎技术教程资源软件◎\n\n\n💰 正版::https://wap.faloo.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/flxs.png】《飞卢小说》◎同人小说、飞卢原创小说网站◎★https://m.qidian.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/qdzw.png】《起点中文》◎阅文集团旗下网站◎★https://wap.jjwxc.net/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/jjwx.png】《晋江文学》◎女性网络文学原创基地◎★https://m.zongheng.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/zhzw.png】《纵横中文》◎纵横中文网◎★https://h5.17k.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/17kxs.png】《17K小说》◎集创作、阅读于一体的在线阅读网站◎★https://h5.xrzww.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/xrzw.png】《息壤中文》◎杭州息壤网络科技有限公司◎★https://wap.ciweimao.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/cwm.png】《刺猬猫》◎异世界的阅读方式◎★https://m.zhangyue.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/zy.png】《掌阅》◎好看的原创小说网◎★https://t.shuqi.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/sqxs.png】《书旗小说》◎阿里巴巴集团旗下阅读平台◎★https://wap.cmread.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/mgyd.png】《咪咕阅读》◎原创网络文学◎★https://yd.baidu.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/bdyd.png】《百度阅读》◎全网最全小说◎★https://ubook.reader.qq.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/qqyd.png】《QQ阅读》◎QQ阅读官方网站◎★https://m.tadu.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/tdwx.png】《塔读文学》◎精品原创小说◎★https://www.ihuaben.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/hbxs.png】《话本小说》◎首创气泡对话小说，写小说原创社区◎★https://m.xxsy.net/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/xxsy.png】《潇湘书院》◎言情小说◎★https://m.hongxiu.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/hxtx.png】《红袖添香》◎阅文集团旗下网站◎★http://m.cread.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/zwsc.png】《中文书城》◎网络小说◎★https://m.youdubook.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/ggyd.png】《咕咕阅读》◎有毒小说网◎★https://m.gongzicp.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/cpwx.png】《长佩文学》◎女性向阅读交流平台◎★http://wap.hanwujinian.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/hwjn.png】《寒武纪年》◎原创耽美小说有声广播剧◎★https://m.ruochu.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/rcwx.png】《若初文学》◎好看的小说推荐◎★https://m.hongshu.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/hsyd.png】《红薯阅读》◎红薯中文网◎★https://m.sfacg.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/sfqxs.png】《SF轻小说》◎SF轻小说网◎★https://m.duread8.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/dyd.png】《独阅读》◎有深度的西幻历史小说阅读神器◎★http://m.shuhai.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/shxs.png】《书海小说》◎书海小说网◎\n\n\n📥 下书::http://www.baidu.com/wd=https://xmsoushu.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/xmdh.png】《熊猫导航》◎一站式读书学习导航站◎★https://ifun.cool/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/qj.png】《趣集》◎知乎盐选◎★https://www.jiumodiary.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/jmss.png】《鸠摩搜书》◎文档搜索引擎◎★https://new.shuge.org/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/sg.png】《书格》◎有品格的数字古籍图书馆◎★https://www.zxcs.info/map.html【https://gitee.com/yc-sy/yd/raw/master/dy/yd/zxjj.png】《知轩精校》◎精校小说◎★https://zxcstxt.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/zxcs1.png】《知轩藏书》◎🔎登录｜精校小说◎★https://m.xiashu8.net/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/xsw.png】《下书网》◎多网站导航、电子书下载◎★https://m.huangdizhijia.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/hdzj.png】《皇帝之家》◎精品小说◎★https://noveless.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/shbl.png】《书荒部落》◎精校小说◎★https://m.zei8.vip/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/zbw.png】《贼吧网》◎（旧书）精校小说◎\n\n\n📥 文学::https://ibooks.org.cn/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/dsxz.png】《读书小站》◎悦读不孤读◎★https://pdfzj.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/pdfzj.png】《PDF之家》◎杂志、图书、漫画下载◎★http://www.eybook.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/fldsw.png】《风陵渡书屋》◎畅销图书文学小说下载◎★https://www.iyd.wang/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/iyd.png】《爱悦读》◎azw3,mobi,epub,kindle电子书下载◎★http://www.pdfbook.cn/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/grxxw.png】《个人学习网》◎个人学习资料◎★http://www.vzhuanba.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/ts365.png】《推书365》◎电子书推荐网站｜需关注微信公众号◎★http://www.qcenglish.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/qcyy.png】《七彩英语》◎英文电子书下载站◎★https://salttiger.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/st.png】《SaltTiger》◎每天一本编程书，每天进步一点点◎\n\n\n📖 网文::https://kukecun.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/kkc.png】《酷客村》◎🎉精选｜传统文学、网络文学◎★https://www.shidianguji.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/sdgj.png】《识典古籍》◎抖音公益与北大合作共建的古籍阅读平台◎★https://www.mzhu8.com/wap/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/mzyd.png】《名著阅读》◎📚出版｜全本名著小说阅读网◎★http://m.ndlib.cn/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/ydyd.png】《移动阅读》◎📚出版｜公共数字文化工程移动阅读◎★http://www.book345.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/wmts.png】《无名图书》◎一个好看的电子书解析网站◎★https://book.sciencereading.cn/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/kxwk.png】《科学文库》◎数理PDF阅读◎★https://www.greysea.net/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/htss.png】《海棠搜书》◎💗女频｜自由的小说搜索网站◎★https://xn--pxtr7m.com/channels/1/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/fww.png】《废文网》◎论坛-原创小说-有趣有品有点丧◎\n\n\n🌏 图文::http://m.wufazhuce.com/index【https://gitee.com/yc-sy/yd/raw/master/dy/yd/oneyg.png】《一个》◎ONE·图文阅读◎★http://g2.ltfc.net/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/zhzb.png】《中华珍宝》◎中华珍宝馆◎★https://digicol.dpm.org.cn/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/ggbwy.png】《故宫博物院》◎数字文物库◎★https://www.juzikong.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/jzk.png】《句子控》◎优美的句子◎★https://m.rain8.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/yfx.png】《雨枫轩》◎原创文学|小说|散文|杂文|诗歌|中外名著◎★https://m.zbyw.cn/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/zby.png】《字博缘》◎文言文|诗词赏析|汉语辞海◎\n\n\n📄 阅读::https://m.gushiwen.cn/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/gsww.png】《古诗文网》◎古诗文经典传承◎★https://www.gushiji.cc/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/gsj.png】《古诗集》◎古诗词大全名句等◎★https://m.zuowenxue.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/zwxw.png】《做文学网》◎古诗词的魅力◎★http://m.httpcn.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/hcw.png】《汉程网》◎专业中国传统文化网站◎★https://5000yan.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/5000y.png】《5000言》◎国学经典-传统文化◎★https://sou-yun.cn/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/scdq.png】《诗词》◎诗词大全◎★https://hitokoto.cn/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/yy.png】《一言》◎一句话◎★https://web.dudianji.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/ddj.png】《读典籍》◎文白对照读典籍◎★https://onehu.xyz/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/wbsys.png】《我不是盐神》◎分享一些盐选文章，知乎免费阅读网站◎\n\n\n📜 历史::https://www.ageeye.cn/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/gch.png】《观沧海》◎地图分享知识◎★https://m.allhistory.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/qls.png】《全知识》◎弘扬中国传统文化◎★http://m.y5000.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/zglsw.png】《中国历史网》◎全面的历史知识阅读◎★http://m.qulishi.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/qlsw.png】《趣历史网》◎历史朝代表百科知识◎\n\n\n📝 学习::https://www.zxx.edu.cn/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/zhjy.png】《智慧教育》◎国家中小学智慧教育平台◎★http://www.dxzy163.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/dxzyw.png】《大学资源网》◎课程培训与视频教程◎★http://www.jiaoshi100.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/xkbdyw.png】《作文指北》◎新课标大语文◎★https://m.ruiwen.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/rww.png】《瑞文网》◎经典美文、教学资源、实用文档◎★https://m.haoduoyun.cc/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/hddzkb.png】《好多电子课本》◎中小学师生在线阅读教材◎★https://m.51test.net/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/wykw.png】《无忧考网》◎学习资源门户网站◎★https://m.5068.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/5068.png】《5068教学资源网》◎教学资源共享平台◎★https://m.diyifanwen.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/dyfww.png】《第一范文网》◎日常写作指导、作文参考◎★https://m.meiwen99.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/mwyd.png】《美文阅读》◎足不出户阅尽天下美文◎★https://m.thn21.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/hyw.png】《华语网》◎由24位语文老师倾力打造的语文教育站点◎★https://www.1190119.com/m/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/xfzyw.png】《消防资源网》◎最新消防规范·技术标准大全,附条文释义◎★https://m.ppzuowen.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/ppzw.png】《皮皮作文》◎小学生作文网◎\n\n\n🧩 儿童::http://m.quangushi.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/gsdqw2.png】《全故事》◎精彩丰富的儿童故事◎★https://gushi.1or9.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/gsdq.png】《故事大全》◎10多种小故事分类大全◎★https://wap.xigushi.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/xgs.png】《小故事》◎小故事大全◎★https://www.qigushi.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/qgs.png】《七故事》◎儿童睡前故事大全◎★https://m.61ertong.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/lyetw.png】《六一儿童网》◎儿歌视频大全◎★https://www.gushi365.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/gs365.png】《故事365》◎儿童故事大全◎★https://m.pcbaby.com.cn/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/tpyqzw.png】《太平洋亲子网》◎健康育儿、品质生活◎\n\n\n🎧 有声::http://m.ysxs8.vip/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/ysxsb.png】《有声小说吧》◎有声小说◎★https://m.tingzh.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/zwts.png】《中文听书》◎有声小说◎★https://www.qmtsw.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/qmts.png】《全民听书》◎有声小说◎★https://mitingshu.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/xmts.png】《小米听书》◎有声小说◎★https://www.ting17.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/yqts.png】《一起听书》◎有声小说◎★https://www.ting79.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/tsw.png】《听书网》◎有声小说◎\n\n\n🎨 漫画::http://www.vomicmh.com/#/home【https://gitee.com/yc-sy/yd/raw/master/dy/yd/vomic.png】《vomic漫画》◎漫画聚合◎★https://m.dongmanmanhua.cn/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/dmmh.png】《咚漫漫画》◎全球数字漫画服务平台◎★https://m.dmzj.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/dmzj.png】《动漫之家》◎海量漫画在线看◎★https://m.gufengmh.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/gfmh.png】《古风漫画》◎古风漫画、言情漫画、少女爱情◎\n\n\n☯ 玄学::http://m.daorenjia.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/drj.png】《道人家》◎中华道藏◎★https://www.ifreesite.com/scriptures/book.htm【https://gitee.com/yc-sy/yd/raw/master/dy/yd/ddd.png】《唸經堂》◎道神道，非人道。明不明，非常明。◎★https://m.neigong.cc/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/ngw.png】《内功网》◎内功门户网站◎★https://www.cbaigui.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/jy.png】《纪妖》◎中国妖怪百集◎★https://www.神秘网.com/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/smw.png】《神秘网》◎神秘事件综合网站◎★http://www.lingyi.org/【https://gitee.com/yc-sy/yd/raw/master/dy/yd/zgly.png】《中国灵异》◎真实灵异事件网站◎",
    "sourceComment": "",
    "sourceGroup": "封子秦,R18",
    "sourceIcon": "https://gitee.com/yc-sy/yd/raw/master/dy/tb/yd.png",
    "sourceName": "阅读ʏᴰ",
    "sourceUrl": "阅读合集",
    "style": ""
  },
  {
    "articleStyle": 2,
    "customOrder": 94,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": ".featured-img-box",
    "ruleContent": "@js: \nlet pics=java.getString('article@img@src'); \nlet p=String(pics).split(\"\\n\").map(i=>`<img src=\"${i}\">`).join(\"\\n\");\np = '<title>👤Mengteen</title>\\n' + \n'<h3>{{@@.category-and-tags@text}}｜{{@@.entry-title@text}}</h3>\\n' + \np;\np;",
    "ruleImage": "img@src",
    "ruleLink": "a@href",
    "ruleNextPage": "page",
    "rulePubDate": "🔖{{@@.featured-img-category@text}}｜📆{{@@time@text}}",
    "ruleTitle": "h2@a@text",
    "singleUrl": false,
    "sortUrl": "首页::/index.php/page/{{page}}/\n搜索::/index.php/page/{{page}}/?s={{(source.getVariable()==''||source.getVariable()==null)?source.setVariable('诱惑'):source.getVariable()}}\n黑丝::/index.php/category/黑丝/page/{{page}}/\n白丝::/index.php/category/白丝/page/{{page}}/\n写真集::/index.php/category/写真集/page/{{page}}/",
    "sourceComment": "源社区：@Mengteen 2025.06.27原创\n二传二创或者是其它问题请联系我。\n我邮箱:[xxxmgqxxx@vip.qq.com]",
    "sourceGroup": "😍,R18",
    "sourceIcon": "https://mo8.org/wp-content/uploads/2025/05/photo_29_2025-05-13_14-54-28.jpg",
    "sourceName": "😍MOMO图库",
    "sourceUrl": "https://mo8.org/##@Mengteen",
    "style": "/*标题相关*/\nh3{text-align:left;color: #8FBC8F;}\n* {margin: 0;\tpadding: 0}\nul {font-size: 0;height: 100%;overflow-y: scroll}\nli {list-style: none;text-align: center}\nimg {width: 100%;height: auto}",
    "variableComment": "🏄Mengteen提示：在此输入关键词搜索！"
  },
  {
    "articleStyle": 0,
    "customOrder": 95,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\n    'User-Agent': 'Mozilla/5.0 (Linux; Android 12; BON-AL00 Build/HUAWEIBON-AL00; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/99.0.4844.88 Mobile Safari/537.36'\n}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "<js>\njson=[];\nif(baseUrl.match(/★/)){\nlist=baseUrl.replace(/http.*?wd=\\s*/,'').split('★');\nfor(i in list){\nhref=list[i].match(/【(.*?)】/)[1];\ntext=list[i].match(/《(.*?)》/)[1];\nintro=list[i].match(/◎(.*?)◎/)[1];\nindex=list[i].match(/^(\\d+、\\d+、)/)?list[i].match(/^(\\d+、\\d+、)/)[1]:list[i].match(/^(.*?)【/)[1]\njson.push({text:text,src:href,intro:intro,index:index})\n}\n}\nJSON.stringify(json)</js>\n$.[*]",
    "ruleContent": "",
    "ruleImage": "$.src",
    "ruleLink": "$.index",
    "ruleNextPage": "",
    "rulePubDate": "$.intro",
    "ruleTitle": "$.text",
    "singleUrl": false,
    "sortUrl": "\n\n💾 云盘::https://pan.baidu.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/bdwp.png】《百度网盘》◎好不好用谁知道◎★https://www.jianguoyun.com/d/home#/home【https://gitee.com/yc-sy/yd/raw/master/dy/zy/jgy.png】《坚果云》◎免费个人网盘、网络存储盘◎★https://up.woozooo.com/account.php?action=login&ref=/mydisk.php【https://gitee.com/yc-sy/yd/raw/master/dy/zy/lzy.png】《蓝奏云》◎云存储、下载无限制◎★https://pan.miaogongzi.net/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/my.png】《Meow云》◎在线下载应用，同步手机数据和查找手机◎★https://m.fastsoso.cn/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/fastsoso.png】《fastsoso》◎网盘搜索◎\n\n\n🔎 搜索::https://m.sm.cn/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/sm.png】《神马搜索》◎基于移动互联网的搜索引擎◎★https://m.baidu.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/bd.png】《百度搜索》◎全球最大的中文搜索引擎◎★https://m.so.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/360ss.png】《360搜索》◎360搜索SO靠谱◎★https://wap.sogou.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/sg.png】《搜狗搜索》◎搜狗搜索一搜既得◎★https://so.toutiao.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/tt.png】《头条搜索》◎精准、专业、快捷的搜索服务◎★https://fsoufsou.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/fs.png】《F搜》◎类似Google、必应、百度一样的搜索引擎◎★https://cn.bing.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/by.png】《必应搜索》◎必应可帮助你将理论付诸实践◎\n\n\n🔗 网址::https://m.hao123.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/hao123.png】《hao123导航》◎全网优质网址及资源的中文上网导航◎★http://h5.mse.360.cn/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/360dh.png】《360导航》◎一个主页，整个世界◎★http://hao.uc.cn/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/uc.png】《UC网址导航》◎UC网址导航是一个多功能的网站◎★https://www.ak47s.cn/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/ak47wzdh.png】《AK47导航》◎夜雨聆风旗下绿色无广告的网址导航◎★http://m.2345.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/2345wzdh.png】《2345网址导航》◎热门网址导航网罗精彩实用网址◎★https://m.bidianer.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/bdwzdh.png】《笔点网址导航》◎简洁的网址导航网站◎★http://www.016.cn/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/016dh.png】《016导航》◎绿色干净无广告极速导航站◎\n\n\n🌟 百科::https://baike.baidu.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/bd.png】《百度百科》◎全球领先的中文百科全书◎★https://baike.sogou.com/m/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/sg.png】《搜狗百科》◎中文网络百科全书◎★https://m.baike.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/tt.png】《抖音百科》◎准确、全面、易读、丰富的网络百科全书◎★https://www.ruzong.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/rzw.png】《儒宗网》◎汉语词典◎★https://www.bkzw.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/bkzw.png】《百科植物》◎多样性、功能性、禁忌、生活小窍门◎★http://m.yanquecao.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/yqc.png】《燕雀草》◎关于植物的百科全书◎\n\n\n💯 字体::https://ziyouziti.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/zyzt.png】《自由字体》◎国内权威的免费字体网站◎★https://www.mianfeiziti.cn/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/ztxz.png】《字体下载》◎各种免费可商用字体下载◎★https://www.mianfeiziti.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/mfzt.png】《免费字体》◎🔎登录｜完全免费的字体下载网站◎★https://www.100font.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/100font.png】《100font》◎免费商用字体下载网站◎★https://freefonts.top/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/ztsj.png】《字体世界》◎各种字体免费下载和在线预览◎★https://www.maoken.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/mkw.png】《猫啃网》◎免费商用中文字体下载网站◎★https://m.font.chinaz.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/zzzt.png】《站长字体》◎各种字体免费下载网◎★http://www.zku.net/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/zkw.png】《字库网》◎在线字体、下载、商业授权、字体转换◎★https://www.qqxiuzi.cn/daohang.htm【https://gitee.com/yc-sy/yd/raw/master/dy/zy/qqxz.png】《千千秀字》◎字体导航、在线转换◎★https://m.fonts.net.cn/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/zttx.png】《字体天下》◎部分商用字体免费下载◎\n\n\n🖼 图库::https://www.pexels.com/zh-cn/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/mfsc.png】《免费素材》◎免费素材图片和视频◎★https://pixabay.com/zh/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/px.png】《Pixabay》◎免费正版高清图片素材库◎\n\n\n🗂️ 软件::https://www.52pojie.cn/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/wapj.png】《吾爱破解》◎LSG，安卓破解，病毒分析◎★https://www.ghxi.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/ghbk.png】《果核剥壳》◎还原软件的本质◎★https://www.fy6b.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/fyyy.png】《枫音应用》◎免费、绿色、无毒无广的实用软件◎★https://www.yxssp.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/yxrj.png】《异星软件》◎推荐精选好用实用的软件及资源◎★https://www.lsapk.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/ls.png】《蓝鲨》◎让您在互联网的海洋里自由的遨游◎★https://tmioe.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/zprj.png】《杂铺软件》◎发现美好，分享快乐◎★https://www.lxapk.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/lxrj.png】《乐享软件》◎专注于手机应用分享网站◎★https://www.yeyulingfeng.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/yylf.png】《夜雨聆风》◎专注于互联网资源分享◎★https://foxirj.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/fxrj.png】《佛系软件》◎精品Windows,macOS破解软件下载◎★https://www.rjsos.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/rjsos.png】《软件SOS》◎软件安装、激活工具下载◎★https://www.appinn.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/xzrj.png】《小众软件》◎分享免费、小巧、实用、有趣、绿色软件◎★https://cxapk.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/cxxz.png】《辰夕小站》◎只为纯净◎\n\n\n🗃️ 资源::https://www.jspoo.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/jspdh.png】《聚神铺导航》◎超实用的资源网站◎★https://www.9eip.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/wmdz.png】《完美地址》◎好用好玩的宝藏资源分享站◎★https://www.zkcee.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/zkyz.png】《知客驿站》◎一个打工人的实用网络资源库◎★https://www.tboxn.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/tbox.png】《Tbox导航》◎优质在线工具的导航网站◎★https://xinquji.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/xqj.png】《新趣集》◎一起发现有趣的新产品◎★https://www.zmt.wiki/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/xmtdh.png】《新媒体导航》◎自媒体维基◎★https://www.jizhihezi.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/jzhz.png】《集知盒子》◎学习、办公、娱乐资源平台◎★http://lanrenao.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/lrdhw.png】《懒人导航网》◎全网最实用简洁的懒人导航网◎★https://www.hifast.cn/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/kdhw.png】《快导航网》◎汇聚了网上较为优秀的网站◎★https://www.9ghao.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/9gdh.png】《9G导航》◎收集国内外最实用最全的网址导航◎★http://guozhivip.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/gzdh.png】《果汁导航》◎各个领域的优质站点合集◎★http://m.ilxdh.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/lxdh.png】《龙轩导航》◎准确又方便快捷资源平台◎★https://morething.top/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/ydedx.png】《有点儿东西》◎MoreThing导航◎★https://m.1234la.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/1234l.png】《1234啦》◎实用的网址目录导航◎★https://www.lovejay.top/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/jay.png】《JAY的资源库》◎互联网资源集大成者◎★https://m.ziyuanm.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/zym.png】《资源猫》◎分类目录整合全网资源◎★https://ailongmiao.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/lmw.png】《龙猫网》◎有态度的网址导航◎\n\n\n🛸 智能::http://www.aiminsu.cn/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/aidhs.png】《AI导航狮》◎AI聊天对话、AI写作、AIGC绘画生成◎★https://feizhuke.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/fzaidh.png】《非猪AI导航》◎人工智能、聚合国内外AIGC软件◎★https://6-u.com/ai/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/aigjdh.png】《AI工具导航》◎乐游导航精选优质实用AI工具◎★https://www.aixzw.cn/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/aixzw.png】《AI写作网》◎AI写作生成器官网◎★https://haoduoshu123.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/hdsdh.png】《好多书导航》◎资源库、电子书、杂志、科研论文、热门搜索站◎\n\n\n⚒️ 工具::http://www.gjw123.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/gj123.png】《工具123》◎在线免安装的工具网站◎★https://cn.piliapp.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/gjb.png】《工具邦》◎手机工具箱◎★http://tool.mkblog.cn/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/mkgjx.png】《孟坤工具箱》◎一个实用的网页工具箱◎★https://www.67tool.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/jsgj.png】《即时工具》◎即用即走型在线工具箱◎★https://www.iamwawa.cn/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/wwgj.png】《蛙蛙工具》◎便捷的在线工具网站◎★https://www.dute.org/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/dtgjx.png】《独特工具箱》◎免费在线工具◎★https://tools.miku.ac/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/mikutools.png】《MikuTools》◎一个轻量的工具集合◎★https://ol.woobx.cn/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/ygmh.png】《一个木函》◎轻量级的效率工具集合◎★https://www.qtool.net/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/qtoolgj.png】《昊霖设计》◎常用的工具箱◎★https://tool.lu/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/zxgj.png】《在线工具》◎你的工具箱◎★https://c.runoob.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/cngj.png】《菜鸟工具》◎不止于工具◎★https://tools.fun/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/toolsfun.png】《ToolsFun》◎开发人员工具箱◎★https://www.sojson.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/sojson.png】《SoJson》◎JSON在线工具◎★https://www.html5tricks.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/html5.png】《HTML5资源教程》◎分享HTML5开发资源和开发教程◎★https://www.aizhan.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/azw.png】《爱站网》◎站长工具-百度权重排名、站长seo查询◎★http://mtool.chinaz.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/zzgj.png】《站长工具》◎站长必备检查工具◎★https://imagestool.com/zh_CN/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/tpcl.png】《图片处理》◎无需上传文件也可在线处理图片◎★http://imgdh.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/tcdh.png】《图床导航》◎各类图床聚合站◎★https://yunduanxin.net/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/ydx.png】《云短信》◎在线接收短信、短信验证码◎★https://freesms.vip/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/dxyzm.png】《短信验证码》◎免费接收接码◎\n\n\n🎮 游戏::http://h.4399.com/wap/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/4399.png】《4399小游戏》◎🔎登录｜无需下载马上玩-h5游戏平台◎★http://m.7k7k.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/7k7k.png】《7k7k小游戏》◎🔎登录｜小游戏大全、双人小游戏◎★https://www.yikm.net/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/xbwyx.png】《小霸王游戏》◎小霸王游戏合集◎★https://xingye.me/game/index.php【https://gitee.com/yc-sy/yd/raw/master/dy/zy/xy.png】《星夜小游戏》◎星夜小游戏平台聚合◎★https://rubiks-cube-solver.com/zh/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/mfqjq.png】《魔方求解器》◎计算乱魔方的复原步骤◎\n\n\n➕ 健康::https://www.yixue.com/wap/index.html【https://gitee.com/yc-sy/yd/raw/master/dy/zy/yxzsk.png】《医学百科》◎公益医学知识库◎★https://m.familydoctor.com.cn/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/jtyszx.png】《家庭医生》◎领先的医疗健康新媒体◎★https://m.120ask.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/kswys.png】《快速问医生》◎搜疾病，药品，偏方，问答◎★http://3g.xywy.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/xywy.png】《寻医问药》◎药品库◎★http://wapypk.39.net/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/ypt.png】《药品通》◎专业全面的国内外药品查询网站◎★https://m.cndzys.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/dzysw.png】《大众养生》◎养生第一门户◎★https://m.jiankang.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/bxjkw.png】《百姓健康》◎权威的医疗健康门户◎★http://m.39.net/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/39jkw.png】《39健康网》◎优质医疗保健信息与在线健康服务平台◎★https://m.cnys.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/cnys.png】《彩牛养生》◎权威健康科普内容平台◎★http://www.cf555.com/mm.html【https://gitee.com/yc-sy/yd/raw/master/dy/zy/bsg.png】《百食阁》◎食物功效与禁忌，食疗保健养生◎\n\n\n🥘 食谱::https://cook.yunyoujun.cn/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/glsysc.png】《隔离食用手册》◎好的，今天我们来做菜！◎★https://m.xiangha.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/xh.png】《香哈》◎菜谱大全-学做菜、秀美食！◎★http://h5.izhangchu.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/zc.png】《掌厨》◎视频菜谱网站◎★https://m.xiachufang.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/xcf.png】《下厨房》◎厨师和美食爱好者记录、分享的平台。◎★https://m.douguo.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/dgms.png】《豆果美食》◎美食菜谱社区◎★https://m.meishichina.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/mstx.png】《美食天下》◎原创菜谱与美食生活社区◎\n\n\n🐼 萌宠::https://m.ichong123.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/acw.png】《爱宠网》◎会员制宠物用品食品商城◎★http://m.boqii.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/bqw.png】《波奇网》◎宠物爱好者的综合型网站◎★https://www.birdnet.cn/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/nw.png】《鸟网》◎鸟类百科大全◎★http://www.chongwumao.com.cn/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/cwmw.png】《宠物猫网》◎免费买猫卖猫平台◎★http://www.meishi13.com/【https://gitee.com/yc-sy/yd/raw/master/dy/zy/cww.png】《美侍宠物》◎专注宠物狗、猫训练|喂养|医疗|繁育|品种|价格◎",
    "sourceComment": "",
    "sourceGroup": "封子秦,R18",
    "sourceIcon": "https://gitee.com/yc-sy/yd/raw/master/dy/tb/zy.png",
    "sourceName": "资源ᴢᵞ",
    "sourceUrl": "资源合集"
  },
  {
    "articleStyle": 0,
    "customOrder": 97,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "legado,R18",
    "sourceIcon": "https://cdn.jsdelivr.net/gh/mgz0227/meowcloud/icon.png",
    "sourceName": "Meow云",
    "sourceUrl": "https://pan.miaogongzi.net"
  },
  {
    "articleStyle": 2,
    "customOrder": 97,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.inner_layer@ul@li@a",
    "ruleContent": "text.普通下载@href\n<js>\nresult+=\".m3u8\";\r\nresult = \"<video src=\\\"\" + result + \"\\\" width=\\\"100%\\\" height=\\\"240px\\\" controls=\\\"controls\\\" ></video>\";\r\nresult = \"<html><head><meta charset=\\\"utf-8\\\"><meta name=\\\"viewport\\\" content=\\\"width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no\\\" /><style>html,body{margin:0;padding:0;width:100%;}</style></head><body>\" + result + \"</body></html>\"\n</js>",
    "ruleImage": "img@data-original||img@src",
    "ruleLink": "href##$##,\\{\\\"webView\\\": true\\}",
    "ruleNextPage": "page",
    "rulePubDate": "class.timeobxobx@text",
    "ruleTitle": "p.-1@text",
    "singleUrl": false,
    "sortUrl": "三级::/Html/109/{{page - 1 == 0 ? \"\":\"index-\"+page+\".html\"}},{\"webView\": true}\n女优::/Html/100/{{page - 1 == 0 ? \"\":\"index-\"+page+\".html\"}},{\"webView\": true}\n人妻::/Html/111/{{page - 1 == 0 ? \"\": \"index-\"+page+\".html\"}},{\"webView\": true}\n国产::/Html/60/{{page - 1 == 0 ? \"\": \"index-\"+page+\".html\"}},{\"webView\": true}\n欧美::/Html/62/{{page - 1 == 0 ? \"\": \"index-\"+page+\".html\"}},{\"webView\": true}\n无码::/Html/113/{{page - 1 == 0 ? \"\": \"index-\"+page+\".html\"}},{\"webView\": true}\n动漫::https://033yp.com/Html/101/{{page - 1 == 0 ? \"\": \"index-\"+page+\".html\"}}",
    "sourceComment": "发布页https://guochandizhi6.com/\n永久地址https://992kp.com/",
    "sourceGroup": "成人视频,R18",
    "sourceIcon": "https://i.postimg.cc/j5ZxW6v7/1657950527553.png",
    "sourceName": "©痴汉",
    "sourceUrl": "https://99imm13.xyz/"
  },
  {
    "articleStyle": 0,
    "customOrder": 99,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "🎞️ 影视,R18",
    "sourceIcon": "http://xvjhy9.ganpian44.com/template/ganpian/static/picture/index-logo.png",
    "sourceName": "干片网",
    "sourceUrl": "http://www.ganpian.cc"
  },
  {
    "articleStyle": 0,
    "concurrentRate": "{{page - 1 == 0 ? \"\": \"index-\"+page+\".html\"}}",
    "customOrder": 101,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "dt",
    "ruleContent": "source@src<js>\nresult = `<video src=\"${result}\" width=\"100%\" height=\"280px\" controls=\"controls\" ></video>`;\nresult = `<html><head><meta charset=\"utf-8\"><meta name=\"viewport\" content=\"width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no\" /><style>html,body{background-color:black;margin:0;padding:0;width:100%;}</style></head><body>${result}</body></html>`\n</js>",
    "ruleImage": "img@data-original",
    "ruleLink": "a@href",
    "ruleNextPage": "page",
    "ruleTitle": "a@title",
    "singleUrl": false,
    "sortUrl": "日韩无码::https://lsj154.com:22888/home/vodlist/99/1619-{{page}}.html\n欧美::https://lsj154.com:22888/home/vodlist/99/1620-{{page}}.html\n动漫::https://lsj154.com:22888/home/vodlist/99/1625-{{page}}.html\n国产自拍::https://lsj154.com:22888/home/vodlist/99/1623-{{page}}.html\n国产偷拍::https://lsj154.com:22888/home/vodlist/99/1624-{{page}}.html\n日韩有码::https://lsj154.com:22888/home/vodlist/99/1622-{{page}}.html\n中字::https://lsj154.com:22888/home/vodlist/99/1621-{{page}}.html",
    "sourceComment": "",
    "sourceGroup": "R18",
    "sourceIcon": "https://api.iowen.cn/favicon/kickasss.to.png",
    "sourceName": "老湿鸡",
    "sourceUrl": "https://lsj154.com:22888/home/index.html",
    "variableComment": "https://lsj154.com:22888/home/vodlist/99/1620-1.html"
  },
  {
    "articleStyle": 0,
    "customOrder": 101,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\n\"User-Agent\": \"Mozilla/5.0 (Linux; U; Android 8.1.0; zh-CN; MI 8 Lite Build/OPM1.171019.019) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/78.0.3904.108 UCBrowser/13.2.0.1100 Mobile Safari/537.36\"\n}",
    "injectJs": "const toYueDuUrl = (url) => {\r\n  fetch(url)\r\n    .then((resp) => resp.text())\r\n    .then((text) => {\r\n      let isNext=false\r\n      const matchArray1 = [\"yuedu://\", \".json\"];\r\n      const regX1 = RegExp(\r\n        `\\\\${matchArray1[0]}+.*?([\\\\s\\\\S]*?)${matchArray1[1]}.*?`,\r\n        \"g\"\r\n      );\r\n      text.replace(regX1, function (word, key) {\r\n        if(word){\r\n          isNext=true\r\n          window.location.href = word;\r\n        }\r\n       \r\n      });\r\n      if(isNext)return;\r\n      const matchArray2 = [\"yuedu://\", \".htm\"];\r\n      const regX2 = RegExp(\r\n        `\\\\${matchArray2[0]}+.*?([\\\\s\\\\S]*?)${matchArray2[1]}.*?`,\r\n        \"g\"\r\n      );\r\n      text.replace(regX2, function (word, key) {\r\n        if(word){\r\n          isNext=true\r\n          window.location.href = word;\r\n        }\r\n      });\r\n      if(isNext)return;\r\n      const matchArray3 = [\"yuedu://\", \".html\"];\r\n      const regX3 = RegExp(\r\n        `\\\\${matchArray3[0]}+.*?([\\\\s\\\\S]*?)${matchArray3[1]}.*?`,\r\n        \"g\"\r\n      );\r\n      text.replace(regX3, function (word, key) {\r\n        if(word){\r\n          isNext=true\r\n          window.location.href = word;\r\n        }\r\n      });\r\n      if(isNext)return;\r\n      const matchArray4 = [\"yuedu://\", \".txt\"];\r\n      const regX4 = RegExp(\r\n        `\\\\${matchArray4[0]}+.*?([\\\\s\\\\S]*?)${matchArray4[1]}.*?`,\r\n        \"g\"\r\n      );\r\n      text.replace(regX4, function (word, key) {\r\n        if(word){\r\n          isNext=true\r\n          window.location.href = word;\r\n        }\r\n      });\r\n    });\r\n};\r\nif (\r\n  window.location.href.indexOf(\"http://jnztgtjy.usa3.345888.xyz/rss/fb.php\") !=\r\n    -1 ||\r\n  window.location.href.indexOf(\"https://jnztgtjy.usa3.345888.xyz/rss/fb.php\") !=\r\n    -1\r\n) {\r\n  document.body.style = \"display:none\";\r\n  const panelDefault = document.querySelectorAll(\".panel-default\");\r\n  document.body.innerHTML = \"\";\r\n  document.body.appendChild(panelDefault[0]);\r\n  document.body.appendChild(panelDefault[1]);\r\n  document.body.style = \"display:block\";\r\n  Array.from(document.querySelectorAll(\".list-group-item\")).forEach((ele) => {\r\n    const Dom = ele.querySelector(\"a\");\r\n    const href = Dom.getAttribute(\"href\");\r\n    Dom.setAttribute(\"href\", \"javascript:void(0);\");\r\n    Dom.addEventListener(\"click\", () => {\r\n      toYueDuUrl(\"http://jnztgtjy.usa3.345888.xyz/rss/\" + href);\r\n    });\r\n  });\r\n}\r\nif (\r\n  window.location.href.indexOf(\"id=\") != -1 &&\r\n  (window.location.href.indexOf(\"http://jnztgtjy.usa3.345888.xyz\") != -1 ||\r\n    window.location.href.indexOf(\"https://jnztgtjy.usa3.345888.xyz\") != -1)\r\n) {\r\n  document.body.style = \"display:none\";\r\n  const panelDefault = document.querySelectorAll(\".duo_more\");\r\n  document.body.innerHTML = \"\";\r\n  document.body.appendChild(panelDefault[0]);\r\n  document.body.appendChild(panelDefault[1]);\r\n  document.body.style = \"display:block\";\r\n  toYueDuUrl(window.location.href);\r\n}\nif(window.location.href.indexOf('http://sj.ysupan.com/')!=-1 || window.location.href.indexOf('https://sj.ysupan.com/')!=-1){\n    const changeImage=(Dom,style)=>{\n        Dom.style=style\n    }\n    var ImgDom=document.createElement('div');\n    ImgDom.style='display:none'\n    ImgDom.innerHTML=`<div class=\"showImg\" style='position: fixed;width: 100vw;height: 100vh;z-index: 1099999;top: 0;left: 0;background-color: rgba(0,0,0,0.5);display: flex;align-items: center;justify-content: center;flex-direction: column;'>\n        <img src=\"https://xiang-shiwang.gitee.io/document/640.png\" />\n        <div style='width: 50%;height: 40px;display: flex;align-items: center;justify-content: center;background-color: #f2f2f2;box-shadow: 1px 10px 10px rgba(0,0,0,0.5);border-radius: 8px;margin: 20px auto;' id='CloseDom'>关闭</div>\n      </div>`\n    document.body.appendChild(ImgDom);\n    document.getElementById('CloseDom').addEventListener('click',()=>{\n        changeImage(ImgDom,'display:none;')\n    })\n    \n    var divDom =document.createElement('div');\n    divDom.innerHTML='获取小程序码,查询地址'\n    divDom.style='    position: fixed;z-index: 999999;background: #fff;padding: 8px 10px;box-shadow: 1px 5px 10px rgba(0,0,0,0.5);top: 5px;border-radius: 10px;left: 50%;transform: translateX(-50%);'\n    document.body.appendChild(divDom);\n    divDom.addEventListener('click',()=>{\n        changeImage(ImgDom,'display:block;')\n    })\n}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "<js>\n  json=[];\n  if(baseUrl.match(/★/)){\n  list=baseUrl.replace(/http.*?wd=\\s*/,'').split('★');\n  for(i in list){\n  href=list[i].match(/【(.*?)】/)[1];\n  text=list[i].match(/《(.*?)》/)[1];\n  intro=list[i].match(/◎(.*?)◎/)[1];\n  indexUrl=list[i].match(/^(\\d+、\\d+、)/)?list[i].match(/^(\\d+、\\d+、)/)[1]:list[i].match(/^(.*?)【/)[1]\n   if(indexUrl.indexOf('https://xiang-shiwang.gitee.io')!=-1 || indexUrl.indexOf('http://xiang-shiwang.gitee.io')!=-1  || indexUrl.indexOf('http://jnztgtjy.usa3.345888.xyz/rss/fb.php')!=-1 || indexUrl.indexOf('https://jnztgtjy.usa3.345888.xyz/rss/fb.php')!=-1 ){\n       if(indexUrl.indexOf('?')==-1){\n           indexUrl+='?v='+new Date().getTime()\n       }else{\n            indexUrl+='?&='+new Date().getTime()\n       }\n   } json.push({text:text,src:href,intro:intro,index:indexUrl})\n  }\n  }\n  JSON.stringify(json)\n  </js>\n  $.[*]",
    "ruleContent": "",
    "ruleImage": " $.src",
    "ruleLink": "$.index",
    "ruleNextPage": "  ",
    "rulePubDate": " $.intro",
    "ruleTitle": " $.text",
    "shouldOverrideUrlLoading": "",
    "singleUrl": false,
    "sortUrl": "🧰 工具::https://xiang-shiwang.gitee.io/document/index.html【http://sy.legado1.top/sy.php/0039eb4cea8628f772566210dd15ddf6.png】《自用源》◎进入较慢请耐心等待,或浏览器打开◎★https://xingye.me/game/index.php【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/zy/xy.png?ref=master】《星夜小游戏》◎星夜小游戏平台聚合◎★https://www.yikm.net/【https://www.yikm.net/f.png】《小游戏》◎小霸王小游戏◎★https://www.jiongciyuan.net/jocy/【https://www.jiongciyuan.net/jocy/zb_users/theme/zblog5_nav/image/favicon.ico】《囧次元网页版》◎在线查看◎★https://viayoo.com/zh-cn/【https://viayoo.com/zh-cn/images/logo.png】《Via浏览器》◎简洁得浏览器◎★https://www.xbext.com【https://www.xbext.com/icons/favicon-196x196.png】《X浏览器》◎简洁得浏览器◎ ★ https://ant.c-6.app/【https://ant.c-6.app/templates/default/new/assets/images/logo.png】《蚂蚁加速器》◎vpn,蚂蚁加速器◎★https://www.emojiall.com/zh-hans【https://www.emojiall.com/favicon.ico】《Emoje大全》◎Emoje的各种表情◎★https://xiang-shiwang.gitee.io/document/uploading.html【http://sy.legado1.top/sy.php/9654232af59e52b645b3348859b1c888.png】《上传文件》◎进入页面后，点击右上角浏览器中打开◎\n\n📽 看动漫:: https://soupian.pro/【https://soupian.in/images/icon.png】《搜资源》◎soupian.in、soupian.plus、soupian.icu◎★https://m.agedm.org/#/【https://www.agedm.org/favicon.ico】《age动漫》◎永久地址：http://www.age.tv 、http://www.agefans.com ◎★https://www.mxdm.tv/ 【https://www.gitlink.org.cn/api/yi-c/tc/raw/dy/ys/mxdm.png?ref=master】《MX动漫》◎专注在线动漫网站◎★http://m.yhdm.io【http://m.iyinghua.io/js/20180601/favicon.ico】《樱花动漫》◎看动漫◎★https://dm530.org【https://dm530.org/static/img/loading.png】《风车动漫》◎看动漫◎★https://www.mddm.tv/【https://www.mddmx.com/favicon.ico】《漫岛tv》◎其他地址：https://www.mddmx.com/◎★http://kudm.vip/【https://www.noisedh.cn/assets/images/logos/yishijeman.png】《異世界动漫》◎其他地址：http://kudm.net/◎\r\n\n📺 看视频:: https://soupian.in/【https://soupian.in/images/icon.png】《搜资源》◎soupian.pro、soupian.plus、soupian.icu◎★ https://www.5280.fun/【https://edu-image.nosdn.127.net/034B6C53B270CC44D56476BBE94C95E4.png】《新视觉影视》◎地址入口◎★ https://www.91mayi.me【https://cdn.aiqingyu1314.com/mayi/statics/img/favicon.ico】《蚂蚁影视》◎地址：https://www.mayiyingshi.org/◎★https://www.wandou.la/【https://www.wandou.la/favicon.ico】《豌豆PRO》◎看电影◎★https://90hd.top?from=VIP【https://v.app.90hd.top/template/conch/asset/img/favicon.png】《VIP影视》◎看电影◎★https://www.freeok.vip/【https://www.freeok.vip/mxtheme/images/favicon.png】《FREEOK》◎看电影，其他地址：https://www.freeok.pro◎★https://www.dianyi.ng/【https://www.noisedh.cn/assets/images/logos/dianyi.png】《电影先生》◎看电影,其他地址：https://dy.xianshe.ng/◎\n\n♾️ 其他的:: https://xydh.fun/【https://xydh.fun/favicon.ico】《炫猿导航》◎各种东西◎★ https://www.noisedh.cn/【https://www.noisedh.cn/assets/images/favicon.png】《Noise导航》◎各种东西◎★ https://www.lengcat.cn/【https://www.lengcat.cn/wp-content/uploads/2022/07/logo-dark_collapsed@2x.png】《冷猫导航站》◎各种东西◎★ https://www.hifawn.com/【https://www.hifawn.com/apple-touch-icon.png】《迷鹿导航》◎各种东西◎★ https://www.9eip.com/【https://www.9eip.com/wp-content/uploads/2023/02/%E5%AE%8C%E7%BE%8E%E6%96%B0logo2023-2-16-1.png】《完美导航》◎各种东西◎★ https://www.zhansousou.com/【https://www.zhansousou.com/favicon.ico】《站搜搜》◎各种东西◎★ http://sj.ysupan.com/wanji#/【http://sj.ysupan.com/favicon.ico】《应用编号查询》◎先查询编号，在通过小程序获取地址◎★ http://jnztgtjy.usa3.345888.xyz/rss/fb.php【http://jnztgtjy.usa3.345888.xyz/view/img/favicon.ico】《源导入》◎进入页面，点击导入◎★ http://jnztgtjy.usa3.345888.xyz/【http://jnztgtjy.usa3.345888.xyz/view/img/favicon.ico】《爱写源论坛》◎应该有用◎",
    "sourceGroup": "R18",
    "sourceIcon": "http://sy.legado1.top/sy.php/0039eb4cea8628f772566210dd15ddf6.png",
    "sourceName": "常用工具",
    "sourceUrl": "自用源合集",
    "style": ""
  },
  {
    "articleStyle": 1,
    "customOrder": 102,
    "enableJs": false,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": false,
    "ruleArticles": "class.normal-recipe-list@tag.li",
    "ruleContent": "class.block recipe-show@html&&class.page-container.1@html##href.*\\\"",
    "ruleDescription": "",
    "ruleImage": "class.cover@tag.img@data-src##\\?.*",
    "ruleLink": "class.name@tag.a@href",
    "ruleNextPage": "page@href",
    "rulePubDate": "class.stats@text",
    "ruleTitle": "class.name@text",
    "singleUrl": false,
    "sortUrl": "搜索::https://www.xiachufang.com/search/?keyword=农家小炒肉&cat=1001&page={{page}}\n\n厨房101::https://www.xiachufang.com/explore/honor/?page={{page}}\n\n家常菜::https://www.xiachufang.com/category/40076/pop/?page={{page}}\r\n快手菜::https://www.xiachufang.com/category/40077/pop/?page={{page}}\r\n下饭菜::https://www.xiachufang.com/category/40078/pop/?page={{page}}\r\n早餐::https://www.xiachufang.com/category/40071/pop/?page={{page}}\r\n肉::https://www.xiachufang.com/category/2478/pop/?page={{page}}\r\n鱼::https://www.xiachufang.com/category/957/pop/?page={{page}}\r\n蔬菜::https://www.xiachufang.com/category/4616/pop/?page={{page}}\r\n鸡蛋::https://www.xiachufang.com/category/394/pop/?page={{page}}\r\n汤羹::https://www.xiachufang.com/category/20130/pop/?page={{page}}\t\r\n烘焙::https://www.xiachufang.com/category/51761/pop/?page={{page}}\r\n主食::https://www.xiachufang.com/category/51490/pop/?page={{page}}\r\n面::https://www.xiachufang.com/category/20133/pop/?page={{page}}\n素食::https://www.xiachufang.com/special/vegetarian/pop/?page={{page}}\n\n控糖孕期，烘焙依然可以玩得尽兴::https://www.xiachufang.com/recipe_list/101761347/?page={{page}}\n食材有限，好孕无限::https://www.xiachufang.com/recipe_list/101443972/?page={{page}}\n食四季，餐桌上的孕美时光::https://www.xiachufang.com/recipe_list/191681/?page={{page}}\n\r\n开胃开心月子菜::https://www.xiachufang.com/recipe_list/101443280/?page={{page}}\n\n宝宝快手辅食（12M+）::https://www.xiachufang.com/recipe_list/101687559/?page={{page}}\n宝宝快手辅食（10M+）::https://www.xiachufang.com/recipe_list/101687558/?page={{page}}\n宝宝快手辅食（8M+）::https://www.xiachufang.com/recipe_list/101687555/?page={{page}}\n挑食小妞爱小饼::https://www.xiachufang.com/recipe_list/101684012/?page={{page}}\n粥绵绵，爱绵绵::https://www.xiachufang.com/recipe_list/101565279/?page={{page}}\n一个新妈妈的自力“羹”生::https://www.xiachufang.com/recipe_list/101509293/?page={{page}}\n宝宝辅食完全手册（6-7个月）::https://www.xiachufang.com/recipe_list/101466765/?page={{page}}\n“后婴儿期”辅食攻略::https://www.xiachufang.com/recipe_list/101462350/?page={{page}}\n宝宝辅食抓着吃::https://www.xiachufang.com/recipe_list/101444533/?page={{page}}\n\n创意摆盘，挑食再见::https://www.xiachufang.com/recipe_list/101802641/?page={{page}}\n七岁小妞玩转厨房::https://www.xiachufang.com/recipe_list/101563315/?page={{page}}\n盘子上的卡通画::https://www.xiachufang.com/recipe_list/101558517/?page={{page}}\n肉食娃娃的主食方案::https://www.xiachufang.com/recipe_list/101463134/?page={{page}}\n五光十色宝宝面::https://www.xiachufang.com/recipe_list/101458675/?page={{page}}\n百变早餐征服挑食宝宝::https://www.xiachufang.com/recipe_list/101456833/?page={{page}}\n创意妈妈的便当童话::https://www.xiachufang.com/recipe_list/101443988/?page={{page}}\n妈妈餐桌魔法，宝贝安然度夏::https://www.xiachufang.com/recipe_list/101443394/?page={{page}}",
    "sourceGroup": "封子秦,R18",
    "sourceIcon": "https://is1-ssl.mzstatic.com/image/thumb/Purple124/v4/df/f6/28/dff628a1-3a7e-5c04-419d-78bf9b8671b9/AppIcon-0-1x_U007emarketing-0-8-0-0-85-220.png/492x0w.png",
    "sourceName": "美食菜谱",
    "sourceUrl": "https://www.xiachufang.com",
    "style": ".collect, .author, .recipe-questions-more, .stats{display: none;}\nimg{width:100%;display:block;margin:auto;}body{background-color:floralwhite;background-size:contain;}"
  },
  {
    "articleStyle": 1,
    "customOrder": 103,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "li",
    "ruleContent": "class.stui-player__left@script.0@all##url\":\"([^\"]+.m3u8)##$1##\n<js>\nresult=result.replace(/\\\\/g,\"\")\r\nresult = \"<video src=\\\"\" + result + \"\\\" width=\\\"100%\\\" height=\\\"auto\\\" controls=\\\"controls\\\" ></video>\";\r\nresult = \"<html><head><meta charset=\\\"utf-8\\\"><meta name=\\\"viewport\\\" content=\\\"width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no\\\" /><style>html,body{margin:0;padding:0;width:100%;}</style></head><body>\" + result + \"</body></html>\"\n result\n</js>",
    "ruleDescription": "",
    "ruleImage": "a@data-original",
    "ruleLink": "a@href##.html##/sid/1/nid/1.html<js>##detail##play</js>",
    "ruleNextPage": "class.stui-page__item@tag.li.-2@a@href",
    "rulePubDate": "",
    "ruleTitle": "h4@text",
    "singleUrl": false,
    "sortUrl": "国产传媒::https://www.douyg.cc/index.php/vod/type/id/24.html\n\n無碼搜索::https://www.douyg.cc/index.php/vod/search/page/1/wd/%E7%84%A1%E7%A2%BC.html\n\n无码动漫搜索::https://www.douyg.cc/index.php/vod/search/page/1/wd/%E6%97%A0%E7%A0%81.html\n\n日本无码::https://www.douyg.cc/index.php/vod/type/id/28/page/1.html\n\n少女萝莉::https://www.douyg.cc/index.php/vod/type/id/35.html\n\n\n动漫::https://www.douyg.cc/index.php/vod/type/id/23.html\n",
    "sourceComment": "",
    "sourceGroup": "R18",
    "sourceIcon": "https://z3.ax1x.com/2021/06/30/RDkSyR.png",
    "sourceName": "逗阴馆(已补全)",
    "sourceUrl": "https://www.douyg.cc/",
    "style": ""
  },
  {
    "articleStyle": 2,
    "concurrentRate": "",
    "customOrder": 103,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\"User-Agent\": \"Mozilla/5.0 (Linux; Android 13; 2112123AC) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.104 Mobile Safari/537.36\"}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginUrl": "https://sigu.cc",
    "ruleArticles": "<js>\nvar source=source.getVariable()\nif(baseUrl.match(/search/)){\n  if(String(source)==0){\n\t  java.longToast(\"当前未输入搜索内容！\")\n\t  }else{\n\t  \turl=\"https://sigu.cc/search/-------------.html?\"+\"wd=\"+source+\"&submit=\";\n\t  \tjava.log(url)\n\t  html=java.ajax(url);\n\t  //java.log(html)\n\t  \n\t  if(html.match(/频繁操作/)){\n\t  \t\n\t  \tjava.longToast(\"搜索间隔3秒，请不要频繁操作哦！\");\n\t  \tjava.startBrowserAwait(url,\"等待跳转返回\")\n\t  \t\n\t  \t}else if(html.match(/请输入验证码/)){\n\t  //java.log(\"输入验证码\")\n\t  \nyzm=java.getVerificationCode(\"https://sigu.cc/index.php/verify/index.html?\");\n\t  \t\tverifi_url=\"http://sigu.cc/index.php/ajax/verify_check?type=search&verify=\"+yzm+\",\"+JSON.stringify({\"cookie\":cookie})\n\t  \t\t\n\t  \t\tdata=java.ajax(verifi_url)\n\t  \t\t\n\t  \t java.log(verifi_url);\n\t  \t\n\t  \tcookie=java.getCookie(verifi_url);\n\t  \t\n\t  java.log(cookie);\n\t  \n\t  url=url+\",\"+JSON.stringify({\"cookie\":cookie});\n\t  \t\n\t  java.log(url)\n\t  \thtml=java.ajax(url)\n\t  \t}\n\t  java.setContent(html)\n\t  list=java.getElement(\"id.searchList@li\")\n\t  \t}\n\t }else{\n\t \tlist=java.getElement(\"class.myui-vodlist__box\")\n\t \t}\n\t \tlist\n</js>",
    "ruleContent": "<html>\n<head>\n<meta charset=\"utf-8\">\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no\"/>\n<link rel=\"stylesheet\" type=\"text/css\" href=\"https://cdn.jsdelivr.net/gh/ljun223/reader3@main/js/yingshi.css\" />\n<script src=\"//cdn.staticfile.org/jquery/2.2.4/jquery.min.js\"></script>\n</head>\n<div class =\"dz\" width=\"100%\"></div>\n\n<div class=\"dplayer\" id=\"dplayer\" style=\"width:100%;height:350\"></div>\n\n<div id=\"tab\"><ul>{{@@class.nav nav-tabs active@a@html}}</ul></div>\n{{@@class.myui-content__list@html}}\n\n<script>\nfunction video(url){\n$.get(url,function(result){\n\tjson=result.match(/var player.*?=(\\{.*?\\})</)[1];\nvar src=JSON.parse(json).url;\nsrc=decodeURIComponent(atob(src));\nvar path=\"https://sigu.cc/static/js/playerconfig.js\";\n$.get(path,function(js){\n\tjs=js.match(/player_list=(\\{.*?\\}),MacPlayerConfig/)[1]\n\tfrom=JSON.parse(json).from;\n\tparse=JSON.parse(js)[from].parse;\n\turl=parse+src;\n\tif(parse.match(/dmmoyu/)){\turl=\"https://dmmoyu.com/player/analysis.php?v=\"+src\n\t\t}\n\t\niframe= '<iframe width=\"100%\" height=\"100%\" src=\"'+url+'\" frameborder=\"0\" border=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" allowfullscreen=\"true\" mozallowfullscreen=\"mozallowfullscreen\" msallowfullscreen=\"msallowfullscreen\" oallowfullscreen=\"oallowfullscreen\" webkitallowfullscreen=\"webkitallowfullscreen\">';\n\n$(\".dplayer\").html(iframe)\n$(\".dz\").html(url);\n})\n});\n}\n\n(function(){\nurl=$(\"button:first()\").val();\nvideo(\"{{source.sourceUrl}}\"+url);\n\t\n$(\".myui-content__list\").hide();\n$(\".myui-content__list:eq(0)\").show();\n$(\"li:eq(0)\").addClass(\"active\")})();\n\n$(\"button\").ready(function(){\nurl=$(this).val();\n$(\"button:first\").addClass(\"upBtn\");\nvideo(url);\n});\n\n$(\"button\").click(function(){\n$(\"button\").removeClass(\"upBtn\");\n$(this).addClass(\"upBtn\");\nurl='https://sigu.cc'+$(this).val();\nvideo(url);\n});\n\n$(\"li\").click(function(){\n$(\"li\").removeClass(\"active\");\n$(this).addClass(\"active\");\nindex=$(this).index();\ntext=$(this).text()\nif(text.match(\"本站\")){alert(\"该源有广告，不建议使用\")}\n$(\".myui-content__list\").hide();\n$(\".myui-content__list:eq(\"+index+\")\").show();\n})\n</script>\n</html>\n\n@js:\nresult = result.replace(/<li.*?><a.*? href=\"([^\"]+)\">([^<]+)<\\/a><\\/li>/g,'<button value=\"$1\">$2</button>').replace(/<a/g,'<li').replace(/<\\/a>/g,'</li>')",
    "ruleDescription": "",
    "ruleImage": "class.lazyload@data-original",
    "ruleLink": "a.0@href",
    "ruleNextPage": "text.下一页@href",
    "rulePubDate": "class.lazyload@text",
    "ruleTitle": "a@title",
    "singleUrl": false,
    "sortUrl": "搜索::https://sigu.cc/search\n电影::https://sigu.cc/type/m.html\n电视剧::https://sigu.cc/type/tv.html\n综艺::https://sigu.cc/type/va.html\n动漫::https://sigu.cc/type/ct.html",
    "sourceComment": "",
    "sourceGroup": "封子秦,R18",
    "sourceIcon": "https://inews.gtimg.com/newsapp_ls/0/11929387606/0",
    "sourceName": "思古影视",
    "sourceUrl": "https://sigu.cc",
    "style": "button{\n\tmargin:5px\n\t}"
  },
  {
    "articleStyle": 0,
    "customOrder": 104,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "",
    "ruleContent": "",
    "ruleImage": "",
    "ruleLink": "",
    "rulePubDate": "",
    "ruleTitle": "",
    "singleUrl": true,
    "sortUrl": "",
    "sourceGroup": "封子秦,R18",
    "sourceIcon": "https://cdn.wyteam.net/webapps/maccms/template/blueghost/img/favicon.ico",
    "sourceName": "手机影院",
    "sourceUrl": "https://app.movie",
    "style": ""
  },
  {
    "articleStyle": 1,
    "customOrder": 104,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginUrl": "https://hyl1.tv/",
    "ruleArticles": ".post-big.hentry",
    "ruleContent": "<!DOCTYPE html>\n<html lang=\"zh-CN\">\n<head>\n<meta charset=\"UTF-8\">\n<title>内容提取</title>\n<!-- v2025.05.10 -->\n\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<script src=\"https://code.jquery.com/jquery-3.6.0.min.js\"></script>\n<link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/viewerjs/1.11.3/viewer.min.css\" />\n<script src=\"https://cdnjs.cloudflare.com/ajax/libs/viewerjs/1.11.3/viewer.min.js\"></script>\n<style>\n    body { font-family: Arial, sans-serif; font-size: 16px; }\n    #title, #page, #loading-status { margin: 0 auto; font-size: 20px; text-align: center; }\n    #description, #urls, #video-url, #video-sources, #messages { width: 100%; max-width: 800px; margin: 1.5px auto; font-size: 14px; text-align: left; word-wrap: break-word; white-space: pre-wrap; }\n    #text, #text :not(img), #text img + * { text-indent: 2em; width: 100%; font-size: 16px; line-height: 1.5em; margin-top: 0; margin-bottom: 0; word-wrap: break-word; white-space: pre-wrap; }\n    img, #text img { width: 100%; height: auto; display: block; margin-bottom: 1.5px; }\n    .flex-container { display: flex; justify-content: center; align-items: center; gap: 10px; margin: 1.5px 0; font-size: 14px; }\n    button, select { flex: 1 1 31%; padding: 3px; border: 1px solid #ccc; border-radius: 5px; box-sizing: border-box; cursor: pointer; background-color: #f9f9f9; transition: background-color 0.3s ease; margin: 1.5px; min-width: 0; font-size: 14px; }\n    #url-select, #video-source-select { flex: 1 1 100%; margin-left: 0; margin-right: 0; text-align: center; }\n    #video-element { width: 100%; height: auto; }\n    textarea { width: 100%; height: auto; min-height: 100px; box-sizing: border-box; resize: vertical; }\n    .error, .warn { color: red; }\n</style>\n</head>\n<body>\n    <h3 id=\"title\">{{@@title@text||h1.0@text||h2.0@text||.title.0@text}}</h3>\n    <p id=\"description\">{{@@.info.0@html||.jianjie@html}}</p>\n    <p id=\"page\" style=\"display:none;\">共<span id=\"total-pages\">1</span>页</p>\n    <p id=\"loading-status\" style=\"display:none;\"></p>\n\n    <div class=\"flex-container\" id=\"loading-buttons\" style=\"display:none;\">\n        <button id=\"prev-page-btn\">上一页</button>\n        <button id=\"next-page-btn\">下一页</button>\n        <button id=\"auto-load-btn\">自&nbsp;&nbsp;动</button>\n    </div>\n    \n    <div class=\"flex-container\">\n        <select id=\"url-select\" style=\"display:none;\"></select>\n    </div>\n    \n    <div class=\"flex-container\">\n        <button id=\"toggle-urls-btn\">显/隐网址</button>\n        <button id=\"toggle-messages-btn\">显/隐信息</button>\n        <button id=\"toggle-debug-btn\">显/隐调试</button>\n    </div>\n    <div id=\"urls\"></div>\n    <div id=\"messages\"></div>\n    <div id=\"debug-info\"></div>\n    <div id=\"video-url\"></div>\n    <div id=\"video-container\" style=\"display: none;\">\n        <video id=\"video-element\" controls preload=\"auto\" width=\"640\" height=\"264\">\n            <source id=\"video-source\" src=\"\" type=\"\">您的浏览器不支持 video 标签。\n        </video>\n    </div>\n    <div class=\"flex-container\" id=\"video-source-container\" style=\"display: none;\">\n        <select id=\"video-source-select\" onchange=\"updateVideoSource()\"></select>\n    </div>\n    <div id=\"images\"></div>\n    <div id=\"text\"></div>\n\n    <script>\n        // 配置对象，包含各种选择器、延迟时间等配置项\n        const config = {    \n            videoSelector: 'body', // 视频选择器\n            imgSelector: '.gridlane-box-inside img,.photos figure img,.content p img', // 图片选择器\n            textSelector: '#content', // 文本选择器\n            debugSelector: '#content, .page, .pager, .content, script', // 调试信息选择器\n            swapImageAttributes: false, // 是否交换图片属性\n            delayTime: 1500, // 延迟提取时间\n            retryDelayTime: 1500, // 重试加载延迟时间\n            maxLoadAttempts: 3, // 最大加载次数\n            autoLoading: false, // true自动模式，false单页模式\n            debugOnce: 0, // 只在特定索引输出一次调试信息\n            totalPagesText: '{{@@.page.0@a.-2@textNodes}}', // 总页码\n            urlSuffixToRemove: /\\.html$/, // 移除url后缀\n            pageUrlText: '{urlPrefix}_{i}.html', // 拼接URL模板        \n            ListMode: true, // true网址列表模式，false网址拼接模式    \n            initialUrls: `{{@@#sort-item-5.0@a@href}}`, // 网址\n            initialUrlsName: `{{@@#sort-item-5.0@a@span@text}}`, // 网址名称\n            sourceurl: '', // 来源URL前缀\n        };\n\n        let videoSources = []; // 存储视频源数组\n        let loadAttempts = {}; // 记录每个URL的加载尝试次数\n        let urls = []; // 存储所有页面的URL\n        let imageBox;\n        let textBox;\n        let currentPageIndex = 0; // 当前页面索引\n        let canLoadNextPage = true; // 控制是否可以加载下一页\n        let autoLoadInProgress = false; // 自动加载状态\n\n        // 构建URL列表\n        function buildUrls(totalPages, baseUrl) {\n            let initialUrlsArray = config.initialUrls.trim().split('\\n').filter(url => url.trim() !== '');\n            let initialUrlsNameArray = config.initialUrlsName.trim().split('\\n').filter(name => name.trim() !== '');\n\n            if (config.ListMode && initialUrlsArray.length > 0) {\n                if (initialUrlsArray.length !== initialUrlsNameArray.length) {\n                    $('#messages').append(`<span class=\"warn\">警告：initialUrls 和 initialUrlsName 的长度不匹配。</span><br>`);\n                }\n\n                urls = initialUrlsArray.map(url => {\n                    if (config.sourceurl && url.startsWith('/') && !/^https?:\\/\\//i.test(url)) {\n                        return config.sourceurl.replace(/\\/$/, '') + url;\n                    } else {\n                        return url;\n                    }\n                });\n\n                urls.forEach((url, index) => {\n                    const name = initialUrlsNameArray[index] || `第 ${index + 1} 页`;\n                    $('#url-select').append(`<option value=\"${index}\">${name}</option>`);\n                    $('#urls').append(`<div>${name}: ${url}</div>`);\n                });\n            } else {\n                if (totalPages === 1) {\n                    urls.push(baseUrl);\n                } else {\n                    urls.push(baseUrl);\n                    for (let i = 2; i <= totalPages; i++) {\n                        urls.push(config.pageUrlText.replace('{urlPrefix}', baseUrl.replace(config.urlSuffixToRemove, '').replace(/\\/$/, '')).replace('{i}', i));\n                    }\n                }\n\n                urls.forEach((url, index) => {\n                    const name = `第 ${index + 1} 页`;\n                    $('#url-select').append(`<option value=\"${index}\">${name}</option>`);\n                    $('#urls').append(`<div>${name}: ${url}</div>`);\n                });\n            }\n\n            $('#total-pages').text(urls.length);\n            toggleNavigationButtons();\n            toggleTotalPagesDisplay();\n        }\n\n        // 规范化URL\n        function normalizeUrl(url) {\n            if (typeof url !== 'string' || !url.trim()) {\n                return '';\n            }\n            const match = url.match(/['\"](.*?)['\"]/);\n            if (match && match[1]) {\n                url = match[1];\n            }\n\n            function processUrl(str) {\n                str = str.trim();\n                str = str.replace(/\\\\u[\\dA-F]{4}/gi, match => String.fromCharCode(parseInt(match.replace(/\\\\u/g, ''), 16)));\n                str = decodeURIComponent(str);\n                str = str.replace(/^http:\\/([^/])/, 'http://$1');\n                str = str.replace(/^https:\\/([^/])/, 'https://$1');\n                return str;\n            }\n            return processUrl(url);\n        }\n\n        // 清空容器内容\n        function clearContainers() {\n            $('#messages').empty();\n            $('#images').empty();\n            $('#text').empty();\n        }\n\n        // 更新图像源\n        function updateImageSrc(elements, shouldSwap) {\n            elements.each(function () {\n                const $this = $(this);\n                const attrsToUpdate = {};\n                if (shouldSwap) {\n                    ['data-original', 'data-src', 'data-url'].forEach(attr => {\n                        if ($this.attr(attr)) {\n                            attrsToUpdate['src'] = $this.attr(attr);\n                        }\n                    });\n                }\n                $this.attr(attrsToUpdate);\n            });\n            return elements;\n        }\n\n        // 切换导航按钮显示状态\n        function toggleNavigationButtons() {\n            if ($('#url-select option').length > 1 && !config.autoLoading) {\n                $('#loading-buttons').show();\n                $('#url-select').show();\n            } else {\n                $('#loading-buttons').hide();\n                $('#url-select').hide();\n            }\n        }\n\n        // 显示加载状态\n        function showLoadingStatus(pageNumber) {\n            const selectedOption = $('#url-select option:selected').text();\n            $('#loading-status').text(`正在加载：${selectedOption}`).show();\n        }\n\n        // 隐藏加载状态\n        function hideLoadingStatus() {\n            $('#loading-status').hide();\n        }\n\n        // 加载指定索引的内容\n        function loadContent(index) {\n            if (index < 0 || index >= urls.length || !canLoadNextPage) return;\n            canLoadNextPage = false;\n            currentPageIndex = index;\n            $('#url-select').val(index);\n            $('#messages').append(`<div>当前地址: <span class=\"warn\">${urls[index]}</span></div>`);\n            if (autoLoadInProgress) {\n                showLoadingStatus(index + 1);\n            }\n            $.ajax({\n                url: urls[index],\n                type: 'GET',\n                success: function (data) {\n                    try {\n                    const $data = $(data);\n                    let updatedHtmlContent = data.replace(/(['\"])(\\/\\/)(?!\\/)/g, '$1https://')\n                        .replace(/src=\"upload/gi, 'src=\"/upload')\n                        .replace(/style=[\"'][^'\"]+[\"']/gi, '')\n                        .replace(/\\\\\\//g, '/');\n                    const parser = new DOMParser();\n                    const doc = parser.parseFromString(updatedHtmlContent, \"text/html\");\n\n                    if (config.debugOnce === index) {\n                        const debugElements = $(doc).find(config.debugSelector);\n                        if (debugElements.length > 0) {\n                            const debugContents = $('<pre>').html(debugElements.clone().wrapAll('<div/>').parent().html()).html();\n                            $('#debug-info').html(`<span class=\"warn\">调试信息: <textarea rows=\"10\" cols=\"80\">${debugContents}</textarea></span>`);\n                        } else {\n                            $('#debug-info').html(`<span class=\"warn\">调试信息: <textarea rows=\"10\" cols=\"80\">调试信息未提取到内容，请检查选择器！</textarea></span>`);\n                        }\n                    }\n                    // 方法1：提取视频\n                    const videoSources1 = [];\n                    const videoContents = $(doc).find(config.videoSelector);\n                    const videoTags = $(videoContents).find('video, source');\n                    videoTags.each(function() {\n                        const videosrc = $(this).attr('src') || \n                                     $(this).attr('data-src') || \n                                     $(this).attr('data-original') || '';\n                        \n                        if (videosrc) {\n                            videoSources1.push(videosrc);\n                        }\n                    });\n                    //反馈\n                    if (videoSources1.length > 0) {\n                        $('#messages').append(`<span>方法1，找到 ${videoSources1.length} 个视频。</span><br>`);\n                    }\n\n                    // 方法2：正则提取视频\n                    const regex = /['\"]https?[^'<>\"]+(m3u8|mp4|webm|ogg|flv|mp3|m4a|wav|ape|flac)([^'<>\"]+)?['\"]/gi;\n                    const matches = data.match(regex);\n                    const videoSources2 = [];\n\n                    if (matches) {\n                        const uniqueMatches = [...new Set(matches)];\n                    \n                        uniqueMatches.forEach(match => {\n                            const normalizedSrc = normalizeUrl(match.replace(/['\"]/g, ''));\n                            videoSources2.push(normalizedSrc);\n                        });\n                    }\n                    //反馈\n                    if (videoSources2.length > 0) {\n                        $('#messages').append(`<span>方法2，找到 ${videoSources2.length} 个视频。</span><br>`);\n                    }\n\n                    // 合并两种方法的结果\n                    videoSources = [...videoSources1, ...videoSources2];\n\n                    // 去重并标准化 URL\n                    const imageExtensions = /\\.(jpg|jpeg|png|gif|bmp|svg)$/i;\n\n                    videoSources = videoSources\n                                  .map(src => normalizeUrl(src.replace(/\\\\+/g, '')))\n                                  .filter(src => src) // 过滤空值\n                                  .filter(src => !imageExtensions.test(src)); // 移除图片地址\n                        \n                    videoSources = [...new Set(videoSources)];// 去重\n\n                    // 显示最终结果\n                    $('#messages').append(`<span>总共找到 ${videoSources.length} 个视频。</span><br>`);\n\n                    if (videoSources.length > 0) {\n                        $('#messages').append(`<span>成功提取到视频，找到 ${videoSources.length} 个视频。</span><br>`);\n                        videoSources.forEach((src, idx) => {\n                            $('#messages').append(`<div>视频地址:<span class=\"warn\"> ${src}</span><br></div>`);\n                            $('#video-source-select').append(`<option value=\"${idx}\">视频源 ${idx + 1}</option>`);\n                        });\n                    \n                        if (videoSources.length == 1) {\n                            $('#video-container').show();\n                            $('#video-url').show();\n                            $('#video-source-container').hide();\n                            updateVideoSource();\n                        } else if (videoSources.length > 1) {\n                            $('#video-container').show();\n                            $('#video-url').show();\n                            $('#video-source-container').show();\n                            updateVideoSource();\n                        } else {\n                            $('#video-container').hide();\n                            $('#video-url').hide();\n                            $('#video-source-container').hide();\n                        }\n                    } else {\n                        $('#messages').append(`<span class=\"warn\">未找到视频源。</span><br>`);\n                        $('#video-container').hide();\n                        $('#video-url').hide();\n                        $('#video-source-container').hide();\n                    }\n\n                    //提取图片\n                    const $imgContents = $(doc).find(config.imgSelector);\n                    const shouldSwap = config.swapImageAttributes;\n                    const newContents = updateImageSrc($imgContents.clone(), shouldSwap);\n                    $('#images').append(newContents).show();\n                    if (newContents.length > 0) {\n                        $('#messages').append(`<span>成功提取图片，共 ${newContents.length} 张。</span><br>`);\n                        newContents.each(function () {\n                            const imgSrc = $(this).attr('src') || $(this).attr('data-original') || $(this).attr('data-src') || $(this).attr('data-url');\n                            $('#messages').append(`<div>地址:<span class=\"warn\"> ${imgSrc}</span><br></div>`);\n                        });\n                    } else {\n                        $('#messages').append(`<span class=\"warn\">未提取到图片。</span><br>`);\n                    }\n\n                    //提取图片和文本\n                    const textContents = $(doc).find(config.textSelector).map(function () {\n                        const $currentContents = $(this);\n                        $currentContents.find('img + br, script, video, source, iframe').remove();\n                        $currentContents.html($currentContents.html().replace(/>\\s+/gi, '>').replace(/<\\/?br\\s*([^>]*)\\s*\\/?>/gi, '\\n').replace(/\\n+/g, '\\n'));\n                        return $currentContents.html();\n                    }).get().join('');\n                    if (textContents.trim()) {\n                        $('#text').append(`<span>${textContents}</span><br>`).show();\n                        $('#messages').append(`<span>成功提取图文。</span><br>`);\n                    } else {\n                        $('#messages').append(`<span class=\"warn\">未提取到图文。</span><br>`);\n                    }\n\n                    if (autoLoadInProgress && currentPageIndex < urls.length - 1) {\n                        setTimeout(() => { \n                            canLoadNextPage = true;\n                            loadContent(currentPageIndex + 1); \n                        }, config.delayTime);\n                    } else {\n                        canLoadNextPage = true;\n                        if (autoLoadInProgress) {\n                            hideLoadingStatus();\n                        }\n                    }\n                } catch (parseError) {\n                    $('#messages').append(`<span class=\"error\">解析页面内容时发生错误: ${parseError.message}</span><br>`);\n                    handleLoadFailure(urls, index);\n                } finally {\n                    if (imageBox) imageBox.viewer.update();\n                    if (textBox) textBox.viewer.update();\n                }\n            },\n            error: function (jqXHR, textStatus, errorThrown) {\n                let errorMessage = `内容加载失败: ${urls[index]}`;\n                switch (textStatus) {\n                    case 'timeout':\n                        errorMessage += ', 请求超时';\n                        break;\n                    case 'abort':\n                        errorMessage += ', 请求被取消';\n                        break;\n                    case 'parsererror':\n                        errorMessage += ', 解析响应出错';\n                        break;\n                    default:\n                        errorMessage += `, 状态码: ${jqXHR.status}, 错误信息: ${errorThrown}`;\n                        break;\n                }\n                $('#messages').append(`<span class=\"error\">${errorMessage}</span><br>`);\n                handleLoadFailure(urls, index);\n                }\n            });\n        }\n\n        // 处理加载失败的情况\n        function handleLoadFailure(urls, index) {\n            if (!loadAttempts[urls[index]]) {\n                loadAttempts[urls[index]] = 1;\n            } else {\n                loadAttempts[urls[index]]++;\n            }\n            if (loadAttempts[urls[index]] <= config.maxLoadAttempts) {\n                const retryMessage = `第${index + 1}页加载失败，正在进行第${loadAttempts[urls[index]]}次加载！`;\n                $('#messages').append(`<span class=\"error\">${retryMessage}</span><br>`);\n                setTimeout(() => { \n                    canLoadNextPage = true;\n                    loadContent(index); \n                }, config.retryDelayTime);\n            } else {\n                const finalErrorMessage = `第${index + 1}页加载失败，已达到最大尝试次数(${config.maxLoadAttempts})！`;\n                $('#messages').append(`<span class=\"error\">${finalErrorMessage}</span><br>`);\n                if (autoLoadInProgress && currentPageIndex < urls.length - 1) {\n                    setTimeout(() => { \n                        canLoadNextPage = true;\n                        loadContent(currentPageIndex + 1); \n                    }, config.delayTime);\n                } else {\n                    canLoadNextPage = true;\n                    if (autoLoadInProgress) {\n                        hideLoadingStatus();\n                    }\n                }\n            }\n        }\n\n        // 更新视频源\n        function updateVideoSource() {\n            const selectedIndex = parseInt(document.getElementById('video-source-select').value);\n            if (isNaN(selectedIndex) || !videoSources[selectedIndex]) {\n                $('#messages').append(`<span class=\"warn\">未找到有效的视频源。</span><br>`);\n                console.warn(\"Invalid or undefined video source:\", selectedIndex, videoSources);\n                return;\n            }\n\n            const selectedSource = videoSources[selectedIndex];\n            document.getElementById('video-url').textContent = `视频地址:\\n ${selectedSource}`;\n\n            const videoSourceElement = document.getElementById('video-source');\n            videoSourceElement.src = selectedSource;\n\n            const videoElement = document.getElementById('video-element');\n            videoElement.load();\n\n            $('#messages').append(`<span>更新视频源为: ${selectedSource}</span><br>`);\n            console.log(\"Updated video source to:\", selectedSource);\n        }\n\n        // 切换总页数显示状态\n        function toggleTotalPagesDisplay() {\n            if (urls.length > 1) {\n                $('#page').show();\n            } else {\n                $('#page').hide();\n            }\n        }\n\n        // 页面加载完成后执行的主要逻辑\n        $(document).ready(function () {\n            imageBox = document.getElementById('images');\n            textBox = document.getElementById('text');\n            if (imageBox && textBox) {\n                new Viewer(imageBox, { title: true, interval: 2000 });\n                new Viewer(textBox, { title: true, interval: 2000 });\n            }\n\n            const totalPagesText = config.totalPagesText;\n            const totalPages = parseInt(totalPagesText, 10) || 1;\n            const baseUrl = '{{baseUrl}}';\n\n            clearContainers();\n            $('#urls, #debug-info textarea, #video-url, #video-source-select').empty();\n            $('#urls, #messages, #debug-info, #video-url, #video-container, #video-source-container, #images, #text').hide();\n\n            buildUrls(totalPages, baseUrl);\n\n            const urlSelect = document.getElementById('url-select');\n            if (urlSelect.options.length > 0) {\n                urlSelect.value = '0'; \n\n                if (config.autoLoading) {\n                    autoLoadInProgress = true;\n                    for (let i = 0; i < urls.length; i++) {\n                        loadContent(i);\n                    }\n                } else {\n                    loadContent(0);\n                }\n            } else {\n                loadContent(0);\n            }\n\n            $('#url-select').change(function () {\n                clearContainers();\n                const selectedIndex = parseInt($(this).val());\n                loadContent(selectedIndex);\n            });\n            $('#prev-page-btn').click(function () {\n                clearContainers();\n                if (currentPageIndex > 0) {\n                    loadContent(currentPageIndex - 1);\n                }\n            });\n            $('#next-page-btn').click(function () {\n                clearContainers();\n                if (currentPageIndex < urls.length - 1) {\n                    loadContent(currentPageIndex + 1);\n                }\n            });\n            $('#auto-load-btn').click(function () {\n                autoLoadInProgress = true;\n                showLoadingStatus(1); \n                for (let i = currentPageIndex + 1; i < urls.length; i++) {\n                    loadContent(i);\n                }\n            });\n            $('#toggle-messages-btn').click(function () { $('#messages').toggle(); });\n            $('#toggle-urls-btn').click(function () { $('#urls').toggle(); });\n            $('#toggle-debug-btn').click(function () { $('#debug-info').toggle(); });\n        });\n    </script>\n</body>\n</html>",
    "ruleImage": ".thumbnail-wrap@img@src",
    "ruleLink": "a@href",
    "ruleNextPage": "text.下一页@href",
    "rulePubDate": "{{@.video-length@text}} {{@.entry-views@text}}",
    "ruleTitle": "h2@text",
    "singleUrl": false,
    "sortUrl": "中文字幕::/vodtype/25.html\n日本有码::/vodtype/23.html\n日本无码::/vodtype/24.html\n童颜巨乳::/vodtype/26.html\n性感人妻::/vodtype/27.html\n卡通动漫::/vodtype/32.html\n国产精品::/vodtype/21.html\n最新::/label/new.html\n热门::/label/hot.html\n精品推荐::/vodtype/20.html\n主播秀色::/vodtype/22.html\n强奸乱伦::/vodtype/28.html\n丝袜ol::/vodtype/33.html\n日本片商::/vodtype/33.html",
    "sourceComment": "HYL.TV发布页\nhttps://hyl1.tv/\nhttps://hyl2.tv/",
    "sourceGroup": "成人视频,R18",
    "sourceIcon": "https://i.postimg.cc/0jjtL3y4/1660523726918.png",
    "sourceName": "©HylTV",
    "sourceUrl": "https://hyule11.com"
  },
  {
    "articleStyle": 0,
    "customOrder": 106,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.related_box||p",
    "ruleContent": "<js>page=Number({{@@class.pagination.0@tag.a.-2@textNodes}})\nurl=baseUrl.replace('.html','_')\n\nnurl=[]\nfor(i=1;i<page;i++){\n\t\tnurl.push(url+i+'.html,{\"retry\": 9}')\n\t}\n\nhtml=src\njava.toast('稍等片刻\\n　正在飞速加载')\njava.ajaxAll(nurl).map(item=>{\n\t\thtml += '\\n'+item.body()\n\t})\njava.toast('加载成功\\n　正在获取图片')\nhtml\n</js>\n\nclass.article-content@tag.p@tag.img@src\n<js>\nli='\\n'\nlist=result.split('\\n')\nfor(i in list){\n\t\tli += '<li><img src=\"http://bpic.wotucdn.com/20/32/52/20325281-1190f9105412b42f759882ce262c2dcb-3.jpg\" data-src=\"'+list[i]+'\"></li>\\n'\n\t}\nli\n</js>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\">\n\r\n\n\n<ul id=\"box\">\n{{result}}\n</ul>\n\n\n<link rel=\"stylesheet\" href=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.css\">\r\n<script src=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.js\"></script>\n<script>\n\troot = document.getElementById('box')\n\tlazy = new IntersectionObserver(entires => {\n\t\tentires.forEach(item => {\n\t\t\tif(item.isIntersecting){\n\t\t\t\titem=item.target\n\t\t\t\titem.src=item.getAttribute('data-src')\n\t\t\t\tlazy.unobserve(item)\n\t\t\t}\n\t\t})\n\t}, {\n\t\troot: root,\n\t\tthreshold: [0],\n\t\trootMargin:\"0px 0px 500px 0px\"\n\t})\n\nimgs = document.getElementsByTagName('img')\nArray.from(imgs).forEach(item => {\n\t\tlazy.observe(item)\n\t})\n\n//查看大图插件\nnew Viewer(root,{title:false,interval:3000})\n</script>",
    "ruleImage": "class.related_box@tag.img@src||a.0@href##.*\\/\\D*(.*)\\.html##https://www.xgmn02.com/UploadFile/pic/$1.jpg",
    "ruleLink": "tag.a@href",
    "ruleNextPage": "page",
    "rulePubDate": "@id.diggNum105@textNodes||@b@font@text",
    "ruleTitle": "class.r_title@text||b@text",
    "singleUrl": false,
    "sortUrl": "最近更新::https://www.xgmn08.com/new.html\n\n🔍搜索::https://www.xgmn08.com/plus/search/index.asp?keyword={{source.getVariable()}}&searchtype=titlekeywords&p={{page}}\n\n推荐::https://www.xgmn08.com/top.html\n\n\t\n随机::https://www.xgmn08.com/XiuRen/page_{{ Math.ceil(Math.random()*50) }}.html\n秀人网::https://www.xgmn08.com/Xiuren/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n尤蜜荟::https://www.xgmn08.com/YouMi/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n花漾::https://www.xgmn08.com/HuaYang/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n画语界::https://www.xgmn08.com/XiaoYu/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n性感尤物::https://www.xgmn08.com/Xgyw/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n星颜社::https://www.xgmn08.com/XingYan/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n爱蜜社::https://www.xgmn08.com/IMiss/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n爱尤物::https://www.xgmn08.com/Aiyouwu/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n模范学院::https://www.xgmn08.com/MFStar/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n嗲囡囡::https://www.xgmn08.com/FeiLin/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n美媛馆::https://www.xgmn08.com/MyGirl/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n尤物馆::https://www.xgmn08.com/YouWu/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n蜜桃社::https://www.xgmn08.com/MiiTao/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n优星馆::https://www.xgmn08.com/Uxing/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n御女郎::https://www.xgmn08.com/DKGirl/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n魅研社::https://www.xgmn08.com/MiStar/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n兔几盟::https://www.xgmn08.com/Tukmo/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n影私荟::https://www.xgmn08.com/WingS/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n星乐园::https://www.xgmn08.com/LeYuan/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n玩味生活::https://www.xgmn08.com/Taste/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n瑞丝馆::https://www.xgmn08.com/Micat/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n花颜::https://www.xgmn08.com/Huayan/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n御女郎::https://www.xgmn08.com/DKGirl/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n糖果画报::https://www.xgmn08.com/Candy/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n\n尤果网::https://www.xgmn08.com/Ugirls/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n青豆客::https://www.xgmn08.com/Tgod/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n果团网::https://www.xgmn08.com/Girlt/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n喵糖映画::https://www.xgmn08.com/Mtcos/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n菠萝社::https://www.xgmn08.com/BoLoli/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\nYS WEB::https://www.xgmn08.com/Ysweb/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n丝袜美腿::https://www.xgmn08.com/Siwameitui/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n美腿宝贝::https://www.xgmn08.com/LEGBABY/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n\n国产美女::https://www.xgmn08.com/Guochanmeinv/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n港台美女::https://www.xgmn08.com/Gangtaimeinv/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n日韩美女::https://www.xgmn08.com/Rihanmeinv/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n欧美美女::https://www.xgmn08.com/Oumeimeinv/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n内衣尤物::https://www.xgmn08.com/Neiyiyouwu/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\ncosplay::https://www.xgmn08.com/Cosplay/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}",
    "sourceComment": "网址发布页：QuanJiXiu.Top\n永久域名:Xgyw.Net",
    "sourceGroup": "📖 图文,R18",
    "sourceIcon": "https://www.xgmn02.com/uploadfile/202211/25/8B162910238.jpg",
    "sourceName": "美女网-秀人马甲",
    "sourceUrl": "https://www.xgmn02.com/233",
    "style": "* {\n\tmargin: 0;\n\tpadding: 0\n}\nul {\n\tfont-size: 0;\n\theight: 100%;\n\toverflow-y: scroll\n}\nli {\n\tlist-style: none;\n\ttext-align: center\n}\nimg {\n\twidth: 100%;\n\theight: auto\n}",
    "variableComment": ""
  },
  {
    "articleStyle": 0,
    "customOrder": 107,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": false,
    "singleUrl": true,
    "sourceGroup": "可用,R18",
    "sourceIcon": "https://m.uaa.com/assets/logo-af49a8e2.svg",
    "sourceName": "UAA漫画",
    "sourceUrl": "https://m.uaa.com/comic"
  },
  {
    "articleStyle": 0,
    "customOrder": 108,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": false,
    "singleUrl": true,
    "sourceGroup": "封子秦,R18",
    "sourceIcon": "http://mmbiz.qpic.cn/mmbiz_png/hpfMV8hEuL2eS6vnCxvTzoOiaCAibV6exBzJWq9xMic9xDg3YXAick87tsfafic0icRwkQ5ibV0bJ84JtSuxhPuEDVquA/0?wx_fmt=png",
    "sourceName": "漫香漫画",
    "sourceUrl": "https://xn--ksp-mxgmxgcom-yp8ve33bkpevz1kpxq.mxgmh.com/"
  },
  {
    "articleStyle": 0,
    "customOrder": 109,
    "enableJs": false,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": false,
    "singleUrl": true,
    "sourceGroup": "封子秦,R18",
    "sourceIcon": "http://mmbiz.qpic.cn/mmbiz_png/hpfMV8hEuL2eS6vnCxvTzoOiaCAibV6exBzJWq9xMic9xDg3YXAick87tsfafic0icRwkQ5ibV0bJ84JtSuxhPuEDVquA/0?wx_fmt=png",
    "sourceName": "小说书库",
    "sourceUrl": "http://m.xssk.la"
  },
  {
    "articleStyle": 1,
    "customOrder": 110,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.wrap@class.pignr||class.thumbs@class.thumb",
    "ruleContent": ".video-container@all",
    "ruleDescription": "",
    "ruleImage": "tag.img@src",
    "ruleLink": "tag.a@href",
    "ruleNextPage": "page",
    "ruleTitle": "class.title@text||tag.a@textNodes",
    "singleUrl": false,
    "sortUrl": "首页::https://sex8.ga/\n1::https://sex8.ga/list/1-{{page}}.html\n2::https://sex8.ga/list/2-{{page}}.html\n3::https://sex8.ga/list/3-{{page}}.html\n4::https://sex8.ga/list/4-{{page}}.html\n5::https://sex8.ga/list/5-{{page}}.html\n6::https://sex8.ga/list/6-{{page}}.html\n7::https://sex8.ga/list/7-{{page}}.html\n8::https://sex8.ga/list/8-{{page}}.html\n9::https://sex8.ga/list/9-{{page}}.html\n10::https://sex8.ga/list/10-{{page}}.html\n11::https://sex8.ga/list/11-{{page}}.html\n12::https://sex8.ga/list/12-{{page}}.html",
    "sourceGroup": "R18",
    "sourceIcon": "https://i.postimg.cc/q7MH2x2p/IMG-20220716-132525.jpg",
    "sourceName": "©Sex~8",
    "sourceUrl": "https://sex8.ga",
    "style": "img{height:0}\nvideo{width:100%}"
  },
  {
    "articleStyle": 0,
    "customOrder": 110,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\"User-Agent\": \"Mozilla/5.0 (Linux; Android 12; 22041211AC Build/SP1A.210812.016) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.104 Mobile Safari/537.36\"}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": ".list-group@a",
    "ruleContent": "<title>🏄Mengteen</title>\n{{@@.panel-body@p@html}}",
    "ruleImage": "@js:\"https://iknow-pic.cdn.bcebos.com/8326cffc1e178a82ae0a94affb03738da977e88f?x-bce-process=image/resize,m_lfit,w_600,h_800,limit_1/quality,q_85/format,f_auto\"",
    "ruleLink": "a@href",
    "ruleNextPage": "page",
    "rulePubDate": "@js:\"📖书中自有颜如玉;开启一天的阅读吧!\"",
    "ruleTitle": "a@text",
    "singleUrl": false,
    "sortUrl": "都市::/arttype/20-{{page}}.html\n搜索::/artsearch/{{source.getVariable()}}------{{page}}-.html\n校园::/arttype/21-{{page}}.html\n真实::/arttype/22-{{page}}.html\n武侠::/arttype/23-{{page}}.html\n乱伦::/arttype/24-{{page}}.html\n职场::/arttype/25-{{page}}.html\n经验::/arttype/26-{{page}}.html\n暴力::/arttype/27-{{page}}.html\n幻想::/arttype/28-{{page}}.html\n明星::/arttype/29-{{page}}.html\n人妻::/arttype/30-{{page}}.html",
    "sourceComment": "源社区：@Mengteen 2025.06.29原创\n二传二创或者是其它问题请联系我。\n我邮箱:[xxxmgqxxx@vip.qq.com]",
    "sourceGroup": "🔞,R18",
    "sourceIcon": "https://cdn.sshs.rip/42/e4/42a57308ab5eb9698a51342e1b658be4.webp",
    "sourceName": "🌸樱花文学",
    "sourceUrl": "https://yinghuar.yingxx102.cc/label/index.html##@Mengteen",
    "variableComment": "🏄Mengteen提示：在此输入关键词搜索！"
  },
  {
    "articleStyle": 0,
    "customOrder": 111,
    "enableJs": false,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "封子秦,R18",
    "sourceIcon": "http://mmbiz.qpic.cn/mmbiz_png/hpfMV8hEuL2eS6vnCxvTzoOiaCAibV6exBzJWq9xMic9xDg3YXAick87tsfafic0icRwkQ5ibV0bJ84JtSuxhPuEDVquA/0?wx_fmt=png",
    "sourceName": "新御书屋",
    "sourceUrl": "https://m.eyushuwu.vip/"
  },
  {
    "articleStyle": 2,
    "customOrder": 112,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.list@class.item",
    "ruleContent": ".photos@all",
    "ruleImage": "img@src",
    "ruleLink": "tag.a.0@href",
    "ruleNextPage": "text.下一页@href",
    "rulePubDate": "",
    "ruleTitle": ".item@tag.a@img@alt",
    "singleUrl": false,
    "sortUrl": "人体摄影::https://xchina.co/photos/kind-2/{{page}}.html\n北京天使::https://xchina.co/photos/series-622c7f95220a4.html\nSK丝库::https://xchina.co/photos/series-5f382ba894af4.html\nFantasy Factory::https://xchina.co/photos/series-5f889afb37619.html\nTPimage::https://xchina.co/photos/series-5f7a0a80d3d66.html\nA4U::https://xchina.co/photos/series-5f60b98248a81.html\n韩国模特::https://xchina.co/photos/series-5f1d345bf2a1d.html\n王动作品::https://xchina.co/photos/series-5f26a5c1d39e9.html\n性感写真::https://xchina.co/photos/kind-1/{{page}}.html",
    "sourceGroup": "R18",
    "sourceIcon": "https://i.postimg.cc/Kz2hFV3P/ySn1UA.png",
    "sourceName": "📖小黄书",
    "sourceUrl": "https://xchina.co/photos/kind-2.html",
    "style": "* {\n\tmargin: 0;\n\tpadding: 0\n}\nul {\n\tfont-size: 0;\n\theight: 100%;\n\toverflow-y: scroll\n}\nli {\n\tlist-style: none;\n\ttext-align: center\n}\nimg {\n\twidth: 100%;\n\theight: auto\n}"
  },
  {
    "articleStyle": 0,
    "customOrder": 113,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": false,
    "singleUrl": true,
    "sourceGroup": "封子秦,R18",
    "sourceIcon": "http://mmbiz.qpic.cn/mmbiz_png/hpfMV8hEuL2eS6vnCxvTzoOiaCAibV6exBzJWq9xMic9xDg3YXAick87tsfafic0icRwkQ5ibV0bJ84JtSuxhPuEDVquA/0?wx_fmt=png",
    "sourceName": "十八全本",
    "sourceUrl": "https://m.po18sf.com"
  },
  {
    "articleStyle": 1,
    "customOrder": 113,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": ".video",
    "ruleContent": ".content-title@text&&script@all&&.content-details@text",
    "ruleImage": "img@src",
    "ruleLink": "h5 a@href",
    "ruleNextPage": "page",
    "rulePubDate": "👁️{{@@.video-views@text}}",
    "ruleTitle": "h5@text",
    "singleUrl": false,
    "sortUrl": "最新视频::https://www.aiwuav.xyz/index.php/label/new.html\n【麻豆原创】\nMD系列::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp4/page/{{page}}.html\n导演系列::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp5/page/{{page}}.html\nMDS系列::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp6/page/{{page}}.html\nMDX系列::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp7/page/{{page}}.html\nMKY系列::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp87/page/{{page}}.html\nMCY系列::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp96/page/{{page}}.html\nMDXS系列::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp8/page/{{page}}.html\nMDL系列::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp46/page/{{page}}.html\nMMZ系列::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp50/page/{{page}}.html\nMAD系列::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp53/page/{{page}}.html\nMDWP系列::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp58/page/{{page}}.html\nMLT系列::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp63/page/{{page}}.html\nMSD系列::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp64/page/{{page}}.html\nMSM性梦者::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp65/page/{{page}}.html\nMDM恋爱咖啡馆::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp74/page/{{page}}.html\nMDUS系列::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp78/page/{{page}}.html\nMXJ系列::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp79/page/{{page}}.html\nMSG系列::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp86/page/{{page}}.html\nMAN系列::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp89/page/{{page}}.html\nMDAG系列::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp100/page/{{page}}.html\nMDHT系列::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp101/page/{{page}}.html\n【原创伙伴】\n吴梦梦无套系列::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp13/page/{{page}}.html\n蜜桃影像传媒::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp15/page/{{page}}.html\n辣椒原创::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp80/page/{{page}}.html\n果冻传媒::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp11/page/{{page}}.html\nO-STAR::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp81/page/{{page}}.html\n皇家华人::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp12/page/{{page}}.html\n91制片厂::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp52/page/{{page}}.html\n天美传媒::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp45/page/{{page}}.html\n兔子先生::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp10/page/{{page}}.html\n叮叮映画::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp71/page/{{page}}.html\n涩会::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp72/page/{{page}}.html\n红斯灯影像::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp103/page/{{page}}.html\n麻麻传媒::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp104/page/{{page}}.html\nPsychoPorn色控::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp14/page/{{page}}.html\n杏吧专区::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp9/page/{{page}}.html\n蝌蚪传媒::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp105/page/{{page}}.html\nPussy Hunter::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp106/page/{{page}}.html\n瑷荳传媒::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp107/page/{{page}}.html\n桃花源::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp108/page/{{page}}.html\n豚豚创媒::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp75/page/{{page}}.html\n宫美娱乐::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp85/page/{{page}}.html\n肉肉传媒::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp91/page/{{page}}.html\n爱妃传媒::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp76/page/{{page}}.html\n渡边传媒::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp95/page/{{page}}.html\n葵心娱乐::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp97/page/{{page}}.html\nYOKUBOU::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp98/page/{{page}}.html\n大番号番啪啪::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp16/page/{{page}}.html\nREAL野性派::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp29/page/{{page}}.html\n【节目企划】\n女优淫娃培训营::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp42/page/{{page}}.html\n女优擂台摔角狂热::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp55/page/{{page}}.html\n男女优生死斗::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp66/page/{{page}}.html\n情人劫密室逃脱::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp67/page/{{page}}.html\n换妻::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp68/page/{{page}}.html\n你好同学::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp69/page/{{page}}.html\n禁欲小屋::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp77/page/{{page}}.html\n鲍鱼的胜利::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp84/page/{{page}}.html\n性爱自修室::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp88/page/{{page}}.html\n春游记::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp92/page/{{page}}.html\n心动的性号::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp93/page/{{page}}.html\n情趣大富翁::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp94/page/{{page}}.html\n男优练习生::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp102/page/{{page}}.html\n女神羞羞研究院::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp24/page/{{page}}.html\n突袭女优计划::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp23/page/{{page}}.html\n淫欲游戏王::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp40/page/{{page}}.html\n麻豆不回家::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp41/page/{{page}}.html\n狼人插::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp54/page/{{page}}.html\n创造淫2021::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp56/page/{{page}}.html\n恋爱巴士::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp61/page/{{page}}.html\n麻豆达人秀::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp70/page/{{page}}.html\n30天解密麻豆::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp22/page/{{page}}.html\n大鸟十八::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp17/page/{{page}}.html\n疯拍系列::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp18/page/{{page}}.html\nKISS糖果屋::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp19/page/{{page}}.html\n情趣K歌房::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp31/page/{{page}}.html\n小哥哥艾理::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp27/page/{{page}}.html\n小鹏奇啪行::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp20/page/{{page}}.html\n男优出征趣::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp21/page/{{page}}.html\n寻宝吧女神::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp99/page/{{page}}.html\n【国产片商】\n星空无限传媒::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp47/page/{{page}}.html\nCCAV成人头条::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp90/page/{{page}}.html\n精东影业::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp34/page/{{page}}.html\n糖心::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp73/page/{{page}}.html\n葫芦影业::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp82/page/{{page}}.html\n乌鸦传媒::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp33/page/{{page}}.html\nMINI传媒::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp62/page/{{page}}.html\n天马传媒::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp83/page/{{page}}.html\n乐播传媒::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp48/page/{{page}}.html\n大象传媒::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp59/page/{{page}}.html\n台湾SWAG::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp36/page/{{page}}.html\n开心鬼传媒::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp57/page/{{page}}.html\n【免费专区】\n国产短视频::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp38/page/{{page}}.html\nHongKongDoll::https://www.aiwuav.xyz/index.php/&m=vodtype/mdapp60/page/{{page}}.html",
    "sourceComment": "爱污传媒",
    "sourceGroup": "R18",
    "sourceIcon": "https://i.postimg.cc/dt0f9Yph/1658062443334.png",
    "sourceName": "爱污传媒",
    "sourceUrl": "https://www.aiwuav.xyz",
    "style": ""
  },
  {
    "articleStyle": 0,
    "concurrentRate": "",
    "customOrder": 114,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.related_posts@tag.li||class.node@tag.p",
    "ruleContent": "<js>page=Number({{@@class.pagination.0@tag.a.-2@textNodes}})\nurl=baseUrl.replace('.html','_')\n\nnurl=[]\nfor(i=1;i<page;i++){\n\t\tnurl.push(url+i+'.html,{\"retry\": 9}')\n\t}\n\nhtml=src\njava.toast('稍等片刻\\n　正在飞速加载')\njava.ajaxAll(nurl).map(item=>{\n\t\thtml += '\\n'+item.body()\n\t})\njava.toast('加载成功\\n　正在获取图片')\nhtml\n</js>\n\nclass.article-content@tag.p@tag.img@src\n<js>\nli='\\n'\nlist=result.split('\\n')\nfor(i in list){\n\t\tli += '<li><img src=\"http://bpic.wotucdn.com/20/32/52/20325281-1190f9105412b42f759882ce262c2dcb-3.jpg\" data-src=\"'+list[i]+'\"></li>\\n'\n\t}\nli\n</js>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\">\n\r\n\n\n<ul id=\"box\">\n{{result}}\n</ul>\n\n\n<link rel=\"stylesheet\" href=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.css\">\r\n<script src=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.js\"></script>\n<script>\n\troot = document.getElementById('box')\n\tlazy = new IntersectionObserver(entires => {\n\t\tentires.forEach(item => {\n\t\t\tif(item.isIntersecting){\n\t\t\t\titem=item.target\n\t\t\t\titem.src=item.getAttribute('data-src')\n\t\t\t\tlazy.unobserve(item)\n\t\t\t}\n\t\t})\n\t}, {\n\t\troot: root,\n\t\tthreshold: [0],\n\t\trootMargin:\"0px 0px 500px 0px\"\n\t})\n\nimgs = document.getElementsByTagName('img')\nArray.from(imgs).forEach(item => {\n\t\tlazy.observe(item)\n\t})\n\n//查看大图插件\nnew Viewer(root,{title:false,interval:3000})\n</script>",
    "ruleDescription": "",
    "ruleImage": "tag.a@tag.img@src||a.0@href##.*\\/\\D*(.*)\\.html##https://www.xgmn02.com/UploadFile/pic/$1.jpg",
    "ruleLink": "tag.a@href",
    "ruleNextPage": "page",
    "rulePubDate": "",
    "ruleTitle": "h2@text||tag.a@title||tag.b@text",
    "singleUrl": false,
    "sortUrl": "秀人首页::https://www.xgmn02.xyz/Xiuren/\n秀人后页::https://www.xgmn02.xyz/Xiuren/page_{{page+1}}.html\n搜索::https://www.xgyw09.xyz/plus/search/index.asp?keyword={{source.getVariable()}}&searchtype=titlekeywords&p={{page}}",
    "sourceComment": "",
    "sourceGroup": "封子秦,R18",
    "sourceIcon": "https://img0.baidu.com/it/u=1960352606,3294699366&fm=253&fmt=auto&app=120&f=JPEG?w=1200&h=675",
    "sourceName": "秀人图集",
    "sourceUrl": "https://www.xgmn02.xyz/",
    "style": "* {\n\tmargin: 0;\n\tpadding: 0\n}\nul {\n\tfont-size: 0;\n\theight: 100%;\n\toverflow-y: scroll\n}\nli {\n\tlist-style: none;\n\ttext-align: center\n}\nimg {\n\twidth: 100%;\n\theight: auto\n}"
  },
  {
    "articleStyle": 2,
    "customOrder": 116,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": ".books@.bk",
    "ruleContent": "",
    "ruleDescription": "a.0@href<js>\njava.setContent(java.ajax(`https://408mh.com${result}`));\njava.getElements(\"@@li[11:]\").toArray().join()\n</js>",
    "ruleImage": "img@src",
    "ruleLink": "a[12:]@href",
    "ruleNextPage": "text.下一页@href",
    "rulePubDate": "span@text",
    "ruleTitle": "a.1@title",
    "singleUrl": false,
    "sortUrl": "3D彩漫::https://408mh.com/3d/list_213_1.html\n日韩漫画::https://408mh.com/mh/list_1_1.html\n胴体诱惑::https://408mh.com/yh/list_82_1.html\n性感裸体::https://408mh.com/qs/list_90_1.html\n美女图片::https://408mh.com/mv/list_67_1.html\n私房美图::https://408mh.com/2cy/list_68_1.html\n街拍美女::https://408mh.com/jp/list_1011_1.html\n短篇小说::https://408mh.com/dpxs/\n长篇小说::https://408mh.com/cpxs/\nGif::https://408mh.com/gif/",
    "sourceGroup": "R18",
    "sourceIcon": "https://i.postimg.cc/qBnJXVFP/1655307364216.png",
    "sourceName": "✡3A漫画®",
    "sourceUrl": "https://408mh.com"
  },
  {
    "articleStyle": 1,
    "concurrentRate": "",
    "customOrder": 117,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginCheckJs": "",
    "loginUi": "",
    "loginUrl": "",
    "ruleArticles": "",
    "ruleContent": "",
    "ruleDescription": "",
    "ruleImage": "",
    "ruleLink": "",
    "ruleNextPage": "",
    "rulePubDate": "",
    "ruleTitle": "",
    "singleUrl": false,
    "sortUrl": "中字::https://rsshub.app/t66y/26\n技术区::https://rsshub.app/t66y/7\n图区::https://rsshub.app/t66y/8\n盖区::https://rsshub.app/t66y/16\nhttp::https://rsshub.app/t66y/21\n文学区::https://rsshub.app/t66y/20",
    "sourceComment": "草榴图文",
    "sourceGroup": "R18",
    "sourceIcon": "https://i.postimg.cc/qRRpTpFs/ytDpOe.jpg",
    "sourceName": "📖草榴ζ",
    "sourceUrl": "https://rsshub.app/t66y/",
    "style": ""
  },
  {
    "articleStyle": 2,
    "customOrder": 118,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.card-columns@class.card",
    "ruleContent": "<js>`<html><body style=\"background-color:black\">${java.getString('$.*image.*url',java.getString('//script[@type=\"application/ld+json\"]/text()'),false).split('\\n').map(src=>`\\n<img src=\"${src}\">`).join('')}</body></html>`</js>",
    "ruleDescription": "",
    "ruleImage": "img@data-src",
    "ruleLink": "class.visited@href",
    "ruleNextPage": "page",
    "ruleTitle": "class.card-body@text",
    "singleUrl": false,
    "sortUrl": "最新::https://www.photos18.com/?page={{page}}&per-page=100\nAidol::https://www.photos18.com/cat/13?page={{page}}\n\n清凉写真::https://www.photos18.com/zh-hans/cat/3?page={{page}}&per-page=100\n\n美女::https://www.photos18.com/cat/5?page={{page}}\n\n极品::https://www.photos18.com/cat/11?page={{page}}\n\n丝袜::https://www.photos18.com/cat/4?page={{page}}\n\n亚洲::https://www.photos18.com/cat/9?page={{page}}\n\ncos::https://www.photos18.com/cat/11?page={{page}}\n\n素人::https://www.photos18.com/cat/6?page={{page}}\n\n欧美::https://www.photos18.com/cat/10?page={{page}}\n\n泰国::https://www.photos18.com/cat/16?page={{page}}\n\nMagazine::https://www.photos18.com/cat/14?page={{page}}\n\nGravure::https://www.photos18.com/cat/12?page={{page}}\n\nKorea1:https://www.photos18.com/cat/15?page={{page}}\n\n夜店::https://www.photos18.com/cat/2?page={{page}}",
    "sourceComment": "斧头帮全体同仁恭迎火云邪神，来跟一根华子波",
    "sourceGroup": "R18",
    "sourceIcon": "https://i.postimg.cc/pTbSBG9m/IMG-20220808-222629.jpg",
    "sourceName": "📖图片18",
    "sourceUrl": "https://www.photos18.com/",
    "style": ""
  },
  {
    "articleStyle": 2,
    "customOrder": 119,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "{\"User-Agent\":\"Mozilla/5.0 (Linux; Android 10; TEL-AN00 Build/HONORTEL-AN00; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/92.0.4515.105 Mobile Safari/537.36\"}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "li!0:1:2:3:4:5:6:7:8||class.grid-item",
    "ruleContent": "<!DOCTYPE html>\n<html>\n\n<head>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\">\n    <link rel=\"stylesheet\" href=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.css\">\n    <script src=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.js\"></script>\n    <script src=\"http://lib.sinaapp.com/js/jquery/2.0.2/jquery-2.0.2.min.js\"></script>\n</head>\n\n<body>\n    <h3>{{@@.content@tag.h1@text}}</h3>\n<h5>{{@class.info@text}}</h5>\n{{@@video@html}}\n    <div id=\"box\">{{@@class.acg-manga@tag.p@tag.img@html}}</div>\n    <div id=\"loads\">加载中 </div>\n    <script>\n        var loads;\n        $(document).ready(function () {\n            var box = document.getElementById(\"box\");\n            loads = document.getElementById(\"loads\");\n            new Viewer(box, { title: false, interval: 3000 })\n            var i = 1;\n            var page = {{@@class.page.0@tag.a.-2@textNodes##\\n}}-1;\n            var url = \"{{baseUrl.replace('.html','-')}}\";\n            new IntersectionObserver(entries => {\n                if (entries[0].intersectionRatio) {\n                    if (entries[0].intersectionRatio <= 0) return;\n                    for (var j = 0; j < 1; j++) {\n                        fetchHtml(i, page, url);\n                        i += 1;\n                    }\n                }\n            }).observe(loads)\n        });\n\n\n        function fetchHtml(i, page, url) {\n        \t\n            if (i <= page) {\n                nurl = url + i + '.html';\n                $.ajax({\n                    url: nurl,\n                    dataType: 'html',\n                    success: function (html) {\n                        $('#box').append('<h5>' + (++i) + '->' + (++page) + '</h5>');\n                        $('#box').append($(html).find('p img'));\n                        box.viewer.update();\n                    },\n                    error: function (xhr) { }\n                });\n            } else {\n                $('#loads').html(\"\");\n            }\n        }\n    </script>\n</body>\n\n</html>\n",
    "ruleDescription": "",
    "ruleImage": "tag.a@tag.img@src",
    "ruleLink": "a@href",
    "ruleNextPage": "class.page bigpage@tag.a.-1@href",
    "rulePubDate": "\nspan.1:2@text##\\n##,",
    "ruleTitle": "a@title ",
    "singleUrl": false,
    "sortUrl": "\n图集::/hentai/index.html\n漫画::/h/index.html\n动画::/gif/index.html\n全彩::/tags/full-color.html\n网漫::/webtoon/index.html\n西漫::/western/index.html\n写真::/cos/index.html\n有声:/asmr/index.html",
    "sourceComment": "增加了视频播放",
    "sourceGroup": "封子秦,R18",
    "sourceIcon": "https://www.acgmhx.com/favicon.ico",
    "sourceName": "嗨漫之家",
    "sourceUrl": "https://www.acgmhx.com/index.html",
    "style": "/*标题相关*/\r\nh3{text-align:center}\r\nh6{margin-bottom:0}\r\nimg{width:100%;height: auto}\nvideo{width:100%;height: auto}\nh5{margin-bottom:0;padding-left:5;}"
  },
  {
    "articleStyle": 2,
    "customOrder": 120,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.related_box||p",
    "ruleContent": "<js>page=Number({{@@class.pagination.0@tag.a.-2@textNodes}})\nurl=baseUrl.replace('.html','_')\n\nnurl=[]\nfor(i=1;i<page;i++){\n\t\tnurl.push(url+i+'.html,{\"retry\": 9}')\n\t}\n\nhtml=src\njava.toast('稍等片刻\\n　正在飞速加载')\njava.ajaxAll(nurl).map(item=>{\n\t\thtml += '\\n'+item.body()\n\t})\njava.toast('加载成功\\n　正在获取图片')\nhtml\n</js>\n\nclass.article-content@tag.p@tag.img@src\n<js>\nli='\\n'\nlist=result.split('\\n')\nfor(i in list){\n\t\tli += '<li><img src=\"http://bpic.wotucdn.com/20/32/52/20325281-1190f9105412b42f759882ce262c2dcb-3.jpg\" data-src=\"'+list[i]+'\"></li>\\n'\n\t}\nli\n</js>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\">\n\r\n\n\n<ul id=\"box\">\n{{result}}\n</ul>\n\n\n<link rel=\"stylesheet\" href=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.css\">\r\n<script src=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.js\"></script>\n<script>\n\troot = document.getElementById('box')\n\tlazy = new IntersectionObserver(entires => {\n\t\tentires.forEach(item => {\n\t\t\tif(item.isIntersecting){\n\t\t\t\titem=item.target\n\t\t\t\titem.src=item.getAttribute('data-src')\n\t\t\t\tlazy.unobserve(item)\n\t\t\t}\n\t\t})\n\t}, {\n\t\troot: root,\n\t\tthreshold: [0],\n\t\trootMargin:\"0px 0px 500px 0px\"\n\t})\n\nimgs = document.getElementsByTagName('img')\nArray.from(imgs).forEach(item => {\n\t\tlazy.observe(item)\n\t})\n\n//查看大图插件\nnew Viewer(root,{title:false,interval:3000})\n</script>",
    "ruleImage": "class.related_box@tag.img@src||a.0@href##.*\\/\\D*(.*)\\.html##https://www.xgmn02.com/UploadFile/pic/$1.jpg",
    "ruleLink": "tag.a@href",
    "ruleNextPage": "class.page@tag.a.-2@href",
    "rulePubDate": "@id.diggNum105@textNodes||@b@font@text",
    "ruleTitle": "class.r_title@text||b@text",
    "singleUrl": false,
    "sortUrl": "最近更新::/new.html\n🔍搜索::/plus/search/index.asp?keyword={{source.getVariable()}}&searchtype=title\n推荐::/top.html\n随机::/XiuRen/page_{{ Math.ceil(Math.random()*50) }}.html\n秀人网::/Xiuren/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\nDJAWA::/DJAWA/\n尤蜜荟::/YouMi/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n花漾::/HuaYang/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n画语界::/XiaoYu/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n性感尤物::/Xgyw/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n星颜社::/XingYan/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n爱蜜社::/IMiss/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n爱尤物::/Aiyouwu/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n模范学院::/MFStar/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n嗲囡囡::/FeiLin/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n美媛馆::/MyGirl/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n尤物馆::/YouWu/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n蜜桃社::/MiiTao/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n优星馆::/Uxing/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n御女郎::/DKGirl/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n魅研社::/MiStar/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n兔几盟::/Tukmo/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n影私荟::/WingS/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n星乐园::/LeYuan/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n玩味生活::/Taste/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n瑞丝馆::/Micat/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n花颜::/Huayan/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n御女郎::/DKGirl/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n糖果画报::/Candy/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n尤果网::/Ugirls/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n青豆客::/Tgod/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n果团网::/Girlt/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n喵糖映画::/Mtcos/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n菠萝社::/BoLoli/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\nYS WEB::/Ysweb/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n丝袜美腿::/Siwameitui/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n美腿宝贝::/LEGBABY/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n国产美女::/Guochanmeinv/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n港台美女::/Gangtaimeinv/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n日韩美女::/Rihanmeinv/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n欧美美女::/Oumeimeinv/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\n内衣尤物::/Neiyiyouwu/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}\ncosplay::/Cosplay/{{page - 1 == 0 ? \"\" : \"page_\"+page+\".html\"}}",
    "sourceComment": "网址发布页：QuanJiXiu.Top\n永久域名:Xgyw.Net",
    "sourceGroup": "封子秦,R18",
    "sourceIcon": "https://img1.baidu.com/it/u=3262300751,2192213310&fm=253&fmt=auto&app=138&f=JPEG?w=889&h=500",
    "sourceName": "美女网-秀人马甲",
    "sourceUrl": "https://www.xgyw09.xyz/",
    "style": "* {\n\tmargin: 0;\n\tpadding: 0\n}\nul {\n\tfont-size: 0;\n\theight: 100%;\n\toverflow-y: scroll\n}\nli {\n\tlist-style: none;\n\ttext-align: center\n}\nimg {\n\twidth: 100%;\n\theight: auto\n}",
    "variableComment": ""
  },
  {
    "articleStyle": 0,
    "customOrder": 121,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.related_box",
    "ruleContent": "\n<js>page=Number({{@@class.pagination.0@tag.a.-2@textNodes}})\nurl=baseUrl.replace('.html','_')\n\nnurl=[]\nfor(i=1;i<page;i++){\n\t\tnurl.push(url+i+'.html,{\"retry\": 9}')\n\t}\n\nhtml=src\njava.toast('稍等片刻\\n　正在飞速加载')\njava.ajaxAll(nurl).map(item=>{\n\t\thtml += '\\n'+item.body()\n\t})\njava.toast('加载成功\\n　正在获取图片')\nhtml\n</js>\n\nclass.article-content@tag.p@tag.img@src\n<js>\nli='\\n'\nlist=result.split('\\n')\nfor(i in list){\n\t\tli += '<li><img src=\"http://bpic.wotucdn.com/20/32/52/20325281-1190f9105412b42f759882ce262c2dcb-3.jpg\" data-src=\"'+list[i]+'\"></li>\\n'\n\t}\nli\n</js>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\">\n\n\n<ul id=\"box\">\n{{result}}\n</ul>\n\n\n<link rel=\"stylesheet\" href=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.css\">\r\n<script src=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.js\"></script>\n<script>\n\troot = document.getElementById('box')\n\tlazy = new IntersectionObserver(entires => {\n\t\tentires.forEach(item => {\n\t\t\tif(item.isIntersecting){\n\t\t\t\titem=item.target\n\t\t\t\titem.src=item.getAttribute('data-src')\n\t\t\t\tlazy.unobserve(item)\n\t\t\t}\n\t\t})\n\t}, {\n\t\troot: root,\n\t\tthreshold: [0],\n\t\trootMargin:\"0px 0px 500px 0px\"\n\t})\n\nimgs = document.getElementsByTagName('img')\nArray.from(imgs).forEach(item => {\n\t\tlazy.observe(item)\n\t})\n\n//查看大图插件\nnew Viewer(root,{title:false,interval:3000})\n</script>",
    "ruleImage": "class.related_box@tag.img@src",
    "ruleLink": "tag.a@href",
    "ruleNextPage": "class.pagination@tag.a.-2@href",
    "rulePubDate": "id.diggNum105@textNodes",
    "ruleTitle": "class.r_title@text",
    "singleUrl": false,
    "sortUrl": "推荐::/top.html\n搜索::http://107.148.205.22/plus/search/index.asp?keyword={{source.getVariable()}}&searchtype=titlekeywords&p={{page}}\n秀人网::/XiuRen/\r\nImiss爱蜜社::/IMiss/\r\n模范学院::/MFStar/\r\n魅妍社::/MiStar/\r\n美媛馆::/MyGirl/\r\n尤物馆::/YouWu/\r\n嗲囡囡::/FeiLin/\r\n蜜桃社::/MiiTao/\r\n尤蜜荟::/YouMi/\r\n画语界::/XiaoYu/\r\n花漾::/HuaYang/\r\n星颜社::/XingYan/\r\n兔几盟::/BoLoli/\r\n优星馆::/Uxing/\r\n影私荟::/WingS/\r\n星乐园::/LeYuan/\r\n顽味生活::/Taste/\r\n糖果画报::/Candy/\r\n萌榜::/Micat/",
    "sourceComment": "https://www.xgyw09.xyz/plus/search/index.asp?keyword=%E5%AD%A6%E7%94%9F&searchtype=titlekeywords\n\nhttps://www.xgyw09.xyz/plus/search/index.asp?keyword={{source.getVariable()}}&searchtype=titlekeywords&p={{page}}\n",
    "sourceGroup": "封子秦,R18",
    "sourceIcon": "https://img0.baidu.com/it/u=959891578,717322637&fm=253&fmt=auto&app=138&f=BMP?w=500&h=750",
    "sourceName": "美女网",
    "sourceUrl": "https://www.xgyw.pro/",
    "style": "* {\n\tmargin: 0;\n\tpadding: 0\n}\nul {\n\tfont-size: 0;\n\theight: 100%;\n\toverflow-y: scroll\n}\nli {\n\tlist-style: none;\n\ttext-align: center\n}\nimg {\n\twidth: 100%;\n\theight: auto\n}"
  },
  {
    "articleStyle": 2,
    "concurrentRate": "",
    "customOrder": 122,
    "enableJs": true,
    "enabled": false,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.related_posts@tag.li||class.node@tag.p",
    "ruleContent": "<js>page=Number({{@@class.pagination.0@tag.a.-2@textNodes}})\nurl=baseUrl.replace('.html','_')\n\nnurl=[]\nfor(i=1;i<page;i++){\n\t\tnurl.push(url+i+'.html,{\"retry\": 9}')\n\t}\n\nhtml=src\njava.toast('稍等片刻\\n　正在飞速加载')\njava.ajaxAll(nurl).map(item=>{\n\t\thtml += '\\n'+item.body()\n\t})\njava.toast('加载成功\\n　正在获取图片')\nhtml\n</js>\n\nclass.article-content@tag.p@tag.img@src\n<js>\nli='\\n'\nlist=result.split('\\n')\nfor(i in list){\n\t\tli += '<li><img src=\"http://bpic.wotucdn.com/20/32/52/20325281-1190f9105412b42f759882ce262c2dcb-3.jpg\" data-src=\"'+list[i]+'\"></li>\\n'\n\t}\nli\n</js>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\">\n\r\n\n\n<ul id=\"box\">\n{{result}}\n</ul>\n\n\n<link rel=\"stylesheet\" href=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.css\">\r\n<script src=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.js\"></script>\n<script>\n\troot = document.getElementById('box')\n\tlazy = new IntersectionObserver(entires => {\n\t\tentires.forEach(item => {\n\t\t\tif(item.isIntersecting){\n\t\t\t\titem=item.target\n\t\t\t\titem.src=item.getAttribute('data-src')\n\t\t\t\tlazy.unobserve(item)\n\t\t\t}\n\t\t})\n\t}, {\n\t\troot: root,\n\t\tthreshold: [0],\n\t\trootMargin:\"0px 0px 500px 0px\"\n\t})\n\nimgs = document.getElementsByTagName('img')\nArray.from(imgs).forEach(item => {\n\t\tlazy.observe(item)\n\t})\n\n//查看大图插件\nnew Viewer(root,{title:false,interval:3000})\n</script>",
    "ruleDescription": "",
    "ruleImage": "tag.a@tag.img@src||a.0@href##.*\\/\\D*(.*)\\.html##https://www.xgmn02.com/UploadFile/pic/$1.jpg",
    "ruleLink": "tag.a@href",
    "ruleNextPage": "page",
    "rulePubDate": "",
    "ruleTitle": "h2@text||tag.a@title||tag.b@text",
    "singleUrl": false,
    "sortUrl": "最新::/new.html\n推荐::/top.html\n秀人网::Xiuren/page_{{page+1}}.html\n美媛馆::MyGirl/page_{{page+1}}.html\n尤物馆::YouWu/page_{{page+1}}.html\n爱蜜社::IMiss/page_{{page+1}}.html\n蜜桃社::MiiTao/page_{{page+1}}.html\n优星馆::Uxing/page_{{page+1}}.html\n嗲囡囡::FeiLin/page_{{page+1}}.html\n魅妍社::MiStar/page_{{page+1}}.html\n兔几盟::Tukmo/page_{{page+1}}.html\n影私荟::WingS/\n星乐园::LeYuan/page_{{page+1}}.html\n顽味生活::Taste/page_{{page+1}}.html\n模范学院::MFStar/page_{{page+1}}.html\n花の顔::Huayan/page_{{page+1}}.html\n御女郎::DKGirl/page_{{page+1}}.html\n网红馆::Candy/page_{{page+1}}.html\n尤蜜荟::YouMi/page_{{page+1}}.html\n薄荷叶::MintYe/\n瑞丝馆::Micat/page_{{page+1}}.html\n模特联盟::Mtmeng/\n花漾::HuaYang/page_{{page+1}}.html\n星颜社::XingYan/page_{{page+1}}.html\n画语界::XiaoYu/page_{{page+1}}.html\n艺图语::Yituyu/\n推女郎::Tuigirl/page_{{page+1}}.html\n尤果网::Ugirls/page_{{page+1}}.html\n青豆客::Tgod/page_{{page+1}}.html\n头条女神::TouTiao/page_{{page+1}}.html\n果团网::Girlt/page_{{page+1}}.html\n喵糖映画::Mtcos/page_{{page+1}}.html\n爱尤物::Aiyouwu/page_{{page+1}}.html\n波萝社::BoLoli/page_{{page+1}}.html\n猎女神::Slady/\n尤蜜::YouMei/page_{{page+1}}.html\nYsweb::Ysweb/page_{{page+1}}.html\n潘多拉::Pdl/page_{{page+1}}.html\nArtgravia::Artgravia/\nCosplay::Cosplay/page_{{page+1}}.html\n性感::Xgyw/page_{{page+1}}.html\n内衣::neiyiyouwu/page_{{page+1}}.html",
    "sourceComment": "",
    "sourceGroup": "封子秦,R18",
    "sourceIcon": "http://i1.shaodiyejin.com/uploads/tu/201911/10133/743e1b888e_77.jpg",
    "sourceName": "秀人集",
    "sourceUrl": "https://www.xg05.xyz/",
    "style": "* {\n\tmargin: 0;\n\tpadding: 0\n}\nul {\n\tfont-size: 0;\n\theight: 100%;\n\toverflow-y: scroll\n}\nli {\n\tlist-style: none;\n\ttext-align: center\n}\nimg {\n\twidth: 100%;\n\theight: auto\n}"
  },
  {
    "articleStyle": 0,
    "concurrentRate": "",
    "customOrder": 123,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\n    'User-Agent': 'Mozilla/5.0 (Linux; Android 11; Pixel 3 XL Build/RQ3A.211001.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/102.0.4988.0 Mobile Safari/537.36 SearchCraft/3.9.2 (Baidu; P1 11) '\n}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "<js>\njson=[];\nif(baseUrl.match(/ /)){\nlist=baseUrl.replace(/http.*?wd=\\s*/,'').split(' ');\nfor(i in list){\nhref=list[i].match(/【(.*?)】/)[1];\ntext=list[i].match(/《(.*?)》/)[1];\nintro=list[i].match(/◎(.*?)◎/)[1];\nindex=list[i].match(/^(\\d+、\\d+、)/)?list[i].match(/^(\\d+、\\d+、)/)[1]:list[i].match(/^(.*?)【/)[1]\njson.push({text:text,src:href,intro:intro,index:index})\n}\n}\nJSON.stringify(json)</js>\n$.[*]",
    "ruleContent": "",
    "ruleDescription": "",
    "ruleImage": "$.src",
    "ruleLink": "$.index",
    "ruleNextPage": "",
    "rulePubDate": "$.intro",
    "ruleTitle": "$.text",
    "singleUrl": false,
    "sortUrl": "🎥-影视▪️影院::https://www.o8tv.com/【https://i.postimg.cc/Gt9kN6VT/de6a398e2e6f25cd8fea8814651e2403.png】《555影院》◎在线影院◎ https://www.libvio.me/【https://i.postimg.cc/nzjWQ5SG/1657028424447.png】《Libvio.me》◎在线影院◎ https://fullxcinema.com/category/celebrity-porn-videos/【https://i.postimg.cc/P5L9Z6Hw/141e2972743b1e14db0c2fe409fd3fda.png】《全电影网》◎电影网站◎ https://www.novipnoad.com/【https://i.postimg.cc/Y2y7w6rm/1657177866100.png】《Novipnoad》◎在线影院◎ http://m.aikantv.org/【https://i.postimg.cc/L5FKJwJY/1657464485475.png】《爱看卫视®》◎卫视直播◎ https://www.pbpb.tv/【https://i.postimg.cc/6q7P40T7/1657171372253.png】《片吧影院》◎在线影院◎ http://m.nvzox1.com/【https://i.postimg.cc/Gh5M40BM/1660216319238.png】《观影时光》◎在线影院◎ https://www.wzblmjg.com/【https://i.postimg.cc/90YS3Vq5/1657217561547.png】《策驰影院》◎影院在线◎ https://app.movie/【https://i.postimg.cc/2jZWSPmM/5b55c5e231aca321b58fe16d59c3ee75.png】《App影院》◎在线影院◎ https://www.9sha.com/【https://i.postimg.cc/Mp52b9rZ/1658047723416.png】《九杀影院》◎在线影院◎ http://www.aiqingtv.com:8/【https://i.postimg.cc/rmsLp1bX/1657442859439.png】《爱情.TV®》◎AV视频网站◎ https://www.pkmp4.com/【https://i.postimg.cc/W4T8QvbP/1657585183153.png】《片库影院》◎在线影院◎ https://ddrk.me/【https://i.postimg.cc/Zq0kncDk/1658839233937.png】《低端影院》◎在线影院◎ https://www.bpzhe.com/【https://i.postimg.cc/wMytDpgh/1657021317616.png】《B~白嫖者》◎电影网站◎\n☸-文娱▪️阅读::https://lemuzika.pro/search/%E6%AD%A5%E9%9D%9E%E7%83%9F/3【https://i.postimg.cc/d3HR8qqW/1636542691088.png】《Lemuzika》◎俄站步非烟◎ https://siyufm.net/lists/?page=2&author=12【https://i.postimg.cc/zXHKN1nK/1637811407315.png】《私语电台》◎私密电台◎ https://asmrs.live/category/%E6%AD%A5%E9%9D%9E%E7%83%9F%E7%AC%AC%E4%B8%80%E5%AD%A3【https://i.postimg.cc/15yTD2t8/1643175843924.png】《Asmrs~🎧》◎在线音频◎ https://www.66.ca/forum.php?fid=56&mod=forumdisplay【https://i.postimg.cc/kGSc5QGT/1657418160867.png】《华人社区》◎社区阅读网站◎ https://sis001.us/bbs/tag.php?name=%E5%9B%BD%E4%BA%A7%E8%87%AA%E6%8B%8D【https://i.postimg.cc/nhRTwV51/60caf55a7c86f32a0ffd3252d718353e.png】《第一会所》◎在线论坛◎ https://www.tumblr.com/dashboard【https://i.postimg.cc/T39V61qs/1664626229502.png】《汤不热网》◎在线网站◎ http://hja27.com/【https://i.postimg.cc/KjNH5kQJ/8e5e7fc946028dcf4f32a2173ae4c319.png】《海角社区》◎登录在线社区◎ https://heiliao6.pro/【https://i.postimg.cc/63K4SCLn/1657033842033.png】《黑料链接®》◎链接网站◎ https://www.g718.sx/【https://i.postimg.cc/rFFTYphv/10c7bcd9cd616a05b07a8e5155ff568e.png】《718车友会®》◎在线论坛◎ https://www.51cg1.com/【https://i.postimg.cc/CLH3C2fH/1639307031234.png】《51吃瓜网》◎在线论坛◎ https://jiuyaopei.com/【https://i.postimg.cc/fL1fHJWz/1655687656501.png】《九妖陪网》◎短视频网站◎ https://xn---jifanggcom-gt1t08px00hf5nbl2b.www-jifangg.com/【https://i.postimg.cc/tJWDWsS9/1636543129910.png】《集芳阁网》◎在线网站◎ https://www.pornfind.org/【https://i.postimg.cc/1RL5Vrbx/1643170566233.png】《搜索引擎》◎导航网站◎ https://qq.com.tieniu009.top/【https://i.postimg.cc/m2TDkYx5/1655817959914.png】《铁牛资源》◎导航链接◎ https://qq.com.lsck01.xyz/【https://i.postimg.cc/G2dbSRjm/1655822701904.png】《绿色仓库》◎在线资源◎\n🔲-图片▪️套图::https://heaven.porn/【https://i.postimg.cc/gj5D3V3t/1637729257404.png】《Heaven》◎全球套图精选◎ https://www.pornpics.com/【https://i.postimg.cc/V6HtGBmL/ac28d790f21bb18524b5bab2496e361f.png】《Pornpics》◎中外图库[高清大图]◎ https://www.nudexxx.pics/categories/babe/【https://i.postimg.cc/28FX9mTf/1657271779518.png】《Nudexxx》◎在线图片◎ https://www.xxxftvgirls.com/【https://i.postimg.cc/QM3pzCY7/1655781876454.png】《Xxxftvgirls》◎全球套图精选◎ https://www.gravurehunter.com/【https://i.postimg.cc/mgBQv38B/c144ea102b481a06e2cfbff4eecbb1b9.png】《Gravure》◎在线图片◎ https://sexynude.pics/【https://i.postimg.cc/dV7qX4Pg/1655823076713.png】《Sexynude》◎在线图片◎ https://www.hqseek.com/【https://i.postimg.cc/Qtf8mGyQ/1656046620044.png】《Hqseek》◎在线图片◎ https://nakedwomen.pics/【https://i.postimg.cc/131j1j0v/1638332202023.png】《Nakedwomen》◎在线图片◎ https://latestones.com/models【https://i.postimg.cc/15qw8YBz/e70b08733fceb554437154b2ea2b5a53.png】《Latestones》◎高清写真◎ https://www.eroticbeauties.net/【https://i.postimg.cc/1Xd6bLng/1636528074158.png】《eroticbeauties》◎在线图片◎ https://www.freexcafe.com/?ref=porndude【https://i.postimg.cc/kX35Jpx4/1655983982372.png】《Freexcafe.com》◎在线图片◎ https://www.freebigtitpornpics.com/【https://i.postimg.cc/7PTBbdtR/1656073522948.png】《Bigtitpornpics》◎国际图片◎ https://www.jpbeauties.com/【https://i.postimg.cc/BZDtwf7C/1637918486763.png】《JPbeauties》◎日本图片◎ https://www.eastbabes.com/【https://i.postimg.cc/bvJLc0qZ/1656221729360.png】《Eastbabes》◎在线图片◎ https://www.erosberry.com/?ref=porndude【https://i.postimg.cc/4NXqnm2v/b36328b476f62c28399930a8a7b98030.png】《Erosberry.com》◎在线图片◎\n🔳-传媒▪️日系::https://www.helloavgirls.com/?qingse.one【https://i.postimg.cc/nhRvftvn/1637637245085.png】《Hello~avgirls》◎日系av视频网站◎ https://www.fellatiojapan.com/en/?ref=1860c830【https://i.postimg.cc/jdhFZbMb/1655657370807.png】《Fellatiojapan》◎日系demo~可下载◎ https://netflav.com/?qingse.one【https://i.postimg.cc/B68nz9r5/9b463e356784d62007bbfa9ab669d88e.png】《Netflav》◎日系资源~浏览器打开◎ https://www.fuq.com/zh/【https://i.postimg.cc/pL082scx/1656697944724.png】《Fuq.com》◎在线视频◎ https://www.tubev.sex/【https://i.postimg.cc/3Jc0Mxv8/1655872958452.png】《Tubev.sex》◎日系视频◎ https://pigav.com/【https://i.postimg.cc/5ytmqkJ5/1636714890664.png】《Pigav.com》◎视频网站◎ https://www.atube.xxx/?hl=zh【https://i.postimg.cc/htNQd8pH/1656748079978.png】《Dtube.xxx》◎在线视频◎ https://www.copye.cc/【https://i.postimg.cc/1tcn0fX7/a139d7adf597e53efc35411870cb9e62.png】《曹丕在线》◎在线视频◎ https://avhd101.com/【https://i.postimg.cc/qqJqngpX/a1c375a47f312841f8fa6eec14ed61cc.png】《国产视频》◎在线视频◎ https://hhhjav.com/【https://i.postimg.cc/bJty35ns/1656074689383.png】《三H视频》◎综合视频◎ https://www.fengyuetongtian.com/【https://i.postimg.cc/7ZnG4jsL/1655829430458.png】《风月同天》◎国产视频◎ https://www.rtmm6.com/video/1/【https://i.postimg.cc/rw4G8443/1657012825802.png】《人体美媚》◎综合网站◎ http://hense66.sexurl.xyz/【https://i.postimg.cc/bwqBpTPw/1636964897703.png】《很涩视频》◎综合视频◎ https://www.bus13.com/【https://i.postimg.cc/bwWMLL57/1655688619355.png】《艾薇巴士》◎视频影院◎ https://avhd1.com/index.html【https://i.postimg.cc/R04Ps1FK/1655817933907.png】《AV视频》◎在线视频◎\n🈂-动漫▪️漫画::https://mh9233.com/3d/【https://i.postimg.cc/cLxmt8qt/1657264255748.png】《3D.Comic》◎在线漫画◎ https://hentaidude.com/【https://i.postimg.cc/VLRc1YRt/1657024067326.png】《hentaidude》◎在线动漫◎ https://www.animehentaivideos.xxx/【https://i.postimg.cc/hj2wwX1T/1657216924243.png】《Hentai~VI》◎日系动漫◎ https://animeidhentai.com/【https://i.postimg.cc/G2Sfn4Ww/1656838030280.png】《Animeid》◎日系动漫◎ http://hkmh.site/plus/list-1.html【https://i.postimg.cc/1zBgGkj0/1657010517944.png】《好看漫画》◎在线漫画◎ http://www.177picyy.com/html/category/cg/cg-cn/【https://i.postimg.cc/qgfhYGQt/1656838187853.png】《177漫画》◎在线漫画◎ http://www.kxkmh.com/【https://i.postimg.cc/sfYtC7st/1657263526600.png】《开心漫画》◎在线漫画◎ https://www.ho5ho.com/?ref=porndude【https://i.postimg.cc/Kzcw2rKV/1658321960709.png】《全彩H漫》◎在线漫画◎ https://gg6981.com/zh/hcomic_random/voluminous/index.html【https://i.postimg.cc/QMGcdFZv/1656904673161.png】《7mmtv》◎漫画网站◎ https://doujins.com/【https://i.postimg.cc/QdxnMzSN/a6222dd9366f54f87b8f7870bfe43089.png】《Doujins》◎在线动漫◎ https://www.hentairules.net/category/incest/【https://i.postimg.cc/PJ34ypKS/1656921716625.png】《hentairules》◎在线漫画◎ https://asmhentai.com/【https://i.postimg.cc/cHCkjmMF/1656747410145.png】《Asmhentai》◎在线漫画◎ https://www.cartoonpornvideos.com/【https://i.postimg.cc/PxBHqhpx/1656917164314.png】《Cartoon~P》◎在线动漫◎ https://h-ciyuan.com/【https://i.postimg.cc/R0djvfpk/1657800089071.png】《H~ciyuan》◎在线动漫◎ https://hentaidock.com/【https://i.postimg.cc/zvTCGjfx/3761b8bde0f4a3f5d6fc633fd54f0fc6.png】《hentai~d》◎漫画网站◎\n🎥-VR▪️博客::https://sharesome.com/news/【https://i.postimg.cc/gj4HKk9B/1636708458829.png】《Sharesone™》◎时尚博客直播◎ https://nudebabes.tube/【https://i.postimg.cc/FRZThKzw/1637547515349.png】《Nudebabes》◎在线影院◎ https://m.livejasmin.com/en/list/girl/www.cavhot.com【https://i.postimg.cc/3RDq1WJm/1638681569437.png】《Livejasmin》◎欧美在线直播◎ https://m.chaturbate.com/【https://i.postimg.cc/Mp58kP1S/1656736242263.png】《Chaturbate》◎欧美直播網站◎ https://xn--zp3-xxxsspcom-yp8ve33bkpevz1kpxq.xn--yetv14dbin23n.com/?fulione【https://i.postimg.cc/mrzDLSN0/1657067668701.png】《xxxsspcom™》◎中文抖淫◎ https://viralporn.com/【https://i.postimg.cc/zfGYVCJx/1657014358637.png】《Viralporn》◎欧美直播網站◎ https://vrporn.com/?a=634574【https://i.postimg.cc/JzKcYQdk/1655469952522.png】《Vrporn.com[VR]》◎VR视频站◎ https://virtualrealporn.com/?nats=OTk5MTAwMDMuNS44LjEwLjAuMC4wLjAuMA【https://i.postimg.cc/FFJ2fFfW/1655542912385.png】《virualrealporn[VR]》◎VR视频站◎ https://m.instantfap.com/?ref=porndude【https://i.postimg.cc/NM7v3FWG/1636714420842.png】《Instantfap》◎欧美在线视频直播站[优质画面]◎ https://www.sex.com/【https://i.postimg.cc/N0zRGwXh/1655566034717.png】《Sex.com》◎欧美在线视频直播站[优质画面]◎ https://www.xfree.com/?popularFeed=150672【https://i.postimg.cc/Kj0rSZ00/1b675b5fcb22bb8c84bf3682ebad5759.png】《Xfree.com》◎博客直播[优质画面]◎ https://fikfap.com/?ref=porndude【https://i.postimg.cc/DyVy8K9r/1655654233967.png】《Fikfap.com》◎博客直播[优质画面]◎ https://xxxtik.com/?ref=porndude【https://i.postimg.cc/mkxbZNW4/a2b0d5776f5161f168d8394f3bd37074.png】《Xxxtik.com》◎博客直播[优质画面]◎ https://tik.porn/video/216500【https://i.postimg.cc/9XBRnLsy/1655648357308.png】《Tik.porn》◎博客直播[优质画面]◎\n🔞-在线【宽屏】::https://cn.pornhub.com/view_video.php?viewkey=ph5f5367cd02a9a【https://i.postimg.cc/PfZcf8W1/1637937252627.png】《Pornhub》◎🇨🇦在线视频◎ https://www.xvideos.com/【https://i.postimg.cc/L6yQskbQ/1637936393141.png】《Xvideos》◎🇨🇿在线视频◎ https://www.bookofp.com/zh/celebrities/【https://i.postimg.cc/xd72QNs4/1659110706030.png】《Bookofp》◎🇱🇷在线视频◎ https://beeg.com/?ref=porndude【https://i.postimg.cc/T17T3Lm8/1637937050924.png】《Beeg.com》◎🇬🇳在线视频◎ https://m.shameless.com/【https://i.postimg.cc/8CWvGJ1v/1655955946009.png】《shameless》◎🇮🇸在线视频◎ https://txxx.com/【https://i.postimg.cc/CKS3NdBC/1656841152906.png】《Txxx.com》◎🇨🇿在线视频◎ https://m.tnaflix.com/【https://i.postimg.cc/Jzw65BYB/1657106388720.png】《Tnaflix.com》◎🇭🇺在线视频◎ https://fuqer.mobi/【https://i.postimg.cc/FzRB7zqf/2096f0a90436c081102ce000cb1b82b9.png】《Fuqer.mobi》◎🇩🇪在线视频◎ https://teenxmovies.net/【https://i.postimg.cc/MGfGBqPJ/1655986800440.png】《Teenxmovies》◎🇩🇪在线视频◎ https://www.xnxx.com/【https://i.postimg.cc/3NT7QXZF/1638079383739.png】《Xnxx.com》◎🇺🇸在线视频◎ https://www.joysporn.com/?ref=porndude【https://i.postimg.cc/ydy26fDV/1656468812234.png】《Joysporn》◎🇭🇺在线视频◎ https://www.youporn.com/【https://i.postimg.cc/g21CS5TH/1658916855443.png】《Youporn》◎🇨🇴在线视频◎ https://www.gotporn.com/【https://i.postimg.cc/N0hGHFZf/1658840245284.png】《Gotporn.com》◎🇭🇺在线视频◎ https://4kporn.xxx/【https://i.postimg.cc/ht2r3jht/1638700576004.png】《4Kporn.xxx》◎🇳🇴在线视频◎ https://porndoe.com/?utm_campaign=theporndude&utm_medium=trafficbuy&utm_source=theporndude【https://i.postimg.cc/hG3NT5Vz/1637931210565.png】《Porndoe》◎🇫🇷在线视频◎\n🔞-在线【欧美】::http://www.incestflix.com/?ref=porndude【https://i.postimg.cc/G36dHWwM/1638705175642.png】《Incestflix》◎🇮🇩在线视频◎ https://crazyshit.com/category/random-nudity/【https://i.postimg.cc/dtjdr2pM/357020e158482026a20a7e713f6b6279.png】《Crayshit.com》◎🇦🇽在线视频◎ https://motherless.com【https://i.postimg.cc/LXZynXtV/1656205674304.png】《Motherless》◎🇻🇪在线视频◎ https://zh.xhamster.com/【https://i.postimg.cc/VLd9cpxN/1638625257182.png】《Xhameter》◎🇹🇳在线视频◎ https://www.ixxx.com【https://i.postimg.cc/7PjrhdTS/1656846388876.png】《Ixxx.com》◎🇹🇳在线视频◎ https://fuqqt.com/videos/babe【https://i.postimg.cc/TwQzJhLv/1656205530357.png】《Fuqqt.com》◎🇭🇺在线视频◎ https://shooshtime.com/【https://i.postimg.cc/DZzSwpJk/1656294092715.png】《Shooshtime》◎🇫🇮在线视频◎ https://fapster.xxx/categories/【https://i.postimg.cc/zf5fxnkx/1656330613273.png】《Fapster.xxx》◎🇮🇩在线视频◎ https://pornone.com/【https://i.postimg.cc/RZj3rKJD/1656981369071.png】《Pornone.com》◎🇮🇩在线视频◎ https://www.porntube.com/?cid=2930【https://i.postimg.cc/442qfqDm/1638143733789.png】《Porntube》◎🇲🇸在线视频◎ https://www.eporner.com/【https://i.postimg.cc/FscqrGTv/1656079279240.png】《Epornet》◎🇰🇿在线视频◎ https://www.redtube.com/【https://i.postimg.cc/Wp8NN7yM/1656336459126.png】《Redtube》◎🇬🇦在线视频◎ https://www.pornhd.com/【https://i.postimg.cc/HLWTf1T9/47dd395f818d744f5f6b897508d3309f.png】《Pornhd》◎🇮🇩在线视频◎ https://www.pornktu.be/videos/【https://i.postimg.cc/v83FXZLS/1656123183464.png】《Pornktu》◎🇾🇪在线视频◎ https://pornkai.com/【https://i.postimg.cc/C5gR1VJC/1656347595775.png】《Pornkai》◎🇨🇦在线视频◎\n🔞-在线【备选】::https://pornontube.com/zh-cn/【https://i.postimg.cc/SRZHh6nJ/1657441598978.png】《Pornontube》◎在线电影◎ https://es.iporntv.net/search/%E4%B8%AD+%E6%96%87+%E9%9F%B3%E5%A3%B0+asmr【https://i.postimg.cc/0Nvm3sM8/1657504985437.png】《中文音声》◎在线音频网站🎧◎ https://pmatehunter.com/【https://i.postimg.cc/251kXxS9/1657442432339.png】《Pmate~H》◎国际图片◎ https://www.tubegalore.com/zh/【https://i.postimg.cc/7PBCP4Bj/1657443621814.png】《Tubegalore》◎在线视频◎ https://spankbang.com/【https://i.postimg.cc/mrHj6MxN/1657449171627.png】《Spankbang》◎视频网站◎ https://www.qpornosite.com/【https://i.postimg.cc/zXXc4mKS/647a65f79ad84414ec8ef7037833ee62.png】《qpornosite》◎视频网站◎ https://www.fuqpremium.com/zh/【https://i.postimg.cc/3RYktqSK/c424aec60f743d6db1474dade05b3173.png】《fuqpremium》◎在线视频◎ https://www.lobstertube.com/zh/【https://i.postimg.cc/CMcXFYLT/0b02fc4ba24b38f90f62c54142be537c.png】《LobsterTube》◎数百万激情色情电影◎ https://familyporn.tv/【https://i.postimg.cc/8kxfghJX/1657179241087.png】《家庭porn》◎在线视频网站◎ https://www.metarthunter.com/most-viewed/【https://i.postimg.cc/28C8L5vd/c1c46f7c390245ed8325cf5cbcdfa54d.png】《Metarthunter》◎花花公子图片站◎ https://www.handjobjapan.com/en/?ref=a2f6354a【https://i.postimg.cc/9XBBBLTK/1657198533076.png】《Handjobjaan》◎日系手活◎ https://www.127mall7.com/【https://i.postimg.cc/vHxx4vvL/4a5598a52051c218df11b814646b1bae.png】《X站中文》◎X站中文频道◎ https://pornsites.xxx/zh/best-porn-tubes【https://i.postimg.cc/hjjpKYNg/1657448947985.png】《顶级链接》◎链接中文频道◎ https://www.18porn.sex/【https://i.postimg.cc/sx2PrBwC/1657560491814.png】《18porn.sex》◎在线视频◎ https://www.porzo.com/zh/【https://i.postimg.cc/htbRGgLV/1657444600756.png】《Porzo.com》◎在线视频◎\n📖-书单▪️榜单®::https://vt.sm.cn/api/novelStarReco/index【https://i.postimg.cc/3Ng0mjYb/1642215764921.png】《星云推书》◎书荒搜书神器◎ https://m.qidian.com/rank/【https://i.postimg.cc/Bb6H9P0h/1643185593580.png】《起点榜单》◎起点中文网榜单◎ https://quark.sm.cn/api/rest?method=Novelnew.home&format=html&schema=v2&gender=male&cate=%E5%85%A8%E9%83%A8&rank=rank_hot&pv=2420440【https://i.postimg.cc/XqXmn23H/1656398173543.png】《夸克榜单》◎夸克浏览器小说榜单◎ https://m.baidu.com/sf?openapi=1&dspName=iphone&dsp=iphone&from_sf=1&pd=bookstore&resource_id=5077&type=2&card_id=5143&word=%E5%85%A8%E9%83%A8%E5%88%86%E7%B1%BB&title=%E6%9B%B4%E5%A4%9A%E6%8E%A8%E8%8D%90&tag1=%E5%85%A8%E9%83%A8%E5%88%86%E7%B1%BB&lid=11549307334103749569&referlid=11549307334103749569&ms=1&frsrcid=5143&frorder=4【https://i.postimg.cc/YS5CqKk1/1643192297572.png】《百度榜单》◎百度浏览器小说榜单◎ https://www.yousuu.com【https://i.postimg.cc/ZqV9LKk4/d6460ce69df5934d47ec2e184264d447.png】《优书榜单》◎优书网书单◎ https://data.newrank.cn/m/s.html?s=Py8yOTE5KDE4【https://i.postimg.cc/nLWpBQzP/1656640745508.png】《小说拾遗》◎小说拾遗公众号-号内搜索◎ https://mp.weixin.qq.com/mp/appmsgalbum?action=getalbum&album_id=1319671603470581762&__biz=MzI2MDg2NjAwMg==#wechat_redirect【https://i.postimg.cc/Wp7cCtpP/9afbe88df402cbaacd6a1f34bb95451a.png】《精选书单》◎主推优质完结和连载100万字以上小说◎ https://mp.weixin.qq.com/mp/appmsgalbum?action=getalbum&album_id=1319666229510193155&__biz=MzI2MDg2NjAwMg==#wechat_redirect【https://i.postimg.cc/dtW1vnvq/1656158438840.png】《潜力新书》◎主推大神新书和20～100万字的优质新书◎ http://mp.weixin.qq.com/mp/homepage?__biz=MzI2MDg2NjAwMg==&hid=11&sn=c55d27329c109430838bc5b5f5b615b7&scene=18#wechat_redirect【https://i.postimg.cc/Nf2g2B79/d7844cc4a188295fb56ff7ee13e7c518.png】《高分必看》◎高分完本合集◎ https://mp.weixin.qq.com/mp/appmsgalbum?action=getalbum&album_id=1319668267623170050&__biz=MzI2MDg2NjAwMg==#wechat_redirect【https://i.postimg.cc/YCYjTCQ1/1643194013372.png】《近期完结》◎主推近一段时间内优质的完结小说◎ https://mp.weixin.qq.com/mp/appmsgalbum?action=getalbum&album_id=1319675692849872897&__biz=MzI2MDg2NjAwMg==#wechat_redirect【https://i.postimg.cc/MHJwdrSX/f3406e1fcc20a92dcaf944c71b0d67ab.png】《后宫精选》◎后宫精选合集◎ https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzI5NTA4NjgwNw==&action=getalbum&album_id=1319454340050157569&scene=126&devicetype=android-28&version=28000f3d&lang=zh_CN&nettype=WIFI&ascene=3&pass_ticket=B8GunWN7RjA2Q%2FaVYxT%2BSITrnCodRKKdEfgFLaYKNzv56Vgj9IUBy%2B6yzAlQVE4M&wx_header=1【https://i.postimg.cc/tTF4MXws/1643177963800.png】《网文书单》◎每期三本-新书速递、养肥佳作、完本好书◎ https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzI5NTA4NjgwNw==&action=getalbum&album_id=1319471313224040448&scene=126&devicetype=android-28&version=28000f3d&lang=zh_CN&nettype=WIFI&ascene=3&pass_ticket=B8GunWN7RjA2Q%2FaVYxT%2BSITrnCodRKKdEfgFLaYKNzv56Vgj9IUBy%2B6yzAlQVE4M&wx_header=1【https://i.postimg.cc/8c9D4yHY/1657563183687.png】《澎湃精选》◎超过50万字，连载或完本的优秀作品◎ https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzI5NTA4NjgwNw==&action=getalbum&album_id=1526356920989712387&scene=126&devicetype=android-28&version=28000f3d&lang=zh_CN&nettype=WIFI&ascene=3&pass_ticket=B8GunWN7RjA2Q%2FaVYxT%2BSITrnCodRKKdEfgFLaYKNzv56Vgj9IUBy%2B6yzAlQVE4M&wx_header=1【https://i.postimg.cc/FRH068g6/1656311375852.png】《年度盘点》◎年度盘点各分类中诞生的新书、完本书◎ https://mp.weixin.qq.com/mp/homepage?__biz=MzI5NTA4NjgwNw==&hid=1&sn=0fcecdc85b8c23e596880f8c895b901d&scene=18&devicetype=android-28&version=28000f3d&lang=zh_CN&nettype=WIFI&ascene=59&session_us=gh_2aa0f3c6dd8f&pass_ticket=B8GunWN7RjA2Q%2FaVYxT%2BSITrnCodRKKdEfgFLaYKNzv56Vgj9IUBy%2B6yzAlQVE4M&wx_header=1【https://i.postimg.cc/TP7Md7D4/1657562436540.png】《赤戟资源》◎最新热门分类◎",
    "sourceComment": "",
    "sourceGroup": "R18",
    "sourceIcon": "https://i.postimg.cc/tT45zyZQ/9399ca50f4495079a2c4f54f268dcad6.gif",
    "sourceName": "☢Online",
    "sourceUrl": "Online <1.50>"
  },
  {
    "articleStyle": 1,
    "customOrder": 123,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.myvideoDiv||class.picture-list@a||class.novel-item",
    "ruleContent": "script@all&&class.picture-image col s9@all&&class.novel-content-txt@all",
    "ruleImage": "img@data-src",
    "ruleLink": "a@href <js>##pic##detail</js>\n<js>##book##detail</js>",
    "ruleNextPage": "page",
    "rulePubDate": "class.right@text",
    "ruleTitle": "class.video-desc-content@text||class.album-name@text||class.name@text",
    "singleUrl": false,
    "sortUrl": "國產精品::https://www.hurigirls88.xyz/index.php/vod/type/id/30/page/{{page}}.html\n國產偷拍::https://www.hurigirls88.xyz/index.php/vod/type/id/91/page/{{page}}.html\n國產主播::https://www.hurigirls88.xyz/index.php/vod/type/id/40/page/{{page}}.html\n國產自拍::https://www.hurigirls88.xyz/index.php/vod/type/id/124/page/{{page}}.html\n探花約拍::https://www.hurigirls88.xyz/index.php/vod/type/id/117/page/{{page}}.html\nP站精品::https://www.hurigirls88.xyz/index.php/vod/type/id/119/page/{{page}}.html\n原創傳媒::https://www.hurigirls88.xyz/index.php/vod/type/id/100/page/{{page}}.html\n明星淫夢::https://www.hurigirls88.xyz/index.php/vod/type/id/125/page/{{page}}.html\n中文視頻::https://www.hurigirls88.xyz/index.php/vod/type/id/8/page/{{page}}.html\n日本無碼::https://www.hurigirls88.xyz/index.php/vod/type/id/6/page/{{page}}.html\n日本有碼::https://www.hurigirls88.xyz/index.php/vod/type/id/26/page/{{page}}.html\n無碼內射::https://www.hurigirls88.xyz/index.php/vod/type/id/126/page/{{page}}.html\n亞洲情色::https://www.hurigirls88.xyz/index.php/vod/type/id/63/page/{{page}}.html\n少女蘿莉::https://www.hurigirls88.xyz/index.php/vod/type/id/32/page/{{page}}.html\n熟女人妻::https://www.hurigirls88.xyz/index.php/vod/type/id/34/page/{{page}}.html\n長腿絲襪::https://www.hurigirls88.xyz/index.php/vod/type/id/64/page/{{page}}.html\n巨乳美女::https://www.hurigirls88.xyz/index.php/vod/type/id/29/page/{{page}}.html\n強奸亂倫::https://www.hurigirls88.xyz/index.php/vod/type/id/31/page/{{page}}.html\n制服誘惑::https://www.hurigirls88.xyz/index.php/vod/type/id/66/page/{{page}}.html\n群交淫亂::https://www.hurigirls88.xyz/index.php/vod/type/id/95/page/{{page}}.html\n三級倫理::https://www.hurigirls88.xyz/index.php/vod/type/id/35/page/{{page}}.html\n港台倫理::https://www.hurigirls88.xyz/index.php/vod/type/id/127/page/{{page}}.html\n韓國倫理::https://www.hurigirls88.xyz/index.php/vod/type/id/69/page/{{page}}.html\n女同性戀::https://www.hurigirls88.xyz/index.php/vod/type/id/71/page/{{page}}.html\n水果派解說::https://www.hurigirls88.xyz/index.php/vod/type/id/118/page/{{page}}.html\n歐美視頻::https://www.hurigirls88.xyz/index.php/vod/type/id/7/page/{{page}}.html\n金髮幼齒::https://www.hurigirls88.xyz/index.php/vod/type/id/121/page/{{page}}.html\n黑男白女::https://www.hurigirls88.xyz/index.php/vod/type/id/122/page/{{page}}.html\n稀有另類::https://www.hurigirls88.xyz/index.php/vod/type/id/123/page/{{page}}.html\n男同性戀::https://www.hurigirls88.xyz/index.php/vod/type/id/93/page/{{page}}.html\nVR無碼::https://www.hurigirls88.xyz/index.php/vod/type/id/42/page/{{page}}.html\n成人美圖::https://www.hurigirls88.xyz/index.php/art/type/id/2/page/{{page}}.html\n成人小說::https://www.hurigirls88.xyz/index.php/art/type/id/3/page/{{page}}.html",
    "sourceComment": "",
    "sourceGroup": "R18",
    "sourceIcon": "https://www.hurigirls88.xyz/favicon.ico",
    "sourceName": "狐狸少女",
    "sourceUrl": "https://www.hurigirls88.xyz/",
    "style": "video{width:100%}img{width:100%}"
  },
  {
    "articleStyle": 2,
    "concurrentRate": "",
    "customOrder": 124,
    "enableJs": true,
    "enabled": false,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.update_area_lists@tag.li",
    "ruleContent": "<!DOCTYPE html>\r\n<html>\r\n\r\n<head>\r\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\">\r\n    <link rel=\"stylesheet\" href=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.css\">\r\n    <script src=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.js\"></script>\r\n    <script src=\"http://lib.sinaapp.com/js/jquery/2.0.2/jquery-2.0.2.min.js\"></script>\r\n</head>\r\n\r\n<body>\r\n    <h3>{{@@.item_title@tag.h1@text}}</h3>\r\n<h5>{{@class.jianjie@text}}</h5>\r\n    <div id=\"box\">{{@@class.content.0@tag.p@tag.img@html}}</div>\r\n    <div id=\"loads\">加载中 </div>\r\n    <script>\r\n        var loads;\r\n        $(document).ready(function () {\r\n            var box = document.getElementById(\"box\");\r\n            loads = document.getElementById(\"loads\");\r\n            new Viewer(box, { title: false, interval: 3000 })\r\n            var i = 1;\r\n            var page = {{@@class.page.0@tag.a.-2@textNodes##\\n}}-1;\r\n            var url = \"{{baseUrl.replace('.html','_')}}\";\r\n            new IntersectionObserver(entries => {\r\n                if (entries[0].intersectionRatio) {\r\n                    if (entries[0].intersectionRatio <= 0) return;\r\n                    for (var j = 0; j < 1; j++) {\r\n                        fetchHtml(i, page, url);\r\n                        i += 1;\r\n                    }\r\n                }\r\n            }).observe(loads)\r\n        });\r\n\r\n\r\n        function fetchHtml(i, page, url) {\n        \t\r\n            if (i <= page) {\r\n                nurl = url + i + '.html';\r\n                $.ajax({\r\n                    url: nurl,\r\n                    dataType: 'html',\r\n                    success: function (html) {\r\n                        $('#box').append('<h5>' + (++i) + '->' + (++page) + '</h5>');\r\n                        $('#box').append($(html).find('p img'));\r\n                        box.viewer.update();\r\n                    },\r\n                    error: function (xhr) { }\r\n                });\r\n            } else {\r\n                $('#loads').html(\"\");\r\n            }\r\n        }\r\n    </script>\r\n</body>\r\n\r\n</html>",
    "ruleDescription": "",
    "ruleImage": "tag.a@tag.img@src",
    "ruleLink": "tag.a@href",
    "ruleNextPage": "class.page@tag.a.-2@href",
    "rulePubDate": "{{@class.meta-post@textNodes}}_浏览:{{@class.cx_like@textNodes}}",
    "ruleTitle": "tag.a@title",
    "singleUrl": false,
    "sortUrl": "最新::/zx.html\r\n随机::/XiuRen/index{{ Math.ceil(Math.random()*50) }}.html\r\n一周推荐::/tj.html\r\n最热::/rm.html\n🔍搜索::/plus/search/index.asp?keyword={{source.getVariable()}}&searchtype=title\r\n秀人网::/XiuRen/\r\nImiss爱蜜社::/IMiss/\r\n模范学院::/MFStar/\r\n魅妍社::/MiStar/\r\n美媛馆::/MyGirl/\r\n尤物馆::/YouWu/\r\n嗲囡囡::/FeiLin/\r\n蜜桃社::/MiiTao/\r\n尤蜜荟::/YouMi/\r\n画语界::/XiaoYu/\r\n花漾::/HuaYang/\r\n星颜社::/XingYan/\r\n兔几盟::/BoLoli/\r\n优星馆::/Uxing/\r\n影私荟::/WingS/\r\n星乐园::/LeYuan/\r\n顽味生活::/Taste/\r\n糖果画报::/Candy/\r\n萌榜::/Micat/",
    "sourceComment": "2022 5 17 \nfix bug\n\n原图标\nhttps://images.weserv.nl/?url=https://article.biliimg.com/bfs/article/ded67638d944a7e0ef4452b721fd6434a22de16d.png",
    "sourceGroup": "封子秦,R18",
    "sourceIcon": "https://img1.baidu.com/it/u=3097007933,3775451098&fm=253&fmt=auto&app=120&f=JPEG?w=1200&h=750",
    "sourceName": "秀人集v20",
    "sourceUrl": "https://www.xrmn02.cc/",
    "style": "/*标题相关*/\r\nh3{text-align:center}\r\nh6{margin-bottom:0}\r\nimg{width:100%}\nh5{margin-bottom:0;padding-left:5;}"
  },
  {
    "articleStyle": 0,
    "customOrder": 125,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\n    'User-Agent': 'Mozilla/5.0 (Linux; Android 11; Pixel 3 XL Build/RQ3A.211001.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/102.0.4988.0 Mobile Safari/537.36 SearchCraft/3.9.2 (Baidu; P1 11) '\n}",
    "injectJs": "setTimeout(()=>{document.querySelector('.app-open-button').parentNode.removeChild(document.querySelector('.app-open-button'));},1000)",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "💠 其他,R18",
    "sourceIcon": "https://lf3-cdn-tos.bytescm.com/obj/static/xitu_juejin_web/static/favicons/favicon-32x32.png",
    "sourceName": "稀土掘金",
    "sourceUrl": "https://juejin.cn/user/center/signin?avatar_menu",
    "style": ".app-open-button{display:none !important;}"
  },
  {
    "articleStyle": 2,
    "concurrentRate": "",
    "customOrder": 126,
    "enableJs": true,
    "enabled": false,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.update_area_lists@tag.li",
    "ruleContent": "<!DOCTYPE html>\r\n<html>\r\n\r\n<head>\r\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\">\r\n    <link rel=\"stylesheet\" href=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.css\">\r\n    <script src=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.js\"></script>\r\n    <script src=\"http://lib.sinaapp.com/js/jquery/2.0.2/jquery-2.0.2.min.js\"></script>\r\n</head>\r\n\r\n<body>\r\n    <h3>{{@@.item_title@tag.h1@text}}</h3>\r\n<h5>{{@class.jianjie@text}}</h5>\r\n    <div id=\"box\">{{@@class.content.0@tag.p@tag.img@html}}</div>\r\n    <div id=\"loads\">加载中 </div>\r\n    <script>\r\n        var loads;\r\n        $(document).ready(function () {\r\n            var box = document.getElementById(\"box\");\r\n            loads = document.getElementById(\"loads\");\r\n            new Viewer(box, { title: false, interval: 3000 })\r\n            var i = 1;\r\n            var page = {{@@class.page.0@tag.a.-2@textNodes##\\n}}-1;\r\n            var url = \"{{baseUrl.replace('.html','_')}}\";\r\n            new IntersectionObserver(entries => {\r\n                if (entries[0].intersectionRatio) {\r\n                    if (entries[0].intersectionRatio <= 0) return;\r\n                    for (var j = 0; j < 1; j++) {\r\n                        fetchHtml(i, page, url);\r\n                        i += 1;\r\n                    }\r\n                }\r\n            }).observe(loads)\r\n        });\r\n\r\n\r\n        function fetchHtml(i, page, url) {\n        \t\r\n            if (i <= page) {\r\n                nurl = url + i + '.html';\r\n                $.ajax({\r\n                    url: nurl,\r\n                    dataType: 'html',\r\n                    success: function (html) {\r\n                        $('#box').append('<h5>' + (++i) + '->' + (++page) + '</h5>');\r\n                        $('#box').append($(html).find('p img'));\r\n                        box.viewer.update();\r\n                    },\r\n                    error: function (xhr) { }\r\n                });\r\n            } else {\r\n                $('#loads').html(\"\");\r\n            }\r\n        }\r\n    </script>\r\n</body>\r\n\r\n</html>",
    "ruleDescription": "",
    "ruleImage": "tag.a@tag.img@src",
    "ruleLink": "tag.a@href",
    "ruleNextPage": "class.page@tag.a.-2@href",
    "rulePubDate": "{{@class.meta-post@textNodes}}_浏览:{{@class.cx_like@textNodes}}",
    "ruleTitle": "tag.a@title",
    "singleUrl": false,
    "sortUrl": "最新::/zx.html\r\n随机::/XiuRen/index{{ Math.ceil(Math.random()*50) }}.html\r\n一周推荐::/tj.html\r\n最热::/rm.html\r\n秀人网::/XiuRen/\r\nImiss爱蜜社::/IMiss/\r\n模范学院::/MFStar/\r\n魅妍社::/MiStar/\r\n美媛馆::/MyGirl/\r\n尤物馆::/YouWu/\r\n嗲囡囡::/FeiLin/\r\n蜜桃社::/MiiTao/\r\n尤蜜荟::/YouMi/\r\n画语界::/XiaoYu/\r\n花漾::/HuaYang/\r\n星颜社::/XingYan/\r\n兔几盟::/BoLoli/\r\n优星馆::/Uxing/\r\n影私荟::/WingS/\r\n星乐园::/LeYuan/\r\n顽味生活::/Taste/\r\n糖果画报::/Candy/\r\n萌榜::/Micat/",
    "sourceComment": "2022 5 17 \nfix bug\n",
    "sourceGroup": "封子秦,R18",
    "sourceIcon": "https://img0.baidu.com/it/u=2472411143,341798229&fm=253&fmt=auto&app=138&f=JPEG?w=889&h=500",
    "sourceName": "❤秀人集v19",
    "sourceUrl": "https://www.xrmn01.vip",
    "style": "/*标题相关*/\r\nh3{text-align:center}\r\nh6{margin-bottom:0}\r\nimg{width:100%}\nh5{margin-bottom:0;padding-left:5;}"
  },
  {
    "articleStyle": 0,
    "customOrder": 126,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "🎞️ 影视,R18",
    "sourceIcon": "http://m.haoqu99.com/favicon.ico",
    "sourceName": "好趣网",
    "sourceUrl": "http://m.haoqu99.com"
  },
  {
    "articleStyle": 1,
    "customOrder": 127,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.row col5 clearfix@dl||class.row-book clearfix@dt",
    "ruleContent": "class.player-box@all&&\nscript@all",
    "ruleImage": "img@data-original",
    "ruleLink": "a@href",
    "ruleNextPage": "text.下一页@href",
    "ruleTitle": "h3@text||h2@text",
    "singleUrl": false,
    "sortUrl": "搜索::https://www.c345t.com/searchs/index.php?page={{page}}&keyboard={{(source.getVariable()==''||source.getVariable()==null)?source.setVariable('双飞'):\"\"}}{{source.getVariable()}}&classid=0\n\n自拍視頻::https://www.c345g.com/video/zipai/\n台灣辣妹::https://www.c345g.com/video/twmn/\n淫妻作樂::https://www.c345g.com/video/fuqi/\n開放青年::https://www.c345g.com/video/kaifang/\n精品分享::https://www.c345g.com/video/jingpin/\n韓國主播::https://www.c345g.com/video/krzb/\n無碼中字::https://www.c345g.com/movie/wuma/\n高清無碼::https://www.c345g.com/movie/gaoqing/\n中文有碼::https://www.c345g.com/movie/youma/\n熟女人妻::https://www.c345g.com/movie/shunv/\n美顏巨乳::https://www.c345g.com/movie/meiyan/\n絲襪制服::https://www.c345g.com/movie/siwa/\nSM系列::https://www.c345g.com/movie/sm/\n歐美系列::https://www.c345g.com/movie/oumei/\n經典三級::https://www.c345g.com/video/sanji/\n動漫卡通::https://www.c345g.com/video/dongman/\n\n女性向純愛::https://www.c345g.com/av/nxx/\nGIGA女戰士::https://www.c345g.com/av/giga/\n波多野结衣::https://www.c345g.com/av/bdyjy/\n深田咏美::https://www.c345g.com/av/stym/\n橋本有菜::https://www.c345g.com/av/qbyc/\n蒼井空::https://www.c345g.com/av/cjk/\n三上悠亞::https://www.c345g.com/av/ssyy/\n吉澤明步::https://www.c345g.com/av/jzmb/",
    "sourceGroup": "R18",
    "sourceIcon": "http://www.sdd51.cc/static/picture/202205201652983982.gif",
    "sourceName": "四虎",
    "sourceUrl": "https://www.c345g.com/",
    "style": "video{width:100%}img{width:100%}"
  },
  {
    "articleStyle": 0,
    "customOrder": 127,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "⚙️ 工具,R18",
    "sourceIcon": "https://c-ssl.duitang.com/uploads/people/201908/23/20190823164218_8ZA3v.png",
    "sourceName": "堆糖",
    "sourceUrl": "https://m.duitang.com"
  },
  {
    "articleStyle": 2,
    "concurrentRate": "",
    "customOrder": 128,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.update_area_lists@tag.li",
    "ruleContent": "<!DOCTYPE html>\r\n<html>\r\n\r\n<head>\r\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\">\r\n    <link rel=\"stylesheet\" href=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.css\">\r\n    <script src=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.js\"></script>\r\n    <script src=\"http://lib.sinaapp.com/js/jquery/2.0.2/jquery-2.0.2.min.js\"></script>\r\n</head>\r\n\r\n<body>\r\n    <h3>{{@@.item_title@tag.h1@text}}</h3>\r\n<h5>{{@class.jianjie@text}}</h5>\r\n    <div id=\"box\">{{@@class.content.0@tag.p@tag.img@html}}</div>\r\n    <div id=\"loads\">加载中 </div>\r\n    <script>\r\n        var loads;\r\n        $(document).ready(function () {\r\n            var box = document.getElementById(\"box\");\r\n            loads = document.getElementById(\"loads\");\r\n            new Viewer(box, { title: false, interval: 3000 })\r\n            var i = 1;\r\n            var page = {{@@class.page.0@tag.a.-2@textNodes##\\n}}-1;\r\n            var url = \"{{baseUrl.replace('.html','_')}}\";\r\n            new IntersectionObserver(entries => {\r\n                if (entries[0].intersectionRatio) {\r\n                    if (entries[0].intersectionRatio <= 0) return;\r\n                    for (var j = 0; j < 1; j++) {\r\n                        fetchHtml(i, page, url);\r\n                        i += 1;\r\n                    }\r\n                }\r\n            }).observe(loads)\r\n        });\r\n\r\n\r\n        function fetchHtml(i, page, url) {\n        \t\r\n            if (i <= page) {\r\n                nurl = url + i + '.html';\r\n                $.ajax({\r\n                    url: nurl,\r\n                    dataType: 'html',\r\n                    success: function (html) {\r\n                        $('#box').append('<h5>' + (++i) + '->' + (++page) + '</h5>');\r\n                        $('#box').append($(html).find('p img'));\r\n                        box.viewer.update();\r\n                    },\r\n                    error: function (xhr) { }\r\n                });\r\n            } else {\r\n                $('#loads').html(\"\");\r\n            }\r\n        }\r\n    </script>\r\n</body>\r\n\r\n</html>",
    "ruleDescription": "",
    "ruleImage": "tag.a@tag.img@src",
    "ruleLink": "tag.a@href",
    "ruleNextPage": "class.page@tag.a.-2@href",
    "rulePubDate": "{{@class.meta-post@textNodes}}_浏览:{{@class.cx_like@textNodes}}",
    "ruleTitle": "tag.a@title",
    "singleUrl": false,
    "sortUrl": "最新::https://www.xrmnw.cc/zx.html\r\n随机::https://www.xrmnw.cc/XiuRen/index{{ Math.ceil(Math.random()*50) }}.html\r\n一周推荐::https://www.xrmnw.cc/tj.html\r\n最热::https://www.xrmnw.cc/rm.html\r\n秀人网::https://www.xrmnw.cc/XiuRen/\r\nImiss爱蜜社::https://www.xrmnw.cc/IMiss/\r\n模范学院::https://www.xrmnw.cc/MFStar/\r\n魅妍社::https://www.xrmnw.cc/MiStar/\r\n美媛馆::https://www.xrmnw.cc/MyGirl/\r\n尤物馆::https://www.xrmnw.cc/YouWu/\r\n嗲囡囡::https://www.xrmnw.cc/FeiLin/\r\n蜜桃社::https://www.xrmnw.cc/MiiTao/\r\n尤蜜荟::https://www.xrmnw.cc/YouMi/\r\n画语界::https://www.xrmnw.cc/XiaoYu/\r\n花漾::https://www.xrmnw.cc/HuaYang/\r\n星颜社::https://www.xrmnw.cc/XingYan/\r\n兔几盟::https://www.xrmnw.cc/BoLoli/\r\n优星馆::https://www.xrmnw.cc/Uxing/\r\n影私荟::https://www.xrmnw.cc/WingS/\r\n星乐园::https://www.xrmnw.cc/LeYuan/\r\n顽味生活::https://www.xrmnw.cc/Taste/\r\n糖果画报::https://www.xrmnw.cc/Candy/\r\n萌榜::https://www.xrmnw.cc/Micat/",
    "sourceComment": "2022 5 17 \nfix bug\n",
    "sourceGroup": "🔞 18禁,R18",
    "sourceIcon": "https://images.weserv.nl/?url=https://article.biliimg.com/bfs/article/ded67638d944a7e0ef4452b721fd6434a22de16d.png",
    "sourceName": "秀人集v16",
    "sourceUrl": "https://www.xrmnw.cc/",
    "style": "/*标题相关*/\r\nh3{text-align:center}\r\nh6{margin-bottom:0}\r\nimg{width:100%}\nh5{margin-bottom:0;padding-left:5;}"
  },
  {
    "articleStyle": 2,
    "customOrder": 128,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "$.result.list",
    "ruleContent": ".fui-swipe-wrapper@all",
    "ruleImage": "thumb",
    "ruleLink": "https://shop.av.cn/app/index.php?i=3&c=entry&m=ewei_shopv2&do=mobile&r=goods.detail&id={{$.id}}",
    "ruleNextPage": "page",
    "rulePubDate": "subtitle",
    "ruleTitle": "title",
    "singleUrl": false,
    "sourceGroup": "R18",
    "sourceIcon": "https://img2.baidu.com/it/u=2870860226,1713447382&fm=253&fmt=auto&app=138&f=JPEG?w=889&h=500",
    "sourceName": "x妹基地",
    "sourceUrl": "https://shop.av.cn/app/index.php?i=3&c=entry&m=ewei_shopv2&do=mobile&r=goods.get_list&keywords=&isrecommand=&ishot=&isnew=&isdiscount=&issendfree=&istime=&cate=&order=&by=&merchid=&page={{page}}&frommyshop=0&_=1665731965262"
  },
  {
    "articleStyle": 2,
    "concurrentRate": "",
    "customOrder": 129,
    "enableJs": true,
    "enabled": false,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.update_area_lists@tag.li",
    "ruleContent": "<!DOCTYPE html>\r\n<html>\r\n\r\n<head>\r\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\">\r\n    <link rel=\"stylesheet\" href=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.css\">\r\n    <script src=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.js\"></script>\r\n    <script src=\"http://lib.sinaapp.com/js/jquery/2.0.2/jquery-2.0.2.min.js\"></script>\r\n</head>\r\n\r\n<body>\r\n    <h3>{{@@.item_title@tag.h1@text}}</h3>\r\n<h5>{{@class.jianjie@text}}</h5>\r\n    <div id=\"box\">{{@@class.content.1@tag.p@tag.img@html}}</div>\r\n    <div id=\"loads\">加载中 </div>\r\n    <script>\r\n        var loads;\r\n        $(document).ready(function () {\r\n            var box = document.getElementById(\"box\");\r\n            loads = document.getElementById(\"loads\");\r\n            new Viewer(box, { title: false, interval: 3000 })\r\n            var i = 1;\r\n            var page = {{@@class.page.0@tag.a.-2@textNodes##\\n}}-1;\r\n            var url = \"{{baseUrl.replace('.html','_')}}\";\r\n            new IntersectionObserver(entries => {\r\n                if (entries[0].intersectionRatio) {\r\n                    if (entries[0].intersectionRatio <= 0) return;\r\n                    for (var j = 0; j < 1; j++) {\r\n                        fetchHtml(i, page, url);\r\n                        i += 1;\r\n                    }\r\n                }\r\n            }).observe(loads)\r\n        });\r\n\r\n\r\n        function fetchHtml(i, page, url) {\n        \t\r\n            if (i <= page) {\r\n                nurl = url + i + '.html';\r\n                $.ajax({\r\n                    url: nurl,\r\n                    dataType: 'html',\r\n                    success: function (html) {\r\n                        $('#box').append('<h5>' + (++i) + '->' + (++page) + '</h5>');\r\n                        $('#box').append($(html).find('p img'));\r\n                        box.viewer.update();\r\n                    },\r\n                    error: function (xhr) { }\r\n                });\r\n            } else {\r\n                $('#loads').html(\"\");\r\n            }\r\n        }\r\n    </script>\r\n</body>\r\n\r\n</html>",
    "ruleDescription": "",
    "ruleImage": "tag.a@tag.img@src",
    "ruleLink": "tag.a@href",
    "ruleNextPage": "class.page@tag.a.-2@href",
    "rulePubDate": "{{@class.meta-post@textNodes}}_浏览:{{@class.cx_like@textNodes}}",
    "ruleTitle": "tag.a@title",
    "singleUrl": false,
    "sortUrl": "最新::https://www.xiurenb.vip/new.html\n随机::https://www.xiurenb.vip/XiuRen/index{{ Math.ceil(Math.random()*50) }}.html\n一周推荐::https://www.xiurenb.vip/top.html\n最热::https://www.xiurenb.vip/hot.html\n秀人网::https://www.xiurenb.vip/XiuRen/\nImiss爱蜜社::https://www.xiurenb.vip/IMiss/\n模范学院::https://www.xiurenb.vip/MFStar/\n魅妍社::https://www.xiurenb.vip/MiStar/\n美媛馆::https://www.xiurenb.vip/MyGirl/\n尤物馆::https://www.xiurenb.vip/YouWu/\n嗲囡囡::https://www.xiurenb.vip/FeiLin/\n蜜桃社::https://www.xiurenb.vip/MiiTao/\n尤蜜荟::https://www.xiurenb.vip/YouMi/\n画语界::https://www.xiurenb.vip/XiaoYu/\n花漾::https://www.xiurenb.vip/HuaYang/\n星颜社::https://www.xiurenb.vip/XingYan/\n兔几盟::https://www.xiurenb.vip/BoLoli/\n优星馆::https://www.xiurenb.vip/Uxing/\n影私荟::https://www.xiurenb.vip/WingS/\n星乐园::https://www.xiurenb.vip/LeYuan/\n顽味生活::https://www.xiurenb.vip/Taste/\n糖果画报::https://www.xiurenb.vip/Candy/\n萌榜::https://www.xiurenb.vip/Micat/",
    "sourceComment": "2022 5 17 \nfix bug",
    "sourceGroup": "封子秦,R18",
    "sourceIcon": "https://img2.baidu.com/it/u=2011782570,3794839079&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=718",
    "sourceName": "秀人集a-v15",
    "sourceUrl": "https://www.xiurenb.vip/",
    "style": "/*标题相关*/\r\nh3{text-align:center}\r\nh6{margin-bottom:0}\r\nimg{width:100%}\nh5{margin-bottom:0;padding-left:5;}"
  },
  {
    "articleStyle": 1,
    "customOrder": 129,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.stui-vodlist clearfix@li",
    "ruleContent": "script@html",
    "ruleImage": "tag.a@data-original",
    "ruleLink": "tag.a@href",
    "ruleNextPage": "text.下一页@href",
    "ruleTitle": "class.text-title@text",
    "singleUrl": false,
    "sortUrl": "搜索::/index.php/vod/search.html?wd={{source.getVariable()}}\n首页::/\n国产::/vod/type/id/1.html\n动画::/vod/type/id/5.html\n自慰::/vod/search.html?wd=%E8%87%AA%E6%85%B0&submit=\n福利姬::/index.php/vod/search.html?wd=%E7%A6%8F%E5%88%A9%E5%A7%AC&submit=\n欧美::/index.php/vod/type/id/4.html\n无码::/index.php/vod/type/id/2.html\n有码::/index.php/vod/type/id/3.html\n情色::/index.php/vod/type/id/6.html\n猎奇::/index.php/vod/type/id/7.html",
    "sourceComment": "蜜芽\n需要频道换源https://x12drnff29v67fdmmj.com:58010/",
    "sourceGroup": "蜜芽,R18",
    "sourceIcon": "https://i.postimg.cc/mgsrMMnJ/1658228022914.png",
    "sourceName": "©蜜芽",
    "sourceUrl": "https://x12ikbvpoz7fr268r.com:58010/"
  },
  {
    "articleStyle": 1,
    "customOrder": 130,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.col-xs-12 col-sm-4 col-md-3 col-lg-3",
    "ruleContent": "<js>\nresult=decodeURIComponent(result.match(/strencode2\\(\"(.*?)\"\\)/)[1]).match(/src='(.*?)'/)[1];\n`<html>\n<head>\n<meta charset=\"utf-8\">\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no\" />\n</head>\n<body>\n<video src=\"${result}\" width=\"100%\" height=\"280px\" controls=\"controls\" ></video>\n</body>\n</html>`\n</js>",
    "ruleImage": "img@src",
    "ruleLink": "a@href",
    "ruleNextPage": "page",
    "rulePubDate": "class.duration@text",
    "ruleTitle": "class.video-title title-truncate m-t-5@text",
    "singleUrl": false,
    "sortUrl": "主页::https://91porn.com/v.php?category=rf&viewtype=basic&page={{page}}\n91原创::https://f0727.wonderfulday29.live/v.php?category=ori&viewtype=basic&page={{page}},{'webView': true}\n当前最热::https://f0727.wonderfulday29.live/v.php?category=hot&viewtype=basic&page={{page}},{'webView': true}\n本月最热::https://f0727.wonderfulday29.live/v.php?category=top&viewtype=basic&page={{page}},{'webView': true}\n10分钟以上 ::https://f0727.wonderfulday29.live/v.php?category=long&viewtype=basic&page={{page}},{'webView': true}\n20分钟以上 ::https://f0727.wonderfulday29.live/v.php?category=longer&viewtype=basic&page={{page}},{'webView': true}\n本月收藏::https://f0727.wonderfulday29.live/v.php?category=tf&viewtype=basic&page={{page}},{'webView': true}\n 收藏最多::https://f0727.wonderfulday29.live/v.php?category=mf&viewtype=basic&page={{page}},{'webView': true}\n高清::https://f0727.wonderfulday29.live/v.php?category=hd&viewtype=basic&page={{page}},{'webView': true}\n上月最热::https://f0727.wonderfulday29.live/v.php?category=top&m=-1&viewtype=basic&page={{page}},{'webView': true}\n本月讨论::https://f0727.wonderfulday29.live/v.php?category=md&viewtype=basic&page={{page}},{'webView': true}\n",
    "sourceComment": "",
    "sourceGroup": "R18",
    "sourceIcon": "https://z3.ax1x.com/2021/05/04/gnLfmD.png",
    "sourceName": "©91porn",
    "sourceUrl": "https://91porn.com/index.php",
    "style": "body{background-color:black;margin:0;padding:0;width:100%;}"
  },
  {
    "articleStyle": 0,
    "customOrder": 131,
    "enableJs": true,
    "enabled": false,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "成人视频,R18",
    "sourceIcon": "https://p2.ssl.qhimgs1.com/sdr/_220_/t011f089b0840fae0ae.jpg",
    "sourceName": "PornHub\n(VPN)",
    "sourceUrl": "https://cn.pornhub.com"
  },
  {
    "articleStyle": 0,
    "customOrder": 131,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "#searchList@li||.myui-panel_bd@li",
    "ruleContent": "<html>\n<head>\n<meta charset=\"utf-8\">\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no\"/>\n<script src=\"//cdn.staticfile.org/jquery/2.2.4/jquery.min.js\"></script>\n<script src=\"//cdn.staticfile.org/dplayer/1.25.0/DPlayer.min.js\"></script>\n<link rel =\"stylesheet\" href = \"//cdn.staticfile.org/dplayer/1.25.0/DPlayer.min.css\">\n</head>\n\n\n<div class =\"dz\" width=\"100%\"></div>\n\n<div class=\"dplayer\" id=\"dplayer\" style=\"width:100%;height:300\"></div>\n\n<div id=\"tab\"><ul>{{@@class.nav nav-tabs active@a@html}}</ul></div>\n{{@@class.myui-content__list@html}}\n\n\n<script>\nfunction video(url){\n$.get(url,function(result){json=result.match(/var player.*?=(\\{.*\\})/)[1];\nsrc= JSON.parse(json).url;\nloadding='https://ftp.bmp.ovh/imgs/2021/05/5c31747aeb7bff4e.gif'\n//假如提取到的视频带 mp4|m3u8 就采用dp播放器播放\nif(src.match(/mp4|m3u8/)){\nvar dplayer = new DPlayer({element:document.getElementById(\"dplayer\"),autoplay: true,lang: 'zh-cn',video:{url:src,pic:loadding}});}else\n//直接提取的前面带https://jx.quanmingjiexi.com/?url= 进行播放\n{\nsrc=\"https://jx.quanmingjiexi.com/?url=\"+src;\niframe='<iframe src=\"'+src+'\" width=\"350\" height=\"280\" id=\"cciframe\" scrolling=\"no\"allowfullscreen=\"true\" webkitallowfullscreen=\"true\" autoplay=\"true\" mozallowfullscreen=\"true\"></iframe>'\n\n$(\".dplayer\").html(iframe)\n}\n$(\".dz\").html(src);\n});\n}\n\n(function(){\n$(\".myui-content__list\").hide();\n$(\".myui-content__list:eq(0)\").show();\n$(\"li:eq(0)\").addClass(\"active\")})();\n\n$(\"button\").click(function(){\n$(\"button\").removeClass(\"upBtn\");\n$(this).addClass(\"upBtn\");\nurl='http://www.hc34567.com/'+$(this).val();\nvideo(url)\n});\n\n$(\"button\").click(function(){\n$(\"button\").removeClass(\"upBtn\");\n$(this).addClass(\"upBtn\");\nurl='http://www.hc34567.com/'+$(this).val();\nvideo(url);\n});\n\n$(\"li\").click(function(){\n$(\"li\").removeClass(\"active\");\n$(this).addClass(\"active\");\nindex=$(this).index();\n$(\".myui-content__list\").hide();\n$(\".myui-content__list:eq(\"+index+\")\").show();\n})\n</script>\n</html>\n\n@js:\nresult = result.replace(/.*href=\"([^\"]+)\">([^<]+).*/g,'<button value=\"$1\">$2</button>').replace(/<a/g,'<li').replace(/<\\/a>/g,'</li>')",
    "ruleImage": "a@data-original",
    "ruleLink": "a@href",
    "ruleNextPage": "page",
    "rulePubDate": "p.2@textNodes||.myui-vodlist__detail@p@text",
    "ruleTitle": "h4@text",
    "singleUrl": false,
    "sortUrl": "搜索::hcvodsearch/{{source.getVariable()}}----------{{page}}---.html\n电影::/hcvodtype/1-{{page}}.html\n电视剧::/hcvodtype/2-{{page}}.html\n动漫::/hcvodtype/4-{{page}}.html\n综艺::/hcvodtype/3-{{page}}.html\n豆瓣电影::/hcvodtype/42-{{page}}.html",
    "sourceGroup": "影视,R18",
    "sourceIcon": "http://www.hc34567.com/static/images/logo.png",
    "sourceName": "影视森林",
    "sourceUrl": "http://www.hc34567.com/",
    "style": "#tab{\nheight:40px;\nmargin-bottom:8px;\n}\n\n.dz {\npadding:5px 0;\noverflow:scroll;\nbackground:#1C1B1E;color:#D3D3D3;;\n}\n\nul{\nmargin:0;\npadding:0;\n}\n\n#tab li {\nfont-size:15px;\nlist-style:none;\nfloat:left;\nheight:30px;\nmargin-right:5px;\ncolor:#D3D3D3;\nline-height:25px;\n}\n\n#tab li.active {\ncolor:#FF8C00;\nborder-bottom:3px solid #FF8C00;\n}\n\nbutton{\noutline:none;\nheight:35px; \nborder:3px solid #1C1B1E ;\nborder-radius:8px;\nmargin-bottom:8px;\nbackground:#1C1B1E;color:#A9A9A9;\nvertical-align:middle; \nwidth:24%;\noverflow:scroll\n}\n\nbutton.upBtn{\nborder:1px solid #FF8C00 ;\nbackground-color:#555555; \n}\n\nbody{\nmargin:0;\nbackground-color: #333333; \n}"
  },
  {
    "articleStyle": 1,
    "customOrder": 132,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": " {\n\"User-Agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.135 Safari/537.36\",\"Cookie\":\"__cfduid=de7f377235b8f6a0fbc001c358691bbff1600348768\"\n}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.videobrickwrap@class.videobrick",
    "ruleContent": "@js:\nheader={\"Referer\":baseUrl};\nheaders={\"headers\":JSON.stringify(header)}\nvar doc = org.jsoup.Jsoup.parse(result);\nvar spt = doc.select(\"script\").toString();\nvar src = spt.match(/\"https.*.mp4.*\"/);\nvar video='<iframe src='+src+' width=\"100%\" height=\"560\" frameborder=\"no\" allowfullscreen=\"true\">'  \nresult = video",
    "ruleImage": "tag.img@src",
    "ruleLink": "class.interlink@tag.a@href",
    "ruleNextPage": "page",
    "rulePubDate": "@js:\nvar doc = org.jsoup.Jsoup.parse(result)\nvar text = doc.select(\"div.videointro\").text();\nvar info = String(text).replace(/\\|/,\"   喜欢:\");\nresult = \"观看: \"+info",
    "ruleTitle": "tag.img@alt",
    "singleUrl": false,
    "sortUrl": "无码::https://ohentai.org/tagsearch.php?tag=Uncensored&p={{page}}\n1080p::https://ohentai.org/tagsearch.php?tag=1080p&p={{page}}\n游戏CG::https://ohentai.org/tagsearch.php?tag=Game&p={{page}}\n熟女::https://ohentai.org/tagsearch.php?tag=Milf&p={{page}}\n束缚::https://ohentai.org/tagsearch.php?tag=Rape&p={{page}}\n口交::https://ohentai.org/tagsearch.php?tag=Blow%20Job&p={{page}}\n纯爱::https://ohentai.org/tagsearch.php?tag=Vanilla&p={{page}}",
    "sourceGroup": "R18",
    "sourceIcon": "https://i.postimg.cc/wxQpYXF9/1660809059840.png",
    "sourceName": "☪Ohentai",
    "sourceUrl": "https://ohentai.org/"
  },
  {
    "articleStyle": 2,
    "customOrder": 133,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginUrl": "",
    "ruleArticles": "ul li",
    "ruleContent": "script@all",
    "ruleImage": "img@data-original",
    "ruleLink": "a@href",
    "rulePubDate": "p@text",
    "ruleTitle": "a@title",
    "singleUrl": false,
    "sourceComment": "",
    "sourceGroup": "封子秦,R18",
    "sourceIcon": "https://img2.baidu.com/it/u=1906732828,3160455141&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=666",
    "sourceName": "吞金影院",
    "sourceUrl": "http://mb4.cms10demo.com/index.php/vod/search/wd/%E5%90%9E%E7%B2%BE.html"
  },
  {
    "articleStyle": 1,
    "customOrder": 133,
    "enableJs": true,
    "enabled": false,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "ul",
    "ruleContent": "title@text&&id.video@all",
    "ruleImage": ".lazy@img",
    "ruleLink": "a@href",
    "ruleNextPage": "text.Next@href",
    "rulePubDate": "日期: {{@@.view@span@text}}      时长:{{@@class.image@text}}",
    "ruleTitle": "class.title@text",
    "singleUrl": false,
    "sortUrl": "最新视频::https://www.tasexy.com/new.html\n偷拍自拍::https://www.tasexy.com/list/129.html\n国产情侣::https://www.tasexy.com/list/180.html\n国产偷拍::https://www.tasexy.com/list/353.html\n自拍偷拍::https://www.tasexy.com/list/456.html\n国产色情::https://www.tasexy.com/list/455.html\n素人自拍::https://www.tasexy.com/list/454.html\n国产色情::https://www.tasexy.com/list/210.html\n国产色情:https://www.tasexy.com/list/222.html\n\n国产精品::https://www.tasexy.com/list/187.html\n国产自拍::https://www.tasexy.com/list/234.html\n国产自拍::https://www.tasexy.com/list/198.html\n短视频::https://www.tasexy.com/list/319.html\n女神学生::https://www.tasexy.com/list/243.html\n自慰群交::https://www.tasexy.com/list/248.html\n抖阴视频::https://www.tasexy.com/list/254.html\n小鸟酱::https://www.tasexy.com/list/260.html\n网曝门::https://www.tasexy.com/list/261.html\n水果派::https://www.tasexy.com/list/322.html\n颜射::https://www.tasexy.com/list/324.html\n韩国明星::https://www.tasexy.com/list/173.html\n国产女奴::https://www.tasexy.com/list/177.html\n网曝门::https://www.tasexy.com/list/466.html\n网红流出::https://www.tasexy.com/list/465.html\nCosplay::https://www.tasexy.com/list/463.html\n过膝袜::https://www.tasexy.com/list/462.html\n瑜伽裤::https://www.tasexy.com/list/461.html\n兽耳系列::https://www.tasexy.com/list/460.html\n91探花::https://www.tasexy.com/list/425.html\n",
    "sourceComment": "✪一夜爆裤制作✪\n✪名称后带\"@/封面VPN\"要翻墙✪\n✪更多分类自行添加✪\n 发布地址→https://www.662222.one/",
    "sourceGroup": "成人视频,R18",
    "sourceIcon": "https://img2.baidu.com/it/u=1877943053,1292683255&fm=253&fmt=auto&app=138&f=PNG?w=319&h=296",
    "sourceName": "百万视频@VPN",
    "sourceUrl": "https://www.tasexy.com/#dialog",
    "style": "iframe{\n\theight:420px\n}\ntitle{\n\tdisplay:block\n}"
  },
  {
    "articleStyle": 1,
    "customOrder": 133,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": ".item",
    "ruleContent": "id.kt_player@all&&script@all",
    "ruleImage": "img@data-original",
    "ruleLink": "a@href",
    "ruleNextPage": "",
    "rulePubDate": ".duration@text",
    "ruleTitle": "img@alt",
    "singleUrl": false,
    "sortUrl": "台灣::https://www.85po.com/tags/tai-wan/\n\t搜索::https://www.85po.com/search/{{(source.getVariable()==''||source.getVariable()==null)?source.setVariable('妹妹'):\"\"}}{{source.getVariable()}}.html\n\t巨乳::https://www.85po.com/tags/ju-ru/\n泰國::https://www.85po.com/tags/tai-guo/\n自拍::https://www.85po.com/tags/zi-pai/\n越南::https://www.85po.com/tags/yue-nan/\n近拍::https://www.85po.com/tags/jin-pai/\n日本::https://www.85po.com/tags/ri-ben/\n中國::https://www.85po.com/tags/zhong-guo/\n偷拍::https://www.85po.com/tags/tou-pai/\n韓國::https://www.85po.com/tags//han-guo/\n香港::https://www.85po.com/tags/xiang-gang/\n新馬::https://www.85po.com/tags/xin-ma/\n街拍::https://www.85po.com/tags/jie-pai/",
    "sourceGroup": "成人视频,R18",
    "sourceIcon": "https://85tube.com/favicon.ico",
    "sourceName": "85Tube梯子可用",
    "sourceUrl": "https://www.85po.com"
  },
  {
    "articleStyle": 0,
    "customOrder": 133,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "🎲 娱乐,R18",
    "sourceIcon": "https://alioss.yystv.cn/images/yyslogo124.png",
    "sourceName": "游研社",
    "sourceUrl": "https://www.yystv.cn"
  },
  {
    "articleStyle": 2,
    "customOrder": 135,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": ".main@li",
    "ruleContent": "all##ul##details",
    "ruleImage": "img@realsrc",
    "ruleLink": "a@href",
    "ruleNextPage": "page",
    "rulePubDate": "{{@@.love@text}} {{@@span@text}}",
    "ruleTitle": "a@text",
    "singleUrl": false,
    "sortUrl": "性感美女::https://m.tuiimg.com/xingganmeinv/list_{{page}}.html\n清纯美女::https://m.tuiimg.com/qingchunmeinv/list_{{page}}.html\n妹子图::https://m.tuiimg.com/meizitu/list_{{page}}.html\n美女写真::https://m.tuiimg.com/meinvxiezhen/list_{{page}}.html",
    "sourceComment": "",
    "sourceGroup": "可用,R18",
    "sourceIcon": "https://img2.baidu.com/it/u=674439633,2502913322&fm=253&fmt=auto&app=120&f=JPEG?w=1280&h=800",
    "sourceName": "推图尤物",
    "sourceUrl": "https://m.tuiimg.com"
  },
  {
    "articleStyle": 0,
    "customOrder": 136,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": ".thumbnail-cover",
    "ruleContent": "script.-5@all\n<js>\nvar src=result.match(/url: '(.*)',/)[1]\nvar img=result.match(/pic : '(.*)'/)[1]\nvar result=\"<video src=\\\"\"+src+\"\\\" width=\\\"100%\\\" height=\\\"auto\\\"  autoplay=\\\"autoplay\\\"  poster=\\\"\"+img+\"\\\" controls=\\\"controls\\\"></video>\";\r\nresult = `<html><head><meta charset=\"utf-8\"><meta name=\"viewport\" content=\"width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no\" /><style>html,body{margin:0;padding:0;width:100%;}</style></head><body>${result}</body></html>`\n</js>",
    "ruleImage": "img@data-original",
    "ruleLink": "a@href\n<js>\nresult=\"https://vip.aqdz20.com\"+result\n</js>",
    "ruleNextPage": "page",
    "rulePubDate": ".video-duration@text",
    "ruleTitle": "a@alt",
    "singleUrl": false,
    "sortUrl": "無碼::https://vip.aqdz20.com/videos/tag/nopixelated/{{page}}\n白虎::https://vip.aqdz20.com/videos/tag/hairless/{{page}}\nH動畫::https://vip.aqdz20.com/videos/tag/cartoon/{{page}}\n潮吹::https://vip.aqdz20.com/videos/tag/spray-tide/{{page}}\n自拍::https://vip.aqdz20.com/videos/tag/zipai/{{page}}\n自慰::https://vip.aqdz20.com/videos/tag/masturbation/{{page}}\n偷拍::https://vip.aqdz20.com/videos/tag/toupai/{{page}}\n巨屌::https://vip.aqdz20.com/videos/tag/black-big/{{page}}\n群P::https://vip.aqdz20.com/videos/tag/group/{{page}}\n中文字幕::https://vip.aqdz20.com/videos/tag/caption/{{page}}\n酒店::https://vip.aqdz20.com/videos/tag/hotel/{{page}}\nKTV::https://vip.aqdz20.com/videos/tag/ktv/{{page}}\n教室::https://vip.aqdz20.com/videos/tag/classroom/{{page}}\n辦公室::https://vip.aqdz20.com/videos/tag/office/{{page}}\n野外::https://vip.aqdz20.com/videos/tag/outside/{{page}}\n洗手間::https://vip.aqdz20.com/videos/tag/wc/{{page}}\n車震::https://vip.aqdz20.com/videos/tag/car/{{page}}\n家裡::https://vip.aqdz20.com/videos/tag/home/{{page}}\n少婦::https://vip.aqdz20.com/videos/tag/woman/{{page}}\n學生::https://vip.aqdz20.com/videos/tag/student/{{page}}\n老師::https://vip.aqdz20.com/videos/tag/teacher/{{page}}\n小姐::https://vip.aqdz20.com/videos/tag/lady/{{page}}\nOL::https://vip.aqdz20.com/videos/tag/ol\n嫩模::https://vip.aqdz20.com/videos/tag/model/{{page}}\n網紅::https://vip.aqdz20.com/videos/tag/celebrity/{{page}}\n主播::https://vip.aqdz20.com/videos/tag/anchor/{{page}}\n媽媽::https://vip.aqdz20.com/videos/tag/mother/{{page}}\n姐姐::https://vip.aqdz20.com/videos/tag/sister/{{page}}\n巨乳::https://vip.aqdz20.com/videos/tag/big-breast/{{page}}\n美乳::https://vip.aqdz20.com/videos/tag/beauty-breast/{{page}}\n巨臀::https://vip.aqdz20.com/videos/tag/big-ass/{{page}}\n美背::https://vip.aqdz20.com/videos/tag/beauty-back/{{page}}\n三點粉::https://vip.aqdz20.com/videos/tag/powder/{{page}}\n多汁::https://vip.aqdz20.com/videos/tag/solppy/{{page}}\n處女::https://vip.aqdz20.com/videos/tag/virgin/{{page}}\n美腿::https://vip.aqdz20.com/videos/tag/beauty-leg/{{page}}\nSM::https://vip.aqdz20.com/videos/tag/sm\n捆綁::https://vip.aqdz20.com/videos/tag/bundling/{{page}}\n戀足::https://vip.aqdz20.com/videos/tag/foot-love/{{page}}\n強姦::https://vip.aqdz20.com/videos/tag/rape/{{page}}\n同性::https://vip.aqdz20.com/videos/tag/homosexual/{{page}}\n迷姦::https://vip.aqdz20.com/videos/tag/adultery/{{page}}\n近親相姦::https://vip.aqdz20.com/videos/tag/fornication/{{page}}\n制服誘惑::https://vip.aqdz20.com/videos/tag/uniform/{{page}}\n絲襪::https://vip.aqdz20.com/videos/tag/stockings/{{page}}\n護士::https://vip.aqdz20.com/videos/tag/nurse/{{page}}\nCosplay::https://vip.aqdz20.com/videos/tag/cosplay/{{page}}\n空姐::https://vip.aqdz20.com/videos/tag/hostess/{{page}}\n情趣內衣::https://vip.aqdz20.com/videos/tag/sexy-ingerie/{{page}}\n后入::https://vip.aqdz20.com/videos/tag/back-fuck/{{page}}\n無套內射::https://vip.aqdz20.com/videos/tag/injection/{{page}}\n口爆::https://vip.aqdz20.com/videos/tag/oral-copulation/{{page}}\n深喉::https://vip.aqdz20.com/videos/tag/deep-throat/{{page}}\n乳交::https://vip.aqdz20.com/videos/tag/breast-fuck/{{page}}\n顏射::https://vip.aqdz20.com/videos/tag/yan-shot/{{page}}\n肛交::https://vip.aqdz20.com/videos/tag/anal-copulation/{{page}}\n素人::https://vip.aqdz20.com/videos/tag/vegetarian/{{page}}\n清純可愛::https://vip.aqdz20.com/videos/tag/pure/{{page}}\n女優::https://vip.aqdz20.com/videos/tag/avlady/{{page}}\n蘿莉::https://vip.aqdz20.com/videos/tag/loli/{{page}}\n明星::https://vip.aqdz20.com/videos/tag/star/{{page}}\n情趣玩具::https://vip.aqdz20.com/videos/tag/toys/{{page}}\n人妖::https://vip.aqdz20.com/videos/tag/shemale/{{page}}\n另類::https://vip.aqdz20.com/videos/tag/other/{{page}}\n按摩::https://vip.aqdz20.com/videos/tag/massage/{{page}}\n露出::https://vip.aqdz20.com/videos/tag/exhibitionism/{{page}}",
    "sourceGroup": "R18",
    "sourceIcon": "https://img13.360buyimg.com/ddimg/jfs/t1/180015/34/30499/3188/635abb87E47815c6a/bdb7d18fcb5281a0.png",
    "sourceName": "爱情岛",
    "sourceUrl": "https://vip.aqdz20.com/"
  },
  {
    "articleStyle": 0,
    "customOrder": 136,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "🎲 娱乐,R18",
    "sourceIcon": "http://pp.myapp.com/ma_icon/0/icon_12231772_1552311023/256",
    "sourceName": "泛见志",
    "sourceUrl": "http://m.ifanjian.net"
  },
  {
    "articleStyle": 1,
    "customOrder": 137,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": " {\n\"User-Agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.135 Safari/537.36\",\"Cookie\":\"__cfduid=d150f32feeec7048d35993a8a642d2c0e1600348724; AVS=k29ctap8qhbuncoijpdkckr5v7\"\n}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.left@class.row@class.game-item&&class.left@class.row@class.video-item",
    "ruleContent": "@js:\nheader={\"Referer\":baseUrl};\nheaders={\"headers\":JSON.stringify(header)}\nif(baseUrl.match(/gif/)){\nvar doc = org.jsoup.Jsoup.parse(result);\nvar gif = String(doc).match(/gif.{5,10}.webm/);\nvar preview = 'https://www.hentaicloud.com/media/'+gif;\n\nif(String(doc).match(/From Video/)){\nvar url = doc.select(\"div.fromvideo\").select(\"a\").attr(\"href\");\nvar allUrl = 'https://www.hentaicloud.com'+url;\nvar doc = org.jsoup.Jsoup.connect(allUrl).get();\nvar spt = doc.select(\"source\").toString();\nvar src = spt.match(/https.{36}hd.{5,10}mp4/);\nresult = '<body><div><video controls=\"true\" width=\"100%\" autoplay=\"true\" src ='+preview+'></div><div><a href='+src+' >点击看全片</a></div></body>'\n}else{  \nresult = '<body><div><video controls=\"true\" width=\"100%\" autoplay=\"true\" src ='+preview+'></div><div><a>此片暂无出处</a></div></body>'\n}\n\n}else{\nvar doc = org.jsoup.Jsoup.parse(result);\nvar spt = doc.select(\"source\").toString();\nvar src = spt.match(/https.{36}hd.{5,10}mp4/);\nvar video='<iframe src='+src+' width=\"100%\" height=\"560\" frameborder=\"no\" allowfullscreen=\"true\">'  \nresult = video}",
    "ruleImage": "tag.img@src",
    "ruleLink": "tag.a@href",
    "ruleNextPage": "page",
    "rulePubDate": "@js:\nvar doc = org.jsoup.Jsoup.parse(result)\nvar text = doc.select(\"div.info\").select(\"span\").textNodes();\nif(text.size()==3){\nvar view = text.get(2).toString();\nif(view==\" \"){view =\"无\";}\nvar episode =text.get(0).toString();\nif(episode ==\" \"|| episode ==\"-\"){episode =\"无\";}\nresult = episode+\"   观看:\"+view}else if(text.size()==4){\nvar view = text.get(3).toString();\nif(view==\" \"){view =\"无\";}\nvar episode =text.get(0).toString();\nif(episode ==\" \"|| episode ==\"-\"){episode =\"无\";}\nresult = episode+\"   观看:\"+view\n}else{result = \"可通过动图预览查找动画\"}\n",
    "ruleTitle": "tag.div@id&&class.name@text",
    "singleUrl": false,
    "sortUrl": "3D::https://www.hentaicloud.com/videos/3d-hentai?page={{page}}\n口交::https://www.hentaicloud.com/tags/Blowjob?page={{page}}\n无码::https://www.hentaicloud.com/tags/Uncensored?page={{page}}\n触手::https://www.hentaicloud.com/tags/Tentacle?page={{page}}\n扶她::https://www.hentaicloud.com/videos/futanari?page={{page}}\n恶魔::https://www.hentaicloud.com/tags/Demon?page={{page}}\n自慰::https://www.hentaicloud.com/tags/Masturbation?page={{page}}\n后宫::https://www.hentaicloud.com/tags/Harem?page={{page}}",
    "sourceGroup": "R18",
    "sourceIcon": "https://i.postimg.cc/wxQpYXF9/1660809059840.png",
    "sourceName": "☪hentai~c",
    "sourceUrl": "https://www.hentaicloud.com",
    "style": ""
  },
  {
    "articleStyle": 2,
    "customOrder": 138,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.row col6 clearfix@tag.dl||class.col clearfix@tag.ul@tag.li",
    "ruleContent": "class.content@tag.img@html||class.main-text-wrap@class.zw@html",
    "ruleImage": "tag.dt@tag.a@tag.img@data-original",
    "ruleLink": "tag.a@href||tag.li@tag.a@href",
    "ruleNextPage": "page",
    "rulePubDate": "tag.dt@tag.i@text||tag.a@span@text",
    "ruleTitle": "tag.dd@tag.a@text||tag.a@h3@text",
    "singleUrl": false,
    "sortUrl": "精品图集::https://mmh48.com:32211/home/piclist/32/1163-{{page}}.html\n欧美风情::https://mmh48.com:32211/home/piclist/32/1164-{{page}}.html\n亚洲情色::https://mmh48.com:32211/home/piclist/32/1165-{{page}}.html\n性爱自拍::https://mmh48.com:32211/home/piclist/32/1166-{{page}}.html\n成人动漫::https://mmh48.com:32211/home/piclist/32/1167-{{page}}.html\n美腿丝袜::https://mmh48.com:32211/home/piclist/32/1168-{{page}}.html\n唯美写真::https://mmh48.com:32211/home/piclist/32/1169-{{page}}.html\n人体艺术::https://mmh48.com:32211/home/piclist/32/1170-{{page}}.html\n都市情感::https://mmh48.com:32211/home/textlist/32/1172-{{page}}.html\n人妻熟女::https://mmh48.com:32211/home/textlist/32/1173-{{page}}.html\n玄幻武侠::https://mmh48.com:32211/home/textlist/32/1174-{{page}}.html\n另类其它::https://mmh48.com:32211/home/textlist/32/1175-{{page}}.html\n明星校园::https://mmh48.com:32211/home/textlist/32/1176-{{page}}.html\n家庭乱伦::https://mmh48.com:32211/home/textlist/32/1177-{{page}}.html\n成人小说::https://mmh48.com:32211/home/textlist/32/1178-{{page}}.html\n暴力虐待::https://mmh48.com:32211/home/textlist/32/1179-{{page}}.html",
    "sourceComment": "有些IP无法显示，关闭VPN即可展示",
    "sourceGroup": "R18",
    "sourceIcon": "https://i.postimg.cc/ZRXvkz27/gF2H6e.gif",
    "sourceName": "📖麻豆®",
    "sourceUrl": "https://mmh48.com:32211"
  },
  {
    "articleStyle": 0,
    "customOrder": 138,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "",
    "ruleImage": "",
    "ruleLink": "",
    "ruleNextPage": "",
    "rulePubDate": "",
    "ruleTitle": "",
    "singleUrl": true,
    "sortUrl": "",
    "sourceComment": "",
    "sourceGroup": "🎲 娱乐,R18",
    "sourceIcon": "https://mp-video.myzaker.com/image/201906/5cfe1b187c274f4d194bb922.jpg",
    "sourceName": "手游那点事",
    "sourceUrl": "http://www.nadianshi.com"
  },
  {
    "articleStyle": 0,
    "customOrder": 139,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "封子秦,R18",
    "sourceIcon": "https://www.ai66.cc/images/favicon.ico",
    "sourceName": "新六电影",
    "sourceUrl": "https://www.ai66.cc"
  },
  {
    "articleStyle": 0,
    "customOrder": 139,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "🎲 娱乐,R18",
    "sourceIcon": "http://pic.rmb.bdstatic.com/10cea0842ca8b793e2bf2a4a2c568806.jpeg",
    "sourceName": "触乐",
    "sourceUrl": "http://www.chuapp.com"
  },
  {
    "articleStyle": 2,
    "customOrder": 141,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 1679995652450,
    "loadWithBaseUrl": true,
    "ruleArticles": "id.container@tag.li",
    "ruleContent": "class.ss-image@href\n<js>\nli='\\n'\nlist=result.split('\\n')\nfor(i in list){\n\t\tli += '<li><img src=\"http://bpic.wotucdn.com/20/32/52/20325281-1190f9105412b42f759882ce262c2dcb-3.jpg\" data-src=\"'+list[i]+'\"></li>\\n'\n\t}\nli\n</js>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\">\n\n\n<ul id=\"box\">\n{{result}}\n</ul>\n\n\n<link rel=\"stylesheet\" href=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.css\">\n<script src=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.js\"></script>\n<script>\n\troot = document.getElementById('box')\n\tlazy = new IntersectionObserver(entires => {\n\t\tentires.forEach(item => {\n\t\t\tif(item.isIntersecting){\n\t\t\t\titem=item.target\n\t\t\t\titem.src=item.getAttribute('data-src')\n\t\t\t\tlazy.unobserve(item)\n\t\t\t}\n\t\t})\n\t}, {\n\t\troot: root,\n\t\tthreshold: [0],\n\t\trootMargin:\"0px 0px 500px 0px\"\n\t})\n\nimgs = document.getElementsByTagName('img')\nArray.from(imgs).forEach(item => {\n\t\tlazy.observe(item)\n\t})\n\n//查看大图插件\nnew Viewer(root,{title:false,interval:3000})\n</script>",
    "ruleImage": "tag.img@data-src",
    "ruleLink": "tag.a@href",
    "ruleNextPage": "page",
    "ruleTitle": "tag.a@title",
    "singleUrl": false,
    "sortUrl": "全部::https://lamalinks.com/search/{{page}}/\n穴::https://lamalinks.com/search/close-up-virgins-hymen-pics/{{page}}/\n张开::https://lamalinks.com/search/spreading-ass/{{page}}/\n白虎::https://lamalinks.com/search/shaved-pussy/{{page}}/\nSM::https://lamalinks.com/search/bdsm/{{page}}/\n搜索::https://lamalinks.com/search/{{source.getVariable()}}/{{page}}/",
    "sourceGroup": "可用,R18",
    "sourceIcon": "https://img1.baidu.com/it/u=115487244,2062484473&fm=253&fmt=auto&app=138&f=JPEG?w=889&h=500",
    "sourceName": "小黄图集",
    "sourceUrl": "https://lamalinks.com/search/1/",
    "style": "* {\n\tmargin: 0;\n\tpadding: 0\n}\nul {\n\tfont-size: 0;\n\theight: 100%;\n\toverflow-y: scroll\n}\nli {\n\tlist-style: none;\n\ttext-align: center\n}\nimg {\n\twidth: 100%;\n\theight: auto\n}"
  },
  {
    "articleStyle": 0,
    "customOrder": 141,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "📻 媒体,R18",
    "sourceIcon": "http://www.mp3.ningmeng.name/wp-content/uploads/2020/02/logo_%E5%89%AF.png",
    "sourceName": "私房歌",
    "sourceUrl": "http://www.ningmeng.name"
  },
  {
    "articleStyle": 2,
    "customOrder": 142,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.row@div.zipai",
    "ruleContent": "h1@html&&class.picture-content@all&&script[1,-4]@all",
    "ruleImage": "class.pic-thumb@data-image",
    "ruleLink": "class.meta-data@a@href",
    "ruleNextPage": ".pagination@li.-1@a@href",
    "rulePubDate": ".pic-num@text",
    "ruleTitle": "class.meta-data@a@tag.span@text",
    "singleUrl": false,
    "sortUrl": "首页::https://xiaocaozipai1.xyz/\n少妇::https://xiaocaozipai1.xyz/tag/%E5%B0%91%E5%A6%87/\n老婆::https://xiaocaozipai1.xyz/tag/%E8%80%81%E5%A9%86/\n女友::https://xiaocaozipai1.xyz/tag/%E5%A5%B3%E5%8F%8B/\n人妻::https://xiaocaozipai1.xyz/tag/%E4%BA%BA%E5%A6%BB/\n情人::https://xiaocaozipai1.xyz/tag/%E6%83%85%E4%BA%BA/\n\t露脸::https://xiaocaozipai1.xyz/tag/%E9%9C%B2%E8%84%B8/\n最近一天::https://xiaocaozipai1.xyz/hot/1/",
    "sourceComment": "小草图片",
    "sourceGroup": "R18",
    "sourceIcon": "https://i.postimg.cc/jdpNKLVS/1657029573136.png",
    "sourceName": "📖小草",
    "sourceUrl": "https://xiaocaozipai1.xyz/",
    "style": "h1 {\ntext-align:center;\nfont-size:16;\n}\n\nimg{width: 100%;margin:5px 0;border-radius: 5px;}"
  },
  {
    "articleStyle": 1,
    "customOrder": 143,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.box@class.item",
    "ruleContent": "id.Play-Box@script.0@all##url\":\"([^\"]+.m3u8)##$1##\n<js>\nresult=result.replace(/\\\\/g,\"\")\r\nresult = \"<video src=\\\"\" + result + \"\\\" width=\\\"100%\\\" height=\\\"285px\\\" controls=\\\"controls\\\" autoplay=\\\"autoplay\\\"></video>\";\r\nresult = \"<html><head><meta charset=\\\"utf-8\\\"><meta name=\\\"viewport\\\" content=\\\"width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no\\\" /><style>html,body{margin:0;padding:0;width:100%;}</style></head><body>\" + result + \"</body></html>\"\n result\n</js>",
    "ruleDescription": "",
    "ruleImage": "class.cover@img@src",
    "ruleLink": "a@href",
    "ruleNextPage": "class.page@li.-2@a@href",
    "rulePubDate": "class.subtitle@text",
    "ruleTitle": "class.title@text",
    "singleUrl": false,
    "sortUrl": "邻家人妻::https://606jp.buzz/index.php/vod/show/id/7.html\n无码专区::https://606jp.buzz/index.php/vod/show/id/6.html\n巨乳美乳::https://606jp.buzz/index.php/vod/show/id/35.html\n制服丝袜::https://606jp.buzz/index.php/vod/show/id/4.html\n群交淫乱::https://606jp.buzz/index.php/vod/show/id/5.html\n少女萝莉::https://606jp.buzz/index.php/vod/show/id/41.html\n卡通动漫::https://606jp.buzz/index.php/vod/show/id/8.html\n虚拟VR::https://606jp.buzz/index.php/vod/show/id/43.html\n中文字幕::https://606jp.buzz/index.php/vod/show/id/33.html",
    "sourceGroup": "R18",
    "sourceIcon": "https://i.postimg.cc/j5ZxW6v7/1657950527553.png",
    "sourceName": "©404",
    "sourceUrl": "https://606jp.buzz/"
  },
  {
    "articleStyle": 0,
    "customOrder": 144,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.stui-vodlist__box",
    "ruleContent": "class.stui-player__video clearfix@script.0@all##url\":\"([^\"]+.m3u8)##$1##\n<js>\nresult=result.replace(/\\\\/g,\"\")\r\nresult = \"<video src=\\\"\" + result + \"\\\" width=\\\"100%\\\" height=\\\"auto\\\" controls=\\\"controls\\\" ></video>\";\r\nresult = \"<html><head><meta charset=\\\"utf-8\\\"><meta name=\\\"viewport\\\" content=\\\"width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no\\\" /><style>html,body{margin:0;padding:0;width:100%;}</style></head><body>\" + result + \"</body></html>\"\n result\n</js>",
    "ruleImage": "@js:\"https://i.postimg.cc/wv56ntmD/1677901645230.png\"",
    "ruleLink": "a@href",
    "ruleNextPage": "page",
    "rulePubDate": "span@text",
    "ruleTitle": "class.stui-vodlist__thumb lazyload@title",
    "singleUrl": false,
    "sortUrl": "少女蘿莉::https://caomeisp.net/vod/38-{{page}}.html\n日本無碼::https://caomeisp.net/vod/8-{{page}}.html\n國產精品::https://caomeisp.net/vod/6-{{page}}.html\n傳媒精品::https://caomeisp.net/vod/24-{{page}}.html\n偷拍自拍::https://caomeisp.net/vod/7-{{page}}.html\n網紅主播::https://caomeisp.net/vod/22-{{page}}.html\n歐美精品::https://caomeisp.net/vod/12-{{page}}.html\n三級倫理::https://caomeisp.net/vod/37-{{page}}.html\n卡通動漫::https://caomeisp.net/vod/20-{{page}}.html",
    "sourceComment": "",
    "sourceGroup": "封子秦,R18",
    "sourceIcon": "https://img0.baidu.com/it/u=2874790938,228875074&fm=253&fmt=auto&app=120&f=JPEG?w=800&h=1149",
    "sourceName": "©草莓",
    "sourceUrl": "https://caomeisp.net/",
    "style": "video{width:100%}img{width:100%}"
  },
  {
    "articleStyle": 0,
    "customOrder": 144,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "",
    "ruleContent": "",
    "ruleDescription": "",
    "ruleLink": "",
    "ruleTitle": "",
    "singleUrl": true,
    "sourceComment": "广告屏蔽测试，阅读版本需要22.11.08以上",
    "sourceGroup": "封子秦,R18",
    "sourceIcon": "https://www.uaa.com/assets/uaalogo.7acb1f90.svg",
    "sourceName": "uaa",
    "sourceUrl": "https://www.uaa.com/"
  },
  {
    "articleStyle": 0,
    "customOrder": 145,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "",
    "ruleContent": "",
    "ruleDescription": "",
    "ruleLink": "",
    "ruleTitle": "",
    "singleUrl": true,
    "sourceComment": "广告屏蔽测试，阅读版本需要22.11.08以上",
    "sourceGroup": "🎬 18禁,R18",
    "sourceIcon": "https://www.fulitu.cc/usr/themes/photograph/favicon.png",
    "sourceName": "webtoon",
    "sourceUrl": "https://h-webtoon.com/"
  },
  {
    "articleStyle": 0,
    "customOrder": 145,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "",
    "singleUrl": true,
    "sourceGroup": "📰 资讯,R18",
    "sourceIcon": "https://p0.ssl.qhimgs1.com/t025076f8584480d390.jpg",
    "sourceName": "联合国",
    "sourceUrl": "https://www.un.org/zh/"
  },
  {
    "articleStyle": 0,
    "customOrder": 145,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "",
    "ruleContent": "",
    "ruleImage": "",
    "ruleLink": "",
    "rulePubDate": "",
    "ruleTitle": "",
    "singleUrl": true,
    "sortUrl": "",
    "sourceGroup": "📻 媒体,R18",
    "sourceIcon": "https://p5.ssl.qhimgs1.com/t02f332ef4492db09db.jpg",
    "sourceName": "洛奇Town",
    "sourceUrl": "https://ifish.fun",
    "style": ""
  },
  {
    "articleStyle": 2,
    "customOrder": 146,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.item col-xs-12 col-sm-6 col-md-4 col-lg-3",
    "ruleContent": "",
    "ruleImage": "img@data-original",
    "ruleLink": "class.item-link@href",
    "ruleNextPage": "page",
    "rulePubDate": "页数::{{@class.item-num@textNodes}}",
    "ruleTitle": "class.item-link-text@text",
    "singleUrl": false,
    "sortUrl": "首页::https://www.fulitu.cc/page/{{page}}/\n白丝::https://www.fulitu.cc/category/baisi/{{page}}/\n肉丝::https://www.fulitu.cc/category/rousi/{{page}}/\n黑丝::https://www.fulitu.cc/category/heisi/{{page}}/\n萝莉::https://www.fulitu.cc/category/loli/{{page}}/\n少女::https://www.fulitu.cc/category/shaonv/{{page}}/\n御姐::https://www.fulitu.cc/category/yujie/{{page}}/\n腿控::https://www.fulitu.cc/category/tuikong/{{page}}/\n脚控::https://www.fulitu.cc/category/jiaokong/{{page}}/\n网袜::https://www.fulitu.cc/category/wangwa/{{page}}/\n女仆::https://www.fulitu.cc/category/nvpu/{{page}}/\n睡衣::https://www.fulitu.cc/category/shuiyi/{{page}}/\n泳装::https://www.fulitu.cc/category/yongzhuang/{{page}}/\n旗袍::https://www.fulitu.cc/category/qipao/{{page}}/\n巨乳::https://www.fulitu.cc/category/juru/{{page}}/\n锁骨::https://www.fulitu.cc/category/suogu/{{page}}/\n比基尼::https://www.fulitu.cc/category/bijini/{{page}}/\n兔女郎::https://www.fulitu.cc/category/tunvlang/{{page}}/\nJK制服::https://www.fulitu.cc/category/jk/{{page}}/\n死库水::https://www.fulitu.cc/category/sikushui/{{page}}/\n运动体操服::https://www.fulitu.cc/category/yundongticaofu/{{page}}/",
    "sourceGroup": "图片,R18",
    "sourceIcon": "https://img4.tuwandata.com/v2/thumb/jpg/NWFkMywxMTI1LDAsOSwzLDEsLTEsTk9ORSwsLDkw/u/res.tuwan.com/zipgoods/20190508/3b6408c569f8eb687a8dd6eb3578bdb9.jpg",
    "sourceName": "福利兔",
    "sourceUrl": "https://www.fulitu.cc/"
  },
  {
    "articleStyle": 0,
    "customOrder": 146,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "",
    "ruleContent": "",
    "ruleDescription": "",
    "ruleImage": "",
    "ruleLink": "",
    "rulePubDate": "",
    "ruleTitle": "",
    "singleUrl": true,
    "sortUrl": "",
    "sourceGroup": "📰 资讯,R18",
    "sourceIcon": "http://47.105.79.245/netease.jpg",
    "sourceName": "网易",
    "sourceUrl": "https://3g.163.com/main"
  },
  {
    "articleStyle": 1,
    "customOrder": 146,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "#post_container li",
    "ruleImage": "tag.img@src",
    "ruleLink": "tag.a.1@href",
    "ruleNextPage": "text.下一页@href",
    "rulePubDate": "{{@@tag.span.0@text}} · {{@@tag.span.1@text}} · {{@@tag.span.-1@text}}",
    "ruleTitle": "tag.a.1@text",
    "singleUrl": false,
    "sortUrl": "最新音乐::http://www.tyqyyw.com/\n轻音乐::http://www.tyqyyw.com/qingyinyue/\n有声音乐::http://www.tyqyyw.com/yuansheng/\n有声电台::http://www.tyqyyw.com/diantai/\n音乐心情::http://www.tyqyyw.com/shenghuo/\n专辑曲目::http://www.tyqyyw.com/wusun/\n轻音乐MV::http://www.tyqyyw.com/mtv/",
    "sourceGroup": "🌐 媒体,R18",
    "sourceIcon": "http://www.tyqyyw.com/wp-content/themes/Loocol/avatar/8.jpg",
    "sourceName": "田园轻乐",
    "sourceUrl": "http://www.tyqyyw.com"
  },
  {
    "articleStyle": 0,
    "customOrder": 147,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.line_bottom",
    "ruleContent": "class.entry@html",
    "ruleLink": "a@href",
    "ruleNextPage": "page",
    "rulePubDate": "span@text",
    "ruleTitle": "a@title",
    "singleUrl": false,
    "sourceComment": "综合文学",
    "sourceGroup": "R18",
    "sourceIcon": "https://i.postimg.cc/wxQpYXF9/1660809059840.png",
    "sourceName": "📖综合",
    "sourceUrl": "https://www.23uup.com/e/action/ListInfo/index.php?page={{page}}&classid=1"
  },
  {
    "articleStyle": 0,
    "customOrder": 148,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "🎞️ 影视,R18",
    "sourceIcon": "http://dianyi.ng/statics/logo.png",
    "sourceName": "电影先生",
    "sourceUrl": "https://dianyi.ng/"
  },
  {
    "articleStyle": 0,
    "customOrder": 148,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "\n",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.content@article@table@td||class.content@article",
    "ruleContent": "",
    "ruleImage": "class.post-thumbnail small@img@src",
    "ruleLink": "h2@a@href||tag.a.0@href",
    "ruleNextPage": "class.nextpostslink@tag.a@href",
    "rulePubDate": "{{@@class.post-date-year@text}} {{@@class.post-date-month@text}} {{@@class.post-date-day@text}}",
    "ruleTitle": "h2@a@text||tag.a.0@text",
    "singleUrl": false,
    "sortUrl": "首页::https://www.cbaigui.com/\n书名目录::https://www.cbaigui.com/%e4%b9%a6%e5%90%8d%e7%9b%ae%e5%bd%95\n标签索引::https://www.cbaigui.com/%e8%87%aa%e5%ae%9a%e4%b9%89%e5%88%86%e7%b1%bb\n世界::https://www.cbaigui.com/%e4%b8%96%e7%95%8c\n杂谈::https://www.cbaigui.com/post-category/%e6%9d%82%e8%b0%88\n夜谭::https://www.cbaigui.com/post-category/%e5%a4%9c%e8%b0%ad",
    "sourceGroup": "📰 资讯,R18",
    "sourceIcon": "https://static.cbaigui.com/images/2020/10/logo.jpg",
    "sourceName": "知妖",
    "sourceUrl": "https://www.cbaigui.com"
  },
  {
    "articleStyle": 1,
    "customOrder": 149,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.video-block",
    "ruleContent": "class.desc@all##提示:视频上的广告与本站无关,远离赌博！！！",
    "ruleImage": "img@data-src@js:'https:'.concat(result)",
    "ruleLink": "a@href@js:'https://wm.0t04.com'.concat(result)",
    "ruleNextPage": "class.page-link@a@href@js:'https://wm.0t04.com'.concat(result)",
    "ruleTitle": "class.title@text",
    "singleUrl": false,
    "sortUrl": "搜索::https://wm.0t04.com/?s=%E8%97%A4%E6%B5%A6\n中文::https://wm.0t04.com/link/ziz\n无码::https://wm.0t04.com/link/wuma\n有码::https://wm.0t04.com/link/yo\n综合::https://wm.0t04.com/link/zhh\n欧美::https://wm.0t04.com/link/ou\n动漫::https://wm.0t04.com/link/ka\n伦理::https://wm.0t04.com/link/sha\n国产::https://wm.0t04.com/link/zhip",
    "sourceGroup": "R18",
    "sourceIcon": "https://i.postimg.cc/pdVj5xt6/c322a61c1d8b0fbb92008d4f459d0c86.gif",
    "sourceName": "©影院®",
    "sourceUrl": "在线影院",
    "style": "video{\n\twidth:100%;\n}"
  },
  {
    "articleStyle": 1,
    "customOrder": 150,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.movie!0",
    "ruleContent": "<iframe id=\"video_frame\" src=\"{{@@id.video_frame@src}}\" allowfullscreen=\"true\" frameborder=\"0\" width=\"100%\" height=\"250\" allowtransparency=\"false\" scrolling=\"on\" sandbox=\"allow-scripts allow-same-origin\"></iframe>\n<img src=\"{{@@class.m_preview_image.0@img@src}}\"></img>\n<img src=\"{{@@class.m_preview_image.1@img@src}}\"></img>\n<img src=\"{{@@class.m_preview_image.2@img@src}}\"></img>\n<img src=\"{{@@class.m_preview_image.3@img@src}}\"></img>\n<img src=\"{{@@class.m_preview_image.4@img@src}}\"></img>\n<img src=\"{{@@class.m_preview_image.5@img@src}}\"></img>\n<img src=\"{{@@class.m_preview_image.6@img@src}}\"></img>\n<img src=\"{{@@class.m_preview_image.7@img@src}}\"></img>\n<img src=\"{{@@class.m_preview_image.8@img@src}}\"></img>\n<img src=\"{{@@class.m_preview_image.9@img@src}}\"></img>\n<img src=\"{{@@class.m_preview_image.10@img@src}}\"></img>\n<img src=\"{{@@class.m_preview_image.11@img@src}}\"></img>\n<img src=\"{{@@class.m_preview_image.12@img@src}}\"></img>\n<img src=\"{{@@class.m_preview_image.13@img@src}}\"></img>\n<img src=\"{{@@class.m_preview_image.14@img@src}}\"></img>\n<img src=\"{{@@class.m_preview_image.15@img@src}}\"></img>\n<img src=\"{{@@class.m_preview_image.16@img@src}}\"></img>\n<img src=\"{{@@class.m_preview_image.17@img@src}}\"></img>\n<img src=\"{{@@class.m_preview_image.18@img@src}}\"></img>\n<img src=\"{{@@class.m_preview_image.19@img@src}}\"></img>\n<img src=\"{{@@class.m_preview_image.20@img@src}}\"></img>\n<img src=\"{{@@class.m_preview_image.21@img@src}}\"></img>\n<img src=\"{{@@class.m_preview_image.22@img@src}}\"></img>\n<img src=\"{{@@class.m_preview_image.23@img@src}}\"></img>",
    "ruleImage": "img@src",
    "ruleLink": "a@href",
    "ruleNextPage": "page",
    "ruleTitle": "a@text",
    "singleUrl": false,
    "sortUrl": "//把MEYD替换成你想要系列或番号\n//搜索人名要URL编码，百度自己拿日文转换\n搜索::http://goodav17.com/search/{{(source.getVariable()==''||source.getVariable()==null)?source.setVariable('妹妹'):\"\"}}{{source.getVariable()}}/{{page}}/\n\t最近更新::http://goodav17.com/{{page}}/\n\t女优::http://goodav17.com/type/%E5%A4%9A%E5%90%8D%E5%A5%B3%E5%84%AA/{{page}}/\n无码::http://goodav17.com/type/%E7%84%A1%E7%A2%BC/{{page}}/\n人妻::http://goodav17.com/type/%E4%BA%BA%E5%A6%BB/{{page}}/\n乱伦::http://goodav17.com/type/%E8%BF%91%E8%A6%AA%E7%9B%B8%E5%A7%A6/{{page}}/\n巨乳::http://goodav17.com/search/%E5%B7%A8%E4%B9%B3/{{page}}/\nOL::http://goodav17.com/type/OL/{{page}}/\n中出::http://goodav17.com/type/%E4%B8%AD%E5%87%BA/{{page}}/\n丝袜::http://goodav17.com/type/%E7%B5%B2%E8%A5%AA/{{page}}/\n制服::http://goodav17.com/type%E5%85%B6%E4%BB%96%E5%88%B6%E6%9C%8D/{{page}}/\n美尻::http://goodav17.com/type/%E7%BE%8E%E5%B0%BB/{{page}}/\n\t和服::http://goodav17.com/type/%E5%92%8C%E6%9C%8D/{{page}}/\n\t\t姐姐::http://goodav17.com/type/%E5%A7%90%E5%A7%90/{{page}}/\n\t\t首次亮相::http://goodav17.com/type/%E9%A6%96%E6%AC%A1%E4%BA%AE%E7%9B%B8/{{page}}/\n兔女郎::http://goodav17.com/type/%E5%85%94%E5%A5%B3%E9%83%8E/{{page}}/\n可愛::http://goodav17.com/type/%E5%8F%AF%E6%84%9B/{{page}}/\n户外::http://goodav17.com/type/%E6%88%B6%E5%A4%96/{{page}}/\n强迫::http://goodav17.com/type/%E5%BC%B7%E8%BF%AB/{{page}}/\n禁声::http://goodav17.com/type/%E4%B8%8D%E8%83%BD%E7%99%BC%E8%81%B2/{{page}}/\n搜查官::http://goodav17.com/type/%E6%90%9C%E6%9F%A5%E5%AE%98/{{page}}/\n教师::http://goodav17.com/type/%E6%95%99%E5%B8%AB%E6%88%96%E5%AE%B6%E6%95%99/{{page}}/\n学生::http://goodav17.com/type/%E5%AD%B8%E7%94%9F/{{page}}/\n护士::http://goodav17.com/type/%E8%AD%B7%E5%A3%AB/{{page}}/\n空姐::http://goodav17.com/type/%E7%A9%BA%E5%A7%90/{{page}}/\n自慰::http://goodav17.com/type/%E8%87%AA%E6%85%B0/{{page}}/\n医生::http://goodav17.com/type/%E5%A5%B3%E9%86%AB%E7%94%9F/{{page}}/\n\t家政婦::http://goodav17.com/type/%E5%AE%B6%E6%94%BF%E5%A9%A6/{{page}}/\n\t\t普通::http://goodav17.com/type/%E6%99%AE%E9%80%9A/{{page}}/\n\t调教::http://goodav17.com/type/SM/{{page}}/\n突然::http://goodav17.com/type/%E7%AA%81%E7%84%B6%E6%8F%92%E5%85%A5/{{page}}/\n痴汉::http://goodav17.com/type/%E7%99%A1%E6%BC%A2/{{page}}/\n凌辱::http://goodav17.com/type/%E5%87%8C%E8%BE%B1/{{page}}/\n秘书::http://goodav17.com/type/%E7%A7%98%E6%9B%B8/{{page}}/\n女仆::http://goodav17.com/type/%E5%A5%B3%E5%83%95/{{page}}/\n萝莉::http://goodav17.com/type/%E8%98%BF%E8%8E%89/{{page}}/\n其他::http://goodav17.com/type/%E5%85%B6%E4%BB%96%E5%88%B6%E6%9C%8D/{{page}}/\n多P::http://goodav17.com/type/%E5%A4%9A%E5%90%8D%E5%A5%B3%E5%84%AA/{{page}}/\n无毛:http://goodav17.com/type/%E7%84%A1%E6%AF%9B/{{page}}/\nVR::http://goodav17.com/vr/{{page}}/",
    "sourceGroup": "R18",
    "sourceIcon": "https://i.postimg.cc/3Rmm9Qj1/122f82d46123c18e88a31714dca078fa.jpg",
    "sourceName": "©正妹",
    "sourceUrl": "正妹",
    "style": ""
  },
  {
    "articleStyle": 2,
    "customOrder": 150,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": ".m-list.0@a",
    "ruleContent": "text.尾页@href##_(\\d+)##$1###\n<js>page=Number(result)+1\nurl=baseUrl.replace('.html','_')\n\nnurl=[]\nfor(i=n=2;i<page;i++){\n\t\tnurl.push(url+i+'.html,{\"retry\": 9}')\n\t}\n\njava.toast('稍等片刻\\n　正在飞速加载')\njava.ajaxAll(nurl).map($=>{\n\t\tjava.toast('加载中...\\n　进度: '+(Math.floor(n/i*10000)/100)+'%')\n\t\tn++\n\t\tsrc += $.body()\n\t})\njava.toast('加载成功\\n　正在获取图片')\nsrc\n</js>\n\n.pic-main@img@src\n<js>\nli='\\n'\nresult.split('\\n').map($=>{\n\t\tli += '<li><img src=\"https://m.930tu.com/96kaifa/images/mb-logo.png\" data-src=\"'+$+'\"></li>\\n'\n\t});\nli\n</js>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\">\n\n\n<ul id=\"box\">\n{{result}}\n</ul>\n\n\n<link rel=\"stylesheet\" href=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.css\">\r\n<script src=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.js\"></script>\n<script>\n\troot = document.getElementById('box')\n\tlazy = new IntersectionObserver(entires => {\n\t\tentires.forEach(item => {\n\t\t\tif(item.isIntersecting){\n\t\t\t\titem=item.target\n\t\t\t\titem.src=item.getAttribute('data-src')\n\t\t\t\tlazy.unobserve(item)\n\t\t\t}\n\t\t})\n\t}, {\n\t\troot: root,\n\t\tthreshold: [0],\n\t\trootMargin:\"0px\"\n\t})\n\nimgs = document.getElementsByTagName('img')\nArray.from(imgs).forEach(item => {\n\t\tlazy.observe(item)\n\t})\n\n//查看大图插件\nnew Viewer(root,{title:false,interval:3000})\n</script>",
    "ruleImage": "img@data-original",
    "ruleLink": "href",
    "ruleNextPage": "text.下一页@href",
    "rulePubDate": "span@text",
    "ruleTitle": "p@text",
    "singleUrl": false,
    "sortUrl": "最新美女::https://www.930tu.com/meinv/\n变量搜索::https://www.930tu.com/e/search/index.php,{\"body\": \"keyboard={{v=source.getVariable();(v!='',v!=null)?v:(source.setVariable('三度'),source.getVariable())}}&show=title\",\"method\": \"POST\"}\n\ncos::https://www.930tu.com/tag/2115/\n性感美女::https://www.930tu.com/meinv/xinggan/\n清纯美女::https://www.930tu.com/meinv/qingchun/\n丝袜美腿::https://www.930tu.com/meinv/siwa/\n大胆图片::https://www.930tu.com/meinv/dadan/\n网红美女::https://www.930tu.com/meinv/wanghong/",
    "sourceGroup": "R18",
    "sourceIcon": "https://www.930tu.com/favicon.ico",
    "sourceName": "930美图",
    "sourceUrl": "https://www.930tu.com/meinv/",
    "style": "* {\n\tmargin: 0;\n\tpadding: 0\n}\nul {\n\tfont-size: 0;\n\theight: 100%;\n\toverflow-y: scroll\n}\nli {\n\tlist-style: none;\n\ttext-align: center\n}\nimg {\n\twidth: 100%;\n\theight: auto\n}"
  },
  {
    "articleStyle": 0,
    "customOrder": 150,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.fl_g",
    "ruleImage": "tag.img@src",
    "ruleLink": "tag.dt@tag.a@href@js:\"https://www.xn--cjztj18l.com/\"+result",
    "rulePubDate": "tag.dd@text",
    "ruleTitle": "tag.dt@text",
    "singleUrl": false,
    "sourceGroup": "🍇其他,R18",
    "sourceIcon": "https://www.xn--cjztj18l.com/template/xinshutouch/touch/static/images/shaizi.gif",
    "sourceName": "神秘网",
    "sourceUrl": "https://www.xn--cjztj18l.com/forum.php"
  },
  {
    "articleStyle": 0,
    "customOrder": 151,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.video-elem||class.photo-elem",
    "ruleContent": "script@all&&class.img col-60@all",
    "ruleDescription": "",
    "ruleImage": ".img@style##background\\-image\\: url\\('|\\'\\)",
    "ruleLink": "a@href",
    "ruleNextPage": "page",
    "rulePubDate": "⏱️ {{@@.layer@text}}",
    "ruleTitle": "class.title@text",
    "singleUrl": false,
    "sortUrl": "探花約啪::http://www.jinyuisland88.top:1208/index.php/vod/type/id/59/page/{{page}}.html\nAV解說::http://www.jinyuisland88.top:1208/index.php/vod/type/id/60/page/{{page}}.html\n國產精品::http://www.jinyuisland88.top:1208/index.php/vod/type/id/54/page/{{page}}.html\n無碼破解::http://www.jinyuisland88.top:1208/index.php/vod/type/id/9/page/{{page}}.html\n中文視頻::http://www.jinyuisland88.top:1208/index.php/vod/type/id/10/page/{{page}}.html\n亞洲情色::http://www.jinyuisland88.top:1208/index.php/vod/type/id/11/page/\n強奸亂倫::http://www.jinyuisland88.top:1208/index.php/vod/type/id/21/page/{{page}}.html\n風騷寡婦::http://www.jinyuisland88.top:1208/index.php/vod/type/id/24/page/{{page}}.html\n女同性戀::http://www.jinyuisland88.top:1208/index.php/vod/type/id/28/page/{{page}}.html\n人妖視頻::http://www.jinyuisland88.top:1208/index.php/vod/type/id/30/page/{{page}}.html\n群交淫亂::http://www.jinyuisland88.top:1208/index.php/vod/type/id/39/page/{{page}}.html\n重口色情::http://www.jinyuisland88.top:1208/index.php/vod/type/id/40/page/{{page}}.html\n\n劇情原創::http://www.jinyuisland88.top:1208/index.php/vod/type/id/13/page/{{page}}.html\n情色節目::http://www.jinyuisland88.top:1208/index.php/vod/type/id/97/page/{{page}}.html\n果凍傳媒::http://www.jinyuisland88.top:1208/index.php/vod/type/id/15/page/{{page}}.html\n麻豆傳媒::http://www.jinyuisland88.top:1208/index.php/vod/type/id/16/page/{{page}}.html\n貓爪影像::http://www.jinyuisland88.top:1208/index.php/vod/type/id/42/page/{{page}}.html\n古裝愛豆::http://www.jinyuisland88.top:1208/index.php/vod/type/id/43/page/{{page}}.html\n蜜桃傳媒::http://www.jinyuisland88.top:1208/index.php/vod/type/id/44/page/{{page}}.html\n精東影業::http://www.jinyuisland88.top:1208/index.php/vod/type/id/45/page/{{page}}.html\n星空傳媒::http://www.jinyuisland88.top:1208/index.php/vod/type/id/46/page/{{page}}.html\n91製片廠::http://www.jinyuisland88.top:1208/index.php/vod/type/id/47/page/{{page}}.html\n天美傳媒::http://www.jinyuisland88.top:1208/index.php/vod/type/id/48/page/{{page}}.html\n兔子先生::http://www.jinyuisland88.top:1208/index.php/vod/type/id/49/page/{{page}}.html\n皇家華人::http://www.jinyuisland88.top:1208/index.php/vod/type/id/50/page/{{page}}.html\n糖心素人::http://www.jinyuisland88.top:1208/index.php/vod/type/id/51/page/{{page}}.html\n杏吧原創::http://www.jinyuisland88.top:1208/index.php/vod/type/id/52/page/{{page}}.html\n色控tv::http://www.jinyuisland88.top:1208/index.php/vod/type/id/53/page/{{page}}.html\n愛妃傳媒::http://www.jinyuisland88.top:1208/index.php/vod/type/id/98/page/{{page}}.html\n辣椒傳媒::http://www.jinyuisland88.top:1208/index.php/vod/type/id/99/page/{{page}}.html\n肉肉傳媒::http://www.jinyuisland88.top:1208/index.php/vod/type/id/100/page/{{page}}.html\n樂播傳媒::http://www.jinyuisland88.top:1208/index.php/vod/type/id/101/page/{{page}}.html\n扣扣傳媒::http://www.jinyuisland88.top:1208/index.php/vod/type/id/102/page/{{page}}.html\n澀會SH::http://www.jinyuisland88.top:1208/index.php/vod/type/id/103/page/{{page}}.html\n葫蘆傳媒::http://www.jinyuisland88.top:1208/index.php/vod/type/id/104/page/{{page}}.html\n鯨魚傳媒::http://www.jinyuisland88.top:1208/index.php/vod/type/id/105/page/{{page}}.html\n烏鴉傳媒::http://www.jinyuisland88.top:1208/index.php/vod/type/id/106/page/{{page}}.html\n大像傳媒::http://www.jinyuisland88.top:1208/index.php/vod/type/id/107/page/{{page}}.html\n黑男白女::http://www.jinyuisland88.top:1208/index.php/vod/type/id/64/page/{{page}}.html\nVR無碼::http://www.jinyuisland88.top:1208/index.php/vod/type/id/68/page/{{page}}.html",
    "sourceComment": "",
    "sourceGroup": "R18",
    "sourceIcon": "https://missuo.ru/file/ad803bf65990e583d71d6.png",
    "sourceName": "Yindao(挂vpn)",
    "sourceUrl": "http://www.jinyuisland88.top:1208/",
    "style": "video{width:100%}img{width:100%}"
  },
  {
    "articleStyle": 0,
    "customOrder": 151,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "",
    "ruleContent": "",
    "ruleDescription": "",
    "ruleImage": "",
    "ruleLink": "",
    "rulePubDate": "",
    "ruleTitle": "",
    "singleUrl": true,
    "sourceGroup": "📰 资讯,R18",
    "sourceIcon": "http://47.105.79.245/guancha.jpg",
    "sourceName": "观察者",
    "sourceUrl": "https://m.guancha.cn"
  },
  {
    "articleStyle": 0,
    "customOrder": 151,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "",
    "ruleDescription": "",
    "ruleImage": "",
    "ruleLink": "",
    "rulePubDate": "",
    "ruleTitle": "",
    "singleUrl": true,
    "sortUrl": "",
    "sourceGroup": "💠 其他,R18",
    "sourceIcon": "https://qn13.tool.lu/201710/15/103319bpfNNx3ST9v8UKtO_56x56.png",
    "sourceName": "在线工具",
    "sourceUrl": "https://tool.lu"
  },
  {
    "articleStyle": 1,
    "customOrder": 152,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.module-item",
    "ruleContent": "{{@@head@all}}\n<div class=\"play_video\">\n{{@@class.player-wrapper@all}}\n</div>\n",
    "ruleImage": "img@data-src",
    "ruleLink": "class.module-item-pic@a@href",
    "ruleNextPage": "page",
    "ruleTitle": "class.module-item-title@text",
    "singleUrl": false,
    "sortUrl": "巨乳::https://www.bsmav.cc/index.php/vodtype/36-{{page}}.html\n人妻::https://www.bsmav.cc/index.php/vodtype/39-{{page}}.html\n乱伦::https://www.bsmav.cc/index.php/vodtype/37-{{page}}.html\n制服::https://www.bsmav.cc/index.php/vodtype/38-{{page}}.html\n动漫::https://www.bsmav.cc/index.php/vodtype/49-{{page}}.html\n强奸::https://www.bsmav.cc/index.php/vodtype/35-{{page}}.html\n调教::https://www.bsmav.cc/index.php/vodtype/40-{{page}}.html\n出轨::https://www.bsmav.cc/index.php/vodtype/41-{{page}}.html\n中文::https://www.bsmav.cc/index.php/vodtype/59.html\n无码::https://www.bsmav.cc/index.php/vodtype/34-{{page}}.html",
    "sourceGroup": "R18",
    "sourceIcon": "https://i.postimg.cc/hvXgP9zQ/1656420782849.png",
    "sourceName": "©鲍鲜膜",
    "sourceUrl": "https://www.bsmav.cc/",
    "style": ".play_video{\n\tposition:absolute;\n\ttop:0px;\n  height:250px;\n  padding: 0px;\n  width:100%;\n\t}"
  },
  {
    "articleStyle": 0,
    "customOrder": 152,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": ".dd-list@.dd-item",
    "ruleContent": "",
    "ruleDescription": "",
    "ruleImage": "",
    "ruleLink": ".dd-content@tag.a@href",
    "rulePubDate": "",
    "ruleTitle": ".dd-content@tag.a@text",
    "singleUrl": false,
    "sourceGroup": "💠 其他,R18",
    "sourceIcon": "https://7nsts.w3cschool.cn/images/w3c/app-logo.png",
    "sourceName": "正则表达式",
    "sourceUrl": "https://www.w3cschool.cn/regex_rmjc/regex_rmjc-n5a328cn.html"
  },
  {
    "articleStyle": 0,
    "concurrentRate": "",
    "customOrder": 153,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\n    'User-Agent': 'Mozilla/5.0 (Linux; Android 11; Pixel 3 XL Build/RQ3A.211001.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/102.0.4988.0 Mobile Safari/537.36 SearchCraft/3.9.2 (Baidu; P1 11) '\n}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "<js>\njson=[];\nif(baseUrl.match(/ /)){\nlist=baseUrl.replace(/http.*?wd=\\s*/,'').split(' ');\nfor(i in list){\nhref=list[i].match(/【(.*?)】/)[1];\ntext=list[i].match(/《(.*?)》/)[1];\nintro=list[i].match(/◎(.*?)◎/)[1];\nindex=list[i].match(/^(\\d+、\\d+、)/)?list[i].match(/^(\\d+、\\d+、)/)[1]:list[i].match(/^(.*?)【/)[1]\njson.push({text:text,src:href,intro:intro,index:index})\n}\n}\nJSON.stringify(json)</js>\n$.[*]",
    "ruleContent": "",
    "ruleImage": "$.src",
    "ruleLink": "$.index",
    "ruleNextPage": "",
    "rulePubDate": "$.intro",
    "ruleTitle": "$.text",
    "singleUrl": false,
    "sortUrl": "Ⓜ️网站资源::https://m.youtube.com/?noapp=1【https://i.postimg.cc/Gt9kN6VT/de6a398e2e6f25cd8fea8814651e2403.png】《YouTube》◎油管网页版◎ https://m.vk.com/avchina?from=groups%253Fact%253Dlist【https://i.postimg.cc/nzjWQ5SG/1657028424447.png】《VK.社区》◎VK社区网页版◎ https://ting.yeyulingfeng.com/【https://i.postimg.cc/P5L9Z6Hw/141e2972743b1e14db0c2fe409fd3fda.png】《夜雨聆风》◎在线音乐网站◎ https://www.tumblr.com/dashboard【https://i.postimg.cc/Y2y7w6rm/1657177866100.png】《Tumblr.com》◎汤不热网页版◎ http://www.yckceo.com/yuedu/rssyuan/index.html【https://i.postimg.cc/L5FKJwJY/1657464485475.png】《仓库订阅®》◎源仓库订阅源◎ https://mobile.twitter.com/home【https://i.postimg.cc/6q7P40T7/1657171372253.png】《Twitter.com》◎推特网页版◎ https://www.instagram.com/【https://i.postimg.cc/x8VDDrcg/1657154820429.png】《Instagram》◎Instagram网页版◎ https://www.reddit.com/【https://i.postimg.cc/90YS3Vq5/1657217561547.png】《Reddit.com》◎红迪网在线◎ http://api.guaqb.cn/v1/onesaid【https://i.postimg.cc/2jZWSPmM/5b55c5e231aca321b58fe16d59c3ee75.png】《一清一言》◎名言警句◎ https://iteroni.com/feed/subscriptions【https://i.postimg.cc/Mp52b9rZ/1658047723416.png】《Invidious.com》◎YouTube下载◎ http://m.aikantv.org/【https://i.postimg.cc/8kxfghJX/1657179241087.png】《爱看卫视》◎卫视搜索◎ https://qq.com.lsck01.xyz/【https://i.postimg.cc/1RDjtyBr/0edebe6d3b86032bbb69ef1f60022edc.png】《绿色仓库》◎在线资源◎ https://pornsites.xxx/zh/best-porn-tubes【https://i.postimg.cc/Gh5M40BM/1660216319238.png】《顶级链接》◎导航链接网站◎ https://jiuyaopei.com/【https://i.postimg.cc/cJBSYjbd/da389e3654dea1d055b81318206a9b49.png】《九妖陪网》◎网站◎ http://hense66.sexurl.xyz/【https://i.postimg.cc/YC77Dm7f/a426fbc590ccab63c82209d863933f40.png】《很涩视频》◎视频网站◎\n☸ -文娱▪️阅读::https://lemuzika.pro/search/%E6%AD%A5%E9%9D%9E%E7%83%9F/3【https://i.postimg.cc/d3HR8qqW/1636542691088.png】《Lemuzika》◎俄站步非烟◎ https://siyufm.net/lists/?page=2&author=12【https://i.postimg.cc/zXHKN1nK/1637811407315.png】《私语电台》◎私密电台◎ https://asmrs.live/category/%E6%AD%A5%E9%9D%9E%E7%83%9F%E7%AC%AC%E4%B8%80%E5%AD%A3【https://i.postimg.cc/15yTD2t8/1643175843924.png】《Asmrs~🎧》◎在线音频◎ https://www.66.ca/forum.php?fid=56&mod=forumdisplay【https://i.postimg.cc/kGSc5QGT/1657418160867.png】《华人社区》◎社区阅读网站◎ https://sis001.us/bbs/tag.php?name=%E5%9B%BD%E4%BA%A7%E8%87%AA%E6%8B%8D【https://i.postimg.cc/nhRTwV51/60caf55a7c86f32a0ffd3252d718353e.png】《第一会所》◎在线论坛◎ https://www.g718.sx/【https://i.postimg.cc/VkTJR01F/1637553554052.png】《718车友会®》◎在线论坛◎ http://hja27.com/【https://i.postimg.cc/KjNH5kQJ/8e5e7fc946028dcf4f32a2173ae4c319.png】《海角社区》◎登录在线社区◎ https://heiliao6.pro/【https://i.postimg.cc/63K4SCLn/1657033842033.png】《黑料链接®》◎链接网站◎ https://www.51cg1.com/【https://i.postimg.cc/CLH3C2fH/1639307031234.png】《51吃瓜网》◎在线论坛◎ https://cl.7867x.xyz/thread0806.php?fid=20【https://i.postimg.cc/15pk15cJ/22f1c92cf8ecb6af575fb4e502a91ebd.png】《草榴文学》◎草榴社区成人文学交流区◎ https://18comic.org/search/photos?search_query=%E5%85%A8%E5%BD%A9&main_tag=0【https://i.postimg.cc/fL1fHJWz/1655687656501.png】《禁漫天堂》◎在线漫画◎ https://xn---jfgsoucom-e12p686ciwltn3epeo.xn--jifangg-3v1q.com/?cisou【https://i.postimg.cc/tJWDWsS9/1636543129910.png】《集芳阁网》◎文字链接◎ https://www.pornfind.org/【https://i.postimg.cc/1RL5Vrbx/1643170566233.png】《搜索引擎》◎导航网站◎ https://qq.com.tieniu9999.xyz/【https://i.postimg.cc/m2TDkYx5/1655817959914.png】《铁牛资源》◎导航链接◎\n🔲-全球图片::https://heaven.porn/【https://i.postimg.cc/gj5D3V3t/1637729257404.png】《Heaven》◎全球套图精选◎ https://www.pornpics.com/【https://i.postimg.cc/4dxcSNmj/1656513179805.png】《Pornpics》◎中外图库[高清大图]◎ https://www.nudexxx.pics/categories/babe/【https://i.postimg.cc/28FX9mTf/1657271779518.png】《Nudexxx》◎在线图片◎ https://www.xxxftvgirls.com/【https://i.postimg.cc/QM3pzCY7/1655781876454.png】《Xxxftvgirls》◎全球套图精选◎ https://www.gravurehunter.com/【https://i.postimg.cc/mgBQv38B/c144ea102b481a06e2cfbff4eecbb1b9.png】《Gravure》◎在线图片◎ https://sexynude.pics/【https://i.postimg.cc/dV7qX4Pg/1655823076713.png】《Sexynude》◎在线图片◎ https://www.hqseek.com/【https://i.postimg.cc/Qtf8mGyQ/1656046620044.png】《Hqseek》◎在线图片◎ https://nakedwomen.pics/【https://i.postimg.cc/131j1j0v/1638332202023.png】《Nakedwomen》◎在线图片◎ https://sexyporn.pics/【https://i.postimg.cc/15qw8YBz/e70b08733fceb554437154b2ea2b5a53.png】《Sexyporn》◎高清写真◎ https://www.eroticbeauties.net/【https://i.postimg.cc/1Xd6bLng/1636528074158.png】《eroticbeauties》◎在线图片◎ https://www.freexcafe.com/?ref=porndude【https://i.postimg.cc/kX35Jpx4/1655983982372.png】《Freexcafe.com》◎在线图片◎ https://www.freebigtitpornpics.com/【https://i.postimg.cc/7PTBbdtR/1656073522948.png】《Bigtitpornpics》◎国际图片◎ https://www.jpbeauties.com/【https://i.postimg.cc/BZDtwf7C/1637918486763.png】《JPbeauties》◎日本图片◎ https://www.eastbabes.com/【https://i.postimg.cc/bvJLc0qZ/1656221729360.png】《Eastbabes》◎在线图片◎ https://www.erosberry.com/?ref=porndude【https://i.postimg.cc/4NXqnm2v/b36328b476f62c28399930a8a7b98030.png】《Erosberry.com》◎在线图片◎\n🔳-传媒▪️日系::https://www.helloavgirls.com/?qingse.one【https://i.postimg.cc/nhRvftvn/1637637245085.png】《Hello~avgirls》◎日系av视频网站◎ https://www.fellatiojapan.com/en/?ref=1860c830【https://i.postimg.cc/jdhFZbMb/1655657370807.png】《Fellatiojapan》◎日系demo~可下载◎ https://netflav.com/?qingse.one【https://i.postimg.cc/B68nz9r5/9b463e356784d62007bbfa9ab669d88e.png】《Netflav》◎日系资源~浏览器打开◎ https://www.fuq.com/zh/【https://i.postimg.cc/pL082scx/1656697944724.png】《Fuq.com》◎在线视频◎ https://www.tubev.sex/【https://i.postimg.cc/3Jc0Mxv8/1655872958452.png】《Tubev.sex》◎日系视频◎ https://pigav.com/【https://i.postimg.cc/5ytmqkJ5/1636714890664.png】《Pigav.com》◎视频网站◎ https://www.atube.xxx/?hl=zh【https://i.postimg.cc/htNQd8pH/1656748079978.png】《Dtube.xxx》◎在线视频◎ https://xn--n97-pornsuocom-255xc16b0te7x3k3ura.pornyjs.com/【https://i.postimg.cc/1tcn0fX7/a139d7adf597e53efc35411870cb9e62.png】《P研究所》◎在线视频◎ https://jable.tv/【https://i.postimg.cc/TwcWwrcb/1638257799795.png】《Jable.TV》◎日系视频◎ https://avhd101.com/【https://i.postimg.cc/rFFTYphv/10c7bcd9cd616a05b07a8e5155ff568e.png】《国产视频》◎在线视频◎ https://www.bus13.com/【https://i.postimg.cc/bwWMLL57/1655688619355.png】《艾薇巴士》◎视频影院◎ https://hhhjav.com/【https://i.postimg.cc/bJty35ns/1656074689383.png】《三H视频》◎综合视频◎ https://www.fengyuetongtian.com/【https://i.postimg.cc/7ZnG4jsL/1655829430458.png】《风月同天》◎国产视频◎ https://www.rtmm6.com/video/1/【https://i.postimg.cc/rw4G8443/1657012825802.png】《人体美媚》◎综合网站◎ https://18porn.cc/【https://i.postimg.cc/bwqBpTPw/1636964897703.png】《中文成人》◎综合视频◎ https://avhd1.com/index.html【https://i.postimg.cc/R04Ps1FK/1655817933907.png】《AV视频》◎在线视频◎\n🈂-动漫▪️漫画::https://mh9233.com/3d/【https://i.postimg.cc/cLxmt8qt/1657264255748.png】《3D.Comic》◎在线漫画◎ https://hentaidude.com/【https://i.postimg.cc/VLRc1YRt/1657024067326.png】《hentaidude》◎在线动漫◎ https://www.animehentaivideos.xxx/【https://i.postimg.cc/hj2wwX1T/1657216924243.png】《Hentai~VI》◎日系动漫◎ https://animeidhentai.com/【https://i.postimg.cc/G2Sfn4Ww/1656838030280.png】《Animeid》◎日系动漫◎ http://hkmh.site/plus/list-1.html【https://i.postimg.cc/1zBgGkj0/1657010517944.png】《好看漫画》◎在线漫画◎ http://www.177picyy.com/html/category/cg/cg-cn/【https://i.postimg.cc/qgfhYGQt/1656838187853.png】《177漫画》◎在线漫画◎ http://www.kxkmh.com/【https://i.postimg.cc/sfYtC7st/1657263526600.png】《开心漫画》◎在线漫画◎ https://www.ho5ho.com/?ref=porndude【https://i.postimg.cc/Kzcw2rKV/1658321960709.png】《全彩H漫》◎在线漫画◎ https://hanime1.me/?ref=porndude【https://i.postimg.cc/QMGcdFZv/1656904673161.png】《里番动漫》◎在线动画◎ https://doujins.com/【https://i.postimg.cc/QdxnMzSN/a6222dd9366f54f87b8f7870bfe43089.png】《Doujins》◎在线动漫◎ https://www.hentairules.net/category/incest/【https://i.postimg.cc/PJ34ypKS/1656921716625.png】《hentairules》◎在线漫画◎ https://asmhentai.com/【https://i.postimg.cc/cHCkjmMF/1656747410145.png】《Asmhentai》◎在线漫画◎ https://www.cartoonpornvideos.com/【https://i.postimg.cc/PxBHqhpx/1656917164314.png】《Cartoon~P》◎在线动漫◎ https://h-ciyuan.com/【https://i.postimg.cc/ncPpk12p/1657243635355.png】《H~ciyuan》◎在线动漫◎ https://hentaidock.com/【https://i.postimg.cc/zvTCGjfx/3761b8bde0f4a3f5d6fc633fd54f0fc6.png】《hentai~d》◎漫画网站◎\n🎥-VR▪️博客::https://sharesome.com/news/【https://i.postimg.cc/gj4HKk9B/1636708458829.png】《Sharesone™》◎时尚博客直播◎ https://nudebabes.tube/【https://i.postimg.cc/FRZThKzw/1637547515349.png】《Nudebabes》◎在线影院◎ https://m.livejasmin.com/en/list/girl/www.cavhot.com【https://i.postimg.cc/3RDq1WJm/1638681569437.png】《Livejasmin》◎欧美在线直播◎ https://m.chaturbate.com/【https://i.postimg.cc/Mp58kP1S/1656736242263.png】《Chaturbate》◎欧美直播網站◎ https://xn--zp3-xxxsspcom-yp8ve33bkpevz1kpxq.xn--yetv14dbin23n.com/?fulione【https://i.postimg.cc/mrzDLSN0/1657067668701.png】《xxxsspcom™》◎中文抖淫◎ https://viralporn.com/【https://i.postimg.cc/zfGYVCJx/1657014358637.png】《Viralporn》◎欧美直播網站◎ https://vrporn.com/?a=634574【https://i.postimg.cc/JzKcYQdk/1655469952522.png】《Vrporn.com[VR]》◎VR视频站◎ https://virtualrealporn.com/?nats=OTk5MTAwMDMuNS44LjEwLjAuMC4wLjAuMA【https://i.postimg.cc/FFJ2fFfW/1655542912385.png】《virualrealporn[VR]》◎VR视频站◎ https://m.instantfap.com/?ref=porndude【https://i.postimg.cc/NM7v3FWG/1636714420842.png】《Instantfap》◎欧美在线视频直播站[优质画面]◎ https://www.sex.com/【https://i.postimg.cc/N0zRGwXh/1655566034717.png】《Sex.com》◎欧美在线视频直播站[优质画面]◎ https://www.xfree.com/?popularFeed=150672【https://i.postimg.cc/Kj0rSZ00/1b675b5fcb22bb8c84bf3682ebad5759.png】《Xfree.com》◎博客直播[优质画面]◎ https://fikfap.com/?ref=porndude【https://i.postimg.cc/DyVy8K9r/1655654233967.png】《Fikfap.com》◎博客直播[优质画面]◎ https://xxxtik.com/?ref=porndude【https://i.postimg.cc/mkxbZNW4/a2b0d5776f5161f168d8394f3bd37074.png】《Xxxtik.com》◎博客直播[优质画面]◎ https://tik.porn/video/216500【https://i.postimg.cc/9XBRnLsy/1655648357308.png】《Tik.porn》◎博客直播[优质画面]◎\n🔞 -在线【宽屏】::https://cn.pornhub.com/view_video.php?viewkey=ph5f5367cd02a9a【https://i.postimg.cc/PfZcf8W1/1637937252627.png】《Pornhub》◎🇨🇦在线视频◎ https://www.xvideos.com/【https://i.postimg.cc/L6yQskbQ/1637936393141.png】《Xvideos》◎🇨🇿在线视频◎ https://www.bookofp.com/zh/celebrities/【https://i.postimg.cc/xd72QNs4/1659110706030.png】《Bookofp》◎🇱🇷在线视频◎ https://beeg.com/?ref=porndude【https://i.postimg.cc/T17T3Lm8/1637937050924.png】《Beeg.com》◎🇬🇳在线视频◎ https://m.shameless.com/【https://i.postimg.cc/8CWvGJ1v/1655955946009.png】《shameless》◎🇮🇸在线视频◎ https://txxx.com/【https://i.postimg.cc/CKS3NdBC/1656841152906.png】《Txxx.com》◎🇨🇿在线视频◎ https://m.tnaflix.com/【https://i.postimg.cc/Jzw65BYB/1657106388720.png】《Tnaflix.com》◎🇭🇺在线视频◎ https://fuqer.mobi/【https://i.postimg.cc/FzRB7zqf/2096f0a90436c081102ce000cb1b82b9.png】《Fuqer.mobi》◎🇩🇪在线视频◎ https://teenxmovies.net/【https://i.postimg.cc/MGfGBqPJ/1655986800440.png】《Teenxmovies》◎🇩🇪在线视频◎ https://www.xnxx.com/【https://i.postimg.cc/3NT7QXZF/1638079383739.png】《Xnxx.com》◎🇺🇸在线视频◎ https://www.joysporn.com/?ref=porndude【https://i.postimg.cc/ydy26fDV/1656468812234.png】《Joysporn》◎🇭🇺在线视频◎ https://www.youporn.com/【https://i.postimg.cc/G2dbSRjm/1655822701904.png】《Youporn》◎🇨🇴在线视频◎ https://www.gotporn.com/【https://i.postimg.cc/MGJHYjQK/df8abf301d246c79be2416cb2d382e3c.png】《Gotporn.com》◎🇭🇺在线视频◎ https://4kporn.xxx/【https://i.postimg.cc/ht2r3jht/1638700576004.png】《4Kporn.xxx》◎🇳🇴在线视频◎ https://porndoe.com/?utm_campaign=theporndude&utm_medium=trafficbuy&utm_source=theporndude【https://i.postimg.cc/hG3NT5Vz/1637931210565.png】《Porndoe》◎🇫🇷在线视频◎\n🔞-在线【欧美】::http://www.incestflix.com/?ref=porndude【https://i.postimg.cc/G36dHWwM/1638705175642.png】《Incestflix》◎🇮🇩在线视频◎ https://crazyshit.com/category/random-nudity/【https://i.postimg.cc/dtjdr2pM/357020e158482026a20a7e713f6b6279.png】《Crayshit.com》◎🇦🇽在线视频◎ https://motherless.com【https://i.postimg.cc/LXZynXtV/1656205674304.png】《Motherless》◎🇻🇪在线视频◎ https://zh.xhamster.com/【https://i.postimg.cc/VLd9cpxN/1638625257182.png】《Xhameter》◎🇹🇳在线视频◎ https://www.ixxx.com【https://i.postimg.cc/7PjrhdTS/1656846388876.png】《Ixxx.com》◎🇹🇳在线视频◎ https://fuqqt.com/videos/babe【https://i.postimg.cc/TwQzJhLv/1656205530357.png】《Fuqqt.com》◎🇭🇺在线视频◎ https://shooshtime.com/【https://i.postimg.cc/DZzSwpJk/1656294092715.png】《Shooshtime》◎🇫🇮在线视频◎ https://fapster.xxx/categories/【https://i.postimg.cc/zf5fxnkx/1656330613273.png】《Fapster.xxx》◎🇮🇩在线视频◎ https://pornone.com/【https://i.postimg.cc/RZj3rKJD/1656981369071.png】《Pornone.com》◎🇮🇩在线视频◎ https://www.porntube.com/?cid=2930【https://i.postimg.cc/442qfqDm/1638143733789.png】《Porntube》◎🇲🇸在线视频◎ https://www.eporner.com/【https://i.postimg.cc/FscqrGTv/1656079279240.png】《Epornet》◎🇰🇿在线视频◎ https://www.redtube.com/【https://i.postimg.cc/Wp8NN7yM/1656336459126.png】《Redtube》◎🇬🇦在线视频◎ https://www.pornhd.com/【https://i.postimg.cc/HLWTf1T9/47dd395f818d744f5f6b897508d3309f.png】《Pornhd》◎🇮🇩在线视频◎ https://www.pornktu.be/videos/【https://i.postimg.cc/v83FXZLS/1656123183464.png】《Pornktu》◎🇾🇪在线视频◎ https://pornkai.com/【https://i.postimg.cc/C5gR1VJC/1656347595775.png】《Pornkai》◎🇨🇦在线视频◎\n🔞备选网站::https://pornontube.com/zh-cn/【https://i.postimg.cc/SRZHh6nJ/1657441598978.png】《Pornontube》◎在线电影◎ https://www.sunporno.com/【https://i.postimg.cc/W4T8QvbP/1657585183153.png】《Sunpornno》◎视频网站◎ https://latestones.com/models【https://i.postimg.cc/251kXxS9/1657442432339.png】《Latestones》◎全球套图精选◎ https://www.handjobjapan.com/en/?ref=a2f6354a【https://i.postimg.cc/28C8L5vd/c1c46f7c390245ed8325cf5cbcdfa54d.png】《Handjobjaan》◎日系手活◎ https://www.metarthunter.com/most-viewed/【https://i.postimg.cc/rmsLp1bX/1657442859439.png】《Metarthunter》◎花花公子图片站◎ https://www.youjizz.com/categories/chinese-1.html【https://i.postimg.cc/7PBCP4Bj/1657443621814.png】《Youjizz.com》◎综合网站◎ https://spankbang.com/【https://i.postimg.cc/mrHj6MxN/1657449171627.png】《Spankbang》◎视频网站◎ https://zhiyin6.xyz/【https://i.postimg.cc/wMytDpgh/1657021317616.png】《知阴网站》◎视频网站◎ https://www.127mall7.com/【https://i.postimg.cc/vHxx4vvL/4a5598a52051c218df11b814646b1bae.png】《X站中文》◎X站中文频道◎ https://es.iporntv.net/search/%E4%B8%AD+%E6%96%87+%E9%9F%B3%E5%A3%B0+asmr【https://i.postimg.cc/0Nvm3sM8/1657504985437.png】《中文音声》◎在线音频网站🎧◎ https://freehdinterracialporn.in/zh/【https://i.postimg.cc/hjjpKYNg/1657448947985.png】《异族色情》◎在线视频网站◎ https://familyporn.tv/【https://i.postimg.cc/YSWSxRPt/1657445429571.png】《家庭porn》◎在线视频网站◎ https://pmatehunter.com/【https://i.postimg.cc/sx2PrBwC/1657560491814.png】《Pmate~H》◎国际图片◎ https://www.qpornosite.com/【https://i.postimg.cc/zXXc4mKS/647a65f79ad84414ec8ef7037833ee62.png】《qpornosite》◎视频网站◎ https://www.lobstertube.com/zh/【https://i.postimg.cc/CMcXFYLT/0b02fc4ba24b38f90f62c54142be537c.png】《LobsterTube》◎数百万激情色情电影◎\n📖 书单资源®::https://vt.sm.cn/api/novelStarReco/index【https://i.postimg.cc/3Ng0mjYb/1642215764921.png】《星云推书》◎书荒搜书神器◎ https://m.qidian.com/rank/【https://i.postimg.cc/Bb6H9P0h/1643185593580.png】《起点榜单》◎起点中文网榜单◎ https://quark.sm.cn/api/rest?method=Novelnew.home&format=html&schema=v2&gender=male&cate=%E5%85%A8%E9%83%A8&rank=rank_hot&pv=2420440【https://i.postimg.cc/XqXmn23H/1656398173543.png】《夸克榜单》◎夸克浏览器小说榜单◎ https://m.baidu.com/sf?openapi=1&dspName=iphone&dsp=iphone&from_sf=1&pd=bookstore&resource_id=5077&type=2&card_id=5143&word=%E5%85%A8%E9%83%A8%E5%88%86%E7%B1%BB&title=%E6%9B%B4%E5%A4%9A%E6%8E%A8%E8%8D%90&tag1=%E5%85%A8%E9%83%A8%E5%88%86%E7%B1%BB&lid=11549307334103749569&referlid=11549307334103749569&ms=1&frsrcid=5143&frorder=4【https://i.postimg.cc/YS5CqKk1/1643192297572.png】《百度榜单》◎百度浏览器小说榜单◎ https://www.yousuu.com【https://i.postimg.cc/ZqV9LKk4/d6460ce69df5934d47ec2e184264d447.png】《优书榜单》◎优书网书单◎ https://data.newrank.cn/m/s.html?s=Py8yOTE5KDE4【https://i.postimg.cc/nLWpBQzP/1656640745508.png】《小说拾遗》◎小说拾遗公众号-号内搜索◎ https://mp.weixin.qq.com/mp/appmsgalbum?action=getalbum&album_id=1319671603470581762&__biz=MzI2MDg2NjAwMg==#wechat_redirect【https://i.postimg.cc/Wp7cCtpP/9afbe88df402cbaacd6a1f34bb95451a.png】《精选书单》◎主推优质完结和连载100万字以上小说◎ https://mp.weixin.qq.com/mp/appmsgalbum?action=getalbum&album_id=1319666229510193155&__biz=MzI2MDg2NjAwMg==#wechat_redirect【https://i.postimg.cc/dtW1vnvq/1656158438840.png】《潜力新书》◎主推大神新书和20～100万字的优质新书◎ http://mp.weixin.qq.com/mp/homepage?__biz=MzI2MDg2NjAwMg==&hid=11&sn=c55d27329c109430838bc5b5f5b615b7&scene=18#wechat_redirect【https://i.postimg.cc/Nf2g2B79/d7844cc4a188295fb56ff7ee13e7c518.png】《高分必看》◎高分完本合集◎ https://mp.weixin.qq.com/mp/appmsgalbum?action=getalbum&album_id=1319668267623170050&__biz=MzI2MDg2NjAwMg==#wechat_redirect【https://i.postimg.cc/YCYjTCQ1/1643194013372.png】《近期完结》◎主推近一段时间内优质的完结小说◎ https://mp.weixin.qq.com/mp/appmsgalbum?action=getalbum&album_id=1319675692849872897&__biz=MzI2MDg2NjAwMg==#wechat_redirect【https://i.postimg.cc/MHJwdrSX/f3406e1fcc20a92dcaf944c71b0d67ab.png】《后宫精选》◎后宫精选合集◎ https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzI5NTA4NjgwNw==&action=getalbum&album_id=1319454340050157569&scene=126&devicetype=android-28&version=28000f3d&lang=zh_CN&nettype=WIFI&ascene=3&pass_ticket=B8GunWN7RjA2Q%2FaVYxT%2BSITrnCodRKKdEfgFLaYKNzv56Vgj9IUBy%2B6yzAlQVE4M&wx_header=1【https://i.postimg.cc/tTF4MXws/1643177963800.png】《网文书单》◎每期三本-新书速递、养肥佳作、完本好书◎ https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzI5NTA4NjgwNw==&action=getalbum&album_id=1319471313224040448&scene=126&devicetype=android-28&version=28000f3d&lang=zh_CN&nettype=WIFI&ascene=3&pass_ticket=B8GunWN7RjA2Q%2FaVYxT%2BSITrnCodRKKdEfgFLaYKNzv56Vgj9IUBy%2B6yzAlQVE4M&wx_header=1【https://i.postimg.cc/8c9D4yHY/1657563183687.png】《澎湃精选》◎超过50万字，连载或完本的优秀作品◎ https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzI5NTA4NjgwNw==&action=getalbum&album_id=1526356920989712387&scene=126&devicetype=android-28&version=28000f3d&lang=zh_CN&nettype=WIFI&ascene=3&pass_ticket=B8GunWN7RjA2Q%2FaVYxT%2BSITrnCodRKKdEfgFLaYKNzv56Vgj9IUBy%2B6yzAlQVE4M&wx_header=1【https://i.postimg.cc/FRH068g6/1656311375852.png】《年度盘点》◎年度盘点各分类中诞生的新书、完本书◎ https://mp.weixin.qq.com/mp/homepage?__biz=MzI5NTA4NjgwNw==&hid=1&sn=0fcecdc85b8c23e596880f8c895b901d&scene=18&devicetype=android-28&version=28000f3d&lang=zh_CN&nettype=WIFI&ascene=59&session_us=gh_2aa0f3c6dd8f&pass_ticket=B8GunWN7RjA2Q%2FaVYxT%2BSITrnCodRKKdEfgFLaYKNzv56Vgj9IUBy%2B6yzAlQVE4M&wx_header=1【https://i.postimg.cc/TP7Md7D4/1657562436540.png】《赤戟资源》◎最新热门分类◎\n🎥-影视资源®::https://ddrk.me/【https://i.postimg.cc/YCGJ5q3P/1636849542518.png】《低端影院》◎在线影院◎ https://www.bpzhe.com/【https://i.postimg.cc/FHv36SV3/1657852264274.png】《B~白嫖者》◎在线影院◎ https://www.o8tv.com/【https://i.postimg.cc/C1j992df/1657560014059.png】《©555电影》◎在线影院◎ http://m.nvzox1.com【https://i.postimg.cc/yN1M8nXD/1657709190817.png】《观影时光》◎在线影院◎ https://app.movie/【https://i.postimg.cc/kMKqrt93/1657565246707.png】《APP-影院》◎在线影院◎ https://www.xhsyy.com/【https://i.postimg.cc/1tKDkRH1/790d23cd18953d9c2b98642a6443293d.png】《九杀影院》◎在线影院◎ https://www.libvio.me/【https://i.postimg.cc/QtcW24Ty/1657704764879.png】《Libvio.me》◎在线影院◎ https://www.pbpb.tv/【https://i.postimg.cc/5NKDcb7z/a69d58f3d1cf39307e60fe2ff8d32c7c.png】《片吧影院》◎在线影院◎ https://www.novipnoad.com/【https://i.postimg.cc/qqJqngpX/a1c375a47f312841f8fa6eec14ed61cc.png】《Novipnoad》◎在线影院◎ https://www.pkmp4.com/【https://i.postimg.cc/R0djvfpk/1657800089071.png】《片库影院》◎在线影院◎ https://www.cechicc.com/【https://i.postimg.cc/Y23r2d8f/36cf2ec5a6187c14e09c3055662d45ad.png】《策驰电影》◎在线影院◎ https://www.fuqpremium.com/zh/【https://i.postimg.cc/Zq0kncDk/1658839233937.png】《fuqpremium》◎在线视频◎ https://www.tgtube.com/zh/【https://i.postimg.cc/N0hGHFZf/1658840245284.png】《Tgtube》◎在线视频◎ https://www.forhertube.com/zh/【https://i.postimg.cc/3RYktqSK/c424aec60f743d6db1474dade05b3173.png】《forhertube》◎在线视频◎ https://www.tubegalore.com/zh/【https://i.postimg.cc/g21CS5TH/1658916855443.png】《TubeGalore》◎巨大的免费色情视频数据库◎ https://www.maturetube.com/zh/【https://i.postimg.cc/L6CMJ2yM/c5630357e3a9b11d37a35325b838b398.png】《MatureTube》◎辣妈、半老徐娘、奶奶等色情视频◎ https://www.porzo.com/zh/【https://i.postimg.cc/x8ZdK0qZ/51fa49da574bb7ea5269202bf986e5aa.png】《PORZO》◎超过1000种分类和数百万视频◎ https://www.tiava.com/zh/【https://i.postimg.cc/1Rjb8fyw/1658800480527.png】《Tiava》◎排名第一的100%免费高品质色情资源网站◎",
    "sourceComment": "",
    "sourceGroup": "R18",
    "sourceIcon": "https://i.postimg.cc/tT45zyZQ/9399ca50f4495079a2c4f54f268dcad6.gif",
    "sourceName": "☢Online",
    "sourceUrl": "Online <1.1>"
  },
  {
    "articleStyle": 0,
    "customOrder": 153,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "💰 正版,R18",
    "sourceIcon": "https://www.iqiyipic.com/common/fix/h5-read//logo2.png",
    "sourceName": "爱奇艺文学",
    "sourceUrl": "https://wenxue.m.iqiyi.com"
  },
  {
    "articleStyle": 0,
    "customOrder": 154,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "",
    "ruleContent": "",
    "ruleDescription": "",
    "ruleImage": "",
    "ruleLink": "",
    "ruleNextPage": "",
    "rulePubDate": "",
    "ruleTitle": "",
    "singleUrl": true,
    "sortUrl": "",
    "sourceGroup": "🎞️ 影视,R18",
    "sourceIcon": "https://oss-xpc0.xpccdn.com/Upload/edu/2019/09/095d75c392a6a3f.png",
    "sourceName": "新片场",
    "sourceUrl": "https://www.xinpianchang.com"
  },
  {
    "articleStyle": 0,
    "customOrder": 154,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.stui-vodlist__item",
    "ruleContent": "class.stui-player__video@script.0@all##.*var now=unescape\\(\"(.*)\"\\);var pn.*##$1\n<js>\nresult=unescape(result)\nresult=\"https://www.ycylf.buzz/js/player/dmplayer/player/index.php?url=\"+result\nif(result){\n\tjava.toast('🔞视频链接获取成功！\\n链接解密中，请耐心等待\\nby 银河中的咸鱼')\nresult = \"<iframe scrolling=\\\"no\\\" allowfullscreen=\\\"\\\" src=\\\"\" + result + \"\\\" width=\\\"100%\\\" height=\\\"240\\\"></iframe>\";\r\nresult = \"<html><head><meta charset=\\\"utf-8\\\"><meta name=\\\"viewport\\\" content=\\\"width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no\\\" /><style>html,body{margin:0;padding:0;width:100%;}</style></head><body>\" + result + \"</body></html>\"\n result\n}else{\n\tjava.toast('🔞视频链接获取失败❗️\\nby 银河中的咸鱼')\n}\n</js>",
    "ruleImage": "a@data-original",
    "ruleLink": "a.0@href##$##/avav-0-0.html",
    "ruleNextPage": "page",
    "ruleTitle": "class.stui-vodlist__title@text",
    "singleUrl": false,
    "sortUrl": "搜索::https://www.ycylf.buzz/search.php?page={{page}}&searchword={{source.getVariable()}}&searchtype=\n更早::https://www.ycylf.buzz/old/index{{page-1==0?\"\":page}}.html\n22年::https://www.ycylf.buzz/2022/index{{page-1==0?\"\":page}}.html\n21年::https://www.ycylf.buzz/2021/index{{page-1==0?\"\":page}}.html\n20年::https://www.ycylf.buzz/2020/index{{page-1==0?\"\":page}}.html\n19年::https://www.ycylf.buzz/2019/index{{page-1==0?\"\":page}}.html\n18年::https://www.ycylf.buzz/2018/index{{page-1==0?\"\":page}}.html\n17年::https://www.ycylf.buzz/2017/index{{page-1==0?\"\":page}}.html\n16年::https://www.ycylf.buzz/old/2016/index{{page-1==0?\"\":page}}.html\n15年::https://www.ycylf.buzz/old/2015/index{{page-1==0?\"\":page}}.html\n14年::https://www.ycylf.buzz/old/2014/index{{page-1==0?\"\":page}}.html\n首页::https://www.ycylf.buzz/",
    "sourceComment": "class.mb-img@style##background\\-image\\:url\\(|\\)\\;",
    "sourceGroup": "R18",
    "sourceIcon": "https://img1.baidu.com/it/u=1496571514,2586450180&fm=253&fmt=auto&app=138&f=PNG?w=120&h=120",
    "sourceName": "妖次元里番",
    "sourceUrl": "https://www.ycylf.buzz/"
  },
  {
    "articleStyle": 2,
    "concurrentRate": "",
    "customOrder": 155,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginCheckJs": "",
    "loginUi": "",
    "loginUrl": "",
    "ruleArticles": "$.list",
    "ruleContent": "",
    "ruleDescription": "<h3>{{$.vod_name}}</h3>\n<video src=\"{{$.vod_play_url##.*\\$}}\" controls width=\"100%\" height=\"auto\" poster=\"{{$.vod_pic##img.jialiimg.com##jializyz7.com}}\"></video>\n",
    "ruleImage": "$.vod_pic##img.jialiimg.com##jializyz7.com",
    "ruleLink": "$.vod_play_url##.*\\$##https://jiexi.jlzyplayer.com/m3u8/?url=",
    "ruleNextPage": "page",
    "rulePubDate": "$.vod_time",
    "ruleTitle": "$.vod_name",
    "singleUrl": false,
    "sortUrl": "首页::https://jializyzapi.com/api.php/provide/vod/?ac=detail&pg={{page}}\n国产精品::https://jializyzapi.com/api.php/provide/vod/?ac=detail&t=20&pg={{page}}\n主播直播::https://jializyzapi.com/api.php/provide/vod/?ac=detail&t=21&pg={{page}}\n日本无码::https://jializyzapi.com/api.php/provide/vod/?ac=detail&t=22&pg={{page}}\n日本有码::https://jializyzapi.com/api.php/provide/vod/?ac=detail&t=23&pg={{page}}\n欧美极品::https://jializyzapi.com/api.php/provide/vod/?ac=detail&t=24&pg={{page}}\n中文字幕::https://jializyzapi.com/api.php/provide/vod/?ac=detail&t=26&pg={{page}}\n强奸乱伦::https://jializyzapi.com/api.php/provide/vod/?ac=detail&t=27&pg={{page}}\n巨乳美乳::https://jializyzapi.com/api.php/provide/vod/?ac=detail&t=28&pg={{page}}\n少女萝莉::https://jializyzapi.com/api.php/provide/vod/?ac=detail&t=29&pg={{page}}\n变态捆绑::https://jializyzapi.com/api.php/provide/vod/?ac=detail&t=30&pg={{page}}\n三级伦理::https://jializyzapi.com/api.php/provide/vod/?ac=detail&t=31&pg={{page}}\n成人动漫::https://jializyzapi.com/api.php/provide/vod/?ac=detail&t=32&pg={{page}}\n自拍偷拍::https://jializyzapi.com/api.php/provide/vod/?ac=detail&t=36&pg={{page}}\n熟女人妻::https://jializyzapi.com/api.php/provide/vod/?ac=detail&t=39&pg={{page}}\nAI换脸::https://jializyzapi.com/api.php/provide/vod/?ac=detail&t=40&pg={{page}}\n搜索::https://jializyzapi.com/api.php/provide/vod/?ac=detail&pg={{page}}&wd={{source.getVariable()}}",
    "sourceComment": "佳丽",
    "sourceGroup": "R18",
    "sourceIcon": "https://i.postimg.cc/fTBQCkJQ/1658060286572.png",
    "sourceName": "Demo~Jiali(图片加载快）",
    "sourceUrl": "https://jializyzapi.com/api.php/provide/vod/?ac=detail&t=20&pg={{page}}",
    "style": ""
  },
  {
    "articleStyle": 0,
    "customOrder": 156,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "<js>\njson=[];\nif(baseUrl.match(/ /)){\nlist=baseUrl.replace(/http.*?wd=\\s*/,'').split(' ');\nfor(i in list){\nhref=list[i].match(/【(.*?)】/)[1];\ntext=list[i].match(/《(.*?)》/)[1];\nintro=list[i].match(/◎(.*?)◎/)[1];\nindex=list[i].match(/^(\\d+、\\d+、)/)?list[i].match(/^(\\d+、\\d+、)/)[1]:list[i].match(/^(.*?)【/)[1]\njson.push({text:text,src:href,intro:intro,index:index})\n}\n}\nJSON.stringify(json)</js>\n$.[*]",
    "ruleContent": "",
    "ruleImage": "$.src",
    "ruleLink": "$.index",
    "ruleNextPage": "",
    "rulePubDate": "$.intro",
    "ruleTitle": "$.text",
    "singleUrl": false,
    "sortUrl": "☸ -文娱▪️阅读™::https://lemuzika.pro/search/【https://i.postimg.cc/d3HR8qqW/1636542691088.png】《Lemuzika》◎俄语音乐在线◎ https://siyufm.net/lists/?page=2&author=12【https://i.postimg.cc/zXHKN1nK/1637811407315.png】《私语电台™》◎私密电台◎ https://asmrs.live/category/%E6%AD%A5%E9%9D%9E%E7%83%9F%E7%AC%AC%E4%B8%80%E5%AD%A3【https://i.postimg.cc/15yTD2t8/1643175843924.png】《Asmrs~🎧™》◎在线音频◎ https://m.hupu.com/nba/news【https://i.postimg.cc/0NbTdrSz/fce1c650c8dd8a72d36fa7d1d15332b9.png】《虎扑论坛™》◎NBA体育论坛◎ https://ting.yeyulingfeng.com/【https://i.postimg.cc/nhRTwV51/60caf55a7c86f32a0ffd3252d718353e.png】《夜雨聆风™》◎多音乐平台◎ http://www.yckceo.com/yuedu/rssyuan/index.html【https://i.postimg.cc/tTtLLjDB/1636451055569.png】《仓库订阅》◎订阅源仓库◎ http://hja27.com/【https://i.postimg.cc/KjNH5kQJ/8e5e7fc946028dcf4f32a2173ae4c319.png】《海角社区》◎登录在线社区◎ https://www.66.ca/forum.php?fid=56&mod=forumdisplay【https://i.postimg.cc/tg4q86fs/1656470882540.png】《华人社区》◎加拿大华人论坛阅读专区◎ https://www.reachporn.com/zh-CN/【https://i.postimg.cc/VkTJR01F/1637553554052.png】《达到列表》◎导航链接◎ http://www.dxjwx3.top/【https://i.postimg.cc/bwqBpTPw/1636964897703.png】《香蕉文学™》◎在线阅读◎ https://b.sis.la/【https://i.postimg.cc/1RL5Vrbx/1643170566233.png】《Sis文学网》◎在线阅读◎ https://cl.982x.xyz/thread0806.php?fid=20【https://i.postimg.cc/y8148SN4/1656483560277.png】《草榴文学》◎草榴社区成人文学交流区◎ http://www.xiaoshuo008.xyz/【https://i.postimg.cc/CLH3C2fH/1639307031234.png】《污色小说》◎在线阅读◎ https://qq.com.tieniu1008.xyz/【https://i.postimg.cc/m2TDkYx5/1655817959914.png】《铁牛资源》◎导航链接◎ https://xn---jfgsoucom-e12p686ciwltn3epeo.xn--jifangg-3v1q.com/?cisou【https://i.postimg.cc/tJWDWsS9/1636543129910.png】《集芳阁网》◎文字链接◎ https://www.pornfind.org/【https://i.postimg.cc/G2dbSRjm/1655822701904.png】《PornFind》◎导航网站◎\n🔲-全球图片™::https://heaven.porn/【https://i.postimg.cc/gj5D3V3t/1637729257404.png】《Heaven》◎全球套图精选◎ https://www.nudexxx.pics/categories/babe/【https://i.postimg.cc/4dxcSNmj/1656513179805.png】《Nudexxx》◎在线图片◎ https://www.pornpics.com/【https://i.postimg.cc/c4rH6q6j/1638144378878.png】《Pornpics》◎中外图库[高清大图]◎ https://www.metarthunter.com/most-viewed/【https://i.postimg.cc/131j1j0v/1638332202023.png】《Metart~H》◎高清写真◎ https://www.xxxftvgirls.com/【https://i.postimg.cc/QM3pzCY7/1655781876454.png】《xxxfrvgirls》◎全球套图精选◎ https://www.gravurehunter.com/【https://i.postimg.cc/mgBQv38B/c144ea102b481a06e2cfbff4eecbb1b9.png】《Gravure》◎在线图片◎ https://sexynude.pics/【https://i.postimg.cc/dV7qX4Pg/1655823076713.png】《Sexynude》◎在线图片◎ https://www.hqseek.com/【https://i.postimg.cc/Qtf8mGyQ/1656046620044.png】《Hqseek》◎在线图片◎ https://nakedwomen.pics/【https://i.postimg.cc/bNyj15SP/2cdf1b8a4f390ff996dcdccd32cf0bcf.png】《Nakedwomen》◎在线图片◎ https://www.eastbabes.com/【https://i.postimg.cc/bvJLc0qZ/1656221729360.png】《Eastbabes》◎在线图片◎ https://www.eroticbeauties.net/【https://i.postimg.cc/1Xd6bLng/1636528074158.png】《eroticbeauties》◎在线图片◎ https://www.freebigtitpornpics.com/【https://i.postimg.cc/4xnHYTy5/c5630357e3a9b11d37a35325b838b398.png】《Big~Tits™》◎高清写真◎ https://pmatehunter.com/【https://i.postimg.cc/7PTBbdtR/1656073522948.png】《Pmate~H》◎国际图片◎ https://www.freexcafe.com/?ref=porndude【https://i.postimg.cc/kX35Jpx4/1655983982372.png】《Freexcafe.com》◎在线图片◎ https://www.jpbeauties.com/【https://i.postimg.cc/NjDm0RX7/1637653825029.png】《JPbeauties》◎日本图片◎ https://www.erosberry.com/?ref=porndude【https://i.postimg.cc/4NXqnm2v/b36328b476f62c28399930a8a7b98030.png】《Erosberry.com》◎在线图片◎\n🔳-传媒▪️VR™::https://cableav.tv/?ref=porndude【https://i.postimg.cc/nhRvftvn/1637637245085.png】《Cableav.tv》◎视频网站◎ https://www.fellatiojapan.com/en/?ref=1860c830【https://i.postimg.cc/HkynZPVJ/1637552436297.png】《Fellatiojapan》◎日系demo~可下载◎ https://netflav.com/?qingse.one【https://i.postimg.cc/FsfxKtyR/1656154149599.png】《Netflav》◎日系资源~浏览器打开◎ https://vrporn.com/?a=634574【https://i.postimg.cc/JzKcYQdk/1655469952522.png】《Vrporn.com[VR]》◎VR视频站◎ https://virtualrealporn.com/?nats=OTk5MTAwMDMuNS44LjEwLjAuMC4wLjAuMA【https://i.postimg.cc/FFJ2fFfW/1655542912385.png】《virualrealporn[VR]》◎VR视频站◎ https://www.tubev.sex/【https://i.postimg.cc/3Jc0Mxv8/1655872958452.png】《Tubev.sex》◎日系视频◎ https://jable.tv/【https://i.postimg.cc/TwcWwrcb/1638257799795.png】《Jable.TV》◎日系视频◎ https://www.bus13.com/【https://i.postimg.cc/bwWMLL57/1655688619355.png】《艾薇巴士》◎视频影院◎ https://www.127mall.xyz/【https://i.postimg.cc/d3H9vKGp/4a5598a52051c218df11b814646b1bae.png】《X站中文™》◎X站中文◎ https://www.fuq.com/zh/【https://i.postimg.cc/PJ9013Sh/1656410642350.png】《色情电影》◎日系视频◎ https://zhiyin6.xyz/【https://i.postimg.cc/bJty35ns/1656074689383.png】《知阴传媒™》◎在线视频◎ https://www.fengyuetongtian.com/【https://i.postimg.cc/7ZnG4jsL/1655829430458.png】《风月同天》◎国产视频◎ https://theav28.com/?sharecode=4873【https://i.postimg.cc/R04Ps1FK/1655817933907.png】《国产视频》◎在线视频◎ http://91porn.com/index.php【https://i.postimg.cc/T1CPrsy3/1637581646494.png】《九幺视频》◎综合视频◎ https://18porn.cc/【https://i.postimg.cc/jdhFZbMb/1655657370807.png】《中文成人》◎综合视频◎ https://www.rtmm6.com/video/1/【https://i.postimg.cc/J086hZSk/f15bd009bb5ff82668c4189113220b74.png】《人体美媚》◎综合网站◎\n🈂-动漫▪️漫画™::https://mh9233.com/3d/【https://i.postimg.cc/DZW7hNKq/580572977c8c3aa746205e57a15abe9d.png】《3D.Comic™》◎在线漫画◎ https://hentaidude.com/【https://i.postimg.cc/0y8qbC0Q/1638232412652.png】《hentaidude》◎在线动漫◎ https://www.animehentaivideos.xxx/【https://i.postimg.cc/RFKvkT0K/1638240678166.png】《Hentai~VI™》◎日系动漫◎ https://animeidhentai.com/【https://i.postimg.cc/7LFjQsBK/1656162690803.png】《Animeid》◎日系动漫◎ https://www.cartoonpornvideos.com/【https://i.postimg.cc/5yyvw3Mc/1638243885642.png】《Cartoon~P》◎在线动漫◎ http://hkmh.site/plus/list-1.html【https://i.postimg.cc/cCJqG9hC/1636679317033.png】《好看漫画™》◎在线漫画◎ http://www.177picyy.com/html/category/cg/cg-cn/【https://i.postimg.cc/43R19YrQ/1636679033256.png】《177漫画™》◎在线漫画◎ https://www.wnacg.com/albums.html【https://i.postimg.cc/BZDtwf7C/1637918486763.png】《绅士漫画™》◎在线漫画◎ http://www.ccrip.com/【https://i.postimg.cc/GtLn5787/1636645618385.png】《韩国漫画》◎在线漫画◎ http://www.kxkmh.com/【https://i.postimg.cc/9Mymd126/790d23cd18953d9c2b98642a6443293d.png】《开心漫画™》◎在线漫画◎ https://www.ho5ho.com/?ref=porndude【https://i.postimg.cc/fL1fHJWz/1655687656501.png】《全彩H漫》◎在线漫画◎ https://hanime1.me/?ref=porndude【https://i.postimg.cc/vZYFG0jG/1655551880768.png】《里番动漫》◎在线动画◎ https://doujins.com/【https://i.postimg.cc/QdxnMzSN/a6222dd9366f54f87b8f7870bfe43089.png】《Doujins》◎在线动漫◎ https://www.hentairules.net/category/incest/【https://i.postimg.cc/ncHZmj94/1656550086818.png】《hentairules》◎在线漫画◎ https://8muses.io/?ref=porndude【https://i.postimg.cc/W19ZDWdt/1638101011966.png】《8muses.io》◎在线漫画◎\n🎥-影视▪️博客™::https://sharesome.com/news/【https://i.postimg.cc/gj4HKk9B/1636708458829.png】《Sharesone™》◎时尚博客直播◎ http://m.nvzox1.com【https://i.postimg.cc/FRZThKzw/1637547515349.png】《观影时光™》◎在线影院◎ https://ddrk.me/【https://i.postimg.cc/YCGJ5q3P/1636849542518.png】《低端影院™》◎在线影院◎ https://www.o8tv.com/【https://i.postimg.cc/L8DbQJyk/1638410038368.png】《©555电影™》◎在线影院◎ https://www.xhsyy.com/【https://i.postimg.cc/5ytmqkJ5/1636714890664.png】《九杀影院™》◎在线影院◎ https://app.movie/【https://i.postimg.cc/yNKwKsBL/1636714674203.png】《APP-影院™》◎在线影院◎ https://zh.stripchat.com/【https://i.postimg.cc/hGHb7GrK/1638265743767.png】《StripChat》◎国产区在线直播◎ https://m.chaturbate.com/【https://i.postimg.cc/9MyWG9TN/1655472325855.png】《Chaturbate》◎欧美直播網站◎ https://m.livejasmin.com/en/list/girl/www.cavhot.com【https://i.postimg.cc/3RDq1WJm/1638681569437.png】《Livejasmin》◎欧美在线直播◎ https://m.instantfap.com/?ref=porndude【https://i.postimg.cc/NM7v3FWG/1636714420842.png】《Instantfap》◎欧美在线视频直播站[优质画面]◎ https://www.sex.com/【https://i.postimg.cc/N0zRGwXh/1655566034717.png】《Sex.com》◎欧美在线视频直播站[优质画面]◎ https://www.xfree.com/?popularFeed=150672【https://i.postimg.cc/Kj0rSZ00/1b675b5fcb22bb8c84bf3682ebad5759.png】《Xfree.com》◎博客直播[优质画面]◎ https://fikfap.com/?ref=porndude【https://i.postimg.cc/DyVy8K9r/1655654233967.png】《Fikfap.com》◎博客直播[优质画面]◎ https://xxxtik.com/?ref=porndude【https://i.postimg.cc/mkxbZNW4/a2b0d5776f5161f168d8394f3bd37074.png】《Xxxtik.com》◎博客直播[优质画面]◎ https://tik.porn/video/216500【https://i.postimg.cc/9XBRnLsy/1655648357308.png】《Tik.porn》◎博客直播[优质画面]◎\n🔞 -在线【宽屏】::https://cn.pornhub.com/view_video.php?viewkey=ph5f5367cd02a9a【https://i.postimg.cc/PfZcf8W1/1637937252627.png】《Pornhub》◎🇨🇦在线视频◎ https://www.xvideos.com/【https://i.postimg.cc/L6yQskbQ/1637936393141.png】《Xvideos》◎🇨🇿在线视频◎ https://hclips.com/?promo=10718【https://i.postimg.cc/J43xdySq/1637914745762.png】《Hclips.com》◎🇱🇷在线视频◎ https://beeg.com/?ref=porndude【https://i.postimg.cc/T17T3Lm8/1637937050924.png】《Beeg.com》◎🇬🇳在线视频◎ https://m.shameless.com/【https://i.postimg.cc/8CWvGJ1v/1655955946009.png】《shameless》◎🇮🇸在线视频◎ https://teenxmovies.net/【https://i.postimg.cc/90yQZpx0/1656210845177.png】《Teenxmovies》◎🇩🇪在线视频◎ https://www.gotporn.com/【https://i.postimg.cc/1tcpTbDw/1656512064010.png】《Gotporn.com》◎🇭🇺在线视频◎ https://www.youporn.com/【https://i.postimg.cc/85Wk79Cn/1655618753731.png】《Youporn》◎在线视频◎ https://www.atube.xxx/?hl=zh【https://i.postimg.cc/zBXxq1cr/1655960626148.png】《Dtube.xxx》◎🇨🇿在线视频◎ https://fuqer.mobi/【https://i.postimg.cc/sg5ZVwSw/1637817917453.png】《Fuqer.mobi》◎🇩🇪在线视频◎ https://txxx.com/?promo=16036【https://i.postimg.cc/nLTTYxZP/1655954056032.png】《Txxx.com》◎🇷🇴在线视频◎ https://www.xnxx.com/【https://i.postimg.cc/3NT7QXZF/1638079383739.png】《Xnxx.com》◎🇺🇸在线视频◎ https://nudebabes.tube/【https://i.postimg.cc/ht2r3jht/1638700576004.png】《Nudebabes》◎视频网站◎ https://porndoe.com/?utm_campaign=theporndude&utm_medium=trafficbuy&utm_source=theporndude【https://i.postimg.cc/hG3NT5Vz/1637931210565.png】《Poredoe》◎🇫🇷在线视频◎ https://4kporn.xxx/【https://i.postimg.cc/MGfGBqPJ/1655986800440.png】《4Kporn.xxx》◎🇳🇴在线视频◎ https://www.joysporn.com/?ref=porndude【https://i.postimg.cc/ydy26fDV/1656468812234.png】《Joysporn》◎🇭🇺在线视频◎\n🔞-在线【欧美】::http://www.incestflix.com/?ref=porndude【https://i.postimg.cc/G36dHWwM/1638705175642.png】《Incestflix》◎🇮🇩在线视频◎ https://motherless.com【https://i.postimg.cc/LXZynXtV/1656205674304.png】《Motherless》◎🇻🇪在线视频◎ https://zh.xhamster.com/【https://i.postimg.cc/VLd9cpxN/1638625257182.png】《Xhameter》◎🇹🇳在线视频◎ https://fuqqt.com/videos/babe【https://i.postimg.cc/TwQzJhLv/1656205530357.png】《Fuqqt.com》◎🇭🇺在线视频◎ https://prothots.com/?ref=porndude【https://i.postimg.cc/HLWTf1T9/47dd395f818d744f5f6b897508d3309f.png】《Prosthots》◎🇮🇩在线视频◎ https://www.pornktu.be/videos/【https://i.postimg.cc/v83FXZLS/1656123183464.png】《Pornktu》◎🇾🇪在线视频◎ https://www.youjizz.com/categories/chinese-1.html【https://i.postimg.cc/DZzSwpJk/1656294092715.png】《Youjizz》◎🇫🇮在线视频◎ https://www.redtube.com/【https://i.postimg.cc/Wp8NN7yM/1656336459126.png】《Redtube》◎🇬🇦在线视频◎ https://modernpornhd.com/zh-Hans/【https://i.postimg.cc/G36ChSQT/1656336448222.png】《Modern》◎🇲🇸在线视频◎ https://www.porntube.com/?cid=2930【https://i.postimg.cc/PqC8B54v/1656514101490.png】《Porntube》◎🇲🇸在线视频◎ https://www.eporner.com/【https://i.postimg.cc/FscqrGTv/1656079279240.png】《Epornet》◎🇰🇿在线视频◎ https://crazyshit.com/category/random-nudity/【https://i.postimg.cc/442qfqDm/1638143733789.png】《Crayshit.com》◎🇦🇽在线视频◎ https://fapster.xxx/categories/【https://i.postimg.cc/zf5fxnkx/1656330613273.png】《Fapster.xxx》◎🇮🇩在线视频◎ https://www.ixxx.com【https://i.postimg.cc/tCdczxnp/1656341968586.png】《Ixxx.com》◎🇹🇳在线视频◎ https://www.pornhd.com/【https://i.postimg.cc/TPjVhSgd/90a46f3a19d817d81455143985e592a7.png】《Pornhd》◎🇮🇩在线视频◎ https://pornkai.com/【https://i.postimg.cc/C5gR1VJC/1656347595775.png】《Pornkai》◎🇨🇦在线视频◎\n📖 书单资源::https://vt.sm.cn/api/novelStarReco/index【https://i.postimg.cc/3Ng0mjYb/1642215764921.png】《星云推书》◎书荒搜书神器◎ https://m.qidian.com/rank/【https://i.postimg.cc/Bb6H9P0h/1643185593580.png】《起点榜单》◎起点中文网榜单◎ https://quark.sm.cn/api/rest?method=Novelnew.home&format=html&schema=v2&gender=male&cate=%E5%85%A8%E9%83%A8&rank=rank_hot&pv=2420440【https://i.postimg.cc/ZnKb9GyM/1656398173543.png】《夸克榜单》◎夸克浏览器小说榜单◎ https://m.baidu.com/sf?openapi=1&dspName=iphone&dsp=iphone&from_sf=1&pd=bookstore&resource_id=5077&type=2&card_id=5143&word=%E5%85%A8%E9%83%A8%E5%88%86%E7%B1%BB&title=%E6%9B%B4%E5%A4%9A%E6%8E%A8%E8%8D%90&tag1=%E5%85%A8%E9%83%A8%E5%88%86%E7%B1%BB&lid=11549307334103749569&referlid=11549307334103749569&ms=1&frsrcid=5143&frorder=4【https://i.postimg.cc/YS5CqKk1/1643192297572.png】《百度榜单》◎百度浏览器小说榜单◎ https://www.yousuu.com【https://i.postimg.cc/ZqV9LKk4/d6460ce69df5934d47ec2e184264d447.png】《优书榜单》◎优书网书单◎ https://data.newrank.cn/m/s.html?s=Py8yOTE5KDE4【https://i.postimg.cc/k4Yb7Mwf/1642213151511.png】《小说拾遗》◎小说拾遗公众号-号内搜索◎ https://mp.weixin.qq.com/mp/appmsgalbum?action=getalbum&album_id=1319671603470581762&__biz=MzI2MDg2NjAwMg==#wechat_redirect【https://i.postimg.cc/vZWSFZM1/1656514496077.png】《精选书单》◎主推优质完结和连载100万字以上小说◎ https://mp.weixin.qq.com/mp/appmsgalbum?action=getalbum&album_id=1319666229510193155&__biz=MzI2MDg2NjAwMg==#wechat_redirect【https://i.postimg.cc/dtW1vnvq/1656158438840.png】《潜力新书》◎主推大神新书和20～100万字的优质新书◎ http://mp.weixin.qq.com/mp/homepage?__biz=MzI2MDg2NjAwMg==&hid=11&sn=c55d27329c109430838bc5b5f5b615b7&scene=18#wechat_redirect【https://i.postimg.cc/Nf2g2B79/d7844cc4a188295fb56ff7ee13e7c518.png】《高分必看》◎高分完本合集◎ https://mp.weixin.qq.com/mp/appmsgalbum?action=getalbum&album_id=1319668267623170050&__biz=MzI2MDg2NjAwMg==#wechat_redirect【https://i.postimg.cc/YCYjTCQ1/1643194013372.png】《近期完结》◎主推近一段时间内优质的完结小说◎ https://mp.weixin.qq.com/mp/appmsgalbum?action=getalbum&album_id=1319675692849872897&__biz=MzI2MDg2NjAwMg==#wechat_redirect【https://i.postimg.cc/MHJwdrSX/f3406e1fcc20a92dcaf944c71b0d67ab.png】《后宫精选》◎后宫精选合集◎ https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzI5NTA4NjgwNw==&action=getalbum&album_id=1319454340050157569&scene=126&devicetype=android-28&version=28000f3d&lang=zh_CN&nettype=WIFI&ascene=3&pass_ticket=B8GunWN7RjA2Q%2FaVYxT%2BSITrnCodRKKdEfgFLaYKNzv56Vgj9IUBy%2B6yzAlQVE4M&wx_header=1【https://i.postimg.cc/tTF4MXws/1643177963800.png】《网文书单》◎每期三本-新书速递、养肥佳作、完本好书◎ https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzI5NTA4NjgwNw==&action=getalbum&album_id=1319471313224040448&scene=126&devicetype=android-28&version=28000f3d&lang=zh_CN&nettype=WIFI&ascene=3&pass_ticket=B8GunWN7RjA2Q%2FaVYxT%2BSITrnCodRKKdEfgFLaYKNzv56Vgj9IUBy%2B6yzAlQVE4M&wx_header=1【https://i.postimg.cc/Wp7cCtpP/9afbe88df402cbaacd6a1f34bb95451a.png】《澎湃精选》◎超过50万字，连载或完本的优秀作品◎ https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzI5NTA4NjgwNw==&action=getalbum&album_id=1526356920989712387&scene=126&devicetype=android-28&version=28000f3d&lang=zh_CN&nettype=WIFI&ascene=3&pass_ticket=B8GunWN7RjA2Q%2FaVYxT%2BSITrnCodRKKdEfgFLaYKNzv56Vgj9IUBy%2B6yzAlQVE4M&wx_header=1【https://i.postimg.cc/PJmtm1Xj/1656311375852.png】《年度盘点》◎年度盘点各分类中诞生的新书、完本书◎ https://mp.weixin.qq.com/mp/homepage?__biz=MzI5NTA4NjgwNw==&hid=1&sn=0fcecdc85b8c23e596880f8c895b901d&scene=18&devicetype=android-28&version=28000f3d&lang=zh_CN&nettype=WIFI&ascene=59&session_us=gh_2aa0f3c6dd8f&pass_ticket=B8GunWN7RjA2Q%2FaVYxT%2BSITrnCodRKKdEfgFLaYKNzv56Vgj9IUBy%2B6yzAlQVE4M&wx_header=1【https://i.postimg.cc/mgG86gQj/776bae974442e2836a98b85ceebc09ce.png】《赤戟资源》◎最新热门分类◎",
    "sourceComment": "[无科学不订阅]",
    "sourceGroup": "R18",
    "sourceIcon": "https://img0.baidu.com/it/u=959891578,717322637&fm=253&fmt=auto&app=138&f=BMP?w=500&h=750",
    "sourceName": "在线资源",
    "sourceUrl": "Online (2.22)"
  },
  {
    "articleStyle": 0,
    "customOrder": 157,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "🎞️ 影视,R18",
    "sourceIcon": "https://dm530.org/static/favicon.ico",
    "sourceName": "风车动漫",
    "sourceUrl": "https://dm530.org"
  },
  {
    "articleStyle": 2,
    "customOrder": 158,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "//div.list-com/a",
    "ruleContent": "//ul/li",
    "ruleImage": "//img@src##.*?<img src=\"(.*?)\".*?##$1###@js:header={\"Referer\":baseUrl}\nheaders={\"headers\":JSON.stringify(header)}\nresult=result+','+JSON.stringify(headers)",
    "ruleLink": "href",
    "ruleNextPage": "page",
    "rulePubDate": "//img@src##.*?<img src=\"https://imgfzone.tooopen.com/(.*?)/.*?.jpg\".*?##$1###",
    "ruleTitle": "//text()",
    "singleUrl": false,
    "sourceComment": "",
    "sourceGroup": "封子秦,R18",
    "sourceIcon": "https://img2.baidu.com/it/u=3447143413,168358415&fm=253&fmt=auto&app=138&f=JPEG?w=347&h=500",
    "sourceName": "美图公社",
    "sourceUrl": "https://desk.tooopen.com/meinv_3<,_{{page}}>.html"
  },
  {
    "articleStyle": 2,
    "customOrder": 159,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "ul@li",
    "ruleContent": "<!DOCTYPE html>\r\n<html>\r\n\r\n<head>\r\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\">\r\n    <link rel=\"stylesheet\" href=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.css\">\r\n    <script src=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.js\"></script>\r\n    <script src=\"http://libs.baidu.com/jquery/2.0.0/jquery.min.js\"></script>\n    {{@@tag.title@html}}\r\n</head>\r\n\r\n<body>\r\n    <h3>{{@@.h@tag.h1@text}}</h3>\r\n    <div id=\"box\">{{@@id.picg@tag.img@html}}</div>\r\n    <div id=\"loads\">加载中 </div>\r\n    <script>\r\n        var loads;\r\n        $(document).ready(function () {\r\n            var box = document.getElementById(\"box\");\r\n            loads = document.getElementById(\"loads\");\r\n            new Viewer(box, { title: false, interval: 3000 })\r\n            var i = 2;\r\n            var page = {{@@class.pagelist.0@tag.a.-2@textNodes##\\n}};\r\n            var url = \"{{baseUrl.replace('.html','_')}}\";\r\n            new IntersectionObserver(entries => {\r\n                if (entries[0].intersectionRatio) {\r\n                    if (entries[0].intersectionRatio <= 0) return;\r\n                    for (var j = 0; j < 1; j++) {\r\n                        fetchHtml(i, page, url);\r\n                        i += 1;\r\n                    }\r\n                }\r\n            }).observe(loads)\r\n        });\r\n\r\n\r\n        function fetchHtml(i, page, url) {\n        \t\r\n            if (i <= page) {\r\n                nurl = url + i + '.html';\r\n                $.ajax({\r\n                    url: nurl,\r\n                    dataType: 'html',\r\n                    success: function (html) {\r\n                        $('#box').append('<h5>' + (i) + '->' + (page) + '</h5>');\r\n                        $('#box').append($(html).find('p a img'));\r\n                        box.viewer.update();\r\n                    },\r\n                    error: function (xhr) { }\r\n                });\r\n            } else {\r\n                $('#loads').html(\"\");\r\n            }\r\n        }\r\n    </script>\r\n</body>\r\n\r\n</html>",
    "ruleImage": "img@src",
    "ruleLink": "a.0@href",
    "ruleNextPage": "page",
    "ruleTitle": "class.title@text",
    "singleUrl": false,
    "sortUrl": "套图::http://www.sytuk.com/shey/yingtiiurm/1_{{page}}.html\n\n日韩::http://www.sytuk.com/shey/yingtiiurm/2_{{page}}.html\n\n内衣::http://www.sytuk.com/shey/yingtiiurm/9_{{page}}.html\n\n萌妹::http://www.sytuk.com/shey/yingtiiurm/11_{{page}}.html\n\n精品::http://www.sytuk.com/shey/yingtiiurm/18_{{page}}.html\n\n高清::http://www.sytuk.com/shey/yingtiiurm/24_{{page}}.html\n\n无圣光::http://www.sytuk.com/shey/yingtiiurm/25_{{page}}.html",
    "sourceGroup": "R18",
    "sourceIcon": "http://www.sytuk.com/favicon.ico",
    "sourceName": "摄影图库",
    "sourceUrl": "http://www.sytuk.com/",
    "style": "/*标题相关*/\r\nh3{text-align:center}\r\nh6{margin-bottom:0}\r\nimg{width:100%}\nh5{margin-bottom:0;padding-left:5;}"
  },
  {
    "articleStyle": 2,
    "coverDecodeJs": "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36",
    "customOrder": 161,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "{\n\t\"User-Agent\":\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36\"\n}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": false,
    "ruleArticles": ".kzpost-data",
    "ruleContent": "\n.content_left@tag.img@src##\\n##\\$\n<js>\r\nli='\\n'\r\nlist=result.split('$')\r\nfor(i in list){\r\n\t\tli += '<li><img src=\"https://cci1.dimtown.com/uploads/2022/05/20220506190018751.png\" data-src=\"'+list[i]+'\"></li>\\n'\r\n\t}\r\nli\r\n</js>\r\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\">\r\n\r\n<h3>{{@@.hx@h1@text}}</h3>\r\n<h6>{{@@.kz-post-meta@span.1@text}}</h6>\r\n<ul id=\"box\">\r\n{{result}}\r\n</ul>\r\n\r\n\r\n<link rel=\"stylesheet\" href=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.css\">\r\n<script src=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.js\"></script>\r\n<script>\r\n\troot = document.getElementById('box')\r\n\tlazy = new IntersectionObserver(entires => {\r\n\t\tentires.forEach(item => {\r\n\t\t\tif(item.isIntersecting){\r\n\t\t\t\titem=item.target\r\n\t\t\t\titem.src=item.getAttribute('data-src')\r\n\t\t\t\tlazy.unobserve(item)\r\n\t\t\t}\r\n\t\t})\r\n\t}, {\r\n\t\troot: root,\r\n\t\tthreshold: [0],\r\n\t\trootMargin:\"0px 0px 500px 0px\"\r\n\t})\r\n\r\nimgs = document.getElementsByTagName('img')\r\nArray.from(imgs).forEach(item => {\r\n\t\tlazy.observe(item)\r\n\t})\r\n\r\n//查看大图插件\r\nnew Viewer(root,{title:false,interval:3000})\r\n</script>",
    "ruleImage": "img@data-original",
    "ruleLink": "a.0@href",
    "ruleNextPage": "a.next@href",
    "rulePubDate": "发布于{{@.PostMeta-time@text}},共观看{{@.fl-eye@text}}次",
    "ruleTitle": ".posr-tit@text",
    "singleUrl": false,
    "sortUrl": "cosplay::/p/cosplay\n私服::/p/sifu\njk::/p/jk\nlolita::/p/lolita\n汉服::/p/hanfu\n电脑壁纸::/dmmt/bz\n手机壁纸::/dmmt/sjbz\nP站画师::/dmmt/pzhs\nP站美图::/dmmt/pzmt\n插画::/dmmt/illustration\n图集画册::/dmmt/tujihuace\n随机美图::/dmmt/page_{{ Math.ceil(Math.random()*62) }}.html\n随机cosplay::/p/cosplay/page_{{ Math.ceil(Math.random()*80) }}.html\n随机全部::/p/page_{{ Math.ceil(Math.random()*97) }}.html",
    "sourceGroup": "R18",
    "sourceIcon": "https://cci1.dimtown.com/uploads/2022/04/20220501071918929-192x192.png",
    "sourceName": "次元小镇",
    "sourceUrl": "https://dimtown.com/",
    "style": "* {\n\tmargin: 0;\n\tpadding: 0\n}\nul {\n\tfont-size: 0;\n\theight: 100%;\n\toverflow-y: scroll\n}\nli {\n\tlist-style: none;\n\ttext-align: center\n}\nimg {\n\twidth: 100%;\n\theight: auto\n}"
  },
  {
    "articleStyle": 1,
    "customOrder": 162,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "$.list",
    "ruleContent": ".bofang_box@tag.script.0@all##.*url\":\"(.*?)\".*##$1\n<js>result.replace(/\\\\/g,\"\")</js>\n<video src=\"{{result}}\" width=\"100%\" height=\"auto\" controls></video>",
    "ruleImage": "$.vod_pic",
    "ruleLink": "https://meitaav.com/v/{{$.vod_id}}",
    "ruleNextPage": "page",
    "rulePubDate": "<js>\"{{$.vod_tag}}\".replace(/.*?\\,(.*)/,\"$1\")</js>\n{{$.vod_remarks}}  {{result}}  {{$.vod_time}}",
    "ruleTitle": "$.vod_name",
    "singleUrl": false,
    "sortUrl": "免费::https://meitaav.com/index.php/ajax/data.html?mid=1&page={{page}}&limit=20&tid=6\n美乳巨乳::https://meitaav.com/index.php/ajax/data.html?mid=1&page={{page}}&limit=20&tid=24\n日韩无码::https://meitaav.com/index.php/ajax/data.html?mid=1&page={{page}}&limit=20&tid=3\n国产视频::https://meitaav.com/index.php/ajax/data.html?mid=1&page={{page}}&limit=20&tid=1\n日韩有码::https://meitaav.com/index.php/ajax/data.html?mid=1&page={{page}}&limit=20&tid=2\nCosplay/动漫改编::https://meitaav.com/index.php/ajax/data.html?mid=1&page={{page}}&limit=20&tid=176\n水果派AV解说::https://meitaav.com/index.php/ajax/data.html?mid=1&page={{page}}&limit=20&tid=166\n自慰系列::https://meitaav.com/index.php/ajax/data.html?mid=1&page={{page}}&limit=20&tid=72\n3P合集::https://meitaav.com/index.php/ajax/data.html?mid=1&page={{page}}&limit=20&tid=71\n口交颜射::https://meitaav.com/index.php/ajax/data.html?mid=1&page={{page}}&limit=20&tid=70\n素人系列::https://meitaav.com/index.php/ajax/data.html?mid=1&page={{page}}&limit=20&tid=16\nNTR/出轨::https://meitaav.com/index.php/ajax/data.html?mid=1&page={{page}}&limit=20&tid=68\n调教凌辱::https://meitaav.com/index.php/ajax/data.html?mid=1&page={{page}}&limit=20&tid=27\n人妻熟女::https://meitaav.com/index.php/ajax/data.html?mid=1&page={{page}}&limit=20&tid=26\n制服诱惑::https://meitaav.com/index.php/ajax/data.html?mid=1&page={{page}}&limit=20&tid=25\n巨乳美女::https://meitaav.com/index.php/ajax/data.html?mid=1&page={{page}}&limit=20&tid=7\n凌辱强奸::https://meitaav.com/index.php/ajax/data.html?mid=1&page={{page}}&limit=20&tid=23\nSM捆绑::https://meitaav.com/index.php/ajax/data.html?mid=1&page={{page}}&limit=20&tid=22\n丝袜美腿::https://meitaav.com/index.php/ajax/data.html?mid=1&page={{page}}&limit=20&tid=36\n绝美少女::https://meitaav.com/index.php/ajax/data.html?mid=1&page={{page}}&limit=20&tid=20\n中文字幕::https://meitaav.com/index.php/ajax/data.html?mid=1&page={{page}}&limit=20&tid=19\nSWAG::https://meitaav.com/index.php/ajax/data.html?mid=1&page={{page}}&limit=20&tid=67\n麻豆传媒::https://meitaav.com/index.php/ajax/data.html?mid=1&page={{page}}&limit=20&tid=66\n天美传媒::https://meitaav.com/index.php/ajax/data.html?mid=1&page={{page}}&limit=20&tid=65\n皇家华人::https://meitaav.com/index.php/ajax/data.html?mid=1&page={{page}}&limit=20&tid=64\n京东影业::https://meitaav.com/index.php/ajax/data.html?mid=1&page={{page}}&limit=20&tid=18\n果冻传媒/91制片::https://meitaav.com/index.php/ajax/data.html?mid=1&page={{page}}&limit=20&tid=17\n星空无限传媒::https://meitaav.com/index.php/ajax/data.html?mid=1&page={{page}}&limit=20&tid=16\n糖心Vlog::https://meitaav.com/index.php/ajax/data.html?mid=1&page={{page}}&limit=20&tid=15\n蜜桃影像传媒::https://meitaav.com/index.php/ajax/data.html?mid=1&page={{page}}&limit=20&tid=14\n其他影业传媒::https://meitaav.com/index.php/ajax/data.html?mid=1&page={{page}}&limit=20&tid=13\n外流资源::https://meitaav.com/index.php/ajax/data.html?mid=1&page={{page}}&limit=20&tid=12\n偷拍/自拍::https://meitaav.com/index.php/ajax/data.html?mid=1&page={{page}}&limit=20&tid=11\n探花/外约::https://meitaav.com/index.php/ajax/data.html?mid=1&page={{page}}&limit=20&tid=10",
    "sourceComment": "永久地址https://meitaav.com/",
    "sourceGroup": "R18",
    "sourceIcon": "https://z3.ax1x.com/2021/02/07/ytBcZj.gif",
    "sourceName": "妹塔宇宙",
    "sourceUrl": "https://meitaav.com/"
  },
  {
    "articleStyle": 2,
    "customOrder": 163,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.row justify-content-md-center@class.col-6 col-sm-4 col-lg-3 col-xl-2",
    "ruleContent": "class.hentai__episodes@ul@all\n<js>\nvar li_shuzu  = java.getStringList(\"class.hentai__episodes@ul@li@all\")\nvar pic_url = java.getStringList(\"//@src\",li_shuzu)\nvar chapter_text = java.getStringList(\"a@text\", li_shuzu)\nresult=\"\"\nresult+= \"<html> <meta content=\\\"width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1,user-scalable=no\\\" />  <body>\"\n\nfor(var i in chapter_text){\nvar spkey = pic_url[i].match(/hh\\/.+(?=\\/s_poster)/)\n result+=\"<a href=\\\"javascript:;\\\" onclick=\\\"myplay(this.type)\\\"; type=\\\"\"+spkey+\"\\\" style='width: 100%; height: auto' > <img src=\\\"\"+pic_url[i]+\"\\\" alt=\\\"\"+chapter_text[i]+\"\\\" width='120px' height='68px'> \"+chapter_text[i]+ \"</a>\"\n result+=\"<br />\"\n}\nresult +=\"<p id=\\\"dd\\\"><video id=\\\"mv\\\" src=\\\"https://mymaster-uk.cyou/api/v3/\" +spkey+\"/master.m3u8\\\" controls preload=\\\"auto\\\" style='width: 100%; height: auto'></video><\\p>\"\n result+=\"<br />\"\n result+=\"<br />\"\n result+=\"<br />\"\n//修改播放链接函数\nresult+=\"<script> myplay=function(data){ document.getElementById(\\\"mv\\\").remove(); alert( \\\"更新成功\\\");  document.getElementById(\\\"dd\\\").innerHTML =\\\"<video id=\\'mv\\' src=\\'https://mymaster-uk.cyou/api/v3/\\\" +data+\\\"/master.m3u8\\' controls preload=\\'auto\\' style='width: 100%; height: auto'></video>\\\";}</script>\"\nresult += \"</body></html>\"\n</js>",
    "ruleDescription": "",
    "ruleImage": "tag.img@src",
    "ruleLink": "a@href",
    "ruleTitle": "tag.img@alt",
    "singleUrl": false,
    "sortUrl": "全部最新::https://hanime.xxx/hentai/<,page/{{page}}>/\n全部评分::https://hanime.xxx/hentai/<,page/{{page}}>/?m_orderby=rating\n全部热门::https://hanime.xxx/hentai/<,page/{{page}}>/?m_orderby=views\n\n无修最新::https://hanime.xxx/category/uncensored-hentai<,/page/{{page}}>\n无修评分::https://hanime.xxx/category/uncensored-hentai/<,page/{{page}}>/?m_orderby=rating\n无修热门::https://hanime.xxx/category/uncensored-hentai<,page/{{page}}>/?m_orderby=views\n百合最新::https://hanime.xxx/category/yuri<,/page/{{page}}/>\n百合评分::https://hanime.xxx/category/yuri/<,page/{{page}}>/?m_orderby=rating\n百合热门::https://hanime.xxx/category/yuri/<,page/{{page}}>/?m_orderby=views\n\n触手最新::https://hanime.xxx/category/tentacle<,/page/{{page}}/>\n触手评分::https://hanime.xxx/category/tentacle<,page/{{page}}>/?m_orderby=rating\n触手热门::https://hanime.xxx/category/tentacle<,page/{{page}}>/?m_orderby=views\n\n熟女最新::https://hanime.xxx/category/milf/<,page/{{page}}/>\n熟女评分::https://hanime.xxx/category/milf/<,page/{{page}}>/?m_orderby=rating\n熟女热门::https://hanime.xxx/category/milf/<,page/{{page}}>/?m_orderby=views",
    "sourceComment": "实现点击动态更新视频播放链接",
    "sourceGroup": "R18",
    "sourceIcon": "https://hanime.xxx/wp-content/uploads/2019/10/Logo-Hanime.png",
    "sourceName": "hanime.xxx 2.0",
    "sourceUrl": "https://hanime.xxx/hentai",
    "style": ""
  },
  {
    "articleStyle": 0,
    "customOrder": 164,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "🎞️ 影视,R18",
    "sourceIcon": "https://yingshi.tv/_next/static/media/Logo.e65b2aaa.svg",
    "sourceName": "影视TV",
    "sourceUrl": "https://yingshi.tv"
  },
  {
    "articleStyle": 0,
    "customOrder": 165,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "article",
    "ruleContent": "",
    "ruleImage": "script@all##.*?loadBannerDirect\\('(.*?)',.*?##$1###",
    "ruleLink": "meta.-2@content",
    "ruleNextPage": "page",
    "rulePubDate": "span@content",
    "ruleTitle": "text",
    "singleUrl": false,
    "sourceGroup": "R18",
    "sourceIcon": "https://img2.baidu.com/it/u=4040128745,1697488183&fm=253&fmt=auto&app=138&f=JPEG?w=889&h=500",
    "sourceName": "吃瓜网",
    "sourceUrl": "https://www.51cg7.com/category/wpcz/{{page}}/"
  },
  {
    "articleStyle": 0,
    "customOrder": 166,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": ".bloglist@ul@tr",
    "ruleContent": ".contentbox@all##上一篇(.|\\n)*",
    "ruleImage": "@js:\"https://i.postimg.cc/hGNSXMKC/2607ed0d2e13cdd461ef872ef28b84ae.png\"",
    "ruleLink": "li.0@a@href",
    "ruleNextPage": "text.下一页@href",
    "rulePubDate": "li.0@span@text",
    "ruleTitle": "li.0@a@title",
    "singleUrl": false,
    "sourceComment": "双数据\n自行将 标题  时间  链接\n0  改为  1\n就是另一个数据啦",
    "sourceGroup": "R18",
    "sourceIcon": "https://i.postimg.cc/jC0phSF2/1655351701239.png",
    "sourceName": "ii文学(必看源注释)",
    "sourceUrl": "https://233335.xyz/e/action/ListInfo/?classid=1"
  },
  {
    "articleStyle": 0,
    "customOrder": 166,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "📖 阅读,R18",
    "sourceIcon": "https://img1.baidu.com/it/u=1496571514,2586450180&fm=253&fmt=auto&app=138&f=PNG?w=120&h=120",
    "sourceName": "QQ阅读",
    "sourceUrl": "https://ubook.reader.qq.com"
  },
  {
    "articleStyle": 2,
    "customOrder": 167,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": ".recommended@.recommended-grids@.col-md-2",
    "ruleContent": ".photo_box@tag.img@src##\\n##\\$\n<js>\nli='\\n'\nlist=result.split('$')\nfor(i in list){\n\t\tli += '<li><img src=\"https://www.jokerlu6.pw/template/jokerlu/images/logo.png\" data-src=\"https://pic1.xuehuaimg.com/proxy/'+list[i]+'\"></li>\\n'\n\t}\nli\n</js>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\">\n\n\n<ul id=\"box\">\n{{result}}\n</ul>\n<h3>{{@@.song-info@h3@text}}</h3>\r\n<h6>{{@@id.myList@h4@text}}</h6>\n\n<link rel=\"stylesheet\" href=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.css\">\r\n<script src=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.js\"></script>\n<script>\n\troot = document.getElementById('box')\n\tlazy = new IntersectionObserver(entires => {\n\t\tentires.forEach(item => {\n\t\t\tif(item.isIntersecting){\n\t\t\t\titem=item.target\n\t\t\t\titem.src=item.getAttribute('data-src')\n\t\t\t\tlazy.unobserve(item)\n\t\t\t}\n\t\t})\n\t}, {\n\t\troot: root,\n\t\tthreshold: [0],\n\t\trootMargin:\"0px 0px 500px 0px\"\n\t})\n\nimgs = document.getElementsByTagName('img')\nArray.from(imgs).forEach(item => {\n\t\tlazy.observe(item)\n\t})\n\n//查看大图插件\nnew Viewer(root,{title:false,interval:3000})\n</script>",
    "ruleImage": "https://pic1.xuehuaimg.com/proxy/{{@@img@src}}",
    "ruleLink": "a.0@href",
    "ruleNextPage": ".mbyc.-2@a@href",
    "rulePubDate": ".time@p@text",
    "ruleTitle": ".title@text",
    "singleUrl": false,
    "sortUrl": "性感激情::https://www.jokerlu6.pw/index.php/arttype/112.html\n美女图::https://www.jokerlu6.pw/index.php/arttype/76.html\n清凉写真::https://www.jokerlu6.pw/index.php/arttype/110.html\n丝袜美腿::https://www.jokerlu6.pw/index.php/arttype/111.html\r\n欧美写真::https://www.jokerlu6.pw/index.php/arttype/113.html\r\n亚洲美女::https://www.jokerlu6.pw/index.php/arttype/77.html\r\n欧美美女::https://www.jokerlu6.pw/index.php/arttype/78.html\r\n素人正妹::https://www.jokerlu6.pw/index.php/arttype/79.html\r\nCOSPLAY::https://www.jokerlu6.pw/index.php/arttype/80.html",
    "sourceComment": "免费的图片代理xuehuaimg.com 可代理 jpg gif,可用性未知",
    "sourceGroup": "R18",
    "sourceIcon": "https://i.postimg.cc/pTbSBG9m/IMG-20220808-222629.jpg",
    "sourceName": "jokerlu",
    "sourceUrl": "https://www.jokerlu6.pw/",
    "style": "* {\n\tmargin: 0;\n\tpadding: 0\n}\nul {\n\tfont-size: 0;\n\theight: 100%;\n\toverflow-y: scroll\n}\nli {\n\tlist-style: none;\n\ttext-align: center\n}\nimg {\n\twidth: 100%;\n\theight: auto\n}"
  },
  {
    "articleStyle": 1,
    "customOrder": 168,
    "enableJs": true,
    "enabled": false,
    "enabledCookieJar": false,
    "header": "",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": ".myvod@ul@li",
    "ruleContent": "tag.script.7@all##.*\"url\":\"(.*?)\".*##$1\n<js>result.replace(/\\\\/g,\"\")</js>\n<video src=\"{{result}}\" width=\"100%\" height=\"auto\" controls></video>",
    "ruleImage": "img@data-original",
    "ruleLink": "a@href",
    "ruleNextPage": "page",
    "rulePubDate": "p.vodtitle@text",
    "ruleTitle": "h4@text",
    "singleUrl": false,
    "sortUrl": "视频一区::http://mb4.cms10demo.com/index.php/vod/type/id/20/page/{{page}}.html\n视频二区::http://mb4.cms10demo.com/index.php/vod/type/id/21/page/{{page}}.html\n视频三区::http://mb4.cms10demo.com/index.php/vod/type/id/22/page/{{page}}.html\n国产情色::http://mb4.cms10demo.com/index.php/vod/type/id/23/page/{{page}}.html\n主播直播::http://mb4.cms10demo.com/index.php/vod/type/id/24/page/{{page}}.html\n动漫里番::http://mb4.cms10demo.com/index.php/vod/type/id/25/page/{{page}}.html\n日韩综合::http://mb4.cms10demo.com/index.php/vod/type/id/26/page/{{page}}.html\n欧美性爱::http://mb4.cms10demo.com/index.php/vod/type/id/27/page/{{page}}.html\n中文字幕::http://mb4.cms10demo.com/index.php/vod/type/id/28/page/{{page}}.html\n强奸乱伦::http://mb4.cms10demo.com/index.php/vod/type/id/29/page/{{page}}.html\n制服黑丝::http://mb4.cms10demo.com/index.php/vod/type/id/30/page/{{page}}.html\n巨乳美乳::http://mb4.cms10demo.com/index.php/vod/type/id/31/page/{{page}}.html\n变态调教::http://mb4.cms10demo.com/index.php/vod/type/id/32/page/{{page}}.html\n自拍偷拍::http://mb4.cms10demo.com/index.php/vod/type/id/33/page/{{page}}.html\n熟女人妻::http://mb4.cms10demo.com/index.php/vod/type/id/34/page/{{page}}.html\n日本无码::http://mb4.cms10demo.com/index.php/vod/type/id/35/page/{{page}}.html\n日本有码::http://mb4.cms10demo.com/index.php/vod/type/id/36/page/{{page}}.html\n少女萝莉::http://mb4.cms10demo.com/index.php/vod/type/id/37/page/{{page}}.html\n三级伦理::http://mb4.cms10demo.com/index.php/vod/type/id/38/page/{{page}}.html\n明星偶像::http://mb4.cms10demo.com/index.php/vod/type/id/39/page/{{page}}.html\n美女模特::http://mb4.cms10demo.com/index.php/vod/type/id/40/page/{{page}}.html\nAI换脸::http://mb4.cms10demo.com/index.php/vod/type/id/41/page/{{page}}.html\n搜索::http://mb4.cms10demo.com/index.php/vod/search/page/{{page}}/wd/{{source.getVariable()}}.html",
    "sourceGroup": "R18",
    "sourceIcon": "https://telegraph.eowo.us//file/130785a661afeda5af8c3.png",
    "sourceName": "demo",
    "sourceUrl": "http://mb4.cms10demo.com/"
  },
  {
    "articleStyle": 0,
    "customOrder": 169,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginUrl": "https://qq.com.lsck-jump.xyz?uid=41155",
    "ruleArticles": ".pic-grid-item||.column",
    "ruleContent": "",
    "ruleImage": "img@src",
    "ruleLink": "a.0@href##$##,{'webView': true}",
    "ruleNextPage": "page",
    "rulePubDate": "{{@.is-size-7.0@a.1@text}}{{@.is-size-7.2@a.1@text}}{{@.is-size-7.0@textNodes##\\n}}",
    "ruleTitle": "span@text",
    "singleUrl": false,
    "sortUrl": "视频::https://qq.com.lsck.xyz/list?pid=0&page={{page}},{'webView': true}\n\n美图::https://qq.com.lsck.xyz/list?pid=2&page={{page}},{'webView': true}\n\n漫画::https://qq.com.lsck.xyz/list?pid=3&page={{page}},{'webView': true}\n\n小说::https://qq.com.lsck.xyz/list?pid=1&page={{page}},{'webView': true}\n\n视频搜索::https://qq.com.lsck.xyz/search?pid=0&keyword={{(source.getVariable()==''||source.getVariable()==null)?source.setVariable('熟女'):\"\"}}{{source.getVariable()}}&page={{page}},{'webView': true}\n\n小说搜索::https://qq.com.lsck.xyz/search?pid=1&keyword={{(source.getVariable()==''||source.getVariable()==null)?source.setVariable('萝莉'):\"\"}}{{source.getVariable()}}&page={{page}},{'webView': true}\n\n美图搜索::https://qq.com.lsck.xyz/search?pid=2&keyword={{(source.getVariable()==''||source.getVariable()==null)?source.setVariable('萝莉'):\"\"}}{{source.getVariable()}}&page={{page}},{'webView': true}\n\n漫画搜索::https://qq.com.lsck.xyz/search?pid=3&keyword={{(source.getVariable()==''||source.getVariable()==null)?source.setVariable('萝莉'):\"\"}}{{source.getVariable()}}&page={{page}},{'webView': true}",
    "sourceComment": "地址发布页\nhttps://qq.com.lsck-fabuye.xyz\n\n视频无法播放，直接打开本订阅源👉右上角三点👉登陆👉切换账号\n用户名\nsun919\n\n密码\n371323\n\n都是完美无限观看了的",
    "sourceGroup": "R18",
    "sourceIcon": "https://img0.baidu.com/it/u=630899170,2086123604&fm=253&fmt=auto&app=138&f=JPEG?w=333&h=500",
    "sourceName": "绿色仓库(视图文漫请看源注释)",
    "sourceUrl": "https://qq.com.lsck.xyz"
  },
  {
    "articleStyle": 0,
    "customOrder": 170,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "html",
    "ruleContent": "class.waterfall@html",
    "ruleLink": "html",
    "ruleTitle": "text",
    "singleUrl": false,
    "sourceGroup": "R18",
    "sourceIcon": "https://img0.baidu.com/it/u=3594725999,1437276298&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=281",
    "sourceName": "50美图库（制作完成）",
    "sourceUrl": "https://xn---50ppiccom-xr7r588tmbm.www-50ppic.com/?fuli.one"
  },
  {
    "articleStyle": 1,
    "customOrder": 171,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": ".blog",
    "ruleContent": "video@all",
    "ruleImage": "img@data-src",
    "ruleLink": "h3@data-id",
    "ruleNextPage": "page",
    "rulePubDate": "h4.1@text",
    "ruleTitle": "h3@text",
    "singleUrl": false,
    "sortUrl": "最新a片::http://fangsung.com/a片/3?page={{page}}\n日本精品::http://fangsung.com/a片/3?type=日本精品&source=3&page={{page}}\n精品推荐::http://fangsung.com/a片/3?type=精品推荐&source=3&page={{page}}\n国产色情::http://fangsung.com/a片/3?type=国产色情&source=3&page={{page}}\n主播直播::http://fangsung.com/a片/3?type=主播直播&source=3&page={{page}}\n亚洲无码::http://fangsung.com/a片/3?type=亚洲无码&source=3&page={{page}}\n中文字幕::http://fangsung.com/a片/3?type=中文字幕&source=3&page={{page}}\n巨乳美乳::http://fangsung.com/a片/3?type=巨乳美乳&source=3&page={{page}}\n人妻熟女::http://fangsung.com/a片/3?type=人妻熟女&source=3&page={{page}}\n强奸乱伦::http://fangsung.com/a片/3?type=强奸乱伦&source=3&page={{page}}\n欧美精品::http://fangsung.com/a片/3?type=欧美精品&source=3&page={{page}}\n萝莉少女::http://fangsung.com/a片/3?type=萝莉少女&source=3&page={{page}}\n伦理三级::http://fangsung.com/a片/3?type=伦理三级&source=3&page={{page}}\n成人动漫::http://fangsung.com/a片/3?type=成人动漫&source=3&page={{page}}\n自拍偷拍::http://fangsung.com/a片/3?type=自拍偷拍&source=3&page={{page}}\n制服丝袜::http://fangsung.com/a片/3?type=制服丝袜&source=3&page={{page}}\n口交颜射::http://fangsung.com/a片/3?type=口交颜射&source=3&page={{page}}\nCosplay::http://fangsung.com/a片/3?type=Cosplay&source=3&page={{page}}\n素人自拍::http://fangsung.com/a片/3?type=素人自拍&source=3&page={{page}}\n台湾辣妹::http://fangsung.com/a片/3?type=台湾辣妹&source=3&page={{page}}\n韩国御姐::http://fangsung.com/a片/3?type=韩国御姐&source=3&page={{page}}\n唯美港姐::http://fangsung.com/a片/3?type=唯美港姐&source=3&page={{page}}\n东南亚AV::http://fangsung.com/a片/3?type=东南亚AV&source=3&page={{page}}\n欺辱凌辱::http://fangsung.com/a片/3?type=欺辱凌辱&source=3&page={{page}}\n剧情介绍::http://fangsung.com/a片/3?type=剧情介绍&source=3&page={{page}}\n多人多P::http://fangsung.com/a片/3?type=多人多P&source=3&page={{page}}\n91探花::http://fangsung.com/a片/3?type=91探花&source=3&page={{page}}\n网红流出::http://fangsung.com/a片/3?type=网红流出&source=3&page={{page}}\n野外露出::http://fangsung.com/a片/3?type=野外露出&source=3&page={{page}}\n古装扮演::http://fangsung.com/a片/3?type=古装扮演&source=3&page={{page}}\n女优系列::http://fangsung.com/a片/3?type=女优系列&source=3&page={{page}}\n可爱学生::http://fangsung.com/a片/3?type=可爱学生&source=3&page={{page}}\n风情旗袍::http://fangsung.com/a片/3?type=风情旗袍&source=3&page={{page}}\n兽耳系列::http://fangsung.com/a片/3?type=兽耳系列&source=3&page={{page}}\n瑜伽裤::http://fangsung.com/a片/3?type=瑜伽裤&source=3&page={{page}}\n闷骚护士::http://fangsung.com/a片/3?type=闷骚护士&source=3&page={{page}}\n过膝袜::http://fangsung.com/a片/3?type=过膝袜&source=3&page={{page}}\n网曝门::http://fangsung.com/a片/3?type=网曝门&source=3&page={{page}}\n传媒出品::http://fangsung.com/a片/3?type=传媒出品&source=3&page={{page}}\n女同性恋::http://fangsung.com/a片/3?type=女同性恋&source=3&page={{page}}\n男同性恋::http://fangsung.com/a片/3?type=男同性恋&source=3&page={{page}}\n恋腿狂魔::http://fangsung.com/a片/3?type=恋腿狂魔&source=3&page={{page}}\n亚洲有码::http://fangsung.com/a片/3?type=亚洲有码&source=3&page={{page}}",
    "sourceGroup": "R18,18",
    "sourceIcon": "http://fangsung.com/themes/fangsung/assets/img/favicon.ico",
    "sourceName": "A片",
    "sourceUrl": "http://fangsung.com"
  },
  {
    "articleStyle": 1,
    "concurrentRate": "",
    "customOrder": 172,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.post",
    "ruleContent": "@js:\nvar doc = org.jsoup.Jsoup.parse(result);\nvar title = String(doc.select(\"h1\").text()).replace(/18AV.*/,'');\nvar path = String(doc).match(/php\\?id=(\\w{10,30})/)[1];\nvar obj = path.match(/(\\d+)_(\\w+?)_(\\w+)/);\nvar src = \"https://fc.imgscloud.com/\"+obj[2]+\"/\"+obj[3]+\"/\"+obj[3]+\".m3u8\";\n//界面\nhtml='<head><link href=\"//cdn.staticfile.org/dplayer/1.25.0/DPlayer.min.css\" rel=\"stylesheet\"><script src=\"//cdn.staticfile.org/dplayer/1.25.0/DPlayer.min.js\"></script></head><div id=\"dplayer\" style=\"width:100%;height:280px\"></div><script>(function (){var dplayer = new DPlayer({element:document.getElementById(\"dplayer\"),autoplay: true,lang: \\'zh-cn\\',video: {url: \\\"'+src+'\\\"}});})()</script><div>播放地址:<div class=\"dz\">'+src+'</div></div>'\nresult = '<h4>'+title+'</h4>'+ html",
    "ruleImage": "tag.img@src",
    "ruleLink": "a@href",
    "ruleNextPage": "class.fa@tag.a@href",
    "ruleTitle": "a@text",
    "singleUrl": false,
    "sortUrl": "随机::https://maa1812.com/zh/uncensored_random/all/index.html\n无码中文::https://maa1812.com/zh/uncensored_list/all/1.html\n无修正::https://maa1812.com/18av_all.html\n一本道::https://maa1812.com/zh/uncensored_makersr/32/%E4%B8%80%E6%9C%AC%E9%81%93(1pondo)/1.html\n加勒比1::https://maa1812.com/zh/uncensored_makersr/30/%E3%82%AB%E3%83%AA%E3%83%93%E3%82%A2%E3%83%B3%E3%82%B3%E3%83%A0(Caribbeancom)/1.html\n加勒比2::https://maa1812.com/zh/uncensored_makersr/40/%E3%82%AB%E3%83%AA%E3%83%93%E3%82%A2%E3%83%B3%E3%82%B3%E3%83%A0PPV(Caribbeancompr)/1.html\nheyzo::https://maa1812.com/zh/uncensored_makersr/17/HEYZO/1.html\n天然素人::https://maa1812.com/zh/uncensored_makersr/31/%E5%A4%A9%E7%84%B6%E3%82%80%E3%81%99%E3%82%81(10musume)/1.html\ngachin娘::https://maa1812.com/zh/uncensored_makersr/35/%E3%82%AC%E3%83%81%E3%82%93%E5%A8%98%EF%BC%81(Gachinco)/1.html\n东京热::https://maa1812.com/zh/uncensored_makersr/29/%E6%9D%B1%E4%BA%AC%E7%86%B1(Tokyo%20Hot)/1.html\nパコパコママ::https://maa1812.com/zh/uncensored_makersr/36/%E3%83%91%E3%82%B3%E3%83%91%E3%82%B3%E3%83%9E%E3%83%9E(pacopacomama)/1.html\nエッチな4610::https://maa1812.com/zh/uncensored_makersr/34/%E3%82%A8%E3%83%83%E3%83%81%E3%81%AA4610/1.html\nエッチな0931::https://maa1812.com/zh/uncensored_makersr/39/%E3%82%A8%E3%83%83%E3%83%81%E3%81%AA0930/1.html\n人妻斩::https://maa1812.com/zh/uncensored_makersr/38/%E4%BA%BA%E5%A6%BB%E6%96%AC%E3%82%8A0930/1.html\nxxx,av::https://maa1812.com/zh/uncensored_makersr/126/%E3%83%88%E3%83%AA%E3%83%97%E3%83%AB%E3%82%A8%E3%83%83%E3%82%AF%E3%82%B9%20(XXX-AV)/1.html",
    "sourceComment": "22＊10＊02  更新   退出重进为随机\n\n通过电子邮件自动回覆获取网址与本頁面訊息同步\n请发送邮件到 ebnrks87@gmail.com 获取最新网站网址。\n\n导航    https://aabb1802.com/",
    "sourceGroup": "R18",
    "sourceIcon": "https://s1.ax1x.com/2020/10/04/0GP0yD.png",
    "sourceName": "18(1812)重新校正",
    "sourceUrl": "https://maa1812.com/",
    "style": ".dz {\nwidth:100%; \npadding:5px 0;\nborder:solid; \nborder-radius:5px;\noverflow:scroll;\nbackground-color:#dddddd\n}"
  },
  {
    "articleStyle": 0,
    "customOrder": 173,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "🎞️ 影视,R18",
    "sourceIcon": "http://m.aikantv.org/favicon.ico",
    "sourceName": "爱看TV",
    "sourceUrl": "http://m.aikantv.org"
  },
  {
    "articleStyle": 1,
    "customOrder": 174,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": ".aspect-ratio",
    "ruleContent": "class.max-width-md margin-x-auto margin-bottom-lg@all",
    "ruleImage": "img@data-src",
    "ruleLink": "a@href",
    "ruleNextPage": "",
    "rulePubDate": ".card-video__duration@text",
    "ruleTitle": "img@alt",
    "singleUrl": false,
    "sortUrl": "中國AV::https://ppp.porn/categories/china-av/\n日本片商::https://ppp.porn/categories/japan-producer/\n素人自拍::https://ppp.porn/categories/amateur/\n中國::https://ppp.porn/categories/china/\n台灣::https://ppp.porn/categories/taiwan/\n日本::https://ppp.porn/categories/japan/\n東南亞::https://ppp.porn/categories/se-asia/\n韓國::https://ppp.porn/categories/korea/\n香港::https://ppp.porn/categories/hongkong/\nCosplay::https://ppp.porn/categories/cosplay/\n主播::https://ppp.porn/categories/streamer/\n主觀視角::https://ppp.porn/categories/first-person-pov/\n凌辱::https://ppp.porn/categories/bdsm/\n劇情::https://ppp.porn/categories/drama/\n多P::https://ppp.porn/categories/threesome/\n探花::https://ppp.porn/categories/91-tanhua/\n流出::https://ppp.porn/categories/leaked/\n無碼::https://ppp.porn/categories/uncensored/\n野外露出::https://ppp.porn/categories/exhibitionists/\nOL::https://ppp.porn/categories/office-lady/\n動漫::https://ppp.porn/categories/acg/\n古裝::https://ppp.porn/categories/costume/\n女僕::https://ppp.porn/categories/maid/\n學生::https://ppp.porn/categories/student/\n旗袍::https://ppp.porn/categories/cheongsam/\n獸耳::https://ppp.porn/categories/kemonomimi/\n瑜伽褲::https://ppp.porn/categories/yoga-pants/\n真理褲::https://ppp.porn/categories/dolfin-shorts/\n絲襪::https://ppp.porn/categories/pantyhose/\n護士::https://ppp.porn/categories/nurse/\n過膝襪::https://ppp.porn/categories/knee-socks/",
    "sourceGroup": "R18",
    "sourceIcon": "https://i.postimg.cc/q7MH2x2p/IMG-20220716-132525.jpg",
    "sourceName": "P站",
    "sourceUrl": "https://ppp.porn/",
    "style": "video{width:100%}img{width:100%}"
  },
  {
    "articleStyle": 2,
    "customOrder": 175,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": ".item",
    "ruleContent": "<js>\nresult = java.getString(\"//script/text()\").match(/video_url[^']+?'([^']+?)'/)[1];\nresult = \"<video src=\\\"\" + result + \"\\\" width=\\\"100%\\\" height=\\\"280px\\\" controls=\\\"controls\\\" ></video>\";\nresult = \"<html><head><meta charset=\\\"utf-8\\\"><meta name=\\\"viewport\\\" content=\\\"width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no\\\" /><style>html,body{background-color:black;margin:0;padding:0;width:100%;}</style></head><body>\" +result + \"</body></html>\"\n</js>",
    "ruleImage": "img@data-original",
    "ruleLink": "a@href",
    "ruleNextPage": "",
    "rulePubDate": ".duration@text",
    "ruleTitle": "img@alt",
    "singleUrl": false,
    "sortUrl": "台灣::https://85tube.com/categories/tai-wan/\n泰國::https://85tube.com/categories/tai-guo/\n自拍::https://85tube.com/categories/zi-pai/\n越南::https://85tube.com/categories/yue-nan/\n近拍::https://85tube.com/categories/jin-pai/\n日本::https://85tube.com/categories/ri-ben/\n中國::https://85tube.com/categories/zhong-guo/\n偷拍::https://85tube.com/categories/tou-pai/\n韓國::https://85tube.com/categories/han-guo/\n香港::https://85tube.com/categories/xiang-gang/\n新馬::https://85tube.com/categories/xin-ma/\n街拍::https://85tube.com/categories/jie-pai/",
    "sourceGroup": "R18",
    "sourceIcon": "https://i.postimg.cc/3NHQTJpJ/1658938308728.png",
    "sourceName": "85Tube",
    "sourceUrl": "https://85tube.com/"
  },
  {
    "articleStyle": 0,
    "customOrder": 176,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "🎲 娱乐,R18",
    "sourceIcon": "https://www.vgtime.com/resources/img/favicon.ico",
    "sourceName": "游戏时光",
    "sourceUrl": "https://www.vgtime.com"
  },
  {
    "articleStyle": 0,
    "customOrder": 176,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "",
    "ruleContent": "",
    "ruleDescription": "",
    "ruleImage": "",
    "ruleLink": "",
    "rulePubDate": "",
    "ruleTitle": "",
    "singleUrl": true,
    "sourceGroup": "📰 资讯,R18",
    "sourceIcon": "https://static.gcores.com/assets/52fcb59ad1e09abecec58d39da6731cb.jpg",
    "sourceName": "机核GCORES",
    "sourceUrl": "https://www.gcores.com"
  },
  {
    "articleStyle": 0,
    "customOrder": 177,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "",
    "ruleContent": "",
    "ruleImage": "",
    "ruleLink": "",
    "rulePubDate": "",
    "ruleTitle": "",
    "singleUrl": true,
    "sortUrl": "",
    "sourceGroup": "📰 资讯,R18",
    "sourceIcon": "http://m.qdaily.com/images/logo.jpg",
    "sourceName": "好奇心日报",
    "sourceUrl": "http://m.qdaily.com/mobile/homes.html"
  },
  {
    "articleStyle": 0,
    "customOrder": 177,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "",
    "ruleImage": "",
    "ruleLink": "",
    "ruleNextPage": "",
    "rulePubDate": "",
    "ruleTitle": "",
    "singleUrl": true,
    "sourceGroup": "🎲 娱乐,R18",
    "sourceIcon": "http://www.gamelook.com.cn/wp-content/uploads/2019/05/g003.png",
    "sourceName": "GameLook",
    "sourceUrl": "http://www.gamelook.com.cn"
  },
  {
    "articleStyle": 2,
    "concurrentRate": "",
    "customOrder": 178,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginUrl": "",
    "ruleArticles": "id.main@tag.li||$",
    "ruleContent": "id.allbtn@text##展开全图\\(1/|\\)\n<js>\nn=Number(result)+1\nu='{{@@id.nowimg@src##1\\.jpg$}}'\n\nlist='\\n'\nfor(i=1;i<n;i++){\n\t\tlist += '<li><img src=\"https://www.tuiimg.com/images/logo.png\" data-src=\"'+u+i+'.jpg\"></li>\\n'\n\t}\nlist\n</js>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\">\n\n\n<ul id=\"box\">\n{{result}}\n</ul>\n\n\n<link rel=\"stylesheet\" href=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.css\">\r\n<script src=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.js\"></script>\n<script>\n\troot = document.getElementById('box')\n\tlazy = new IntersectionObserver(entires => {\n\t\tentires.forEach(item => {\n\t\t\tif(item.isIntersecting){\n\t\t\t\titem=item.target\n\t\t\t\titem.src=item.getAttribute('data-src')\n\t\t\t\tlazy.unobserve(item)\n\t\t\t}\n\t\t})\n\t}, {\n\t\troot: root,\n\t\tthreshold: [0],\n\t\trootMargin:\"0px\"\n\t})\n\nimgs = document.getElementsByTagName('img')\nArray.from(imgs).forEach(item => {\n\t\tlazy.observe(item)\n\t})\n\n//查看大图插件\nnew Viewer(root,{title:false,interval:3000})\n</script>",
    "ruleImage": "tag.img@realsrc\n@js:\nresult?result:'https://i.tuiimg.net/{{$.catalog}}/{{$.id}}/mc.jpg'",
    "ruleLink": "tag.a@href\n@js:\nresult?result:'https://m.tuiimg.com/meinv/{{$.id}}/'",
    "ruleNextPage": "page",
    "rulePubDate": "{{$.time}}{{@@tag.span.0@text## 发布}} 发布　　喜欢({{$.love}}{{@@tag.span.1@text##(\\d+)##$1###}})",
    "ruleTitle": "tag.h2@text||$.title",
    "singleUrl": false,
    "sortUrl": "首页最新::https://m.tuiimg.com/data.php?page={{page}}\n性感美女::https://m.tuiimg.com/xingganmeinv/list_{{page}}.html\n清纯美女::https://m.tuiimg.com/qingchunmeinv/list_{{page}}.html\n妹子图集::https://m.tuiimg.com/meizitu/list_{{page}}.html\n美女写真::https://m.tuiimg.com/meinvxiezhen/list_{{page}}.html\n杨晨晨::https://m.tuiimg.com/tag/yangchenchen/list_{{page}}.html\n//标签\n美胸::https://m.tuiimg.com/tag/meixiong/list_{{page}}.html\n美臀::https://m.tuiimg.com/tag/meitun/list_{{page}}.html\n美腿::https://m.tuiimg.com/tag/meitui/list_{{page}}.html\n妩媚::https://m.tuiimg.com/tag/wumei/list_{{page}}.html\n爆乳::https://m.tuiimg.com/tag/baoru/list_{{page}}.html\n诱惑::https://m.tuiimg.com/tag/youhuo/list_{{page}}.html\n丰满::https://m.tuiimg.com/tag/fengman/list_{{page}}.html\n可爱::https://m.tuiimg.com/tag/keai/list_{{page}}.html\n嫩模::https://m.tuiimg.com/tag/nenmo/list_{{page}}.html\n甜美::https://m.tuiimg.com/tag/tianmei/list_{{page}}.html\n萌妹::https://m.tuiimg.com/tag/mengmei/list_{{page}}.html\n\n//平台\nROSI::https://m.tuiimg.com/rosi/list_{{page}}.html\n秀人网::https://m.tuiimg.com/xiuren/list_{{page}}.html\n尤蜜荟::https://m.tuiimg.com/tag/youmihui/list_{{page}}.html\n尤果网::https://m.tuiimg.com/tag/ugirls/list_{{page}}.html\n美媛馆::https://m.tuiimg.com/tag/myg/list_{{page}}.html\n魅妍社::https://m.tuiimg.com/tag/mistar/list_{{page}}.html\n爱蜜社::https://m.tuiimg.com/tag/imiss/list_{{page}}.html\n蜜桃社::https://m.tuiimg.com/tag/miitao/list_{{page}}.html\n模范学院::https://m.tuiimg.com/tag/mfstar/list_{{page}}.html\n尤物馆::https://m.tuiimg.com/tag/youwu/list_{{page}}.html\n星颜社::https://m.tuiimg.com/tag/xingyan/list_{{page}}.html\n嗲囡囡::https://m.tuiimg.com/tag/feilin/list_{{page}}.html\n花の颜::https://m.tuiimg.com/tag/huayan/list_{{page}}.html\n御女郎::https://m.tuiimg.com/tag/dkgirl/list_{{page}}.html\n花漾::https://m.tuiimg.com/tag/huayang/list_{{page}}.html\n网红馆::https://m.tuiimg.com/tag/candy/list_{{page}}.html\n第四印象::https://m.tuiimg.com/tag/disi/list_{{page}}.html\n头条女神::https://m.tuiimg.com/tag/toutiaogirls/list_{{page}}.html\n\n//更多分类请自己添加\n//https://m.tuiimg.com/tag/",
    "sourceComment": "v0.2\n更改正文模板\n优化key的获取\n\n\n原图标\nhttps://m.tuiimg.com/favicon.ico\n\n\n分类URL\n综合全部::https://m.tuiimg.com/meinv/list_{{page}}.html\n变量搜索::https://m.tuiimg.com/search/list_{{page}}.html,{'method':'POST','body': 'skey={{v=source.getVariable();(v!='',v!=null)?v:(source.setVariable('三度'),source.getVariable())}}'}",
    "sourceGroup": "R18",
    "sourceIcon": "https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fsafe-img.xhscdn.com%2Fbw1%2Fc3bbfee3-9309-4084-9eb4-e1a746791780%3FimageView2%2F2%2Fw%2F1080%2Fformat%2Fjpg&refer=http%3A%2F%2Fsafe-img.xhscdn.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1681571427&t=696226a72c7f07c9b48d508b042274ee",
    "sourceName": "推图网",
    "sourceUrl": "@js:\npage=org.jsoup.Jsoup.parse(\n\tjava.ajax('https://m.tuiimg.com/meinv')\n).select('.end').attr('href').match(/\\d+/)[0]\n'https://m.tuiimg.com/meinv/list_' + Math.ceil(Math.random()*page) + '.html'",
    "style": "* {\n\tmargin: 0;\n\tpadding: 0\n}\nul {\n\tfont-size: 0;\n\theight: 100%;\n\toverflow-y: scroll\n}\nli {\n\tlist-style: none;\n\ttext-align: center\n}\nimg {\n\twidth: 100%;\n\theight: auto\n}"
  },
  {
    "articleStyle": 1,
    "customOrder": 179,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.post",
    "ruleContent": "",
    "ruleImage": "tag.img@src",
    "ruleLink": "tag.a.0@href",
    "ruleNextPage": "class.page_next@tag.a@href",
    "rulePubDate": "{{@@class.date_y@text}}{{@@class.small-number@text}}",
    "ruleTitle": "tag.a.0@text",
    "singleUrl": false,
    "sortUrl": "古典民乐::http://www.52qingyin.cn/gudianminyue\n天籁钢琴::http://www.52qingyin.cn/tianlaigangqin\n经典配乐::http://www.52qingyin.cn/jingdianpeiyue\n浅吟心殇::http://www.52qingyin.cn/yinchang\n古风歌曲::http://www.52qingyin.cn/gufenggequ\n新世纪::http://www.52qingyin.cn/newage\n专辑推荐::http://www.52qingyin.cn/tag/zhuanjituijian\n网络美文::http://www.52qingyin.cn/wangluomeiwen\n网络投稿::http://www.52qingyin.cn/contribute\n音画插图::http://www.52qingyin.cn/yinhuatuwen",
    "sourceGroup": "📻 媒体,R18",
    "sourceIcon": "https://p3.ssl.qhimgs1.com/bdr/300_115_/t02f63c0e5683609e13.jpg",
    "sourceName": "清音陋屋",
    "sourceUrl": "http://www.52qingyin.cn",
    "style": ""
  },
  {
    "articleStyle": 0,
    "customOrder": 180,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "injectJs": "//选择需要删除的标签，以,分隔\nitems = document.querySelectorAll(`\n\t.notice-top,\n\t.navbar-nav>li:nth-child(n+3),\n\t.navbar-right,\n\t.anti-select,\n\t#show-qrcode,\n\t#ex-comment,\n\t.hidden-more\n`)\n\n//把选择的html值改成空\nArray.from(items,(item)=>{\n\titem.innerHTML = ``\n\titem.style.display = `none`\n})\n\n\n\n//上面是通用js，下面的不是\n//删除网站的随机广告\nitems = document.querySelectorAll('.item')\nif(items){\nArray.from(items,(item)=>{\nif(item.querySelector('.item-num').innerText == 'AD'){\n\t\titem.innerHTML = ``\n\t\titem.style.display = `none`\n\t}\n})\n}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "",
    "ruleContent": "",
    "ruleDescription": "",
    "ruleLink": "",
    "ruleTitle": "",
    "singleUrl": true,
    "sourceComment": "广告屏蔽测试，阅读版本需要22.11.08以上",
    "sourceGroup": "R18",
    "sourceIcon": "https://www.fulitu.cc/usr/themes/photograph/favicon.png",
    "sourceName": "福利兔",
    "sourceUrl": "https://www.fulitu.cc"
  },
  {
    "articleStyle": 0,
    "customOrder": 180,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "",
    "ruleDescription": "",
    "ruleImage": "",
    "ruleLink": "",
    "ruleNextPage": "",
    "rulePubDate": "",
    "ruleTitle": "",
    "singleUrl": true,
    "sortUrl": "",
    "sourceGroup": "📰 资讯,R18",
    "sourceIcon": "https://static.toodaylab.com/static/images/share-logo.jpg",
    "sourceName": "理想生活实验室",
    "sourceUrl": "https://www.toodaylab.com"
  },
  {
    "articleStyle": 0,
    "customOrder": 181,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "📖 阅读,R18",
    "sourceIcon": "https://p1.ssl.qhimgs1.com/t01c3bbb937fc25bdcb.png",
    "sourceName": "人人都是产品经理",
    "sourceUrl": "http://www.woshipm.com"
  },
  {
    "articleStyle": 1,
    "customOrder": 182,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.video-img-box",
    "ruleContent": "class.pb-e-lg-30@script.-1@all\n<js>\nresult=result.match(/http.*m3u8/)[0]</js>\n<video src=\"{{result}}\" width=\"100%\" height=\"auto\" controls></video>",
    "ruleImage": "img@data-src",
    "ruleLink": "a.0@href",
    "ruleNextPage": "page@href",
    "ruleTitle": "class.title@text",
    "singleUrl": false,
    "sortUrl": "搜索🕵️::https://jable.tv/search/{{source.getVariable()}}/\n\t过膝袜::https://jable.tv/tags/knee-socks/\n最新::https://jable.tv/latest-updates/\n最新上市::https://jable.tv/new-release/\n巨乳::https://jable.tv/tags/big-tits/\n美腿::https://jable.tv/tags/beautiful-leg/\n美穴::https://jable.tv/tags/beautiful-butt/\n软体::https://jable.tv/tags/flexible-body/\n白虎::https://jable.tv/tags/hairless-pussy/\n娇小::https://jable.tv/tags/dainty/\n长身::https://jable.tv/tags/tall/\t\t\n\t\n婚纱::https://jable.tv/tags/wedding-dress/\n热门::https://jable.tv/hot/\n肉丝::https://jable.tv/tags/flesh-toned-pantyhose/\n黑丝::https://jable.tv/tags/black-pantyhose/\n调教::https://jable.tv/categories/bdsm/\n凌辱::https://jable.tv/categories/rape/\n制服::https://jable.tv/categories/uniform/\n纹身::https://jable.tv/tags/tattoo/\n白虎::https://jable.tv/tags/hairless-pussy/\n萝莉::https://jable.tv/tags/loli/\n群交::https://jable.tv/categories/groupsex/\n女同::https://jable.tv/categories/lesbian/\n美腿::https://jable.tv/categories/pantyhose/\n偷拍::https://jable.tv/categories/hidden-cam/\n无码::https://jable.tv/categories/uncensored/\n视角::https://jable.tv/categories/pov/\n",
    "sourceGroup": "R18",
    "sourceIcon": "https://missuo.ru/file/ad803bf65990e583d71d6.png",
    "sourceName": "Jable(挂vpn)",
    "sourceUrl": "https://jable.tv/"
  },
  {
    "articleStyle": 0,
    "customOrder": 182,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "📰 资讯,R18",
    "sourceIcon": "https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=354824078,81693241&fm=26&gp=0.jpg",
    "sourceName": "品玩",
    "sourceUrl": "https://www.pingwest.com"
  },
  {
    "articleStyle": 0,
    "customOrder": 183,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "$.children",
    "ruleContent": "<html lang=\"en\" data-dpr=\"1\" style=\"font-size: 39.3091px;\"><head>\n    <meta charset=\"UTF-8\">\n    <link rel=\"stylesheet\" href=\"http://m.6yueting.com/css/play.css?v=1.0.2\">\n    <div class=\"outer-wrapper page-width\">\n        <div class=\"player page-width\">\n\n            <div class=\"top\">\n                <h2 class=\"title episode-name\">{{$..channel_name}}</h2>\n            </div>\n            <div class=\"background\">\n               <div class=\"background-mask\">\n                </div>\n            </div>\n            <div class=\"player-cover p-run\">\n                <img class=\"image\" src=\"{{$..cover_url}}\">\n            </div>\n            <div class=\"bottom\">\n                <div class=\"personalized\">\n                    <div class=\"item to-list-link\">\n<audio id=\"kugou\" height=\"100%\" width=\"100%\" controls=\"\" src=\"http://open.ls.qingting.fm/live/{{$..qt_channel_id}}/24k.m3u8?deviceid=652f2086-a7ae-3c71-afb1-ef1fd020ff23\"></audio>                  </div>\n                       </div>\n                </div>\n\n</body></html>",
    "ruleDescription": "",
    "ruleImage": "$..pic_large_url",
    "ruleLink": "https://fm.music.xiaomi.com{$..request_url}",
    "rulePubDate": "{{$..subtitle}}",
    "ruleTitle": "$.data..name",
    "singleUrl": false,
    "sortUrl": "国家台::https://fm.music.xiaomi.com/fm/v1/category/channel/370?pageType=%2Ffm_broadcast_list%2F%E5%B9%BF%E6%92%AD%2F%E5%9B%BD%E5%AE%B6%E5%8F%B0&version_info=%7B%22apk_version%22%3A%22230%22%2C%22apk_version_name%22%3A%221.0.230%22%2C%22device%22%3A%22platina%22%2C%22language%22%3A%22zh_CN%22%2C%22sys_verversion%22%3A%229_V10.3.7.0.PDTCNXM%22%7D&sign=2a57df4bf0b8a5e428b079783f529eeddac4f39d&nonce=9213596406902170431&i=37828e023677ad6e78e96f1c8506e8c4&oaid=56fbb3561e299e40&oaid_imei_both_have=true&ui_version=87&is_pad=false&miui_version=V10&package_name=com.miui.fm&support_fmservice=false\n交通台::https://fm.music.xiaomi.com/fm/v1/category/channel/401?pageType=%2Ffm_broadcast_list/广播/交通台&version_info=%7B%22apk_version%22%3A%22230%22%2C%22apk_version_name%22%3A%221.0.230%22%2C%22device%22%3A%22platina%22%2C%22language%22%3A%22zh_CN%22%2C%22sys_verversion%22%3A%229_V10.3.7.0.PDTCNXM%22%7D&sign=95a7b18a89cb3419d1b54658f25216aec5d4df21&nonce=-5530817897123709456&i=37828e023677ad6e78e96f1c8506e8c4&oaid=56fbb3561e299e40&oaid_imei_both_have=true&ui_version=87&is_pad=false&miui_version=V10&package_name=com.miui.fm&support_fmservice=false\n资讯广播::https://fm.music.xiaomi.com/fm/v1/category/channel/397?pageType=%2Ffm_broadcast_list%2F%E5%B9%BF%E6%92%AD%2F%E8%B5%84%E8%AE%AF%E5%8F%B0&version_info=%7B%22apk_version%22%3A%22230%22%2C%22apk_version_name%22%3A%221.0.230%22%2C%22device%22%3A%22platina%22%2C%22language%22%3A%22zh_CN%22%2C%22sys_verversion%22%3A%229_V10.3.7.0.PDTCNXM%22%7D&sign=bdabdf5fe65fe58bc800c2bcd9c3658e1847da6b&nonce=-5845902009413785201&i=37828e023677ad6e78e96f1c8506e8c4&oaid=56fbb3561e299e40&oaid_imei_both_have=true&ui_version=87&is_pad=false&miui_version=V10&package_name=com.miui.fm&support_fmservice=false",
    "sourceGroup": "🌐 媒体,R18",
    "sourceIcon": "http://i1.shaodiyejin.com/uploads/tu/201911/10133/743e1b888e_77.jpg",
    "sourceName": "广播电台",
    "sourceUrl": "https://fm.music.xiaomi.com/fm/"
  },
  {
    "articleStyle": 0,
    "customOrder": 184,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "$.itemList",
    "ruleContent": "",
    "ruleDescription": "<html><head><meta charset=\"utf-8\"><title>开眼</title><style>body{background-color:#8e8e8e}</style></head><body><a href=\"{{$.data.content.data.webUrl.raw||$.data.webUrl.raw}}\" style=\"color:#e0e0e0\">原文地址</a>\n<p style=\"text-align:center;color:#ffffff\"><strong>{{$.data.content.data.title||$.data.title}}</strong></p><video src=\"{{$.data.content.data.playUrl||$.data.playUrl}}\" width=\"350px\" height=\"200px\" controls=\"controls\"  poster=\"{{$.data.content.data.cover.feed||$.data.feed}}\"></video><p style=\"color:#f0f0f0;text-indent: 2em\">{{$.data.content.data.description||$.data.description}}</p></body></html>",
    "ruleImage": "$.data.content.data.cover.feed",
    "ruleLink": "$.data.text||$.data.content.data.webUrl.raw||$.data.web.raw",
    "ruleNextPage": "{{$.nextPageUrl}}&udid=187de68fafce4bcf8d6cca9e147574226a2e711e&vc=570&vn=6.0&size=1080X2255&deviceModel=JKM-AL00b&first_channel=eyepetizer_zhihuiyun_market&last_channel=eyepetizer_zhihuiyun_market&system_version_code=28",
    "rulePubDate": "$.data.header.description",
    "ruleTitle": "$.data.text||$.data.content.data.title||$.data.title",
    "singleUrl": false,
    "sortUrl": "日报::http://baobab.kaiyanapp.com/api/v5/index/tab/feed?udid=187de68fafce4bcf8d6cca9e147574226a2e711e&vc=570&vn=6.0&size=1080X2255&deviceModel=JKM-AL00b&first_channel=eyepetizer_zhihuiyun_market&last_channel=eyepetizer_zhihuiyun_market&system_version_code=28&&广告::http://baobab.kaiyanapp.com/api/v1/tag/videos?id=16&udid=187de68fafce4bcf8d6cca9e147574226a2e711e&vc=570&vn=6.0&size=1080X2255&deviceModel=JKM-AL00b&first_channel=eyepetizer_zhihuiyun_market&last_channel=eyepetizer_zhihuiyun_market&system_version_code=28&&剧情::http://baobab.kaiyanapp.com/api/v1/tag/videos?id=12&udid=187de68fafce4bcf8d6cca9e147574226a2e711e&vc=570&vn=6.0&size=1080X2255&deviceModel=JKM-AL00b&first_channel=eyepetizer_zhihuiyun_market&last_channel=eyepetizer_zhihuiyun_market&system_version_code=28&&运动::http://baobab.kaiyanapp.com/api/v1/tag/videos?id=1022&udid=187de68fafce4bcf8d6cca9e147574226a2e711e&vc=570&vn=6.0&size=1080X2255&deviceModel=JKM-AL00b&first_channel=eyepetizer_zhihuiyun_market&last_channel=eyepetizer_zhihuiyun_market&system_version_code=28&&创意::http://baobab.kaiyanapp.com/api/v1/tag/videos?id=2&udid=187de68fafce4bcf8d6cca9e147574226a2e711e&vc=570&vn=6.0&size=1080X2255&deviceModel=JKM-AL00b&first_channel=eyepetizer_zhihuiyun_market&last_channel=eyepetizer_zhihuiyun_market&system_version_code=28&&旅行::http://baobab.kaiyanapp.com/api/v1/tag/videos?id=1019&udid=187de68fafce4bcf8d6cca9e147574226a2e711e&vc=570&vn=6.0&size=1080X2255&deviceModel=JKM-AL00b&first_channel=eyepetizer_zhihuiyun_market&last_channel=eyepetizer_zhihuiyun_market&system_version_code=28&&记录::http://baobab.kaiyanapp.com/api/v1/tag/videos?id=24&udid=187de68fafce4bcf8d6cca9e147574226a2e711e&vc=570&vn=6.0&size=1080X2255&deviceModel=JKM-AL00b&first_channel=eyepetizer_zhihuiyun_market&last_channel=eyepetizer_zhihuiyun_market&system_version_code=28&&音乐::http://baobab.kaiyanapp.com/api/v1/tag/videos?id=1018&udid=187de68fafce4bcf8d6cca9e147574226a2e711e&vc=570&vn=6.0&size=1080X2255&deviceModel=JKM-AL00b&first_channel=eyepetizer_zhihuiyun_market&last_channel=eyepetizer_zhihuiyun_market&system_version_code=28&&影视::http://baobab.kaiyanapp.com/api/v1/tag/videos?id=1025&udid=187de68fafce4bcf8d6cca9e147574226a2e711e&vc=570&vn=6.0&size=1080X2255&deviceModel=JKM-AL00b&first_channel=eyepetizer_zhihuiyun_market&last_channel=eyepetizer_zhihuiyun_market&system_version_code=28&&科技::http://baobab.kaiyanapp.com/api/v1/tag/videos?id=1024&udid=187de68fafce4bcf8d6cca9e147574226a2e711e&vc=570&vn=6.0&size=1080X2255&deviceModel=JKM-AL00b&first_channel=eyepetizer_zhihuiyun_market&last_channel=eyepetizer_zhihuiyun_market&system_version_code=28&&开胃::http://baobab.kaiyanapp.com/api/v1/tag/videos?id=1020&udid=187de68fafce4bcf8d6cca9e147574226a2e711e&vc=570&vn=6.0&size=1080X2255&deviceModel=JKM-AL00b&first_channel=eyepetizer_zhihuiyun_market&last_channel=eyepetizer_zhihuiyun_market&system_version_code=28&&游戏::http://baobab.kaiyanapp.com/api/v1/tag/videos?id=30&udid=187de68fafce4bcf8d6cca9e147574226a2e711e&vc=570&vn=6.0&size=1080X2255&deviceModel=JKM-AL00b&first_channel=eyepetizer_zhihuiyun_market&last_channel=eyepetizer_zhihuiyun_market&system_version_code=28&&搞笑::http://baobab.kaiyanapp.com/api/v1/tag/videos?id=140&udid=187de68fafce4bcf8d6cca9e147574226a2e711e&vc=570&vn=6.0&size=1080X2255&deviceModel=JKM-AL00b&first_channel=eyepetizer_zhihuiyun_market&last_channel=eyepetizer_zhihuiyun_market&system_version_code=28&&时尚::http://baobab.kaiyanapp.com/api/v1/tag/videos?id=26&udid=187de68fafce4bcf8d6cca9e147574226a2e711e&vc=570&vn=6.0&size=1080X2255&deviceModel=JKM-AL00b&first_channel=eyepetizer_zhihuiyun_market&last_channel=eyepetizer_zhihuiyun_market&system_version_code=28&&综艺::http://baobab.kaiyanapp.com/api/v1/tag/videos?id=28&udid=187de68fafce4bcf8d6cca9e147574226a2e711e&vc=570&vn=6.0&size=1080X2255&deviceModel=JKM-AL00b&first_channel=eyepetizer_zhihuiyun_market&last_channel=eyepetizer_zhihuiyun_market&system_version_code=28&&生活::http://baobab.kaiyanapp.com/api/v1/tag/videos?id=666&udid=187de68fafce4bcf8d6cca9e147574226a2e711e&vc=570&vn=6.0&size=1080X2255&deviceModel=JKM-AL00b&first_channel=eyepetizer_zhihuiyun_market&last_channel=eyepetizer_zhihuiyun_market&system_version_code=28",
    "sourceGroup": "📰 资讯,R18",
    "sourceIcon": "https://mip-haote-com.mipcdn.com/i/s/img.haote.com/upload/info/20170621/1498024249458069.png",
    "sourceName": "开眼",
    "sourceUrl": "http://baobab.kaiyanapp.com/api/v1/tag/videos?id=12&udid=187de68fafce4bcf8d6cca9e147574226a2e711e&vc=570&vn=6.0&size=1080X2255&deviceModel=JKM-AL00b&first_channel=eyepetizer_zhihuiyun_market&last_channel=eyepetizer_zhihuiyun_market&system_version_code=28"
  },
  {
    "articleStyle": 0,
    "customOrder": 185,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "",
    "ruleContent": "",
    "ruleDescription": "",
    "ruleImage": "",
    "ruleLink": "",
    "rulePubDate": "",
    "ruleTitle": "",
    "singleUrl": true,
    "sourceGroup": "📰 资讯,R18",
    "sourceIcon": "https://img3.doubanio.com/f/talion/7c6364aadf368dc0210173c940cfd0f64ceddc66/pics/icon/m_logo_200.png",
    "sourceName": "豆瓣",
    "sourceUrl": "https://m.douban.com/home_guide"
  },
  {
    "articleStyle": 0,
    "customOrder": 185,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "🗂️ 软件,R18",
    "sourceIcon": "https://www.rjsos.com/favicon.ico",
    "sourceName": "软件SOS",
    "sourceUrl": "https://www.rjsos.com"
  },
  {
    "articleStyle": 0,
    "customOrder": 186,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": ".excerpt",
    "ruleImage": "img@data-src",
    "ruleLink": "tag.a.1@href",
    "ruleNextPage": "text.下一页@href",
    "rulePubDate": "time@text",
    "ruleTitle": "h2@text",
    "singleUrl": false,
    "sortUrl": "玩机教程::https://www.yeyulingfeng.com/category/jishu/wjjc\n网站开发::https://www.yeyulingfeng.com/category/jishu/wzkf\nWordPress::https://www.yeyulingfeng.com/category/jishu/wordpress\n模板主题::https://www.yeyulingfeng.com/category/muban/wzmb\n网站源码::https://www.yeyulingfeng.com/category/muban/wzym\n手机应用::https://www.yeyulingfeng.com/category/ruan/sjyy\n电脑应用::https://www.yeyulingfeng.com/category/ruan/dnyy\niOS专区::https://www.yeyulingfeng.com/category/ruan/ios\n编译开发::https://www.yeyulingfeng.com/category/ruan/kaifa\n游戏::https://www.yeyulingfeng.com/category/pojie/game\n好片推荐::https://www.yeyulingfeng.com/category/qita/dianying\n最新活动::https://www.yeyulingfeng.com/category/huodong/xin\n科技资讯::https://www.yeyulingfeng.com/category/huodong/no1\n实用趣站::https://www.yeyulingfeng.com/category/qita/website\n零散资源::https://www.yeyulingfeng.com/category/qita/scattered\n谈天说地::https://www.yeyulingfeng.com/category/qita/tanhua",
    "sourceGroup": "🗂️ 软件,R18",
    "sourceIcon": "https://www.yeyulingfeng.com/favicon.ico",
    "sourceName": "夜雨聆风",
    "sourceUrl": "https://www.yeyulingfeng.com"
  },
  {
    "articleStyle": 0,
    "customOrder": 187,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": ".item",
    "ruleImage": "tag.img@data-original",
    "ruleLink": "tag.a.2@href",
    "ruleNextPage": ".next@href",
    "rulePubDate": "{{@@tag.a.1@text}} · {{@@tag.span.0@text}}",
    "ruleTitle": "tag.a.2@text",
    "singleUrl": false,
    "sortUrl": "//搜索项在“=”后面输入要找的内容\n最新::https://www.ghxi.com/category/all\n🔎搜索::https://www.ghxi.com/?s=\n安卓::https://www.ghxi.com/category/all/android\n电脑::https://www.ghxi.com/category/all/pcsoft\n补丁/注册机::https://www.ghxi.com/category/all/patch\n系统::https://www.ghxi.com/category/all/system?btwaf=21993210\n文章::https://www.ghxi.com/category/all/course",
    "sourceGroup": "🗂️ 软件,R18",
    "sourceIcon": "https://www.ghxi.com/favicon.ico",
    "sourceName": "果核剥壳",
    "sourceUrl": "https://www.ghxi.com"
  },
  {
    "articleStyle": 0,
    "customOrder": 188,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\"User-Agent\":\"Mozilla/5.0 (Linux; Android 10.0.0;  XXX Pro Build/MOB31T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36\"}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.container@class.col-md-3 col-xs-6",
    "ruleContent": "all## <script type=\"text/javascript\">var cnzz_protocol = [\\s\\S]+?</script> ",
    "ruleDescription": "",
    "ruleImage": "img@src",
    "ruleLink": "tag.a.0@href",
    "ruleNextPage": "class.pager@tag.a.-1@href",
    "rulePubDate": "class.table@span@text##\\n##·",
    "ruleTitle": "class.card-caption@text",
    "singleUrl": false,
    "sortUrl": "搜索用::https://www.yikm.net/search?name=三国\n\n\nGBA游戏::https://www.yikm.net/nes?page=1&tag=&e=2\n街机游戏::https://www.yikm.net/nes?page=1&tag=9\nH5游戏::https://www.yikm.net/nes?page=1&tag=1\n动作冒险::https://www.yikm.net/nes?page=1&tag=2\n小游戏::https://www.yikm.net/nes?page=1&tag=8\n飞行射击::https://www.yikm.net/nes?page=1&tag=3\n格斗::https://www.yikm.net/nes?page=1&tag=4\n棋牌::https://www.yikm.net/nes?page=1&tag=5\n射击::https://www.yikm.net/nes?page=1&tag=6\n运动比赛::https://www.yikm.net/nes?page=1&tag=7\n角色扮演::https://www.yikm.net/nes?page=1&tag=10",
    "sourceComment": "搜索栏“三国”改自己想搜的",
    "sourceGroup": "🎲 娱乐,R18",
    "sourceIcon": "http://srvcn.xbext.com/touch_icons/96x96/mobile.h5_games.png",
    "sourceName": "在线游戏（小霸王）",
    "sourceUrl": "https://www.yikm.net/nes?tag=9"
  },
  {
    "articleStyle": 0,
    "customOrder": 188,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "📰 资讯,R18",
    "sourceIcon": "https://p0.qhimg.com/t01922e79121dace8ba.png",
    "sourceName": "香哈",
    "sourceUrl": "https://m.xiangha.com"
  },
  {
    "articleStyle": 0,
    "customOrder": 189,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "📰 资讯,R18",
    "sourceIcon": "http://pub.szzhangchu.com/web/v4.2/images/logo.png",
    "sourceName": "掌厨",
    "sourceUrl": "http://h5.izhangchu.com"
  },
  {
    "articleStyle": 0,
    "concurrentRate": "",
    "customOrder": 190,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\n\t\"User-Agent\":\"Mozilla/5.0 (Linux; Android 8.0.0; MI 5s Plus Build/OPR1.170623.032; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/71.0.3578.99 Mobile Safari/537.36\"\n}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "<js>\njson=[];\nif(baseUrl.match(/ /)){\nlist=baseUrl.replace(/http.*?wd=\\s*/,'').split(' ');\nfor(i in list){\nhref=list[i].match(/【(.*?)】/)[1];\ntext=list[i].match(/《(.*?)》/)[1];\nintro=list[i].match(/◎(.*?)◎/)[1];\nindex=list[i].match(/^(\\d+、\\d+、)/)?list[i].match(/^(\\d+、\\d+、)/)[1]:list[i].match(/^(.*?)【/)[1]\njson.push({text:text,src:href,intro:intro,index:index})\n}\n}\nJSON.stringify(json)</js>\n$.[*]",
    "ruleContent": "",
    "ruleDescription": "",
    "ruleImage": "$.src",
    "ruleLink": "$.index",
    "ruleNextPage": "",
    "rulePubDate": "$.intro",
    "ruleTitle": "$.text",
    "singleUrl": false,
    "sortUrl": "📽-影视▪️影院::https://www.bookofp.com/zh/celebrities/【https://i.postimg.cc/mDR2L1K2/de6a398e2e6f25cd8fea8814651e2403.png】《Bookofp》◎电影视频网站◎ https://celebjihad.com/main6#【https://i.postimg.cc/vm94gCPb/1658321960709.png】《Celebjihad》◎在线影院◎ https://videocelebs.net/【https://i.postimg.cc/TY1ppsLs/1657177866100.png】《Videocelebs》◎电影视频网站◎ https://theync.com/【https://i.postimg.cc/kXWX6dMf/1657464485475.png】《Theync》◎在线视频站◎ https://vlxx.health/【https://i.postimg.cc/P5mpjw8f/1657171372253.png】《Vlxx.health》◎在线影院◎ https://www.libvio.me/【https://i.postimg.cc/rm55ZPCj/141e2972743b1e14db0c2fe409fd3fda.png】《Libvio》◎境外网站◎ https://www.taolix.com/#【https://i.postimg.cc/wTyGx6Vb/1657028424447.png】《Taolix》◎在线影院◎ https://www.ikanbot.com/【https://i.postimg.cc/FzfgVSw5/1712108013346.png】《Ikanbot》◎影视直播◎ https://leziju.com/#/【https://i.postimg.cc/g2nmWwtX/1658047723416.png】《乐子剧场》◎在线影院◎ https://www.4kvm.net/【https://i.postimg.cc/W3n14BGh/1658839233937.png】《四千影视》◎在线影视◎ https://app.movie/【https://i.postimg.cc/X7QG7Cjn/1665130749332.png】《APP影院》◎在线影院◎ http://www.renren.pro/【https://i.postimg.cc/wMytDpgh/1657021317616.png】《人人影视》◎电影网站◎ https://www.pbpb.tv/【https://i.postimg.cc/23R879NV/1684120594080.png】《片吧影院》◎在线影院◎ https://xiaoyakankan.com/cat/15.html【https://i.postimg.cc/mDcjgkSX/76320d6e2a7204d959adfc3ed1c00cc4.png】《小鸭看看》◎在线影院◎ https://fullxcinema.com/category/celebrity-porn-videos/【https://i.postimg.cc/90YS3Vq5/1657217561547.png】《全电影网》◎电影网站◎\n☸-文娱▪️阅读::https://fap.bar/【https://i.postimg.cc/d3HR8qqW/1636542691088.png】《Fap.Bar》◎境外网站◎ https://swipefap.com/?ref=porndude【https://i.postimg.cc/1t1J7s2q/1637811407315.png】《SwipeFap》◎综合网站◎ https://www.sex.com/【https://i.postimg.cc/kGSc5QGT/1657418160867.png】《Sex.com》◎资源网站◎ https://viralporn.com/【https://i.postimg.cc/RFG93MDD/1711089357173.png】《Viralporn》◎红迪网精选内容◎ https://absolutewhores.com/#【https://i.postimg.cc/G2fd9G7s/1639307031234.png】《Absolutewhores》◎在线论坛精选◎ https://asmrs.us/【https://i.postimg.cc/7PzCvZQZ/60caf55a7c86f32a0ffd3252d718353e.png】《Asmrs~🎧》◎综合网站◎ http://www.cnnovel.xyz/【https://i.postimg.cc/0ynz9Dk2/1710992731262.png】《华语中文》◎在线音频◎ https://yazhouseba.co/mp3/【https://i.postimg.cc/brshQ1kj/1712109567059.png】《亚洲有声》◎综合网站◎ https://www.66.ca/forum.php?mod=forumdisplay&fid=56&filter=heat&orderby=heats&sortall=1&mobile=2【https://i.postimg.cc/y6PMvhHB/1711785925646.png】《瑟琴小说》◎在线论坛◎ https://jav.gallery/【https://i.postimg.cc/fL1fHJWz/1655687656501.png】《動宝在线》◎在线视频网站◎ https://xn---jfgsoucom-xo3rt4olv7g07mz39a.jifangge-club.com/【https://i.postimg.cc/tJWDWsS9/1636543129910.png】《集芳云搜》◎综合网站◎ https://www.g718.sx/【https://i.postimg.cc/qqQHfKPF/1657033842033.png】《娱乐~718》◎在线论坛◎ https://www.pornfind.org/【https://i.postimg.cc/VNq9LNd1/1643175843924.png】《AV引擎》◎搜索网站◎ https://51papaya.com/【https://i.postimg.cc/7Yr1X8GG/1678771801587.png】《51啪啪吖》◎在线短视频◎ https://xn--l9i-zipaipiccom-6m3z988bh2ek30lissa.zipaippp.com/【https://i.postimg.cc/wvRTXwsk/1655822701904.png】《自拍图库》◎图库[高清大图]◎\n🔲-图片▪️套图::https://heaven.porn/【https://i.postimg.cc/gj5D3V3t/1637729257404.png】《Heaven》◎全球套图精选◎ https://www.nudexxx.pics/categories/babe/【https://i.postimg.cc/vZCcP0JD/1655781876454.png】《Nudexxx》◎在线图片◎ https://www.gravurehunter.com/【https://i.postimg.cc/pVnNf0hN/1712025654617.png】《Gravure》◎在线图片◎ https://www.xxxftvgirls.com/【https://i.postimg.cc/g0mpJp5H/1637547515349.png】《Xxxftvgirls》◎全球套图精选◎ https://www.eroticbeauties.net/【https://i.postimg.cc/mD29KB3V/1678719509647.png】《Eroticbeauties》◎在线图片◎ https://www.metarthunter.com/most-viewed/【https://i.postimg.cc/5tTRTKZq/1711596143934.png】《Metarthunter》◎花花公子图片站◎ https://latestones.com/models【https://i.postimg.cc/8P6bRd1H/a1c375a47f312841f8fa6eec14ed61cc.png】《Latestones》◎高清写真◎ https://sexynude.pics/【https://i.postimg.cc/CKV2PqBk/1712125316220.png】《Sexynude》◎在线图片◎ https://www.eastbabes.com/【https://i.postimg.cc/s2twBVD4/1710839293144.png】《Eastbabes》◎在线图片站◎ https://www.hqseek.com/【https://i.postimg.cc/KjsZ1zF4/1679920224469.png】《Hqseek》◎在线图片◎ https://www.erosberry.com/?ref=porndude【https://i.postimg.cc/VsV5KnhZ/1711800194710.png】《Erosberry》◎在线图片◎ https://www.freebigtitpornpics.com/【https://i.postimg.cc/X7vmc4Tv/1655688619355.png】《Bigtitpornpics》◎国际图片◎ https://www.jpbeauties.com/【https://i.postimg.cc/BZDtwf7C/1637918486763.png】《JPbeauties》◎日本图片◎ https://nakedwomen.pics/【https://i.postimg.cc/hthqJg37/e70b08733fceb554437154b2ea2b5a53.png】《Nakedwomen》◎在线图片◎ https://www.freexcafe.com/?ref=porndude【https://i.postimg.cc/kX35Jpx4/1655983982372.png】《Freexcafe》◎在线图片◎\n🎥-传媒▪️资源::https://www.helloavgirls.com/?qingse.one【https://i.postimg.cc/nhRvftvn/1637637245085.png】《Hello~avgirls》◎日系av视频网站◎ https://v.webp.website/【https://i.postimg.cc/J440L6wT/1680530212271.png】《V.webp.website》◎在线视频◎ https://av1top.com/【https://i.postimg.cc/Vkc7S0Bh/9b463e356784d62007bbfa9ab669d88e.png】《Nowav.Tv》◎在线视频◎ https://dsysav01.com/【https://i.postimg.cc/SsNhpY2H/1680094965092.png】《DsyAV~01》◎在线影院◎ https://javhd.com/zh/?vt=m&path=&nats=MjI4NzMuNy4yLjg1LjAuMC4wLjAuMA【https://i.postimg.cc/NjGnhjqC/1683936639151.png】《Jav~HD.com》◎在线影院◎ https://www.lobstertube.com/zh/【https://i.postimg.cc/d14Ls7zC/1711784824505.png】《LobsterTube》◎数百万激情色情电影◎ https://www.porzo.com/zh/【https://i.postimg.cc/8P6nSpWD/1711114827385.png】《Porzo.com》◎在线视频◎ https://www.tubegalore.com/zh/【https://i.postimg.cc/XYbbVJZj/cae05c94e7c8ffae80289e7bc24b3f34.png】《Tubegalore》◎在线视频◎ https://8kpornvids.com/zh-cn/【https://i.postimg.cc/LsSdxxn9/1711784679530.png】《8kpornvids》◎在线影院◎ https://www.tubev.sex/【https://i.postimg.cc/tCdtMyrq/1683302792112.png】《Tubev.sex》◎日系视频◎ https://www.atube.xxx/?hl=zh【https://i.postimg.cc/cHq6ZZNf/1679805052025.png】《Dtube.xxx》◎在线视频◎ http://hotpornstream.com/zh-cn/【https://i.postimg.cc/qqwhPmsX/1655817959914.png】《Hotpornstream》◎影院在线◎ https://www.ixxx.com【https://i.postimg.cc/g246sVQg/1711521763275.png】《Ixxx.com》◎在线视频◎ https://smsj3.buzz/【https://i.postimg.cc/pTYj6ynm/1655986800440.png】《SM世界》◎综合网站◎ https://byym26.com/【https://i.postimg.cc/7ZnG4jsL/1655829430458.png】《水果派网》◎国产视频◎\n🈂-动漫▪️✡漫画::https://iwank.tv/en/614/3d/?ref=porndude【https://i.postimg.cc/NfGzjcNq/1657216924243.png】《Iwank.TV》◎卷轴3D漫画◎ https://porn3dx.com/【https://i.postimg.cc/VLRc1YRt/1657024067326.png】《Porn3dx》◎卷轴流媒体◎ https://porcore.com/【https://i.postimg.cc/CLtgpGJQ/1710845633854.png】《Porcore》◎在线漫画◎ https://www.animehentaivideos.xxx/【https://i.postimg.cc/SNNnTVRD/1712028447102.png】《Hentai~Videos》◎日系动漫◎ https://3dhentaix.com/【https://i.postimg.cc/VvqVfXkF/1711702483414.png】《3Dhentai》◎在线动漫◎ https://hanime1.me/【https://i.postimg.cc/1RLNZRMC/1711703326457.png】《Hanime1.me》◎漫画网站◎ https://hentaimama.io/genre/3d/【https://i.postimg.cc/cH8W5FF1/1711863505814.png】《Hentaimama.io》◎在线动漫◎ https://h-ciyuan.com/【https://i.postimg.cc/Zn3PR3dj/1712115083618.png】《H~ciyuan》◎在线动漫◎ https://www.zzcartoon.com/tags/mother/【https://i.postimg.cc/sXkn6dL4/1711877767616.png】《Zzcartoon》◎在线动漫◎ https://animeidhentai.com/【https://i.postimg.cc/WpHbpCN9/1712115356486.png】《Animeid》◎日系动漫◎ https://asmhentai.com/【https://i.postimg.cc/mgPvw4Wf/1656904673161.png】《✡Asmhentai》◎在线漫画◎ https://doujins.com/【https://i.postimg.cc/QdxnMzSN/a6222dd9366f54f87b8f7870bfe43089.png】《✡Doujins》◎在线动漫◎ https://18kami.com/search/photos?main_tag=3&search_query=3d【https://i.postimg.cc/DwQM5wpN/1656917164314.png】《✡18Kami》◎在线动漫◎ https://comics.8muses.com/comics【https://i.postimg.cc/cHCkjmMF/1656747410145.png】《✡8muses.com》◎在线动漫◎ https://mangahentai.org/【https://i.postimg.cc/MTgCNr73/1657800089071.png】《✡Mangahentai》◎在线动漫◎ https://www.cartoonpornvideos.com/【https://i.postimg.cc/cL84Dck1/1710229218990.png】《Cartoon~P》◎动漫网站◎\n🔳-直播▪️博客::https://sharesome.com/news/【https://i.postimg.cc/gj4HKk9B/1636708458829.png】《Sharesone》◎时尚博客直播◎ https://m.livejasmin.com/en/list/girl/www.cavhot.com【https://i.postimg.cc/dVDHjxCc/1656736242263.png】《Livejasmin》◎欧美在线直播◎ https://www.sexchat247.net/【https://i.postimg.cc/k4XvPfS0/1680261282923.png】《Sexchat247》◎博客直播[优质画面]◎ https://ogfap.com/hot/video/LVN6YoWN?key=jaMIKEp1【https://i.postimg.cc/HLs88J19/1656981369071.png】《Ogfap.com》◎泄密视频◎ https://www.avrebo.com/?videoId=7978&slug=ebony-sucks-cock-aggressively-gets-cumload&user=dosikeh863【https://i.postimg.cc/sgwFXXpX/1711953886593.png】《Avrebo》◎博客直播网站◎ https://fikfap.com/?ref=porndude【https://i.postimg.cc/T1VYWRks/1711173380805.png】《Fikfap.com》◎在线视频◎ https://fap.titfap.com/?ref=porndude【https://i.postimg.cc/L6VKbwhq/1638681569437.png】《Fap.tifap》◎在线论坛精选◎ https://www.xfollow.com/【https://i.postimg.cc/pVsKYt7r/1712020890533.png】《Xfollow》◎成人版抖音◎ https://www.xxxfollow.com/【https://i.postimg.cc/SNdZhkft/1711116256970.png】《Xxxfollow》◎海外抖音网站◎ https://www.xfree.com/【https://i.postimg.cc/WzLh4gPK/1711688576005.png】《Xfree》◎博客直播[优质画面]◎ https://xxxtik.com/?ref=porndude【https://i.postimg.cc/4x5Gqnh5/1711968322089.png】《Xxxtik》◎博客直播[优质画面]◎ https://waptap.com/feed/D68d2K【https://i.postimg.cc/bNmw6Jjj/1711947958384.png】《WapTap》◎博客直播网站◎ https://pin.porn/【https://i.postimg.cc/13mpzB07/1655566034717.png】《Pin.porn》◎在线视频◎ https://www.pikped.com/【https://i.postimg.cc/kM1ZW7yq/8e5e7fc946028dcf4f32a2173ae4c319.png】《Pikped》◎在线视频◎ https://tik.porn/【https://i.postimg.cc/NfDwTGTG/1655654233967.png】《Tik.porn》◎博客直播[优质画面]◎ https://www.extranaughty.com/feeds/global/trending/free/post-miyrejjr-1288?activeTab=trending&currentIndex=3&random=3&is_random=1【https://i.postimg.cc/5yLSt2Pq/1711706470140.png】《Etrananghry》◎精选内容◎\n🔞-在线【宽屏】::https://cn.pornhub.com/view_video.php?viewkey=ph5f5367cd02a9a【https://i.postimg.cc/PfZcf8W1/1637937252627.png】《Pornhub》◎🇨🇦在线视频◎ https://www.xvideos.com/【https://i.postimg.cc/L6yQskbQ/1637936393141.png】《Xvideos》◎🇨🇿在线视频◎ https://teenxmovies.net/【https://i.postimg.cc/50mzRgCT/1680180019826.png】《Teenxmovies》◎🇩🇪在线视频◎ https://m.tnaflix.com/【https://i.postimg.cc/Jzw65BYB/1657106388720.png】《Tnaflix》◎🇭🇺在线视频◎ https://m.shameless.com/【https://i.postimg.cc/8CWvGJ1v/1655955946009.png】《Shameless》◎🇮🇸在线视频◎ https://beeg.com/?ref=porndude【https://i.postimg.cc/T17T3Lm8/1637937050924.png】《Beeg.com》◎🇬🇳在线视频◎ https://txxx.com/【https://i.postimg.cc/CKS3NdBC/1656841152906.png】《Txxx.com》◎🇨🇿在线视频◎ https://www.joysporn.com/?ref=porndude【https://i.postimg.cc/ydy26fDV/1656468812234.png】《Joysporn》◎🇭🇺在线视频◎ http://www.incestflix.com/?ref=porndude【https://i.postimg.cc/3wBQ4HT6/1680179305156.png】《Incestflix》◎🇮🇩在线视频◎ https://mothersontube.com/【https://i.postimg.cc/rsdPs62x/1710213348948.png】《Mothersontube》◎🇮🇩在线视频◎ https://shooshtime.com/【https://i.postimg.cc/L6j3vv9n/1678765799107.png】《Shooshtime》◎🇫🇮在线视频◎ https://www.qpornosite.com/【https://i.postimg.cc/ht2r3jht/1638700576004.png】《Qpornosite》◎🏴󠁧󠁢󠁳󠁣󠁴󠁿视频网站◎ https://porndoe.com/?utm_campaign=theporndude&utm_medium=trafficbuy&utm_source=theporndude【https://i.postimg.cc/hG3NT5Vz/1637931210565.png】《Porndoe》◎🇫🇷在线视频◎ https://efukt.com/categories/【https://i.postimg.cc/NfjSsHDk/1678761387726.png】《Efukt.com》◎🇲🇰在线视频◎ https://www.xnxx.com/【https://i.postimg.cc/3NT7QXZF/1638079383739.png】《Xnxx.com》◎🇺🇸在线视频◎\n🔞-在线【欧美】::https://m.porn555.com/en/【https://i.postimg.cc/G36dHWwM/1638705175642.png】《Porn555》◎🇮🇪视频网站◎ https://crazyshit.com/category/random-nudity/【https://i.postimg.cc/dtjdr2pM/357020e158482026a20a7e713f6b6279.png】《Crayshit》◎🇦🇽在线视频◎ https://www.youporn.com/【https://i.postimg.cc/vmLqWrtj/1656846388876.png】《Youporn》◎🇨🇴在线视频◎ https://motherless.com【https://i.postimg.cc/LXZynXtV/1656205674304.png】《Motherless》◎🇻🇪在线视频◎ https://zh.xhamster.com/【https://i.postimg.cc/VLd9cpxN/1638625257182.png】《Xhameter》◎🇹🇳在线视频◎ https://www.porntube.com/?cid=2930【https://i.postimg.cc/fW02xmh2/1680015581641.png】《Porntube》◎🇲🇸在线视频◎ https://www.18porn.sex/【https://i.postimg.cc/HxR47zhb/1678902909528.png】《18porn.sex》◎🇾🇪在线视频◎ https://www.redtube.com/【https://i.postimg.cc/NfpcXGVd/1711328087699.png】《Redtube》◎🇬🇦在线视频◎ https://pornone.com/【https://i.postimg.cc/VNYm2rTq/1680062187157.png】《Pornone》◎🇮🇩在线视频◎ https://familyporn.tv/【https://i.postimg.cc/5tz0pm7x/1678975518623.png】《家庭porn》◎🇰🇿在线视频◎ https://www.gotporn.com/【https://i.postimg.cc/T3xJP3Kn/1710294842440.png】《Gotporn》◎🇭🇺在线视频◎ https://fuqqt.com/videos/babe【https://i.postimg.cc/MGmYNz4r/1656079279240.png】《Fuqqt》◎🇭🇺在线视频◎ https://nudebabes.tube/【https://i.postimg.cc/3rpCgjNX/1680179946998.png】《Nudebabes》◎🇹🇳在线影院◎ https://arabysexy.com/?ref=porndude【https://i.postimg.cc/XYqSFd9v/1711715607537.png】《Arabysexy》◎🇲🇹在线影院◎\n🚫-在线【备选】::https://www.fellatiojapan.com/en/?ref=1860c830【https://i.postimg.cc/k4VJ3mrS/1678902597719.png】《Fellatiojapan》◎在线视频网站◎ https://www.handjobjapan.com/en/?ref=a2f6354a【https://i.postimg.cc/dtJZHBG8/1710813283288.png】《Handjobjaan》◎日系手活◎ https://www.pornhd.com/【https://i.postimg.cc/k5h6TW44/1711703764803.png】《Pornhd》◎在线视频◎ https://pornkai.com/【https://i.postimg.cc/QMzCf9hJ/1680570182469.png】《Pornkai》◎在线视频◎ https://adultdeepfakes.com/【https://i.postimg.cc/mrr5Yd8n/47dd395f818d744f5f6b897508d3309f.png】《Adultdeepfakes》◎影院在线◎ https://pornxp.cc/posters【https://i.postimg.cc/Y9b8TfxG/1712099177833.png】《Pornxp.cc》◎在线视频◎ https://masahub2.com/?ref=porndude【https://i.postimg.cc/HkG7vfXc/1712113889457.png】《MasaFun》◎影院在线◎ https://tubesafari.com/categories【https://i.postimg.cc/MTht0jgf/1712134614216.png】《Tubesafari》◎在线视频◎ https://spankbang.com/【https://i.postimg.cc/rshFHmv7/1686019810031.png】《Spankbang》◎视频网站◎ https://fuqer.mobi/【https://i.postimg.cc/FRCmbdyy/1656205530357.png】《Fuqer.mobi》◎在线视频◎ https://en.nakedgirls24.com/【https://i.postimg.cc/fRD895Z6/1712128282507.png】《Nakedgirls24》◎在线视频◎ https://666.porn/【https://i.postimg.cc/zfL9mtKg/a139d7adf597e53efc35411870cb9e62.png】《666.Poen》◎视频网站◎ https://es.iporntv.net/search/%E4%B8%AD+%E6%96%87+%E9%9F%B3%E5%A3%B0+asmr【https://i.postimg.cc/J0Jr17Xj/1679117572933.png】《Iporntv》◎中文音声◎ https://aboutporno.net/【https://i.postimg.cc/KjqPVW0m/1679117400667.png】《Aboutporno》◎视频网站◎ https://4kporn.xxx/【https://i.postimg.cc/yYtmQL15/1657563183687.png】《4Kporn.xxx》◎在线视频◎ https://fuqer.mobi/【https://i.postimg.cc/RVxJv8Rk/1711105949885.png】《Fuqer.mobi》◎在线视频◎\n📖-书单▪️榜单::https://vt.sm.cn/api/novelStarReco/index【https://i.postimg.cc/3Ng0mjYb/1642215764921.png】《星云推书》◎书荒搜书神器◎ https://m.qidian.com/rank/【https://i.postimg.cc/Bb6H9P0h/1643185593580.png】《起点榜单》◎起点中文网榜单◎ http://mp.weixin.qq.com/mp/homepage?__biz=MzI2MDg2NjAwMg==&hid=11&sn=c55d27329c109430838bc5b5f5b615b7&scene=18#wechat_redirect【https://i.postimg.cc/htNQd8pH/1656748079978.png】《高分必看》◎高分完本合集◎ https://m.baidu.com/sf?openapi=1&dspName=iphone&dsp=iphone&from_sf=1&pd=bookstore&resource_id=5077&type=2&card_id=5143&word=%E5%85%A8%E9%83%A8%E5%88%86%E7%B1%BB&title=%E6%9B%B4%E5%A4%9A%E6%8E%A8%E8%8D%90&tag1=%E5%85%A8%E9%83%A8%E5%88%86%E7%B1%BB&lid=11549307334103749569&referlid=11549307334103749569&ms=1&frsrcid=5143&frorder=4【https://i.postimg.cc/YS5CqKk1/1643192297572.png】《百度榜单》◎百度浏览器小说榜单◎ https://www.yousuu.com【https://i.postimg.cc/ZqV9LKk4/d6460ce69df5934d47ec2e184264d447.png】《优书榜单》◎优书网书单◎ https://mp.weixin.qq.com/mp/appmsgalbum?action=getalbum&album_id=1319671603470581762&__biz=MzI2MDg2NjAwMg==#wechat_redirect【https://i.postimg.cc/MTwzhVP7/1656158438840.png】《精选书单》◎主推优质完结和连载100万字以上小说◎ https://mp.weixin.qq.com/mp/appmsgalbum?action=getalbum&album_id=1319666229510193155&__biz=MzI2MDg2NjAwMg==#wechat_redirect【https://i.postimg.cc/FRSh6GVs/9afbe88df402cbaacd6a1f34bb95451a.png】《潜力新书》◎主推大神新书和20～100万字的优质新书◎ https://mp.weixin.qq.com/mp/appmsgalbum?action=getalbum&album_id=1319668267623170050&__biz=MzI2MDg2NjAwMg==#wechat_redirect【https://i.postimg.cc/YCYjTCQ1/1643194013372.png】《近期完结》◎主推近一段时间内优质的完结小说◎ https://mp.weixin.qq.com/mp/appmsgalbum?action=getalbum&album_id=1319675692849872897&__biz=MzI2MDg2NjAwMg==#wechat_redirect【https://i.postimg.cc/MHJwdrSX/f3406e1fcc20a92dcaf944c71b0d67ab.png】《后宫精选》◎后宫精选合集◎ https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzI5NTA4NjgwNw==&action=getalbum&album_id=1319454340050157569&scene=126&devicetype=android-28&version=28000f3d&lang=zh_CN&nettype=WIFI&ascene=3&pass_ticket=B8GunWN7RjA2Q%2FaVYxT%2BSITrnCodRKKdEfgFLaYKNzv56Vgj9IUBy%2B6yzAlQVE4M&wx_header=1【https://i.postimg.cc/tTF4MXws/1643177963800.png】《网文书单》◎每期三本-新书速递、养肥佳作、完本好书◎ https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzI5NTA4NjgwNw==&action=getalbum&album_id=1319471313224040448&scene=126&devicetype=android-28&version=28000f3d&lang=zh_CN&nettype=WIFI&ascene=3&pass_ticket=B8GunWN7RjA2Q%2FaVYxT%2BSITrnCodRKKdEfgFLaYKNzv56Vgj9IUBy%2B6yzAlQVE4M&wx_header=1【https://i.postimg.cc/Nf2g2B79/d7844cc4a188295fb56ff7ee13e7c518.png】《澎湃精选》◎超过50万字，连载或完本的优秀作品◎ https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzI5NTA4NjgwNw==&action=getalbum&album_id=1526356920989712387&scene=126&devicetype=android-28&version=28000f3d&lang=zh_CN&nettype=WIFI&ascene=3&pass_ticket=B8GunWN7RjA2Q%2FaVYxT%2BSITrnCodRKKdEfgFLaYKNzv56Vgj9IUBy%2B6yzAlQVE4M&wx_header=1【https://i.postimg.cc/FRH068g6/1656311375852.png】《年度盘点》◎年度盘点各分类中诞生的新书、完本书◎ https://mp.weixin.qq.com/mp/homepage?__biz=MzI5NTA4NjgwNw==&hid=1&sn=0fcecdc85b8c23e596880f8c895b901d&scene=18&devicetype=android-28&version=28000f3d&lang=zh_CN&nettype=WIFI&ascene=59&session_us=gh_2aa0f3c6dd8f&pass_ticket=B8GunWN7RjA2Q%2FaVYxT%2BSITrnCodRKKdEfgFLaYKNzv56Vgj9IUBy%2B6yzAlQVE4M&wx_header=1【https://i.postimg.cc/0QLXW18r/1657562436540.png】《赤戟资源》◎最新热门分类◎\n",
    "sourceComment": "书签集成",
    "sourceGroup": "R18",
    "sourceIcon": "https://i.postimg.cc/tT45zyZQ/9399ca50f4495079a2c4f54f268dcad6.gif",
    "sourceName": "㊣集装箱",
    "sourceUrl": "Online 2.45"
  },
  {
    "articleStyle": 0,
    "customOrder": 190,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "📰 资讯,R18",
    "sourceIcon": "https://bkimg.cdn.bcebos.com/pic/c8ea15ce36d3d539399dfbaa3087e950352ab033",
    "sourceName": "果壳",
    "sourceUrl": "https://m.guokr.com"
  },
  {
    "articleStyle": 2,
    "customOrder": 191,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "id.dlNews@tag.td||.title",
    "ruleContent": "<js>\r\nhtml = result\r\n//总页数-1(最后一页没有图\r\npage = parseInt(java.getString('class.pager@tag.li.-3@tag.a@text'))\r\njava.log(\"共\"+page+\"页\")\r\nif(page>1){\r\nnurl=[];\r\nbase=baseUrl.replace('.aspx','p');\r\nfor(i=2;i<=page;i++){\r\n\tnurl.push(base+i+\".aspx,{'retry':16}\")\t\r\n}\r\n\r\nres=java.ajaxAll(nurl)\r\nfor(i in res){\r\n\thtml += org.jsoup.Jsoup.parse(res[i].body())\r\n}\r\n}\r\n</js>\r\n\r\nid.content@tag.img@src##\\n##,\r\n\r\n<js>\r\nli='\\n'\r\nlist=result.split(',')\r\nfor(i in list){\r\n\t\tli += '<li><img src=\"https://www.166w.cc/images/logo.jpg_gzip.aspx\" data-src=\"'+list[i]+'\"></li>\\n'\r\n\t}\r\n\r\n</js>\r\n\r\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\">\r\n\r\n<h3>{{@@.title2@text}}</h3>\r\n<h6>{{@@id.printBody@tag.div.2@text}}</h6>\r\n<h6 id='hits'></h6>\r\n<ul id=\"box\">\r\n{{result}}\r\n</ul>\n<div id='relists'></div>\r\n<script>\r\n    var wqcms = new Object();\r\n</script>\r\n{{@@tag.script.-3@html##$(function(){wqcms.imgCont=$i('content');wqcms.imgResize();InitContStyle();wqcms.dispVars();});}}\r\n<script>\r\n    hits = document.getElementById(\"hits\");\r\n    hits.innerHTML = \"观看:\" + wqcms.hits + \"次\";\r\n</script>\r\n\r\n<link rel=\"stylesheet\" href=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.css\">\r\n<script src=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.js\"></script>\r\n<script>\n\r\n\troot = document.getElementById('box')\n\trelists = document.getElementById('relists')\n\t  pl = \"{{@@class.relist@tag.li@class.sum@textNodes##\\n##\\$}}\".split(\"$\");\r\n                times = \"{{@@class.relist@tag.li@class.author@class.date@textNodes##\\n##\\$}}\".split(\"$\");\r\n                layers = \"{{@@class.relist@tag.li@class.reLayer@text##\\n##\\$}}\".split(\"$\");\r\n\r\n                for (x = layers.length - 1; x >= 0; x--) {\r\n                    relists.innerHTML += \"<h4>\" + layers[x] + \"<span style='color: #999; font-size: 12px;'>\" + times[x] + \"</span><br>\" + pl[x] + \"</h4>\"\r\n                }\r\n\tlazy = new IntersectionObserver(entires => {\r\n\t\tentires.forEach(item => {\r\n\t\t\tif(item.isIntersecting){\r\n\t\t\t\titem=item.target\r\n\t\t\t\titem.src=item.getAttribute('data-src')\r\n\t\t\t\tlazy.unobserve(item)\r\n\t\t\t}\r\n\t\t})\r\n\t}, {\r\n\t\troot: root,\r\n\t\tthreshold: [0],\r\n\t\trootMargin:\"0px 0px 500px 0px\"\r\n\t})\r\n\r\nimgs = document.getElementsByTagName('img')\r\nArray.from(imgs).forEach(item => {\r\n\t\tlazy.observe(item)\r\n\t})\r\n\r\n//查看大图插件\r\nnew Viewer(root,{title:false,interval:3000})\r\n</script>\r\n",
    "ruleImage": "tag.img@src",
    "ruleLink": "tag.a@href",
    "ruleNextPage": "class.pager@tag.li.-2@tag.a@href",
    "rulePubDate": ".date@textNodes",
    "ruleTitle": "tag.img@alt||tag.a@text",
    "singleUrl": false,
    "sortUrl": "首页::/c49.aspx\n随机::/c49p{{ Math.ceil(Math.random()*70) }}.aspx\n搜索::/search.aspx?keyword={{(source.getVariable()==''||source.getVariable()==null)?source.setVariable('美女'):source.getVariable()}}&where=title",
    "sourceGroup": "R18",
    "sourceIcon": "https://www.166w.cc/favicon.ico",
    "sourceName": "24FA美女频道-每天6更",
    "sourceUrl": "https://www.117.life",
    "style": "/*标题相关*/\nh3{text-align:center}\nh6{margin-bottom:0}\n* {\n\tmargin: 0;\n\tpadding: 0\n}\nul {\n\tfont-size: 0;\n\theight: 100%;\n\toverflow-y: scroll\n}\nli {\n\tlist-style: none;\n\ttext-align: center\n}\nimg {\n\twidth: 100%;\n\theight: auto\n}"
  },
  {
    "articleStyle": 2,
    "customOrder": 192,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "id.main@div.0@.relative",
    "ruleContent": "<!DOCTYPE html>\r\n<html>\r\n\r\n<head>\r\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\">\r\n    <link rel=\"stylesheet\" href=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.css\">\r\n    <script src=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.js\"></script>\r\n    <script src=\"http://lib.sinaapp.com/js/jquery/2.0.2/jquery-2.0.2.min.js\"></script>\n    <title>{{@@id.main@h1@text}}</title>\r\n</head>\r\n\r\n<body>\r\n    <h3>{{@@id.main@h1@text}}</h3>\r\n    <div id=\"box\">{{@@class.my-2@tag.img@html}}</div>\r\n    <div id=\"loads\">加载中 </div>\r\n    <script>\r\n        var loads;\r\n        $(document).ready(function () {\r\n            var box = document.getElementById(\"box\");\r\n            loads = document.getElementById(\"loads\");\r\n            new Viewer(box, { title: false, interval: 3000 })\r\n            var i = 1;\r\n            var page = {{@@tag.nav.1@tag.a.-2@textNodes##\\n}}-1;\r\n            var url = \"{{baseUrl}}\";\r\n            new IntersectionObserver(entries => {\r\n                if (entries[0].intersectionRatio) {\r\n                    if (entries[0].intersectionRatio <= 0) return;\r\n                    for (var j = 0; j < 1; j++) {\r\n                        fetchHtml(i, page, url);\r\n                        i += 1;\r\n                    }\r\n                }\r\n            }).observe(loads)\r\n        });\r\n\r\n\r\n        function fetchHtml(i, page, url) {\n        \t\r\n            if (i <= page) {\r\n                nurl = url+'?page=' + i;\r\n                $.ajax({\r\n                    url: nurl,\r\n                    dataType: 'html',\r\n                    success: function (html) {\r\n                        $('#box').append('<h5>' + (++i) + '->' + (++page) + '</h5>');\r\n                        $('#box').append($(html).find('.my-2 img'));\r\n                        box.viewer.update();\r\n                    },\r\n                    error: function (xhr) { }\r\n                });\r\n            } else {\r\n                $('#loads').html(\"\");\r\n            }\r\n        }\r\n    </script>\r\n</body>\r\n\r\n</html>",
    "ruleImage": "tag.img@src",
    "ruleLink": "tag.a.0@href",
    "ruleNextPage": "page",
    "rulePubDate": "tag.time@datetime",
    "ruleTitle": "img@alt",
    "singleUrl": false,
    "sortUrl": "搜索::/search/{{(source.getVariable()==''||source.getVariable()==null)?source.setVariable('美女'):source.getVariable()}}?page={{page}}\n首页::/?page={{page}}\n随机::/?page={{ Math.ceil(Math.random()*1700) }}\nISS系列::https://youwu.lol/groups/ISS%E7%B3%BB%E5%88%97?page={{page}}\n爱尤物::https://youwu.lol/groups/%E7%88%B1%E5%B0%A4%E7%89%A9?page={{page}}\n爱丝::https://youwu.lol/groups/%E7%88%B1%E4%B8%9D?page={{page}}\n妖精社::https://youwu.lol/groups/%E5%A6%96%E7%B2%BE%E7%A4%BE?page={{page}}\n瑞丝馆::https://youwu.lol/groups/%E7%91%9E%E4%B8%9D%E9%A6%86?page={{page}}\n尤美::https://youwu.lol/groups/%E5%B0%A4%E7%BE%8E?page={{page}}\n美尤网::https://youwu.lol/groups/%E7%BE%8E%E5%B0%A4%E7%BD%91?page={{page}}\n果团网::https://youwu.lol/groups/%E6%9E%9C%E5%9B%A2%E7%BD%91?page={{page}}\n蜜丝::https://youwu.lol/groups/%E8%9C%9C%E4%B8%9D?page={{page}}\n头条女神::https://youwu.lol/groups/%E5%A4%B4%E6%9D%A1%E5%A5%B3%E7%A5%9E?page={{page}}\nSLADY猎女神::https://youwu.lol/groups/%E6%8E%A8%E5%A5%B3%E7%A5%9E?page={{page}}\n推女神::https://youwu.lol/groups/%E6%8E%A8%E5%A5%B3%E7%A5%9E?page={{page}}\n潘多拉::https://youwu.lol/groups/%E6%BD%98%E5%A4%9A%E6%8B%89?page={{page}}\n无忌影社::https://youwu.lol/groups/%E6%97%A0%E5%BF%8C%E5%BD%B1%E7%A4%BE?page={{page}}\n推女郎::https://youwu.lol/groups/%E6%8E%A8%E5%A5%B3%E9%83%8E?page={{page}}\n轰趴猫::https://youwu.lol/groups/%E8%BD%B0%E8%B6%B4%E7%8C%AB?page={{page}}\n深夜企划::https://youwu.lol/groups/%E6%B7%B1%E5%A4%9C%E4%BC%81%E5%88%92?page={{page}}\n伊甸园写真::https://youwu.lol/groups/%E4%BC%8A%E7%94%B8%E5%9B%AD%E5%86%99%E7%9C%9F?page={{page}}\nSK丝库::https://youwu.lol/groups/SK%E4%B8%9D%E5%BA%93?page={{page}}\n东莞V女郎::https://youwu.lol/groups/%E4%B8%9C%E8%8E%9EV%E5%A5%B3%E9%83%8E?page={{page}}\n私购流出::https://youwu.lol/groups/%E7%A7%81%E8%B4%AD%E6%B5%81%E5%87%BA?page={{page}}\n风吟鸟唱::https://youwu.lol/groups/%E9%A3%8E%E5%90%9F%E9%B8%9F%E5%94%B1?page={{page}}\nArtGravia::https://youwu.lol/groups/ArtGravia?page={{page}}\nPure Media::https://youwu.lol/groups/Pure%20Media?page={{page}}\nPANS::https://youwu.lol/groups/PANS?page={{page}}\nJVID::https://youwu.lol/groups/JVID?page={{page}}\nSuper Pose Book::https://youwu.lol/groups/Super%20Pose%20Book?page={{page}}\nGraphis::https://youwu.lol/groups/Graphis?page={{page}}\nFantasy Factory::https://youwu.lol/groups/Fantasy%20Factory?page={{page}}\nDDY::https://youwu.lol/groups/DDY?page={{page}}\nLoozy::https://youwu.lol/groups/Loozy?page={{page}}\nA4U::https://youwu.lol/groups/A4U?page={{page}}\nTPimage::https://youwu.lol/groups/TPimage?page={{page}}\nEspacia Korea::https://youwu.lol/groups/Espacia%20Korea?page={{page}}\nMakemodel::https://youwu.lol/groups/Makemodel?page={{page}}\nFRIDAY::https://youwu.lol/groups/FRIDAY?page={{page}}\n丽图100::https://youwu.lol/groups/%E4%B8%BD%E5%9B%BE100?page={{page}}\n北京天使::https://youwu.lol/groups/%E5%8C%97%E4%BA%AC%E5%A4%A9%E4%BD%BF?page={{page}}\n韩国模特养成::https://youwu.lol/groups/%E9%9F%A9%E5%9B%BD%E6%A8%A1%E7%89%B9%E5%85%BB%E6%88%90?page={{page}}\n行色::https://youwu.lol/groups/%E8%A1%8C%E8%89%B2?page={{page}}\n希威社::https://youwu.lol/groups/%E5%B8%8C%E5%A8%81%E7%A4%BE?page={{page}}\n雅拉伊::https://youwu.lol/groups/%E9%9B%85%E6%8B%89%E4%BC%8A?page={{page}}\n国模人体::https://youwu.lol/groups/%E5%9B%BD%E6%A8%A1%E4%BA%BA%E4%BD%93?page={{page}}\n国模套图::https://youwu.lol/groups/%E5%9B%BD%E6%A8%A1%E5%A5%97%E5%9B%BE?page={{page}}\n台模人体::https://youwu.lol/groups/%E5%8F%B0%E6%A8%A1%E4%BA%BA%E4%BD%93?page={{page}}\n台模套图::https://youwu.lol/groups/%E5%8F%B0%E6%A8%A1%E5%A5%97%E5%9B%BE?page={{page}}\n港模人体::https://youwu.lol/groups/%E6%B8%AF%E6%A8%A1%E4%BA%BA%E4%BD%93?page={{page}}\n港模套图::https://youwu.lol/groups/%E6%B8%AF%E6%A8%A1%E5%A5%97%E5%9B%BE?page={{page}}\n日模人体::https://youwu.lol/groups/%E6%97%A5%E6%A8%A1%E4%BA%BA%E4%BD%93?page={{page}}\n日模套图::https://youwu.lol/groups/%E6%97%A5%E6%A8%A1%E5%A5%97%E5%9B%BE?page={{page}}\n韩模套图::https://youwu.lol/groups/%E9%9F%A9%E6%A8%A1%E5%A5%97%E5%9B%BE?page={{page}}\n韩模人体::https://youwu.lol/groups/%E9%9F%A9%E6%A8%A1%E4%BA%BA%E4%BD%93?page={{page}}\n相约中国::https://youwu.lol/groups/%E7%9B%B8%E7%BA%A6%E4%B8%AD%E5%9B%BD?page={{page}}\n其他中国工作室::https://youwu.lol/groups/%E5%85%B6%E4%BB%96%E4%B8%AD%E5%9B%BD%E5%B7%A5%E4%BD%9C%E5%AE%A4?page={{page}}\n其他人体::https://youwu.lol/groups/%E5%85%B6%E4%BB%96%E4%BA%BA%E4%BD%93?page={{page}}\nAI图区::https://youwu.lol/groups/AI%E5%9B%BE%E5%8C%BA?page={{page}}\n未分类性感写真::https://youwu.lol/groups/%E6%9C%AA%E5%88%86%E7%B1%BB%E6%80%A7%E6%84%9F%E5%86%99%E7%9C%9F?page={{page}}",
    "sourceGroup": "🔞,R18",
    "sourceIcon": "https://youwu.pics/favicon.ico",
    "sourceName": "尤物丧志",
    "sourceUrl": "https://youwu.pics",
    "style": "/*标题相关*/\nh3{text-align:center}\nh6{margin-bottom:0}\n* {\n\tmargin: 0;\n\tpadding: 0\n}\nul {\n\tfont-size: 0;\n\theight: 100%;\n\toverflow-y: scroll\n}\nli {\n\tlist-style: none;\n\ttext-align: center\n}\nimg {\n\twidth: 100%;\n\theight: auto\n}"
  },
  {
    "articleStyle": 0,
    "customOrder": 193,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "🛠 工具,R18",
    "sourceIcon": "http://pp.myapp.com/ma_icon/0/icon_8502_1606287649/256",
    "sourceName": "美食杰",
    "sourceUrl": "http://m.meishij.net"
  },
  {
    "articleStyle": 2,
    "customOrder": 193,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "id.dlNews@tag.td||.title",
    "ruleContent": "<js>\r\nhtml = result\r\n//总页数-1(最后一页没有图\r\npage = parseInt(java.getString('class.pager@tag.li.-3@tag.a@text'))\r\njava.log(\"共\"+page+\"页\")\r\nif(page>1){\r\nnurl=[];\r\nbase=baseUrl.replace('.aspx','p');\r\nfor(i=2;i<=page;i++){\r\n\tnurl.push(base+i+\".aspx,{'retry':16}\")\t\r\n}\r\n\r\nres=java.ajaxAll(nurl)\r\nfor(i in res){\r\n\thtml += org.jsoup.Jsoup.parse(res[i].body())\r\n}\r\n}\r\n</js>\r\n\r\nid.content@tag.img@src##\\n##,\r\n\r\n<js>\r\nli='\\n'\r\nlist=result.split(',')\r\nfor(i in list){\r\n\t\tli += '<li><img src=\"https://www.166w.cc/images/logo.jpg_gzip.aspx\" data-src=\"'+list[i]+'\"></li>\\n'\r\n\t}\r\n\r\n</js>\r\n\r\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\">\r\n\r\n<h3>{{@@.title2@text}}</h3>\r\n<h6>{{@@id.printBody@tag.div.2@text}}</h6>\r\n<h6 id='hits'></h6>\r\n<ul id=\"box\">\r\n{{result}}\r\n</ul>\n<div id='relists'></div>\r\n<script>\r\n    var wqcms = new Object();\r\n</script>\r\n{{@@tag.script.-3@html##$(function(){wqcms.imgCont=$i('content');wqcms.imgResize();InitContStyle();wqcms.dispVars();});}}\r\n<script>\r\n    hits = document.getElementById(\"hits\");\r\n    hits.innerHTML = \"观看:\" + wqcms.hits + \"次\";\r\n</script>\r\n\r\n<link rel=\"stylesheet\" href=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.css\">\r\n<script src=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.js\"></script>\r\n<script>\n\r\n\troot = document.getElementById('box')\n\trelists = document.getElementById('relists')\n\t  pl = \"{{@@class.relist@tag.li@class.sum@textNodes##\\n##\\$}}\".split(\"$\");\r\n                times = \"{{@@class.relist@tag.li@class.author@class.date@textNodes##\\n##\\$}}\".split(\"$\");\r\n                layers = \"{{@@class.relist@tag.li@class.reLayer@text##\\n##\\$}}\".split(\"$\");\r\n\r\n                for (x = layers.length - 1; x >= 0; x--) {\r\n                    relists.innerHTML += \"<h4>\" + layers[x] + \"<span style='color: #999; font-size: 12px;'>\" + times[x] + \"</span><br>\" + pl[x] + \"</h4>\"\r\n                }\r\n\tlazy = new IntersectionObserver(entires => {\r\n\t\tentires.forEach(item => {\r\n\t\t\tif(item.isIntersecting){\r\n\t\t\t\titem=item.target\r\n\t\t\t\titem.src=item.getAttribute('data-src')\r\n\t\t\t\tlazy.unobserve(item)\r\n\t\t\t}\r\n\t\t})\r\n\t}, {\r\n\t\troot: root,\r\n\t\tthreshold: [0],\r\n\t\trootMargin:\"0px 0px 500px 0px\"\r\n\t})\r\n\r\nimgs = document.getElementsByTagName('img')\r\nArray.from(imgs).forEach(item => {\r\n\t\tlazy.observe(item)\r\n\t})\r\n\r\n//查看大图插件\r\nnew Viewer(root,{title:false,interval:3000})\r\n</script>\r\n",
    "ruleImage": "tag.img@src",
    "ruleLink": "tag.a@href",
    "ruleNextPage": "class.pager@tag.li.-2@tag.a@href",
    "rulePubDate": ".date@textNodes",
    "ruleTitle": "tag.img@alt||tag.a@text",
    "singleUrl": false,
    "sortUrl": "首页::https://www.199w.cc/c49.aspx\r\n随机::https://www.199w.cc/c49p{{ Math.ceil(Math.random()*70) }}.aspx\r\n搜索::https://www.199w.cc/search.aspx?keyword={{(source.getVariable()==''||source.getVariable()==null)?source.setVariable('美女'):source.getVariable()}}&where=title",
    "sourceGroup": "R18",
    "sourceIcon": "https://www.199w.cc/favicon.ico",
    "sourceName": "24FA美女频道-每天6更",
    "sourceUrl": "https://www.199w.cc/c49.aspx",
    "style": "/*标题相关*/\nh3{text-align:center}\nh6{margin-bottom:0}\n* {\n\tmargin: 0;\n\tpadding: 0\n}\nul {\n\tfont-size: 0;\n\theight: 100%;\n\toverflow-y: scroll\n}\nli {\n\tlist-style: none;\n\ttext-align: center\n}\nimg {\n\twidth: 100%;\n\theight: auto\n}"
  },
  {
    "articleStyle": 0,
    "customOrder": 194,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "{\n\t\"User-Agent\": \"okhttp/3.12.11\"\n}",
    "injectJs": "\n// 接口名称黑名单\nblack1 = /^\\s*(爱尚|🇨🇳v6频道)?\\s*$/i;\n\n\n// 集数链接黑名单\n// 例：【|http:\\/\\/39.134.24】\nblack2 = /^\\s*$/i;\n\nX = 0;\nfenlei = '\\n\\t\\t'+[\n[\"南风\",\"https://agit.ai/Yoursmile7/TVBox/raw/branch/master/live.txt\"],\n[\"俊于\",\"http://home.jundie.top:81/Cat/tv/live.txt\"],\n[\"云星\",\"http://jk.itvbox.cc:66/tvbox/zhibo/1.txt\"],\n\n[\"饭硬(失效？)\",\"https://agit.ai/fantaiying/fty/raw/branch/master/live.txt\"],\n[\"欧文(失效！)\",\"https://jihulab.com/owen2000wy/owentv/-/raw/main/HP20230319.txt\"],\n\n].map(($,i)=>{\n\t\tx = $[1]==window.location.href;\n\t\tif(x&&i===0) X=2;\n\t\tif(x&&i===1) X=3;\n\t\treturn '<a href=\"'+$[1]+'\"><button'+(x?' class=\"active\"':'')+' style=\"width:'+(i<3?30:46.5)+'%\"><b>'+$[0]+'</b></button></a>';\n\t}).join('\\n\\t\\t');\n\n\n\njiexi = [//解析列表_开始\n\n[\"Ⓧ 禁用\",\"\"],\n[\"Ⓢ Tinga\",\"https://api.tinga88.com/?url=\"],\n[\"Ⓢ Mpos\",\"https://vip.mpos.ren/v/?url=\"],\n[\"Ⓐ 玩得嗨\",\"https://vip.wandhi.com/?v=\"],\n[\"Ⓐ 智能♶\",\"https://jx.kingtail.xyz/?url=\"],\n[\"Ⓑ 全民♳\",\"http://api.wpsseo.cn/jiexi/?jx=\"],\n[\"Ⓑ 全民♴\",\"http://vip.xxphp.cn/jiexi/?v=\"],\n\n//解析列表_结束\n].map($=>'<button value=\"'+$[1]+'\"><b>'+$[0]+'</b></button>');\n\n\ni = 0;\nx = 1;\njishu = [];\njiekou = [];\ndocument.body.innerText.split('\\n')\n.map($=>{\n\t\t$ = $.split(',');\nif(  $[1]!=undefined && !$[1].match(/\\[.+\\]/)  ){\n\t\tif($[1].match(/^#.+#$/)){\n\t\t\tif(!black1.test($[0])){\n\t\t\t\tx=1;\n\t\t\t\tjiekou.push('<button value=\"'+i+'\"><b>'+$[0]+'</b></button>');\n\t\t\t\tjishu.push([]);\n\t\t\t\ti++;\n\t\t\t}\n\t\t\telse{\n\t\t\t\tx=0;\n\t\t\t}\n\t\t\t}\n\t\telse{\n\t\t\tif( x && !black2.test($[1])  ){\n\t\t\t\tjishu[jishu.length-1].push('<button value=\"'+$[1]+'\"><b>'+$[0]+'</b></button>');\n\t\t\t\t}\n\t\t\t}\n}\n\t});\n\n\n\njiexi = '<div>\\n\\t\\t'+jiexi.join('\\n\\t\\t')+'\\n</div>';\njiekou = '<div>\\n\\t\\t'+jiekou.join('\\n\\t\\t')+'\\n</div>';\njishu = jishu.map($=>'<div>\\n\\t\\t'+$.join('\\n\\t\\t')+'\\n</div>').join('\\n');\n\n\ndocument.body.innerHTML = `\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no\">\n<iframe frameborder=\"no\" allowfullscreen></iframe>\n<p><title>聚合直播</title></p>\n<hr>\n\n\n<details>\n<summary><h3>聚合直播</h3></summary>\n<br>\n<div>\n${fenlei}\n</div>\n</details>\n<hr>\n\n\n<div class=\"jiexi\">\n<p>解析</p>\n${jiexi}\n</div>\n<hr>\n\n\n<div class=\"jiekou\">\n<p>接口</p>\n${jiekou}\n</div>\n<hr>\n\n\n<div class=\"jishu\">\n<p>集数</p>\n${jishu}\n</div>\n<hr>\n\n\n<style>\n*{\n\tz-index:0;\n\tmargin:0;\n\tpadding:0;\n\twidth:100%;\n\theight:auto;\n}\np{\n\ttext-indent:5px;\n}\nbody>p:first-of-type{\n\twidth:100.05%;\n\tposition:sticky;top:285px;\n\theight:15px;font-size:0.7rem;\n\tborder-bottom-right-radius:5px;\n\tborder-bottom-left-radius:5px;\n\tbackground:#000;color:#fff;\n\twhite-space:nowrap;\n\toverflow:hidden;\n\ttext-overflow:ellipsis;\n\tz-index:2;\n}\niframe{\n\tposition:sticky;top:0;\n\tbackground:#000;color:#fff;\n\theight:285px;\n\tz-index:2;\n}\n\ndetails{\n\twidth:90%;\n\tmargin:0 5%;\n\tpadding:10 0;\n\ttext-align:center;\n}\nsummary{\n\twidth:90%;\n\tmargin:0 5%;\n\toutline:none;\n}\nsummary::-webkit-details-marker,.jishu>div{\n\tdisplay:none;\n}\n.jiexi>div,.jiekou>div{\n\toverflow-x:auto;\n\toverflow-y:hidden;\n\twhite-space:nowrap;\n}\n.jishu>div.active{\n\tdisplay:block;\n}\n\nbutton{\n\twidth:21.65%;\n\tmargin:1.25%;\n\tpadding:5px;\n\toutline:none;\n\tborder-radius:8px;\n\tfont-size:0.7rem;\n\ttext-overflow:ellipsis;\n  overflow:hidden;\n\tposition:sticky;\n}\nbutton.active{\n\tz-index:1;\n\tcolor:#166188;\n\tleft:0;right:0;\n}\n.jishu button.active{\n\ttop:300;bottom:0;\n}\n</style>`;\n\n\n\n//选中标签\nfunction $(rule){\n\t\treturn document.querySelectorAll(rule);\n\t}\n\n//删除active\nfunction omit(A){\n\t\treturn Array.from(A,a=>a.className='');\n\t}\n\n//增加active\nfunction active($,i){\n\t\treturn $[i].className='active';\n\t}\n\n\n\n\n// 注册点击事件\nAdd=(a,b)=>Array.from($(a),$=>$.addEventListener('click',b));\n\n// 获取当前事件的button\nBtn=(evt)=>{\nfor(el of evt.path){\n\t\tif(el.tagName===\"BUTTON\")return el;\n\t}\n}\n\n\n\n// 选择\nfunction xuan(el,type){\n\t\tbtn = $('.'+type+' button.active');\n\t\tif(el.value==btn[0].value)return;\n\t\tomit(btn);\n\t\tel.className = 'active';\n\t\treturn geturl();\n\t}\nfunction xuan1(evt){\n\t\treturn xuan(Btn(evt),'jiexi');\n\t}\nfunction xuan2(evt){\n\t\treturn xuan(Btn(evt),'jishu');\n\t}\n\n\n// 切换\nhuan=(evt)=>{\n\t\tel = Btn(evt);\n\t\tindex = el.value;\n\t\tt1 = '.jiekou button';\n\t\tt2 = '.jishu div';\n\t\tomit($(t1+'.active,'+t2+'.active'));\n\t\tactive($(t1),index);\n\t\tactive($(t2),index);\n\t}\n\n\n// 链接\nval=(type)=>$('.'+type+' button.active')[0].value.trim();\nfunction geturl(){\n\t\turl = val('jiexi') + val('jishu');\n\t\treturn $('iframe')[0].src = $('p')[0].innerText = url;\n\t}\n\n\n\n\n\n//初始化\n(()=>{\n\t\tactive($('.jiexi button'),0);\n\t\tactive($('.jiekou button'),X);\n\t\tactive($('.jishu div'),X);\n\t\tactive($('.jishu div.active button'),0);\n\n\t\t// 注册对应的点击事件\n\t\tAdd('.jiexi button',xuan1);\n\t\tAdd('.jiekou button',huan);\n\t\tAdd('.jishu button',xuan2);\n\n\t\treturn geturl();\n\t})();",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "",
    "ruleContent": "",
    "singleUrl": true,
    "sortUrl": "",
    "sourceComment": "2023-06-14",
    "sourceGroup": "合集,R18",
    "sourceIcon": "https://service.agit.site:7083/api/file/smFile/c3eb06c64d7ecdf6806bb4b40bac2bcf?d=identicon&key0=",
    "sourceName": "聚合直播",
    "sourceUrl": "https://agit.ai/Yoursmile7/TVBox/raw/branch/master/live.txt",
    "style": ""
  },
  {
    "articleStyle": 0,
    "customOrder": 195,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.related_box",
    "ruleContent": "\n<js>page=Number({{@@class.pagination.0@tag.a.-2@textNodes}})\nurl=baseUrl.replace('.html','_')\n\nnurl=[]\nfor(i=1;i<page;i++){\n\t\tnurl.push(url+i+'.html,{\"retry\": 9}')\n\t}\n\nhtml=src\njava.toast('稍等片刻\\n　正在飞速加载')\njava.ajaxAll(nurl).map(item=>{\n\t\thtml += '\\n'+item.body()\n\t})\njava.toast('加载成功\\n　正在获取图片')\nhtml\n</js>\n\nclass.article-content@tag.p@tag.img@src\n<js>\nli='\\n'\nlist=result.split('\\n')\nfor(i in list){\n\t\tli += '<li><img src=\"http://bpic.wotucdn.com/20/32/52/20325281-1190f9105412b42f759882ce262c2dcb-3.jpg\" data-src=\"'+list[i]+'\"></li>\\n'\n\t}\nli\n</js>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\">\n\n\n<ul id=\"box\">\n{{result}}\n</ul>\n\n\n<link rel=\"stylesheet\" href=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.css\">\r\n<script src=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.js\"></script>\n<script>\n\troot = document.getElementById('box')\n\tlazy = new IntersectionObserver(entires => {\n\t\tentires.forEach(item => {\n\t\t\tif(item.isIntersecting){\n\t\t\t\titem=item.target\n\t\t\t\titem.src=item.getAttribute('data-src')\n\t\t\t\tlazy.unobserve(item)\n\t\t\t}\n\t\t})\n\t}, {\n\t\troot: root,\n\t\tthreshold: [0],\n\t\trootMargin:\"0px 0px 500px 0px\"\n\t})\n\nimgs = document.getElementsByTagName('img')\nArray.from(imgs).forEach(item => {\n\t\tlazy.observe(item)\n\t})\n\n//查看大图插件\nnew Viewer(root,{title:false,interval:3000})\n</script>",
    "ruleImage": "class.related_box@tag.img@src",
    "ruleLink": "tag.a@href",
    "ruleNextPage": "class.pagination@tag.a.-2@href",
    "rulePubDate": "id.diggNum105@textNodes",
    "ruleTitle": "class.r_title@text",
    "singleUrl": false,
    "sortUrl": "推荐::https://www.xgmn01.com/top.html\n秀人网::https://www.xgmn01.com/Xiuren/\n美媛馆::https://www.xgmn01.com/MyGirl/\n\t蜜桃社::https://www.xgmn01.com/MiiTao/\n爱蜜社::https://www.xgmn01.com/IMiss/\n嗲囡囡::https://www.xgmn01.com/FeiLin/\n模范学院::https://www.xgmn01.com/MFStar/\n尤蜜荟::https://www.xgmn01.com/YouMi/\n\t尤美::https://www.xgmn01.com/YouMei/\n花漾::https://www.xgmn01.com/HuaYang/\n画语界::https://www.xgmn01.com/XiaoYu/\n性感::https://www.xgmn01.com/Xgyw/",
    "sourceComment": "",
    "sourceGroup": "R18",
    "sourceIcon": "https://www.xgmn01.com/uploadfile/202210/16/82111248205.jpg",
    "sourceName": "美女网",
    "sourceUrl": "https://www.xgmn01.com/",
    "style": "* {\n\tmargin: 0;\n\tpadding: 0\n}\nul {\n\tfont-size: 0;\n\theight: 100%;\n\toverflow-y: scroll\n}\nli {\n\tlist-style: none;\n\ttext-align: center\n}\nimg {\n\twidth: 100%;\n\theight: auto\n}"
  },
  {
    "articleStyle": 0,
    "customOrder": 196,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "{\"User-Agent\":\"Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1\"}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": false,
    "ruleArticles": "class.manga-list-2@tag.li",
    "ruleContent": "id.detail-list-select@tag.a@href\n@js:\nvar urls=result.split('\\n');\nurls.length=1;\nurls=urls.map(c=>\"http://www.ccrip.com/\"+c);\nvar imgs=[];\nfor(var i=0;i<urls.length;i++){\n       var ress=java.get(urls[i],{\"User-Agent\":\"Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1\"});\n      var html=ress.body();\nhtml=html.replaceAll('\\n','').replaceAll('\\t','').replaceAll('\\r','').replaceAll(' ','');\n      html=html.substr(html.indexOf('cp_img\">')+9);\n      html=html.substring(0,html.indexOf('class=\"view-bottom-bar'));\n      var igs=html.split('\"><imgclass');\n      for(var j=0;j<igs.length;j++){\n            var ig=igs[j];\n             ig=ig.substr(ig.indexOf('data-original=\"')+15);\n             if(ig.indexOf('\"></')!=-1)   ig=ig.substring(0,ig.indexOf('\"></'))\n             imgs.push(ig)\n      }   \n}\nvar h=imgs.map(d => \"<img class='lazy' data-origanl='\" + d + \"'/>\").join('');\n\n\nresult=\"<html><head><meta charset=\\\"utf-8\\\"><meta name=\\\"viewport\\\" content=\\\"width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no\\\"/><style>html,body,*{margin:0;padding:0;width:100%;}body{height: 100%;}img{width:100%;min-height: 40px;}h1{text-align: center;padding: 2em 0;}</style><script>function scrolled() { var imgs = document.querySelectorAll('.lazy'); for (let i = 0; i < imgs.length; i++) { const img = imgs[i]; if (img.offsetTop < document.body.scrollTop + document.body.offsetHeight + 100) { img.className = ''; img.src = img.attributes['data-origanl'].value } } } function init() { document.body.onscroll = scrolled;scrolled();}</script></head><body onload='init()'>\"+h+\"</body></html>\"",
    "ruleImage": "class.lazy@data-original",
    "ruleLink": "a@href",
    "ruleNextPage": "page",
    "rulePubDate": "class.manga-list-2-tip@text",
    "ruleTitle": "class.manga-list-2-title@text",
    "singleUrl": false,
    "sortUrl": "全部::http://www.ccrip.com/booklist?page={{page}}\n\n完结::http://www.ccrip.com/booklist?end=1&page={{page}}\n\n连载中::http://www.ccrip.com/booklist?end=0&page={{page}}\n",
    "sourceComment": "因为要加载所有章节的图片，所以会比较慢",
    "sourceGroup": "R18",
    "sourceIcon": "http://www.ccrip.com/favicon.ico",
    "sourceName": "爱看漫画",
    "sourceUrl": "http://www.ccrip.com/"
  },
  {
    "articleStyle": 2,
    "customOrder": 197,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "#posts .post",
    "ruleContent": "#gallery-2@img@src\n<js>result.split('\\n').map($=>`<li><img src=\"https://yskhd.com/wp-content/themes/modown/static/img/thumbnail.png\" data-src=\"${$.replace('-285x285','')}\"></li>`).join('\\n')</js>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\">\n\n\n<ul id=\"box\">\n{{result}}\n</ul>\n\n\n<link rel=\"stylesheet\" href=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.css\">\r\n<script src=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.1/viewer.min.js\"></script>\n<script>\n\troot = document.getElementById('box')\n\tlazy = new IntersectionObserver(entires => {\n\t\tentires.forEach(item => {\n\t\t\tif(item.isIntersecting){\n\t\t\t\titem=item.target\n\t\t\t\titem.src=item.getAttribute('data-src')\n\t\t\t\tlazy.unobserve(item)\n\t\t\t}\n\t\t})\n\t}, {\n\t\troot: root,\n\t\tthreshold: [0],\n\t\trootMargin:\"0px\"\n\t})\n\nimgs = document.getElementsByTagName('img')\nArray.from(imgs).forEach(item => {\n\t\tlazy.observe(item)\n\t})\n\n//查看大图插件\nnew Viewer(root,{title:false,interval:3000})\n</script>",
    "ruleImage": "img@data-src",
    "ruleLink": "a.2@href",
    "ruleNextPage": "text.下一页@href",
    "rulePubDate": "🔖 {{@a.1@text}}　⏱️ {{@.time@text}}",
    "ruleTitle": "a.2@text",
    "singleUrl": false,
    "sortUrl": "最新::https://yskhd.com/all?paged=1&c&c2&c3&c4&t\n搜索::https://yskhd.com/?s={{if(source.getVariable().match(/^\\s*$/))source.setVariable('妹');source.getVariable()}}\n秀人::https://yskhd.com/all?c=1&c2&c3&c4&t&paged=1\n丝模::https://yskhd.com/all?c=2&c2&c3&c4&t&paged=1\n雅拉伊::https://yskhd.com/all?c=15&c2&c3&c4&t&paged=1",
    "sourceGroup": "R18",
    "sourceIcon": "https://yskhd.com/wp-content/themes/modown/static/img/thumbnail.png",
    "sourceName": "优丝库HD",
    "sourceUrl": "https://yskhd.com/all",
    "style": "* {\n\tmargin: 0;\n\tpadding: 0\n}\nul {\n\tfont-size: 0;\n\theight: 100%;\n\toverflow-y: scroll\n}\nli {\n\tlist-style: none;\n\ttext-align: center\n}\nimg {\n\twidth: 100%;\n\theight: auto\n}"
  },
  {
    "articleStyle": 0,
    "contentBlacklist": ".*bcebos.com.*gif.*,\n.*hm.baidu.com.*",
    "customOrder": 198,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "injectJs": "// 选择需要删除的标签  以,分隔\nitems = document.querySelectorAll(`\n\t#ad,[class~=ad],\n\t#respond,.updlbox,h1:last-of-type,\n\t.footer_link,.shuoming,.bansheming\n`)\n\n\n// 隐藏选择的html\nArray.from(items,(item)=>{\n\titem.style.display = `none`\n})\n\n\n\n\n\n// 屏蔽首页广告\nArray.from(document.querySelectorAll(`.swiper-slide`),(item,i)=>{\n\timg = item.querySelector('img');\n\tsrc = img.getAttribute('data-src')||img.src;\n\tif(src.match(/\\.gif/)){\n\titem.style.display = `none`;\n\t}\n});",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceComment": "发布页：https://www.czzy.site/",
    "sourceGroup": "📺 影视,R18",
    "sourceIcon": "https://gimg3.baidu.com/gimg/app=2028&src=img.py1080p.com//2020/05/cropped-90b07fe57d6142-192x192.png",
    "sourceName": "厂长资源",
    "sourceUrl": "https://www.cz4k.com"
  },
  {
    "articleStyle": 0,
    "customOrder": 199,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "🎞️ 影视,R18",
    "sourceIcon": "http://xvjhy9.ganpian44.com/template/ganpian/static/picture/index-logo.png",
    "sourceName": "干片网",
    "sourceUrl": "http://www.ganpian.net"
  },
  {
    "articleStyle": 0,
    "customOrder": 201,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "📰 资讯,R18",
    "sourceIcon": "https://img.huxiucdn.com/share/article2020.png",
    "sourceName": "虎嗅",
    "sourceUrl": "https://m.huxiu.com"
  },
  {
    "articleStyle": 0,
    "customOrder": 203,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "📰 资讯,R18",
    "sourceIcon": "http://pp.myapp.com/ma_icon/0/icon_10323034_1606127172/256",
    "sourceName": "IT之家",
    "sourceUrl": "https://m.ithome.com"
  },
  {
    "articleStyle": 0,
    "customOrder": 204,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "📰 资讯,R18",
    "sourceIcon": "http://pp.myapp.com/ma_icon/0/icon_52685852_1603933852/256",
    "sourceName": "少数派",
    "sourceUrl": "https://sspai.com"
  },
  {
    "articleStyle": 0,
    "customOrder": 218,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "{\n \"User-Agent\":\"Mozilla/5.0 (Linux; Android 12; HarmonyOS; OCE-AN50; HMSCore 6.15.0.302) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.5735.196 HuaweiBrowser/16.0.3.302 Mobile Safari/537.36\"\n}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginUi": "",
    "loginUrl": "https://hanime1.me",
    "ruleArticles": "class.row no-gutter@class.multiple-link-wrapper[2:]||class.home-rows-videos-wrapper@tag.a",
    "ruleContent": "<js>\nfunction $(rule){\n\treturn java.getElements(rule);\n}\nvar tab_name=\"\",url_list=\"\",all_list=\"\";\n//获取线路❗️\ntab=$('#playlist-scroll')\nfor(i=0;i<tab.length;i++){\n\turl_list=\"\";\n\t//获取播放列表❗️\n\tlist=$('#playlist-scroll')[i]\n\tlist=list.select('.related-watch-wrap')\n\t//拼接线路\n\ttab_name+=`<li>默认<span>${list.length-1}</span></li>\\n`\n\tfor(j=0;j<list.length-1;j++){\n\t\t//获取播放链接和标题\n\t\ttext=list[j].select('.card-mobile-title').text()\n\t\turl=list[j].select('a').attr('href')\n\t\tpic=list[j].select('img')[1].attr('src')\n\t\tt=list[j].select('.card-mobile-duration')[0].text()\n\t\tnum=list[j].select('.card-mobile-duration')[2].text()\n\t\t//拼接播放列表\n\t\tif(url!=baseUrl){\n\t\t\turl_list+=`<li>\\n<div class=\"photo\">\\n<img src=\"${pic}\"></img>\\n<span class=\"duration\">${t}</span>\\n</div>\\n<div class=\"info\"><div class=\"i_box\"><a link=\"${url}\">${text}</a><span>${num}</span><div></div></li>\\n`\n\t\t}else{\n\t\t\t url_list+=`<li class=\"current\">\\n<div class=\"photo\">\\n<img src=\"${pic}\"></img>\\n<span class=\"duration\">${t}</span>\\n</div>\\n<div class=\"info\"><div class=\"i_box\"><a link=\"${url}\">${text}</a><span>${num}</span></div></div></li>\\n`\n\t\t}\n\t}\n\turl_list=`<ul class=\"play_list\">${url_list}</ul>`\n\tall_list+=url_list;\n}\n//获取简介❗️\ndesc=''\nsort=``\nintro=$('.video-caption-text').text();\n\n//最后结果，拼接完整网页\nresult=`\n<html>\n<title>${java.get('title')}</title>\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no\">\n<!--引入jquery-->\n<script src=\"https://code.jquery.com/jquery-3.0.0.min.js\"></script>\n\n<!--播放器-->\n<div id=\"MacPlayer\">\n  <p class=\"url_text\"></p>\n  <iframe src=\"\" border=\"0\" marginwidth=\"0\" framespacing=\"0\" marginheight=\"0\" frameborder=\"0\" scrolling=\"no\" vspale=\"0\" allowfullscreen=\"ture\" noresize=\"\"></iframe>\n</div>\n<div style=\"width:100%;height:29%\"></div>\n\n<!--简介卡片 -->\n<div class=\"card v_info mb20\">\n    <!--标题 -->\n    <h5 class=\"v_title\">${java.get('title')}</h5>\n    <!--状态、日期、分类 -->\n    <p class=\"v_desc\">\n       <span class=\"desc\">${desc}</span>\n       <span>${sort}</span>\n       <!--简介按钮 -->\n       <span class=\"open_content\" id=\"open_content\">简介</span>\n    </p>\n    <div class=\"v_content\" id=\"v_content\" style=\"display:none;\">\n      <!--封面图片 -->\n      <div class=\"cover\" style=\"\">\n         \n      </div>\n      <!--剧情信息 -->\n      <div class=\"content\" id=\"intro_content\">\n        <div id=\"intro\">\n       <p style=\"text-indent:2em;\">${intro}</p>\n       <!--简介展开 -->\n      <div class=\"show_more\" id=\"show_more\" style=\"display: block;\"></div>\n            </div>\n        </div>\n    </div>\n</div>\n\n<div class=\"card mb20\">\n    <!--线路切换-->\n    <ul class=\"tab_control play_from\">\n        ${tab_name}\n    </ul>\n    <div style=\"height:34px;\"></div>\n    <!--所有播放列表与排序-->\n    <div class=\"tab_content\" id=\"play_list\">\n        <div class=\"play_list_sort\" id=\"play_list_sort\">\n⇅ 正序/倒序</div>\n        ${all_list}\n    </div>\n</div>\n</html>\n\n<script>\n\t//tab按钮线路切换\n var $li = $('.tab_control li');\n var $ul = $('.tab_content ul');\n $li.click(function(){\n    var $this = $(this);\n    var $t = $this.index();\n    $li.removeClass('current');\n    $this.addClass('current');\n    $ul.removeClass('current');\n    $ul.eq($t).addClass('current');\n });\n //选择集数\n var $play_li= $('.play_list li');\n var play= $('#MacPlayer');\n var iframe= $('#MacPlayer iframe');\n $play_li.click(function(){\n    var $this = $(this);\n    var $t=$this.index();\n    //获取之前的播放链接\n    var bf=$('.play_list li.current');\n    bf=bf.find('a').attr('link');\n    //改变li标签的CSS样式\n    $play_li.removeClass('current');\n    $this.addClass('current');\n    //获取播放链接和标题\n    url=$this.find('a').attr('link');\n    title=$this.find('a').text();\n    //判断链接是否相同，不同就发送请求\n    if(url!=bf){\n    \t$('.v_title').text(title);\n    \treq();\n    }\n });\n //发送请求\n function req(){\n   var xhr = new XMLHttpRequest();\n   xhr.open('get',url);\n   xhr.send();\n   //接收返回数据\n   xhr.onload=async function(){\n      data=await xhr.responseText;\n      d=$(data).find('.video-caption-text').text();\n      $('#intro p').text(d);\n      //获取播放链接\n      data=data.match(/<source src=\".*\" type.*>/g);\n      url=String(data[0]).match(/src=\"(.*)\" type/)[1];\n      play=\"https://codjx.com?url=\"+url;\n      //给iframe的src赋值\n      iframe.attr('src',play);\n      $('.url_text').text(url);\n    };\n  }\n //播放列表排序 \n function set_sort(){ \n \t var box = $('#play_list ul.current');\n \t var el = box.find('li');\n \t var newEl = Array.prototype.reverse.call(el);\n \t for(var i = 0 ;i<newEl.length;i++){\n \t  \t box.append(newEl[i]) \n \t }; \n \t}\n $('#play_list_sort').bind('click',function(){ \n \t  set_sort(); \n \t});\n \t\n \t//-------------详情页相关-------------- \n \tvar open_content = $('#open_content');\n \tvar intro_content = $('#intro_content'); \n \tvar show_more = $('#show_more'); \n \tvar cover = $('#v_content .cover'); \n \t//展开简历块 \n \topen_content.click(function(){ \n \t\t$('#v_content').toggle(); \n \t\tvar intro_height = $('#intro').get(0).offsetHeight; \n \t\tif(intro_height > 114){ \n \t\t\tshow_more.show(); \n \t\t}; \n \t}); \n \t//内容超出显示更多按钮 \n \tif($(\"#intro\").length>0){\n \t\t var intro_height = $('#intro').get(0).offsetHeight; \n \t\t if(intro_height > 114){\n \t\t \t show_more.show(); \n \t\t \t}; \n \t} \n \t//展开更多内容 \n \tintro_content.click(function(){\n \t\t intro_content.toggleClass('auto'); \n \t\t show_more.toggle(); \n \t\t cover.toggle(); \n \t});\n \t\n \t//初始化\n   (()=>{\n   \t  $('.play_list').eq(0).addClass('current');\n\t    $('.tab_control li').eq(0).addClass('current');\n\t    url=$('.play_list li.current a').attr('link');\n\t    req();\n\t  })();\n</script>\n`\n</js>",
    "ruleImage": "tag.img.1@src||tag.img@src",
    "ruleLink": "a.0@href",
    "ruleNextPage": "page",
    "rulePubDate": "",
    "ruleTitle": "class.card-mobile-title@text||class.home-rows-videos-title@text\n<js>\njava.put('title',result)\n</js>",
    "singleUrl": false,
    "sortUrl": "首页[搜索]::/search?query={{source.getVariable()}}&page={{page}}\n\n裏番::/search?query={{source.getVariable()}}&genre=%E8%A3%8F%E7%95%AA&page={{page}}\n\nMotion Anime ::/search?query={{source.getVariable()}}&genre=Motion%20Anime&page={{page}}\n\n3D动画::/search?query={{source.getVariable()}}&genre=3D%E5%8B%95%E7%95%AB&page={{page}}\n\n同人作品::/search?query={{source.getVariable()}}&genre=%E5%90%8C%E4%BA%BA%E4%BD%9C%E5%93%81&page={{page}}\n\n开大车::/search?genre=%E8%A3%8F%E7%95%AA&tags[0]=開大車&page={{page}}\n\nCosplay::/search?query={{source.getVariable()}}&genre=Cosplay&page={{page}}\n\nNTR::/search?genre=%E8%A3%8F%E7%95%AA&tag[0]=NTR&page={{page}}",
    "sourceComment": "//需代理软件，国内无法直接访问\nhttps://img0.baidu.com/it/u=3861885980,2311145357&fm=253&fmt=auto&app=120&f=JPEG?w=500&h=731",
    "sourceGroup": "anime,R18",
    "sourceIcon": "https://img0.baidu.com/it/u=3408115311,3126171457&fm=253&fmt=auto&app=120&f=PNG?w=192&h=192",
    "sourceName": "Hanime1ᵛᵖⁿ",
    "sourceUrl": "https://hanime1.me",
    "style": "*{\n\tmargin:0;padding:0;\n}\nhtml{\n\tbackground-color:#222;\n}\na{\n\ttext-decoration:none;\n\tcolor:#222;\n}\nul{\n\tlist-style:none;\n}\niframe{\n\twidth:100%;height:100%;\n}\nh1,h2,h3,h4,h5,h6{\n\tfont-size:100%;font-weight:normal;\n}\nimg{\n\theight:auto;max-width:100%;\n}\n#MacPlayer{\n\tposition:fixed;\n\ttop:0;left:0;\n\twidth:100%;height:28%;\n\tz-index:99999;\n\tbackground-color:black;\n}\n.url_text{\n\toverflow-x:hidden;\n\twidth:100%;height:auto;\n\tcolor:#fff;background-color:black;\n\tfont-size:10px;white-space: nowrap;\n}\n\n/*块通用*/ \n.card{padding:15px 15px 0 15px;}\n.card .c_header{display: flex;flex-direction: row;justify-content: space-between;padding-bottom:20px;} \n.card .c_title{font-size:18px;color:#fff;font-weight:700;} \n.card .c_title a{color:#fff;} \n.card .c_right a{color:#666;} \n.card .clear_history{color:#FDD835;display:none;}\n\n/*详情页资料卡*/ \n.v_info .v_title,.v_info .v_title{font-size:18px;color:#eee;line-height:26px;} .v_info .v_desc{position:relative;font-size:12px;color:#999;padding-top:4px;} .v_info .v_desc a{color:#999;} .v_info .v_desc .desc{color:#FF3D00;font-weight:700;} .v_info .hr{color:#666;padding:0 4px;} .v_info .open_content{position:absolute;bottom:0;right:20px;color:#FFB026;text-decoration: underline;padding-left:10px;} .v_info .v_content{display:flex;padding-top:20px;} .v_info .cover,.v_info img{width:auto;height:100px;background:#333;} .v_info .cover{margin-right:10px;} .v_info .content{height:114px;overflow:hidden;font-size:12px;flex:1;color:#999;line-height:19px;position: relative;} .v_info .show_more{position: absolute;bottom:0;right:0;width:100%;padding:38px 0 19px 0;height:19px;background: linear-gradient(to bottom, rgba(34,34,34,0) 0%,rgba(34,34,34,1) 100%);color:#eee;text-align:center;display:none;} .v_info .auto{height:auto;}\n\n/*tab */ \n.tab_control{position:absolute;display: flex;flex-direction: row;overflow-x:scroll;width:92.3%} \n.tab_control li{flex:1;position:relative;height:30px;line-height:34px;top:4px;text-align:center;color:#666;cursor:pointer;overflow: hidden;} \n.tab_control li span{display: inline-block;min-width: 10px;padding: 2px 2px;font-size: 9px;font-weight: 700;line-height: 1;color: #fff;text-align: center;white-space: nowrap;vertical-align: middle;background-color:#FFB026;border-radius: 2px;}\n.tab_control li.current{z-index:99;height:37px;font-weight:700;color:#eee;background-image:linear-gradient(180deg, #BF360C 0%, #444 90%);border-radius: 4px 4px 0 0;} \n.tab_content{padding:12px;background: #444;box-shadow: 0 2px 8px 0 rgba(0,0,0,0.50);border-radius: 5px;} \n.tab_content ul.current{display:block;} \n\n/*播放来源、地址、排序*/\n.play_from li{flex:none;padding:0 10px;} .play_list{display:none;flex-flow: wrap;} .play_list li{display:flex;width:100%;height:auto;margin-bottom:10px;background:#222;} .play_list li a{overflow:hidden;height:20px;line-height:20px;display:block;font-size:12px;color:#999;text-align:left;} .play_list li a:visited{color:#444;} .play_list li.current{border: 1px solid #BF360C;}.play_list li.current a{color:#FEFEFE;}\n\n.photo{position:relative;flex:45;} .photo img{box-sizing: border-box;width:100%;height:auto;padding:5px;object-fit:cover;} .photo .duration{position: absolute; right: 7px; bottom:6px;color: rgba(255, 255, 255, 0.9); background-color: rgba(0, 0, 0, 0.5); padding: 3px; line-height: normal; font-size: 10px;border-radius:3px;} .info{position:relative;flex:55;} .i_box{box-sizing: border-box;width:100%;height:100%;padding:5px;} .info span{position: absolute; left: 7px; bottom:6px;color: rgba(255, 255, 255, 0.9); background-color: rgba(0, 0, 0, 0.5); padding: 3px; line-height: normal; font-size: 10px;border-radius:3px;}\n\n/*处理电影的集数宽度*/ \n.large li{width:25%;} .play_list_sort{padding-bottom:20px;color:#999;} \n\n/*遮罩*/ \n.mask{width:100%;height:100%;background:rgba(0, 0, 0, 0.5);position: fixed;left:0;top:0;display: none;} \n\n/*白天主题配色*/\n@media(prefers-color-scheme:light){\nhtml{background:#FEFEFE;}\n.v_title{color:black !important;}\n.v_desc,.v_desc a,#intro{color:#444 !important;}\n.open_content{color:#4898E0 !important;}\n#show_more{background: linear-gradient(to bottom,transparent,#FEFEFE 100%);}\n.tab_content{background:#FEFEFE;}\n.tab_control li span{background:#4898E0;}\n.tab_control li.current{color:#eee;background: linear-gradient(to bottom,black 10%,white 90%);}\n.play_list li{color:#444;background:#eee;}\n.play_list li.current{color:black;border:2px solid black;}\n.play_list li.current a{color:black;}\n} \n",
    "variableComment": "❗️需代理软件，国内无法直接访问❗️\n❗️所有分类皆为源变量搜索❗️"
  },
  {
    "articleStyle": 1,
    "customOrder": 226,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "ul.stui-vodlist.clearfix@li!0:1",
    "ruleContent": "script@all",
    "ruleImage": "a@data-original",
    "ruleLink": "a@href",
    "ruleNextPage": "page",
    "rulePubDate": "时长 {{@.pic-text@text}}😊发布:{{@class.sub@textNodes}}",
    "ruleTitle": "h4@text",
    "singleUrl": false,
    "sortUrl": "搜索::/vodsearch/护士----------{{page}}---.html\n日韩av::/vodtype/1.html\n国产系列::/vodtype/2.html\n欧美::/vodtype/3.html\n成人动漫::/vodtype/4.html\n日本有码::/vodtype/7.html\n无码中字::/vodtype/8.html\n有码中字::/vodtype/9.html\n日本无码::/vodtype/10.html",
    "sourceComment": "需要频道换源\n\n翻墙发布  http://hsck.us/\n@门牌2 http://2238ck.ck",
    "sourceGroup": "成人视频,R18",
    "sourceIcon": "https://i.postimg.cc/mgsrMMnJ/1658228022914.png",
    "sourceName": "©黄仓库",
    "sourceUrl": "http://337248.xyz/"
  },
  {
    "articleStyle": 1,
    "customOrder": 244,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\"User-Agent\":\" axios/0.19.0\"}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "$.rescont.data[*]",
    "ruleContent": "<js>\njson=JSON.parse(result).rescont;\ntitle=json.title;\nvideo=json.videopath;\nimg=json.coverpath;\nresult=\"<video src=\\\"\"+video+\"\\\" width=\\\"100%\\\" height=\\\"auto\\\" controls=\\\"controls\\\"  poster=\\\"\"+img+\"\\\"></video><p style=\\\"color:\\#000000\\;text-indent: 2em\\\">\"+title+\"</p>\";\n\n\"<html><head><meta charset=\\\"utf-8\\\"><title>丝瓜影视</title><style>body\\{background-color:\\ffffff\\}</style></head>\"+\n \"<body>\"+\n result + // 原有内容\n \"<p style=\\\"color:#666666; font-size:0.9em;\\\">视频地址：</p>\" + \n \"<p style=\\\"color:#666666; text-indent: 2em;\\\">\"+video+\"</p>\" + // 新增地址显示\n \"</body></html>\"\n</js>",
    "ruleDescription": "",
    "ruleImage": "<js>res=java.ajax(\"{{$.coverbase64.url}}\");\nbase64img=res.substring(32);\nimgSrc=\"data:{{$.coverbase64.type}};base64,\"+base64img</js>",
    "ruleLink": "https://api.sgapi004.xyz/api/videoplay/{$.id}?",
    "ruleNextPage": "$..next_page_url",
    "rulePubDate": "$.updated_at",
    "ruleTitle": "$.title",
    "singleUrl": false,
    "sortUrl": "全部::https://api.sgapi004.xyz/api/videosort/0?orderby=&page={{page}}\n国产AV::https://api.sgapi004.xyz/api/videosort/60?orderby=&page={{page}}\n无码::https://api.sgapi004.xyz/api/videosort/1?orderby=&page={{page}}\n角色扮演::https://api.sgapi004.xyz/api/videosort/4?orderby=&page={{page}}\n制服诱惑::https://api.sgapi004.xyz/api/videosort/5?orderby=&page={{page}}\n人妻熟女::https://api.sgapi004.xyz/api/videosort/6?orderby=&page={{page}}\n当红女优::https://api.sgapi004.xyz/api/videosort/9?orderby=&page={{page}}\n国产自拍::https://api.sgapi004.xyz/api/videosort/10?orderby=&page={{page}}\n长腿丝袜::https://api.sgapi004.xyz/api/videosort/11?orderby=&page={{page}}\n动漫::https://api.sgapi004.xyz/api/videosort/14?orderby=&page={{page}}\n欧美av::https://api.sgapi004.xyz/api/videosort/16?orderby=&page={{page}}\n网红主播::https://api.sgapi004.xyz/api/videosort/17?orderby=&page={{page}}\nVIP::https://api.sgapi004.xyz/api/videosort/18?orderby=&page={{page}}\n中文字幕::https://api.sgapi004.xyz/api/videosort/19?orderby=&page={{page}}\n巨乳::https://api.sgapi004.xyz/api/videosort/20?orderby=&page={{page}}\n青春萝莉::https://api.sgapi004.xyz/api/videosort/22?orderby=&page={{page}}\n重口味::https://api.sgapi004.xyz/api/videosort/23?orderby=&page={{page}}\nAV素人::https://api.sgapi004.xyz/api/videosort/24?orderby=&page={{page}}\n三级电影::https://api.sgapi004.xyz/api/videosort/25?orderby=&page={{page}}\nAV剧情::https://api.sgapi004.xyz/api/videosort/29?orderby=&page={{page}}\n推荐::https://api.sgapi004.xyz/api/videosort/30?orderby=&page={{page}}\n宅男萝莉::https://api.sgapi004.xyz/api/videosort/31?orderby=&page={{page}}\n外流视频::https://api.sgapi004.xyz/api/videosort/32?orderby=&page={{page}}\n20::https://api.sgapi004.xyz/api/videosort/tage20?orderby=&page={{page}}\n21::https://api.sgapi004.xyz/api/videosort/tage21?orderby=&page={{page}}\n恐怖色情::https://api.sgapi004.xyz/api/videosort/35?orderby=&page={{page}}\n295LUXU::https://api.sgapi004.xyz/api/videosort/36?orderby=&page={{page}}\n嫩模专区::https://api.sgapi004.xyz/api/videosort/37?orderby=&page={{page}}\n少女百合::https://api.sgapi004.xyz/api/videosort/38?orderby=&page={{page}}\n魔镜系列::https://api.sgapi004.xyz/api/videosort/39?orderby=&page={{page}}\n明星AI换脸::https://api.sgapi004.xyz/api/videosort/40?orderby=&page={{page}}\n41::https://api.sgapi004.xyz/api/videosort/41?orderby=&page={{page}}\n42::https://api.sgapi004.xyz/api/videosort/42?orderby=&page={{page}}\n43::https://api.sgapi004.xyz/api/videosort/43?orderby=&page={{page}}\n苍井空::https://api.sgapi004.xyz/api/videosort/44?orderby=&page={{page}}\n职场上司::https://api.sgapi004.xyz/api/videosort/45?orderby=&page={{page}}\n淫乱师生::https://api.sgapi004.xyz/api/videosort/46?orderby=&page={{page}}\n强上一波::https://api.sgapi004.xyz/api/videosort/47?orderby=&page={{page}}\n48::https://api.sgapi004.xyz/api/videosort/48?orderby=&page={{page}}\n近亲乱伦::https://api.sgapi004.xyz/api/videosort/49?orderby=&page={{page}}\n50::https://api.sgapi004.xyz/api/videosort/50?orderby=&page={{page}}\n淫荡痴女::https://api.sgapi004.xyz/api/videosort/51?orderby=&page={{page}}\n电车之狼::https://api.sgapi004.xyz/api/videosort/52?orderby=&page={{page}}\n偷拍::https://api.sgapi004.xyz/api/videosort/53?orderby=&page={{page}}\n萌妹酱::https://api.sgapi004.xyz/api/videosort/54?orderby=&page={{page}}\n精彩短片::https://api.sgapi004.xyz/api/videosort/55?orderby=&page={{page}}\n鹿少女::https://api.sgapi004.xyz/api/videosort/56?orderby=&page={{page}}\n中文无码::https://api.sgapi004.xyz/api/videosort/57?orderby=&page={{page}}\n扶她姐妹::https://api.sgapi004.xyz/api/videosort/58?orderby=&page={{page}}\n中外合拍::https://api.sgapi004.xyz/api/videosort/59?orderby=&page={{page}}\n60::https://api.sgapi004.xyz/api/videosort/60?orderby=&page={{page}}",
    "sourceComment": "丝瓜@js:\"https://i.postimg.cc/dtH3JT4n/1665059934047.png\"\n链接规则https://api.sgapi004.xyz/api/videoplay/{$.id}?uuid=84fc81a928ee5e58\n时间规则$.created_at\n<js>\njson=JSON.parse(result).rescont;\ntitle=json.title;\nvideo=json.videopath;\nimg=json.coverpath;\nresult=\"<video src=\\\"\"+video+\"\\\" width=\\\"100%\\\" height=\\\"auto\\\" controls=\\\"controls\\\"  poster=\\\"\"+img+\"\\\"></video><p style=\\\"color:\\#000000\\;text-indent: 2em\\\">\"+title+\"</p>\";\n\n\"<html><head><meta charset=\\\"utf-8\\\"><title>丝瓜影视</title><style>body\\{background-color:\\#ffffff\\}</style></head>\"+ \"<body>\"+result+\"</body></html>\"\n</js>",
    "sourceGroup": "🍆尤物,R18",
    "sourceIcon": "https://api.sgapi004.xyz/favicon.ico",
    "sourceName": "©丝瓜",
    "sourceUrl": "https://api.sgapi004.xyz/api/videosort/0?orderby=&page=1",
    "style": ""
  },
  {
    "articleStyle": 1,
    "customOrder": 263,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": ".item",
    "ruleContent": "link@all&&.player@all&&script@all&&.photos@all##control##autoplay muted control",
    "ruleImage": "img@src",
    "ruleLink": "a.0@href",
    "ruleNextPage": ".next@href",
    "rulePubDate": "⏱️ {{@.duration@text}}&nbsp;🏷️ {{@.series@text}}&nbsp;🔖 {{@.vol@text}}",
    "ruleTitle": ".text@text||img@alt",
    "singleUrl": false,
    "sortUrl": "麻豆傳媒::https://tw.xchina.co/videos/series-5f904550b8fcc.html\n蜜桃傳媒::https://tw.xchina.co/videos/series-5fe8403919165.html\n天美傳媒::https://tw.xchina.co/videos/series-60153c49058ce.html\n果凍傳媒::https://tw.xchina.co/videos/series-5fe840718d665.html\n精東影業::https://tw.xchina.co/videos/series-60126bcfb97fa.html\n糖心Vlog::https://tw.xchina.co/videos/series-60126bcfb97fa.html\n星空傳媒::https://tw.xchina.co/videos/series-60126bcfb97fa.html\n杏吧原版::https://tw.xchina.co/videos/series-6072997559b46.html\n性視界::https://tw.xchina.co/videos/series-63490362dac45.html\n扣扣傳媒::https://tw.xchina.co/videos/series-6230974ada989.html\n蘿莉社::https://tw.xchina.co/videos/series-6360ca9706ecb.html\nOnlyFans::https://tw.xchina.co/videos/series-61bf6e439fed6.html\nSA國際傳媒::https://tw.xchina.co/videos/series-633ef3ef07d33.html\n愛豆傳媒::https://tw.xchina.co/videos/series-63d134c7a0a15.html\n其他中文AV::https://tw.xchina.co/videos/series-63986aec205d8.html\n葫蘆影業::https://tw.xchina.co/videos/series-6193d27975579.html\nED Mosaic::https://tw.xchina.co/videos/series-63732f5c3d36b.html\n樂播傳媒::https://tw.xchina.co/videos/series-60589daa8ff97.html\n烏托邦::https://tw.xchina.co/videos/series-637750ae0ee71.html\n91茄子::https://tw.xchina.co/videos/series-639c8d983b7d5.html\n抖陰::https://tw.xchina.co/videos/series-6248705dab604.html\n起點傳媒::https://tw.xchina.co/videos/series-639377d93a682.html\n大象傳媒::https://tw.xchina.co/videos/series-60c2555958858.html\n烏鴉傳媒::https://tw.xchina.co/videos/series-601fdc25ab544.html\nMisAV::https://tw.xchina.co/videos/series-628c75371a319.html\nTWAV::https://tw.xchina.co/videos/series-62263c03a735c.html\n愛神傳媒::https://tw.xchina.co/videos/series-6405b6842705b.html\nmini傳媒::https://tw.xchina.co/videos/series-60da356dc166c.html\nCCAV::https://tw.xchina.co/videos/series-61b88a26d1e61.html\n開心鬼傳媒::https://tw.xchina.co/videos/series-609e4c6e7a174.html\nPANS視頻::https://tw.xchina.co/videos/series-63963186ae145.html\n其他模特私拍::https://tw.xchina.co/videos/series-63963534a9e49.html\n果哥作品::https://tw.xchina.co/videos/series-6396315ed2e49.html\n相約中國::https://tw.xchina.co/videos/series-63ed0f22e9177.html\n風吟鳥唱作品::https://tw.xchina.co/videos/series-6396319e6b823.html\n有碼AV::https://tw.xchina.co/videos/series-6395aba3deb74.html\n無碼AV::https://tw.xchina.co/videos/series-6395ab7fee104.html\n探花現場::https://tw.xchina.co/videos/series-63965bf7b7f51.html\n主播現場::https://tw.xchina.co/videos/series-63965bd5335fc.html\n其他亞洲影片::https://tw.xchina.co/videos/series-63963ea949a82.html\n門事件::https://tw.xchina.co/videos/series-63963de3f2a0f.html\n其他歐美影片::https://tw.xchina.co/videos/series-6396404e6bdb5.html\n華語電影::https://tw.xchina.co/videos/series-6396492fdb1a0.html\n日韓電影::https://tw.xchina.co/videos/series-6396494584b57.html\n\n情色套圖\n\n人體攝影::https://tw.xchina.co/photos/series-618e4909ea9b6.html\n麗圖100::https://tw.xchina.co/photos/series-5f1d784995865.html\nPANS新版::https://tw.xchina.co/photos/series-6310ce9b90056.html\n攝影師作品::https://tw.xchina.co/photos/series-6395a1e929f23.html\n轟趴貓::https://tw.xchina.co/photos/series-5f1ae6caae922.html\n相約中國::https://tw.xchina.co/photos/series-5f1dcdeaee582.html\n潘多菈::https://tw.xchina.co/photos/series-5f23c44cd66bd.html\n韓國模特::https://xchina.co/photos/series-5f1d345bf2a1d.html\nJVID::https://tw.xchina.co/photos/series-637b2029d2347.html\n推女郎::https://tw.xchina.co/photos/series-5f14a5eb5b0d7.html\n無忌影社::https://tw.xchina.co/photos/series-619a92aa1fa7a.html\n深夜企劃::https://tw.xchina.co/photos/series-638e5a60b1770.html\n北京天使::https://xchina.co/photos/series-622c7f95220a4.html\nA4U::https://xchina.co/photos/series-5f60b98248a81.html\nDDY::https://tw.xchina.co/photos/series-5f15f727df393.html\n東莞V女郎::https://tw.xchina.co/photos/series-5f22ea422221c.html\nFantasy Factory::https://xchina.co/photos/series-5f889afb37619.html\nTPimage::https://xchina.co/photos/series-5f7a0a80d3d66.html\nSK絲庫::https://xchina.co/photos/series-5f382ba894af4.html\nLoozy::https://tw.xchina.co/photos/series-62888afad416b.html\n美尤網::https://tw.xchina.co/photos/series-5f23c8a10708a.html\nSuper Pose Book::https://tw.xchina.co/photos/series-62a0a15911f16.html\nHT95::https://tw.xchina.co/photos/series-6030eca9efe43.html\n伊甸園::https://tw.xchina.co/photos/series-63cf9666a9239.html\n\n秀人網::https://tw.xchina.co/photos/series-5f1476781eab4.html\n愛蜜社::https://tw.xchina.co/photos/series-5f71afc92d8ab.html\n模範學院::https://tw.xchina.co/photos/series-5f181625966a6.html\n花漾::https://tw.xchina.co/photos/series-5fc4ce40386af.html\n美媛館::https://tw.xchina.co/photos/series-5f1495dbda4de.html\n語畫界::https://tw.xchina.co/photos/series-601ef80997845.html\n尤蜜荟::https://tw.xchina.co/photos/series-5f184ff551888.html\n尤物館::https://tw.xchina.co/photos/series-5f148046cb2c7.html\n蜜桃社::https://tw.xchina.co/photos/series-5f1dd5a7ebe9a.html\nFEILIN嗲囡囡::https://tw.xchina.co/photos/series-5f14a3105d3e8.html\n瑞絲館::https://tw.xchina.co/photos/series-61263de287e2f.html\n愛尤物::https://tw.xchina.co/photos/series-5f148046cb2c7.html\n星顔社::https://tw.xchina.co/photos/series-6141c88882a36.html\n影私荟::https://tw.xchina.co/photos/series-63d435352808c.html\n魅妍社::https://tw.xchina.co/photos/series-60f4691dd2f2d.html\n模特聯盟::https://tw.xchina.co/photos/series-6218cfb82b6cd.html\n性感寫真 (405)\nArtGravia::https://tw.xchina.co/photos/series-60a4a953ca563.html\n愛絲::https://tw.xchina.co/photos/series-5f15f389e993e.html\n果團網::https://tw.xchina.co/photos/series-5f1817b42772b.html\nPANS寫真::https://tw.xchina.co/photos/series-5f1482b3a68d6.html\n妖精社::https://tw.xchina.co/photos/series-5f4b5f4eb8b71.html\n蜜絲::https://tw.xchina.co/photos/series-5f2089564c6c2.html\n頭條女神::https://tw.xchina.co/photos/series-5f14806585bef.html\nPure Media::https://tw.xchina.co/photos/series-6224e755e21f4.html\n尤美::https://tw.xchina.co/photos/series-61b997728043b.html\nSLADY獵女神::https://tw.xchina.co/photos/series-605ed5233ca57.html\n推女神::https://tw.xchina.co/photos/series-5f20324cad61d.html",
    "sourceComment": "",
    "sourceGroup": "🍆尤物,R18",
    "sourceIcon": "https://img2.baidu.com/it/u=2497591018,1494490685&fm=253&fmt=auto&app=138&f=JPEG?w=375&h=500",
    "sourceName": "小黃書",
    "sourceUrl": "https://tw.xchina.co/",
    "style": "* {\n\tmargin: 0;\n\tpadding: 0\n}\nul {\n\tfont-size: 0;\n\theight: 100%;\n\toverflow-y: scroll\n}\nli {\n\tlist-style: none;\n\ttext-align: center\n}\nimg {\n\twidth: 100%;\n\theight: auto\n}"
  },
  {
    "articleStyle": 0,
    "customOrder": 269,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.row-book clearfix@tag.dl",
    "ruleContent": "class.main book@html##.*»",
    "ruleLink": "a@href",
    "ruleNextPage": "class.moble_pagination@tag.a.2@href",
    "rulePubDate": "dd@text",
    "ruleTitle": "a@title",
    "singleUrl": false,
    "sortUrl": "都市小说::https://www.40d3b.com/pic/dushi/\n乱伦小说::https://www.40d3b.com/pic/luanlun/\n校园小说::https://www.40d3b.com/pic/xiaoyuan/\n人妻小说::https://www.40d3b.com/pic/renqi/",
    "sourceComment": "##tlh",
    "sourceGroup": "18🈲,R18",
    "sourceIcon": "https://cdn.sshs.rip/42/e4/42a57308ab5eb9698a51342e1b658be4.webp",
    "sourceName": "四虎小说",
    "sourceUrl": "https://www.40d3b.com"
  },
  {
    "articleStyle": 0,
    "customOrder": 275,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": false,
    "singleUrl": true,
    "sourceGroup": "封子秦,R18",
    "sourceIcon": "http://mmbiz.qpic.cn/mmbiz_png/hpfMV8hEuL2eS6vnCxvTzoOiaCAibV6exBzJWq9xMic9xDg3YXAick87tsfafic0icRwkQ5ibV0bJ84JtSuxhPuEDVquA/0?wx_fmt=png",
    "sourceName": "十八小说",
    "sourceUrl": "https://m.po18uu.com"
  },
  {
    "articleStyle": 1,
    "customOrder": 357,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginUi": "",
    "loginUrl": "",
    "ruleArticles": "class.th",
    "ruleContent": "class.video_player&&class.container&&class.player_twocolumns&&class.column&&class.player&&class.player-holder@all\t\t\t\t\t\t\t\t\t\t\t\t\t",
    "ruleImage": "class.lazy-load@data-original",
    "ruleLink": "a@href",
    "ruleNextPage": "",
    "rulePubDate": "class.sticky_time",
    "ruleTitle": "class.lazy-load@alt",
    "singleUrl": false,
    "sortUrl": "國產自拍::https://theav28.com/categories/21c031e02ee6ad29acda82b9625b28ef/\n主播福利::https://theav28.com/categories/21dc971a5d4361143877eb09b7cd08a5/\n傳媒映畫::https://theav28.com/categories/cc1dce3873efbfae9448ff8049d72b95/\n中文字幕::https://theav28.com/categories/6eec9fd0dad785e04651354b8ddab749/\n高清無碼::https://theav28.com/categories/cd80c93db2d41150d80f5668f6e20b7f/\n高清有碼::https://theav28.com/categories/ddc1aab6fe0d5609e60d6941280b7660/\n歐美風情::https://theav28.com/categories/a0b14da040498ca8c3882059087b722c/\n三級電影::https://theav28.com/categories/6c589f4e28d3bb2944ec613ac6a25456/\n卡通動漫::https://theav28.com/categories/b83d6021cfa5cc3a3feff746a6f72b12/",
    "sourceGroup": "🎬 18禁,R18",
    "sourceIcon": "https://theav28.com/favicon.ico",
    "sourceName": "TheAVPorn",
    "sourceUrl": "https://theav28.com/"
  },
  {
    "articleStyle": 1,
    "customOrder": 379,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.video-img-box",
    "ruleContent": "class.pb-e-lg-30@script.-1@all\n<js>\nresult=result.match(/http.*m3u8/)[0]</js>\n<video src=\"{{result}}\" width=\"100%\" height=\"auto\" controls></video>",
    "ruleImage": "img@data-src",
    "ruleLink": "a.0@href",
    "ruleNextPage": "page",
    "ruleTitle": "class.title@text",
    "singleUrl": false,
    "sortUrl": "搜索🕵️::https://jable.tv/search/{{source.getVariable()}}/\n\n衣着\n黑絲::https://jable.tv/tags/black-pantyhose/\n過膝襪::https://jable.tv/tags/knee-socks/\n運動裝::https://jable.tv/tags/sportswear/\n肉絲::https://jable.tv/tags/flesh-toned-pantyhose/\n絲襪::https://jable.tv/tags/pantyhose/\n眼鏡娘::https://jable.tv/tags/glasses/\n獸耳::https://jable.tv/tags/kemonomimi/\n漁網::https://jable.tv/tags/fishnets/\n水着::https://jable.tv/tags/swimsuit/\n校服::https://jable.tv/tags/school-uniform/\n旗袍::https://jable.tv/tags/cheongsam/\n婚紗::https://jable.tv/tags/wedding-dress/\n女僕::https://jable.tv/tags/maid/\n和服::https://jable.tv/tags/kimono/\n吊帶襪::https://jable.tv/tags/stockings/\n兔女郎::https://jable.tv/tags/bunny-girl/\nCosplay::https://jable.tv/tags/Cosplay/\n\n身材\n黑肉::https://jable.tv/tags/suntan/\n長身::https://jable.tv/tags/tall/\n軟體::https://jable.tv/tags/flexible-body/\n貧乳::https://jable.tv/tags/small-tits/\n美腿::https://jable.tv/tags/beautiful-leg/\n美尻::https://jable.tv/tags/beautiful-butt/\n紋身::https://jable.tv/tags/tattoo/\n短髮::https://jable.tv/tags/short-hair/\n白虎::https://jable.tv/tags/hairless-pussy/\n熟女::https://jable.tv/tags/mature-woman/\n巨乳::https://jable.tv/tags/big-tits/\n少女::https://jable.tv/tags/girl/\n嬌小::https://jable.tv/tags/dainty/\n\n交合\n顏射::https://jable.tv/tags/facial/\n腳交::https://jable.tv/tags/footjob/\n肛交::https://jable.tv/tags/anal-sex/\n痙攣::https://jable.tv/tags/spasms/\n潮吹::https://jable.tv/tags/squirting/\n深喉::https://jable.tv/tags/deep-throat/\n接吻::https://jable.tv/tags/kiss/\n口爆::https://jable.tv/tags/cum-in-mouth/\n口交::https://jable.tv/tags/blowjob/\n乳交::https://jable.tv/tags/tit-wank/\n中出::https://jable.tv/tags/creampie/\n\n玩法\n露出::https://jable.tv/tags/outdoor/\n輪●::https://jable.tv/tags/gang-r__e/\n調教::https://jable.tv/tags/tune/\n綑綁::https://jable.tv/tags/bondage/\n瞬間插入::https://jable.tv/tags/quickie/\n痴漢::https://jable.tv/tags/chikan/\n痴女::https://jable.tv/tags/chizyo/\n男M::https://jable.tv/tags/masochism-guy/\n泥醉::https://jable.tv/tags/crapulence/\n泡姬::https://jable.tv/tags/soapland/\n母乳::https://jable.tv/tags/breast-milk/\n放尿::https://jable.tv/tags/piss/\n按摩::https://jable.tv/tags/massage/\n多P::https://jable.tv/tags/groupsex/\n刑具::https://jable.tv/tags/torture/\n一日十回::https://jable.tv/tags/10-times-a-day/\n3P::https://jable.tv/tags/3p/\n\n劇情\n黑人::https://jable.tv/tags/black/\n醜男::https://jable.tv/tags/ugly-man/\n誘惑::https://jable.tv/tags/temptation/\n童貞::https://jable.tv/tags/virginity/\n時間停止::https://jable.tv/tags/time-stop/\n復仇::https://jable.tv/tags/avenge/\n年齡差::https://jable.tv/tags/age-difference/\n巨漢::https://jable.tv/tags/giant/\n媚藥::https://jable.tv/tags/love-potion/\n夫目前犯::https://jable.tv/tags/sex-beside-husband/\n出軌::https://jable.tv/tags/affair/\n催眠::https://jable.tv/tags/hypnosis/\n偷拍::https://jable.tv/tags/hidden-cam/\n下雨天::https://jable.tv/tags/rainy-day/\n●倫::https://jable.tv/tags/inc__t/\nNTR::https://jable.tv/tags/ntr/\n\n角色\n風俗娘::https://jable.tv/tags/club-hostess-and-sex-worker/\n醫生::https://jable.tv/tags/doctor/\n逃犯::https://jable.tv/tags/fugitive/\n護士::https://jable.tv/tags/nurse/\n老師::https://jable.tv/tags/teacher/\n空姐::https://jable.tv/tags/flight-attendant/\n球隊經理::https://jable.tv/tags/team-manager/\n未亡人::https://jable.tv/tags/widow/\n搜查官::https://jable.tv/tags/detective/\n情侶::https://jable.tv/tags/couple/\n家政婦::https://jable.tv/tags/housewife/\n家庭教師::https://jable.tv/tags/private-teacher/\n偶像::https://jable.tv/tags/idol/\n人妻::https://jable.tv/tags/wife/\n主播::https://jable.tv/tags/female-anchor/\nOL::https://jable.tv/tags/ol/\n\n地點\n魔鏡號::https://jable.tv/tags/magic-mirror/\n電車::https://jable.tv/tags/tram/\n處女::https://jable.tv/tags/first-night/\n監獄::https://jable.tv/tags/prison/\n溫泉::https://jable.tv/tags/hot-spring/\n洗浴場::https://jable.tv/tags/bathing-place/\n泳池::https://jable.tv/tags/swimming-pool/\n汽車::https://jable.tv/tags/car/\n廁所::https://jable.tv/tags/toilet/\n學校::https://jable.tv/tags/school/\n圖書館::https://jable.tv/tags/library/\n健身房::https://jable.tv/tags/gym-room/\n便利店::https://jable.tv/tags/store/",
    "sourceGroup": "成人视频,R18",
    "sourceIcon": "https://missuo.ru/file/ad803bf65990e583d71d6.png",
    "sourceName": "Jable(挂vpn)#改",
    "sourceUrl": "https://jable.tv/#改"
  },
  {
    "articleStyle": 0,
    "customOrder": 398,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "",
    "ruleContent": "",
    "ruleImage": "",
    "ruleLink": "",
    "rulePubDate": "",
    "ruleTitle": "",
    "singleUrl": true,
    "sortUrl": "",
    "sourceGroup": "📖 阅读,R18",
    "sourceIcon": "https://qidian.gtimg.com/qdm/img/favicon.fb0b7.ico",
    "sourceName": "起点中文",
    "sourceUrl": "https://m.qidian.com",
    "style": ""
  },
  {
    "articleStyle": 2,
    "customOrder": 417,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 1665869775181,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.row justify-content-md-center@class.col-6 col-sm-4 col-lg-3 col-xl-2",
    "ruleContent": "[itemprop=\"thumbnailUrl\"]@content\n<js>\nresult=result.match(/hh\\/.+(?=\\/poster)/);\nresult=\"https://mymaster-uk.cyou/api/v3/\"+result+\"/master.m3u8\"\n</js>\n<link href=\"https://unpkg.com/video.js/dist/video-js.css\" rel=\"stylesheet\">\n<script src=\"https://unpkg.com/video.js/dist/video.js\"></script>\n<script src=\"https://unpkg.com/videojs-contrib-hls/dist/videojs-contrib-hls.js\"></script>\n<video src=\"{{result}}\" controls preload=\"auto\"  style='width: 100%;height: auto'></video>",
    "ruleImage": "tag.img@src",
    "ruleLink": "a@href\n<js>\nresult+=\"episode-\"+((source.getVariable==null||source.getVariable=='')?source.setVariable(\"1\"):source.getVariable()+\"/\")\n</js>",
    "ruleTitle": "tag.img@alt",
    "singleUrl": false,
    "sortUrl": "全部最新::https://hanime.xxx/hentai/<,page/{{page}}>/\n全部评分::https://hanime.xxx/hentai/<,page/{{page}}>/?m_orderby=rating\n全部热门::https://hanime.xxx/hentai/<,page/{{page}}>/?m_orderby=views\n\n无修最新::https://hanime.xxx/category/uncensored-hentai<,/page/{{page}}>\n无修评分::https://hanime.xxx/category/uncensored-hentai/<,page/{{page}}>/?m_orderby=rating\n无修热门::https://hanime.xxx/category/uncensored-hentai<,page/{{page}}>/?m_orderby=views\n百合最新::https://hanime.xxx/category/yuri/{{page}}/\n百合评分::https://hanime.xxx/category/yuri/{{page}}/?m_orderby=rating\n百合热门::https://hanime.xxx/category/yuri/{{page}}/?m_orderby=views\n\n触手最新::https://hanime.xxx/category/tentacle<,/page/{{page}}/>\n触手评分::https://hanime.xxx/category/tentacle<,page/{{page}}>/?m_orderby=rating\n触手热门::https://hanime.xxx/category/tentacle<,page/{{page}}>/?m_orderby=views\n\n熟女最新::https://hanime.xxx/category/milf/<,page/{{page}}/>\n熟女评分::https://hanime.xxx/category/milf/<,page/{{page}}>/?m_orderby=rating\n熟女热门::https://hanime.xxx/category/milf/<,page/{{page}}>/?m_orderby=views",
    "sourceGroup": "R18",
    "sourceIcon": "https://hanime.xxx/wp-content/uploads/2019/10/Logo-Hanime.png",
    "sourceName": "hanime.xxx",
    "sourceUrl": "https://hanime.xxx/hentai/",
    "style": "<style>.video-js .vjs-tech {position: relative !important;}</style>"
  },
  {
    "articleStyle": 0,
    "customOrder": 427,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "",
    "ruleLink": "",
    "ruleTitle": "",
    "singleUrl": true,
    "sourceGroup": "🛠 工具,R18",
    "sourceIcon": "https://b.bdstatic.com/searchbox/mappconsole/image/20181107/1541551479-90958.png",
    "sourceName": "心食谱",
    "sourceUrl": "https://www.xinshipu.com"
  },
  {
    "articleStyle": 2,
    "customOrder": 501,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "<js>\n//变量为零时，保存搜索关键词为\"二次元\"\nif(source.getVariable()==''){\n\tsource.setVariable('二次元')\n}else{result}\n</js>\n.clearfix@li",
    "ruleContent": "<br><h3>{{@@h1@text}}</h3>\n<h6>{{@@.special@a@text&&.relation_tags@a@text##\\s##　}}<b>{{@@.base-info@text}}</b></h6>\n\n<div id=\"box\">\n{{@@.con_img@html}}\n</div>\n<h6 id=\"loads\">加载中 </h6>\n\n\n\n<link rel=\"stylesheet\" href=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.2/viewer.min.css\">\n<script src=\"https://cdn.bootcdn.net/ajax/libs/viewerjs/1.10.2/viewer.min.js\"></script>\n\n\n<script>\n//定义box,loads\n\tvar box = document.getElementById(\"box\");\n\tvar loads = document.getElementById(\"loads\");\n\n//加载完第一页图片后，启动js\n\tdocument.querySelector(\"img\").onload = () => {\n\n//启用查看大图插件\n\t\tnew Viewer(box,{\n\t//是否显示图片标题(true/false)\n\t\t\ttitle: false,\n\t//设置播放间隔\n\t//单位毫秒，1秒=1000毫秒，默认5000\n\t\t\tinterval: 3000\n\t\t});\n\n//把loads的id改成ioad，定义i,page,url\n\t\tloads.id = 'load';\n\t\tvar i = 1;\n\t\tvar page = {{@@.pages@a.-2@text}};\n\t\tvar url = \"{{baseUrl.replace('.html','-')}}\";\n\n\n//图片懒加载，当entries<=0时结束？\n\tio = new IntersectionObserver(entries => {\n\t\tif(entries[0].intersectionRatio<=0) return;\n\n\n//for循环，一次获取3页图片\n\t\tfor(j=0;j<3;j++){\n\t\t\tfetchHtml(i,page,url);\t\n\t\t\ti += 1;\n\t\t}\n\t})\n\n//刷新loads，把\"加载中\"替换为获取的图片\n\tio.observe(load);\n}\r\n\n\n\n//通过异步加载获取图片\r\nfunction fetchHtml(i,page,url){\n\tif(i<=page){\n\t\tnurl=url+i+'.html';\n\n//加载网址并建立一个数组?\n\t\tfetch(nurl).then(res=>res.text())\n//获取图片在数组里？\n\t\t.then(text => {\n//显示当前页数\n\t\t\tbox.innerHTML += '<h4>'+i+'->'+(page+1)+'</h4>';\n\n//格式化网站\n\t\t\tnew DOMParser()\n\t\t\t.parseFromString(text,\"text/html\")\n\n//定位图片位置，获取\n\t\t\t.querySelectorAll(\".con_img\")\n\t\t\t.forEach(item => box.innerHTML += item.outerHTML.replace('<img', '<img onload=\"box.viewer.update()\"'))\n\t\t})\n\n//页面加载完之后不再显示\"加载中\"\n\t}else{\n\t\tio.unobserve(load);\n\t\tload.innerHTML=''\n\t}\n\ti += 1;\r\n}\n</script>",
    "ruleImage": "img@src",
    "ruleLink": "a@href",
    "ruleNextPage": "text.下一页@href||page",
    "rulePubDate": "div@text",
    "ruleTitle": "p@text",
    "singleUrl": false,
    "sortUrl": "@js:\n\"🔎 搜索::https://www.meijuntu.com/search/{{source.getVariable()}}-{{page}}.html\\n⭐ 三度_69::https://www.meijuntu.com/model/sandu_69-{{page}}.html\\n小九月::https://www.meijuntu.com/model/xiaojiuyue-{{page}}.html\\n\" +\n\n//热门主题\norg.jsoup.Jsoup.parse(\n\tjava.ajax(\"https://www.meijuntu.com/beauty\")\n).select(\".tags a\").toArray()\n.map(x=>x.text()+\"::https://www.meijuntu.com\"+x.attr(\"href\")).join(\"\\n\") +\"\\n\"+\n\n//热门搜索\norg.jsoup.Jsoup.parse(\n\tjava.ajax(\"https://www.meijuntu.com/search\")\n).select(\".keyword\").toArray()\n.map(x=>x.text()+\"::https://www.meijuntu.com\"+x.attr(\"href\")).join(\"\\n\")",
    "sourceComment": "网站分页多，ajax全加载太慢了。\n\n只能调用llili大佬的异步加载模板，再解析一下大致意思(也只知道大致意思，\n\n正文图片好像有一张是重复的，原因未知\n\n\n\n【实现网站搜索】\n\n刷新，刷新，刷新！\n\n列表页右上角-设置源变量(搜索关键字)-确认\n\n右上角-清除-然后上滑刷新(不清除就需要往下翻才能\"搜索\")\n\n不设置源变量会调用source.setVariable()的默认搜索关键字(需要在列表页等待一会，然后上滑刷新。有概率失败，可能是没加载js)\n\n有等待的功夫不如直接调整源变量搜索",
    "sourceGroup": "图片,R18",
    "sourceIcon": "https://www.meijuntu.com/favicon.ico",
    "sourceName": "俊美图",
    "sourceUrl": "https://www.meijuntu.com",
    "style": "/*标题相关*/\nh3{text-align:center}\nh6{margin-bottom:0}\nb{float:right}\n\n/*图片相关*/\nimg{width:100%}\n\n/*分页相关*/\nh4{\n\tborder-left:2px solid #000;\n\tmargin-bottom:2px;\n\tpadding-left:2px\n}"
  },
  {
    "articleStyle": 0,
    "customOrder": 543,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 1677570902530,
    "loadWithBaseUrl": true,
    "ruleArticles": "[class=\"card-box\"] >div>a&&[class=\"hl-vod-list clearfix\"]>li&&.row>div>ul>li",
    "ruleContent": "id.video@all",
    "ruleImage": "class.lazy@img",
    "ruleLink": "tag.a@href",
    "ruleNextPage": "//*[contains(text(),\"下一頁\")]/../@href||//*[contains(text(),\"下一页\")]/../@href",
    "rulePubDate": "span.-1@text",
    "ruleTitle": ".title@text",
    "singleUrl": false,
    "sortUrl": "今日热播::/hot-day-{{page}}.html\n本周热播::/hot-week.html\n本月热播::/hot-month.html\n搜索::/index.php?module=search&keyword={{source.getVariable()}}\n总排行榜::/hot-total.html\n短片::/10/index.html\n精选视频::/9/index.html\n\n1国产自拍::/1/24.html\n精选口爆::/1/37.html\n精品海外亚洲资源::/1/53.html\n日韩伦理::/1/23.html\n欧美情色::/1/3.html\n亚洲无码::/1/1.html\n动漫卡通::/1/5.html\n美女主播::/1/20.html\n亚洲有码::/1/2.html\n中文字幕::/1/4.html\n人妻熟女::/1/21.html\n重口味::/1/39.html\n强奸乱伦::/1/22.html\n同性同志::/1/38.html\nPornhub资源::/1/52.html\n91大神::/1/48.html\nAV解说::/1/49.html\n\n2韩国伦理::/2/27.html\n邻家人妻::/2/26.html\n长腿丝袜::/2/25.html\n欧美情色::/2/23.html\n成人动漫::/2/22.html\n网红主播::/2/21.html\n中文字幕::/2/20.html\n日本有码::/2/3.html\n日本无码::/2/2.html\n国产情色::/2/1.html\n精品推荐::/2/31.html\n国模私拍::/2/24.html\n香港伦理::/2/28.html\nAV明星::/2/35.html\n\n3有码视频::/3/28.html\n3P合辑::/3/32.html\nSM重味::/3/40.html\n大秀视频::/3/42.html\n中文字幕::/3/18.html\n欧美精品::/3/3.html\n颜射系列::/3/37.html\n日韩精品::/3/23.html\n日韩无码::/3/1.html\n国产精品::/3/4.html\n自慰系列::/3/39.html\n自拍偷拍::/3/27.html\n人妻系列::/3/16.html\n巨乳系列::/3/36.html\n强奸乱伦::/3/2.html\n制服诱惑::/3/25.html\n动漫精品::/3/20.html\n伦理影片::/3/22.html\n教师学生::/3/41.html\n口交视频::/3/38.html\n\n4国产自拍::/4/1.html\n日韩无码::/4/3.html\n强奸乱伦::/4/26.html\n动漫精品::/4/21.html\n日韩有码::/4/4.html\n欧美极品::/4/2.html\n独家DMM::/4/32.html\n童颜巨乳::/4/34.html\n激情口交::/4/36.html\nHEYZO::/4/31.html\n中文字幕::/4/20.html\nHEY诱惑::/4/33.html\n极骚萝莉::/4/22.html\n高潮喷吹::/4/35.html\n三级自慰::/4/25.html\n绝美少女::/4/37.html\n首次亮相::/4/38.html\n重咸口味::/4/24.html\n擂台格斗::/4/27.html\n辣椒GIGA::/4/28.html\n人妖视频::/4/23.html\n\n5美颜巨乳::/5/17.html\n中文字幕::/5/6.html\n欧美精品::/5/7.html\n萝莉少女::/5/15.html\n重口调教::/5/16.html\n名优中字::/5/12.html\n骑兵有码::/5/1.html\nVR无码::/5/9.html\n金发幼齿::/5/3.html\nVR有码::/5/8.html\n步兵无码::/5/2.html\n名优写真::/5/10.html\n韩美眉主播::/5/5.html\n名优综艺::/5/11.html\n三级剧情::/5/4.html\n无码破解::/5/13.html\n岛国群交::/5/20.html\n制服诱惑::/5/21.html\n同性女优::/5/22.html\nAI合成::/5/23.html\n乱伦背德::/5/24.html\n解说AV::/5/26.html\n探花系列::/5/25.html\n高丽棒子::/5/27.html\n\n6亚洲情色::/6/1.html\n国产主播::/6/2.html\n国产自拍::/6/3.html\n无码专区::/6/4.html\n欧美性爱::/6/5.html\n熟女人妻::/6/6.html\n强奸乱伦::/6/7.html\n巨乳美乳::/6/8.html\n中文字幕::/6/9.html\n制服诱惑::/6/10.html\n女同性恋::/6/11.html\n卡通动画::/6/12.html\n丝袜长腿::/6/13.html\n少女萝莉::/6/14.html\n重口色情::/6/15.html\n人兽性交::/6/16.html\n\n11亚洲有码::/11/25.html\nCosplay::/11/38.html\n传媒出品::/11/59.html\n口交颜射::/11/36.html\n精品推荐::/11/20.html\n制服丝袜::/11/35.html\n萝莉少女::/11/31.html\n强奸乱伦::/11/29.html\n人妻熟女::/11/28.html\n巨乳美乳::/11/27.html\n素人自拍::/11/39.html\n中文字幕::/11/26.html\n台湾辣妹::/11/40.html\n韩国御姐::/11/41.html\n东南亚AV::/11/43.html\n欺辱凌辱::/11/44.html\n国产色情::/11/22.html\n自拍偷拍::/11/34.html\n主播直播::/11/23.html\n亚洲无码::/11/24.html\n成人动漫::/11/33.html\n欧美精品::/11/30.html\n伦理三级::/11/32.html\n日本精品::/11/37.html\n女同性恋::/11/60.html\n恋腿狂魔::/11/63.html\n剧情介绍::/11/45.html\n多人多P::/11/46.html\n女优系列::/11/51.html\n野外露出::/11/49.html\n可爱学生::/11/52.html\n兽耳系列::/11/54.html\n过膝袜::/11/57.html\n91探花::/11/47.html\n网红流出::/11/48.html\n网曝门::/11/58.html\n古装扮演::/11/50.html\n瑜伽裤::/11/55.html\n唯美港姐::/11/42.html\n男同性恋::/11/61.html\n风情旗袍::/11/53.html\n闷骚护士::/11/56.html\n",
    "sourceComment": "色站大全::https://www.226688.one/\nJieav.com 视频\n Qinav.com 视频 \nTasexy.com 视频 \nDnaav.com 国产 \nYinmh.com 漫画 \nTxtxi.com 小说 \nQinimg.com 图片\n Rouav.com 论坛 \nJiedm.com 动漫 \nFeiav.com 无码 \nHuiav.com 女优",
    "sourceGroup": "成人视频,R18",
    "sourceIcon": "https://www.qinimg.top/static/css/logo.png",
    "sourceName": "JieAV",
    "sourceUrl": "https://www.555333.cfd",
    "style": "* {\n\tmargin: 0;\n\tpadding: 0\n}\nul {\n\tfont-size: 0;\n\theight: 100%;\n\toverflow-y: scroll\n}\nli {\n\tlist-style: none;\n\ttext-align: center\n}\nimg {\n\twidth: 100%;\n\theight: auto\n}"
  },
  {
    "articleStyle": 0,
    "customOrder": 985,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\"User-Agent\":\"Mozilla/5.0 (Linux; Android 10.0.0;  XXX Pro Build/GAMER) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36\"}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.container@class.col-md-3 col-xs-6",
    "ruleContent": "all## <script type=\"text/javascript\">var cnzz_protocol = [\\s\\S]+?</script> ",
    "ruleImage": "img@src",
    "ruleLink": "tag.a.0@href",
    "ruleNextPage": "class.pager@tag.a.-1@href",
    "rulePubDate": "class.table@span@text##\\n##·",
    "ruleTitle": "class.card-caption@text",
    "singleUrl": false,
    "sortUrl": "搜索用::https://www.yikm.net/search?name=逆转裁判\n\n\nGBA游戏::https://www.yikm.net/nes?page=1&tag=&e=2\n街机游戏::https://www.yikm.net/nes?page=1&tag=9\nH5游戏::https://www.yikm.net/nes?page=1&tag=1\n动作冒险::https://www.yikm.net/nes?page=1&tag=2\n小游戏::https://www.yikm.net/nes?page=1&tag=8\n飞行射击::https://www.yikm.net/nes?page=1&tag=3\n格斗::https://www.yikm.net/nes?page=1&tag=4\n棋牌::https://www.yikm.net/nes?page=1&tag=5\n射击::https://www.yikm.net/nes?page=1&tag=6\n运动比赛::https://www.yikm.net/nes?page=1&tag=7\n角色扮演::https://www.yikm.net/nes?page=1&tag=10",
    "sourceComment": "by ReAcg\n\n搜索name=后面填你想搜的东西，中文名如果无结果，请用英文名或者关键字,比如 king of fighters;拳皇\n\n注:有些游戏存档没法用，GBA类有单独的存档功能",
    "sourceGroup": "💠 其他,R18",
    "sourceIcon": "http://srvcn.xbext.com/touch_icons/96x96/mobile.h5_games.png",
    "sourceName": "在线游戏",
    "sourceUrl": "https://www.yikm.net/"
  },
  {
    "articleStyle": 0,
    "customOrder": 1009,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "📰 资讯,R18",
    "sourceIcon": "https://www.zhangzs.com/wp-content/uploads/2020/05/favicon.png",
    "sourceName": "涨姿势",
    "sourceUrl": "https://www.zhangzs.com"
  },
  {
    "articleStyle": 2,
    "customOrder": 1088,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "{\n\t\"user-agent\": \"Dart/3.0 (dart:io)\",\n\t\"accept-encoding\": \"gzip\"\n}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "@js:\n\n\n// host\nurl = cache.get(\"gxdm_domain\");\nif(!url){\nurl = JSON.parse(java.ajax(\"https://appto-v3-1251970844.cos.ap-chongqing.myqcloud.com/accredits/99.json\")).domain;\ncache.put(\"gxdm_domain\", url, 5e5);\n}\n\n\n// 拼接链接\nurl += java.hexDecodeToString(result);\n$ = JSON.parse(java.ajax(url)).data;\njava.setBaseUrl(url);\n\n\n// 下一页\np=$.current_page;\nif(p<$.last_page)\n\turl=String(url).replace('page='+p, 'page='+(p+1));\nelse url='';\njava.put('url', url);\n\n\n// 格式化\n$.data.map($=>JSON.stringify($));",
    "ruleContent": "<js>\njiekou = [];\njishu = JSON.parse(result).data.vod_play_list\n.map(($,i)=>{\n\n\n// 接口\n\tjiekou.push('<button onclick=\"huan('+i+')\"><b>'+$.player_info.show+'<sup><small>'+$.urls.length+'</small></sup></b></button>');\n\n\n// 集数\n\tparse = $.player_info.parse;\n\treturn '<div>\\n\\t\\t'+$.urls.map($=>'<button onclick=\"xuan(this,\\'.jishu\\')\" value=\"'+parse+$.url+'\"><b>'+($.name||$.nid)+'</b></button>').join('\\n\\t\\t')+'\\n</div>';\n});\n\n\n\n// 返回\nJSON.stringify({\n\tjiekou: '<div>\\n\\t\\t'+jiekou.join('\\n\\t\\t')+'\\n</div>',\n\tjishu: jishu.join('\\n')\n});\n</js>\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no\">\n<iframe frameborder=\"no\" allowfullscreen></iframe>\n<p><title>{{$..vod_name}}</title></p>\n<hr>\n\n\n<details>\n<summary><h3>{{$..vod_name}}</h3></summary>\n<br><img src=\"{{$..vod_pic}}\" onerror=\"this.src='{{source.sourceIcon}}'\">\n<br>标签：{{$..vod_year}} • {{$..vod_area}} • {{$..vod_score}}分\n<br>分类：{{$..vod_class}}\n<br>简介：{{$..vod_content}}\n<br><br>\n</details>\n<hr>\n\n\n<div class=\"jiekou\">\n<p>接口</p>\n{{JSON.parse(result).jiekou}}\n</div>\n<hr>\n\n\n<div class=\"jishu\">\n<p>集数</p>\n{{JSON.parse(result).jishu}}\n</div>\n<hr>\n\n\n\n\n\n<script>\n//选中标签\n$=(rule)=>document.querySelectorAll(rule);\n\n//删除active\nomit=(A)=>Array.from(A,a=>a.className='');\n\n//增加active\nactive=($,i)=>$[i].className='active';\n\n\n//切换分类\nhuan = (index) =>{\n\t\tt1 = '.jiekou button'\n\t\tt2 = '.jishu div'\n\t\tomit($(t1+'.active,'+t2+'.active'))\n\t\tactive($(t1),index)\n\t\tactive($(t2),index)\n\t}\n\n\n//选择集数\nxuan = (item,type)=>{\n\t\tbtn = $(type+' button.active');\n\n\t\tif(item.value==btn[0].value)return;\n\t\tomit(btn); item.className='active';\n\t\treturn geturl()\n\t}\n\n\n//获取资源链接\nfunction geturl(){\n\turl=$('.jishu button.active')[0].value.trim();\n\treturn $('iframe')[0].src =\n\t\t$('body p')[0].innerText = url;\n}\n\n\n\n//初始化\n(()=>{\n\t\tactive($('.jiekou button'),0)\n\t\tactive($('.jishu div'),0)\n\t\tactive($('.jishu button'),0)\n\t\treturn geturl()\n\t})()\n</script>",
    "ruleDescription": "",
    "ruleImage": "$.vod_pic",
    "ruleLink": "{{baseUrl.split('/addons')[0]}}/addons/apptov4/app.php/v1/vod/getVod?id={{$.vod_id}}",
    "ruleNextPage": "@get:{url}",
    "rulePubDate": "$.vod_type_name&&{$.vod_score}分&&$.vod_remarks\n##\\n##　",
    "ruleTitle": "$.vod_name",
    "singleUrl": false,
    "sortUrl": "今日更新::data:;base64,{{java.base64Encode(\"/addons/apptov4/app.php/v1/vod/getSchedulingLists?w=\"+(new Date().getDay()||7)+\"&page=\"+page)}},{\"type\":\"gxdm\"}\n\n\nTV动画::data:;base64,{{java.base64Encode(\"/addons/apptov4/app.php/v1/vod/getLists?type_id=1&year=&type_name=&page=\"+page+\"&pageSize=21\")}},{\"type\":\"gxdm\"}\n\n\n剧场版::data:;base64,{{java.base64Encode(\"/addons/apptov4/app.php/v1/vod/getLists?type_id=21&year=&type_name=&page=\"+page+\"&pageSize=21\")}},{\"type\":\"gxdm\"}\n\n\n变量搜索::data:;base64,{{v=source.getVariable();if(/^\\s*$/.test(v))source.setVariable('无职');java.base64Encode(\"/addons/apptov4/app.php/v1/vod/getVodSearch?wd=\"+source.getVariable()+\"&page=\"+page+\"&type\")}},{\"type\":\"gxdm\"}",
    "sourceComment": "",
    "sourceGroup": "🎞️ 影视,R18",
    "sourceIcon": "https://arlnigh.me/%E6%98%9F%E9%87%8E%E7%88%B1.jpg",
    "sourceName": "宫下动漫",
    "sourceUrl": "https://gxdm.me",
    "style": "*{\n\tz-index:0;\n\tmargin:0;\n\tpadding:0;\n\twidth:100%;\n\theight:auto;\n}\np{\n\ttext-indent:5px;\n}\nbody>p:first-of-type{\n\twidth:100.05%;\n\tposition:sticky;top:285px;\n\theight:15px;font-size:0.7rem;\n\tborder-bottom-right-radius:5px;\n\tborder-bottom-left-radius:5px;\n\tbackground:#000;color:#fff;\n\twhite-space:nowrap;\n\toverflow:hidden;\n\ttext-overflow:ellipsis;\n\tz-index:2;\n}\niframe{\n\tposition:sticky;top:0;\n\tbackground:#000;color:#fff;\n\theight:285px;\n\tz-index:2;\n}\n\ndetails{\n\twidth:90%;\n\tmargin:0 5%;\n\tpadding:10 0;\n}\nsummary{\n\twidth:90%;\n\tmargin:0 5%;\n\toutline:none;\n\ttext-align:center;\n}\nsummary::-webkit-details-marker,.jishu>div{\n\tdisplay:none;\n}\n.jiexi>div,.jiekou>div{\n\toverflow-x:auto;\n\toverflow-y:hidden;\n\twhite-space:nowrap;\n}\n.jishu>div.active{\n\tdisplay:block;\n}\n\nbutton{\n\twidth:21.65%;\n\tmargin:1.25%;\n\tpadding:5px;\n\toutline:none;\n\tborder-radius:8px;\n\tfont-size:0.7rem;\n\ttext-overflow:ellipsis;\n  overflow:hidden;\n\tposition:sticky;\n}\nbutton.active{\n\tz-index:1;\n\tcolor:#166188;\n\tleft:0;right:0;\n}\n.jishu button.active{\n\ttop:300;bottom:0;\n}\nsmall{\n\tposition:absolute;\n\tright:3;top:-1;\n\ttext-align:right;\n}"
  },
  {
    "articleStyle": 0,
    "contentWhitelist": "",
    "customOrder": 1381,
    "enableJs": true,
    "enabled": false,
    "enabledCookieJar": true,
    "header": "{\n\t\"User-Agent\": \"Mozilla/5.0 (Linux; Android 9) Mobile Safari/537.36\",\"referer\": \"{{baseUrl}}\"\n\t}",
    "injectJs": "",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.video-item",
    "ruleContent": "class.dplayer@all<js>\nresult=result.match(/http.*0/)[0]##\\</js>{{@@title@text}}\n<video src=\"{{result}}\" width=\"100%\" height=\"auto\" controls></video>",
    "ruleImage": "@js:\"https://mgtv-bbqn.oss-cn-beijing.aliyuncs.com/1/2310310103284A29582395A850D3A0F5C26862354MzFE/SrRlbr0.gif\"",
    "ruleLink": "a@href",
    "ruleNextPage": "page",
    "rulePubDate": "class.date-xxx@text",
    "ruleTitle": "class.title@text",
    "singleUrl": false,
    "sortUrl": "校园吃瓜::/category/2/{{page}}.html\n反差女友::/category/4/{{page}}.html\n主页::https://rguy.ukzqkpkk.com/category/0/{{page}}.html\n黑料吃瓜::/category/6/{{page}}.html\n今日热搜::/category/7/{{page}}.html\n近期热门::/category/8/{{page}}.html\n肥臀::/tag/35/{{page}}.html\n调教::/tag/48/{{page}}.html\n巨乳::/tag/34/{{page}}.html\n大长腿::/tag/37/{{page}}.html\n拜金母狗::/tag/31/{{page}}.html\n网红::/tag/1/{{page}}.html\n模特::/tag/36/{{page}}.html\n口交::/tag/135/{{page}}.html\n大学生::/tag/10/{{page}}.html\n偷拍::/tag/27/{{page}}.html\n御姐::/tag/40/{{page}}.html\n人妻::/tag/22/{{page}}.html\n抖音::/tag/2/{{page}}.html\n吃瓜::/tag/124/{{page}}.html\n反差婊::/tag/96/{{page}}.html\n前女友::/tag/11/{{page}}.html\n曝光::/tag/272/{{page}}.html\n自慰::/tag/313/{{page}}.html\n萝莉::/tag/41/{{page}}.html\n后入::/tag/922/{{page}}.html\n母狗::/tag/140/{{page}}.html\n反差::/tag/152/{{page}}.html\n制服::/tag/50/{{page}}.html\n社会新闻::/tag/12/{{page}}.html\n户外露出::/tag/17/{{page}}.html\n重口::/tag/47/{{page}}.html\n高颜值::/tag/275/{{page}}.html\n高中生::/tag/9/{{page}}.html\n奇葩::/tag/200/{{page}}.html\n泄密::/tag/300/{{page}}.html\n直播::/tag/28/{{page}}.html\n女上位::/tag/819/{{page}}.html\n独家爆料::/tag/3700/{{page}}.html\n绿帽::/tag/23/{{page}}.html\n猎奇::/tag/494/{{page}}.html\n桃色新闻::/tag/13/{{page}}.html\n黒料网::/tag/1393/{{page}}.html\n快手::/tag/3/{{page}}.html\n推特::/tag/7/{{page}}.html\n约炮::/tag/163/{{page}}.html\n出轨::/tag/505/{{page}}.html\n自拍::/tag/332/{{page}}.html\n美乳::/tag/97/{{page}}.html\n强奸::/tag/38/{{page}}.html\n破处::/tag/33/{{page}}.html\n户外偷情::/tag/18/{{page}}.html\n露脸::/tag/781/{{page}}.html\n历史大瓜::/category/10/{{page}}.html\n每日top10::/category/11/{{page}}.html\n周报精选::/category/20/{{page}}.html\n月榜热瓜::/category/22/{{page}}.html\n网红黑料::/category/1/{{page}}.html\n影视短剧::/category/14/{{page}}.html\n原创社区::/category/13/{{page}}.html\n独家爆料::/category/9/{{page}}.html\n明星丑闻::/category/16/{{page}}.html\n黑料课堂::/category/12/{{page}}.html\n黑料大赛::/category/21/{{page}}.html\n官员干部::/category/17/{{page}}.html",
    "sourceComment": "https://ihlw16.com/",
    "sourceGroup": "成人视频,R18",
    "sourceIcon": "http://p6.itc.cn/images01/20201202/8d012ed623d647a78635557e7d235ab6.jpeg",
    "sourceName": "黑料网🥝",
    "sourceUrl": "https://rguy.ukzqkpkk.com/",
    "style": ""
  },
  {
    "articleStyle": 0,
    "customOrder": 1382,
    "enableJs": true,
    "enabled": false,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "article",
    "ruleContent": "class.dplayer@all<js>\nresult=result.match(/http.*0/)[0]##\\</js>{{@@title@text##吃瓜必备.*}}\n<video src=\"{{result}}\" width=\"100%\" height=\"auto\" controls></video>",
    "ruleImage": "@js:\"https://mgtv-bbqn.oss-cn-beijing.aliyuncs.com/1/2310310103284A29582395A850D3A0F5C26862354MzFE/SrRlbr0.gif\"",
    "ruleLink": "a@href",
    "ruleNextPage": "text.下一页@href",
    "rulePubDate": "span@content##T##   时长:",
    "ruleTitle": "h2@text",
    "singleUrl": false,
    "sortUrl": "校园热瓜::/category/xyrg/\n搜索::/search/{{java.encodeURI(source.getVariable())}}/{{page}}/\n吃瓜爆料::/category/jrcg1/\n热门大瓜::/category/rgjx/\n网红揭秘::/category/ylgx/\n调教::/tag/%E8%B0%83%E6%95%99\n母狗::/tag/%E6%AF%8D%E7%8B%97//{{page}}/\n女神::/tag/%E5%A5%B3%E7%A5%9E/{{page}}/\n自拍::/tag/%E8%87%AA%E6%8B%8D/{{page}}/\n大学生:/tag/%E5%A4%A7%E5%AD%A6%E7%94%9F/{{page}}/\n极品::/tag/%E6%9E%81%E5%93%81/{{page}}/\n巨乳::\"/tag/%E5%B7%A8%E4%B9%B3/{{page}}/\n娱乐八卦::/category/whbg/\n极致反差::/category/fcsj/\n海角社区::/category/llzq/\n瓜友亲历::/category/gysp/\n两性禁果::/category/lpzq/\n奇闻异事::/category/qwys/",
    "sourceComment": "https://t91bl.com/",
    "sourceGroup": "成人视频,R18",
    "sourceIcon": "http://p6.itc.cn/images01/20201202/8d012ed623d647a78635557e7d235ab6.jpeg",
    "sourceName": "91爆料🥝",
    "sourceUrl": "https://h47vz1.rghnyll.com/",
    "style": ""
  },
  {
    "articleStyle": 0,
    "customOrder": 1385,
    "enableJs": true,
    "enabled": false,
    "enabledCookieJar": false,
    "header": "",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "loginUrl": "",
    "ruleArticles": "class.joe_list__item wow default||class.joe_detail__article@p",
    "ruleContent": "class.dplayer@all<js>\nresult=result.match(/http.*0/)[0]##\\</js>{{@@title@text##娱乐网红.*}}\n<video src=\"{{result}}\" width=\"100%\" height=\"auto\" controls></video>",
    "ruleImage": "@js:\"https://post.imgso.net/images/2024/03/29/fc4vts.gif\"",
    "ruleLink": "a@href",
    "ruleNextPage": "page",
    "rulePubDate": "class.items@text",
    "ruleTitle": "class.title@text||a@text",
    "singleUrl": false,
    "sortUrl": "今日通报::/category/cgkx/{{page}}/\n今日通报③::/category/cgkx/3/\n今日通报⑤::/category/cgkx/5/\n今日通报⑦::/category/cgkx/7/\n今日通报⑨::/category/cgkx/9/\n今日通报⑪::/category/cgkx/11/\n搜索::/tag/{{(source.getVariable())}}/{{page}}/\n精选大瓜::/category/jxdg/{{page}}/\n每日大瓜::/category/mrdg/{{page}}/\n午夜福利::/category/wyfl/{{page}}/\n萝莉少女::/category/llsn/{{page}}/\n海角乱伦::/category/hjll/{{page}}/\n动漫天堂::/category/dmtt/{{page}}/\n吃瓜::/tag/%E5%90%83%E7%93%9C/{{page}}/\n萝莉::/tag/%E8%90%9D%E8%8E%89/{{page}}/\n反差::/tag/%E5%8F%8D%E5%B7%AE/{{page}}/\n学生::/search/%E5%AD%A6%E7%94%9F/{{page}}/\n后入::/tag/%E5%90%8E%E5%85%A5/{{page}}/\n自慰::/tag/%E8%87%AA%E6%85%B0/{{page}}/\n口交::/tag/%E5%8F%A3%E4%BA%A4/{{page}}/\n母狗::/tag/%E6%AF%8D%E7%8B%97/{{page}}/\n网红::/tag/%E7%BD%91%E7%BA%A2/{{page}}/\n调教::/tag/%E8%B0%83%E6%95%99/{{page}}/\n抖音::/tag/%E6%8A%96%E9%9F%B3/{{page}}/\n巨乳::/tag/%E5%B7%A8%E4%B9%B3/{{page}}/\n国产::/tag/%E5%9B%BD%E4%BA%A7/{{page}}/\n自拍::/tag/%E8%87%AA%E6%8B%8D/{{page}}/\n原创::/tag/%E5%8E%9F%E5%88%9B/{{page}}/\n口爆::/tag/%E5%8F%A3%E7%88%86/{{page}}/\n曝光::/tag/%E6%9B%9D%E5%85%89/{{page}}/\n内射::/tag/%E5%86%85%E5%B0%84/{{page}}/\n清纯::/tag/%E6%B8%85%E7%BA%AF/{{page}}/\n乱伦::/tag/%E4%B9%B1%E4%BC%A6/{{page}}/\n爆操::/tag/%E7%88%86%E6%93%8D/{{page}}/\n大瓜①::https://h3fhz2.fikshp.com/archives/81016/\n大瓜②::https://h3fhz2.fikshp.com/archives/80826/\n大瓜③::https://h3fhz2.fikshp.com/archives/80532/\n大瓜④::https://h3fhz2.fikshp.com/archives/80308/\n大瓜⑤::https://h3fhz2.fikshp.com/archives/80114/\n大瓜⑥::https://h3fhz2.fikshp.com/archives/79950/\n大瓜⑦::https://h3fhz2.fikshp.com/archives/79939/\n大瓜⑧::https://h3fhz2.fikshp.com/archives/79928/\n大瓜⑨::https://h3fhz2.fikshp.com/archives/79579/\n大瓜⑩::https://h3fhz2.fikshp.com/archives/79213/\n大瓜⑪::https://h3fhz2.fikshp.com/archives/79201/\n大瓜⑫::https://h3fhz2.fikshp.com/archives/78721/\n大瓜⑬::https://h3fhz2.fikshp.com/archives/78702/\n大瓜⑭::https://h3fhz2.fikshp.com/archives/78192/\n大瓜⑮::https://h3fhz2.fikshp.com/archives/77965/\n大瓜⑯::https://h3fhz2.fikshp.com/archives/77692/\n大瓜⑰::https://h3fhz2.fikshp.com/archives/77384/\n大瓜⑱::https://h3fhz2.fikshp.com/archives/77450/\n大瓜⑲::https://h3fhz2.fikshp.com/archives/77480/",
    "sourceComment": "发布 https://9527cg.com/",
    "sourceGroup": "成人视频,R18",
    "sourceIcon": "http://p6.itc.cn/images01/20201202/8d012ed623d647a78635557e7d235ab6.jpeg",
    "sourceName": "91暗网🥝",
    "sourceUrl": "https://h46qz2.mrrypnz.com/",
    "style": ""
  },
  {
    "articleStyle": 0,
    "customOrder": 1386,
    "enableJs": true,
    "enabled": false,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "article",
    "ruleContent": "class.dplayer@all<js>\nresult=result.match(/http.*0/)[0]##\\</js>{{@@title@text##成人黑料.*}}\n<video src=\"{{result}}\" width=\"100%\" height=\"auto\" controls></video>",
    "ruleImage": "@js:\"https://mgtv-bbqn.oss-cn-beijing.aliyuncs.com/1/2310310103284A29582395A850D3A0F5C26862354MzFE/SrRlbr0.gif\"",
    "ruleLink": "a@href",
    "ruleNextPage": "page",
    "rulePubDate": "span.1@text",
    "ruleTitle": "class.post-card-title@text",
    "singleUrl": false,
    "sortUrl": "学生校园::/category/xsxy/{{page}}/\n搜索::/search/{{source.getVariable()}}/{{page}}/\n今日吃瓜::/category/jrcg/{{page}}/\n点击率榜::/category/djvb/{{page}}/\n热搜黑料::/category/rshl/{{page}}/\n必撸优品::/category/blyp/{{page}}/\n乱伦社区::/category/llsq/{{page}}/\n反差黑料::/category/fchl/{{page}}/\n猎奇重口::/category/lqzk/{{page}}/\n明星黑料::/category/mxhl/{{page}}/\n极品::/tag/%E6%9E%81%E5%93%81\n大学生::/tag/%E5%A4%A7%E5%AD%A6%E7%94%9F/{{page}}/\n学生妹::/tag/%E5%AD%A6%E7%94%9F%E5%A6%B9/{{page}}/\n女神::/tag/%E5%A5%B3%E7%A5%9E/{{page}}/\n美乳::/tag/%E7%BE%8E%E4%B9%B3/{{page}}/\n萝莉::/tag/%E8%90%9D%E8%8E%89/{{page}}/\n白虎::/tag/%E7%99%BD%E8%99%8E/{{page}}/\n极品系列::/tag/%E6%9E%81%E5%93%81%E7%B3%BB%E5%88%97/{{page}}/\n少女::/tag/%E5%B0%91%E5%A5%B3/{{page}}/\n调教::/tag/%E8%B0%83%E6%95%99/{{page}}/\n反差::/tag/%E5%8F%8D%E5%B7%AE/{{page}}/\n母狗::\t/tag/%E6%AF%8D%E7%8B%97/{{page}}/\n巨乳::/tag/%E5%B7%A8%E4%B9%B3/{{page}}/\n口交::/tag/%E5%8F%A3%E4%BA%A4/{{page}}/\n少妇::/tag/%E5%B0%91%E5%A6%87/{{page}}/\n内射::/tag/%E5%86%85%E5%B0%84/{{page}}/\n口爆::/tag/%E5%8F%A3%E7%88%86/{{page}}/\n出轨::/tag/%E5%87%BA%E8%BD%A8/{{page}}/",
    "sourceComment": "https://w461p9tp.cc/",
    "sourceGroup": "成人视频,R18",
    "sourceIcon": "http://p6.itc.cn/images01/20201202/8d012ed623d647a78635557e7d235ab6.jpeg",
    "sourceName": "51吃瓜🥝",
    "sourceUrl": "https://h476z1.cmdseacf.com/"
  },
  {
    "articleStyle": 0,
    "customOrder": 4637,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "{\"User-Agent\":\"Mozilla/5.0 (Linux; Android 10; TEL-AN00 Build/HONORTEL-AN00; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/92.0.4515.105 Mobile Safari/537.36\"}",
    "injectJs": "const video = document.getElementById('video');\n        let isDragging = false;\n        let startX = 0;\n        let startTime = 0;\n\n        video.addEventListener('touchstart', (e) => {\n            isDragging = true;\n            startX = e.touches[0].clientX;\n            startTime = video.currentTime;\n            video.pause();  // 暂停视频\n        });\n\n        video.addEventListener('touchmove', (e) => {\n            if (!isDragging) return;\n            const dx = e.touches[0].clientX - startX;\n            const duration = video.duration;\n            const change = (dx / video.clientWidth) * duration;\n            video.currentTime = Math.min(Math.max(startTime + change, 0), duration);\n        });\n\n        video.addEventListener('touchend', () => {\n            if (isDragging) {\n                video.play();  // 继续播放视频\n                isDragging = false;\n            }\n        });",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "$.model.data",
    "ruleContent": "<div class=\"container\">\n        <h3>{{$.model.title}}</h3>\n        <div class=\"video-container\">\n            <video id=\"video\" src=\"{{$.model.url}}\" poster=\"{{$.model.coverUrl}}\" controls></video>\n        </div>\n        <hr />\n        <div class=\"info-container\">\n            <p>⌚️ 时长：<span>{{$.model.durationFormat}}</span></p>\n            <p>📆 日期：<span>{{$.model.onlineTime##T|.000.*## }}</span></p>\n            <p>🎥 播放：<span>{{$.model.viewCount}}次</span></p>\n            <p>📩 收藏：<span>{{$.model.collectCount}}</span></p>\n            <p>🕵 片商：<span>{{$.model.authors}}</span></p>\n            <p>👤 上传：<span>{{$.model.uploader}}</span></p>\n            <p>🔖 标签：<span>{{$.model.categories}},{{$.model.tags}}</span></p>\n            <p>🏷 简介：<span>{{$.model.brief}}</span></p>\n        </div>\n    </div>",
    "ruleDescription": "",
    "ruleImage": "$.coverUrl",
    "ruleLink": "https://www.uaa.com/api/video/app/video/intro?force=false&id={{$.id}}&viewId=17225706561773551",
    "ruleNextPage": "page",
    "rulePubDate": "{{$.onlineTime##T.*}} {{$.tags}}",
    "ruleTitle": "$.title",
    "singleUrl": false,
    "sortUrl": "变量搜索::/api/video/app/video/search?keyword={{v=source.getVariable();if(/^\\s*$/.test(v)||v==null)source.setVariable('偷情');source.getVariable()}}&orderType=1&page={{page}}&searchType=1&size=40\n\n最新排行::/api/video/app/video/search?category=&orderType=1&page={{page}}&searchType=1&size=40\n\n观看排行::/api/video/app/video/search?category=&orderType=3&page={{page}}&searchType=1&size=40\n\n收藏排行::/api/video/app/video/search?category=&orderType=4&page={{page}}&searchType=1&size=40\n\n国产视频::/api/video/app/video/search?orderType=1&origin=1&page={{page}}&searchType=1&size=40\n\n日本AV::/api/video/app/video/search?orderType=1&origin=2&page={{page}}&searchType=1&size=40\n\nH动漫::/api/video/app/video/search?orderType=1&origin=3&page={{page}}&searchType=1&size=40\n\n自拍偷拍::/api/video/app/video/search?category=自拍偷拍&orderType=1&page={{page}}&searchType=1&size=40\n\n主播福利::/api/video/app/video/search?category=主播福利&orderType=1&page={{page}}&searchType=1&size=40\n\n制服诱惑\n丝袜网袜::/api/video/app/video/search?tag=丝袜网袜&page={{page}}&searchType=1&size=40\n\n泳装水着::/api/video/app/video/search?tag=泳装水着&page={{page}}&searchType=1&size=40\n\nJK制服::/api/video/app/video/search?tag=JK制服&page={{page}}&searchType=1&size=40\n\n女仆::/api/video/app/video/search?tag=女仆&page={{page}}&searchType=1&size=40\n\n吊带袜::/api/video/app/video/search?tag=吊带袜&page={{page}}&searchType=1&size=40\n\n兔女郎::/api/video/app/video/search?tag=兔女郎&page={{page}}&searchType=1&size=40\n\n身材样貌\n少女萝莉::/api/video/app/video/search?tag=少女萝莉&page={{page}}&searchType=1&size=40\n\n白虎::/api/video/app/video/search?tag=白虎&page={{page}}&searchType=1&size=40\n\n苗条::/api/video/app/video/search?tag=苗条&page={{page}}&searchType=1&size=40\n\n美腿美脚::/api/video/app/video/search?tag=美腿美脚&page={{page}}&searchType=1&size=40\n\n美臀::/api/video/app/video/search?tag=美臀&page={{page}}&searchType=1&size=40\n\n熟女::/api/video/app/video/search?tag=熟女&page={{page}}&searchType=1&size=40\n\n巨乳::/api/video/app/video/search?tag=巨乳&page={{page}}&searchType=1&size=40\n\n交合喜好\n颜射::/api/video/app/video/search?tag=颜射&page={{page}}&searchType=1&size=40\n\n肛交::/api/video/app/video/search?tag=肛交&page={{page}}&searchType=1&size=40\n\n潮吹::/api/video/app/video/search?tag=潮吹&page={{page}}&searchType=1&size=40\n\n口交::/api/video/app/video/search?tag=口交&page={{page}}&searchType=1&size=40\n\n69::/api/video/app/video/search?tag=69&page={{page}}&searchType=1&size=40\n\n乳交::/api/video/app/video/search?tag=乳交&page={{page}}&searchType=1&size=40\n\n内射中出::/api/video/app/video/search?tag=内射中出&page={{page}}&searchType=1&size=40\n\n刺激玩法\n捆绑调教::/api/video/app/video/search?tag=捆绑调教&page={{page}}&searchType=1&size=40\n\n痴女痴汉::/api/video/app/video/search?tag=痴女痴汉&page={{page}}&searchType=1&size=40\n\n强奸轮奸::/api/video/app/video/search?tag=强奸轮奸&page={{page}}&searchType=1&size=40\n\n3P群交::/api/video/app/video/search?tag=3P群交&page={{page}}&searchType=1&size=40\n\n奇异催眠::/api/video/app/video/search?tag=奇异催眠&page={{page}}&searchType=1&size=40\n\n出轨::/api/video/app/video/search?tag=出轨&page={{page}}&searchType=1&size=40\n\nNTR::/api/video/app/video/search?tag=NTR&page={{page}}&searchType=1&size=40\n\n角色扮演\n医生护士::/api/video/app/video/search?tag=医生护士&page={{page}}&searchType=1&size=40\n\n空中女郎::/api/video/app/video/search?tag=空中女郎&page={{page}}&searchType=1&size=40\n\n未亡人::/api/video/app/video/search?tag=未亡人&page={{page}}&searchType=1&size=40\n\n老师校园::/api/video/app/video/search?tag=老师校园&page={{page}}&searchType=1&size=40\n\n人妻主妇::/api/video/app/video/search?tag=人妻主妇&page={{page}}&searchType=1&size=40\n\nOL::/api/video/app/video/search?tag=OL&page={{page}}&searchType=1&size=40\n\n姐姐妹妹::/api/video/app/video/search?tag=姐姐妹妹&page={{page}}&searchType=1&size=40\n\n母亲女儿::/api/video/app/video/search?tag=母亲女儿&page={{page}}&searchType=1&size=40\n\nTS人妖::/api/video/app/video/search?tag=TS人妖&page={{page}}&searchType=1&size=40\n\n女高中生::/api/video/app/video/search?tag=女高中生&page={{page}}&searchType=1&size=40",
    "sourceComment": "",
    "sourceGroup": "R18",
    "sourceIcon": "https://www.uaa.com/assets/uaalogo.7acb1f90.svg",
    "sourceName": "UAA·视频",
    "sourceUrl": "https://www.uaa.com/##",
    "style": "body {\n            margin: 0;\n            font-family: Arial, sans-serif;\n            background: linear-gradient(135deg, #ece9e6, #ffffff);\n            display: flex;\n            flex-direction: column;\n            align-items: center;\n            justify-content: flex-start;\n            padding: 20px;\n        }\n        .container {\n            width: 100%;\n            max-width: 800px;\n            background: #fff;\n            border-radius: 10px;\n            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);\n            overflow: hidden;\n            margin-bottom: 20px;\n        }\n        h3 {\n            margin: 0;\n            padding: 10px 20px;\n            font-size: 0.9em;\n            background: #333;\n            color: #fff;\n            border-radius: 10px 10px 0 0;\n        }\n        .video-container {\n            width: 100%;\n            background: #000;\n            position: relative;\n        }\n        video {\n            width: 100%;\n            height: auto;\n            display: block;\n        }\n        .info-container {\n            padding: 20px;\n        }\n        .info-container p {\n            margin: 10px 0;\n            color: #555;\n        }\n        .info-container p span {\n            font-weight: bold;\n            color: #000;\n        }"
  },
  {
    "articleStyle": 0,
    "customOrder": 4801,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "@js:\ndoc = org.jsoup.Jsoup.parse(result);\n\ninfos = doc.select(\".streams_table tr[class*=border-solid belongs_to]\")\n\nlinks = doc.select(\".link_table td[width=\\\"120\\\"] a\")\n\nlist = []\n\nfor(var i = 0;i<infos.size();i++){\nlist[i] = infos.get(i) +links.get(i)\n}\nresult = list",
    "ruleContent": "@js:\nurl=String(result).match(/group-title=[\\s\\S]+(http.*com)/)[1];\nloadding=\"https://ftp.bmp.ovh/imgs/2021/05/5c31747aeb7bff4e.gif\"\n\nhtml='<head><link href=\"//cdn.staticfile.org/dplayer/1.25.0/DPlayer.min.css\" rel=\"stylesheet\"><script src=\"//cdn.staticfile.org/hls.js/0.9.1/hls.min.js\"></script><script src=\"//cdn.staticfile.org/dplayer/1.25.0/DPlayer.min.js\"></script></head><div class=\"dz\">'+url+'</div><div id=\"dplayer\" style=\"width:100%;height:300px\"></div><script>(function (){const dp = new DPlayer({container:document.getElementById(\"dplayer\"),autoplay: true,lang: \\'zh-cn\\',video: {url: \\\"'+url+'\\\",pic:\\\"'+loadding+'\\\",type:\\\"customHls\\\",customType:{custom:function(video,player){const hls=new Hls();hls.loadSource(video.src);hls.attachMedia(video);}}}})})()</script>'\nresult =html",
    "ruleDescription": "",
    "ruleLink": "a[class*=download]@href",
    "ruleNextPage": "page",
    "rulePubDate": "@js:\nliveliness = \"{{@@class.live.1@text}}\"\n\ndays = \"{{@@class.mature@text}}\"\n\nchecked = \"{{@@span[title*=last]@text}}\"\n\nstatus = \"{{@@div.state@text}}\"\n\nif(status==\"+\"){\nstatus = \"✔️\"}else{status = \"❌\"}\n\nresult = '活力: '+liveliness+'%   天数: '+days+'   状态: '+status+'   检查: '+checked",
    "ruleTitle": "span.channel_name@text",
    "singleUrl": false,
    "sortUrl": "新频道::https://iptvcat.com/new_channels-6/{{page}}\n中国::https://iptvcat.com/china_-_-_-/{{page}}\n日本::https://iptvcat.com/japan_-_/{{page}}\n韩国::https://iptvcat.com/south_korea_-_/{{page}}\n英国::https://iptvcat.com/united_kingdom_-_-_-_/{{page}}\n美国::https://iptvcat.com/united_states_of_america_-_-_-/{{page}}\n马来西亚::https://iptvcat.com/malaysia_-_-_-/{{page}}\n阿联酋::https://iptvcat.com/united_arab_emirates_-_/{{page}}\n乌克兰::https://iptvcat.com/ukraine_-_-_-/{{page}}\n新西兰::https://iptvcat.com/new_zealand_-_/{{page}}\n法国::https://iptvcat.com/france_-_-_-/{{page}}\n瑞士::https://iptvcat.com/switzerland_-_/{{page}}\n泰国::https://iptvcat.com/thailand_-_/{{page}}\n越南::https://iptvcat.com/vietnam_-_-/{{page}}\n捷克::https://iptvcat.com/turkey_-_-_-_/{{page}}",
    "sourceComment": "不能看的解决方案：\n\n1-调用外部播放器(比如mxplayer pro等 ,谷歌商店才几刀)，选择流媒体播放\n\n2-梯子\n\n3-在维护，等待\n\n绝大多数都能看，且直连，网站自动维护",
    "sourceGroup": "🎞️ 影视,R18",
    "sourceIcon": "https://iptvcat.com/assets/favicon/favicon.png",
    "sourceName": "全球电视直播",
    "sourceUrl": "https://iptvcat.com",
    "style": ".dz {\npadding:5px 0;\noverflow:scroll;\nbackground:#1C1B1E;color:#D3D3D3;\n}\n\nbody{\nmargin:0;\nbackground-color: #333333; \n}"
  },
  {
    "articleStyle": 0,
    "customOrder": 4802,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "",
    "ruleContent": "",
    "ruleDescription": "",
    "ruleImage": "",
    "ruleLink": "",
    "rulePubDate": "",
    "ruleTitle": "",
    "singleUrl": true,
    "sortUrl": "",
    "sourceGroup": "🎞️ 影视,R18",
    "sourceIcon": "http://g.hiphotos.baidu.com/normandy/pic/item/c8177f3e6709c93d36585710933df8dcd00054aa.jpg",
    "sourceName": "好看视频",
    "sourceUrl": "https://haokan.baidu.com"
  },
  {
    "articleStyle": 0,
    "customOrder": 4803,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "{\n    'User-Agent': 'Mozilla/5.0 (Linux; Android 11; Pixel 3 XL Build/RQ3A.211001.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/102.0.4988.0 Mobile Safari/537.36 SearchCraft/3.9.2 (Baidu; P1 11) '\n}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sortUrl": "",
    "sourceGroup": "🎞️ 影视,R18",
    "sourceIcon": "https://s1.hdslb.com/bfs/maoer/assets/images/index/favicon.ico",
    "sourceName": "猫耳FM",
    "sourceUrl": "https://m.missevan.com/"
  },
  {
    "articleStyle": 0,
    "customOrder": 4805,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "🎞️ 影视,R18",
    "sourceIcon": "https://www.subaibai.com/wp-content/uploads/2019/07/8486f5ef0a1060.ico",
    "sourceName": "素白白影视",
    "sourceUrl": "https://www.subaibai.com"
  },
  {
    "articleStyle": 0,
    "customOrder": 4823,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "",
    "ruleTitle": "",
    "singleUrl": true,
    "sortUrl": "",
    "sourceGroup": "🎲 娱乐,R18",
    "sourceIcon": "",
    "sourceName": "格斗出招表",
    "sourceUrl": "https://www.spmoves.com/"
  },
  {
    "articleStyle": 0,
    "customOrder": 4824,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "data",
    "ruleImage": "pic",
    "ruleLink": "playlink",
    "ruleNextPage": "page",
    "rulePubDate": "{{$.category}}😊{{$.html5introduce}}",
    "ruleTitle": "title",
    "singleUrl": false,
    "sourceGroup": "🎲 娱乐,R18",
    "sourceIcon": "",
    "sourceName": "4399变态版在线玩",
    "sourceUrl": "http://h.4399.com/data/android_s148_{{page}}.js?t=1650965242"
  },
  {
    "articleStyle": 0,
    "customOrder": 4833,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "💰 正版,R18",
    "sourceIcon": "https://tse2-mm.cn.bing.net/th/id/OIP-C.JSsCfWzbp6kBKtpvNu_1mAAAAA?w=194&h=155&c=7&r=0&o=5&dpr=3.3&pid=1.7",
    "sourceName": "纵横天下榜单",
    "sourceUrl": "https://m.zongheng.com/rank"
  },
  {
    "articleStyle": 0,
    "customOrder": 4834,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "💰 正版,R18",
    "sourceIcon": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAsJCQcJCQcJCQkJCwkJCQkJCQsJCwsMCwsLDA0QDBEODQ4MEhkSJRodJR0ZHxwpKRYlNzU2GioyPi0pMBk7IRP/2wBDAQcICAsJCxULCxUsHRkdLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCz/wAARCAFRAa0DASIAAhEBAxEB/8QAHAABAAICAwEAAAAAAAAAAAAAAAQGBQcBAgMI/8QAWBAAAQMDAgIDCggJCAcGBwAAAQACAwQFEQYSITEHE0EUIjJRVWFxgZTTFRYXNkKRtNEjM1JUYnJ0obE0dYSSk7PS8CRTVoKissE1N5Wk4fFDZHODhaPD/8QAGwEBAAIDAQEAAAAAAAAAAAAAAAQFAgMHAQb/xAA7EQEAAQIDBAcFBQcFAAAAAAAAAQIDBAURBhIhMRMUQVFxgcFCUmGh0RUWMrHwIzM0U2KC4SIkQ3KR/9oADAMBAAIRAxEAPwDbiIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAuPGuVjbtebXZoevrZtu7IiiYN00zgM4jbw9ZJAHjXkzEcZZ0W6rtUUURrM9jIoFrip6RasuIorbCxmTh1VI+RxHnbFtA/rH1qN8ol8/Mrf8AVUe8UfrVvvX9OzWY1Rr0ennDaPFOK1d8ol8/Mrf9VR71PlEvn5lb/qqPerzrVvvZfdnMfc+cNo8U4rV3yiXz8yt/1VHvU+US+fmVv+qo96nWrfefdnMfc+cNo8UWrvlEvn5lb/qqPep8ol8/Mrf9VR71OtW+8+7OY+584bRXC1f8ol7/ADK3/VUcf/2rI0PSJE57WXKgMTHcHTUj3SbPOYngOx6HE+Zexirczpq13NnMxt0zVNvXT4wv+excjko1LV0tbDFU0k7JoJBlj2HIPjB7c9hUkZwpPPjCgqpmmd2rmIiI8EREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQFwuU8aCPVVENJT1VVOcQ00Uk8pHPZG0uOB4+HBaPudxqrrXT1tSe/kPeMBOyGIHvY2DxBbY1g8s05eCOBLKZvqdURtK01y4nOAOz6vu+tVmNrneil0PZDC29yvFVc9dPCNIn1FyrLSaI1RVNa8w09K1wyO6pu+x+rCHn94Wat/R9URVdNJX1VNPSscTPCxsrTINpw0EEHng+pRabFyrlS+jv59gbOsTciZju4+XioHoXC2fedD2g0VQ+00kza5rWmnY2peWPO9u4OE7iOWccQtcVlDX0EnVVtLNTP8AotmZt3fquGWn1FLlmq3+KGzL84w2YUzNudJ7p5+Oms8EdETx8sc1pXDlcLIUFlvV02mhoZpmHh1pwyEf/ckIafUSrBB0e3+QB01RQw5HBodJK4enDWj/AIitlNquuNaYVuIzXB4adLtyNfH0U9cq6v6O7wAdldRud2BzJWD6xu/gsJctL360xSVFVTxmmjLQ+eCVr2N3EMGQ4NdxJA8HtXs2LlPGYa7OcYHEVRRRcjWUrSF7ltlyhpnvPcVfIyCVpPBkzyGMlA9OGn0+ZbfHIL573Fvfg8WEOb5iOK+g4zljCO1oP7lPwVczTNMvidrsLRbv0XqY41a6+TsiIp74kREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQV3Wnzau/9E+0xLTh7M8Bkczgc88Stx60+bV3/on2mJad4jjxxz4fUD/nxqpxn44n4OnbJRrgbkT73pDd9RfbBRNa2puVGx4a0lgka+QDA+hHl37lHptVaarauCipawyVE7iyNogqGtcQ0vPfPYByBWuaTRmqatocKOKnY7iDVzNYcH9GMOd9YCsFj0XebZdrbX1FRQuippHvkZC6YvO6J8fDcwDtUim7eqmNKeCgxGV5XYt1a4jeriJ0iNNNfn+a/wAkkcTTJI9kcYxufI5rWjJAGS44XlUU1JWROhqYop4JBhzJGB7XBY/UtLV1tkulLSxmWeWOMRxgtaX4lY8gF5DeQPatW0t01Pp2ZsQfU02CT3LWMcYHjtwyThjztIPnWy7fi3VFNUawrssymrH25rs3IiuJ5T+bJ6u01SWU01VRyPFNUzOi6iTvjE4N3d64/R4dqzGlNI2uWjorrcAKp9TG2eGB7fwEIPLc0+EfTw48uGThNRanp79b7bD3PJDVwTvknHB0JGzYDG7O7j5x6zzMmHWpt9ltlutsB7rhpY4ZqipwY43NGCY4weOezJA8xUSJsxc3p5PqrlrNbuX27Ma78zMTPw+M93xjm2Y+SmpYt8r4oIWADdI5sbGjsGXEBYebVulIC4PukLsH/wCAyab6jEwj961cItT6jlMjWV1e8kjrHZ6lh7Q179sLfRwWVh0DqeUAyGhgBGcSTPe4HxHq4yP3rd1mur93RwVf2DgsP/HYjSruj9T+S/UeqdN3CohpKStL6iYuEUboKhhcWtLzgvYG8gTzXhrM50zdvTR/a4lgLFou82y7W6vnnonRU0kjpGxOmLyHQyRjG5gHMhWDWnzZu3po/tcS2b1dVqqa40lWzYwlnMbNOEr3qdadZ+O94Q00/wAF36rv4L6Ei/Fx/qN/gvnt/gu/Vd/BfQkX4uP9Rv8ABacFzq8vVfbZ87Pn6O6IisXPxERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERBXdafNq7/ANE+0xLThzw48zwW49afNq7/ANE+0xLTnrx51VYydK4n4OnbIRrgq4/q9Ib5mr7dRsYayrpqfvR/KJo4yeHYHEFRob/p+onipae40stRK4tjjiduLiAXHGOHIFajprBqOtaJILbVuaQNskrRECOwtM5GR6F76TwNR2L/AOvN6v8AR5VsjFVa007vNUVbN4amzcuRe3qqY1mI0/y3RkYUasoaC4Qup6yCKaJ30JGh3HxjtB84IKx2qYpprBd4oI5JZXRRbWRMc+Q4mY47Wt48gT6lrS26o1FaJGxdfJNFGdslLXb3beHggv79p/zgqRdv026opq7VNluUXsbam9h643qZ5cp7OKZqzTMFjMFVSzOdSVMpibFLkvieGl57/tbw7ePnPNZjS2j7bUUlHdbjio7oYJoKbiIGNdyMg5uPqx5jzWN1RqO3Xy22tsLZI6mKpfJPDI0kRjZjIeOBB7P4DGFetL/N6xZ/MYfV3vJRrdFuu9OnGF9j8Zj7GV24u1TFc1TE9+kfrn2ssyOKKNrGMYyKNuGtaA1jWjxAcFAnv2nqYubPdKFrm+E0Tse8dnFrCStZ6lq73cb3daCOWrqYqepdHFS04fI1oAAH4OLPryvCHSGrZwC22mNpxgzzQRn+ru3fuWdWJq1mKKeSHYyDD9HTexmIinejXTx8fo2fHqbS8hw27UYP6cnVj63gBQNXVFNUaXu0kEsUrCaPv4ntkb/Kou1pIVEfonVrBnuKKTzR1EWfqeWrE1drvNvDhWUVVTsOA5z2ExE54DewlmfSVhViLm7MVUJ+GyPA9PRcw+IiZiYnThOuk69miC/wX/qn+C+g4jmOM/oN/gvnx/Brs89rsr6Di/Fx/qN/gmB9rye7Zc7Pn6O6IisnPxERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERBXdafNq7/wBE+0xLTh8XoW49afNq7/0T7TEtOHs9IVTjfxw6bsl/A3P+3pD6BGDGM/kf9FpnSfzjsXjM832eVbmHFg/VA/ctb6e0pqOgu9rrqqCBsNPLI6Utna54BhkjGAB4yFKxFNU1UTEcp+j5zJcTas4fFU3KoiaqeEd/NssrG3Ky2e7MLK6ljkOMMlA2zR+dkjO+H149K8NStrHWO6ijE5qeriMQpt/XZbKxxLNnfZwDyWv7brXUFukENfurI2HEkVUDHVM8YEmM5/WB9Szu3aKaopr7UHLstxOJtziMLV/qpnlrpPjCNqTTE1hfHI2cTUdS9zIXOAbKx4G7ZI0d6fMRj0BbI0tx09Yv2KH1cFS9X321Xq2Wl9FLmVtTI+WGTLZYh1ZHfDiPRxKyFFq60WfT1mgZmqrmUccZp4yWCNzRg9dIRgfUT5u1RrU27dydOS+x9vHY7L7NFyiZub0xPDx5/Veo4YIy8xxMYXuL37GtBc483OwuJailg/HTwx55dbIxn/MVqOp1Hq6+SOhp5KraT/J7Ux4DQ44Ae6PL/rcusWjtXVGZHUGzccl1TPCHHPaQHErZ1rX93Tqhxs7FuP8Ae4imie7n9G22V1vkcGsrKV7jyDJ4nH6mlYXWePi1dz4zRfaolQX6H1YwZFJA/txHUx59Hf4WPrKTU1vgfT1kNxgpXFu9j3SGlLg4EZLCYs5x2rGvEV7sxVTolYTJMNF+iuxiaatJidPCfFin8n+Laf4L6Diz1cf6jf4L58f4LvO1y+g4s9XH+o3+CxwPteSTtn/w/wB3o7oiKyc+EREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREFe1p82rv/AET7TEtN+L1Lcusml2m7uAMkNpneoVERWm+I5H/PYqnGcLkS6bsjGuCuR/V6Q38+WCCNr5ZY4mYHfSvawcvG4gKGb5p9rtrrtbQ7xd10+c/1lo+SWaZ2+aSSR+MZlc57gOWBuXX/AD2LPrs9yLRsbHt3v/I/y37DU0lSM088Mw7TDIyQf8BKiXKz2i6xGOtpY5MDDJANsrD+hI3vh9a0cx8kbw+NzmPbxa5hLXA+YjirHa9Z3+3mNk0praccDFVO/C4/Qn4u+vI8yyjF0VcK4Rb2yuJw/wC0wtzWY8pd9QaPuFp3VFJ1lXROdjLGl1REXHAa9jAcjxED1Dtyth0K6UR1d73NYcOZQxuLXEcx3Q8cf90H0nsFvs1/tV8iLqV5bPGMzU8uBNHnhnAOCPER+7kMfftYWyzukpqdoq69vAxsdiKE8vwz254+YD6uay6GxH7TXgjzmubXo6hTTO/HOeU6frtWCmo6OjiZBSU8MELBgMhY1jfqaus9xtdMSKmuo4S3mJqiJhHqc4FaduWpNQXMuFRWyNhOcQU+YYQD2FrTx9ZKw6xnG0xwohLsbIXbkb2Ju6T8OPzb1jvNilOIrpbnnOMMqoCfq3LF6yc12mbs5pDmnuM5acg/6XDyIWnV6tmnbE+ESyiF5BfGHu6txByCWA4Kwqxm9TMTCZa2Tixeou0XfwzE8u6de95O8FxH5JX0HFjq4sctjf4L59IJ4DmeAHjJOF9BxghkYPMNaD6cLLA+15NG2fOz/d6OyIisnPhERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBcLlEEaspoqykq6SYEx1MMsEmOe17S0kefjwWjrhQVVtrKiiqm4khcRuwQ2Vh8GRn6J5rfPiWJvNhtd7iDKuPErMiGeLvZos9gdjl4weCjYix0saxzfRZFnH2bdmLka0Vc/q0iiu1V0eXhjz3HW0kzCTjr2yQPx59geFG+T/VH5ds/t5/cqs6vdj2XRKc/y+qNYuwqS54K2fJ/qj/WWz+3n9ynyf6n/Ltn9vP7le9Xue6y+3cv/mwq8M89O9stPNLFK0OAfC9zHtBGDhzT29q8zkkk8SSST4z61bPk/wBT/l2z+3n9ynyf6o/Ltn9vP7lOgu+6xjOstid6Lkaqkitvyf6o/wBZbP7ef3KfJ/qj/WWz+3n9ynV7nusvt3L/AObCpLlWz4gao/Ltvqnn9yshQdHdSXtdc65gYD30VEHF7h4utkxj+p606vcnho13NoMvt073S6sHpKzyXW608jmHuKgkZUVL8d6ZGEPjhB8ZOCfMD4+O4xyCiUNBRW2njpaOFsUMecNbwOTzc48yTzKmBWliz0VOna5pnGaTmWI6XTSmOER+u0REW9TCIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIvCeroqUtFTUwQl4cW9dIxhIHPG4oPdFC+FrN5Rov7eL70+FrN5RovaIvvQTUUL4Ws3lGi9oi+9PhazeUaL2iL70E1FC+FrN5RovaIvvT4Ws3lGi9oi+9BNRRYrhbJ5GxQVlNLK4EtZHKxziGjJwGlcV0ksdMXQv2SGalia/a0lolnZGSA8EciexBLRVo19zDZpjPU9zt4NIiZv72Qsc4u7kMeOX0v/TJXGeoiFHTRmoa6p3sfUwxtklaI27iI2YxvcM4JbgcTg4wQyaLBx3CsldA0uaPw9C0uaxzTI189TC/cx3EE7BkcfSRxMqulubJI4YjStiqi+njmeZOsjkMReCQOHHDserxoMkixtDPcZnzNmNI6GmkNO+SLrN0krGNLy3dwwCS0+cFRZ6y4sllc5j4o2SiRrX9cQ2KJzmO3uipns2vAB8LIznzIM4ixluqqqaGeWYbmkGoglY53VSMfuIYwPjY4bcY4tPj7VzTMrailpJm18zOujE+DHTvIEp6xrC4s+iDtBwM4QZJFjWVdQy1VNW9zZJoG1p3OAa13UySMG4MwMYHHioc1xmgZWVAu1plLIC9sAaQN0TXuwzE5OXcPHyQZ5F1aSWtJ4ZAJ+pRTdLO0ua64UYc0lrgZ4sgg4IPFBMRQvhazeUaL2iL70+FrN5RovaIvvQTUUL4Ws3lGi9oi+9PhazeUaL2iL70E1FC+FrN5RovaIvvT4Ws3lGi9oi+9BNRecM9PUMEkEscsZJaHxODm5HA4I4L0QEREBERAREQEREBERAREQEREBERAREQEREBERAREQE4IvGeqpKbaamoggDyQzr5WR7iBk7S8hB7cE4Kqaq1hR6et0FdStpLjJJWRUphjrI2FjHxyv6zLA88NoHLt+vtpjV9FqC2Or6vuS3yComgEElZE47GBpD8vDTxzjl2edBaeCcFHlrKGFkUk1VTRxyjMTpZo2NkGM5Y5xAK8/hSz+UaD2mH/ABIJnBOCjw1tBUPLKerppnhu4thmje4N8ZDDnCkBAUSthnnZEyIxhraiCaXrNwDmwu60MBAPNzWg8OAJ58lLVD1lr6XStypre21sqxPQx1nWOqXQ4L5ZYtgaI3ctuefagzws0znSdaKMOERMcrYg8y1Dpe6HOkiLA0MB73AJJb9IYU+spqmobROHVGSB7nSNMssLXB8To3bJIgXjicjgutLebVPTUk766hjfNBFK9ndUJ2OewOLc57F6/Cln8o0HtMP+JBCjt1Wx1GOrpWMZNG+R0ckmWQwPlfFBGwxgO8LvnFw4k81JrKetqy6HrYoqI7C57A51U9wO7vCcNbggEO74+jGVPaQ4AgggjII4gg8iCuUECjpq2jMdP1kElFGxwjd1bmVIdnPflpLDntOAe3mvCttzp+qijDzFJNFJUumrq0gNbK2QtZBlzDuwR4Qxz7F11LeXafslxu7acVDqTufEJk6oP62eODww04xuzy7Fi9Gatl1ZT3Kd9Cyk7jmiiDWzum3h7C7JyxqCxtpYomzCIyl0rC38NPPMORAwJXO4cV1giqaehpIWNikngpoItpe6ONzmNa09+GuOOf0SpaFBjO4al1uZRudEHyzF9SWF+wRyVBnkbHkZ5HaOXj8yyWARggYI4gjhg9hUZ9xtcT3xyV1GyRhLXsfURNc0+IgnK6m6WfyjQ+1Qev6SCYOAGMY7E4LXVb0lCl1J8BR26nlg+EKSj7uFcAzZOYwZMNYW97uP0+zs7Lz8KWfyjQe1Q/4kEzgnBRWXC2SvbHFXUckj+DGR1ETnuP6IDsrFap1JT6Wt0FwnpZalktZHRtjhe1hDnxyShxLhjHe49aDP8E4LWkPStHOzfBpq6ysyQHwuD2kjztZhd/lQf/spev3+7QbI4JwWuPlQf/spevqPu15TdK0VO0Pn01dYWOdtDpnhjS7xAuYBn1oNmIsLpq/w6ktcV0hp5Kdj5p4eqkc1zgYnYzlvBZpAREQEREBERAREQEREBERAREQEREBERAREQEREBERAVa1NpTT+o30Ml1mqInUzZY4DDOyEESFriCHtOeQVlVI19adIVUFvuOpK240kFLI+kgdQ7XbpKgdYQ5hhkPJh44HJBR9c6N0vp6z09ba6iplqJLjBTOE1RFM1sToZnnDY2A82t4/eu+idFaWv9ldX3SoqoqkVtRDiKphiaY42sI717HHtPHKxeodP6LptNwX3TtbdKpr7uy2uNeYw0fgJZXYaIGOzwbxysponQNh1LZTcq6oucU4rZ6cNpZadkZZG1hBxJC454ntQX+76L0tdaKwUdbPVR09ppRSUDo6mJhfFsjblxewgkhreSr9X0a6EgpKyZlZWufDTVErA6tpyC5kbnAECMLC9KtFBbqbQtvgLzDRUVbSQmU7nlkIpY2l54DPDxKbp3oy0xd7JZ7lU1d3ZPWUrJ5WwTUrYw52eDA+nc7HrKDB9EfznrP5mqvtFMtr3rV2mNP1MVJdax0FRLA2pY1tPUS5iLnRg5iaQOLSoWndCWHTFdLX0FRcpJpKZ9K4VksD4xG97JCQIoWHPejt/9NddL/zhtfj+BYftVT2oL/8AKZ0f+U5PYq33a1Z0i3yz6gvVFWWqd09PFa4aZ73RSREStnnkIAlAPJw7FuC06Z0nJarPJLYLO6WSgo3yOkoKUvc90LSS4lhOfHxU34raO/2esn/h9J/gQagp6LoTNPTGou15bUGGMztbHPtbLtG4DFMeGc9q9e4ugzBPwxe/R1c/Hh+yrbXxW0d/s9ZP/D6T/AtN9KNBbrdqChgoKOlo4HWenldFSQxwxueaipaXFsYAycAcuxBtfUN1ksWkqi52sRPNJTW8UfdLXOY6KSaGAF4y0+C7zKjWXWPSvqFlVJabfaJ2Ur42TFzWw4c8Egfhqhqsusv+7ir/AJvsv2ilWD6G/wCR6m/aaL/kkQQdV1XStNYLqy+22109qIpO6pKd8JlbipiLAwNqHnwtueCxGg6jpAhpLqNL0NDUwmohNU6rdE1zZNh2hvWTM4Y8y2Z0kfMvUP8A+O+306rXQ5/INR/tlL/duQLnqDpjtFDU3G4WyzQ0dP1XWyAxSEdZI2JuGx1JPMjsWc6P9UXfU9Nd5rk2la6kngii7mjfGCHsJduDnu8SkdJPzLv/AKbd9up1W+hz+Q6j/a6T+7eg51voKyQ2zUuoKQ1rriZXXCRj5mOhzLUNfOQ3ZnABcfC7FWOj/SundURXhlxfWsqqKSnczuaZkbXQyteM7XMdkgtOePat51MEFVT1NLOzfBUwS08zDyfHI0sc0+kFaGtc9V0eayfDW7+49zqWoeG56+gmO6OoYAOOCGuOPyS3nlBf/km0X/rbr7TF7la/6QdNae0zPaKS2Pq3T1ENRUVQqZWSbYtzWRFoaxvMh/1LfElXRRUj66SoibRMpzVOnD2mHqA3f1gcOBGOOfvWiGtqukTWrnBsot5kaX5JBp7XTHAGeOHP/wCaTxcgvGjNBWSnpdM3+V9aLmaeGv29awQB0zC5oLNm7k4fSXbpe+bVu/nym+y1S2IxrWNaxrQ1rQGta0YAA4AALXfS982rd/PdN9lqkFRteo9Raa0ZZKu1tpTT1F0udLVmqifJtmwySLaWuHAgP/q+fhaLbry732t0ZbbW2kFVWQPn1A98T3tpxC8te2MBwxkMcRkn8Y314uwW+C5dFl6hlc1nUTXCtikfwDJaUMnbx8+C3/eUHohnoY7zeIJIx3ZPQNNLKTyjikBmiH62WO/3EGRt/SPfKS/1Ns1K2hjo6R1wp6l9LC9j2zU7HuZsO8+EW7W/rD0rH6ou99v2hKC6XSOmiFVqVvcEdMxzGimjpaqPLtznEkuDgPR5+EPpWt1PSajiqons3XOiiqJ4wRuZJGTBv2j6Lg0esOWb1zUUNT0d6NmoWhlKau3MjjB3dWY6KpjdGT42kEHzhBZOi35pU37bXf3gV5VG6LPmlS/ttb/eBXlAREQEREBERAREQEREBERAREQEREBERAREQEREBERAWvelv5sUv88Uv9xULYSoGuNOao1TcbRbqaSKnsUEQqqmokLSBVue+MgRB29zmt8HgB3x77jwDWBuNA/QLbWJmCuh1MysfASA8wSUkrBI0HmMjBxyyPyuOf0VouS/2d9c2+3ChAraiDqKYHZ3jYzv8McTnj6lb7p0Xaaq6KkgoHSUNXSwMgbVBol7p28S+qj70Fx45Ldp445ANGJtum+lrTUJobPXWeai62SYMcGeG/ALj10Qf2Dk8oPHpH0/eZKTRdHbqS5XIW2iqaWaaGnlnkJa2nY18vVg4LtpKW7Uut7dY6ays0Pd39z0LqNtS2OtY4lzS0SBopzx458JZQDp0x4Vm9fc3/QJjp1/Ksv/AJf7kGI6NqHVtNf6qW70l6ipja6hjH3COrZF1pmgcADMMZwCs9rbTOmbzc6SqumpKW1Tx0EcEcE8tIxz42SyyCQCeRruJJHi71ZPTg6Su75PjKbcbf3NJ1Ypeq6zujfHt/FjOMblXukHRmpNRXiirLbFTOhitkVK8zTiN3WNnnkOGkcsOCDrJ0dUdJSipm1rXQUQYwtnkkZFThj8BuHumDMHhjiuKPo/orgx8lDriuq4439U99HNHMxj8A7C6KYgHiCrFqSwXW56NgslIyE1zILXE5r5NsYNOY9+HkeY44Ly6PdO3fTltuNNc2QtlqK7r4+plEoLBExmSQMdhQV2DRFlqZxSU3SBNPUkvAp4KunkmOwHcOrZOXZHHPBeNx6O9NU0rG3bWoiqHRBzRcJKWOUxZI3NE8wdtyD9S7aU0Hqm0aqobtWRUjaOGWve8xVAc7E1PNE3a0DPNwUvpB0XqTUV5pK62x0zoI7ZBSuMs7Y3dY2aeQ8COWHDtQWLWNBU1GiLhb7fHNWy9zWyKnbTsMks7YqmnO9rYxx4AuOFr7SFbrTSUVxiZo271ndssMpLqerg2dW1zcDELvGtz0MMlPRUEEm3fBS08L9py3cyMNODjlwUhBpzVerNV3TT91oa7R9wt1LN3L1tZOKkRw7KmKRuesgaOJAb4XasRoPUN+stLdY7Zpusu7J6iGSWSlE+IXBhAY7qoXjjz5rbWsrXX3rTl2tlC2N1VU9x9WJX7GYiqopnZcfM0rC9Hemr1pukvEN0ZCx9VUwSQ9TKJctYwtOcBBW9R6i1tqCz19ofoe7U4qu5/wAM2KslLOpnjn4M7nGc7cc+1Zboptl2ttFfm3Ghq6N0tVTOiFZBJA57WxuyWiQDgFshcH1ckHKpXSFatL3C19bdq+nt1XTB5oKuTvpHHgTD1Tfwj2ntABI59hDsTJbOm+v3slvVsoonEZ6gsY4D9B8NO6T/AIwu9F0WUclR3ZqO7112qHEOe3c+Jj8DG2SV73TEehzUGpzf75NaaawSXGQWplQJBG/O1oyMNc5oLyxpy4N4jPHmO93poa1aattob8CVcNf3RsfXVrMb5pg3wXR+E0N+iwjIzxySSctJpzTMlubaX2miNvbnZAIQ0McRgyNc3Dw/xuDs+dUqq6LmU1Q6s01fK62T98Wsc57gM8mMmhc2QN9O5BsscgtddL3zat389032WqXFJbumqjqKSOS72uspGyx9cZOrc7qtwDtzn07ZeWe0rLdINhu+orNR0VsZE6eK5w1butlEY6tkE8fAkYzlwQUK0UuornoGgs1npXyC53upjr5w5gip6eN0Tvwu4h3EkHhngwj6WD2Zo/U2nNY0tbZrbVVFqpK6CSKZr4XPdSSsDZmHc8HIDnt4gclsHQlluVgsLbfcWxtqBV1M2IpBI3Y8gDiOHYrUg09e9I6k1LPrS91dFUw1UclNDp+ke+IOmp4X7XZaHEDvOI4+E4+JYC60eorXoeO2XignphT6lpp6J8roywxz0lXvjbscT3rgXf763pdPhT4Pr/gsQ/CPUP7j6/8AFdd9Hdlatvlg6XtRUkVFc22t8EVQyqYIpIIz1jWPjBJaM8nFBZei35pU37bW/wB4FeVV9DWa5WGwQW64tjbUtqaqVwieJG7ZH5HEcFaOKAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAsJd76LXURQdymYyQiXd1uwNy4sxja7xLNqlas/7Qpf2Jv97IglfHAeTj7SPdp8cB5OPtI92qp6PR+7xKxW9lC6G33GohgMTIW2maPq2AGofUsjZJtHbsOcoJPxwHk4+0j3a5+ODfJ59pHu1hLlCyibQW/DOupYDJVyNaNzp5z1pDnDntG0BSbe2mfRsq5YYnCyy1s1UxzW5mikhMkQd4+/GB6EGR+OA8nH2ke7T44DyefaR7tY2708FDGKdjYy+rrKu4bw0b2UpJjhja/sbjJx5l0tMENayalkbEDT1VJcHPLWhxpmO2VDC4jOMbTjzoMr8cB5OPtI92ufjePJx9pHu1jrg2lZRzV0UUTfho0TqVga3MEEULJZth7MuOD6Fh4oZ53OZDG+R7Y3yPDATiNnNx8yC0fHAeTj7SPdp8cG+Tz7SPdquUUUM9bb4ZsGGWqgZKM8HNc4d4SCOB4ArLzddJQahdU0EMBpp6WCleykZCWs68h0bHhuS0DHb9JBkIdUy1D5GRWwuMcMtQ//AEpjdsUQBe7vmDxjgvP43t8nn2ke7WDtbI3zV/WMa8C03J7dzQ7a4Nb3w3dq62qKCouduiqA10T5HlzHnhI5sbnMa4nsJwgsTdVSOglqW23MMcrIHu7qbwkc0vAx1eeSR6olmbUOjtmW00XXTE1TWhrNwbnvo1iqiWsms9U+ppWU7hdYGt20vc+5rYncOQzt8EHHZ5lDoGMfDfi5jXGO3BzNwBLXdc3i3cgz3xwaOdvI9NSPdrgaxaeIt5I8YqR7tYG1Qmor4GCOB+xsszhUsfLHtY0nPVMIc4jsCn3SIOttFVObIZnVcsRmmoW0Mj4THvAMLR4PDhu/9wn/ABwb228+0j3aDWAPEW8+0j3axFuIiob7U9TBJNALcYXVELJRG6SV7NwDxjK63YML7ZO2NjH1lro6qURtDGulfvBcGt4IM18bx5OPtI92uPjg0c7efaR7tVjqZjF3R1b+o6zqRLjvDJgnZnxqda2NLbtO2Fk9VS0rJaSN0fXYc6UNklEZBy5owfBPNBmvjePJx9pHu1x8cGjGbfxP/wAyPdrAV4qS6mkqKOKlkmp2v2xs6sy8SBK+HPAk/oj96n0wkhprH3HRQ1Hdssgr3vpxUF7hOG9U55B2ho48xyygyHxwHk8+0j3afHBvk/8A8yPdqt3KOGGpuMcHGGOadseDkBjSRgeYclYZnQtrLtTCjoTDR2ltdGzuaPJqWtjeJHuxk8+XLgg7jWAPEW8+0j3a5+N48nH2ke7WDuJD2WioLI2y1NvZLN1UYja+QPezdsbwHAKAg2NargLnSNqxCYsySx7C7f8Ai3Fud2B/BT1gtK/9ks/aar+8KzqAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAsDebFPdKmGojqo4hHC2ItfE5+cPL85Dh41nkQU74oVf5/B7O/wB4u3xTrw3YLlHs3CTYIZNu8cA7Ak5+dW9EFQdpKueS59xic4+E58EhcfSTIuBpOuaHtFyiDXgB7RBIGuA4jcBJxVwRBUHaTr3kGS5RvIaGAvhkdtaPojMiN0nXNJ23KNu5rmu2QSNJa7htOJOSt6IKgdJVzmsa65RFrBhjeokLWA8TtBkwjNKXBmSy5xtJBaSyGVuW+IkSclb0QU74oVfZcIfZ3D/+iliw3c01ZTS3KOZtSKZpfPHO90TYHl4EYdJjtVmRBUG6Tr2btlyjBc1zHFsMjdzT9E7ZOS4GkawHIuEIwQRineCMHPA9YrgiCpyaZu82RNd+saS04lZO8ZHIkOkXm3SVc3cG3KMBwDX7YZBubzwcSK4Igp7dJ3BjmPZcomvadzXMhka5p8YIfn967v0tdJd/W3YSb3BzutjmfucBgF26VW1EFQ+KdcGuYLlFseW72iCQNdjxtEmCjtJ179u+5RO2tDG7oZXbWjkBmRW9EFQ+Klft6v4Sj6sO3tZ1Mm3ce3b1mMrlmk6+J7ZIrnGyRvFj44JGuafHlsoKtyIKjJpS4SvdJLc2SSO8J8kMrnOxw4l0pP712j0vdYRI2G7CJkgw8RRzNDx+kGygK2Igp/xQqxyuEHm/0d/156xdjpa5EvcbowuezY8mKUlzQMBriZM4VuRBUDpKucGNdcoi1rdrQYJCGjntaDIuPijV+UIBx/N3+8VwRBj7Rb32yibSvmbK4SzPL2tLR37i7ABJ/isgiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICi1LZHPi2AnG7OM/f/nKlIgglkmIwGyAbs4ABzxcQTtPrPoauXNkLYyGykNaHO3cHcc9h4+P/JU1EEfY91MwOBD9jSRnB3DB4rpJHIXvc1hAPh+Cd3ftdwycE4B5qWiCOWO6sNcw8HHAwHYGTtJaTg/9F0EcuDuaS4t2k5aTs2BpDXHtypaIIwjJEbXRja17nDIYHYHEAhvDiUkjkMjyATkANI28G7SDx4HPH/PZJRBD6uXiQ3hhxY0NAw/DcF2XenPH6u30iZI2SQuBwd/ix4eRy4n/ACFIRB4VDXvawNzzOdpOfBODwXg1k+x2WyEhznYdxLjt4Hh58qciCF1crogAC3q5DnfuJIxzbz/5V7Qh7WRtOR4fBzTnmvdEEeZzw9oBf33VgBmO1+HZz5l0EdRiIbn5bGOOR4ZYQR6MqWiCK5jnOcercNpGeX4QbmuOTnzcvvXUxS7hgEce85d6NziOOcj1eJTEQeMLC3dkbQQwY4eEBxPBeRY4OwGuEznucJeYLcnAPq4fv9MtEERgIcA1j2bYwJMY74kjBBPP6WSu7oz+H73dvMe3cc4zwLgD4lIRBGERD/AG0HveWOr6vaGHPnXR0Ug6ra3GA1xAA4OLw4jmMcuf/sZiIInVkbx1biMh3fNYXbsu49gPr9K4bHK3Jewu73BAwct2gAA5znPNTEQecILWcQQS5xIIAxkk4AC9ERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERB//9k=",
    "sourceName": "起点中文网榜单",
    "sourceUrl": "https://m.qidian.com/rank/"
  },
  {
    "articleStyle": 0,
    "customOrder": 4835,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "💰 正版,R18",
    "sourceIcon": "https://static.xiaoshuo.qq.com/common/static/chuangshi/apple-touch-icon-precomposed.png",
    "sourceName": "创世中文\n（小说）",
    "sourceUrl": "https://m.chuangshi.qq.com/?source=pc_jump"
  },
  {
    "articleStyle": 0,
    "customOrder": 4836,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "💰 正版,R18",
    "sourceIcon": "https://m-static.jjwxc.net/images/wap/logo2.png",
    "sourceName": "晋江排名榜",
    "sourceUrl": "https://m.jjwxc.net/rank"
  },
  {
    "articleStyle": 0,
    "customOrder": 4837,
    "enableJs": false,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": false,
    "singleUrl": true,
    "sourceGroup": "💰 正版,R18",
    "sourceIcon": "https://m.ruochu.com/favicon.ico",
    "sourceName": "若初文学",
    "sourceUrl": "https://m.ruochu.com"
  },
  {
    "articleStyle": 0,
    "customOrder": 4838,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "💰 正版,R18",
    "sourceIcon": "http://wap.hanwujinian.com/public/static/wap/wap1/image/icon/img_1.png",
    "sourceName": "寒武纪年",
    "sourceUrl": "http://wap.hanwujinian.com"
  },
  {
    "articleStyle": 0,
    "customOrder": 4839,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "💰 正版,R18",
    "sourceIcon": "http://mms2.baidu.com/it/u=3924333519,646699251&fm=253&app=138&f=JPEG&fmt=auto&q=75?w=500&h=500",
    "sourceName": "夸克男生",
    "sourceUrl": "https://quark.sm.cn/api/rest?method=Novelnew.home&format=html&schema=v2&gender=male&cate=%E5%85%A8%E9%83%A8&rank=rank_hot&uc_param_str=dnntnwvepffrgibijbprsvpidicheiutdsmeodosgp&dn=42088364386-90fd3c2f&nt=7&nw=0&ve=5.6.2.207&pf=3300&fr=android&gi=bTkwBHv%252Bj4MtCY%252FSW7Jsw3OljTKw&bi=35899&pr=ucpro&sv=release&ch=kk%40store&ut=AAN%2FhimoTMP1zQqKX3lT%2BnqelFbnry3P%2By42bnT93B393w%3D%3D&ds=bTkwAGRXH%2Bxyu%2BgRalUZorjjhjFWnL%2FT%2BkAbwlrH5h%2BOIA%3D%3D&od=AAQGxTOoDJIm%252FCcJsXVPvPsyo5KtxQTECJ3I1E%252Bk3oam2Q%253D%253D&os=12&from=kkframenew"
  },
  {
    "articleStyle": 0,
    "customOrder": 4840,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "💰 正版,R18",
    "sourceIcon": "http://mms0.baidu.com/it/u=3057616090,4224022483&fm=253&app=138&f=PNG&fmt=auto&q=75?w=500&h=500",
    "sourceName": "17K男生",
    "sourceUrl": "https://h5.17k.com/top/list.html?type=2&classId=2"
  },
  {
    "articleStyle": 0,
    "customOrder": 4841,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "💰 正版,R18",
    "sourceIcon": "http://mms1.baidu.com/it/u=3889785552,3676099628&fm=253&app=138&f=JPEG&fmt=auto&q=75?w=500&h=500",
    "sourceName": "起点男生",
    "sourceUrl": "https://m.qidian.com/rank/hotsales/"
  },
  {
    "articleStyle": 0,
    "customOrder": 4842,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "💰 正版,R18",
    "sourceIcon": "https://img0.baidu.com/it/u=2628473074,2098079028&fm=253&fmt=auto&app=138&f=JPEG?w=246&h=246",
    "sourceName": "纵横男生",
    "sourceUrl": "https://m.zongheng.com/"
  },
  {
    "articleStyle": 0,
    "customOrder": 4843,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "💰 正版,R18",
    "sourceIcon": "https://img1.baidu.com/it/u=2027087676,320860448&fm=253&fmt=auto&app=138&f=JPEG?w=250&h=250",
    "sourceName": "追书男生",
    "sourceUrl": "http://m.zhuishushenqi.com/ranking?typeId=cda853cada62401c980fd720f4bc3083"
  },
  {
    "articleStyle": 0,
    "customOrder": 4844,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "",
    "ruleLink": "",
    "ruleNextPage": "",
    "ruleTitle": "",
    "singleUrl": true,
    "sortUrl": "",
    "sourceGroup": "💰 正版,R18",
    "sourceIcon": "http://mms1.baidu.com/it/u=600426812,3321216161&fm=253&app=138&f=PNG&fmt=auto&q=75?w=500&h=500",
    "sourceName": "百度男生",
    "sourceUrl": "https://m.baidu.com/sf?openapi=1&dspName=iphone&dsp=iphone&from_sf=1&pd=bookstore&resource_id=5077&type=2&card_id=5143&word=%E5%85%A8%E9%83%A8%E5%88%86%E7%B1%BB&title=%E6%9B%B4%E5%A4%9A%E6%8E%A8%E8%8D%90&tag1=%E5%85%A8%E9%83%A8%E5%88%86%E7%B1%BB&lid=11664560672918715049&referlid=11664560672918715049&ms=1&frsrcid=5143&frorder=6"
  },
  {
    "articleStyle": 0,
    "customOrder": 4845,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "💰 正版,R18",
    "sourceIcon": "http://mms1.baidu.com/it/u=2460590414,350103885&fm=253&app=138&f=PNG&fmt=auto&q=75?w=256&h=256",
    "sourceName": "书海男生",
    "sourceUrl": "http://m.shuhai.com/top/?method=popular&siteid=0&type=monthsale"
  },
  {
    "articleStyle": 0,
    "customOrder": 4846,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "💰 正版,R18",
    "sourceIcon": "http://mms0.baidu.com/it/u=1908925117,2797981277&fm=253&app=138&f=JPEG&fmt=auto&q=75?w=500&h=500",
    "sourceName": "微信男生",
    "sourceUrl": "https://weread.qq.com/web/category/novel_male_rising"
  },
  {
    "articleStyle": 0,
    "customOrder": 4847,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "💰 正版,R18",
    "sourceIcon": "http://mms0.baidu.com/it/u=2344825277,2420529963&fm=253&app=138&f=JPEG&fmt=auto&q=75?w=500&h=500",
    "sourceName": "QQ男生",
    "sourceUrl": "https://ubook.reader.qq.com/book-rank/535189"
  },
  {
    "articleStyle": 0,
    "customOrder": 4848,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "💰 正版,R18",
    "sourceIcon": "https://p2.ssl.qhimgs1.com/t018ed3a3c0da49b9bc.png",
    "sourceName": "SF轻小说",
    "sourceUrl": "https://m.sfacg.com"
  },
  {
    "articleStyle": 0,
    "customOrder": 4849,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "",
    "ruleContent": "",
    "ruleImage": "",
    "ruleLink": "",
    "rulePubDate": "",
    "ruleTitle": "",
    "singleUrl": true,
    "sortUrl": "",
    "sourceGroup": "💰 正版,R18",
    "sourceIcon": "http://pp.myapp.com/ma_icon/0/icon_1129886_1605601942/256",
    "sourceName": "纵横中文",
    "sourceUrl": "https://m.zongheng.com",
    "style": ""
  },
  {
    "articleStyle": 0,
    "customOrder": 4850,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "",
    "ruleContent": "",
    "ruleImage": "",
    "ruleLink": "",
    "rulePubDate": "",
    "ruleTitle": "",
    "singleUrl": true,
    "sortUrl": "",
    "sourceGroup": "💰 正版,R18",
    "sourceIcon": "https://s.faloo.com/novel/favicon.ico",
    "sourceName": "飞卢小说",
    "sourceUrl": "http://wap.faloo.com",
    "style": ""
  },
  {
    "articleStyle": 0,
    "customOrder": 4851,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "",
    "ruleContent": "",
    "ruleImage": "",
    "ruleLink": "",
    "rulePubDate": "",
    "ruleTitle": "",
    "singleUrl": true,
    "sortUrl": "",
    "sourceGroup": "💰 正版,R18",
    "sourceIcon": "https://static.17k.com/pic/app_logo.png",
    "sourceName": "17K小说",
    "sourceUrl": "https://h5.17k.com",
    "style": ""
  },
  {
    "articleStyle": 0,
    "customOrder": 4852,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "💰 正版,R18",
    "sourceIcon": "https://wap.cmread.com/r/p/content/repository/ues/image/s1/favicon.png",
    "sourceName": "咪咕阅读",
    "sourceUrl": "https://wap.cmread.com/r/p/index.jsp"
  },
  {
    "articleStyle": 0,
    "customOrder": 4854,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "💰 正版,R18",
    "sourceIcon": "http://i1.shaodiyejin.com/uploads/tu/201911/10133/743e1b888e_77.jpg",
    "sourceName": "百度阅读",
    "sourceUrl": "https://yd.baidu.com"
  },
  {
    "articleStyle": 0,
    "customOrder": 4855,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "💰 正版,R18",
    "sourceIcon": "https://imgcn.ihuaben.com/common/logo.jpg",
    "sourceName": "话本小说",
    "sourceUrl": "https://www.ihuaben.com"
  },
  {
    "articleStyle": 0,
    "customOrder": 4856,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "💰 正版,R18",
    "sourceIcon": "https://oss.xrzww.com/mini/youdu/urllogo.png",
    "sourceName": "有毒小说",
    "sourceUrl": "https://m.youdubook.com"
  },
  {
    "articleStyle": 0,
    "customOrder": 4857,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "💰 正版,R18",
    "sourceIcon": "https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=528387707,1375937155&fm=26&gp=0.jpg",
    "sourceName": "掌阅",
    "sourceUrl": "https://m.zhangyue.com"
  },
  {
    "articleStyle": 0,
    "customOrder": 4858,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "💰 正版,R18",
    "sourceIcon": "http://pp.myapp.com/ma_icon/0/icon_7731_1621508397/256",
    "sourceName": "书旗小说",
    "sourceUrl": "https://t.shuqi.com"
  },
  {
    "articleStyle": 0,
    "customOrder": 4859,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "💰 正版,R18",
    "sourceIcon": "https://qidian.gtimg.com/hongxium/img/activities/download-header-logo-dda168a850.png",
    "sourceName": "红袖添香",
    "sourceUrl": "https://m.hongxiu.com"
  },
  {
    "articleStyle": 0,
    "customOrder": 4860,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "",
    "ruleContent": "",
    "ruleImage": "",
    "ruleLink": "",
    "rulePubDate": "",
    "ruleTitle": "",
    "singleUrl": true,
    "sortUrl": "",
    "sourceGroup": "💰 正版,R18",
    "sourceIcon": "https://user-center.cdn.bcebos.com/head/raw/uc.101.3ffef3f1.bNa6UN8LJuLLG5xk514L7w?x-bce-process=image/resize,m_lfit,w_200,h_200&autime=3",
    "sourceName": "潇湘书院",
    "sourceUrl": "https://m.xxsy.net",
    "style": ""
  },
  {
    "articleStyle": 0,
    "customOrder": 4861,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "",
    "ruleContent": "",
    "ruleImage": "",
    "ruleLink": "",
    "rulePubDate": "",
    "ruleTitle": "",
    "singleUrl": true,
    "sortUrl": "",
    "sourceGroup": "💰 正版,R18",
    "sourceIcon": "https://m.jjwxc.com/images/wap/logo2.png",
    "sourceName": "晋江文学",
    "sourceUrl": "https://m.jjwxc.com",
    "style": ""
  },
  {
    "articleStyle": 0,
    "customOrder": 4863,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "💰 正版,R18",
    "sourceIcon": "http://m.ndlib.cn/03/images/Defaulted_logo.png",
    "sourceName": "移动阅读",
    "sourceUrl": "http://m.ndlib.cn"
  },
  {
    "articleStyle": 0,
    "customOrder": 4865,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "📚 书单,R18",
    "sourceIcon": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAsJCQcJCQcJCQkJCwkJCQkJCQsJCwsMCwsLDA0QDBEODQ4MEhkSJRodJR0ZHxwpKRYlNzU2GioyPi0pMBk7IRP/2wBDAQcICAsJCxULCxUsHRkdLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCz/wAARCAHaAcMDASIAAhEBAxEB/8QAHAABAAEFAQEAAAAAAAAAAAAAAAECBAUGBwMI/8QARhAAAgEDAQUFBQUEBgkFAAAAAAECAwQRBQYSITFBBxNRYXEUIoGRoTJCscHRFVJy8CMkQ2KCkiUzU3OTosLh8VRko7LS/8QAGwEBAAEFAQAAAAAAAAAAAAAAAAECAwQFBwb/xAAxEQEAAgECBAQEBgIDAQAAAAAAAQIDBBEFITFBBhITUSIyYXEUgZGhsdEz8DRCweH/2gAMAwEAAhEDEQA/AOuAAAAAAIb8uPTw+JTuuXCT4eQEucc45vwQzPnhJEpIkDzcN5vjw+H6EdzFcnL5r9D1AHmqeOsvp+hWk/F/QkAOIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcf/BQ456v6FYA8u6XjL5x/Qnu0uKbz5/+D0AFGZcMcV5kuSXGTKgABRupZazvMnOOEuf0AqAAAAAAAAAAD1wU5b4Ll1f6EN7zWORWljggISS5EgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIaysdCQBQlu8uMfBc0Vpp8gU8VxXyAqATygAAAAp+1w+7yfqG22orhnm/IqQEJYJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACnDjx6dSpceK6go+zLyfH0ArA+IAiKxl9XxZI8fMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhrKw+XUkAUb0unLoCrEQBIAAAAAAAAAAAAAAAAAAAAAAAAAAAFE6lOnFynKMYrm5NJL5jbcVgw13tJs/ZqTnfW8px+5Tqwcn82a1e9pOl0nOFta1ZyXDfnKO58FFmfg4bq9R/jpKmbRHVvockubS9Tkdz2j6zPPsypw54zTTx8GjD19t9ra+8p30lHqqcKcUvkjb4/DOsv820f79lPnjs7j3tFc6lNf44/qR7Rbf7ej/wASP6nAp7Sa/P7V5VfqzxlrOrTzm4qcefEzI8K5e9/2R559n0H7Rbf7ej/xIfqSq1B8q1L/ADx/U+eY6vqcOVxU+Z7x2h1uPK5qY9RPhXJ2yR+h6k+z6CTT+zJP0a/Ik4LR2v2mt2nTvZrHjhr4poy1t2ibQwwq9SnUS5/0UE/ojFy+GNXXnSYlPqR3dkBzez7S7fgru1lLOPeptJ/Jmy2O2Oz96o5uI0XLpVlH8jU5+E6vBG96Sqi8S2MHjRurS4W9QrU6ifLckmvoeyNdMTXlKoABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMs77ULHTqE7i7rQp04rPFrL9ETWtrzFaxvIvCwv9W0zTabqXlxTpRXRv3m/DBzvW+0W4qOrQ0qCp0+MVXlnffjhGh3V7e3tSVS6rVKs5PO9Uk38kz1eh8NZsu1tRPlj27rc39nR9T7SqUHOlp1rvNcI1qkk16pI0nUNqNodRclWvavdyzinTbjBL0RhsIYR7DS8K0el546c/eVHOeo3KTbby3xeXl/EjHiSDZ7m2wgAAAAAAAGRgkARheIzLx5EgdeUi+stZ1awlF211Vp44rck8fJm46X2jX1Hdhf0vaI8E5ZSmvPgaAyMcjA1PD9Nqo2yU3+vciZh3rStqdE1VRVKvCNaX9nKXvZ9DOpprK6nzXTrVqUozpycZJppxbTWPNcTbdG261jT9ylXl7TQ5YrNuS9G+J5LXeGbV+LSzv9JVxb3doBg9F2k0rWYRdCrGNbC36cmlJPyTM4eQy4cmG3kyRtK51AAWwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIfD8fI8rm4t7WjUr3FSNOlTTcpSeEjlW0+3de9VWy0yUqVs8wqVFwnUXgnzwbHQcNza+/lxxy7z2hTa3lbPtHtxY6VvW9i4XF3xTa404P1XU5VqWralq1aVa8rzqOTeIt4il4JFlKUpNyk8tvi28v4vmQdJ0HCtPoYjyRvb3Wudup/PIAG1AAAAAAAAAAAAAAAAAAAAAAZBIA9KFzcW9SNSjOUJxaalBtNY9Doez239WDpWuq+/D7Ma/OXh7zOcMjLXJ8TA1nD8Osr5cld5TE7PpK3uLe6pQrUJxnTmk1KLyj2OFaBtTqWiVUozdS1k13lGWWv8Oep2DR9b0/WbeNa2qJvC34N+/F+DOccS4Rm0M79a+/9rkW3ZUBA0yoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtr29tNPtqt1d1Y06NNNyk3ht9IpeLKru6trK3rXVzUjTo0ouU5P8ABLxfQ4ntRtNd67dyUZOFlSbjb0lLCxn7Ul4vqbjhfC8mvycuVY6z/wCR9VFreV67T7V3et1pUqTlSsqbapU02t5eMsdTVh/LB1DT6fHpccY8UbRC11ncABfSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIfQyWkavfaTcwuLao001mKfCS8JGODyW8mOuWvkvHKTo71s/tFY65bqVOUY3MEu9pPhJPxivAzh87abqN3ptzSurabhUptPg2t5fuvyO3bPa/aa5aRqU5JXEIpV6eeKl1a8jm3GeD20dvUx86T+y7W27OAIHnVQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFFScKcJ1KklGEIuU5S5KKWW2Vs5vt7tP3cZaPZVcSePbKkPpBP8TO0Oivrc0Yafn9IU2naGv7YbUVdXupWttJxsbeW7FZx3kuTkzUPx6j8ctv1B1nS6bHpMUYsccoWevMABkJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABD6GU0XWLzSLujc0Jv3Wt+OeEo9UzGB5LeTFXLWaXjeJ6wRyfQ2j6pa6vZUbuhJNSS31njGXVMyJxHZHaKpo15GnVk3Z15KNWL5Rb5SO1UatOtTp1aclKFSKkmuTTOVcW4dbRZdo51nouxO70ABqVQAAAAAAAAAAAAAAAAAAAAAAAAAUznGnCdSbxGEZTk/CMVlsjnPKBgtqNap6LplWrvJXFdSo2yzyk1xl8DhdatVuKtWtVk5TqS3m5c+Jn9rtcqazqdTdk/ZbdunRj0fH7RrnBeB1LgfDvwWn81vnt1Y9p80gAN8kAAAAAAAAAAABkcXwQEsgubWxvLyap2tCdWT6QXj5vgbLY7B7R3Di69GFtF441G5P/l4GLm1mDT88l4hO0y1HKGH4HTrfswotJ3OpVF4xo04r6sv4dm2jQ53dy/Xdyaq/iHQ1naLb/aJT5Zci4+DHE6/Ps40WXK5uV8izr9mFhLLoajXg+inSg19CmviLQzPO235Sjy29nLMko3a97O9aoKTtJRuGuWEoNr4msX2iazpsmry0qU8deDXzRtcGv0uf/HeJU7TCwBGXxz9SUZhuAAJAAAAAAAAAwACz+nqdT7P9oXWpvSrmpmpCO/byk+LivunLHyLmwvK9hdW91Rk4zozjNY6pPijW8S0VdZgnHP5T7SmOUvo5AxuianR1bT7e7ptZlFKouqmueTJHJcmO2O00t1hejmAAoAAAAAAAAAAAAAAAAAAAAAANQ261j9naVK3pyXf3klTx1VNcWbdJpLLeEstvyXE4XtfqstV1etJPNGgnTglyXE33AdF+K1UTb5a85UXttDXXxbfVvL8cviADqK1EbAACQAAAAAADQAceGOvmRl9DZdnNlb/XKkJ4dKzTW/VkuMlxzussZ9Rj09JvlnaExzYax06/1CtCja0ZVKknhYT3F6s6Lo3Z3RUadbVas5TST7mGFFPwbN00rRtN0ehChaUYxxjem1mcn4tmTPAcQ8RZs0+TT/DHv3lcisQs7XTdNsowhb21GCgsJqEd74svADzFr2vO9p3lUAApAAAHk8qtvb14uNalTnFripxTX1PUCJmJ3gabrOwWjagp1LZO2uOcdzHdt+hzLWdmtZ0WpL2ik5U/u1IZcWjvx5XFvb3VKdGvThUpyTTjJZPQaDj+o0vw3nzV+vX8lFqRL5sy+pVk6FtVsLK3VW+0tOVLjKdLnKHpg55LehJwknGUXhprGPgdD0etw63H6mGfyWdvKkAGZKqJ3AAAAAAAAA/1AH3G/dnms+z3VTTas2qVwt6nnpUj4HWfQ+brO4qWlzQuKbcZUqkJpryaZ9A6PfQ1HTrS7g895DD/AIlwZzzxJoox5I1FeluU/ddrPZkAAeTVAAAAAAAAAAAAAAAAAAAAAiRhNqNRWl6NfXGcTlDuafHHvT4HBZy35zm3lzk5Px4nRu0vUJd5Y6bGT3ZJXE0vL3Uc3OmeG9L6Ol9WetpWLzvOwAD0gAAAAAAAAEPovyDb4Y6mZ2e0Wvrl/St4Rap53q1TpGCZbzZaYaTlvO0QMlslsrW1quq1xGUbClL32/7SS6HZrW2t7SjToW9ONOnCKUYxWORRY2Vtp9tRtbeKjTpRUVjm3jmy6OU8T4nk12TeZ+GOkL0RsAA1SQAAAAAAAAAAAABDSaaaTTTTT45RzjbTY6nUjU1PTqSU4+9XpQ5Y57yR0giSUk01lNNNPqvAzdFrcmiyxlxz/wDVMxu+aHvwbhJYkm015+hJvO3WzPsNZ6jaQatq0nvpfcnzfA0WLyjrOj1dNbijLj7rM8p2SADJSAAAAAAAAh9DqfZxqjq0LrTZvPdLvqefB8Hj6HLWsoz2yWoTsNZsZReFWqKjP0kani+l/E6S1e/WPyVVnZ3lAhPKTXVJknJYjZdAASAAAAAAAAAAAAAAAABBJaajX9lsbyvnjToza9cYKq1m1orHccT2uvvb9bvJ5yqMpUE/4JM1/wAT3u5urc3VRvPeVZyz6vJ4HZ9NijDhrjjtDGrO8gALyoAAAAAACH/3ECYQlUlGEVmUmorC8Xg7hsdocNI02nKcV7VcxU6rxxXVI5vsRpD1PV6VScf6G1arSfT3XyO3LhhLpwPD+J9dO8aSn3lXSO6QAeIXAAAAAAAAAAAAAAAAAAAWt/Z0L+0r2laKdOrBrj0fRnANa0yvpOo3NrUT9ybcXxw4visH0Sc77R9IjVt6GqQT36X9FUx1T4x/M9P4d186fUejafht/K3kjeHLOAKY8seBUdIlbjoAAJAAAAAA9Lap3VehU6QqQk/gzzIfP5ETHm+EfQ+i3Xtul6fc5y6lGO8/NcDImn7AXbraOrdvPs0sR8ozy0jcDjmtxejqL09pXoAAYiQAAAAAAAAAAAAAAAAwG19buNntWqZw+6jCP8UppGfZpfaFXcNEqUk8KrWoZ+bZncOx+pqsdfrCLdHHW8rJHQlkHYWPUAAVAAAAAAQ21+ZJVRW9WoQfFSqQXzkkImI5yiZ5Ov8AZ5p0LbSfa3H+kuW0m+e6nk3Yx+jWkbLTbK3isbtKLfrLiZA45rs86jUXyT3lfiNoAAYaQAAAAAAAAAAAAAAAAAACx1azhf6feWs0n3lN4T/ej7yL4pksprxTKsd5peLV6xI+bK1KdGtVpzTUoVJxafkykz+2Np7Hr2oU8YU5Rqr0ksmAOz6fLGbDXJHeGLWNpAAXlYAAAAAEPoSRLkO46b2YV3OOtUn91Wso+eVPP5HSzkHZzWdLUa0U8KrSUX8G2dfOXeIcfl11p99v4Xa9AAGhVAAAAAAAAAAAAAAAABoPaRPFhbw8ZwfycjfjnfaW33GnLo97PwfA3HBY312NRf5ZctfQgfogdXWq9AABIAAAAAF1plHvtQ0+H/urfPp3kWWvQymz6T1Oyz/6mj/90WNRby4rW+kj6CisRil0SRJCJOLr4AAAAAAAAAAAAAAAAAAAAAEEgDj3aRSUdbpVF9+0o/8ALlGkm/8AaRu/tO1/e9mj+JoB1rg076HH9mPPzyAA2qQAAAAAD5MEPkEtv2Dnu6xQX7zx+J2k4dsS2tcsMdZv8DuJzjxNG2qiforp0AAeXVgAAAAAAAAAAAAAAABz/tJjmztZfuyS/wAzZ0A0ftFpylpO/wBIVaH4yNtwadtbj+6i/wArkJAfL6DodZWq9AABIAAAAAF9o9VUtRsW+tzbr/5IliV2z3bm2fLdq05Z/hkpFvJXzY7V9zu+k1yJLawuI3Vpa14vKqUoPPnguTi1qzWZrPZfAAUgAAAAAAAAAAAAAAFE6lOnFzqSUYrm5PCHOegrBjauu6FQz31/bwx+85foWk9rtkoZ/wBK2zx0jvN/gZFdJnv8tJ/SUTMe7OkPk8tLg36eZqNzt7s9RTdGUq2OilGOfRczUdb7Qb6+pVLaxoq2pVE1Ko5ZqtPojYabgms1Ex8G0e8qZvEMftzqVHUNdrqhJSpWtOFupLk5R4yZqvEltycpSeZSbbb58fFkHUNNp66bDXDXpEbLURz3AAX0gAAAAAQ+RJD5BLbNhIb2s2r/AHJOXzO2I452eQc9UlJLO5FP0+0djObeJZ31e30V06AAPMqwAAAAAAAAAAAAAAAA1rbWj32zuq8Mypwp1I+TjUibKY7Wrf2rS9Ro4zv21VY9FkydJf089L/WP5RPOHzyuH1YPStFwr1qb5wlKL+bPPxOz77xuxqgAIVgAAAAAE8ST8wQ+g29yXb9h72N3odtByzVo5hUXVPPA2k5F2d6qra+nZVZ4p3MWqf+8zlHXTk/GdNOn1do7TzXo6AANRCQAAAAAAAAAADxuLi3taNWvcVI06NNb05yfBI9JyjFOUmlGKcpN8kksts4ztltPW1a6naW9SUbC3k4xjFtd61w35YNpwzht+IZvJXlEdZ/3uptbywzWudotTfqUNJpRUE3HvqucvzSNGudc1y6nKdW/uXvPOI1JRivRIx4Ol6Thum0kbY6xv7ys855y9J3N1V/1lapL+KTf4njxKgZ8REdE7KUipAEgAAAAAAAAAABD6ElL+vAn7kukdl1B7+s1pLO4renDy3lJv8AI6iaP2dWzp6ZXuMYVeVPH+FP9TeDk/HMnqa7JMLtegADTqgAAAAAAAAAAAAAAAAiSTTT4p8ySAPn3aKylp+rX9FrCdapKC/u77SMWb32kWDpalbXsVinXpbk/wDeLiaIuSOw8Oz/AIjS0yfT+GLHK0wAAzlYAAAAAAAD2s7mraXNC5pPE6NSFSPrF5wd+0TU6OrafbXdN8ZwW+usZY45Pnp5Nx2K2ielXcbW4n/VLl7rb/s59Jenieb4/wAPnVYfUpHxV/3ZXWdnZwUwlGcYzi04ySkmuTT8Co5p91wAAAAAAAAABEjWdtdUlpmi3DhLE7nNtHxzJdDh3n1fFnSe0y43vYrXe+xONXH8UWjmz5s6d4cwRj0kXjraWPbnbYAB6JIAAAAAAAAAAAAAAAATSpurUp01znOMV8XgjkZLQLOV7q2n0optOvTlPH7uSjLeMeO157QO27M2qs9D0ujjDVHfl6zk5fmZgppwjThCEViMIxil4JLBUcYzZPUyWvPed16AAFpIAAAAAAAAAAAAAAAAAANW24039oaJcShDNa2lGtHHNJcJHEEnGcovmuZ9K1qcK1OrSqLMKkJwkvKSwz5817Tqml6nd200/dqScW1zTZ73wtq96X089ucLGSNubHeIIRJ7KQAAAAAAAAYi3F5XNcvUBkSOnbFbWqSp6Xf1OKW7bVJvn/dZ0hNNJrims5PmqE5wkpRbTi001waa6pnSdldt91UrHVZvHCEK8ny6JTb6Hh+NcDnec+nj7wrrbs6aCilUp1YRqU5KUJpSi08pp+DKzxO0xylcAAAAAAgkhkSOO9olZvaGVL7sLS1fzUmaW+Zs+3NZV9orua5RjTpr0gsGsHX+F08mjxx9IY3/AGkABsVQAAAAAAAAAAAAAAACJeuOZ0Ps20vfubrUKkcwp04xpv8AvyZz2EJVJwpx+1OUYr4tHetldN/ZmjWdCUcVJp1anDi3LxPOeI9X6Gk9OvW38JrG8s6gAczXgAAAAAAAAAAAAAAAAAAAAAZzztF0XvrajqlKGZ0pKnXx1i1wbOhlveWtK9tbi2qpOFanKD4cm1wZm6DVW0mormrPT+O6m0bw+b1nivP6kmQ1vS62kahcWtSLW7OTg2sb0c8GjHJ5OwUyVyUi9OkrEcuSQAVKgAAAAAAABkZa4khjbflMDZ9B2v1TR3GlKcqtqnxpTfFL+62dS0jajRdWhHu68KdV4zSqSSlnyycFwV06talJThJxkmsNcGaDX8Dwaz4o+G3umLbcn0onnDXJ8STiGmbb67YbsZ1pVqUP7Oo/zNxse0ewrbqurZ0XwzJSyjxup8P6zDzrHmj6LnmhvwMBb7XbLV0v9I0acn92o2vyL2GuaDP7GoWz9JmptpM9J+Kk/pKd4ZI86s1Tp1ZyeFCEpt+CislhU13QaUXKeo20UueZ/kaHtZtvb3FvV07SajlTqpwr3CXOL6RyZWi4ZqNVlilazEd5ntCJtENG1e79t1C9uM5Uq1Td/hzwZYD/AMsHW6UilIrHZYgABUqAAAAAAAAAAAAAAh5JEITqThThFylOShFLq5PCQ6czdtOxGjvU9Vp1Zx/oLZd9KXP3k0kjtsUopJLCSSS9DXNj9F/Y+l01NYuLjFWrlcV4JmyHKeNa78ZqZmvyxyhdrG0AANMqAAAAAAAAAAAAAAAAAAAAAAAAaVt5s+tRsvbqMf6xaJue6uMqePy/M43xi3F81waxyfI+l5xjOMoSScZRcZJ8mmsNHGttdmp6Xdyu7eH9UryclhZUH1R7nw3xOP8AiZZ+39LOSO7TwRF5RJ7aVMTuAAJAAAAAAAAAABDRDTKgBTxXHLPRV7hYxUlwKQRtHdGyqVWtP7U2/VlPxAJ2jskAAAAAAAAAAAAAAAAAIfTzAP8AnibzsDs+767/AGjcQ/q1o8wT+9V5LHoaxouk3OsX1C0opvflmbxlQgubZ3jTNOttLs6FnbxSjTit5r70urPMeIOJxp8PoY5+O37QqrXeV6sLguhIBzddAAAAAAAAAAAAAAAAAAAAAAAAAAALPUrC21K0r2lxFShUi0m/uy6NF4QTS9qWi1esD5813RbvRr2tQqwlub2acsPjB8nkxieUd917QrTXLSVGolGtFN0auOMX4PyZw7VNMvNJuq1tcU2nCTSbWMrPNeR1Hg/Fq67H6d/nj92Pavl5rMEIk3vPuncAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAeEV0Levc1qVGjBzqVZKMIpcW28FMITqSjCMXKUmlFLq30Ou7G7Jw06lDUL6Cd5UipU4SX+qi+KbNZxLiNNBi88/N2j3TEbyyeyWztLQ7JSqRTvK6UqsscYr91fmbMAcpz576jJOW885XYjYABZSAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMBtFs5Za7buMlGFzBPuqqXHP7sn4GfI8C7hzXwXjJjnaYRMRMbPnbVdKvtIuqlvc05RcHjOMJp8mvIsk8nf9b0Kw1u2lRrwSqpPuqqXvRfqcY1vZvVNDryjVpylRk26VSKzGUTpfCeNY9bWKX5X/AJWLU8vRhwQnn8+RJvyAABIAAAAAAAAAAAAAAAAAAAAAAAAAGAeEVUqNWtUhCEZTlN4jGPNs97KxvL+vTt7ak6lWo1FRispecvI65svsdbaTCNzeRVW9eH73GNN+SNTxHimLQ03md7T2TEbrPZHYyNkqWo6lCMrnG9Rote7TzylJePgb6giTl+r1eXV5PUyyvRyAAYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAW17ZWl/Qnb3VKNSlNNNSWceaLkE1tNZ81eUwOQbS7CXdk53WmxlWtubgk3OH/Y0eUKlOThUi4yXBp8OR9LNJ81/PxNX13Y3R9XjUqwpq3u3lqpDhGT/vJcD2fDfEk0iMWr5/X2WrU7w4jkGa1jZjWdHnPvaEpUV9mrBe416mE4rKecrxPb4cuPPXzY53hb5x1SAgXFUAAAAAAAAAAAAAAAAAAYAPAxJ8ln4l5Y6XqOoVI07S3nWbwm4rKXmyi960r5rTtsdeiyw2bBoWy2razVjuU5UrfPv1aia93lwZu2gdn9tQ7u51Z99UWJRo8VCPqkb9Ro0aFONKjTjTpwSUYwSSSPI8R8R0x749Lzn39lyK+7F6Js/pmiUFTtqce9cUqlWSTm35MzAB4XLlvmtN8k7zKsABbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUVaVKtF06sIzhJNSjJJprzyahrOwejahmpax9lrYbXdr3W/DBuQMnTavNprebFbZExEuF6nsXtFp2/L2d1KMcvvKeGseaRrkqdWnJxnFxkuafB/I+lmk+D5MxOobPaJqUZK4tKW+/7SEIqpnx3ker0nim0ctRWJ+39Lc4/Z8/ZGTql72aWD352d1WUnlqFRrCz54NYvdgNprbelTp061NZw6c96ePTdPR4eN6LN8t9vvyU+WYakmSX9fRdXtnLvbWtw54pz4fQsXTqp4dOaa55TT+ptaZKXjes7o3QBuy6jdfmVbpASoy8CN2X8sjcANypn7L+HH8C6oabf3GNyhX4+FOeH8cEWvWsb2mIFqyPgbLZ7FbT3eHTt4KD5urJwX1Rstj2auai7+5nT/eVFwfyeDW5+L6PB894n7JiJlzfdnwwnzMrYbO65qW67W0nODfGb4JLx4nXtN2O2e03dlG3jWqJ5U66U5fU2CFOlTio04QhFcowSSXwR57VeKKxvGnrv9Z/pXFI7ueaP2dUafd1tUrOo8ZdFcIp+eDe7PT7CwpqlaW9OlFJL3IpN46tl2Dyer4hqNXO+W3L2VxGwADCAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApcKb5wi/WKZbV9P0+4TVW2oS83Tg39UXYKovas/DMwMLPZnQJt5s6XHwp0//wAlvLY7ZufO2x/DuL8ImxAyK67UR0vP6o2hrcdjNmY8rZv13H/0lxDZbZ2HKzpP+KEH/wBJnATOu1Nut5/U2hYUNH0i2/1Vnbp+PdQzw+BeKnSjhKnBY8IorBj2yXvO9p3SJY5IAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI3gAi8rPJ9V4ElDxF733ZcZeTK1/PmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwUP3sRX+L0AjeqdIZXRg9OIAh4fB8mUpOOU37vR+HkVkNJgSgUptcH8GVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACG/mBDb5Lm/oSkkuHx8wlj1fMkAAAAAAhpPmslOXHnlx6PqvUrABfAFO64/ZfDwxn5Epr09QJA+QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhvzI4yx0XHPDiyAbb4JcerfJEpYCSXIkkAAAAAAAAAAAIaUuaTJAFG7JPhLh4Y/MnL6p/BMqDAp3ornL54Q349HH/ADIoq9S2XMC8Uk+sfmVL1XzPGPQ9UBIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP1XzKXJLqvmVM8mBV3kOsof5kN+OeEl6potanU9KfT4Ae+fDL9EMSfVx+rKgQKVCKeeOfFsqAJAAAAAAAAH/9k=",
    "sourceName": "夸克榜单",
    "sourceUrl": "https://quark.sm.cn/api/rest?method=Novelnew.home&format=html&schema=v2&gender=male&cate=%E5%85%A8%E9%83%A8&rank=rank_hot&pv=2420440"
  },
  {
    "articleStyle": 0,
    "customOrder": 4866,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "📚 书单,R18",
    "sourceIcon": "https://b.bdstatic.com/searchbox/mappconsole/image/20190428/5f80011e-c126-4fd5-8d80-8f2cd3637544.png",
    "sourceName": "百度榜单",
    "sourceUrl": "https://m.baidu.com/sf?openapi=1&dspName=iphone&dsp=iphone&from_sf=1&pd=bookstore&resource_id=5077&type=2&card_id=5143&word=%E5%85%A8%E9%83%A8%E5%88%86%E7%B1%BB&title=%E6%9B%B4%E5%A4%9A%E6%8E%A8%E8%8D%90&tag1=%E5%85%A8%E9%83%A8%E5%88%86%E7%B1%BB&lid=11549307334103749569&referlid=11549307334103749569&ms=1&frsrcid=5143&frorder=4"
  },
  {
    "articleStyle": 2,
    "contentWhitelist": "",
    "customOrder": 4868,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\n  \"User-Agent\": \"Mozilla/5.0 (Linux; Android 8.1.0; JKM-AL00b Build/HUAWEIJKM-AL00b; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/044807 Mobile Safari/537.36\"\n}",
    "injectJs": "// 获取书籍链接\nbookid = String(window.location.href).match(/novel-(\\d+)/)[1];\n\t\n\tbooksrc = \"https://webapi.gongzicp.com/novel/novelInfo?id=\"+bookid;\n\t\n\taddbook = `legado://import/addToBookshelf?src=${encodeURIComponent(booksrc)},{origin:'https://webapi.gongzicp.com'}`;\n\t\n fetch(booksrc)\n  .then((response) => response.json())\n  .then((data) =>{\n  \ttitle = data.data.novel_name\n  \t\n  \t//获取作者名称\nauthor = data.data.author_nickname;\n\n//create(搜索的内容,\"bookName or bookAuthor\",距离顶部距离,[跳转其他url])\ncreate(title,\"addBookshelf\",14,addbook);\ncreate(title,\"bookName\",18)\ncreate(author,\"bookAuthor\",22)\n\n  \t\n  \t});\nfunction create(name,type,top,url){\n \t    type = type+\"=\"+name;\n \t    url = url!=undefined?url+\"#\"+type:\"\";\n \t    \n     let \ttypebutton;\n     if(/bookName/.test(type)){\n     \t    typebutton=\"搜索书名\"\n     \t}else if(/bookAuthor/.test(type)){\n     \t\t   typebutton=\"搜索作者\"\n     \t}else{\n     \t\t\t   typebutton=\"加入书架\"\n     \t}\n    \n    \tlet Url = location.search!=\"\"?location.search.replace(/&*book[AN].*?=.*/,'')+\"&\"+type:window.location.pathname+\"?\"+type;\n    \turl = url!=\"\"?url:Url;\n    \tA = document.createElement(\"a\");\n\t\t A.href = url.replace(/#addBookshelf.*/,'');\n\t\t\n\t\tA.innerHTML = `<button style=\"outline:none; position:fixed; top:${top}%; right:7%; z-index:999; border-radius:5px; color:#166188;background:#fff;padding:4px;border:1px solid #000\"><b>${typebutton}</b></button>`;\n    \tdocument.body.appendChild(A);\n \t}\t",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "$.data.list[*]",
    "ruleContent": "",
    "ruleImage": "$.collection_cover##\\?.*",
    "ruleLink": "https://m.gongzicp.com/home/bookView-{{$.collection_id}}.html",
    "ruleNextPage": "<js>\nif(/getList/.test(baseUrl)){\n\tresult = \"https://m.gongzicp.com/webapi/book/getList?type=3&pre={{$.data.pre}}&bid=0\"\n\t}else{\n\t\tresult = baseUrl.replace(/page=\\d+/,\"page=\"+(Number(baseUrl.match(/page=(\\d+)/)[1])+1));\n\t\t\n\t\t\t}\n\t\t\n</js>",
    "rulePubDate": "{{$.category}}•{{$.collection_list_count}}本•{{$.collection_intro}}",
    "ruleTitle": "$.collection_name",
    "shouldOverrideUrlLoading": "if(/[\\?#&]book[AN]/.test(url)){\n\ttitle = url.match(/[\\?#&]book[AN].+?=(.*)/)[1];\n\tURLDecoder = Packages.java.net.URLDecoder;\n\tgb2312Str = URLDecoder.decode(title,\"gbk\");\n utf8Str = URLDecoder.decode(title,\"utf-8\");\n\t result = gb2312Str.length() >= utf8Str.length();\n\t title = result?decodeURI(title):gb2312Str;\n\tjava.searchBook(title)\n\t}",
    "singleUrl": false,
    "sortUrl": "最新书单::https://m.gongzicp.com/webapi/book/getList?type=3&pre=0&bid=0\n热门书单::https://m.gongzicp.com/webapi/book/getList?type=2&pre=0&bid=0\n推荐书单::https://m.gongzicp.com/webapi/book/getList?type=1&pre=0&bid=0\n搜索书单::https://m.gongzicp.com/webapi/search/books?k={{source.getVariable()}}&page=1",
    "sourceComment": "设置源变量搜索书单",
    "sourceGroup": "📚 书单,R18",
    "sourceIcon": "https://pp.myapp.com/ma_icon/0/icon_52680621_1713258197/256",
    "sourceName": "长佩书单",
    "sourceUrl": "长佩书单",
    "style": ""
  },
  {
    "articleStyle": 2,
    "customOrder": 4869,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\n\t\"referer\":\"http://android.jjwxc.net/?v=357\",\n\t\"versionCode\":\"357\",\n\t\"versiontype\":\"reading\",\n  \"User-Agent\": \"Dalvik/2.1.0\"\n}",
    "injectJs": "document.getElementById(\"app\").remove();\n\n// 获取书籍链接\n\t\tbookid = String(window.location.href).replace(/^.*\\//,'');\n\t\tbooksrc = \"http://app-cdn.jjwxc.net/androidapi/novelbasicinfo?novelId=\"+bookid;\n\t\t\nbooksrc = `legado://import/addToBookshelf?src=${encodeURIComponent(booksrc)},{\"origin\":\"https://m.jjwxc.net/channel/\"}`;\n\t\n\t\t//获取书籍名称\ntitle = document.querySelector(\".big.o\").innerText.replace(/首页>/,'');\n\n//获取作者名称\nauthor = document.querySelector(\".authorname-content a\").innerText;\n\n//跳转作者url[可省略]\ndocument.querySelector(\".authorname-content a\").href;\n\n//create(搜索的内容,\"bookName or bookAuthor\",距离顶部距离,[跳转其他url])\n\ncreate(title,\"addBookshelf\",14,booksrc);\ncreate(title,\"bookName\",18)\ncreate(author,\"bookAuthor\",22)\n\n\n function create(name,type,top,url){\n \t    type = type+\"=\"+name;\n \t    url = url!=undefined?url+\"#\"+type:\"\";\n \t    \n     let \ttypebutton;\n     if(/bookName/.test(type)){\n     \t    typebutton=\"搜索书名\"\n     \t}else if(/bookAuthor/.test(type)){\n     \t\t   typebutton=\"搜索作者\"\n     \t}else{\n     \t\t\t   typebutton=\"加入书架\"\n     \t}\n    \n    \tlet Url = location.search!=\"\"?location.search.replace(/&*book[AN].*?=.*/,'')+\"&\"+type:window.location.pathname+\"?\"+type;\n    \turl = url!=\"\"?url:Url;\n    \t\n    \tA = document.createElement(\"a\");\n\t\t A.href =url.replace(/#addBookshelf.*/,'')\n\t\t     \n\t\tA.innerHTML = `<button style=\"outline:none; position:fixed; top:${top}%; right:7%; z-index:999; border-radius:5px; color:#166188;background:#fff;padding:4px;border:1px solid #000\"><b>${typebutton}</b></button>`;\n\t\t\n    \tdocument.body.appendChild(A);\n \t}\t",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "$.data.data[*]",
    "ruleContent": "<div class=\"booklist_desc\">\n    <p class=\"listname\">\n        <span class=\"level\">\n            &emsp;{{$.data.booklist_desc.level}}级&emsp;\n        </span>\n          {{$.data.booklist_desc.listname}}\n     </p>\n     <span class=\"dateline\">\n         {{$.data.booklist_desc.dateline||$.data.booklist_desc.create_time}}\n     </span>\n     <p class=\"des\">\n         荐书描述 共{{$.data.booklist_desc.booknum}}本\n     </p>\n     <div class=\"introduction\">\n           <p>{{$.data.booklist_desc.introduction}}</p>\n     </div>\n</div>\n\n<br>\n<br>\n\n<js>\ntry{\n   function getBooklist(list){\n   \tlet html=\"\";\n   \tfor(i in list){\n    \t  $ = list[i];\n    \t  let novelid = \"https://m.jjwxc.net/book2/\"+$.novelid;\n    \t  let cover = $.cover;\n    \t  let novelname = $.novelname;\n    \t  let authorname = $.authorname;\n    \t  let novelstep_name = $.novelstep_name || $.novelstep_str;\n    \t  let novelsize = $.novelsize;\n    \t  let novel_review_score = $.novel_review_score || ($.fav_count_str+\"收藏\");\n    \t  let novelstar = $.novelstar || 0;\n    \t  let s=\"\";\n    \t  for(i=0;i<novelstar;i++){s+=\"★\"}\n    \t  novelstar=s;\n    \t  let novelintroshort = $.novelintroshort;\n    \t  let comment = $.comment || \"\";\n    \t  let novelclass_str = $.novelclass_str;\n    \t  \n\t      html +=`\n\t         <div class=\"book\">\n\t            <div class=\"bookdes\">\n\t             <div class=\"pic\">\n\t                 <img src=\"${cover}\" referrerpolicy=\"no-referrer\">\n\t             </div>\n\t             <div class=\"details>\n\t                  <p class=\"bookname\">\n\t                      <span class=\"name\">\n\t                         <a href=\"${novelid}\">${novelname}</a>\n\t                      </span>\n\t                      <br>\n\t                      <span class=\"author\">\n\t                         ——${authorname}\n\t                      </span>\n\t                  </p>\t\n\t                  <p class=\"tag\">\n\t                  ${novelsize}•${novelstep_name}•${novel_review_score}<br><br>\n\t                    ${novelintroshort}<br><br>\n\t                    ${novelclass_str}<br><br>\n\t                    ${novelstar}\n\t                  </p>             \n\t             </div>\t             \n\t             </div>\n\t             <div class=\"comment\">\n\t                 ${comment}\n\t             </div>            \n\t         </div>     \n\t         `;\n\t    }\n\t    return html\n   \t}\n\n    list = JSON.parse(src).data.novel_lists || JSON.parse(src).data.booklist_desc.recommend_novelinfo;\n     reply = \"\";\n     if(/subjectDetail/.test(baseUrl)){\n     \treply_url = \"https://app.jjwxc.org/app.jjwxc/android/reading/BookListFindBook/replyList?versionCode=357&listid={{baseUrl.match(/id=(\\d+)/)[1]}}&page=1&filter_recommend=0\";\n     \t\n    data = JSON.parse(java.ajax(reply_url));\n    l = data.data.data;\n    \n    page_count = data.data.page_count;\n    if(page_count>1){\n    \t   for(k=2;k<=page_count;k++){\n    \t  reply_url = reply_url.replace(/page=\\d+/,'page='+k);\n    \t  l = l.concat(JSON.parse(java.ajax(reply_url)).data.data);\n    \t}\n    }\n   \n    for(j in l){\n    \t    reply+='<div class=\"comment\"><span style=\"color:#3A9DBF\">'+(Number(j)+1)+'楼 </span>'+l[j].body+'</div>'+getBooklist(l[j].recommend_novelinfo)+\"<br><br>\";\n    \t}\n    \n    reply = \"<hr><br><br>全部讨论（{{$.data.booklist_desc.reply_count}}）回复<br><br>\"+reply\n     \t}\n     \n\t    html = result + '<div class=\"booklists\">'+getBooklist(list)+reply+'</div>';\n\t    \n\t    result = String(html)\n.replace(/<div class=\"comment\">\\s*<\\/div>|<span class=\"level\">\\s*&emsp;级&emsp;\\s*<\\/span>|全部讨论（0）回复/g,'');\n     result = /subjectDetail/.test(baseUrl)?result.replace(/荐书描述 共\\d+本/,'找书描述'):result\n     }catch(e){\n     \t\n     \t}\n</js>",
    "ruleImage": "$.display_novelinfo[0].ebookurl||$.display_novelinfo[0].localImg\n@js:\ntry{\n\tif(/(?:postimg|bmp|alicdn|i9-static)\\./.test(result)){\n\tresult = \"https://i9-static.jjwxc.net/novelimage.php?novelid={{$.display_novelinfo[0].novelid}}\";\n\t}else{\n\t\tresult = result\n\t\t}\n\t\theader = {\n\t\t\"headers\":{\n\t\t\t\"referer\":result.match(/(^https?:\\/\\/.*?\\/)/)[1]\n\t\t\t}\n\t\t}\nresult = (result +\",\"+ JSON.stringify(header)).replace(/wx\\d+/,'wx2')\n}catch(e){\n\tjava.log(e)\n\t}\nresult",
    "ruleLink": "<js>\ndata_type = java.getString(\"$.data_type\");\nif(data_type==\"2\"){\n\t\"https://app-cdn.jjwxc.com/app.jjwxc/android/reading/Booklist/getDetail?listid={{$.listid}}\"\n\t}else{\n\t\t\"https://app.jjwxc.org/app.jjwxc/android/reading/BookListFindBook/subjectDetail?versionCode=357&listid={{$.listid}}\"\n\t\t}\n</js>",
    "ruleNextPage": "<js>\nif(/rec_new_offset/.test(baseUrl)){\n\tresult = \"https://app.jjwxc.org/app.jjwxc/android/reading/BookListFindBook/square?versionCode=357&rec_new_offset={{$.data.rec_new_offset}}&find_new_offset={{$.data.find_new_offset}}&rec_edit_offset={{$.data.rec_edit_offset}}\"\n\t}else{\n\t\tresult = baseUrl.replace(/page=\\d+/,\"page=\"+(Number(baseUrl.match(/page=(\\d+)/)[1])+1));\n\t\t\n\t\t\t}\n\t\t\n</js>",
    "rulePubDate": "{{java.getString(\"$.data_type\")==1?\"找书\":\"荐书\"}}•{{$.level}}级 {{$.recommend_count}}本 {{$.fav_count}}收藏##•级",
    "ruleTitle": "$.subject##</*.*?>",
    "shouldOverrideUrlLoading": "if(/[\\?#&]book[AN]/.test(url)){\n\ttitle = url.match(/[\\?#&]book[AN].+?=(.*)/)[1];\n\tURLDecoder = Packages.java.net.URLDecoder;\n\tgb2312Str = URLDecoder.decode(title,\"gbk\");\n utf8Str = URLDecoder.decode(title,\"utf-8\");\n\t result = gb2312Str.length() >= utf8Str.length();\n\t title = result?decodeURI(title):gb2312Str;\n\t java.searchBook(title)\n\t}",
    "singleUrl": false,
    "sortUrl": "书单广场::https://app.jjwxc.org/app.jjwxc/android/reading/BookListFindBook/square?versionCode=357&rec_new_offset=0&find_new_offset=0&rec_edit_offset=0&page={{page}}\n\n搜索书单::https://app.jjwxc.org/app.jjwxc/android/reading/BookListSearch/search?versionCode=357&keywords={{source.getVariable()}}&page=1&sort=fav_count\n\n搜索百合书单::https://android.jjwxc.com/app.jjwxc/android/reading/BookListSearch/search?versionCode=358&keywords={{source.getVariable()}}&page=1&sort=fav_count&must_xx=3&could_xx=5&book_num_range=0%2C252&data_type=1%2C2",
    "sourceComment": "//点击右上角三点，设置源变量搜索书单",
    "sourceGroup": "📚 书单,R18",
    "sourceIcon": "https://m-static.jjwxc.net/images/wap/logo.png",
    "sourceName": "晋江书单",
    "sourceUrl": "https://app.jjwxc.org",
    "style": "a:link {color:#415E44;}\na:visited{color:#8EB28B}\n.listname{\n\tfont-size:20px;\n\theight:4px;\n\tfont-weight:bolder\n\t}\n.level{\n\tbackground:#9DD8ED;\n\tfont-size:15px;\n\tborder-radius:8px;\n\t}\n.dateline{\n\tcolor:#BABABB;\n\tfont-size:12px\n\t}\n.introduction{\n\tborder:2px dashed #3A9DBF;\n\tborder-radius:10px;\n\t}\n.introduction p{\n\ttext-indent: 3ch;\n\tmargin:5px;\n\tfont-size:18px;\n\tfont-weight:bold\n\t}\n.des{\n\tmargin-top:10px;\n\tmargin-bottom:0px;\n\tmargin-left:18px;\n\tfont-weight:bolder;\n\tcolor:#1D5F22\n\t}\n.bookdes{\n\tdisplay: flex;\n\tflex-direction:row;\n\tmargin:5px;\n\twidth:100%;\n\tposition: relative;\n\t}\n.book{\n\twidth:100%;\n\tdisplay: flex;\n\tflex-direction:column;\n\talign-items:flex-start;\n\tmargin-bottom:8px;\n\t}\n.pic{\n\twidth:25vw;\n\tmargin-right:20px;\n\t}\n.pic img{\n\tboder:1px solid #C4C4C4;\n\tborder-radius:5px;\n box-shadow: 1px 2px 2px black;\n\twidth:97%;\n\theight:auto;\n\t}\n.details{\n\twidth:72vw;\n\tmargin-left:25px;\n\t}\n\n.name{\n\tfont-size:20px;\n\tcolor:#000;\n\t}\n.author{\n\tcolor:#929292;\n\tfont-size:15px;\n\tdisplay:inline-block;\n\tposition:absolute;\n\tright:5px;\n\t}\n.tag{\n\tcolor:#929292;\n\tfont-size:12px;\n\tmargin-top:-10px;\n\t}\n.comment{\n\tpadding:10px;\n\tmargin-bottom:18px;\n\tmargin-top:-3px;\n\tbackground:#E8F6E9;\n\tborder-radius:5px;\n\twidth:100%;\n\t}"
  },
  {
    "articleStyle": 0,
    "customOrder": 4870,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": ".fojing@ul@li",
    "ruleContent": ".post@all",
    "ruleLink": "a@href",
    "ruleTitle": "a@text<js>\nresult=result.replace(\"大正藏\" ,\"\").replace(\"乾隆大藏经\" ,\"\").replace(\"中央统战部\" ,\"\").replace(\"国家宗教事务局\" ,\"\").replace(\"人民网\" ,\"\").replace(\"新华网\" ,\"\").replace(\"中国网\" ,\"\").replace(\"支付宝公益\" ,\"\").replace(\"腾讯公益\" ,\"\")\nresult\n</js>",
    "singleUrl": false,
    "sortUrl": "",
    "sourceGroup": "📰 资讯,R18",
    "sourceIcon": "https://img1.baidu.com/it/u=4002694570,770476022&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=534",
    "sourceName": "经典佛经",
    "sourceUrl": "https://www.fojingzaixian.com/",
    "style": "*{\n\tmax-width:100%;\n\theight: auto;\n\tletter-spacing: 0.5;\n\tword-wrap: break-word\n}\n"
  },
  {
    "articleStyle": 0,
    "customOrder": 4885,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\n    'User-Agent': 'Mozilla/5.0 (Linux; Android 11; Pixel 3 XL Build/RQ3A.211001.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/102.0.4988.0 Mobile Safari/537.36 SearchCraft/3.9.2 (Baidu; P1 11) '\n}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.lis",
    "ruleContent": "html",
    "ruleImage": "img@data-original",
    "ruleLink": ".bt@a@href##https://www##https://m",
    "ruleNextPage": "page",
    "rulePubDate": ".time@text",
    "ruleTitle": ".bt@a@text",
    "singleUrl": false,
    "sortUrl": "原创::https://m.3dmgame.com/original_all_{{page}}/\n新闻::https://m.3dmgame.com/news_all_{{page}}/\n娱乐::https://m.3dmgame.com/bagua_all_{{page}}/",
    "sourceGroup": "📰 资讯,R18",
    "sourceIcon": "https://www.3dmgame.com/newpage/images/logo.png",
    "sourceName": "3DMGAME",
    "sourceUrl": "https://m.3dmgame.com/"
  },
  {
    "articleStyle": 0,
    "customOrder": 4886,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "#main@article",
    "ruleContent": "{{@@head@all}}\n{{@@#main@.single-content@all}}",
    "ruleImage": "img@src",
    "ruleLink": "a.0@href",
    "ruleNextPage": "page",
    "rulePubDate": ".date@text",
    "ruleTitle": "h2@text",
    "singleUrl": false,
    "sortUrl": "图文教程::https://www.cadzxw.com/tuwenjiaocheng/page/{{page}}\r\n习题库::https://www.cadzxw.com/xitiku/page/{{page}}",
    "sourceGroup": "📰 资讯,R18",
    "sourceIcon": "https://gdown.baidu.com/appcenter/source/5343068711/e4d5e5515b1725c640e69e8f06d65edf/res/5X1.png",
    "sourceName": "CAD",
    "sourceUrl": "https://www.cadzxw.com/",
    "style": ".single-content{margin:1em}"
  },
  {
    "articleStyle": 1,
    "customOrder": 4887,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "$.homepage_posts",
    "ruleDescription": "",
    "ruleImage": "$.post.cover_url",
    "ruleLink": "https://www.geekpark.net/news/{{$.post.id}}",
    "ruleNextPage": "page",
    "rulePubDate": "$.post.abstract",
    "ruleTitle": "$.post.title",
    "singleUrl": false,
    "sortUrl": "主页::https://mainssl.geekpark.net/api/v2?page={{page}}",
    "sourceGroup": "📰 资讯,R18",
    "sourceIcon": "https://imgslim.geekpark.net/geekpark-icon-196-black.png",
    "sourceName": "极客公园",
    "sourceUrl": "http://www.geekpark.net/rss"
  },
  {
    "articleStyle": 0,
    "customOrder": 4888,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "📰 资讯,R18",
    "sourceIcon": "https://static.36krcdn.com/36kr-mobile/static/logo.78b8c245.png",
    "sourceName": "36氪",
    "sourceUrl": "https://36kr.com"
  },
  {
    "articleStyle": 0,
    "customOrder": 4889,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "📰 资讯,R18",
    "sourceIcon": "http://pp.myapp.com/ma_icon/0/icon_1123392_1568202681/256",
    "sourceName": "爱范儿",
    "sourceUrl": "https://www.ifanr.com"
  },
  {
    "articleStyle": 0,
    "customOrder": 4890,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "📰 资讯,R18",
    "sourceIcon": "https://m.tmtpost.com/public/css/img/m-logo.png",
    "sourceName": "钛媒体",
    "sourceUrl": "https://m.tmtpost.com"
  },
  {
    "articleStyle": 0,
    "customOrder": 4895,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "{\n\"User-Agent\": \"Mozilla/5.0 (Linux; U; Android 8.1.0; zh-CN; MI 8 Lite Build/OPM1.171019.019) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/78.0.3904.108 UCBrowser/13.2.0.1100 Mobile Safari/537.36\"\n}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sortUrl": "",
    "sourceGroup": "📰 资讯,R18",
    "sourceIcon": "https://static.cbaigui.com/images/2021/10/cropped-512.png!full",
    "sourceName": "纪妖",
    "sourceUrl": "https://www.cbaigui.com/"
  },
  {
    "articleStyle": 0,
    "customOrder": 4907,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\n\"Content-Type\": \"application/x-www-form-urlencoded;charset=utf-8\"\n}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "<js>result.replace(/null/g,'')</js>\n$.response.items[*]||$.response.posts[*]||$.data.blogs[*]",
    "ruleContent": "<js>\nif(baseUrl.match(/detail/)){\nurl='{{$.response.posts[0].post.blogPageUrl}}';\njava.ajax(url);\n}else{result}\n</js>\n@css:.g-mnc,div[class~=cont],.main\n.box,.ct@html\n##(.*?class=\"nctitle\">|<!-- Pager -->)[\\s\\S]+|(?<=\\<p\\>)(\\s|&nbsp;)*",
    "ruleDescription": "$.blogName\n<js>\nif(result){\nscript1='<script src=\"http://yck.mumuceo.com/static/extend/clipboard/clipboard.min.js\"></script>';\ntext='<span id=\"tar_text\">{{$.blogNickName}}::http://api.lofter.com/v2.0/blogHomePage.api?product=lofter-android-6.9.2,{\"method\":\"POST\",\"body\":\"supportposttypes=1%2C2%2C3%2C4%2C5%2C6&blogdomain='+result+'.lofter.com&offset={\\{(page-1)*18}}&method=getPostLists&postdigestnew=1&returnData=1&limit=18&checkpwd=1&needgetpoststat=1\"}</span>';\nbon='<button id=\"copy\" data-clipboard-action=\"copy\" data-clipboard-target=\"#tar_text\">一键复制</button>';\nscript=\"<script>var clipboard = new Clipboard('#copy');clipboard.on('success', function (e) {alert('复制成功！');});clipboard.on('error',function (e) {alert('对不起，您的浏览器暂不支持一键复制功能！');});</script>\";\nresult='复制以下文字，添加至分类url可订阅用户<br><br>'+script1+text+'<br>'+bon+script\n}\n\n</js>",
    "ruleImage": "$.post||$.bigAvaImg\n@js:if(result.match(/firstImageUrl=\\[\"\",\"\"\\]/)){\nresult=result.match(/bigAvaImg=(.*?),/)?result.match(/bigAvaImg=(.*?),/)[1]:'';}else if(!baseUrl.match(/newsearch/)){\nresult=result.match(/firstImageUrl=\\[\"([^\"]+)\"/)[1]\n}else{result=result}",
    "ruleLink": "@js:url='{{$.post.blogPageUrl||$.blogId}}';\nid='{{$.post.id}}';\nif(url.match(/_blogid_\\d+/)){\nmain=url.match(/(_blogid_.*?)\\//)[1];\nbody=\"blogdomain=\"+main+\"&postid=\"+id;\nresult='https://api.lofter.com/oldapi/post/detail.api?product=lofter-android-6.11.3,{\"method\":\"POST\",\"body\":\"'+String(body)+'\"}';\n}else{result=url}",
    "ruleNextPage": "page",
    "rulePubDate": "$.post.publishTime\n@js:result?java.timeFormat(parseInt(result)):''",
    "ruleTitle": "$.post.title||$.post.digest||$.blogNiceName||$.blogNickName\n<js>\na=result.replace(/^(.{0,15})/,'$1').replace(/<.*?>/g,'');\njava.put('text',a);\na</js>",
    "singleUrl": false,
    "sortUrl": "裹紧我的萧被子::http://api.lofter.com/v2.0/blogHomePage.api?product=lofter-android-6.9.2,{\"method\":\"POST\",\"body\":\"supportposttypes=1%2C2%2C3%2C4%2C5%2C6&blogdomain=xbwuj.lofter.com&offset={{(page-1)*18}}&method=getPostLists&postdigestnew=1&returnData=1&limit=18&checkpwd=1&needgetpoststat=1\"}\n电影::https://api.lofter.com/oldapi/tagPosts.api?product=lofter-android-6.11.3&method=newTagSearch&offset={{(page-1) *22}}&limit=22&firstpermalink=null&tag=电影&type=new,{\"method\": \"POST\",\"body\":\"null\"}\n\n搜索用户::https://api.lofter.com/newsearch/blog.json?key=裹紧我的",
    "sourceComment": "如要添加，请按格式添加在分类Url\n<用户可通过分类url的搜索用户获得>\n\n用户名::http://api.lofter.com/v2.0/blogHomePage.api?product=lofter-android-6.9.2,{\"method\":\"POST\",\"body\":\"supportposttypes=1%2C2%2C3%2C4%2C5%2C6&blogdomain=用户主页链接&offset={{(page-1)*18}}&method=getPostLists&postdigestnew=1&returnData=1&limit=18&checkpwd=1&needgetpoststat=1\"}\n\n标签名::https://api.lofter.com/oldapi/tagPosts.api?product=lofter-android-6.11.3&method=newTagSearch&offset={{(page-1) *22}}&limit=22&firstpermalink=null&tag=标签名&type=new,{\"method\": \"POST\",\"body\":\"null\"}",
    "sourceGroup": "📰 资讯,R18",
    "sourceIcon": "https://bkimg.cdn.bcebos.com/pic/32fa828ba61ea8d390fc7f67900a304e241f58f2?x-bce-process=image/resize,m_lfit,h_700,limit_1/quality,Q_80",
    "sourceName": "Lofter",
    "sourceUrl": "Lofter",
    "style": ".text blockquote{ border-left-color:#828d95;}\nbody{background-color:#dfdfe1;width:100%}\nbody{background-image:url(//imglf3.nosdn0.126.net/img/1553236065974180.png)}\n.img img{width:100%}\na, a:hover, .day{color:#828d95;}\np{text-indent:2em}\n.pic img{width:100%}"
  },
  {
    "articleStyle": 0,
    "customOrder": 4908,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "{\"User-Agent\": \"\"}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "data",
    "ruleContent": "@js:\ncontent=`{{$..content}}`.replace(/<[^>]*(poster=\"[^\"]*\")[^>]*video_src=\"([^\"]*)\"[^>]*/g,'<video src=\"$2\" $1 controls>');\n`<!doctype html><html><head lang=\"zh\"><meta charset=\"UTF-8\"><meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=no\"><title>隐订阅</title></head><body><b style=\"font-size:20.5px;margin-bottom:12.5px;display:block\">{{$..title}}</b><a href=\"{{$..url}}\" style=\"font-family:serif;color:#808080;text-decoration:none;font-size:13px;display:block;margin-bottom:12.5px\">{{$..source}}&nbsp;&nbsp;&nbsp;{{$..date##(.*?)T(.*?).{4}Z##$1 $2###}}</a><div class=\"markdown-body\">${content}</div></body></html>\n`;",
    "ruleImage": "img\n@js:\nr = result;\nr != \"\" ? r: source.sourceIcon;",
    "ruleLink": "/detail?id={$.id}",
    "ruleNextPage": "{{baseUrl}}##&id=\\d*##&id={{$.data[-1].id}}",
    "rulePubDate": "{{$.source}}   {{$.date##(.*?)T(.*?).{4}Z##$1 $2###}}",
    "ruleTitle": "title\n<js>result;</js>\n@@text",
    "singleUrl": false,
    "sortUrl": "@js:\nu = source.key;\nsort = \"\";\nlist = JSON.parse(java.ajax(u + 'source')).data;\na = `::feed?limit=25&id=&media=`;\nfor (i = 0; i < list.length; ++i) {\n  sort += list[i].name + a + list[i].id + \"\\n\";\n};\n`变量搜索${a}&keyword={{source.getVariable()}}\n// ↓在此添加↓\n\n\n\n// ↑在此添加↑\n`+sort;",
    "sourceGroup": "📰 资讯,R18",
    "sourceIcon": "https://app.yinrss.com/Ninja108.png",
    "sourceName": "隐订阅",
    "sourceUrl": "https://api.yinrss.com/",
    "style": "*{max-width:100%;text-underline-offset:.2em;height:auto}body{padding:12.5px}audio{display:block;width:100%;height:54px;margin:6.25px 0;position:sticky;top:12.5px}iframe{width:100%;border:none}.markdown-body{--base-size-4:0.25rem;--base-size-8:0.5rem;--base-size-16:1rem;--base-size-24:1.5rem;--base-size-40:2.5rem;--base-text-weight-normal:400;--base-text-weight-medium:500;--base-text-weight-semibold:600;--fontStack-monospace:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;--fgColor-accent:Highlight}@media (prefers-color-scheme:dark){.markdown-body,[data-theme=\"dark\"]{color-scheme:dark;--focus-outlineColor:#1f6feb;--fgColor-default:#f0f6fc;--fgColor-muted:#9198a1;--fgColor-accent:#4493f8;--fgColor-success:#3fb950;--fgColor-attention:#d29922;--fgColor-danger:#f85149;--fgColor-done:#ab7df8;--bgColor-default:#0d1117;--bgColor-muted:#151b23;--bgColor-neutral-muted:#656c7633;--bgColor-attention-muted:#bb800926;--borderColor-default:#3d444d;--borderColor-muted:#3d444db3;--borderColor-neutral-muted:#3d444db3;--borderColor-accent-emphasis:#1f6feb;--borderColor-success-emphasis:#238636;--borderColor-attention-emphasis:#9e6a03;--borderColor-danger-emphasis:#da3633;--borderColor-done-emphasis:#8957e5;--color-prettylights-syntax-comment:#9198a1;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-constant-other-reference-link:#a5d6ff;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-storage-modifier-import:#f0f6fc;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-variable:#ffa657;--color-prettylights-syntax-brackethighlighter-unmatched:#f85149;--color-prettylights-syntax-brackethighlighter-angle:#9198a1;--color-prettylights-syntax-invalid-illegal-text:#f0f6fc;--color-prettylights-syntax-invalid-illegal-bg:#8e1519;--color-prettylights-syntax-carriage-return-text:#f0f6fc;--color-prettylights-syntax-carriage-return-bg:#b62324;--color-prettylights-syntax-string-regexp:#7ee787;--color-prettylights-syntax-markup-list:#f2cc60;--color-prettylights-syntax-markup-heading:#1f6feb;--color-prettylights-syntax-markup-italic:#f0f6fc;--color-prettylights-syntax-markup-bold:#f0f6fc;--color-prettylights-syntax-markup-deleted-text:#ffdcd7;--color-prettylights-syntax-markup-deleted-bg:#67060c;--color-prettylights-syntax-markup-inserted-text:#aff5b4;--color-prettylights-syntax-markup-inserted-bg:#033a16;--color-prettylights-syntax-markup-changed-text:#ffdfb6;--color-prettylights-syntax-markup-changed-bg:#5a1e02;--color-prettylights-syntax-markup-ignored-text:#f0f6fc;--color-prettylights-syntax-markup-ignored-bg:#1158c7;--color-prettylights-syntax-meta-diff-range:#d2a8ff;--color-prettylights-syntax-sublimelinter-gutter-mark:#3d444d}}@media (prefers-color-scheme:light){.markdown-body,[data-theme=\"light\"]{color-scheme:light;--focus-outlineColor:#0969da;--fgColor-default:#1f2328;--fgColor-muted:#59636e;--fgColor-accent:#0969da;--fgColor-success:#1a7f37;--fgColor-attention:#9a6700;--fgColor-danger:#d1242f;--fgColor-done:#8250df;--bgColor-default:#ffffff;--bgColor-muted:#f6f8fa;--bgColor-neutral-muted:#818b981f;--bgColor-attention-muted:#fff8c5;--borderColor-default:#d1d9e0;--borderColor-muted:#d1d9e0b3;--borderColor-neutral-muted:#d1d9e0b3;--borderColor-accent-emphasis:#0969da;--borderColor-success-emphasis:#1a7f37;--borderColor-attention-emphasis:#9a6700;--borderColor-danger-emphasis:#cf222e;--borderColor-done-emphasis:#8250df;--color-prettylights-syntax-comment:#59636e;--color-prettylights-syntax-constant:#0550ae;--color-prettylights-syntax-constant-other-reference-link:#0a3069;--color-prettylights-syntax-entity:#6639ba;--color-prettylights-syntax-storage-modifier-import:#1f2328;--color-prettylights-syntax-entity-tag:#0550ae;--color-prettylights-syntax-keyword:#cf222e;--color-prettylights-syntax-string:#0a3069;--color-prettylights-syntax-variable:#953800;--color-prettylights-syntax-brackethighlighter-unmatched:#82071e;--color-prettylights-syntax-brackethighlighter-angle:#59636e;--color-prettylights-syntax-invalid-illegal-text:#f6f8fa;--color-prettylights-syntax-invalid-illegal-bg:#82071e;--color-prettylights-syntax-carriage-return-text:#f6f8fa;--color-prettylights-syntax-carriage-return-bg:#cf222e;--color-prettylights-syntax-string-regexp:#116329;--color-prettylights-syntax-markup-list:#3b2300;--color-prettylights-syntax-markup-heading:#0550ae;--color-prettylights-syntax-markup-italic:#1f2328;--color-prettylights-syntax-markup-bold:#1f2328;--color-prettylights-syntax-markup-deleted-text:#82071e;--color-prettylights-syntax-markup-deleted-bg:#ffebe9;--color-prettylights-syntax-markup-inserted-text:#116329;--color-prettylights-syntax-markup-inserted-bg:#dafbe1;--color-prettylights-syntax-markup-changed-text:#953800;--color-prettylights-syntax-markup-changed-bg:#ffd8b5;--color-prettylights-syntax-markup-ignored-text:#d1d9e0;--color-prettylights-syntax-markup-ignored-bg:#0550ae;--color-prettylights-syntax-meta-diff-range:#8250df;--color-prettylights-syntax-sublimelinter-gutter-mark:#818b98}}.markdown-body{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;margin:0;color:var(--fgColor-default);background-color:var(--bgColor-default);font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",\"Noto Sans\",Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\";font-size:16px;line-height:1.5;word-wrap:break-word}.markdown-body .octicon{display:inline-block;fill:currentColor;vertical-align:text-bottom}.markdown-body h1:hover .anchor .octicon-link:before,.markdown-body h2:hover .anchor .octicon-link:before,.markdown-body h3:hover .anchor .octicon-link:before,.markdown-body h4:hover .anchor .octicon-link:before,.markdown-body h5:hover .anchor .octicon-link:before,.markdown-body h6:hover .anchor .octicon-link:before{width:16px;height:16px;content:' ';display:inline-block;background-color:currentColor;-webkit-mask-image:url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>\");mask-image:url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>\")}.markdown-body details,.markdown-body figcaption,.markdown-body figure{display:block}.markdown-body summary{display:list-item}.markdown-body [hidden]{display:none !important}.markdown-body a{background-color:transparent;color:var(--fgColor-accent);text-decoration:none}.markdown-body abbr[title]{border-bottom:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.markdown-body b,.markdown-body strong{font-weight:var(--base-text-weight-semibold,600)}.markdown-body dfn{font-style:italic}.markdown-body h1{margin:.67em 0;font-weight:var(--base-text-weight-semibold,600);padding-bottom:.3em;font-size:2em;border-bottom:1px solid var(--borderColor-muted)}.markdown-body mark{background-color:var(--bgColor-attention-muted);color:var(--fgColor-default)}.markdown-body small{font-size:90%}.markdown-body img{border-style:none;max-width:100%;box-sizing:content-box}.markdown-body code,.markdown-body kbd,.markdown-body pre,.markdown-body samp{font-family:monospace;font-size:1em}.markdown-body figure{margin:1em var(--base-size-40)}.markdown-body hr{box-sizing:content-box;overflow:hidden;background:transparent;border-bottom:1px solid var(--borderColor-muted);height:.25em;padding:0;margin:var(--base-size-24) 0;background-color:var(--borderColor-default);border:0}.markdown-body input{font:inherit;margin:0;overflow:visible;font-family:inherit;font-size:inherit;line-height:inherit}.markdown-body [type=button],.markdown-body [type=reset],.markdown-body [type=submit]{-webkit-appearance:button;appearance:button}.markdown-body [type=checkbox],.markdown-body [type=radio]{box-sizing:border-box;padding:0}.markdown-body [type=number]::-webkit-inner-spin-button,.markdown-body [type=number]::-webkit-outer-spin-button{height:auto}.markdown-body [type=search]::-webkit-search-cancel-button,.markdown-body [type=search]::-webkit-search-decoration{-webkit-appearance:none;appearance:none}.markdown-body::-webkit-input-placeholder{color:inherit;opacity:.54}.markdown-body::-webkit-file-upload-button{-webkit-appearance:button;appearance:button;font:inherit}.markdown-body a:hover{text-decoration:underline}.markdown-body::placeholder{color:var(--fgColor-muted);opacity:1}.markdown-body hr::before{display:table;content:\"\"}.markdown-body hr::after{display:table;clear:both;content:\"\"}.markdown-body table{border-spacing:0;border-collapse:collapse;display:block;width:max-content;max-width:100%;overflow:auto;font-variant:tabular-nums}.markdown-body td,.markdown-body th{padding:0}.markdown-body details summary{cursor:pointer}.markdown-body a:focus,.markdown-body [role=button]:focus,.markdown-body input[type=radio]:focus,.markdown-body input[type=checkbox]:focus{outline:2px solid var(--focus-outlineColor);outline-offset:-2px;box-shadow:none}.markdown-body a:focus:not(:focus-visible),.markdown-body [role=button]:focus:not(:focus-visible),.markdown-body input[type=radio]:focus:not(:focus-visible),.markdown-body input[type=checkbox]:focus:not(:focus-visible){outline:solid 1px transparent}.markdown-body a:focus-visible,.markdown-body [role=button]:focus-visible,.markdown-body input[type=radio]:focus-visible,.markdown-body input[type=checkbox]:focus-visible{outline:2px solid var(--focus-outlineColor);outline-offset:-2px;box-shadow:none}.markdown-body a:not([class]):focus,.markdown-body a:not([class]):focus-visible,.markdown-body input[type=radio]:focus,.markdown-body input[type=radio]:focus-visible,.markdown-body input[type=checkbox]:focus,.markdown-body input[type=checkbox]:focus-visible{outline-offset:0}.markdown-body kbd{display:inline-block;padding:var(--base-size-4);font:11px var(--fontStack-monospace,ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace);line-height:10px;color:var(--fgColor-default);vertical-align:middle;background-color:var(--bgColor-muted);border:solid 1px var(--borderColor-neutral-muted);border-bottom-color:var(--borderColor-neutral-muted);border-radius:6px;box-shadow:inset 0 -1px 0 var(--borderColor-neutral-muted)}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:var(--base-size-24);margin-bottom:var(--base-size-16);font-weight:var(--base-text-weight-semibold,600);line-height:1.25}.markdown-body h2{font-weight:var(--base-text-weight-semibold,600);padding-bottom:.3em;font-size:1.5em;border-bottom:1px solid var(--borderColor-muted)}.markdown-body h3{font-weight:var(--base-text-weight-semibold,600);font-size:1.25em}.markdown-body h4{font-weight:var(--base-text-weight-semibold,600);font-size:1em}.markdown-body h5{font-weight:var(--base-text-weight-semibold,600);font-size:.875em}.markdown-body h6{font-weight:var(--base-text-weight-semibold,600);font-size:.85em;color:var(--fgColor-muted)}.markdown-body p{margin-top:0;margin-bottom:10px}.markdown-body blockquote{margin:0;padding:0 1em;color:var(--fgColor-muted);border-left:.25em solid var(--borderColor-default)}.markdown-body ul,.markdown-body ol{margin-top:0;margin-bottom:0;padding-left:2em}.markdown-body ol ol,.markdown-body ul ol{list-style-type:lower-roman}.markdown-body ul ul ol,.markdown-body ul ol ol,.markdown-body ol ul ol,.markdown-body ol ol ol{list-style-type:lower-alpha}.markdown-body dd{margin-left:0}.markdown-body tt,.markdown-body code,.markdown-body samp{font-family:var(--fontStack-monospace,ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace);font-size:12px}.markdown-body pre{margin-top:0;margin-bottom:0;font-family:var(--fontStack-monospace,ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace);font-size:12px;word-wrap:normal}.markdown-body .octicon{display:inline-block;overflow:visible !important;vertical-align:text-bottom;fill:currentColor}.markdown-body input::-webkit-outer-spin-button,.markdown-body input::-webkit-inner-spin-button{margin:0;appearance:none}.markdown-body .mr-2{margin-right:var(--base-size-8,8px) !important}.markdown-body::before{display:table;content:\"\"}.markdown-body::after{display:table;clear:both;content:\"\"}.markdown-body>*:first-child{margin-top:0 !important}.markdown-body>*:last-child{margin-bottom:0 !important}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body .absent{color:var(--fgColor-danger)}.markdown-body .anchor{float:left;padding-right:var(--base-size-4);margin-left:-20px;line-height:1}.markdown-body .anchor:focus{outline:none}.markdown-body p,.markdown-body blockquote,.markdown-body ul,.markdown-body ol,.markdown-body dl,.markdown-body table,.markdown-body pre,.markdown-body details{margin-top:0;margin-bottom:var(--base-size-16)}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:var(--fgColor-default);vertical-align:middle;visibility:hidden}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.markdown-body h1 tt,.markdown-body h1 code,.markdown-body h2 tt,.markdown-body h2 code,.markdown-body h3 tt,.markdown-body h3 code,.markdown-body h4 tt,.markdown-body h4 code,.markdown-body h5 tt,.markdown-body h5 code,.markdown-body h6 tt,.markdown-body h6 code{padding:0 .2em;font-size:inherit}.markdown-body summary h1,.markdown-body summary h2,.markdown-body summary h3,.markdown-body summary h4,.markdown-body summary h5,.markdown-body summary h6{display:inline-block}.markdown-body summary h1 .anchor,.markdown-body summary h2 .anchor,.markdown-body summary h3 .anchor,.markdown-body summary h4 .anchor,.markdown-body summary h5 .anchor,.markdown-body summary h6 .anchor{margin-left:-40px}.markdown-body summary h1,.markdown-body summary h2{padding-bottom:0;border-bottom:0}.markdown-body ul.no-list,.markdown-body ol.no-list{padding:0;list-style-type:none}.markdown-body ol[type=\"a s\"]{list-style-type:lower-alpha}.markdown-body ol[type=\"A s\"]{list-style-type:upper-alpha}.markdown-body ol[type=\"i s\"]{list-style-type:lower-roman}.markdown-body ol[type=\"I s\"]{list-style-type:upper-roman}.markdown-body ol[type=\"1\"]{list-style-type:decimal}.markdown-body div>ol:not([type]){list-style-type:decimal}.markdown-body ul ul,.markdown-body ul ol,.markdown-body ol ol,.markdown-body ol ul{margin-top:0;margin-bottom:0}.markdown-body li>p{margin-top:var(--base-size-16)}.markdown-body li+li{margin-top:.25em}.markdown-body dl{padding:0}.markdown-body dl dt{padding:0;margin-top:var(--base-size-16);font-size:1em;font-style:italic;font-weight:var(--base-text-weight-semibold,600)}.markdown-body dl dd{padding:0 var(--base-size-16);margin-bottom:var(--base-size-16)}.markdown-body table th{font-weight:var(--base-text-weight-semibold,600)}.markdown-body table th,.markdown-body table td{padding:6px 13px;border:1px solid var(--borderColor-default)}.markdown-body table td>:last-child{margin-bottom:0}.markdown-body table tr{background-color:var(--bgColor-default);border-top:1px solid var(--borderColor-muted)}.markdown-body table tr:nth-child(2n){background-color:var(--bgColor-muted)}.markdown-body table img{background-color:transparent}.markdown-body img[align=right]{padding-left:20px}.markdown-body img[align=left]{padding-right:20px}.markdown-body .emoji{max-width:none;vertical-align:text-top;background-color:transparent}.markdown-body span.frame{display:block;overflow:hidden}.markdown-body span.frame>span{display:block;float:left;width:auto;padding:7px;margin:13px 0 0;overflow:hidden;border:1px solid var(--borderColor-default)}.markdown-body span.frame span img{display:block;float:left}.markdown-body span.frame span span{display:block;padding:5px 0 0;clear:both;color:var(--fgColor-default)}.markdown-body span.align-center{display:block;overflow:hidden;clear:both}.markdown-body span.align-center>span{display:block;margin:13px auto 0;overflow:hidden;text-align:center}.markdown-body span.align-center span img{margin:0 auto;text-align:center}.markdown-body span.align-right{display:block;overflow:hidden;clear:both}.markdown-body span.align-right>span{display:block;margin:13px 0 0;overflow:hidden;text-align:right}.markdown-body span.align-right span img{margin:0;text-align:right}.markdown-body span.float-left{display:block;float:left;margin-right:13px;overflow:hidden}.markdown-body span.float-left span{margin:13px 0 0}.markdown-body span.float-right{display:block;float:right;margin-left:13px;overflow:hidden}.markdown-body span.float-right>span{display:block;margin:13px auto 0;overflow:hidden;text-align:right}.markdown-body code,.markdown-body tt{padding:.2em .4em;margin:0;font-size:85%;white-space:break-spaces;background-color:var(--bgColor-neutral-muted);border-radius:6px}.markdown-body code br,.markdown-body tt br{display:none}.markdown-body del code{text-decoration:inherit}.markdown-body samp{font-size:85%}.markdown-body pre code{font-size:100%}.markdown-body pre>code{padding:0;margin:0;word-break:normal;white-space:pre;background:transparent;border:0}.markdown-body .highlight{margin-bottom:var(--base-size-16)}.markdown-body .highlight pre{margin-bottom:0;word-break:normal}.markdown-body .highlight pre,.markdown-body pre{padding:var(--base-size-16);overflow:auto;font-size:85%;line-height:1.45;color:var(--fgColor-default);background-color:var(--bgColor-muted);border-radius:6px}.markdown-body pre code,.markdown-body pre tt{display:inline;max-width:auto;padding:0;margin:0;overflow:visible;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}.markdown-body .csv-data td,.markdown-body .csv-data th{padding:5px;overflow:hidden;font-size:12px;line-height:1;text-align:left;white-space:nowrap}.markdown-body .csv-data .blob-num{padding:10px var(--base-size-8) 9px;text-align:right;background:var(--bgColor-default);border:0}.markdown-body .csv-data tr{border-top:0}.markdown-body .csv-data th{font-weight:var(--base-text-weight-semibold,600);background:var(--bgColor-muted);border-top:0}.markdown-body [data-footnote-ref]::before{content:\"[\"}.markdown-body [data-footnote-ref]::after{content:\"]\"}.markdown-body .footnotes{font-size:12px;color:var(--fgColor-muted);border-top:1px solid var(--borderColor-default)}.markdown-body .footnotes ol{padding-left:var(--base-size-16)}.markdown-body .footnotes ol ul{display:inline-block;padding-left:var(--base-size-16);margin-top:var(--base-size-16)}.markdown-body .footnotes li{position:relative}.markdown-body .footnotes li:target::before{position:absolute;top:calc(var(--base-size-8)*-1);right:calc(var(--base-size-8)*-1);bottom:calc(var(--base-size-8)*-1);left:calc(var(--base-size-24)*-1);pointer-events:none;content:\"\";border:2px solid var(--borderColor-accent-emphasis);border-radius:6px}.markdown-body .footnotes li:target{color:var(--fgColor-default)}.markdown-body .footnotes .data-footnote-backref g-emoji{font-family:monospace}.markdown-body body:has(:modal){padding-right:var(--dialog-scrollgutter) !important}.markdown-body .pl-c{color:var(--color-prettylights-syntax-comment)}.markdown-body .pl-c1,.markdown-body .pl-s .pl-v{color:var(--color-prettylights-syntax-constant)}.markdown-body .pl-e,.markdown-body .pl-en{color:var(--color-prettylights-syntax-entity)}.markdown-body .pl-smi,.markdown-body .pl-s .pl-s1{color:var(--color-prettylights-syntax-storage-modifier-import)}.markdown-body .pl-ent{color:var(--color-prettylights-syntax-entity-tag)}.markdown-body .pl-k{color:var(--color-prettylights-syntax-keyword)}.markdown-body .pl-s,.markdown-body .pl-pds,.markdown-body .pl-s .pl-pse .pl-s1,.markdown-body .pl-sr,.markdown-body .pl-sr .pl-cce,.markdown-body .pl-sr .pl-sre,.markdown-body .pl-sr .pl-sra{color:var(--color-prettylights-syntax-string)}.markdown-body .pl-v,.markdown-body .pl-smw{color:var(--color-prettylights-syntax-variable)}.markdown-body .pl-bu{color:var(--color-prettylights-syntax-brackethighlighter-unmatched)}.markdown-body .pl-ii{color:var(--color-prettylights-syntax-invalid-illegal-text);background-color:var(--color-prettylights-syntax-invalid-illegal-bg)}.markdown-body .pl-c2{color:var(--color-prettylights-syntax-carriage-return-text);background-color:var(--color-prettylights-syntax-carriage-return-bg)}.markdown-body .pl-sr .pl-cce{font-weight:bold;color:var(--color-prettylights-syntax-string-regexp)}.markdown-body .pl-ml{color:var(--color-prettylights-syntax-markup-list)}.markdown-body .pl-mh,.markdown-body .pl-mh .pl-en,.markdown-body .pl-ms{font-weight:bold;color:var(--color-prettylights-syntax-markup-heading)}.markdown-body .pl-mi{font-style:italic;color:var(--color-prettylights-syntax-markup-italic)}.markdown-body .pl-mb{font-weight:bold;color:var(--color-prettylights-syntax-markup-bold)}.markdown-body .pl-md{color:var(--color-prettylights-syntax-markup-deleted-text);background-color:var(--color-prettylights-syntax-markup-deleted-bg)}.markdown-body .pl-mi1{color:var(--color-prettylights-syntax-markup-inserted-text);background-color:var(--color-prettylights-syntax-markup-inserted-bg)}.markdown-body .pl-mc{color:var(--color-prettylights-syntax-markup-changed-text);background-color:var(--color-prettylights-syntax-markup-changed-bg)}.markdown-body .pl-mi2{color:var(--color-prettylights-syntax-markup-ignored-text);background-color:var(--color-prettylights-syntax-markup-ignored-bg)}.markdown-body .pl-mdr{font-weight:bold;color:var(--color-prettylights-syntax-meta-diff-range)}.markdown-body .pl-ba{color:var(--color-prettylights-syntax-brackethighlighter-angle)}.markdown-body .pl-sg{color:var(--color-prettylights-syntax-sublimelinter-gutter-mark)}.markdown-body .pl-corl{text-decoration:underline;color:var(--color-prettylights-syntax-constant-other-reference-link)}.markdown-body [role=button]:focus:not(:focus-visible),.markdown-body [role=tabpanel][tabindex=\"0\"]:focus:not(:focus-visible),.markdown-body button:focus:not(:focus-visible),.markdown-body summary:focus:not(:focus-visible),.markdown-body a:focus:not(:focus-visible){outline:none;box-shadow:none}.markdown-body [tabindex=\"0\"]:focus:not(:focus-visible),.markdown-body details-dialog:focus:not(:focus-visible){outline:none}.markdown-body g-emoji{display:inline-block;min-width:1ch;font-family:\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\";font-size:1em;font-style:normal !important;font-weight:var(--base-text-weight-normal,400);line-height:1;vertical-align:-0.075em}.markdown-body g-emoji img{width:1em;height:1em}.markdown-body .task-list-item{list-style-type:none}.markdown-body .task-list-item label{font-weight:var(--base-text-weight-normal,400)}.markdown-body .task-list-item.enabled label{cursor:pointer}.markdown-body .task-list-item+.task-list-item{margin-top:var(--base-size-4)}.markdown-body .task-list-item .handle{display:none}.markdown-body .task-list-item-checkbox{margin:0 .2em .25em -1.4em;vertical-align:middle}.markdown-body ul:dir(rtl) .task-list-item-checkbox{margin:0 -1.6em .25em .2em}.markdown-body ol:dir(rtl) .task-list-item-checkbox{margin:0 -1.6em .25em .2em}.markdown-body .contains-task-list:hover .task-list-item-convert-container,.markdown-body .contains-task-list:focus-within .task-list-item-convert-container{display:block;width:auto;height:24px;overflow:visible;clip:auto}.markdown-body::-webkit-calendar-picker-indicator{filter:invert(50%)}.markdown-body .markdown-alert{padding:var(--base-size-8) var(--base-size-16);margin-bottom:var(--base-size-16);color:inherit;border-left:.25em solid var(--borderColor-default)}.markdown-body .markdown-alert>:first-child{margin-top:0}.markdown-body .markdown-alert>:last-child{margin-bottom:0}.markdown-body .markdown-alert .markdown-alert-title{display:flex;font-weight:var(--base-text-weight-medium,500);align-items:center;line-height:1}.markdown-body .markdown-alert.markdown-alert-note{border-left-color:var(--borderColor-accent-emphasis)}.markdown-body .markdown-alert.markdown-alert-note .markdown-alert-title{color:var(--fgColor-accent)}.markdown-body .markdown-alert.markdown-alert-important{border-left-color:var(--borderColor-done-emphasis)}.markdown-body .markdown-alert.markdown-alert-important .markdown-alert-title{color:var(--fgColor-done)}.markdown-body .markdown-alert.markdown-alert-warning{border-left-color:var(--borderColor-attention-emphasis)}.markdown-body .markdown-alert.markdown-alert-warning .markdown-alert-title{color:var(--fgColor-attention)}.markdown-body .markdown-alert.markdown-alert-tip{border-left-color:var(--borderColor-success-emphasis)}.markdown-body .markdown-alert.markdown-alert-tip .markdown-alert-title{color:var(--fgColor-success)}.markdown-body .markdown-alert.markdown-alert-caution{border-left-color:var(--borderColor-danger-emphasis)}.markdown-body .markdown-alert.markdown-alert-caution .markdown-alert-title{color:var(--fgColor-danger)}.markdown-body>*:first-child>.heading-element:first-child{margin-top:0 !important}.markdown-body .highlight pre:has(+.zeroclipboard-container){min-height:52px}"
  },
  {
    "articleStyle": 0,
    "customOrder": 4912,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "class.new-post@li",
    "ruleContent": "<html>\n    <head>\n        <script>\n            (t=>{t=new Date().getTime();window.onload=e=>{(t=new Date().getTime()-t)>3000&&$.post(ajaxurl+`fast&type=slowReport`,{t})}})()\n        </script>\n        <meta charset=\"UTF-8\"></meta>\n        <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no\"></meta>\n        <meta name=\"renderer\" content=\"webkit\"></meta>\n        <meta name=\"referrer\" content=\"no-referrer\"></meta>\n        <meta name=\"force-rendering\" content=\"webkit\"></meta>\n        <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,Chrome=1\"></meta>\n        <meta name=\"applicable-device\" content=\"pc,mobile\"></meta>\n        <link rel=\"dns-prefetch\" href=\"https://at.alicdn.com/\"></link>\n        <link rel=\"dns-prefetch\" href=\"//api.tongjiniao.com/\"></link>\n        <link rel=\"shortcut icon\" href=\"/favicon.ico\"></link>\n        <link rel=\"stylesheet\" href=\"https://at.alicdn.com/t/c/font_1640420_9strbjl49h5.css\"></link>\n        <link rel=\"stylesheet\" href=\"/zb_users/theme/xianbao_theme/style/style.css?v=20241107\"></link>\n        <link rel=\"stylesheet\" href=\"/zb_users/theme/xianbao_theme/style/haodan.css?v=202408151\"></link>\n        <link rel=\"stylesheet\" href=\"/zb_users/theme/xianbao_theme/style/swiper-bundle.min.css\"></link>\n        <link rel=\"stylesheet\" href=\"/zb_users/theme/xianbao_theme/style/fancybox.css?v=20230724\"></link>\n                <script src=\"/zb_system/script/jquery-2.2.4.min.js\"></script>\n        <script src=\"/zb_system/script/zblogphp.js\"></script>\n        <script src=\"/zb_users/theme/xianbao_theme/script/dark-mode.js?v=2023-0365765761\"></script>\n        <script src=\"/zb_system/script/c_html_js_add.php\"></script>\n        <script src=\"http://new.xianbao.fun/zb_users/plugin/UEditor/third-party/prism/prism.js\" type=\"text/javascript\"></script>\n        <link rel=\"stylesheet\" type=\"text/css\" href=\"http://new.xianbao.fun/zb_users/plugin/UEditor/third-party/prism/prism.css\"></link>\n        <link rel=\"stylesheet\" href=\"/zb_users/plugin/xc_report/style/style.css?r=20230523095540\" type=\"text/css\" media=\"all\"></link>\n               <link rel=\"apple-touch-icon\" href=\"/zb_users/theme/xianbao_theme/image/iosicon/icon.png\"></link>\n        <link rel=\"apple-touch-icon-precomposed\" sizes=\"57x57\" href=\"/zb_users/theme/xianbao_theme/image/iosicon/icon-57.png\"></link>\n        <link rel=\"apple-touch-icon-precomposed\" sizes=\"72x72\" href=\"/zb_users/theme/xianbao_theme/image/iosicon/icon-72.png\"></link>\n        <link rel=\"apple-touch-icon-precomposed\" sizes=\"114x114\" href=\"/zb_users/theme/xianbao_theme/image/iosicon/icon-114.png\"></link>\n        <link rel=\"apple-touch-icon-precomposed\" sizes=\"144x144\" href=\"/zb_users/theme/xianbao_theme/image/iosicon/icon-144.png\"></link>\n        <link rel=\"stylesheet\" href=\"https://lib.baomitu.com/layer/3.5.1/theme/default/layer.css?v=3.5.1\" id=\"layuicss-layer\"></link>\n        <style id=\"theia-sticky-sidebar-stylesheet-TSS\">\n            .theiaStickySidebar:after {content: \"\"; display: table; clear: both;}\n        </style>\n    </head>\n    <body style=\"transform: none;\">\n        <div id=\"content\" class=\"content container clearfix\" style=\"transform: none;\">\n            <div id=\"mainbox\" class=\"article-box fl mb\">\n                <article class=\"art-main br mb sb\">\n                    {{@class.article-box@html}}\n                </div>\n        <script src=\"/zb_users/plugin/xc_report/script/script.js?r=20221203\" type=\"text/javascript\"></script>\n        <script src=\"https://lib.baomitu.com/layer/3.5.1/layer.min.js\"></script>\n        <script src=\"/zb_users/plugin/mochu_us/style/mochu_us.js?r=20240819145849\"></script>\n        <link rel=\"stylesheet\" href=\"/zb_users/plugin/mochu_us/style/mochu_us.css?r=20240819145849\"></link>\n        <link rel=\"stylesheet\" href=\"/zb_users/plugin/Jz52_code/Jz52_code.css\"></link>\n        <script src=\"/zb_users/plugin/Jz52_code/clipboard.min.js\"></script>\n        <script src=\"/zb_users/plugin/Jz52_code/Jz52_code.js\"></script>\n        <!--黑色透明遮罩-->\n        <div id=\"mask-hidden\" class=\"mask-hidden transition\"></div>\n        <script>\n            if (![\"\\x6e\\x65\\x77\\x2e\\x78\\x69\\x61\\x6e\\x62\\x61\\x6f\\x2e\\x66\\x75\\x6e\", \"\\x6e\\x65\\x77\\x2e\\x69\\x78\\x62\\x6b\\x2e\\x6e\\x65\\x74\", \"\\x6e\\x65\\x77\\x2e\\x69\\x78\\x62\\x6b\\x2e\\x66\\x75\\x6e\",\"\\x6e\\x65\\x77\\x73\\x2e\\x78\\x69\\x61\\x6e\\x62\\x61\\x6f\\x2e\\x66\\x75\\x6e\", \"\\x6e\\x65\\x77\\x73\\x2e\\x69\\x78\\x62\\x6b\\x2e\\x6e\\x65\\x74\", \"\\x6e\\x65\\x77\\x73\\x2e\\x69\\x78\\x62\\x6b\\x2e\\x66\\x75\\x6e\"][\"\\x69\\x6e\\x63\\x6c\\x75\\x64\\x65\\x73\"](window[\"\\x6c\\x6f\\x63\\x61\\x74\\x69\\x6f\\x6e\"][\"\\x68\\x6f\\x73\\x74\\x6e\\x61\\x6d\\x65\"])) {    window[\"\\x6c\\x6f\\x63\\x61\\x74\\x69\\x6f\\x6e\"][\"\\x68\\x72\\x65\\x66\"] = \"\\x68\\x74\\x74\\x70\\x3a\\x2f\\x2f\\x6e\\x65\\x77\\x2e\\x78\\x69\\x61\\x6e\\x62\\x61\\x6f\\x2e\\x66\\x75\\x6e\";}\n        </script>\n        <script src=\"/zb_users/theme/xianbao_theme/script/common.js?v=2024-1107\"></script>\n        <script src=\"/zb_users/theme/xianbao_theme/script/md5.js?v=2024-1107\"></script>\n        <script src=\"/zb_users/theme/xianbao_theme/script/fancybox.js?v=?v=20230724\"></script>\n        <script src=\"/zb_users/theme/xianbao_theme/script/swiper-bundle.min.js\">\n             \n        </script>\n        <script src=\"/zb_users/theme/xianbao_theme/script/jquery.md5.js?v=2022-0312\"></script>\n                <script src=\"/zb_users/theme/xianbao_theme/script/clipboard.min.js\"></script>\n    </body>\n</html>",
    "ruleLink": "@class.title@a@href",
    "rulePubDate": "@class.title@text",
    "ruleTitle": "@class.title@a@title",
    "singleUrl": false,
    "sortUrl": "首页::/\n赚客吧::/category-zuankeba/\n新赚吧::/category-xinzuanba/\n微博线报::/category-weibo/\n豆瓣线报::/category-douban/\n酷安::/category-kuan/\n小嘀咕::/category-xiaodigu/\n葫芦侠三楼::/category-huluxia/\n更新较慢活动::/category-man/\n小刀娱乐网::/category-xiaodao/\n技术QQ网::/category-qqjishu/\nYYOK大全::/category-yyok/\n活动资讯网::/category-huodong/\n免费赚钱中心::/category-mianfei/",
    "sourceGroup": "📱 资源,R18",
    "sourceIcon": "http://new.xianbao.fun/zb_users/theme/xianbao_theme/image/newlogo.png",
    "sourceName": "线报酷",
    "sourceUrl": "http://new.xianbao.fun"
  },
  {
    "articleStyle": 0,
    "customOrder": 4922,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "singleUrl": true,
    "sourceGroup": "📱 资源,R18",
    "sourceIcon": "https://hikerfans.com/tubiao/ke/58.png",
    "sourceName": "聚合网站",
    "sourceUrl": "https://link3.cc/cccl"
  },
  {
    "articleStyle": 0,
    "customOrder": 4923,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\"User-Agent\":\"\"}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "<js>\nsort = [];\nL = String(baseUrl).replace(/^h.*?\\=/,'').split('★');\nfor (i = 0; i < L.length; i ++) {\n  sort.push ({\n    title: L[i].match(/【(.*?)】/)[1],\n    date: L[i].match(/】(.*?)＃/)[1],\n    img: L[i].match(/＃(.*)/)[1],\n    link: L[i].match(/(.*?)【/)[1],\n  });\n};\nJSON.stringify(sort);\n</js>\n$.[*]",
    "ruleDescription": "🟩0<!doctype html>\n<html>\n<head lang=\"zh\">\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1, user-scalable=no\">\n<title>木鱼</title>\n<style>\n* {\n  margin: 0;\n  padding: 0;\n  line-height; 1em;\n}\nbody {\n  background-color: #f4f5f7;\n  padding: 15px;\n  display: flex;\n  flex-direction: column;\n  flex-wrap: wrap;\n  place-content: center;\n  place-items: center;\n}\n.count {\n  font-size: 66px;\n  font-weight: 700;\n  font-family: cursive;\n  margin-top: 60px;\n  margin-bottom: 30px;\n  display: flex;\n  place-content: center;\n  place-items: center;\n}\n.center {\n  width: 225px;\n  margin-top: 30px;\n  margin-bottom: 60px;\n}\n.muyu {\n  transform: scale(1);\n  transition: .075s;\n  width: 225px;\n}\n.muyu:active { transform: scale(.95); }\n@keyframes fade {\n  0% {\n    opacity: 1;\n    margin-top: -120px;\n  }\n  100% {\n    opacity: 0;\n    margin-top: -170px;\n  }\n}\np {\n  position: absolute;\n  opacity: 0;\n  animation: fade linear .6s;\n}\nbutton {\n  font-size: 12px;\n  font-weight: 700;\n  color: #4360b7;\n  background-color: #e7eeff;\n  padding: .65em .9em;\n  border-radius: 2em;\n  border: none;\n  margin: 30px;\n  transition: .3s;\n}\nbutton:active { background-color: #d6ddee; }\nspan {\n  font-size: 13px;\n  color: #ccc;\n}\n</style>\n</head>\n<body>\n<div class=\"count\">0</div>本次累积功德\n<div class=\"center\">\n  <img class=\"muyu\" onkeyup=\"if (event.keyCode==32) Knock();\" onclick=\"Knock();\" src=\"{{source.sourceIcon}}\">\n</div>\n<button onclick=\"Bgm();\">开启沉浸式BGM(额外消耗流量)</button>\n<audio id=\"bgm\" src=\"http://f3.htcyy.com/play9/973/mp3/2\" preload=\"none\" loop hidden></audio>\n<span>敲电子木鱼，见机甲佛祖，修赛博真经。</span>\n</body>\n<script>\nfunction $(t) {\n  return document.querySelector(t);\n}\nfunction Knock() {\n  c = $('.count');\n  c.textContent = ++c.textContent;\n  x = document.createElement('audio');\n  x.src = \"data:audio/aac;base64,//FMgAPf/N4CAExhdmM1OC41NC4xMDAAQiAIwRg4//FMgAG//CEgBGCMHP/xTIAl//whTNiAB/h/f/+5B7JvOQl9sRN+/PnQP2axqNdH7ErVcTVwB9c5YAafyGDxIABIQMHpsAaHvtvy0AWw00wgAAnXpF08XE0LAAAA1g0PDTeT0HM53T+h4HOQx+AIYrSENjmyFmLWBr0wQpApCB01gO2LJ+p5PGTKPH4Nn/U/l+3/X9hyRFKY+E7U+yEAC8M+2XpPbRnnKqrmE6RSHk/47kPea7r29C5UhIHRZpfXUyLVXbwf23K2wvpWDJ5fV6rukvLvYP1H8D2TnGMXJ817d+exbR2zu3sfC7ezlDInFWlKKKKAOQeyxboIutDBzkb8+dA/ZrGpL6P2JWq4mrgAOJv6L6ibX8PxwAAD7zaAAFfP9GQFrY6cPl+3/v/Wf9AAD1/iPJLL+MQAHP/xTIBBP/whTNr/5/5/e/3aTIiCuVZIK9DdCQAA8+x+w+L0BDnowQHAnL3ZP54/gfJ5xJH7O+IiUXkxL4AfhvI9LeS4dFJesMVM+EIYTihPXyyKlkhpJzWVibJy5PHaLtYY/DUgtCRxKIWriXNtfUr4XXmwucQj8+ZBOfO5zs1qTQ76UQaHCBLG6zEZnxrZ2xfF2aRnR6SMmKbjlo1wc9DCOa1pPpnxct+8R6t8LCUHIkPAPwjI+W8OS3kEnzXIkozCXK5/HUEYAKmBj8vXH9rtX/9jbX8Q23dPxOVDvE9YddrTVkgREQaaqiVO1bzYnt4g3iOaqnn+j993376zvDeA2rGv3gfRehbTtW09CVzkCo9DUNqa3LC4bafy38u+I+J9n7L8j1HJqABCgwl5K8MkW40jkfd8udGmeGRzmR44ahA6n0jxlSMAo1vYRoPcNzagvJc4ONd1Z9xbmcdxx/Zne7jbW34jzWmWmG3PtuiY0SlW14Hm4fNz820DZt2bdkhq1atT+LYoxYIUzEsVJoFaaQjgAAefY/YfF6Ahz0cL8AAFy9wWNTXCoNZ6Cs5K4G8x0PRlAAAAznOZgYCGvUqmqlKMuwuCNNTbM5ooePhyyA2d91QGz9xwCaThX7KQB1a/cx0ylwvG/dtQ9aAn6IOOHj21SxGe6qRuPtddm2w+FtbQ2traEQA4//FMgEj//CF4z////v9/v43CAAanJqedc8ZYALQDJhSRIpJYSUgNnG/6kXzSNbAkcllSOx0ZHjPQyPkL1SQ+UXjcl8t/MJLyZzsl0XjhLg+yJajIEsAAnKD8dYp5khEcfbwGKRSEiQ/9+ZC1XMX9b560geTHOGbXhXLiHmG8NIpDuXn1m9qx1FnVIOeXQPYcFz3TNWRWByM2rkkozTeGflejefcp3/Df93H+u0lSkN5ua54viycN2To3CYq91W15uhnY15RCecx6R5s0bKItu1Zmm83dN2YnJYE3OzNHak8+cvqy/ceGq8g9/Dx/VT1sKYGoelS9w7Nd82SNIU9Um/oGvnvGP9MknrGP1lyDZV+ZQKAJk9IPxk/QZhPHIzU0PTS0yC8W20tLyDw8Pb09ac1aC0SNI9stL28NVstcgBpwaCGghp+gBp9s23bQW1oOnaCFs6eGnaDoIaBp9t6AD7n2/tH3f/QP/UP9sojEo1hobiEYABqcmp51zxlgA4ylg1IeJyP9TkbrXMfIPdyUrDEdFfJ5SGQ5SzMABtnuvIOK9t8////0eKZo1a80D6XkJS2BXyHe+yvK/otElasY1zpj1jjuJfRbYJtElJWiFeZGyxWpcJx7LNHR4jFuaWmUECNy86r2VmUrybNv986ep10ZqwtXs2SyKIID56por/In3Frb/VOW9oSyDR+LXkacmpx/eudxfbup7I3UUxq3aypUyJpFFLmRSsJuk3lDeJq2bS2/JzMK0AADo/Q+z5/Ac7mAAAAAcP/xTIBJ//whGM////v/f7zR3GvAAFzZ59qnPj7gBk4RGeLBmE0koZ1EmJJgVsYiY+d0kW4olxTdXRw4n4L6cS8v9BJ4ehM+aJQwEY90lDaRMOZ5VRGupRJkLA4vM5GQGtU0UDBREQC78tAums4uGqpj9BjKvvsWRc86OwpytMwzFCKW3EqwxvuOlMyn7igDoo2vHJVeI0lmpV65h2UaXalTMOgzSb25r3FIN7Wr6l1tC5zmhtnID+p/BbDadexis8tMCSb6qX3Loek65IdwwvHsbJ7ZbfNnDF4u7E+0jl9mV+tfW2912fw8wy/wmemae5Zftjqj0zpwZzb1L1OlotvcUvB6NxiqbFYrR0kTuj02L2qZMwtxaNJuGlcnhdp/g9vw+8xX19fTnh+Fd30V/dxRXwf+v2gPt/+n3ft/cH/r90+6H3P/V9t9v7p937v2/ufafa+7937b/baTY6G4bC4hGvAAFzZ59qnPj7gBm7uyfT48R0lnHOgNz9hdu2/ZJRuAEEeCiXSLJDUwaxg1kz6WQGPsvIYevzS0w7fJgHp8zDnjtjZXinU2gMP4ztBpIY3Kpc9mYtkN0+iUvBuIq4JghFKegYy78J4DmxsvQ57S5IZsG3ni6QsF9/jXk8w7Pr9jPJS/W0k81Ra4anBEYCenwGJSBMOjuqxICUKcHHoaoX30ABc4aNhCInCpA6WrbcBmDOu7fLatmFIY+1+l0DpcwdKfbeQ3NtsD2wEwQGBYxlRqR4AOfwPA8B4fS8Hwebo5/A8L7Tn/Q5ucAAAAOP/xTIBI//whGMzw3ft/f7dSbFSHEAADjnjnz0vw1oAZMVb78Ba9YZK6P/dBJxwRTgyMvNENb1Yl7l8eEfhX7XJ51Ni5whbXKoZZBPkQkBNnI/j124gvDy3D2VKKe35nDnYudi/NTfMgB+M3j0nwuNNjuY2Xbc2cqKmEk5PyubQ8E9zq0SSS/lPU34naeQ7Qz8fB+Bymmq+Hsrb7+53aAE39L3V088aOdU9JXu+eA2H9nbcb03ZVkw62XVI9aUrpJNrFrtlA6gK8r7vUx6NXV+PBrCUcIY1jXHneNsU4Sqb68irTFHiKI3QmjdLm+npnTrTUn1qHEGvUvrujUTvN+q0BqZM8yuUyZFFMw20TGzZrhWsqVhm8uJrFKlzYpkqLT4jRRYmKLTxaPE4nRYnRYv2vW9v1/bPa/g/het6wPa9v1vW9v1/aB7frP9upthogjAAAcc+ek7eQAWehiMyNbf/YkY2U+OiarTOQBTuugS4cMn5/25L3BeJXtHXTSMaaRiTCDSkkN9juSUZFowqiJLYfvX75LHOnkhh5SoEkJzJthg6zca64koMMhLSQravN3b0+CP82FssKthFBSlXZY0iH5O7BRTB13KoM3ncIDfWJrCQrWasTwGAgMd1+G1Lbud2+4J/zJ4Ya1KMmzqCg04SUZkqbN5tZSsDDN4g2u79Gd8ZziLys//adXLMUU2KbLlzGzZvcdpm3Fphm8vaZUUUUybMlzJe0tIprbDNplyltWrRs2bzJktpE1b8nMmRRSpcVwAAAA4D/8UyAPL/8IRiIH8jX+v9vhtCcQBcIAAAnU6+a+8BpJmkEAk2AAerYdnprGLj0/33KoaBLuP0lQJUrRPXSCfDfQJHA5cn5rgEtYueyMAGQSyeG7B2afr0mBIza9CUv3Pdmuv63D/GtFYMCQnU0+ktUgs+ClTS+r/dtR9ki9FLid12NxH4VtDJQj4zROSuTMnjxuMEIkk3p2Cc/S/MVoT0sNkV9kgnyPD5nJeurnbcrkKOVOEZJ+i7c1DLOTekCupQilqaqtlMgwVLodjraOlmxRRTImmtRNLk3uPhtLnyXJc81b+FMiii5+Zhbm0PL5Pvh9/995fvTz+bLjNPiuHjzvCvkcT7XPf8Uet/E9YAP9vhFCYVBcgBMIAAJQ89T5r7wBKQHdKkTkV60TWIPV/ythysondORs5Yjz7mBPD4MiNmTh4zuy//bbYjjNUzj3pmmOcWmunWFBuStUQbQLxfTWS+yeNjc6dNevEaUighbvN4XjuLVBASjRIdBvqxijIPlDQvhMpUieeyb2anyzprlxFPmnBo0aNbMEbZ2BAjlVAaqkEDGmBLAQzXAS76SwNxh9BbyznTz9H6R0nT9h+l0eE6PD8HmBz+GAPvvI8v33333oyy8v3vmdGLo570Y8nk9N4YA4P/xTIAyn/whGAnt+v775cKLBnK3IwCcU0lVOK13xAHFno+s6xF9BVfc+c7h+dmUJHBZgjzLWWl1Ml46yOPqXCozb+EvvAQeyKc31gOg4CGwn1y7JPYOgUtMENw8Vuxk6+PNfyMbz/hplk6S+KmypbkLjRKn0NQ817HAo4md61eLx9vaRpyAojWN2gOxr6gA329hDOfozb+s/C3czyN6CBi0vvj37rGzpT9TFHmkferdVXdCqzaTDw3cjdyjkeo3nnPIA83m8x9/9553m83lHmAPvzz+R5nm8vlHnDyh5R/tlFg8hgbiERIwXicUaqVOK13nsA1ldIvofDYFPEFg8ZeCfs3RhCPJzEOKziU2GRGbf1TD6jm1xUm5Ir940dIWbcPZramwPMtJj6lkekvyt7FlZLYXusjLt/E/Y/FgekYdNj1Ugac+OVxkrqI6cUp0h8qa/V5vfebfeotOgn6Si53sn0juwc8ITQkPxb0OF6tCPKKto+hZIRAZpzTMEGc0+6Bh5zp6ObpHQOh4LmB0c7mAAAOA//FMgC1f/CEXiO73/++26kQVxpL8BKeThVWllVYLb/DbI775RpvpPnzuLyiWyb3J6LUkOJXyWZkEpR+g+SiYTa8yXxrHHR/5791/NF/ndE7S0vkTubEI66nqS3D1Q366M46yTaxJVdg3qGb1Ftu2tEvSStK+JU5BPQ4qvaFhrFDG+JqgENdM8b9txuYbg44eOBvf2vJucNTUYau9VVd7BSc5ibhpTYcGFkYooIq6na1LpLjY37eRy27Y27wADn8PmOgA5z1a6U5GG4m7vwEmeSaqrSyqsD/+r/TLZ+wxzsvHUlXHgwJmDj2MSn6UhOEq3ULXKVwdbu3SMdEaedcffYpLlUh2lQ3vLnMVnLtk+nuf06zSUbS+mK5TatK6otqNQ0JablAEDP8HWVD6nzeDA5XK8bZvei27t3L8ZyfMDl729sbs6AwDD5/bHL8gGN9GAXhVRRQFtVWABhjeGdVo8LnAOfndAcxzg4D/8UyAKp/8IRcP9d//uVxorGCvtj76xYAAEmtzo8iGMQOWp4E9dM6NtxcnVMqrIikSviCCyylBoSJkyR8Z2zzXlUspoIsVj0FTwCMsud382VKT1bHqKgD4pKQZ9D49m5dvSZQ0ED4vwzQ+z9g6FxXJZ8+vGOv3Gy+N2Jl/C6uzfgX59t7wYithq3cqv4r55MGvfgFoBfjnnjVVUFWVuAWhaGd9FuF9Fvmw7gv7sfAAwvqqoC2oAtzovCq8AoqCipyt0Hc4V9sfdFgAAJbcN2lYxNads68nQ+Us7r19WhCapRJ2zJZI/hhEwq0CSHCnc3gmOOPcqhrQnCppPte2B/Fa6MxYVfOU/Xed6Pc6XWa7w7lp11A+1BC+0zzX2mudx7dpnSvZzbTPt7Nrabtu7bv3Byd3J8Xk8vlbWwbRubdzY5Tbt3bWzk8rZydjkm7YcrbsDbuH//FMgCG//CEXCNH/+7lb4QoQCo1RX6H45888AAApXzzjHAU5a7lcGt54JEXTpMcUjCeSbPI2F0CX//rs8qJz7RlUf+Nmgt4k3fStp0SFNjpw829jexdlXNPYNHlw2lra7e6he2rfExt7iDjtYbh6DibYud65uuNu1vVd7Bec7AzC+05zT7nx4nPi58+PL5cuPD5ceQHm8wAeA8/McrZBXOAVGFfo1fHHPAAAPaceH4Z1DzPyrR793hnly2/IrhhGbV/8vH6DL4PgJ9g71cfW35b2NI8VVbsXT8Gf3HdsM3fL8Lk3EN0xdsm/ZyuU27+Tsbj0r1bodHScwdPggHN0ukdIHm8ADw8QAHi8AcD/8UyAFp/8IRcLGX/qv7FscJUoBUIBUIBELiSeglar237AbwBukoThKStNsymlRZGlheFKcr6m1Raca9wRDCo7UM0LnDaKAgGA91BA/wODlzOfFy48uPLiPj8OfiADy8gHJzBzkqLv7EsysAKhAIhAIhcTmg43Wq9t+wG8DQmRtroRNUJIiPgwMCl4rFZCYUCGtYefV2t1QLt2+PYtw4OXPmAODnx58vH+Hg8gA5nzfI4gAOD/8UyAFj/8IRcLKTb6uQBs7IcQBUoBEIBEP51HgvPPj7q1DLN4Ey8c6iPHkqlaQNBJCLzcrnhQfGtaWmMJwDhbfRaC8uBX5cvFbTY5Z8Obg4Hx8+PE5OAHJ8XzcufJy4OICFZNaTkATJYmMpQCojGARCARD+dSeh8Zv2Vv2Ms3gPY+0Km768SQzCu/uq7BQExmpibx8wUQ2j3Xk5OAHFy4OPh8HzcAD/B+V/hKY73RAcD/8UyAEF/8IRYI8/+LkA3kAjDjx2/cAABv5F4/qd9HNv5Xhc5zffei5W1ydmzbv3tjkvScrlHOHI28kANjdq+X0XJ88O+7v+ByAcGETEcwCUOPHfXWgAAsLgCu9jUWzH4FC/CrHAAwwwCqq3LDwubmNnKAbw2Nze2+gvW5M+YObgce//FMgAX//CETCDO5ARkAAp83m0EbFhg4MwE7ibkA4KRAAAhUkvJ7nW4wvcBJ+HD/8UyAAb/8IRAEYIwc//FMgAG//CEQBGCMHA==\";\n  x.play();\n  t = document.createElement('p');\n  t.textContent = \"功德 + 1，佛祖保佑你\";\n  $('.center').appendChild(t);\n  setTimeout (function () {\n    $('p').remove();\n    $('audio:not([id])').remove();\n  },600);\n}\nfunction Bgm() {\n  x = $('#bgm');\n  s = $('button');\n  if (x.paused) {\n    x.play();\n    s.textContent = \"暂停沉浸式BGM\";\n  } else {\n    x.pause();\n    s.textContent = \"继续沉浸式BGM\";\n  }\n}\n</script>\n</html>\n🟥0\n{{}}\n@js:\nu = \"{{$.link}}\";\nif (/^\\d+$/.test(u)) {\ntry {\n  result.match(`🟩${u}([\\\\s\\\\S]*?)🟥${u}`)[1];\n} catch (err) { \"\"; }\n} else { \"\"; }",
    "ruleImage": "$.img\n@js:\nr = result;\nr == \"0\" ? source.sourceIcon: r;",
    "ruleLink": "$.link",
    "rulePubDate": "$.date",
    "ruleTitle": "$.title",
    "singleUrl": false,
    "sortUrl": "电子木鱼::https://bing.com/search?q=0【木鱼】敲电子木鱼，见机甲佛祖，修赛博真经。＃0",
    "sourceGroup": "📱 资源,R18",
    "sourceIcon": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjU2IiBoZWlnaHQ9IjIwMCIgdmlld0JveD0iMCAwIDI1NiAyMDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iIzQzNjBiNyIgZD0iIE0gMTA5LjEyIDYuNTMgQyAxMjQuMDkgNC4yNyAxMzkuMzcgMi44MiAxNTQuNDcgNC43OSBDIDE3My4wNyA3LjE0IDE5MS4zOCAxNC4wMiAyMDYuMDIgMjUuODkgQyAyMTcuMDEgMzQuNzcgMjI1LjE3IDQ2LjYzIDIzMS41NSA1OS4xMyBDIDIzNy44MSA3Mi4yNSAyNDEuMTYgODYuNTMgMjQzLjkyIDEwMC43NCBDIDIyNS40OSAxMDQuNzUgMjA2LjU4IDEwNS43NiAxODcuNzcgMTA2LjIwIEMgMTg2LjIxIDEwMC4wMiAxODMuMTIgOTMuOTQgMTc3Ljc0IDkwLjI1IEMgMTcyLjAwIDg1Ljk2IDE2My45OCA4NC4xOSAxNTcuMjYgODcuMTggQyAxNDUuOTkgOTEuNjkgMTM5LjYyIDEwNS4yMiAxNDIuNjMgMTE2Ljg1IEMgMTQ1LjEyIDEyNy4zOSAxNTQuOTcgMTM2LjExIDE2Ni4wNSAxMzUuNjkgQyAxNzYuMTggMTM0Ljk3IDE4NC42MSAxMjYuODEgMTg3LjE5IDExNy4yMiBDIDE5Mi43NCAxMTYuNzMgMTk4LjMyIDExNi42MyAyMDMuODkgMTE2LjMyIEMgMjE3LjU3IDExNS4yNiAyMzEuMTQgMTEzLjE0IDI0NC44MiAxMTEuOTggQyAyNDUuNTIgMTIxLjI4IDI0Ni4xMyAxMzAuNzUgMjQ0LjExIDEzOS45NCBDIDI0Mi4zMiAxNDkuMDIgMjM5LjIzIDE1OC4wNyAyMzMuMzkgMTY1LjM5IEMgMjI0Ljg4IDE3Ni41NSAyMTIuMTUgMTgzLjY0IDE5OS4wMSAxODcuOTggQyAxODcuNDIgMTkxLjg2IDE3NS4yMCAxOTMuNDEgMTYzLjA1IDE5NC4yOSBDIDE0MC40MCAxOTUuODcgMTE3LjY0IDE5NS42MiA5NC45OSAxOTQuMTkgQyA3NC43OSAxOTIuODEgNTQuNTUgMTkwLjc4IDM0Ljc5IDE4Ni4xNyBDIDI3LjkxIDE4NC41NCAyMS4wNyAxODIuNDcgMTQuNzcgMTc5LjIxIEMgOC41OCAxNzUuOTMgNC4yMyAxNjkuNzEgMi43MiAxNjIuOTIgQyAtMC40OCAxNTEuNDEgMy4wMCAxMzkuMDkgOS4yMCAxMjkuMjEgQyAxNC42MSAxMTkuNzUgMjcuNjEgMTE2Ljg4IDMwLjgxIDEwNS44MyBDIDM1LjUwIDkwLjAxIDM3LjI4IDczLjQwIDQyLjg3IDU3LjgyIEMgNDcuNTYgNDUuMzYgNTQuMzQgMzMuMjYgNjQuODIgMjQuNzUgQyA3Ny4yNSAxNC4xOSA5My4yNCA5LjA0IDEwOS4xMiA2LjUzIFoiIC8+PC9zdmc+",
    "sourceName": "木鱼",
    "sourceUrl": "电子木鱼"
  },
  {
    "articleStyle": 1,
    "customOrder": 35917,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\"User-Agent\":\"Mozilla/5.0 (linux; u; android 9; zh-cn; v1816a build/pkq1.180819.001) applewebkit/537.36 (khtml, like gecko) version/4.0 chrome/57.0.2987.108 quark/4.2.1.138 mobile safari/537.36\",\"Accept-Language\":\"zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7\"}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "[class=\"thumbnail\"]",
    "ruleContent": "[class=\"margin_maker\"]@all\n<js>\nconst startIndex = result.indexOf('src=\\\"');\nconst endIndex = result.indexOf('\"',startIndex+12);\nconst url = result.slice(startIndex+5, endIndex).replaceAll(\"\\\\\",\"\");\njava.log(url)\njava.startBrowser(url,'title')\njava.toast('正在加载视频\\n视频加载较慢，请耐心等待')\n' 【刷新正文】或【点击章节链接】跳转播放\\n不要相信且不要点击视频里的任何广告，误触后请立即返回\\n🔗直链:\\n'+url\n</js>",
    "ruleImage": "img@data-src||img@src",
    "ruleLink": "a@href",
    "ruleNextPage": "page||Load More.text@button",
    "rulePubDate": "[class=\"thumbnail_video_length\"]@text&&[class=\"timestamp\"]@text",
    "ruleTitle": "a.1@text||[class=\"thumbnail_title cam_thumbnail_title\"]@text",
    "singleUrl": false,
    "sortUrl": "Yoga::/videos?q=yoga\n搜索::/videos?q={{source.getVariable()}}\t\t\t\t\nBbw::/videos?q=bbw\n\t\t\t\t\tTeacher::/videos?q=teacher\n\t\t\t\t\tKitchen::/videos?q=kitchen\n\t\t\t\t\tPornstar::/videos?q=pornstar\n\t\t\t\t\tBlonde::/videos?q=blonde\n\t\t\t\t\tMilf::/videos?q=milf\n\t\t\t\t\tCreampie::/videos?q=creampie\n\t\t\t\t\tBrazzers::/videos?q=brazzers\n\t\t\t\t\tCheating::/videos?q=cheating\n\t\t\t\t\tPregnant::/videos?q=pregnant\n\t\t\t\t\tHusband::/videos?q=husband\n\t\t\t\t\tHomemade::/videos?q=homemade\n\t\t\t\t\tArab::/videos?q=arab\n\t\t\t\t\tBlowjob::/videos?q=blowjob\n\t\t\t\t\tAnal::/videos?q=anal\n\t\t\t\t\tChubby::/videos?q=chubby\n\t\t\t\t\tDoublePenetration::/videos?q=double-penetration\n\t\t\t\t\t4K::/videos?q=4k\n\t\t\t\t\tKorean::/videos?q=korean\n\t\t\t\t\tSpanish::/videos?q=spanish\n\t\t\t\t\tThreesome::/videos?q=threesome\n\t\t\t\t\tFootWorship::/videos?q=foot-worship\n\t\t\t\t\tCumshot::/videos?q=cumshot\n\t\t\t\t\tMassage::/videos?q=massage\n\t\t\t\t\tDeepthroat::/videos?q=deepthroat\n\t\t\t\t\tGirlfriend::/videos?q=girlfriend\n\t\t\t\t\tNatural::/videos?q=natural\n\t\t\t\t\tGangbang::/videos?q=gangbang\n\t\t\t\t\tOrgasm::/videos?q=orgasm\n\t\t\t\t\tFingering::/videos?q=fingering\n\t\t\t\t\tFeet::/videos?q=feet\n\t\t\t\t\tJoi::/videos?q=joi\n\t\t\t\t\tCasting::/videos?q=casting\n\t\t\t\t\tBabe::/videos?q=babe\n\t\t\t\t\tFootjob::/videos?q=footjob\n\t\t\t\t\tLatina::/videos?q=latina\n\t\t\t\t\tCloseUp::/videos?q=close-up\n\t\t\t\t\tBigTits::/videos?q=big-tits\n\t\t\t\t\tFacesitting::/videos?q=facesitting\n\t\t\t\t\t3DHentai::/videos?q=3d-hentai\n\t\t\t\t\tMasturbation::/videos?q=masturbation\n\t\t\t\t\tCompilation::/videos?q=compilation\n\t\t\t\t\tHandjob::/videos?q=handjob\n\t\t\t\t\tRubbing::/videos?q=rubbing\n\t\t\t\t\tErotic::/videos?q=erotic\n\t\t\t\t\tFootFetish::/videos?q=foot-fetish\n\t\t\t\t\tKink::/videos?q=kink\n\t\t\t\t\tBigAss::/videos?q=big-ass\n\t\t\t\t\tAmateur::/videos?q=amateur\n\t\t\t\t\tFetish::/videos?q=fetish\n\t\t\t\t\tCartoon::/videos?q=cartoon\n\t\t\t\t\tPegging::/videos?q=pegging\n\t\t\t\t\tHardcore::/videos?q=hardcore\n\t\t\t\t\tAssLicking::/videos?q=ass-licking\n\t\t\t\t\tFemdom::/videos?q=femdom\n\t\t\t\t\tBritish::/videos?q=british\n\t\t\t\t\tPov::/videos?q=pov\n\t\t\t\t\tCuckold::/videos?q=cuckold\n\t\t\t\t\tSpanking::/videos?q=spanking\n\t\t\t\t\tCougar::/videos?q=cougar\n\t\t\t\t\tAsmr::/videos?q=asmr\n\t\t\t\t\tHentai::/videos?q=hentai\n\t\t\t\t\tFacial::/videos?q=facial\n\t\t\t\t\tGranny::/videos?q=granny\n\t\t\t\t\tHd::/videos?q=hd\n\t\t\t\t\tCaught::/videos?q=caught\n\t\t\t\t\tBdsm::/videos?q=bdsm\n\t\t\t\t\tSquirting::/videos?q=squirting\n\t\t\t\t\tAsian::/videos?q=asian\n\t\t\t\t\tChinese::/videos?q=chinese\n\t\t\t\t\tBukkake::/videos?q=bukkake\n\t\t\t\t\tHairy::/videos?q=hairy\n\t\t\t\t\tRussian::/videos?q=russian\n\t\t\t\t\tMature::/videos?q=mature\n\t\t\t\t\tPublic::/videos?q=public\n\t\t\t\t\tGerman::/videos?q=german\n\t\t\t\t\tBeach::/videos?q=beach\n\t\t\t\t\tDoctor::/videos?q=doctor\n\t\t\t\t\tDildo::/videos?q=dildo\n\t\t\t\t\tBigCock::/videos?q=big-cock\n\t\t\t\t\tExotic::/videos?q=exotic\n\t\t\t\t\tOrgy::/videos?q=orgy\n\t\t\t\t\tEbony::/videos?q=ebony\n\t\t\t\t\tBallbusting::/videos?q=ballbusting\n\t\t\t\t\tRomantic::/videos?q=romantic\n\t\t\t\t\tVirgin::/videos?q=virgin\n\t\t\t\t\tLesbian::/videos?q=lesbian\n\t\t\t\t\tJapanese::/videos?q=japanese\n\t\t\t\t\tFortnite::/videos?q=fortnite\n\t\t\t\t\tInterracial::/videos?q=interracial\n\t\t\t\t\tBeauty::/videos?q=beauty",
    "sourceComment": "By小新",
    "sourceGroup": "aa,R18",
    "sourceIcon": "",
    "sourceName": "Pornkai",
    "sourceUrl": "https://pornkai.com",
    "style": ""
  },
  {
    "articleStyle": 1,
    "customOrder": 35923,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\"User-Agent\":\"Mozilla/5.0 (Linux; Android 11; PCAM10 Build/RP1A.200720.011; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/100.0.4103.106 Mobile Safari/537.36\"} ",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "[class=\"H5__content\"]@[class=\"video__wrap\"]@a",
    "ruleContent": "<!DOCTYPE html>\n<html lang=\"zh-CN\">\n<head>\n<meta charset=\"UTF-8\">\n<title>内容提取-双模版</title>\n\n<script src=\"https://code.jquery.com/jquery-3.6.0.min.js\"></script>\n<link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/viewerjs/1.11.3/viewer.min.css\" />\n<script src=\"https://cdnjs.cloudflare.com/ajax/libs/viewerjs/1.11.3/viewer.min.js\"></script>\n<style>\n    body {font-family: Arial, sans-serif;font-size: 16px;}\n    #title, #page, #loading-status {margin: 0 auto;font-size: 20px;text-align: center;}\n    #description, #urls, #video-url, #video-sources, #messages {width: 100%;max-width: 800px;margin: 1.5px auto;font-size: 14px;text-align: left;word-wrap: break-word;white-space: pre-wrap;}\n    #text, #text :not(img), #text img + * {text-indent: 2em;width: 100%;font-size: 16px;line-height: 1.5em;margin-top: 0;margin-bottom: 0;word-wrap: break-word;white-space: pre-wrap;}\n    img, #text img {width: 100%;height: auto;display: block;margin-bottom: 1.5px;}\n    .flex-container {display: flex;justify-content: center;align-items: center;gap: 10px;margin: 1.5px 0;font-size: 14px;}\n    button, select {flex: 1 1 31%; padding: 3px;border: 1px solid #ccc;border-radius: 5px;box-sizing: border-box;cursor: pointer;background-color: #f9f9f9;transition: background-color 0.3s ease;margin: 1.5px;min-width: 0;font-size: 14px;}\n    #url-select, #video-source-select {flex: 1 1 100%; margin-left: 0;margin-right: 0;text-align: center;}\n    #video-element {width: 100%;height: auto;}\n    textarea {width: 100%;height: auto;min-height: 100px;box-sizing: border-box;resize: vertical;}\n    .error, .warn {color: red;}\n    #urls,#messages,#debug-info,#video-url,#video-container,#video-source-select,#images,#text {display:none;}\n</style>\n</head>\n<body>\n    <h3 id=\"title\">{{@@title@text||h1.0@text||h2.0@text||.title.0@text##高清在线观看|-国产剧| - 专享影视| - 热门高清|影视大全|海外华人|高清1080p|无广告影院|\\|}}</h3>\n    <p id=\"description\">{{@@.info.0@html||.jianjie@html}}</p>\n    <p id=\"page\">共<span id=\"total-pages\">1</span>页</p>\n    <p id=\"loading-status\" style=\"display:none;\"></p>\n    <div class=\"flex-container\" id=\"loading-buttons\" style=\"display:none;\">\n        <button id=\"prev-page-btn\">上一页</button>\n        <button id=\"next-page-btn\">下一页</button>\n        <button id=\"auto-load-btn\">自&nbsp;&nbsp;动</button>\n    </div>\n    <div class=\"flex-container\">\n        <select id=\"url-select\" style=\"display:none;\"></select>\n    </div>\n    <div class=\"flex-container\">\n        <button id=\"toggle-urls-btn\">显/隐网址</button>\n        <button id=\"toggle-messages-btn\">显/隐信息</button>\n        <button id=\"toggle-debug-btn\">显/隐调试</button>\n    </div>\n    <div id=\"urls\"></div>\n    <div id=\"messages\"></div>\n    <div id=\"debug-info\"></div>\n    <div id=\"video-url\"></div>\n    <div id=\"video-container\">\n        <video id=\"video-element\" controls preload=\"auto\" width=\"640\" height=\"264\">\n            <source id=\"video-source\" src=\"\" type=\"\">\n            您的浏览器不支持 video 标签。\n        </video>\n    </div>\n    <div class=\"flex-container\">\n        <select id=\"video-source-select\" onchange=\"updateVideoSource()\"></select>\n    </div>\n    <div id=\"images\"></div>\n    <div id=\"text\"></div>\n    <script>\nconst config = {    \n    videoSelector: 'body', // 视频选择器\n    imgSelector: '.gridlane-box-inside img', // 图片选择器\n    textSelector: '#content', // 文本选择器\n    debugSelector: '.player-wrapper', // 调试信息选择器\n    swapImageAttributes: false, // 是否交换图片属性\n    delayTime: 1500, // 延迟提取时间\n    retryDelayTime: 1500, // 重试加载延迟时间\n    maxLoadAttempts: 3, // 最大加载次数\n    autoLoading: false, // true自动模式，false单页模式\n    debugOnce: 0, // 只在特定索引输出一次调试信息\n         /* -网页拼接-*/    \n    totalPagesText: '{{@@.pager@li.-3@a@textNodes}}', // 总页码\n    urlSuffixToRemove: /\\.aspx$/, // 移除url后缀\n    pageUrlText: '{urlPrefix}p{i}.aspx', // 拼接URL模板        \n        /* -以上拼接模式（网址需要拼接）-*/\n        /* -上下分割线-*/\n        /* -以下列表模式（地址与目录对应，比如视频、漫画）-*/   \n    ListMode: true, // true网址列表模式，false网址拼接模式    \n    initialUrls: `{{@@#sort-item-5.0@a@href}}`, // 网址\n    initialUrlsName: `{{@@#sort-item-5.0@a@span@text}}`, // 网址名称\n    sourceurl: '', // 来源URL前缀\n};\n\nlet videoSources = [];\nlet loadAttempts = {};\nlet urls = [];\nlet imageBox;\nlet textBox;\nlet currentPageIndex = 0;\nlet canLoadNextPage = true;\nlet autoLoadInProgress = false;\n\n// 构建URL列表\nfunction buildUrls(totalPages, baseUrl) {\n    let initialUrlsArray = config.initialUrls.trim().split('\\n').filter(url => url.trim() !== '');\n    let initialUrlsNameArray = config.initialUrlsName.trim().split('\\n').filter(name => name.trim() !== '');\n\n    if (config.ListMode && initialUrlsArray.length > 0) {\n        if (initialUrlsArray.length !== initialUrlsNameArray.length) {\n            $('#messages').append(`<span class=\"warn\">警告：initialUrls 和 initialUrlsName 的长度不匹配。</span><br>`);\n        }\n\n        urls = initialUrlsArray.map(url => {\n            if (config.sourceurl && url.startsWith('/') && !/^https?:\\/\\//i.test(url)) {\n                return config.sourceurl.replace(/\\/$/, '') + url;\n            } else {\n                return url;\n            }\n        });\n\n        urls.forEach((url, index) => {\n            const name = initialUrlsNameArray[index] || `第 ${index + 1} 页`;\n            $('#url-select').append(`<option value=\"${index}\">${name}</option>`);\n            $('#urls').append(`<div>${name}: ${url}</div>`);\n        });\n    } else {\n        if (totalPages === 1) {\n            urls.push(baseUrl);\n        } else {\n            urls.push(baseUrl);\n            for (let i = 2; i <= totalPages; i++) {\n                urls.push(config.pageUrlText.replace('{urlPrefix}', baseUrl.replace(config.urlSuffixToRemove, '').replace(/\\/$/, '')).replace('{i}', i));\n            }\n        }\n\n        urls.forEach((url, index) => {\n            const name = `第 ${index + 1} 页`;\n            $('#url-select').append(`<option value=\"${index}\">${name}</option>`);\n            $('#urls').append(`<div>${name}: ${url}</div>`);\n        });\n    }\n\n    $('#total-pages').text(urls.length);\n    toggleNavigationButtons();\n}\n\nfunction normalizeUrl(url) {\n    if (typeof url!== 'string' ||!url.trim()) return '';\n    url = url.replace(/\\\\u[\\dA-F]{4}/gi, (match) => String.fromCharCode(parseInt(match.replace(/\\\\u/g, ''), 16)));\n    url = decodeURIComponent(url);\n    url = url.replace(/^http:\\/([^/])/, 'http://$1'); // 修正 http:/ 协议部分\n    url = url.replace(/^https:\\/([^/])/, 'https://$1'); // 修正 https:/ 协议部分\n    return url;\n}\n\n// 清空容器\nfunction clearContainers() {\n    $('#messages').empty();\n    $('#images').empty();\n    $('#text').empty();\n}\n\n// 更新图片的src属性\nfunction updateImageSrc(elements, shouldSwap) {\n    elements.each(function () {\n        const $this = $(this);\n        const attrsToUpdate = {};\n        if (shouldSwap) {\n            ['data-original', 'data-src', 'data-url'].forEach(attr => {\n                if ($this.attr(attr)) {\n                    attrsToUpdate['src'] = $this.attr(attr);\n                }\n            });\n        }\n        $this.attr(attrsToUpdate);\n    });\n    return elements;\n}\n\n// 切换导航按钮和选择框的显示\nfunction toggleNavigationButtons() {\n    if ($('#url-select option').length > 1  && !config.autoLoading) {\n        $('#loading-buttons').show();\n        $('#url-select').show();\n    } else {\n        $('#loading-buttons').hide();\n        $('#url-select').hide();\n    }\n}\n\n// 显示加载状态\nfunction showLoadingStatus(pageNumber) {\n    const selectedOption = $('#url-select option:selected').text();\n    $('#loading-status').text(`正在加载：${selectedOption}`).show();\n}\n\n// 隐藏加载状态\nfunction hideLoadingStatus() {\n    $('#loading-status').hide();\n}\n\n// 内容提取函数内容\nfunction loadContent(index) {\n    if (index < 0 || index >= urls.length || !canLoadNextPage) return;\n    canLoadNextPage = false;\n    currentPageIndex = index;\n    $('#url-select').val(index);\n    $('#messages').append(`<div>当前地址: <span class=\"warn\">${urls[index]}</span> </div>`);\n    if (autoLoadInProgress) {\n        showLoadingStatus(index + 1);\n    }\n    $.ajax({\n        url: urls[index],\n        type: 'GET',\n        success: function (data) {\n            try {\n                const $data = $(data);\n                let updatedHtmlContent = data.replace(/(['\"])(\\/\\/)(?!\\/)/g, '$1https://')\n                    .replace(/src=\"upload/gi, 'src=\"/upload')\n                    .replace(/style=[\"'][^'\"]+[\"']/gi, '')\n                    .replace(/\\\\\\//g, '/');\n                const parser = new DOMParser();\n                const doc = parser.parseFromString(updatedHtmlContent, \"text/html\");\n\n                  // 添加调试标签输出信息\n                if (config.debugOnce === index) {\n                    const debugElements = $(doc).find(config.debugSelector);\n                    if (debugElements.length > 0) {\n                        const debugContents = $('<pre>').html(debugElements.clone().wrapAll('<div/>').parent().html()).html();\n                        $('#debug-info').html(`<span class=\"warn\">调试信息: <textarea rows=\"10\" cols=\"80\">${debugContents}</textarea></span>`);\n                    } else {\n                        $('#debug-info').html(`<span class=\"warn\">调试信息: <textarea rows=\"10\" cols=\"80\">调试信息未提取到内容，请检查选择器！</textarea></span>`);\n                    }\n                }\n\n                // 方法1：video标签获取视频地址\n                const videoContents = $(doc).find(config.videoSelector);\n                const videoTags = $(videoContents).find('video');\n                videoTags.each(function () {\n                    const videosrc = $(this).attr('src') || $(this).attr('data-src') || $(this).attr('data-original') || '';\n                    if (videosrc) {\n                        videoSources.push(videosrc);\n                    }\n                });\n                \n                // 方法2：source标签获取视频地址\n                const sources = $(videoContents).find('source');\n                sources.each(function () {\n                    const sourceSrc = $(this).attr('src') || $(this).attr('data-src') || $(this).attr('data-original') || '';\n                    if (sourceSrc) {\n                        videoSources.push(sourceSrc);\n                    }\n                });\n                \n                // 方法3：正则表达式获取视频地址\n                const regex = /['\"]https?[^'<>\"]+\\.(m3u8|mp4|webm|ogg|flv|mp3|m4a|wav|ape|flac)['\"]/ig;\n                const matches = data.match(regex);\n                if (matches) {\n                    const uniqueMatches = matches.filter((value, idx, self) => self.indexOf(value) === idx);\n    videoSources = videoSources.concat(uniqueMatches.map((match) => {\n        // 使用replace删除引号\n                const urlWithoutQuotes = match.replace(/['\"]/g, '');\n                return normalizeUrl(urlWithoutQuotes);\n                          }));\n                }\n\n                videoSources = videoSources.map(src => normalizeUrl(src.replace(/\\\\+/g, '')));\n                videoSources = [...new Set(videoSources)];\n\n                if (videoSources.length > 0) {\n                    $('#messages').append(`<span>成功提取到视频，找到 ${videoSources.length} 个视频。</span><br>`);\n                    videoSources.forEach((src, idx) => {\n                        $('#messages').append(`<div>视频地址:<span class=\"warn\"> ${src}</span><br></div>`);\n                        $('#video-source-select').append(`<option value=\"${idx}\">视频源 ${idx + 1}</option>`);\n                    });\n                    \n                    if (videoSources.length == 1) {\n                        $('#video-container').show();\n                        $('#video-url').show();\n                        $('#video-source-select').hide();\n                        updateVideoSource(); // 自动更新视频源\n                    } else if (videoSources.length > 1) {\n                        $('#video-container').show();\n                        $('#video-url').show();\n                        $('#video-source-select').show();\n                        updateVideoSource(); // 默认选择第一个视频源\n                    } else {\n                        $('#video-container').hide();\n                        $('#video-url').hide();\n                        $('#video-source-select').hide();\n                    }\n                } else {\n                    $('#messages').append(`<span class=\"warn\">未找到视频源。</span><br>`);\n                    $('#video-container').hide();\n                    $('#video-url').hide();\n                    $('#video-source-select').hide();\n                }\n\n                // 标签获图片\n                const $imgContents = $(doc).find(config.imgSelector);\n                const shouldSwap = config.swapImageAttributes;\n                const newContents = updateImageSrc($imgContents.clone(), shouldSwap);\n                $('#images').append(newContents).show();\n                if (newContents.length > 0) {\n                    $('#messages').append(`<span>成功提取图片，共 ${newContents.length} 张。</span><br>`);\n                    newContents.each(function () {\n                        const imgSrc =$(this).attr('src') || $(this).attr('data-original') || $(this).attr('data-src') || $(this).attr('data-url');\n                        $('#messages').append(`<div>地址:<span class=\"warn\"> ${imgSrc}</span><br></div>`);\n                    });\n                } else {\n                    $('#messages').append(`<span class=\"warn\">未提取到图片。</span><br>`);\n                }\n\n                // 标签获图文\n                const textContents = $(doc).find(config.textSelector).map(function () {\n                    const $currentContents = $(this);\n                    $currentContents.find('img + br, script, video, source').remove();\n                    $currentContents.html($currentContents.html().replace(/>\\s+/gi, '>').replace(/<\\/?br\\s*([^>]*)\\s*\\/?>/gi, '\\n').replace(/\\n+/g, '\\n'));\n                    return $currentContents.html();\n                }).get().join('');\n                if (textContents.trim()) {\n                    $('#text').append(`<span>${textContents}</span><br>`).show();\n                    $('#messages').append(`<span>成功提取图文。</span><br>`);\n                } else {\n                    $('#messages').append(`<span class=\"warn\">未提取到图文。</span><br>`);\n                }\n                \n                \n                if (autoLoadInProgress && currentPageIndex < urls.length - 1) {\n                    setTimeout(() => { \n                        canLoadNextPage = true;\n                        loadContent(currentPageIndex + 1); \n                    }, config.delayTime);\n                } else {\n                    canLoadNextPage = true;\n                    if (autoLoadInProgress) {\n                        hideLoadingStatus();\n                    }\n                }\n            } catch (parseError) {\n                $('#messages').append(`<span class=\"error\">解析页面内容时发生错误: ${parseError.message}</span><br>`);\n                handleLoadFailure(urls, index);\n            } finally {\n                if (imageBox) imageBox.viewer.update();\n                if (textBox) textBox.viewer.update();\n            }\n        },\n        error: function (jqXHR, textStatus, errorThrown) {\n            let errorMessage = `内容加载失败: ${urls[index]}`;\n            switch (textStatus) {\n                case 'timeout':\n                    errorMessage += ', 请求超时';\n                    break;\n                case 'abort':\n                    errorMessage += ', 请求被取消';\n                    break;\n                case 'parsererror':\n                    errorMessage += ', 解析响应出错';\n                    break;\n                default:\n                    errorMessage += `, 状态码: ${jqXHR.status}, 错误信息: ${errorThrown}`;\n                    break;\n            }\n            $('#messages').append(`<span class=\"error\">${errorMessage}</span><br>`);\n            handleLoadFailure(urls, index);\n        }\n    });\n}\n\n// 处理加载失败的情况\nfunction handleLoadFailure(urls, index) {\n    if (!loadAttempts[urls[index]]) {\n        loadAttempts[urls[index]] = 1;\n    } else {\n        loadAttempts[urls[index]]++;\n    }\n    if (loadAttempts[urls[index]] <= config.maxLoadAttempts) {\n        const retryMessage = `第${index + 1}页加载失败，正在进行第${loadAttempts[urls[index]]}次加载！`;\n        $('#messages').append(`<span class=\"error\">${retryMessage}</span><br>`);\n        setTimeout(() => { \n            canLoadNextPage = true;\n            loadContent(index); \n        }, config.retryDelayTime);\n    } else {\n        const finalErrorMessage = `第${index + 1}页加载失败，已达到最大尝试次数(${config.maxLoadAttempts})！`;\n        $('#messages').append(`<span class=\"error\">${finalErrorMessage}</span><br>`);\n        if (autoLoadInProgress && currentPageIndex < urls.length - 1) {\n            setTimeout(() => { \n                canLoadNextPage = true;\n                loadContent(currentPageIndex + 1); \n            }, config.delayTime);\n        } else {\n            canLoadNextPage = true;\n            if (autoLoadInProgress) {\n                hideLoadingStatus();\n            }\n        }\n    }\n}\n\n// 更新视频源\nfunction updateVideoSource() {\n    const selectedIndex = parseInt(document.getElementById('video-source-select').value);\n    const selectedSource = videoSources[selectedIndex];\n    document.getElementById('video-url').textContent = `视频地址:\\n ${selectedSource}`;\n\n    // 设置 video-source 的 src 属性\n    const videoSourceElement = document.getElementById('video-source');\n    videoSourceElement.src = selectedSource;\n\n    // 更新 video 元素的 src 属性\n    const videoElement = document.getElementById('video-element');\n    videoElement.load();\n\n    // 添加调试信息\n    $('#messages').append(`<span>更新视频源为: ${selectedSource}</span><br>`);\n}\n\n// 函数执行主体\n$(document).ready(function () {\n    imageBox = document.getElementById('images');\n    textBox = document.getElementById('text');\n    if (imageBox && textBox) {\n        new Viewer(imageBox, { title: true, interval: 2000 });\n        new Viewer(textBox, { title: true, interval: 2000 });\n    }\n\n    const totalPagesText = config.totalPagesText;\n    const totalPages = parseInt(totalPagesText, 10) || 1;\n    const baseUrl = '{{baseUrl}}';\n    \n    clearContainers();\n    $('#urls').empty();\n    $('#debug-info textarea').empty();   \n    $('#video-url').empty().hide();\n    $('#video-container').hide();\n    $('#video-source-select').empty().hide();\n    \n    buildUrls(totalPages, baseUrl);\n\n    const urlSelect = document.getElementById('url-select');\n    if (urlSelect.options.length > 0) {\n        urlSelect.value = '0'; \n        \n        if (config.autoLoading) {\n            autoLoadInProgress = true;\n            for (let i = 0; i < urls.length; i++) {\n                loadContent(i);\n            }\n        } else {\n            loadContent(0);\n        }\n    } else {\n        loadContent(0);\n    }\n\n    $('#url-select').change(function () {\n        clearContainers();\n        const selectedIndex = parseInt($(this).val());\n        loadContent(selectedIndex);\n    });\n    $('#prev-page-btn').click(function () {\n        clearContainers();\n        if (currentPageIndex > 0) {\n            loadContent(currentPageIndex - 1);\n        }\n    });\n    $('#next-page-btn').click(function () {\n        clearContainers();\n        if (currentPageIndex < urls.length - 1) {\n            loadContent(currentPageIndex + 1);\n        }\n    });\n    $('#auto-load-btn').click(function () {\n        autoLoadInProgress = true;\n        showLoadingStatus(1); \n        for (let i = currentPageIndex + 1; i < urls.length; i++) {\n            loadContent(i);\n        }\n    });\n    $('#toggle-messages-btn').click(function () { $('#messages').toggle(); });\n    $('#toggle-urls-btn').click(function () { $('#urls').toggle(); });\n    $('#toggle-debug-btn').click(function () { $('#debug-info').toggle(); });\n});\n    </script>\n</body>\n</html>",
    "ruleImage": "img@src",
    "ruleLink": "a@href",
    "ruleNextPage": "page||text.下一页@href",
    "rulePubDate": "p.-1@text\n",
    "ruleTitle": "h3.-1@text",
    "singleUrl": false,
    "sortUrl": "搜索::https://czy.yzfnb6.help/cn/home/web/index.php/vod/search.html?wd={{source.getVariable()}}\n总排行榜::/cn/home/web/index.php/label/hot/page/{{page}}.html\n月排行榜::https://czy.yzfnb6.help/cn/home/web/index.php/label/hot_month/page/{{page}}.html\n周排行榜::/cn/home/web/index.php/label/hot_week/page/{{page}}.html\n日排行榜::/cn/home/web/index.php/label/hot_day/page/{{page}}.html\n最新上传::/cn/home/web/index.php/label/new/page/{{page}}.html\n熟母少妇::/cn/home/web/index.php/vod/type/id/20/page/{{page}}.html\n网红直播::/cn/home/web/index.php/vod/type/id/21/page/{{page}}.html\n自拍偷拍::/cn/home/web/index.php/vod/type/id/22/page/{{page}}.html\n强奸乱伦::/cn/home/web/index.php/vod/type/id/23/page/{{page}}.html\n高清国产::/cn/home/web/index.php/vod/type/id/24/page/{{page}}.html\n韩国专区::/cn/home/web/index.php/vod/type/id/25/page/{{page}}.html\n日本有码::/cn/home/web/index.php/vod/type/id/26/page/{{page}}.html\n日本无码::/cn/home/web/index.php/vod/type/id/27/page/{{page}}.html\n欧美情色::/cn/home/web/index.php/vod/type/id/28/page/{{page}}.html\n动漫卡通::/cn/home/web/index.php/vod/type/id/29/page/{{page}}.html\n三级伦理::/cn/home/web/index.php/vod/type/id/30/page/{{page}}.html\n玩偶::https://czy.yzfnb6.help/cn/home/web/index.php/vod/search.html?wd=玩偶姐姐",
    "sourceComment": "By小新\n永久地址：https://bqm.avds8.com/g/",
    "sourceGroup": "aa,R18",
    "sourceIcon": "",
    "sourceName": "优质粉嫩鲍",
    "sourceUrl": "\nhttps://czy.yzfnb6.help/cn/home/web/"
  },
  {
    "articleStyle": 1,
    "customOrder": 36493,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\"User-Agent\":\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36\"}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "[id=\"search_results\"]@[class=\"box-tumb related_vid wrap-better-content\"]",
    "ruleContent": "[id=\"hidden_html5_block\"]@video.0@all<js>java.log(result)</js>\n<js>\nconst startIndex = result.indexOf('source src=\\\"');\nconst endIndex = result.indexOf('\"',startIndex+12);\nconst url = result.slice(startIndex+12, endIndex).replaceAll(\"amp;\",\"\");\njava.log(url)\n\np=url;\n pi=java.get(\"t\");\n`<html>\n    <head>\n        <meta name=\"viewport\" content=\"width=device-width\">\n        <style>\n            body {\n                margin: 0;\n                font-family: Arial, sans-serif;\n                background: linear-gradient(135deg, #ece9e6, #ffffff);\n                display: flex;\n                flex-direction: column;\n                align-items: center;\n                justify-content: flex-start;\n                padding: 20px;\n            }\n            .container {\n                width: 100%;\n                max-width: 800px;\n                background: #fff;\n                border-radius: 10px;\n                box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);\n                overflow: hidden;\n                margin-bottom: 20px;\n            }\n            h3 {\n                margin: 0;\n                padding: 10px 20px;\n                font-size: 0.9em;\n                background: #333;\n                color: #fff;\n                border-radius: 10px 10px 0 0;\n            }\n            .video-container {\n                width: 100%;\n                background: #000;\n                position: relative;\n            }\n            video {\n                width: 100%;\n                height: auto;\n                display: block;\n            }\n            .info-container {\n                padding: 20px;\n            }\n            .info-container p {\n                margin: 10px 0;\n                color: #555;\n            }\n            .info-container p span {\n                font-weight: bold;\n                color: #000;\n            }\n        </style>\n    </head>\n    <body>\n        <div class=\"container\">\n        <h3>${pi}</h3>\n            <div class=\"video-container\">\n                <video controls autoplay name=\"media\" id=\"videoPlayer\">\n                    <source src=\"${p}\" type=\"video/mp4\">\n                </video>\n            </div>\n            <div class=\"info-container\">\n                \n            </div>\n        </div>\n\n        <script>\n            // 获取视频元素\n            const video = document.getElementById('videoPlayer');\n            let touchStartX = 0;\n            let touchStartY = 0;\n            let touchStartTime = 0;\n            let isLongPress = false;\n\n            // 滑动快进\n            video.addEventListener('touchstart', (e) => {\n                touchStartX = e.touches[0].clientX;\n                touchStartY = e.touches[0].clientY;\n                touchStartTime = Date.now();\n                isLongPress = false;\n            });\n\n            video.addEventListener('touchmove', (e) => {\n                const deltaX = e.touches[0].clientX - touchStartX;\n                const deltaY = e.touches[0].clientY - touchStartY;\n\n                // 如果是水平滑动，且未进入长按状态\n                if (Math.abs(deltaX) > Math.abs(deltaY) && !isLongPress) {\n                    const duration = video.duration;\n                    const seekTime = video.currentTime + (deltaX / 100); // 每滑动100px快进1秒\n                    video.currentTime = Math.min(Math.max(seekTime, 0), duration);\n                }\n            });\n\n            // 长按快进\n            video.addEventListener('touchend', (e) => {\n                const touchEndTime = Date.now();\n                const touchDuration = touchEndTime - touchStartTime;\n\n                // 如果长按时间超过500ms，进入长按快进状态\n                if (touchDuration > 500) {\n                    isLongPress = true;\n\n                    // 在长按状态下，根据滑动距离快进\n                    const deltaX = e.changedTouches[0].clientX - touchStartX;\n                    const duration = video.duration;\n                    const seekTime = video.currentTime + (deltaX / 100); // 每滑动100px快进1秒\n                    video.currentTime = Math.min(Math.max(seekTime, 0), duration);\n                } else {\n                    isLongPress = false;\n                }\n            });\n\n            // 防止默认行为（如页面滚动）\n            video.addEventListener('touchmove', (e) => {\n                e.preventDefault();\n            });\n        </script>\n    </body>\n</html>`;\n\n</js>",
    "ruleImage": "img@src",
    "ruleLink": "a.0@href##$##,{'webView': true}",
    "ruleNextPage": "page",
    "rulePubDate": "{{@@class.time@text}}\n好评率：{{@@class.rate@text}}",
    "ruleTitle": "class.title@text## ##@put:{t:@@class.title@text}",
    "singleUrl": false,
    "sortUrl": "首页::/{{page}}\n3D::/3d-porn/{{page}}\n4K::/4k-porn/{{page}}\nAmateur::/amateur-porn/{{page}}\nAnal::/anal-porn/{{page}}\nAsian::/asian-porn/{{page}}\nAss::/ass-porn/{{page}}\nAsslick::/asslick-porn/{{page}}\nBBW::/bbw-porn/{{page}}\nBDSM::/bdsm-porn/{{page}}\nBabe::/babe-porn/{{page}}\nBeach::/beach-porn/{{page}}\nBig Cock::/big-cocks-porn/{{page}}\nBig Tits::/big-boobs-porn/{{page}}\nBisexual::/bisexual-porn/{{page}}\nBlack and Ebony::/black-and-ebony-porn/{{page}}\nBlonde::/blonde-porn/{{page}}\nBlowjob::/blowjob-porn/{{page}}\nBrazilian::/brazilian-porn/{{page}}\nBritish::/british-porn/{{page}}\nBrunette::/brunette-porn/{{page}}\nBukkake::/bukkake-porn/{{page}}\nCFNM::/cfnm-porn/{{page}}\nCasting::/casting-porn/{{page}}\nCelebrity::/celebrity-porn/{{page}}\nChinese::/chinese-porn/{{page}}\nClose-up::/close-up-porn/{{page}}\nCollege::/college-porn/{{page}}\nCreampie::/creampie-porn/{{page}}\nCuckold::/cuckold-porn/{{page}}\nCumshot::/cumshot-porn/{{page}}\nCzech::/czech-porn/{{page}}\nDoggystyle::/doggystyle-porn/{{page}}\nDouble Penetration::/double-penetration-porn/{{page}}\nErotic::/erotic-porn/{{page}}\nEuropean::/european-porn/{{page}}\nFacial::/facial-porn/{{page}}\nFat::/fat-porn/{{page}}\nFemdom::/femdom-porn/{{page}}\nFetish::/fetish-porn/{{page}}\nFingering::/fingering-porn/{{page}}\nFirst Time::/first-time-porn/{{page}}\nFisting::/fisting-porn/{{page}}\nFoot Fetish::/foot-fetish-porn/{{page}}\nFrench::/french-porn/{{page}}\nFunny::/funny-porn/{{page}}\nGangbang::/gangbang-porn/{{page}}\nGaping::/gaping-porn/{{page}}\nGerman::/german-porn/{{page}}\nGlory Hole::/glory-hole-porn/{{page}}\nGranny::/granny-porn/{{page}}\nGroup Sex::/group-sex-porn/{{page}}\nHD::/hd-porn/{{page}}\nHairy::/hairy-porn/{{page}}\nHandjob::/handjob-porn/{{page}}\nHardcore::/hardcore-porn/{{page}}\nHentai::/hentai-porn/{{page}}\nHidden Cam::/hidden-cams-porn/{{page}}\nIndian::/indian-porn/{{page}}\nInterracial::/interracial-porn/{{page}}\nItalian::/italian-porn/{{page}}\nJapanese::/japanese-porn/{{page}}\nKorean::/korean-porn/{{page}}\nLatex::/latex-porn/{{page}}\nLatin::/latin-porn/{{page}}\nLesbian::/lesbian-porn/{{page}}\nLick::/lick-porn/{{page}}\nLingerie::/lingerie-porn/{{page}}\nMILF::/milf-porn/{{page}}\nMassage::/massage-porn/{{page}}\nMasturbation::/masturbation-porn/{{page}}\nMature::/mature-porn/{{page}}\nNipples::/nipples-porn/{{page}}\nNylon::/nylon-porn/{{page}}\nOld & Young (18+)::/old-young-porn/{{page}}\nOutdoor::/outdoor-porn/{{page}}\nPOV::/pov-porn/{{page}}\nPanties::/panties-porn/{{page}}\nPornstar::/pornstar-porn/{{page}}\nPublic::/public-porn/{{page}}\nReality::/reality-porn/{{page}}\nRedhead::/redhead-porn/{{page}}\nRussian::/russian-porn/{{page}}\nShower::/shower-porn/{{page}}\nSmall Cock::/small-cocks-porn/{{page}}\nSmall Tits::/small-tits-porn/{{page}}\nSoftcore::/softcore-porn/{{page}}\nSolo::/solo-porn/{{page}}\nSpanking::/spanking-porn/{{page}}\nSquirting::/squirting-porn/{{page}}\nStockings::/stockings-porn/{{page}}\nStrapon::/strapon-porn/{{page}}\nStriptease::/striptease-porn/{{page}}\nSwingers::/swingers-porn/{{page}}\nTeen (18+)::/teen-porn/{{page}}\nThai::/thai-porn/{{page}}\nThreesome::/threesome-porn/{{page}}\nTitjob::/titjob-porn/{{page}}\nToy::/toys-porn/{{page}}\nUniform::/uniform-porn/{{page}}\nUpskirt::/upskirt-porn/{{page}}\nVintage::/vintage-porn/{{page}}\nVoyeur::/voyeur-porn/{{page}}\nWebcam::/webcam-porn/{{page}}\n",
    "sourceComment": "By小新20250429",
    "sourceGroup": "aa,R18",
    "sourceIcon": "",
    "sourceName": "Nuvid",
    "sourceUrl": "https://www.nuvid.com/"
  },
  {
    "articleStyle": 1,
    "customOrder": 36494,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\"User-Agent\":\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36\"}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "ruleArticles": "[class=\"thumbs_box\"]@[class=\"thumbs\"]@a",
    "ruleContent": "[id=\"hidden_html5_block\"]@video.0@all<js>java.log(result)</js>\n<js>\nconst startIndex = result.indexOf('source src=\\\"');\nconst endIndex = result.indexOf('\"',startIndex+12);\nconst url = result.slice(startIndex+12, endIndex).replaceAll(\"amp;\",\"\");\njava.log(url)\n\np=url;\n pi=java.get(\"t\");\n`<html>\n    <head>\n        <meta name=\"viewport\" content=\"width=device-width\">\n        <style>\n            body {\n                margin: 0;\n                font-family: Arial, sans-serif;\n                background: linear-gradient(135deg, #ece9e6, #ffffff);\n                display: flex;\n                flex-direction: column;\n                align-items: center;\n                justify-content: flex-start;\n                padding: 20px;\n            }\n            .container {\n                width: 100%;\n                max-width: 800px;\n                background: #fff;\n                border-radius: 10px;\n                box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);\n                overflow: hidden;\n                margin-bottom: 20px;\n            }\n            h3 {\n                margin: 0;\n                padding: 10px 20px;\n                font-size: 0.9em;\n                background: #333;\n                color: #fff;\n                border-radius: 10px 10px 0 0;\n            }\n            .video-container {\n                width: 100%;\n                background: #000;\n                position: relative;\n            }\n            video {\n                width: 100%;\n                height: auto;\n                display: block;\n            }\n            .info-container {\n                padding: 20px;\n            }\n            .info-container p {\n                margin: 10px 0;\n                color: #555;\n            }\n            .info-container p span {\n                font-weight: bold;\n                color: #000;\n            }\n        </style>\n    </head>\n    <body>\n        <div class=\"container\">\n        <h3>${pi}</h3>\n            <div class=\"video-container\">\n                <video controls autoplay name=\"media\" id=\"videoPlayer\">\n                    <source src=\"${p}\" type=\"video/mp4\">\n                </video>\n            </div>\n            <div class=\"info-container\">\n                \n            </div>\n        </div>\n\n        <script>\n            // 获取视频元素\n            const video = document.getElementById('videoPlayer');\n            let touchStartX = 0;\n            let touchStartY = 0;\n            let touchStartTime = 0;\n            let isLongPress = false;\n\n            // 滑动快进\n            video.addEventListener('touchstart', (e) => {\n                touchStartX = e.touches[0].clientX;\n                touchStartY = e.touches[0].clientY;\n                touchStartTime = Date.now();\n                isLongPress = false;\n            });\n\n            video.addEventListener('touchmove', (e) => {\n                const deltaX = e.touches[0].clientX - touchStartX;\n                const deltaY = e.touches[0].clientY - touchStartY;\n\n                // 如果是水平滑动，且未进入长按状态\n                if (Math.abs(deltaX) > Math.abs(deltaY) && !isLongPress) {\n                    const duration = video.duration;\n                    const seekTime = video.currentTime + (deltaX / 100); // 每滑动100px快进1秒\n                    video.currentTime = Math.min(Math.max(seekTime, 0), duration);\n                }\n            });\n\n            // 长按快进\n            video.addEventListener('touchend', (e) => {\n                const touchEndTime = Date.now();\n                const touchDuration = touchEndTime - touchStartTime;\n\n                // 如果长按时间超过500ms，进入长按快进状态\n                if (touchDuration > 500) {\n                    isLongPress = true;\n\n                    // 在长按状态下，根据滑动距离快进\n                    const deltaX = e.changedTouches[0].clientX - touchStartX;\n                    const duration = video.duration;\n                    const seekTime = video.currentTime + (deltaX / 100); // 每滑动100px快进1秒\n                    video.currentTime = Math.min(Math.max(seekTime, 0), duration);\n                } else {\n                    isLongPress = false;\n                }\n            });\n\n            // 防止默认行为（如页面滚动）\n            video.addEventListener('touchmove', (e) => {\n                e.preventDefault();\n            });\n        </script>\n    </body>\n</html>`;\n\n</js>",
    "ruleImage": "a.0@img@src",
    "ruleLink": "a.0@href##$##,{'webView': true}",
    "ruleNextPage": "page",
    "rulePubDate": "{{@@em.-3@text}}\nrate::{{@@em.-4@text}}",
    "ruleTitle": "em.-1@text@put:{t:@@em.-1@text}",
    "singleUrl": false,
    "sortUrl": "首页::/{{page}}\n3D::/categories/3d/{{page}}\n4K::/4k/{{page}}\nAmateur::/categories/amateur/{{page}}\nAnal::/categories/anal/{{page}}\nAsian::/categories/asian/{{page}}\nAss::/categories/ass/{{page}}\nAsslick::/categories/asslick/{{page}}\nBBW::/categories/bbw/{{page}}\nBDSM::/categories/bdsm/{{page}}\nBabe::/categories/babe/{{page}}\nBeach::/categories/beach/{{page}}\nBig Cock::/categories/big-cocks/{{page}}\nBig Tits::/categories/big-boobs/{{page}}\nBisexual::/categories/bisexual/{{page}}\nBlack And Ebony::/categories/black-and-ebony/{{page}}\nBlonde::/categories/blonde/{{page}}\nBlowjob::/categories/blowjob/{{page}}\nBrazilian::/categories/brazilian/{{page}}\nBritish::/categories/british/{{page}}\nBrunette::/categories/brunette/{{page}}\nBukkake::/categories/bukkake/{{page}}\nCFNM::/categories/cfnm/{{page}}\nCasting::/categories/casting/{{page}}\nCelebrity::/categories/celebrity/{{page}}\nChinese::/categories/chinese/{{page}}\nClose-up::/categories/close-up/{{page}}\nCollege::/categories/college/{{page}}\nCreampie::/categories/creampie/{{page}}\nCuckold::/categories/cuckold/{{page}}\nCumshot::/categories/cumshot/{{page}}\nCzech::/categories/czech/{{page}}\nDoggystyle::/categories/doggystyle/{{page}}\nDouble Penetration::/categories/double-penetration/{{page}}\nErotic::/categories/erotic/{{page}}\nEuropean::/categories/european/{{page}}\nFacial::/categories/facial/{{page}}\nFat::/categories/fat/{{page}}\nFemdom::/categories/femdom/{{page}}\nFetish::/categories/fetish/{{page}}\nFingering::/categories/fingering/{{page}}\nFirst time::/categories/first-time/{{page}}\nFisting::/categories/fisting/{{page}}\nFoot Fetish::/categories/foot-fetish/{{page}}\nFrench::/categories/french/{{page}}\nFunny::/categories/funny/{{page}}\nGangbang::/categories/gangbang/{{page}}\nGaping::/categories/gaping/{{page}}\nGerman::/categories/german/{{page}}\nGlory hole::/categories/glory-hole/{{page}}\nGranny::/categories/granny/{{page}}\nGroup Sex::/categories/group-sex/{{page}}\nHD::/hd/{{page}}\nHairy::/categories/hairy/{{page}}\nHandjob::/categories/handjob/{{page}}\nHardcore::/categories/hardcore/{{page}}\nHentai::/categories/hentai/{{page}}\nHidden Cam::/categories/hidden-cams/{{page}}\nIndian::/categories/indian/{{page}}\nInterracial::/categories/interracial/{{page}}\nItalian::/categories/italian/{{page}}\nJapanese::/categories/japanese/{{page}}\nKorean::/categories/korean/{{page}}\nLatex::/categories/latex/{{page}}\nLatin::/categories/latin/{{page}}\nLesbian::/categories/lesbian/{{page}}\nLick::/categories/lick/{{page}}\nLingerie::/categories/lingerie/{{page}}\nMILF::/categories/milf/{{page}}\nMassage::/categories/massage/{{page}}\nMasturbation::/categories/masturbation/{{page}}\nMature::/categories/mature/{{page}}\nNipples::/categories/nipples/{{page}}\nNylon::/categories/nylon/{{page}}\nOld & Young (18+)::/categories/old-young/{{page}}\nOutdoor::/categories/outdoor/{{page}}\nPOV::/categories/pov/{{page}}\nPanties::/categories/panties/{{page}}\nPornstar::/categories/pornstar/{{page}}\nPublic::/categories/public/{{page}}\nReality::/categories/reality/{{page}}\nRedhead::/categories/redhead/{{page}}\nRussian::/categories/russian/{{page}}\nShower::/categories/shower/{{page}}\nSmall Cock::/categories/small-cocks/{{page}}\nSmall Tits::/categories/small-tits/{{page}}\nSoftcore::/categories/softcore/{{page}}\nSolo::/categories/solo/{{page}}\nSpanking::/categories/spanking/{{page}}\nSquirting::/categories/squirting/{{page}}\nStockings::/categories/stockings/{{page}}\nStrapon::/categories/strapon/{{page}}\nStriptease::/categories/striptease/{{page}}\nSwingers::/categories/swingers/{{page}}\nTeen (18+)::/categories/teen/{{page}}\nThai::/categories/thai/{{page}}\nThreesome::/categories/threesome/{{page}}\nTitjob::/categories/titjob/{{page}}\nToy::/categories/toys/{{page}}\nUniform::/categories/uniform/{{page}}\nUpskirt::/categories/upskirt/{{page}}\nVintage::/categories/vintage/{{page}}\nVoyeur::/categories/voyeur/{{page}}\nWebcam::/categories/webcam/{{page}}\n",
    "sourceComment": "By小新20250429",
    "sourceGroup": "aa,R18",
    "sourceIcon": "",
    "sourceName": "Drtuber",
    "sourceUrl": "https://www.drtuber.com/"
  }
]