源仓库
http@js:eval(String(cache.getFromMemory('yckdm')))
分享者: lyc486 (807)发布时间: 04/22 20:09
编辑订阅源的右上角可以进入登录界面。
登录界面可设置起始页,或登录账号。
{ "articleStyle": 0, "contentWhitelist": "", "coverDecodeJs": "", "customOrder": -10100143, "enableJs": true, "enabled": true, "enabledCookieJar": false, "header": "@js:\ncache.putMemory('yckdm',String.raw`\njava.toast('地址发布页 yckceo.vip');\nvar surl='https:\/\/yckceo.vip', mint=9999;\r\nlet rr = java.ajax(surl);\r\nrr = org.jsoup.Jsoup.parse(rr);\nlet rrr=rr.select('meta[name=description]').attr('content');\nfunction b(c,d){var e=a();return b=function(f,g){f=f-0x1ab;var h=e[f];return h;},b(c,d);}var i=b;function a(){var j=['put','161252hFAgZP','60KuwAjO','452607FrgcMw','39694vPAcpu','20804634VYdpiK','17ZxdOeK','3888675QVlUWv','111054tvOjuH','956336LBAxJT','yckds'];a=function(){return j;};return a();}(function(c,d){var h=b,e=c();while(!![]){try{var f=parseInt(h(0x1b2))\/0x1*(-parseInt(h(0x1b0))\/0x2)+-parseInt(h(0x1af))\/0x3+parseInt(h(0x1ad))\/0x4*(-parseInt(h(0x1ae))\/0x5)+-parseInt(h(0x1b4))\/0x6+-parseInt(h(0x1b3))\/0x7+-parseInt(h(0x1b5))\/0x8+parseInt(h(0x1b1))\/0x9;if(f===d)break;else e['push'](e['shift']());}catch(g){e['push'](e['shift']());}}}(a,0x9db8a),cache[i(0x1ac)](i(0x1ab),rrr));\nrr = rr.select(\"#urllist a:not([href='#'])\");\nPackages.java.util.Collections.reverse(rr);\r\nlet aly = new JavaImporter(Packages.org.jsoup.Jsoup, Packages.org.jsoup.Connection);\r\nfor (char of rr) {\r\n\tlet url = char.attr(\"href\");\r\n\turl = 'https:\/\/' + String(url).replace(\/^.*\\\/\/, '');\r\n\ttry {\r\n\t\tlet st = Date.now();\r\n\t\twith (aly) {\r\n\t\t\tJsoup.connect(url)\r\n\t\t\t\t.timeout(5000)\r\n\t\t\t\t.ignoreContentType(true)\r\n\t\t\t\t.followRedirects(false)\r\n\t\t\t\t.method(Connection.Method.HEAD)\r\n\t\t\t\t.execute()\r\n\t\t}\r\n\t\tlet et = Date.now();\n\t\turl+=(cache.get('yckwb')||'');\r\n\t\tlet tm = et-st;\r\n\t\tif (tm<900) {\r\n\t\t\tsurl=url;\n\t\t\tbreak;}\r\n\t\tif (tm<mint) {mint=tm;surl=url;}\r\n\t} catch (err) {}\r\n}\nlet ck=source.getLoginHeader();\nck&&cookie.replaceCookie(surl,ck+'');\n\/\/ cookie.removeCookie(surl);\r\nsurl\r\n`);\r\n''", "injectJs": "", "jsLib": "qiehuanlib=[{首页:\"\"},{阅读:\"\/yuedu\/index\/index.html\"},{书源:\"\/yuedu\/shuyuan\/index.html\"},{书源合集:\"\/yuedu\/shuyuans\/index.html\"},{订阅源:\"\/yuedu\/rss\/index.html\"},{订阅源合集:\"\/yuedu\/rsss\/index.html\"},{其它:\"\/yuedu\/tools\/index.html\"}];\n\nfunction gengxin(){\nconst {java, source} = this;\n\tlet url0='https:\/\/gitee.com\/lyc486\/yuedu2\/commits\/main\/订阅\/源仓库\/yck.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.sourceComment).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:\/\/gitee.com\/lyc486\/yuedu2\/raw\/main\/订阅\/源仓库\/yck.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\/订阅\/源仓库\/yck.json\" style=\"font-size: 10px;\">备用链接<\/a>\n<\/body>\n<\/html>`;\njava.startBrowser(htm,'源仓库订阅源更新');\r\n}", "lastUpdateTime": 0, "loadWithBaseUrl": true, "loginUi": "[\n {\n \tname: \"📌切换起始页\",\n \ttype: \"button\",\n \taction: \"qiehuan()\",\n \"style\": {\n \"layout_flexGrow\": 0,\n \"layout_flexBasisPercent\": -1,\n \"layout_wrapBefore\": true\n }\n \t},\n \t{\n \tname: \"🔧更新订阅源\",\n \ttype: \"button\",\n \taction: \"gengxin()\",\n \"style\": {\n \"layout_flexGrow\": 0,\n \"layout_flexBasisPercent\": -1,\n \"layout_wrapBefore\": true\n }\n \t},\n \t{\n \tname: \"📝登录\",\n \ttype: \"button\",\n \taction: \"denglu()\",\n \"style\": {\n \"layout_flexGrow\": 0,\n \"layout_flexBasisPercent\": -1,\n \"layout_wrapBefore\": true\n }\n \t}\n]", "loginUrl": "function login(){}\nfunction qiehuan(){\n\tlet nm = source.get('ycknm');\n\tif(nm==''||nm>6) {nm=0;}\n\tlet qh = qiehuanlib[nm];\n\tlet key = Object.keys(qh)[0];\n\tlet value = qh[key];\n\tcache.put('yckwb',value);\n\tjava.longToast('\\n起始页已设为\\n'+key);\n\tnm++;\n\tsource.put('ycknm',nm);\n\t}\nfunction denglu(){\n\tlet url=eval(String(cache.getFromMemory('yckdm'))).match(\/^http.{4}[^\\\/]+\/);\n\tif (url) {\n\tjava.startBrowserAwait(url,'登录');\n\tPackages.java.lang.Thread.sleep(50);\n\/\/\tlet ck=java.webView('<html><\/html>', url, \"document.cookie||'0'\");\n let ck=cookie.getCookie(url)+''; \/\/效果和上面相同(startBrowserAwait函数运行后),但上面是实时获取\nif (!ck.includes('token')) java.toast('💔登录失败');\nelse source.putLoginHeader(ck),java.toast('🎉登录成功');\n\t\t} else java.toast('获取网站失败');\n}", "ruleContent": "", "singleUrl": true, "sourceComment": "let banben=\"0.0.6\";", "sourceGroup": "", "sourceIcon": "https:\/\/gitee.com\/lyc486\/yuedu\/raw\/master\/ycktb.gif", "sourceName": "源仓库", "sourceUrl": "http@js:eval(String(cache.getFromMemory('yckdm')))", "variableComment": "" }