🌈绅士漫画

https://绅士漫画.luoyacheng.ip-ddns.com

lyc486 (807)04/18 04:57

书源自带更新,遇到异常先尝试更新书源
二维码导入
{
    "bookSourceComment": "",
    "bookSourceGroup": "🙈,🎨,绅士漫画",
    "bookSourceName": "🌈绅士漫画",
    "bookSourceType": 2,
    "bookSourceUrl": "https:\/\/绅士漫画.luoyacheng.ip-ddns.com",
    "concurrentRate": "6\/1200",
    "customOrder": 19,
    "enabled": true,
    "enabledCookieJar": false,
    "enabledExplore": true,
    "exploreUrl": "@js:\nlet banben=\"1.1.8\";\nlet rere = Object.entries(flfl);\nrere.splice(14,2);\nrere.sort((a,b)=>{return a[1][1]-b[1][1]})\nlet obj={};\nfor (char of rere) {\n\tobj[char[1][0]] = {\"url\": `\\`data:;base64,\\${java.base64Encode('■'+${char[0]}+'🀄'+page)},{'type':''}\\``};\n\t}\n\nvar sort = [];\nph = (title, url, size, wrap, cc) => sort.push({\n    \"title\": title,\n    \"url\": '{{'+url+'}}',\n    \"style\": {\n      layout_flexGrow: size || 1,\n      layout_flexBasisPercent: cc || 0.25,\n      layout_wrapBefore: wrap ? wrap : false\n     }\n  });\n\nfor (x in obj) {\n\tph(x, obj[x].url, obj[x].fg, obj[x].wb, obj[x].fb);\n}\nJSON.stringify(sort);",
    "header": "@js:\n(()=>{\nlet info=cache.getFromMemory('ssmhinfo');\nif (info) source.putLoginInfo(JSON.stringify(info)),cache.deleteMemory('ssmhinfo');\n\treturn gethd();\n})();",
    "jsLib": "flfl={\n\t\t1: [\"同人\/汉化\",1],\n\t\t12: [\"同人\/日语\",2],\n\t\t16: [\"同人\/英语\",3],\n\t\t9: [\"单行\/汉化\",4],\n\t\t13: [\"单行\/日语\",5],\n\t\t17: [\"单行\/英语\",6],\n\t\t10: [\"短篇\/汉化\",7],\n\t\t14: [\"短篇\/日语\",8],\n\t\t18: [\"短篇\/英语\",9],\n\t\t2: [\"CG\",10],\n\t\t3: [\"Cos\",11],\n\t\t37: [\"AI\",12],\n\t\t22: [\"3D\",13],\n\t\t23: [\"3D\/汉化\",0],\n\t\t24: [\"3D\/其它\",0],\n\t\t20: [\"韩漫\/汉化\",14],\n\t\t21: [\"韩漫\/生肉\",15]\n\t\t};\n\nu_a = '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';\ns_c_ua = `'Microsoft Edge';v='131', 'Chromium';v='131', 'Not_A Brand';v='24'`;\ns_c_ua_m = '?1';\ns_c_ua_p =  `'Android'`;\ncache_c = 'max-age=0';\na_l = 'zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7';\n\nfunction gets(x, r) {\nlet re = r==undefined ? this.java.getString(x) : this.java.getString(x,r);\nreturn String(re);}\nfunction getsl(x, r) {\nreturn r == undefined ? this.java.getStringList(x) : this.java.getStringList(x,r)}\n\nfunction surl() {\n\tlet url=String((this.source.getLoginInfoMap()||{})['地址']);\n\tif (\/^http\/.test(url)) {url=url.replace(\/\\\/*$\/,'')}\n\telse url='https:\/\/www.wn03.ru';\n\treturn url;}\n\nfunction gethd(url) {\n\/\/\tlet u_a=this.java.getWebViewUA();\n\tlet headers = {\n\t\t  \t'User-Agent': u_a,\n\t\t  'sec-ch-ua': s_c_ua,\n    \t 'sec-ch-ua-mobile': s_c_ua_m,\n     \t'sec-ch-ua-platform': s_c_ua_p,\n     \t'cache-control': cache_c,\n     \t'accept-language': a_l\n    \t }\nif (url==undefined) return JSON.stringify(headers);\nelse return url + ',' + JSON.stringify({'headers':headers});\n};\n\nfunction gengxin(){\nconst {java, source} = this;\n\tlet url0='https:\/\/gitee.com\/lyc486\/yuedu2\/commits\/main\/漫画\/绅士漫画\/shenshi.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.exploreUrl).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 = `data:text\/html;charset=utf-8,<html>\n<head>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<title>更新<\/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:\/\/github.com\/Luoyacheng\/yuedu\/raw\/main\/漫画\/绅士漫画\/shenshi.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\/漫画\/绅士漫画\/shenshi.json\" style=\"font-size: 10px;\">备用链接<\/a>\n<\/body>\n<\/html>`;\nif(typeof this.book=='undefined'||gxts[0]=='更新') java.startBrowser(htm,'更新');\r\n}\nfunction fankui(){\tthis.java.startBrowser('https:\/\/github.com\/Luoyacheng\/yuedu\/issues','绅士反馈');\n}",
    "lastUpdateTime": "1744923437768",
    "loginCheckJs": "var pres = result.raw().priorResponse();\nvar isRedirect = pres!=null&&pres.isRedirect();\nif (isRedirect) {\n\tlet url4=String(result.url()).match(\/^https?:\\\/\\\/[^\\\/]+\\\/\/)[0];\n\tlet url = source.get('yurl').split(',');\n\turl=url.map(x=>x.includes(surl())?url4:x).join(',');\n\tsource.put('yurl',url);\n\tlet Info=source.getLoginInfoMap()||{};\n\tInfo['地址'] = url4;\n\tsource.putLoginInfo(JSON.stringify(Info));\n\t}\nresult",
    "loginUi": "[\n    {\n        name: \"地址\",\n        type: \"text\"\n    },\n    \t{\n        name: \"发布页\",\n        type: \"button\",\n        action: \"fabuye()\",\n        \"style\": {\n            \"layout_flexGrow\": 0,\n            \"layout_flexBasisPercent\": 0.3\n        }\n    },\n    \t{\n        name: \"测速\",\n        type: \"button\",\n        action: \"cesu()\",\n        \"style\": {\n            \"layout_flexGrow\": 0,\n            \"layout_flexBasisPercent\": 0.3\n        }\n    },\n    \t{\n        name: \"更新\",\n        type: \"button\",\n        action: \"gengxin()\",\n        \"style\": {\n            \"layout_flexGrow\": 0,\n            \"layout_flexBasisPercent\": 0.25\n        }\n    },\n    {\n        name: \"发现起始页数\",\n        type: \"text\"\n    },\n    \t{\n        name: \"🌐书源介绍\",\n        type: \"button\",\n        action: \"java.startBrowser('https:\/\/www.luoyacheng.ip-ddns.com\/#绅士','介绍');\",\n        \"style\": {\n            \"layout_flexGrow\": 0,\n            \"layout_flexBasisPercent\": -1\n        }\n    }\n]",
    "loginUrl": "function login() {}\n\nlet fbyurl=\"https:\/\/wnlink.ru\/\";\n\nfunction fabuye() {\n\tlet webr = java.startBrowserAwait(fbyurl,'发布页',false).body();\n\tlet rr = org.jsoup.Jsoup.parse(webr);\n\trr = rr.select('.content-top li:gt(1):lt(4) a');\n\tlet re=[];\nfor (let char of rr) {re.push(char.attr('href'));}\nsource.put('yurl',re);\ncesu();\n}\n\nfunction cesu() {\n\t['   ','·  ','·· ','···'].forEach((_,i) => {java.toast('\\n\\n测试中'+_+'\\n');Packages.java.lang.Thread.sleep((3-i)*100);});\nlet url = (source.get('yurl')+[]||surl()).split(',');\nlet tm=[], mit=99, miu='';\n\ttry {\n\tfor (char of url) {\n  let startTime=new Date().getTime();\n\t\/\/java.head(char,{\t'User-Agent': u_a});\n\tjava.ajax(char);\n\tlet endTime=new Date().getTime();\n\tlet speed = (endTime - startTime) \/ 1000;\n\tspeed = speed.toFixed(2);\n\tif (mit>speed) {mit=speed; miu=char;}\n\ttm.push(speed);\n\t}\n\tjava.longToast('\\n'+url[0]+':'+tm[0]+'秒\\n'+url[1]+':'+tm[1]+'秒');\n\t} catch(err) {java.longToast(err);}\n\tlet Info=source.getLoginInfoMap()||{};\n\tInfo['地址'] = miu;\n\tcache.putMemory('ssmhinfo',Info);\nsource.putLoginInfo(JSON.stringify(Info));\n}",
    "respondTime": 180000,
    "ruleBookInfo": {
        "coverUrl": "fm",
        "init": "<js>\nlet bkurl=surl();\nbook.bookUrl=String(book.bookUrl).replace(\/^https:\\\/\\\/[^\\\/]+\/, bkurl);\nlet hj=java.get('sshj');\nif (hj=='') {\nlet tags=String.raw`{{@@.addtags>a:not(:last-of-type)@text##\\n## #}}`;\ntags=tags ? ('#'+tags+'\\n') : '';\nlet jj=tags+java.get('jianjie')+`\n{{@@.addtags~p@textNodes##`##\\\\`}}`.replace(\/簡介:\/,'');\nresult={\n\tjj:jj};\n\n} else {\n\tlet st=gets('.info@text');\n\tlet sj=st.match(\/创建于([\\d\\ \\-\\:]+)\/)[1];\n\tlet fm=gets('#classify_container li img.0@src');\n\tfm+=`,{headers:{referer:'${surl()}\/'}}`;\n\tresult={\n\ttags:sj,\n\tfm:fm};\n\n}\n<\/js>",
        "intro": "jj",
        "kind": "tags",
        "tocUrl": ""
    },
    "ruleContent": {
        "content": "<js>\nlet ref=surl()+'\/';\nlet rr=result.match(\/\\\/\\\/[^\"\\n]+\\.(?:webp|jpg|png|jpeg)\/g);\nfor (let i=0;i<rr.length;i++) {\n\trr[i]=`<img src=\"${rr[i]},{headers:{referer:'${ref}'}}\">`\n\t}\nrr.join('')\n<\/js>",
        "nextContentUrl": "",
        "title": ""
    },
    "ruleExplore": {
        "bookList": ""
    },
    "ruleSearch": {
        "author": "@get:{anm}",
        "bookList": "<js>\nlet [key,page] = java.hexDecodeToString(result).split('🀄');\nlet url=surl();\n\nif (key.startsWith('@')) {\n\tkey=key.slice(1);\n\tjava.put('sshj',key);\n\turl += '\/q\/?q='+key+'&m=&f=_all&s=create_time_DESC&p=1';}\nelse if (\/^[##]\/.test(key)) {\n\tlet webua=java.getWebViewUA();\n\tkey=key.slice(1);\n\turl += `\/albums-index-page-${page}-tag-${key}.html,{headers:{User-Agent:\"${webua}\"}}`;}\nelse if (\/^■\\d\/.test(key)) {\n\tjava.put('cos',1);\n\tlet page2=((source.getLoginInfoMap()||{})['发现起始页数']||'1')+[]||'1'; \/\/兼容null和java\"\"\n\tpage=+page + +page2 - 1;\n\tif (page>3&&(page&1)==0&&page2>2) java.toast('第'+page+'页');\n\tlet webua=java.getWebViewUA();\n\tkey=key.slice(1);\n\turl += `\/albums-index${page==1?'':('-page-'+page)}-cate-${key}.html,{headers:{User-Agent:\"${webua}\"}}`;}\nelse {\t\n\turl+='\/q\/?q='+key+'&m=&f=_all&s=create_time_DESC&p='+page;}\n\nlet webr=java.ajax(url);\njava.setContent(webr);\nresult=java.getElement('#classify_container li');\nlet hj=java.get('sshj');\n\nif (hj!=''&&result.length>1) {\n\tlet st=java.getString('.info@text',result);\n\tlet sj=st.match(\/创建于([\\d\\ \\-\\:]+)\/)[1];\n\tlet sl=st.match(\/\\d+(?=张图)\/g);\n\tsl=sl.reduce((acc, cur)=>acc+Number(cur),0);\n\tlet im=java.getString('img.0@all',result);\n\tlet rr=`<li><a class=\"info\" href=\"${url}\">${sl}张图${sj}<\/a><\/li>+${im}`;\n\tresult=[rr];\n\t} else {java.put('sshj','');\n\tresult;}\n<\/js>",
        "bookUrl": "<js>\nlet hj=java.get('sshj');\nlet url;\nif (hj=='') url= surl()+java.getString('a@href');\nelse url=java.getString('a@href');\n<\/js>",
        "checkKeyWord": "@邪恶变形系统",
        "coverUrl": "https:{{@@img@src}},{headers:{referer:'{{surl()}}\/'}}",
        "intro": "<js>\nlet hj=java.get('sshj');\nif (hj=='') {\n\tlet rr=String(java.getString('a@text'));\n\tlet nm = rr.match(\/\\[([^\\[\\]]+)\\]\\-?\\s*([^\\[\\]]+)(?:(\\[[^\\[\\]]+\\])\\s*)(?:(\\[[^\\[\\]]+\\])\\s*)?\/);\n\tif (nm) {result=nm[3]+(nm[4]?nm[4]:'');java.put('jianjie',result);}\n\telse result='';\n\t}\n<\/js>",
        "kind": "<js>\n\tlet rr = '{{@@li@class##cate-}}';\n\tlet tt = `{{@@.info@text##([\\d\\-\\s\\:]{4,})$##$1###}}`;\n\tresult=rr ? (flfl[rr][0]+','+tt) : tt;\n<\/js>",
        "lastChapter": "",
        "name": "<js>\nlet hj=java.get('sshj');\nlet cos=java.get('cos');\n\nif (hj=='') {\n\tlet rr=String(java.getString('a@text'));\n\tlet nm = rr.match(\/\\[([^\\[\\]]+)\\]\\-?\\s*([^\\[\\]]+)\/);\n\tif(!nm&&cos==1) nm=rr.match(\/(^.+)\\s+[–\\-]\\s+(.+$)\/);\n\tif (nm&&!\/^3d$\/i.test(nm[1])) {java.put('anm',nm[1]); result=nm[2];}\n\telse {java.put('anm',rr); result=rr;}\n\t}\nelse {java.put('anm','合集'); result='📚'+hj;}\n\nresult\n<\/js>",
        "wordCount": ".info@text##^(\\d+)##$1张图###"
    },
    "ruleToc": {
        "chapterList": "-<js>\nlet hj=java.get('sshj');\nif (hj=='') {\n\tlet rr=`<a href=\"${baseUrl}\">单章<\/a>`;\n\tresult = [rr];\n} else result = java.getElement('#classify_container li');\nresult\n<\/js>",
        "chapterName": "a@text",
        "chapterUrl": "a@href##index##webp",
        "formatJs": "",
        "isPay": "",
        "isVolume": "",
        "nextTocUrl": "<js>\nlet hj=java.get('sshj');\nif (hj=='') {result=[];}\nelse {\nresult=gets('.block-pagination a@href').split('\\n');\nresult.push(\"data:;base64,aHR0,{'type':'ss'}\");\n}\nresult\n<\/js>",
        "preUpdateJs": "let bkurl=surl();\nbook.tocUrl=String(book.bookUrl).replace(\/^https:\\\/\\\/[^\\\/]+\/, bkurl);",
        "updateTime": ".info@text##^(\\d+)\\D*([\\d\\-\\s\\:]{4,})$##$2 $1张图###"
    },
    "searchUrl": "{{`data:;base64,${java.base64Encode(key+'🀄'+page)},{'type':''}`;}}",
    "weight": 0
}
广告