黄区

https://zwtoacvqie3.hq777.icu

nuo-an (15232)10/26 22:15

黄区聚合源:小说+视频。发现页按分类浏览,搜索固定搜视频。视频打开章节会弹出内置播放器;小说为图文正文。当前为镜像域名 zwtoacvqie3.hq777.icu,主站 huangqu.top。
by斯诺伤
二维码导入
{
    "bookSourceComment": "黄区聚合源:小说+视频。发现页按分类浏览,搜索固定搜视频。视频打开章节会弹出内置播放器;小说为图文正文。当前为镜像域名 zwtoacvqie3.hq777.icu,主站 huangqu.top。\nby斯诺伤",
    "bookSourceGroup": "聚合",
    "bookSourceName": "黄区",
    "bookSourceType": 0,
    "bookSourceUrl": "https:\/\/zwtoacvqie3.hq777.icu",
    "bookUrlPattern": "(xs_ls|videoplay)\/\\d+",
    "customButton": false,
    "customOrder": 1,
    "enabled": true,
    "enabledCookieJar": false,
    "enabledExplore": true,
    "eventListener": false,
    "exploreUrl": "[{\"title\": \"🟡 黄区\", \"style\": {\"layout_wrapBefore\": true, \"layout_flexGrow\": 1, \"layout_flexBasisPercent\": 1}}, {\"title\": \"━━━ 🏠 首页 ━━━\", \"style\": {\"layout_wrapBefore\": true, \"layout_flexGrow\": 1, \"layout_flexBasisPercent\": 1}}, {\"title\": \"🏠 首页推荐\", \"url\": \"https:\/\/zwtoacvqie3.hq777.icu\/\", \"style\": {\"layout_flexGrow\": 1, \"layout_flexBasisPercent\": 0.5}}, {\"title\": \"\", \"url\": \"\", \"style\": {\"layout_flexGrow\": 1, \"layout_flexBasisPercent\": 0.5}}, {\"title\": \"━━━ 📖 小说分类 ━━━\", \"style\": {\"layout_wrapBefore\": true, \"layout_flexGrow\": 1, \"layout_flexBasisPercent\": 1}}, {\"title\": \"小说首页\", \"url\": \"https:\/\/zwtoacvqie3.hq777.icu\/category\/66\/-{{page}}-\", \"style\": {\"layout_flexGrow\": 1, \"layout_flexBasisPercent\": 0.25}}, {\"title\": \"都市\", \"url\": \"https:\/\/zwtoacvqie3.hq777.icu\/category\/xiaoshuo\/69-{{page}}-\", \"style\": {\"layout_flexGrow\": 1, \"layout_flexBasisPercent\": 0.25}}, {\"title\": \"校园\", \"url\": \"https:\/\/zwtoacvqie3.hq777.icu\/category\/xiaoshuo\/70-{{page}}-\", \"style\": {\"layout_flexGrow\": 1, \"layout_flexBasisPercent\": 0.25}}, {\"title\": \"系统\", \"url\": \"https:\/\/zwtoacvqie3.hq777.icu\/category\/xiaoshuo\/72-{{page}}-\", \"style\": {\"layout_flexGrow\": 1, \"layout_flexBasisPercent\": 0.25}}, {\"title\": \"乱伦\", \"url\": \"https:\/\/zwtoacvqie3.hq777.icu\/category\/xiaoshuo\/73-{{page}}-\", \"style\": {\"layout_flexGrow\": 1, \"layout_flexBasisPercent\": 0.25}}, {\"title\": \"穿越\", \"url\": \"https:\/\/zwtoacvqie3.hq777.icu\/category\/xiaoshuo\/74-{{page}}-\", \"style\": {\"layout_flexGrow\": 1, \"layout_flexBasisPercent\": 0.25}}, {\"title\": \"武侠\", \"url\": \"https:\/\/zwtoacvqie3.hq777.icu\/category\/xiaoshuo\/75-{{page}}-\", \"style\": {\"layout_flexGrow\": 1, \"layout_flexBasisPercent\": 0.25}}, {\"title\": \"同人\", \"url\": \"https:\/\/zwtoacvqie3.hq777.icu\/category\/xiaoshuo\/76-{{page}}-\", \"style\": {\"layout_flexGrow\": 1, \"layout_flexBasisPercent\": 0.25}}, {\"title\": \"科幻\", \"url\": \"https:\/\/zwtoacvqie3.hq777.icu\/category\/xiaoshuo\/77-{{page}}-\", \"style\": {\"layout_flexGrow\": 1, \"layout_flexBasisPercent\": 0.25}}, {\"title\": \"玄幻\", \"url\": \"https:\/\/zwtoacvqie3.hq777.icu\/category\/xiaoshuo\/78-{{page}}-\", \"style\": {\"layout_flexGrow\": 1, \"layout_flexBasisPercent\": 0.25}}, {\"title\": \"明星\", \"url\": \"https:\/\/zwtoacvqie3.hq777.icu\/category\/xiaoshuo\/79-{{page}}-\", \"style\": {\"layout_flexGrow\": 1, \"layout_flexBasisPercent\": 0.25}}, {\"title\": \"历史\", \"url\": \"https:\/\/zwtoacvqie3.hq777.icu\/category\/xiaoshuo\/80-{{page}}-\", \"style\": {\"layout_flexGrow\": 1, \"layout_flexBasisPercent\": 0.25}}, {\"title\": \"奇幻\", \"url\": \"https:\/\/zwtoacvqie3.hq777.icu\/category\/xiaoshuo\/81-{{page}}-\", \"style\": {\"layout_flexGrow\": 1, \"layout_flexBasisPercent\": 0.25}}, {\"title\": \"贤者\", \"url\": \"https:\/\/zwtoacvqie3.hq777.icu\/category\/xiaoshuo\/82-{{page}}-\", \"style\": {\"layout_flexGrow\": 1, \"layout_flexBasisPercent\": 0.25}}, {\"title\": \"\", \"url\": \"\", \"style\": {\"layout_flexGrow\": 1, \"layout_flexBasisPercent\": 0.25}}, {\"title\": \"━━━ 🎬 视频分类 ━━━\", \"style\": {\"layout_wrapBefore\": true, \"layout_flexGrow\": 1, \"layout_flexBasisPercent\": 1}}, {\"title\": \"国产\", \"url\": \"https:\/\/zwtoacvqie3.hq777.icu\/category\/41\/---{{page}}\", \"style\": {\"layout_flexGrow\": 1, \"layout_flexBasisPercent\": 0.25}}, {\"title\": \"女优\", \"url\": \"https:\/\/zwtoacvqie3.hq777.icu\/category\/42\/---{{page}}\", \"style\": {\"layout_flexGrow\": 1, \"layout_flexBasisPercent\": 0.25}}, {\"title\": \"欧美\", \"url\": \"https:\/\/zwtoacvqie3.hq777.icu\/category\/43\/---{{page}}\", \"style\": {\"layout_flexGrow\": 1, \"layout_flexBasisPercent\": 0.25}}, {\"title\": \"自拍\", \"url\": \"https:\/\/zwtoacvqie3.hq777.icu\/category\/41\/45---{{page}}\", \"style\": {\"layout_flexGrow\": 1, \"layout_flexBasisPercent\": 0.25}}, {\"title\": \"泄密\", \"url\": \"https:\/\/zwtoacvqie3.hq777.icu\/category\/41\/59---{{page}}\", \"style\": {\"layout_flexGrow\": 1, \"layout_flexBasisPercent\": 0.25}}, {\"title\": \"原创\", \"url\": \"https:\/\/zwtoacvqie3.hq777.icu\/category\/41\/46---{{page}}\", \"style\": {\"layout_flexGrow\": 1, \"layout_flexBasisPercent\": 0.25}}, {\"title\": \"淫妻\", \"url\": \"https:\/\/zwtoacvqie3.hq777.icu\/category\/41\/47---{{page}}\", \"style\": {\"layout_flexGrow\": 1, \"layout_flexBasisPercent\": 0.25}}, {\"title\": \"青年\", \"url\": \"https:\/\/zwtoacvqie3.hq777.icu\/category\/41\/48---{{page}}\", \"style\": {\"layout_flexGrow\": 1, \"layout_flexBasisPercent\": 0.25}}, {\"title\": \"精品\", \"url\": \"https:\/\/zwtoacvqie3.hq777.icu\/category\/41\/49---{{page}}\", \"style\": {\"layout_flexGrow\": 1, \"layout_flexBasisPercent\": 0.25}}, {\"title\": \"换脸\", \"url\": \"https:\/\/zwtoacvqie3.hq777.icu\/category\/41\/62---{{page}}\", \"style\": {\"layout_flexGrow\": 1, \"layout_flexBasisPercent\": 0.25}}, {\"title\": \"\", \"url\": \"\", \"style\": {\"layout_flexGrow\": 1, \"layout_flexBasisPercent\": 0.25}}, {\"title\": \"\", \"url\": \"\", \"style\": {\"layout_flexGrow\": 1, \"layout_flexBasisPercent\": 0.25}}]",
    "header": "{\"User-Agent\": \"Mozilla\/5.0 (Linux; Android 12; V2283A) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/120.0.0.0 Mobile Safari\/537.36\", \"Referer\": \"https:\/\/zwtoacvqie3.hq777.icu\/\"}",
    "jsLib": "var HQ_HOST = 'https:\/\/zwtoacvqie3.hq777.icu';\nvar HQ_KEY = 'UC2FmMyG928hRZY4';\nfunction hqDecode(html) {\n  try {\n    var m = String(html).match(\/APP\\.Index\\('([A-Za-z0-9_-]+)'\\)\/);\n    if (!m) return null;\n    var b64 = m[1].replace(\/-\/g, '+').replace(\/_\/g, '\/');\n    while (b64.length % 4) b64 += '=';\n    var raw = Packages.android.util.Base64.decode(b64, 2);\n    var i;\n    for (i = 0; i < raw.length; i++) raw[i] = raw[i] ^ HQ_KEY.charCodeAt(i % HQ_KEY.length);\n    var bytes;\n    if (raw[0] == 1) {\n      var inf = new Packages.java.util.zip.Inflater(true);\n      inf.setInput(raw, 1, raw.length - 1);\n      var out = new Packages.java.io.ByteArrayOutputStream();\n      var buf = Packages.java.lang.reflect.Array.newInstance(Packages.java.lang.Byte.TYPE, 8192);\n      var n;\n      while (!inf.finished()) {\n        n = inf.inflate(buf);\n        if (n <= 0) break;\n        out.write(buf, 0, n);\n      }\n      inf.end();\n      bytes = out.toByteArray();\n    } else {\n      bytes = Packages.java.util.Arrays.copyOfRange(raw, 1, raw.length);\n    }\n    return JSON.parse(String(new Packages.java.lang.String(bytes, 'UTF-8')));\n  } catch (e) { return null; }\n}\nfunction hqEsc(s) {\n  return String(s == null ? '' : s).replace(\/&\/g, '&amp;').replace(\/<\/g, '&lt;').replace(\/>\/g, '&gt;').replace(\/\"\/g, '&quot;');\n}\nfunction hqStrip(s) {\n  return String(s == null ? '' : s).replace(\/<[^>]+>\/g, '');\n}\nfunction hqItems(data) {\n  var arr = [];\n  if (!data) return arr;\n  var lists = [];\n  if (data.list) lists.push(data.list);\n  if (data.book && data.book.list) lists.push(data.book.list);\n  if (data.vod && data.vod.list) lists.push(data.vod.list);\n  if (data.new_vod && data.new_vod.list) lists.push(data.new_vod.list);\n  if (data.cnxh_list && data.cnxh_list.list) lists.push(data.cnxh_list.list);\n  var i, j, it;\n  for (i = 0; i < lists.length; i++) {\n    for (j = 0; j < lists[i].length; j++) {\n      it = lists[i][j];\n      if (it.book_id_attr != null) {\n        arr.push({ t: 'novel', id: '' + it.book_id_attr, name: it.name || '', pic: it.pic || it.picx || '', author: it.author || '', intro: it.notice || it.content || '', extra: it.tags || '' });\n      } else if (it.vod_id != null) {\n        arr.push({ t: 'vod', id: '' + it.vod_id, name: it.vod_name || '', pic: it.vod_pic || '', author: it.vod_author || it.user_name || '', intro: it.vod_blurb || '', extra: it.vod_duration || it.vod_remarks || '' });\n      }\n    }\n  }\n  return arr;\n}\nfunction hqCards(items) {\n  var s = '', i, it;\n  for (i = 0; i < items.length; i++) {\n    it = items[i];\n    s += '<div class=\"hq-item\" data-t=\"' + it.t + '\" data-id=\"' + it.id + '\">'\n      + '<span class=\"hq-name\">' + hqEsc(it.name) + '<\/span>'\n      + '<img class=\"hq-pic\" src=\"' + hqEsc(it.pic) + '\">'\n      + '<span class=\"hq-author\">' + hqEsc(it.author) + '<\/span>'\n      + '<span class=\"hq-intro\">' + hqEsc(String(it.intro).slice(0, 200)) + '<\/span>'\n      + '<span class=\"hq-extra\">' + hqEsc(it.extra) + '<\/span><\/div>';\n  }\n  return s;\n}",
    "lastUpdateTime": "1793024101152",
    "respondTime": 180000,
    "ruleBookInfo": {
        "author": "@js:\n(function () {\n  var u = String(baseUrl);\n  if (u.indexOf('\/videoplay\/') >= 0) {\n    var d = hqDecode(result);\n    return (d && d.info) ? String(d.info.vod_author || d.info.user_name || '') : '';\n  }\n  return '';\n})()",
        "coverUrl": "@js:\n(function () {\n  var u = String(baseUrl);\n  if (u.indexOf('\/videoplay\/') >= 0) {\n    var d = hqDecode(result);\n    return (d && d.info) ? String(d.info.vod_pic || '') : '';\n  }\n  var doc = org.jsoup.Jsoup.parse(String(result));\n  var img = doc.select('img[alt]');\n  return img.size() > 0 ? String(img.get(0).attr('src')) : '';\n})()",
        "intro": "@js:\n(function () {\n  var u = String(baseUrl);\n  if (u.indexOf('\/videoplay\/') >= 0) {\n    var d = hqDecode(result);\n    if (!d || !d.info) return '';\n    var s = d.info.vod_blurb || hqStrip(d.info.vod_content);\n    return String(s || '').slice(0, 300);\n  }\n  var doc = org.jsoup.Jsoup.parse(String(result));\n  var el = doc.select('.desc');\n  return el.size() > 0 ? String(el.get(0).text()) : '';\n})()",
        "kind": "@js:\n(function () {\n  var u = String(baseUrl);\n  if (u.indexOf('\/videoplay\/') >= 0) {\n    var d = hqDecode(result);\n    if (!d || !d.info) return '';\n    var cls = d.info.vod_class || [];\n    var s = cls.slice(0, 4).join(',');\n    if (d.info.vod_year) s += (s ? ',' : '') + d.info.vod_year;\n    return s;\n  }\n  var doc = org.jsoup.Jsoup.parse(String(result));\n  var txt = String(doc.select('.top .fix').text());\n  var parts = [];\n  var m1 = txt.match(\/\\u7c7b\\s*\\u522b\\uff1a(\\S+)\/);\n  if (m1) parts.push(m1[1]);\n  var m2 = txt.match(\/\\u72b6\\s*\\u6001\\uff1a(\\S+)\/);\n  if (m2) parts.push(m2[1]);\n  return parts.join(',');\n})()",
        "lastChapter": "@js:\n(function () {\n  var u = String(baseUrl);\n  if (u.indexOf('\/videoplay\/') >= 0) {\n    var d = hqDecode(result);\n    if (!d || !d.info) return '';\n    return d.info.vod_duration ? ('时长 ' + d.info.vod_duration) : String(d.info.vod_remarks || '');\n  }\n  var doc = org.jsoup.Jsoup.parse(String(result));\n  var ps = doc.select('.top .fix p');\n  var i, t;\n  for (i = 0; i < ps.size(); i++) {\n    t = String(ps.get(i).text());\n    if (t.indexOf('最新') >= 0) {\n      var a = ps.get(i).select('a');\n      return a.size() > 0 ? String(a.get(0).text()) : '';\n    }\n  }\n  return '';\n})()",
        "name": "@js:\n(function () {\n  var u = String(baseUrl);\n  if (u.indexOf('\/videoplay\/') >= 0) {\n    var d = hqDecode(result);\n    return (d && d.info) ? String(d.info.vod_name || '') : '';\n  }\n  var doc = org.jsoup.Jsoup.parse(String(result));\n  var p = doc.select('.top .fix p');\n  if (p.size() > 0) return String(p.get(0).text()).replace(\/^\\u4e66\\s*\\u540d\\uff1a\/, '').replace(\/^\\s+|\\s+$\/g, '');\n  var img = doc.select('img[alt]');\n  return img.size() > 0 ? String(img.get(0).attr('alt')) : '';\n})()"
    },
    "ruleContent": {
        "content": "@js:\n(function () {\n  var u = String(baseUrl);\n  var NL = String.fromCharCode(10);\n  if (u.indexOf('\/videoplay\/') >= 0) {\n    var d = hqDecode(result);\n    if (!d || !d.info) return '详情数据解析失败,请刷新重试';\n    var url = d.info.vod_play_url || '';\n    if (!url) return '该视频暂无免费直链(可能需要付费),请到原站观看:' + NL + u;\n    if (book.durChapterIndex == chapter.index) {\n      var pic = d.info.vod_pic || '';\n      var html = '<html><head><meta charset=\"utf-8\"><meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">'\n        + '<style>html,body{margin:0;padding:0;background:#000;height:100%}video{width:100%;height:100%;object-fit:contain}<\/style><\/head>'\n        + '<body><video src=\"' + url + '\" poster=\"' + pic + '\" controls autoplay playsinline><\/video><\/body><\/html>';\n      try { java.startBrowser('about:blank', String(book.name || '播放'), html); } catch (e) {}\n    }\n    return '\\u25b6 ' + String(d.info.vod_name || '') + NL + NL + '播放器已打开;若未弹出,可复制下方地址到手机浏览器打开:' + NL + url;\n  }\n  var doc = org.jsoup.Jsoup.parse(String(result));\n  var el = doc.select('#art-content');\n  if (!el.size()) return '正文解析失败';\n  var box = el.get(0);\n  var bad = box.select('script,ins,iframe,style');\n  var i;\n  for (i = 0; i < bad.size(); i++) bad.get(i).remove();\n  return box.html();\n})()"
    },
    "ruleExplore": {
        "author": ".hq-author@text",
        "bookList": "@js:\n(function () {\n  var data = hqDecode(result);\n  var items = hqItems(data);\n  var doc = org.jsoup.Jsoup.parseBodyFragment(hqCards(items));\n  return doc.select('.hq-item');\n})()",
        "bookUrl": "@js:\n(function () {\n  var s = String(result);\n  var t = (s.match(\/data-t=\"(\\w+)\"\/) || [])[1];\n  var id = (s.match(\/data-id=\"(\\d+)\"\/) || [])[1];\n  if (!id) return '';\n  return t === 'novel' ? 'https:\/\/zwtoacvqie3.hq777.icu\/xs_ls\/' + id : 'https:\/\/zwtoacvqie3.hq777.icu\/videoplay\/' + id;\n})()",
        "coverUrl": ".hq-pic@src",
        "intro": ".hq-intro@text",
        "kind": ".hq-extra@text",
        "name": ".hq-name@text"
    },
    "ruleSearch": {
        "bookList": "@js:\n(function () {\n  var doc = org.jsoup.Jsoup.parse(String(result));\n  var els = new org.jsoup.select.Elements();\n  els.addAll(doc.select('.novel-grid-item'));\n  els.addAll(doc.select('.videoGridH-item'));\n  return els;\n})()",
        "bookUrl": "@js:\n(function () {\n  var s = String(result);\n  var m = s.match(\/href=\"(\\\/xs_ls\\\/\\d+)\"\/);\n  if (m) return 'https:\/\/zwtoacvqie3.hq777.icu' + m[1];\n  m = s.match(\/redirect_vod\\('(\\d+)'\\)\/);\n  if (m) return 'https:\/\/zwtoacvqie3.hq777.icu\/videoplay\/' + m[1];\n  return '';\n})()",
        "checkKeyWord": "美女",
        "coverUrl": "@js:\n(function () {\n  var m = String(result).match(\/<img[^>]*src=\"([^\"]+)\"\/);\n  return m ? m[1] : '';\n})()",
        "name": "@js:\n(function () {\n  var s = String(result);\n  var m = s.match(\/novel-grid-item-title\">([^<]+)\/) || s.match(\/videoGridH-item-title\">([^<]+)\/);\n  return m ? m[1] : '';\n})()"
    },
    "ruleToc": {
        "chapterList": "@js:\n(function () {\n  var u = String(baseUrl);\n  book.type = 8;\n  if (u.indexOf('\/videoplay\/') >= 0) {\n    var d = hqDecode(result);\n    var nm = (d && d.info && d.info.vod_name) || book.name || '播放';\n    var els = new org.jsoup.select.Elements();\n    var a = new org.jsoup.nodes.Element('a');\n    a.attr('href', u);\n    a.text('\\u25b6 ' + nm);\n    els.add(a);\n    return els;\n  }\n  var doc = org.jsoup.Jsoup.parse(String(result));\n  return doc.select('#myList li a');\n})()",
        "chapterName": "@text",
        "chapterUrl": "@href"
    },
    "searchUrl": "https:\/\/zwtoacvqie3.hq777.icu\/so\/video\/{{key}}\/{{page}}",
    "weight": 0
}
广告