禁漫天堂(漫画小说视频)
https://jmtt1.net
laizhiyu (6509)10/31 12:20
jmtt1.net(18mh.net) 三模式书源 v1.0
{
"bookSourceComment": "jmtt1.net(18mh.net) 三模式书源 v1.0",
"bookSourceGroup": "AI",
"bookSourceName": "禁漫天堂(漫画小说视频)",
"bookSourceType": 0,
"bookSourceUrl": "https:\/\/jmtt1.net",
"bookUrlPattern": ".*\\\/(comic|novel|mv)\\\/detail\\\/\\d+.*",
"concurrentRate": "1\/1500",
"customButton": false,
"customOrder": 0,
"enabled": true,
"enabledCookieJar": true,
"enabledExplore": true,
"eventListener": false,
"exploreUrl": "@js:(function(){\nvar H='https:\/\/abandon.yyc2mhau.cc';\nvar m='';\ntry{m=String(source.get('jmMode'));}catch(e1){}\nif(m==='null'||m==='undefined'){m='';}\nif(m===''){try{m=String(source.getVariable());}catch(e2){}if(m==='null'||m==='undefined'){m='';}}\nvar seg='comic';if(m==='小说'){seg='novel';}else if(m==='视频'){seg='mv';}\nvar comicCats=[['全部',''],['爱情','\/aq'],['BL','\/bl'],['单本','\/db'],['短篇','\/dp'],['韩漫','\/hg'],['剧情','\/jq'],['乱伦','\/ll'],['奇幻','\/qh'],['日漫','\/rb'],['调教','\/tj'],['同人','\/tr'],['校园','\/xy']];\nvar novelCats=[['全部',''],['都市激情','\/dsjq'],['校园春色','\/xycs'],['乡村爱情','\/xcaq'],['系统异能','\/xtyn'],['家庭乱伦','\/jtll'],['穿越重生','\/cycs'],['经典武侠','\/jdwx'],['同人改编','\/trgb'],['科学幻想','\/kxhx'],['东方玄幻','\/dfxh'],['娱乐明星','\/ylmx'],['历史架空','\/lsjk'],['西方魔幻','\/xfmh'],['贤者小说','\/xzxs']];\nvar mvCats=[['全部',''],['AI短剧','\/aidj'],['国产视频','\/gcsp'],['日本AV','\/rbav'],['H动漫','\/hdm'],['偷拍摄像','\/tp'],['次元萝莉','\/cyll'],['国产传媒','\/gccm'],['主播福利','\/zbfl'],['吃瓜爆料','\/cgbl'],['无码流出','\/wmlc'],['高清AV','\/gqav'],['同人热播','\/trrb'],['3D动漫','\/3ddm']];\nvar cats=seg==='novel'?novelCats:(seg==='mv'?mvCats:comicCats);\nvar rows=[];\nfor(var i=0;i<cats.length;i++){\n rows.push({title:seg+'·'+cats[i][0],url:H+'\/'+seg+'\/all'+cats[i][1]});\n}\nrows.push({title:'漫画·排行榜',url:H+'\/comic\/rank'});\nrows.push({title:'漫画·最近更新',url:H+'\/comic\/newest'});\nreturn JSON.stringify(rows);\n})()",
"header": "{\"User-Agent\": \"Mozilla\/5.0 (Linux; Android 14) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/124.0.6367.82 Mobile Safari\/537.36\"}",
"jsLib": "\/\/ jmLib: 线路\/模式\/请求工具(规则 @js 与 loginUrl 共享;ES5 语法,Rhino 安全子集)\nvar JM_HOST_DEF = 'https:\/\/abandon.yyc2mhau.cc';\nvar JM_UA = 'Mozilla\/5.0 (Linux; Android 14) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/124.0.6367.82 Mobile Safari\/537.36';\nvar JM_PUB = 'https:\/\/jmtt1.net';\n\nfunction jmStr(v) {\n var s = String(v == null ? '' : v);\n if (s === 'null' || s === 'undefined') s = '';\n return s;\n}\n\nfunction jmHost(sv) {\n try {\n var h = jmStr(sv.get('jmHost'));\n if (h.indexOf('http') === 0) return h;\n } catch (e1) {}\n try {\n var v = jmStr(sv.getVariable());\n if (v.indexOf('http') === 0) return v;\n } catch (e2) {}\n return JM_HOST_DEF;\n}\n\nfunction jmUA() {\n return JM_UA;\n}\n\nfunction jmOpt(timeout) {\n var t = timeout || 20000;\n return ',{\"headers\":{\"User-Agent\":\"' + JM_UA + '\"},\"timeout\":' + t + '}';\n}\n\nfunction jmMode(sv) {\n var m = '';\n try {\n m = jmStr(sv.get('jmMode'));\n } catch (e1) {}\n if (m === '') {\n try {\n var v = sv.getVariable();\n m = jmStr(v);\n } catch (e2) {}\n }\n if (m === '小说' || m === '视频') return m;\n return '漫画';\n}\n",
"lastUpdateTime": "1793420433119",
"loginUi": "[\n {\"name\":\"jmPub\",\"type\":\"text\",\"viewName\":\"'🌐 发布页地址(可改)'\",\"value\":\"https:\/\/jmtt1.net\",\"action\":\"jmSavePub(java)\"},\n {\"name\":\"jmFetch\",\"type\":\"button\",\"viewName\":\"'📡 一键从发布页获取线路'\",\"action\":\"jmFetchLines(java)\"},\n {\"name\":\"jmTest\",\"type\":\"button\",\"viewName\":\"'📶 测试延时(ms 回填各线路按钮)'\",\"action\":\"jmTestCurrent(java)\"},\n {\"name\":\"jmStatus\",\"type\":\"button\",\"viewName\":\"jmHostLabel()\",\"action\":\"jmTestCurrent(java)\"},\n {\"name\":\"jmModeC\",\"type\":\"button\",\"viewName\":\"jmModeLabel('漫画')\",\"action\":\"jmSetMode(java,'漫画')\"},\n {\"name\":\"jmModeN\",\"type\":\"button\",\"viewName\":\"jmModeLabel('小说')\",\"action\":\"jmSetMode(java,'小说')\"},\n {\"name\":\"jmModeV\",\"type\":\"button\",\"viewName\":\"jmModeLabel('视频')\",\"action\":\"jmSetMode(java,'视频')\"},\n {\"name\":\"jmLine0\",\"type\":\"button\",\"viewName\":\"jmLineLabel(0)\",\"action\":\"jmPickLine(java,0)\"},\n {\"name\":\"jmLine1\",\"type\":\"button\",\"viewName\":\"jmLineLabel(1)\",\"action\":\"jmPickLine(java,1)\"},\n {\"name\":\"jmLine2\",\"type\":\"button\",\"viewName\":\"jmLineLabel(2)\",\"action\":\"jmPickLine(java,2)\"},\n {\"name\":\"jmLine3\",\"type\":\"button\",\"viewName\":\"jmLineLabel(3)\",\"action\":\"jmPickLine(java,3)\"},\n {\"name\":\"jmLine4\",\"type\":\"button\",\"viewName\":\"jmLineLabel(4)\",\"action\":\"jmPickLine(java,4)\"},\n {\"name\":\"jmLine5\",\"type\":\"button\",\"viewName\":\"jmLineLabel(5)\",\"action\":\"jmPickLine(java,5)\"}\n]",
"loginUrl": "\/\/ jmtt loginUrl: 登录检查 + 三模式切换 + 发布页获取线路 + 测速选线(V1 静态 loginUi 的 action 函数库)\n\/\/ 环境:$loginJS\\n$buttonJS,source\/java 绑定可用;java=SourceLoginJsExtensions(put\/get\/toast\/longToast\/ajax)\n\/\/ ★ 本串中 Mozilla\/5.0 (Linux; Android 14) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/124.0.6367.82 Mobile Safari\/537.36 占位在构建时替换为真实 UA;单引号字符串,避免与 action 的 Q() 拼接冲突\nfunction login() {\n return '游客模式可用,无需登录。请使用下方按钮管理线路与模式。';\n}\n\nfunction jmQ(c) {\n return String.fromCharCode(39);\n}\n\nfunction jmToast(jv, msg) {\n try { jv.toast(msg); } catch (e1) {}\n try { jv.longToast(msg); } catch (e2) {}\n}\n\/\/ 三模式切换:source.put('jmMode', mode) + 刷新面板按钮名\nfunction jmSetMode(java, mode) {\n var jv = java;\n try { jv.put('jmMode', mode); } catch (e1) {}\n try { jv.setVariable(mode); } catch (e1b) {}\n try { jv.toast('已切换:' + mode + ' 模式'); } catch (e2) {}\n try { jv.reLoginView(false); } catch (e3) {}\n return mode;\n}\n\n\/\/ 一键从发布页获取线路:抓 jmtt1.net 词表 → 生成候选 → 并发测速 → 最快者写 jmHost\nfunction jmFetchLines(java) {\n var jv = java;\n var msg = '';\n try {\n jmToast(jv, '⏳ 正在从发布页 jmtt1.net 获取线路…');\n var pub = String(jv.ajax(jmPubUrl() + ',{\"timeout\":15000}'));\n var mw = pub.match(\/words\\s*=\\s*'([a-z,]+)'\/);\n if (!mw) { jmToast(jv, '❌ 发布页词表解析失败(检查发布页地址)'); return; }\n var words = mw[1].split(',');\n msg = '词表 ' + words.length + ' 词;';\n \/\/ 生成候选:词表随机取 4 + backup 固定 2 = 6 线(与面板 6 个线路按钮对应)\n var cand = [];\n var used = {};\n var tries = 0;\n while (cand.length < 4 && tries < 60) {\n tries++;\n var w = words[Math.floor(Math.random() * words.length)];\n if (w && !used[w]) { used[w] = 1; cand.push('https:\/\/' + w + '.yyc2mhau.cc'); }\n }\n \/\/ backup 固定域(\/index\/backup 页实测域名池样本)\n var fixed = ['https:\/\/w9xfv.yyc2mhau.cc', 'https:\/\/18mh.01buliangrukou.com'];\n for (var fi = 0; fi < fixed.length; fi++) {\n if (cand.indexOf(fixed[fi]) < 0) cand.push(fixed[fi]);\n }\n jmSpeedTest(java, cand);\n } catch (e) {\n jmToast(jv, '❌ 获取线路失败:' + String(e).substring(0, 120));\n }\n}\n\/\/ 逐线路测速:结果写 jmLatN 供 viewName 显示,最快写 jmHost;含 4073ms 防抖守卫\nfunction jmSpeedTest(java, cand) {\n var jv = java;\n var best = -1;\n var bestMs = 999999;\n for (var i = 0; i < cand.length; i++) {\n var u = cand[i];\n var t0 = Date.now();\n var ok = false;\n try {\n String(jv.ajax(u + '\/favicon.ico,{\"timeout\":8000}'));\n ok = true;\n } catch (e) { ok = false; }\n var ms = Date.now() - t0;\n if (!ok) ms = 999999;\n try { jv.put('jmLat' + i, ok ? (ms + 'ms') : '超时'); } catch (ep) {}\n try { jv.put('jmLine' + i, u); } catch (ep2) {}\n if (ok && ms < bestMs) { bestMs = ms; best = i; }\n }\n var msg = '';\n for (var j = 0; j < cand.length; j++) {\n var l = '';\n try { l = jmStr(jv.get('jmLine' + j)); } catch (eg) {}\n var lt = '';\n try { lt = jmStr(jv.get('jmLat' + j)); } catch (eg2) {}\n if (l !== '') msg += (j + 1) + '. ' + l.replace('https:\/\/', '') + ' → ' + lt + '\\n';\n }\n var cur = '';\n try { cur = jmStr(jv.get('jmHost')); } catch (eg3) {}\n if (best >= 0) {\n try { jv.put('jmHost', cand[best]); } catch (ep3) {}\n msg += '✅ 已切换最快线路:' + cand[best].replace('https:\/\/', '') + '(' + bestMs + 'ms)';\n jmToast(jv, msg);\n } else {\n msg += '❌ 全部线路不可达';\n jmToast(jv, msg);\n }\n try { jv.reLoginView(false); } catch (er) {}\n}\n\n\/\/ 保存发布页输入值;jmGetPubInp 始终返回 true(V1 静态面板 text 行的值经 form 机制自动持久化)\nfunction jmSavePub(java) {\n var jv = java;\n var v = '';\n try { v = jmStr(jv.get('jmPub')); } catch (e) {}\n if (v.indexOf('http') !== 0) v = 'https:\/\/jmtt1.net';\n try { jv.put('jmPub', v); } catch (e2) {}\n jmToast(jv, '✅ 发布页地址已保存:' + v);\n try { jv.reLoginView(false); } catch (e3) {}\n}\n\nfunction jmGetPubInp(v) {\n return true;\n}\n\n\/\/ jmFetchLines 改从 jmPub 读发布页地址\nfunction jmPubUrl() {\n var v = '';\n try { v = jmStr(source.get('jmPub')); } catch (e) {}\n if (v.indexOf('http') !== 0) v = 'https:\/\/jmtt1.net';\n return v.replace(\/\\\/+$\/, '');\n}\n\n\/\/ —— loginUrl 作用域独立的工具副本(不依赖 jsLib)——\nfunction jmStr(v) {\n var s = String(v == null ? '' : v);\n if (s === 'null' || s === 'undefined') s = '';\n return s;\n}\n\n\/\/ 测试当前已存线路延时(不自动切换,只回填 ms 到各按钮)\nfunction jmTestCurrent(java) {\n var jv = java;\n var cand = [];\n for (var i = 0; i < 6; i++) {\n var u = '';\n try { u = jmStr(jv.get('jmLine' + i)); } catch (e) {}\n if (u.indexOf('http') === 0) cand.push(u);\n }\n if (cand.length === 0) {\n jmToast(jv, '⚠️ 尚无线路缓存,请先点「📡 从发布页获取线路」');\n return;\n }\n jmSpeedTest(java, cand, false);\n}\n\n\/\/ 点击某个线路按钮:快测该线 → 可达则切换 jmHost\nfunction jmPickLine(java, idx) {\n var jv = java;\n var u = '';\n try { u = jmStr(jv.get('jmLine' + idx)); } catch (e) {}\n if (u.indexOf('http') !== 0) {\n jmToast(jv, '⚠️ 该线路位为空,请先点「📡 从发布页获取线路」');\n return;\n }\n jmToast(jv, '⏳ 正在测试 ' + u.replace('https:\/\/', '') + ' …');\n var t0 = Date.now();\n var ok = false;\n try {\n String(jv.ajax(u + '\/favicon.ico,{\"timeout\":6000}'));\n ok = true;\n } catch (e2) { ok = false; }\n var ms = Date.now() - t0;\n if (ok) {\n try { jv.put('jmHost', u); } catch (e3) {}\n try { jv.put('jmLat' + idx, ms + 'ms'); } catch (e4) {}\n jmToast(jv, '✅ 已切换线路:' + u.replace('https:\/\/', '') + '(' + ms + 'ms)');\n } else {\n try { jv.put('jmLat' + idx, '超时'); } catch (e5) {}\n jmToast(jv, '❌ 该线路不可达(超时),未切换');\n }\n try { jv.reLoginView(false); } catch (e6) {}\n}\n\n\/\/ —— viewName 标签函数(面板每次渲染重跑)——\nfunction jmModeLabel(m) {\n var cur = '';\n try { cur = jmStr(source.get('jmMode')); } catch (e) {}\n if (cur === '') cur = '漫画';\n var icon = m === '漫画' ? '📖' : (m === '小说' ? '📝' : '🎬');\n return icon + ' ' + m + (cur === m ? ' ✓' : '');\n}\n\nfunction jmLineLabel(i) {\n var h = '';\n try { h = jmStr(source.get('jmLine' + i)); } catch (e) {}\n var lat = '';\n try { lat = jmStr(source.get('jmLat' + i)); } catch (e2) {}\n if (h === '') return '线路' + (i + 1) + '(空)';\n var cur = '';\n try { cur = jmStr(source.get('jmHost')); } catch (e3) {}\n var tag = cur === h ? ' ●当前' : '';\n return '切 ' + h.replace('https:\/\/', '') + (lat === '' ? '' : ' ' + lat) + tag;\n}\n\nfunction jmHostLabel() {\n var h = '';\n try { h = jmStr(source.get('jmHost')); } catch (e) {}\n if (h === '') h = '默认 abandon.yyc2mhau.cc';\n return '🌐 当前线路:' + h.replace('https:\/\/', '');\n}\n",
"respondTime": 180000,
"ruleBookInfo": {
"author": "@js:(function(){try{var m=String(result).match(\/\"author\":\\s*\\{\\s*\"@type\":\\s*\"Person\",\\s*\"name\":\\s*\"([^\"]+)\"\/);if(m)return m[1];}catch(e){}try{var a=String(result).match(\/all\\\/author\\\/[^>]*>([^<]+)<\/);if(a)return a[1];}catch(e2){}return \"\";})()",
"coverUrl": "@js:(function(){var t=String(result||\"\");var H=String(baseUrl).match(\/^https?:\\\/\\\/[^\\\/]+\/);H=H?H[0]:\"https:\/\/abandon.yyc2mhau.cc\";var m=t.match(\/data-src=\"https?:\\\/\\\/[^\\\/?]+(\\\/upload[^\"]+)\"\/);if(m){var p=m[1].split(\"?\")[0];var b=java.base64Encode(p);var ext=p.split(\".\").pop();return H+\"\/social-cover\/\"+b+\".\"+ext;}try{var og=t.match(\/og:image\" content=\"([^\"]+)\"\/);if(og)return og[1];}catch(e2){}return \"\";})()",
"intro": "@js:(function(){try{var m=String(result).match(\/og:description\" content=\"([^\"]+)\"\/);if(m)return m[1];}catch(e){}return '';})()",
"kind": "@js:(function(){try{var m=String(result).match(\/\"genre\":\\s*\\[([^\\]]+)\\]\/);if(m){return m[1].replace(\/\"\/g,'').split(',').join(',');}return '';}catch(e){}try{var t=String(result).match(\/jm-dt-tags[\\s\\S]{0,2500}?<\\\/div>\/);if(t){var g=t[0].match(\/>([^<>]{1,12})<\\\/<a>\/g)||[];var o=[];for(var i=0;i<g.length;i++){var w=g[i].replace(\/^>\/,'').replace(\/<\\\/a>$\/,'');if(w&&o.length<8)o.push(w);}return o.join(',');}return '';}catch(e2){}return '';})()",
"lastChapter": "@js:(function(){try{var m=String(result).match(\/jm-dt-ch__no\">([^<]+)<[\\s\\S]{0,200}?jm-dt-ch__t\">([^<]+)<\/);if(m)return m[1]+' '+m[2];}catch(e){}return '';})()",
"name": "@js:(function(){var t=String(result||\"\");var m=t.match(\/\"@type\":\\s*\"(?:ComicStory|Book|VideoObject)\"[\\s\\S]{0,3000}?\"name\":\\s*\"([^\"]+)\"\/);if(m)return m[1];try{var h=t.match(\/<h1[^>]*>([\\s\\S]{0,150}?)<\\\/h1>\/);if(h)return h[1].replace(\/<[^>]*>\/g,\"\").trim();}catch(e2){}return \"\";})()",
"tocUrl": "@js:baseUrl"
},
"ruleContent": {
"content": "@js:(function(){\nvar u=String(baseUrl||'');\nvar t=String(result||'');\nvar out=[];\n\/\/ ===== 视频分支 =====\nif(u.indexOf('\/mv\/')>=0){\n var mid=(u.match(\/\\\/detail\\\/(\\d+)\/)||[])[1];\n var embed=u.replace(\/\\\/detail\\\/\\d+.*$\/,'\/embed?id='+ (mid||''));\n var title='';\n try{var mm=String(result).match(\/\"@type\":\\s*\"VideoObject\"[\\s\\S]{0,2000}?\"name\":\\s*\"([^\"]+)\"\/);if(mm)title=mm[1];}catch(e3){}\n try{java.startBrowser(embed, title||'禁漫天堂视频');}catch(e1){}\n out.push('🎬 已在内置浏览器打开播放器。');\n out.push('');\n out.push('若未弹出,点菜单【刷新正文】重试,或手动打开:');\n out.push(embed);\n out.push('');\n out.push('(三层签名链 m3u8+auth_key+1800s 窗口,需浏览器 hls.js 播放)');\n return out.join('\\n');\n}\n\/\/ ===== 漫画分支 =====\nif(u.indexOf('\/comic\/')>=0){\n var pi=t.indexOf('<section class=\"jm-rd-pages\"');\n var pe=t.indexOf('<\/section>',pi);\n var seg=pi>=0?t.substring(pi,pe):t;\n var H=u.match(\/^https?:\\\/\\\/[^\\\/]+\/);\n H=H?H[0]:'https:\/\/abandon.yyc2mhau.cc';\n var re=\/data-src=\"(https?:\\\/\\\/[^\\\/?]+)(\\\/upload[^\"?]+)[^\"]*\"\/g;var m;\n while((m=re.exec(seg))!==null){\n var p=m[2];\n var b=java.base64Encode(p);\n var ext=p.split('.').pop();\n out.push('<img src=\"'+H+'\/social-cover\/'+b+'.'+ext+'\">');\n }\n if(out.length===0){\n var re2=\/<img[^>]*src=\"https?:\\\/\\\/[^\\\/?]+(\\\/upload[^\"?]+)[^\"]*\"\/g;var m2;\n while((m2=re2.exec(seg))!==null){\n var p2=m2[1];\n var b2=java.base64Encode(p2);\n var e2=p2.split('.').pop();\n out.push('<img src=\"'+H+'\/social-cover\/'+b2+'.'+e2+'\">');\n }\n }\n return out.join('\\n');\n}\n\/\/ ===== 小说分支 =====\nvar si=t.indexOf('jm-rd-text');\nvar st=t.indexOf('>',si);\nvar en=t.indexOf('data-rd-text-end',st);\nif(en<0)en=t.indexOf('<\/article>',st);\nif(en<0)en=st+60000;\nvar seg2=t.substring(st+1,en);\nvar ps=seg2.match(\/<p>[\\s\\S]*?<\\\/p>\/g)||[];\nvar ps2=[];\nfor(var i=0;i<ps.length;i++){\n var x=ps[i].replace(\/^<p>\/,'').replace(\/<\\\/p>$\/,'').replace(\/<[^>]+>\/g,'').replace(\/ \/g,' ');\n if(x.replace(\/\\s\/g,'')!=='')ps2.push(' '+x);\n}\nif(ps2.length===0){ps2.push(String(t).substring(0,120));}\nreturn ps2.join('\\n');\n})()",
"imageStyle": "FULL"
},
"ruleExplore": {},
"ruleSearch": {
"bookList": "li.jm-card,li.jm-vcard",
"bookUrl": "a.jm-card__cover@href||a.jm-vcard__cover@href",
"checkKeyWord": "浪花里",
"coverUrl": "@js:(function(){var h=\"\";try{h=result.html();}catch(e){h=String(result);}var m=h.match(\/data-src=\"https?:\\\/\\\/[^\\\/?]+(\\\/upload[^\"]+)\"\/);if(m){var p=m[1].split(\"?\")[0];var b=java.base64Encode(p);var ext=p.split(\".\").pop();var H=String(baseUrl).match(\/^https?:\\\/\\\/[^\\\/]+\/);H=H?H[0]:\"https:\/\/abandon.yyc2mhau.cc\";return H+\"\/social-cover\/\"+b+\".\"+ext;}var s=h.match(\/src=\"(https?:[^\"]+upload[^\"]+)\"\/);return s?s[1]:\"\";})()",
"kind": "span.jm-card__badge--status@text||span.jm-vcard__dur@text",
"name": "h3 a@text"
},
"ruleToc": {
"chapterList": "@js:(function(){\nvar u=String(baseUrl||'');\nvar t=String(result||'');\nvar ps=t.indexOf('data-jm-dt-panel=\"chap\"');\nvar seg=ps>=0?t.substring(ps):t;\nvar L=[];\nvar isC=u.indexOf('\/comic\/')>=0;\nvar isV=u.indexOf('\/mv\/')>=0;\nvar r;\nif(isC){r=\/href=\"(\\\/comic\\\/chapter\\\/\\d+\\\/\\d+)\"\/g;}\nelse{r=\/href=\"(\\\/novel_chapter\\\/\\d+\\\/\\d+\\.html)\"\/g;}\nvar seen={};var m;\nwhile((m=r.exec(seg))!==null){\n var url=m[1];\n if(seen[url])continue;\n seen[url]=1;\n var tail=url.split('\/').pop();\n var num=tail.replace(\/^\\D+\/,'').replace(\/\\.html$\/,'');\n var title='\\u7b2c'+num+'\\u7ae0';\n var ctx=seg.substring(m.index, m.index+600);\n var mn=ctx.match(\/jm-dt-ch__no\">([^<]+)<\/);\n var mt=ctx.match(\/jm-dt-ch__t\">([^<]+)<\/);\n if(mn&&mt){title=mn[1]+' '+mt[1];}\n var o={};o['title']=title;o['url']=url;L.push(o);\n}\ntry{if(isV){book.type=4;}else if(!isC){book.type=8;}else{book.type=64;}}catch(eT){}\nif(L.length===0&&isV){var o2={};o2['title']='\\u25b6 \\u6253\\u5f00\\u64ad\\u653e';o2['url']=u;L.push(o2);}\nreturn L;\n})()",
"chapterName": "title",
"chapterUrl": "url"
},
"searchUrl": "@js:(function(){\nvar H='https:\/\/abandon.yyc2mhau.cc';\nvar UA='Mozilla\/5.0 (Linux; Android 14) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/124.0.6367.82 Mobile Safari\/537.36';\nvar m='';\ntry{m=String(source.get('jmMode'));}catch(e1){}\nif(m==='null'||m==='undefined'){m='';}\nif(m===''){try{m=String(source.getVariable());}catch(e2){}if(m==='null'||m==='undefined'){m='';}}\nvar seg='comic';\nif(m==='小说'){seg='novel';}else if(m==='视频'){seg='mv';}\nreturn H+'\/'+seg+'\/all?key_word={{key}}&page={{page}}' + ',{\"headers\":{\"User-Agent\":\"' + UA + '\"},\"timeout\":20000}';\n})()",
"weight": 0
}