[
  {
    "articleStyle": 0,
    "cacheFirst": false,
    "customOrder": 2,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 1782961017187,
    "loadWithBaseUrl": true,
    "preload": false,
    "showWebLog": false,
    "singleUrl": true,
    "sourceGroup": "Legado",
    "sourceIcon": "https://legado.erchuang.online/favicon.ico",
    "sourceName": "阅读 · 全版本汇总",
    "sourceUrl": "https://legado.erchuang.online/",
    "type": 0
  },
  {
    "articleStyle": 0,
    "cacheFirst": false,
    "customOrder": 8,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 1793540301641,
    "loadWithBaseUrl": true,
    "preload": false,
    "ruleArticles": ".layui-card-body@.ylist",
    "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>",
    "ruleLink": "a@href",
    "ruleNextPage": "page",
    "rulePubDate": "tag.p.2@text||tag.p.1@text##\\s##···",
    "ruleTitle": "h2@a@text",
    "showWebLog": false,
    "singleUrl": false,
    "sortUrl": "书源::https://www.yckceo.com/yuedu/shuyuan/index.html?page={{page}}\n\n订阅源::https://www.yckceo.com/yuedu/rss/index.html?page={{page}}\n\n书源合集::https://www.yckceo.com/yuedu/shuyuans/index.html?page={{page}}\n\n订阅源合集::https://www.yckceo.com/yuedu/rsss/index.html?page={{page}}",
    "sourceComment": "如果不需要自动导入 描述规则删除<iframe ...></iframe>即可",
    "sourceIcon": "https://www.yckceo.com/favicon.ico",
    "sourceName": "源仓库\n[超简版]",
    "sourceUrl": "https://www.yckceo.com/##",
    "type": 0
  },
  {
    "articleStyle": 0,
    "cacheFirst": false,
    "customOrder": 10,
    "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": 1793068268228,
    "loadWithBaseUrl": true,
    "preload": false,
    "showWebLog": false,
    "singleUrl": true,
    "sourceGroup": "论坛",
    "sourceIcon": "https://cdn.magicalapk.com/topic_cover/deal/6224000280906.png",
    "sourceName": "源论坛",
    "sourceUrl": "https://ycoo.net/",
    "type": 0
  },
  {
    "articleStyle": 0,
    "cacheFirst": false,
    "customOrder": 11,
    "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": 1793085178402,
    "loadWithBaseUrl": true,
    "preload": false,
    "showWebLog": false,
    "singleUrl": true,
    "sourceGroup": "论坛",
    "sourceIcon": "https://cdn.magicalapk.com/topic_cover/deal/266869769575748.png",
    "sourceName": "MT论坛",
    "sourceUrl": "https://bbs.binmt.cc/",
    "type": 0
  },
  {
    "articleStyle": 0,
    "cacheFirst": false,
    "customOrder": 12,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 1793560792023,
    "loadWithBaseUrl": true,
    "preload": false,
    "ruleArticles": "tag.article",
    "ruleImage": "class.focus@tag.img@data-src",
    "ruleLink": "class.focus@href",
    "ruleNextPage": "text.下一页@href",
    "rulePubDate": "class.cat@text&&tag.time@text",
    "ruleTitle": "tag.h2.tag.a@text",
    "showWebLog": false,
    "singleUrl": false,
    "sourceIcon": "https://cdn.magicalapk.com/topic_cover/deal/567136142610268.jpg",
    "sourceName": "福利吧",
    "sourceUrl": "http://fulibus.net/",
    "type": 0
  },
  {
    "articleStyle": 0,
    "cacheFirst": false,
    "customOrder": 13,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 1793560399577,
    "loadWithBaseUrl": true,
    "preload": false,
    "ruleArticles": "$.itemList",
    "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",
    "showWebLog": false,
    "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",
    "sourceComment": "网址：https://m.eyepetizer.net/",
    "sourceGroup": "📰 资讯",
    "sourceIcon": "https://cdn.magicalapk.com/topic_cover/deal/571558255579310.jpg",
    "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",
    "type": 0
  },
  {
    "articleStyle": 0,
    "cacheFirst": false,
    "customOrder": 14,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 1793560727306,
    "loadWithBaseUrl": true,
    "preload": false,
    "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 \"]",
    "ruleImage": "//div/a[1]/div/div[1]/img/@data-src",
    "ruleLink": "//div/a[1]/@href",
    "ruleTitle": "//div/strong/text()",
    "showWebLog": false,
    "singleUrl": true,
    "sourceGroup": "ai工具集",
    "sourceIcon": "https://cdn.magicalapk.com/topic_cover/deal/561510217783352.jpg",
    "sourceName": "AI-导航",
    "sourceUrl": "https://www.ainav.cn/",
    "type": 0
  },
  {
    "articleStyle": 0,
    "cacheFirst": false,
    "customOrder": 15,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 1793540763086,
    "loadWithBaseUrl": true,
    "preload": false,
    "ruleArticles": "//*[@id=\"post-item-tools\"]/div[2]/ul/li",
    "ruleImage": "//picture/source/@data-srcset",
    "ruleLink": "//h2/a/@href",
    "ruleNextPage": "//*[@id=\"post-item-tools\"]/div[3]/button/@class",
    "ruleTitle": "//h2/a/text()",
    "showWebLog": false,
    "singleUrl": true,
    "sourceGroup": "ai工具",
    "sourceIcon": "https://cdn.magicalapk.com/topic_cover/deal/562086168812663.jpg",
    "sourceName": "AI-Hub",
    "sourceUrl": "https://www.aihub.cn/",
    "type": 0
  },
  {
    "articleStyle": 0,
    "cacheFirst": false,
    "customOrder": 16,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 1793529095020,
    "loadWithBaseUrl": true,
    "preload": false,
    "ruleArticles": "$.pins",
    "ruleContent": "<style>\nbody{\npadding:10px;\nline-height:2em;\nletter-spacing:2px;\nbackground:floralwhite;\nfont-family: sans-serif-Helvetica;\n}\np{ \ntext-indent:2em;\n}\na {\ncolor: grey;\ntext-decoration:none;\n}\nh1{\ntext-align:center;\nfont-size:20px;\nline-height:1.5em;\n}\nimg{padding:5px 0;max-width:100% !important;width:auto;height:auto;}\n</style>\n<div>\n<h1>{$.pin.board.title}</h1>\n<p>By：{$.pin.user.username}</p>\n<p>{$.pin.raw_text}</p>\n<p>{$.pin.board.description}</p>\n<img src=\"https://hbimg.huabanimg.com//{$.pin.file.key}\"/>\n<p>相关推荐：</p>\n<img src=\"https://hbimg.huabanimg.com//{$.pin.board.pins[0].file.key}\"/>\n<img src=\"https://hbimg.huabanimg.com//{$.pin.board.pins[1].file.key}\"/>\n<img src=\"https://hbimg.huabanimg.com//{$.pin.board.pins[2].file.key}\"/>\n<img src=\"https://hbimg.huabanimg.com//{$.pin.board.pins[3].file.key}\"/>\n<div><a href=\"https://huaban.com/pins/{$.pin.pin_id}\">阅读原文</a></div>\n</div>",
    "ruleImage": "https://hbimg.huabanimg.com//{$.file.key}",
    "ruleLink": "https://api.huaban.com/pins/{$.pin_id}",
    "rulePubDate": "$.created_at@js:(new Date(result*1000)).toLocaleDateString();",
    "ruleTitle": "$.board.title",
    "showWebLog": false,
    "singleUrl": false,
    "sortUrl": "热门::https://api.huaban.com/popular?limit=100\n旅行::https://api.huaban.com/favorite/travel_places?limit=100\n美图::https://api.huaban.com/favorite/quotes?limit=100\n美女::https://api.huaban.com/favorite/beauty?limit=100\n漫画::https://api.huaban.com/favorite/illustration?limit=100\n动漫::https://api.huaban.com/favorite/anime?limit=100",
    "sourceGroup": "🗾 美图",
    "sourceIcon": "https://hbimg.huabanimg.com//6b7b7456a3cb7b1b149be2463dca29c18e8c03c2bd0c-DcxKZ5_/sq/150/gifto/true/format/webp",
    "sourceName": "花瓣\n合集",
    "sourceUrl": "https://api.huaban.com",
    "type": 0
  },
  {
    "articleStyle": 0,
    "cacheFirst": false,
    "customOrder": 17,
    "enableJs": true,
    "enabled": false,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "preload": false,
    "showWebLog": false,
    "singleUrl": true,
    "sourceGroup": "🎬 大陆",
    "sourceIcon": "https://cdn.329tv.net/template/my22/statics/img/favicon.png",
    "sourceName": "329影城",
    "sourceUrl": "https://329tv.net",
    "type": 0
  },
  {
    "articleStyle": 0,
    "cacheFirst": false,
    "customOrder": 18,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 1793557258952,
    "loadWithBaseUrl": true,
    "preload": false,
    "showWebLog": false,
    "singleUrl": true,
    "sourceGroup": "🎬 大陆，影视",
    "sourceIcon": "https://www.mayiyingshi.com/statics/img/favicon.ico",
    "sourceName": "蚂蚁影视",
    "sourceUrl": "https://www.mayiyingshi.com",
    "type": 0
  },
  {
    "articleStyle": 0,
    "cacheFirst": false,
    "customOrder": 19,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 1793557253084,
    "loadWithBaseUrl": true,
    "preload": false,
    "showWebLog": false,
    "singleUrl": true,
    "sourceGroup": "🎬 大陆，影视",
    "sourceIcon": "https://cdn.wyteam.net/webapps/maccms/template/blueghost/img/favicon.ico",
    "sourceName": "APP影院",
    "sourceUrl": "https://app.movie",
    "type": 0
  },
  {
    "articleStyle": 0,
    "cacheFirst": false,
    "customOrder": 20,
    "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": 1793557245736,
    "loadWithBaseUrl": true,
    "preload": false,
    "showWebLog": false,
    "singleUrl": true,
    "sourceGroup": "🎬 大陆，影视",
    "sourceIcon": "https://legado.cn/template/comiis_app/pic/icon114.png",
    "sourceName": "爱城影视",
    "sourceUrl": "https://90hd.top?from=VIP",
    "type": 0
  },
  {
    "articleStyle": 0,
    "cacheFirst": false,
    "customOrder": 21,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "preload": false,
    "ruleArticles": "",
    "ruleContent": "",
    "ruleImage": "",
    "ruleLink": "",
    "rulePubDate": "",
    "ruleTitle": "",
    "showWebLog": false,
    "singleUrl": true,
    "sortUrl": "",
    "sourceGroup": "时事",
    "sourceIcon": "https://file.thepaper.cn/wap/v3/img/deskicon.png",
    "sourceName": "澎湃新闻",
    "sourceUrl": "https://m.thepaper.cn",
    "type": 0
  },
  {
    "articleStyle": 0,
    "cacheFirst": false,
    "customOrder": 22,
    "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": 1793503690214,
    "loadWithBaseUrl": true,
    "preload": false,
    "showWebLog": false,
    "singleUrl": true,
    "sourceGroup": "🌐 新闻",
    "sourceIcon": "http://m.people.cn/img/WIRELESS/2016/06/218/images/tip-logo.png",
    "sourceName": "人民网",
    "sourceUrl": "http://m.people.cn",
    "type": 0
  },
  {
    "articleStyle": 0,
    "cacheFirst": false,
    "customOrder": 23,
    "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": 1793503669318,
    "loadWithBaseUrl": true,
    "preload": false,
    "showWebLog": false,
    "singleUrl": true,
    "sourceGroup": "🌐 新闻",
    "sourceIcon": "https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=838111592,1726027923&fm=26&gp=0.jpg",
    "sourceName": "环球网",
    "sourceUrl": "https://www.huanqiu.com",
    "type": 0
  },
  {
    "articleStyle": 0,
    "cacheFirst": false,
    "customOrder": 24,
    "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": 1793503653396,
    "loadWithBaseUrl": true,
    "preload": false,
    "showWebLog": false,
    "singleUrl": true,
    "sourceGroup": "时事",
    "sourceIcon": "https://p3.ssl.qhimgs1.com/t01b3884c2667659e59.gif",
    "sourceName": "百度风云",
    "sourceUrl": "http://top.baidu.com",
    "type": 0
  },
  {
    "articleStyle": 0,
    "cacheFirst": false,
    "customOrder": 28,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 1793486416323,
    "loadWithBaseUrl": true,
    "preload": false,
    "showWebLog": false,
    "singleUrl": true,
    "sourceIcon": "https://cdn.magicalapk.com/topic_cover/deal/530532280989752.jpg",
    "sourceName": "智能电视论坛",
    "sourceUrl": "https://www.znds.com/",
    "type": 0
  },
  {
    "articleStyle": 0,
    "cacheFirst": false,
    "customOrder": 33,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 1793513463875,
    "loadWithBaseUrl": true,
    "preload": false,
    "showWebLog": false,
    "singleUrl": true,
    "sourceGroup": "动漫",
    "sourceIcon": "https://cdn.magicalapk.com/topic_cover/deal/544512199012909.jpg",
    "sourceName": "漫展资讯",
    "sourceUrl": "https://cos.cosplayla.com/",
    "type": 0
  },
  {
    "articleStyle": 0,
    "cacheFirst": false,
    "customOrder": 34,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 1793513005501,
    "loadWithBaseUrl": true,
    "preload": false,
    "showWebLog": false,
    "singleUrl": true,
    "sourceGroup": "动漫",
    "sourceIcon": "https://cdn.magicalapk.com/topic_cover/deal/466165798284462.jpg",
    "sourceName": "Acg17",
    "sourceUrl": "https://acg17.com/",
    "type": 0
  },
  {
    "articleStyle": 0,
    "cacheFirst": false,
    "customOrder": 37,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "@js:\nlet days=Math.floor(Date.now()/(1000*60*60*24))+[];\nlet mydm=`\ntry {\nlet surls = source.getLoginInfoMap();\nlet url=(((surls['日历链接']||'')+'')||\"https://api.zxki.cn/api/myrl\")+'';\nlet url2=(((surls['天气链接']||'')+'')||\"https://api.zxki.cn/api/ipqm\")+'';\nresult=html(url,url2,java.timeFormatUTC(Date.now(),'yy/MM/dd HH:mm',8*36e5));\n} catch (err) {java.longToast(''+err);}`;\ncache.putMemory('myrldm',mydm);\nif (cache.get('myrlop')!=days&&!cache.getFromMemory('myrlmr')) {\n\tcache.putMemory('myrlmr',true);\n\tcache.put('myrlop', days);\n\teval(cache.getFromMemory('myrldm')+'');\n\ttry {\n\tjava.startBrowserAwait(result,'摸鱼日历',false);}catch (e) {}\n\t}\nJSON.stringify({'User-Agent':java.getWebViewUA().replaceAll(\"; wv| Version\\/4.0\",'')});",
    "jsLib": "function html(xx,yy,zz) {\nlet lycht=String.raw`\n<html>\n<head>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=no\">\n<meta name=\"referrer\" content=\"no-referrer\">\n    <title>${zz}</title>\n    <style>\n        body {\n            display: flex;\n            flex-direction: column;\n            align-items: center;\n            height: 100%;\n            min-height: 80vh;\n            margin: 0;\n        }\n        #tu1 {\n        \twidth: 100vw;\n        \tmargin: 0;}\n        \t#tu1>img {\n        \twidth: 100%;\n        \theight: auto;}\n        #tu2 {\n        \twidth: 100vw;\n        \toverflow: hidden;\n        \tmargin: 0;}\n        #tu2>img {\n        \twidth: 100%;\n        \theight: 100%;\n        \tobject-fit: cover;\n        \tobject-position: center 100%;}\n    </style>\n</head>\n<body>\n<div id=\"tu1\">\n<img src=\"${xx}\" alt=\"日历未加载\">\n</div>\n<div id=\"tu2\">\n<img ${/^[0n]/.test(yy)?'hidden':''} src=\"${yy}\" alt=\"天气未加载\">\n</div>\n<script>\ndocument.addEventListener('DOMContentLoaded', () => {\n  document.querySelectorAll('img').forEach(img => {\n  \tlet url=img.src;\n  \tif (/^http/i.test(url)) {\n    img.addEventListener('error', function() {\n      retryImageLoad(this,5);\n    });\n    img.dataset.originalSrc = url;\n    }\n  });\n});\nfunction retryImageLoad(img, maxRetries = 3) {\n    let retryCount = parseInt(img.dataset.retryCount) || 0;\n    if (retryCount >= maxRetries) {\n    \twindow.close();\n    \treturn;\n    }\n    img.dataset.retryCount = ++retryCount;\n    const newSrc = img.dataset.originalSrc + \n                  '?retry=' + Date.now();\n    // 延迟重试\n    setTimeout(() => {\n      img.src = newSrc;\n      img.alt = img.alt+'，重试'+retryCount+'次';\n    }, 3**retryCount*30);\n  }\n</script>\n</body>\n</html>`;\nreturn `data:text/html;base64,${this.java.base64Encode(lycht)}`;\n}",
    "lastUpdateTime": 1793541504826,
    "loadWithBaseUrl": false,
    "loginUi": "[\n {\n \t \"name\": \"日历链接\",\n \t \"type\": \"text\"\n \t},\n {\n  \"name\": \"天气链接\",\n  \"type\": \"text\"\n },\n {\n \t\"name\": \"💬说明\",\n \t\"type\": \"button\",\n \t\"action\": \"java.longToast(`\n可自定义填写图片链接\n天气链接填写0或null关闭天气图加载`);\",\n \t\"style\": {\n \t\t\"layout_flexGrow\": 0,\n \t\t\"layout_flexBasisPercent\": -1,\n \t\t\"layout_wrapBefore\": true}\n \t}\n]",
    "loginUrl": "function login(){}",
    "preload": false,
    "showWebLog": false,
    "singleUrl": true,
    "sourceComment": "let banben=\"0.0.5\";\n//韩小韩接口api.vvhan.com\n//酷酷api api.zxki.cn",
    "sourceIcon": "https://cdn.magicalapk.com/topic_cover/deal/562863856603877.jpg",
    "sourceName": "摸鱼日历",
    "sourceUrl": "http@js:eval(cache.getFromMemory('myrldm')+'')",
    "type": 0
  },
  {
    "articleStyle": 0,
    "cacheFirst": false,
    "customOrder": 41,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "{\r\n\"User-Agent\": \"Dalvik/2.1.0 (Linux; U; Android 7.1.2; BAH3-W09 Build/N2G47H)\"\r\n}",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "preload": false,
    "ruleArticles": "$.result.newsList",
    "ruleContent": "<js>\nhtml='';\r\nnurl=[];\r\nbase=\"https://www.banyuetanapp.com/\";\r\nnurl.push(base+\"{{$.result.htmlUrl}},{'retry':16}\")\t\r\njava.log(base+\"{{$.result.htmlUrl}},{'retry':16}\")\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>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\">\n{{result}}",
    "ruleImage": "https://www.banyuetanapp.com/{{$.imgUrlForList}}",
    "ruleLink": "https://www.banyuetanapp.com/byt-api/news/newsDetail?newsId={{$.id}}",
    "ruleNextPage": "page",
    "rulePubDate": "{{java.timeFormatUTC(java.getString(\"startTime\"),\"YYYY-MM-dd HH:mm:ss\",8)}}",
    "ruleTitle": "$.title",
    "showWebLog": false,
    "singleUrl": false,
    "sortUrl": "今日谈::byt-api/news/newsListV2?startTime=0&channelId=100000001&pageNo={{page}}&pageSize=1000\n时政讲解::byt-api/news/newsListV2?startTime=0&channelId=100000002&pageNo={{page}}&pageSize=1000\n军事::byt-api/news/newsListV2?startTime=0&channelId=100000020&pageNo={{page}}&pageSize=1000\n国际::byt-api/news/newsListV2?startTime=0&channelId=100000027&pageNo={{page}}&pageSize=1000\n基层治理::byt-api/news/newsListV2?startTime=0&channelId=100000015&pageNo={{page}}&pageSize=1000\n文化::byt-api/news/newsListV2?startTime=0&channelId=100000004&pageNo={{page}}&pageSize=1000\n教育::byt-api/news/newsListV2?startTime=0&channelId=100000005&pageNo={{page}}&pageSize=1000\n经济::byt-api/news/newsListV2?startTime=0&channelId=100000017&pageNo={{page}}&pageSize=1000\n人物::byt-api/news/newsListV2?startTime=0&channelId=100000019&pageNo={{page}}&pageSize=1000\n思想::byt-api/news/newsListV2?startTime=0&channelId=100000022&pageNo={{page}}&pageSize=1000\n民生::byt-api/news/newsListV2?startTime=0&channelId=100000032&pageNo={{page}}&pageSize=1000",
    "sourceIcon": "https://www.banyuetanapp.com/source/image/logo/um_share_logo.png",
    "sourceName": "半月谈",
    "sourceUrl": "https://www.banyuetanapp.com/",
    "type": 0
  },
  {
    "articleStyle": 0,
    "cacheFirst": false,
    "customOrder": 42,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 1792912083106,
    "loadWithBaseUrl": true,
    "preload": false,
    "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",
    "showWebLog": false,
    "singleUrl": false,
    "sortUrl": "在线::https://pan.miaogongzi.net/【https://cdn.jsdelivr.net/gh/mgz0227/meowcloud/icon.png】《meow云》◎喵公子推荐网盘◎★https://mu-jie.cc/musicBox/#/【https://mu-jie.cc/musicBox/assets/logo-512-C3jyh2N_.png】《枫叶音乐盒》◎小众听歌网站◎★https://panyq.com/【http://img0.baidu.com/it/u=4121863832,2003009236&fm=253&fmt=auto&app=138&f=PNG?w=243&h=243】《盘有圈》◎在线搜索网盘◎★https://game.hullqin.cn/【https://fe-1255520126.file.myqcloud.com/game/logo-ed8a0a.svg】《桌游合集》◎感谢syiism大佬提供链接◎★https://oldswf.com/【https://oldswf.com/css/move.gif】《oldswf小游戏》◎无需安装flash即可在线游玩的小游戏站◎★https://xiangqiai.com/#/【http://i2.hdslb.com/bfs/archive/a01e9ad7c3dfeba358eb53309692291a5a69e942.jpg】《皮卡鱼》◎象棋ai在线分析◎★https://www.gomocalc.com/#/【https://i0.hdslb.com/bfs/new_dyn/b73761524d7d856a0333c21e1c16d9b51317919181.jpg@.webp】《五子棋计算器》◎gomoku calculator◎★https://xionghan.online/zhongmei.html【https://xionghan.online/zhongmei-board.png】《中美象棋》◎象棋新玩法◎\n\n导航::https://549.tv/【https://bpic.51yuansu.com/pic3/cover/01/56/39/594cb53471e12_610.jpg?x-oss-process=image/resize,w_260/sharpen,100】《幻影导航页》◎影视资源导航◎★https://m.bidianer.com/【https://gips1.baidu.com/it/u=1129453011,2142284944&fm=3028&app=3028&f=PNG&fmt=auto&q=100&size=f303_96】《笔点》◎综合网址导航◎★https://www.lovejay.top/【https://www.lovejay.top/wp-content/uploads/2024/03/%E8%B5%84%E6%BA%90%E5%BA%93logo%E5%B0%8F-1.png】《Jay的工具箱》◎互联网资源集大成者◎★https://qinggongju.com/【https://wp.qinggongju.com/wp-content/uploads/2023/11/logo3.png】《轻工具》◎优质免费资源平台◎★https://adzhp.cc/【https://adzhp.cc/wp-content/uploads/2020/01/%E9%BB%98%E8%AE%A4%E6%A0%87%E9%A2%98_%E8%87%AA%E5%AE%9A%E4%B9%89px_2019.02.08-2.png】《爱达杂货铺》◎手机那些有用的东西◎★https://link3.cc/cxapk【https://tencentcdna.production.link3.cc/profile_images/1714732834716】《辰夕破解软件》◎只为纯净◎★https://my.feishu.cn/docx/FUuRd142Lo8nGJxe0rfciNFvnAh【http://img2.baidu.com/it/u=982342560,1667334085&fm=253&fmt=auto&app=138&f=PNG?w=256&h=256】《楚风工具箱主页》◎媒体人工具盒子◎★http://jamcz.com/【http://jamcz.com/pic/zxt.png】《钟晨网络科技》◎致力于开发小众实用软软◎\n\n宝藏::https://m.baidu.com/?from=1024043p/【1】《使用说明》◎若阅读无法打开，请点打开链接后选择浏览器◎★https://www.istarbox.app《星盒》【https://www.istarbox.app/logo.png】◎请点击菜单下载◎★https://link3.cc/sk66/【https://img2.baidu.com/it/u=2029706718,2930535617&fm=253&fmt=auto&app=138&f=JPEG?w=300&h=300】《简so发布页》◎漫画工具资源箱◎★https://wwqp.lanzouw.com/b0825sh3e/【http://img2.baidu.com/it/u=438352646,1572974213&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=500】《简助手》◎蓝奏云｜多功能工具盒◎★https://wwblh.lanzoum.com/b02wd55ng/【https://img0.baidu.com/it/u=1637018313,802135796&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=500】《实用软件》◎蓝奏云｜清渠社提供◎\n\n书源::https://www.yckceo.com/yuedu/shuyuan/index.html【https://gitee.com/lyc486/yuedu/raw/master/ycktb.gif】《源仓库》◎发布地址https://link3.cc/yckceo◎★https://legado.erchuang.online/【https://legado.erchuang.online/favicon.ico】《阅读》◎全版本分支◎★https://lyc.ydz6.com/【https://gitee.com/lyc486/yuedu/raw/master/favicon.gif】《洛雅橙主页》◎阅读Σ作者◎★https://qyyuapi.com【https://qyyuapi.com/logo.jpg】《XH漫画源发布页》◎导入订阅源后使用◎★https://eryuewuxue.github.io/shuyuan/【https://eryuewuxue.github.io/shuyuan/assets/icon.png】《二月无雪发布页》◎耽美资源大佬◎★https://share.traecontent.cn/artifact/-5YS1-D.PSI2XW【http://b0.bdstatic.com/d89d109a3b13d1aa374b8fe02b4c8744.jpg@h_1280】《网址聚合》◎堇生整理◎\n\n视频::https://www.a4lc.com/tool/douyin/【https://imgbdb4.bendibao.com/suzhoubdb/xiuxian/20249/02/2024902090636_27019.png】《抖音去水印》◎仅支持抖音.快手.皮皮虾.微博.最右◎★https://www.mvcat.com/【https://www.mvcat.com/img/logo_appicon.png】《影猫》◎影视导航方案◎★https://dm530.org/【https://cdn.magicalapk.com/topic_cover/deal/474002718690743.png】《风车动漫》◎动漫集合◎★https://dl.ncat29.com/【https://dl.ncat29.com/ncat/01/images/logo.svg?v=0905】《网飞猫发布页》◎安全无毒永久免费◎★https://link3.cc/vip666888【https://tencentcdna.production.link3.cc/profile_images/1720332490562】《永裴资源君》◎影视资源分享◎\n\n魔法::https://link3.cc/jins_yd/【1】《源内所有内容均自用后推荐》◎若阅读无法打开，请点打开链接后右上角选择浏览器◎★https://kitenetworks.net/j/6RJRD2CG【1】《Kite VPN｜新手推荐》◎网页注册送10天｜签到送时长｜新手友好无需设置◎★https://github.com/MetaCubeX/ClashMetaForAndroid/releases/【1】《Clash Meta（小猫咪）｜强推》◎需要微微动手能力｜下方所有机场或订阅均需配合小猫咪◎★https://lggc.cb2077.com/#/register?code=3D3mBTQq【1】《赛博云｜站主自用主用》◎包月3元120G｜专享｜不限时包◎★https://one.ajiasu.top/#/register?code=WRHd9n0p【1】《试用云机场推荐｜每月必定更新》◎爱加速｜注册直接送送30g｜公益套餐10.2更新｜翻墙打开◎★https://clashn.org/【1】《Clash N订阅站》◎免费订阅（勉强可用）｜收费推荐非本源作者◎★https://m.baidu.com/?from=1024043p/【1】《本站仅推荐免费无广》◎充值付费等行为请自行斟酌◎\n\n更新::https://link3.cc/jins_yd/【content://ohos/com.huawei.hmos.vassistant/data/storage/el2/base/haps/entry/temp/watermark/%E5%B0%8F%E8%89%BA_1789350924028.jpg?source=broker】《本源仅为资源整理》◎不对内容承担任何责任，请谨慎辨别◎★https://kitenetworks.net/j/6RJRD2CG【content://ohos/com.huawei.hmos.vassistant/data/storage/el2/base/haps/entry/temp/watermark/%E5%B0%8F%E8%89%BA_1789350924028.jpg?source=broker】《如果你拥有同样使用阅读的朋友》◎请帮忙分享一下本订阅源，谢谢！◎★https://link3.cc/jins_yd【content://ohos/com.huawei.hmos.vassistant/data/storage/el2/base/haps/entry/temp/watermark/%E5%B0%8F%E8%89%BA_1789350924028.jpg?source=broker】《小宝库更新》◎进入后复制直链更新◎",
    "sourceComment": "若源内存在付费隐私等，请自行仔细辨别，源主不对内容负责\n推荐使用敏感网址前更新本源，本源会在发现问题后，第一时间更新\nby：堇生\n2026 10 22\n更新免费机场，赛博云地址更新\n2026 09 28\n更新免费机场\n2026 09 13\n增加网址聚合\n2026 09 10\n新增桌游合集，修复书源页\n2026 09 09\n增加小猫咪方案 游戏\n2026 09 04\n\t增加魔法软件链接\n增加小游戏，优化网址\n2026 08 21\n增加蓝奏云资源，增加二月无雪书源页\n",
    "sourceIcon": "http://b0.bdstatic.com/d89d109a3b13d1aa374b8fe02b4c8744.jpg@h_1280",
    "sourceName": "小宝库2.0",
    "sourceUrl": "堇生整理,内含免费魔法",
    "type": 0
  },
  {
    "articleStyle": 0,
    "cacheFirst": false,
    "customOrder": 43,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 1792836484651,
    "loadWithBaseUrl": true,
    "preload": false,
    "showWebLog": false,
    "singleUrl": true,
    "sourceGroup": "动漫视频",
    "sourceIcon": "https://cdn.magicalapk.com/topic_cover/deal/470695784772473.png",
    "sourceName": "AGE动漫",
    "sourceUrl": "https://m.agedm.io/#/rank",
    "type": 0
  },
  {
    "articleStyle": 0,
    "cacheFirst": false,
    "customOrder": 44,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 1793558308303,
    "loadWithBaseUrl": true,
    "preload": false,
    "showWebLog": false,
    "singleUrl": true,
    "sourceGroup": "🎬 大陆，动漫视频",
    "sourceIcon": "https://cdn.magicalapk.com/topic_cover/deal/474002718690743.png",
    "sourceName": "风车动漫",
    "sourceUrl": "https://dm530.org",
    "type": 0
  },
  {
    "articleStyle": 0,
    "cacheFirst": false,
    "customOrder": 45,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 1793558261586,
    "loadWithBaseUrl": true,
    "preload": false,
    "showWebLog": false,
    "singleUrl": true,
    "sourceGroup": "动漫视频",
    "sourceIcon": "https://cdn.magicalapk.com/topic_cover/deal/569416707580127.jpg",
    "sourceName": "樱花动漫",
    "sourceUrl": "https://www.yinghuabb.com/",
    "type": 0
  },
  {
    "articleStyle": 0,
    "cacheFirst": false,
    "customOrder": 46,
    "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": 1793341421067,
    "loadWithBaseUrl": true,
    "preload": false,
    "showWebLog": false,
    "singleUrl": true,
    "sourceGroup": "动漫视频",
    "sourceIcon": "http://www.yinghuadm.io/js/20180601/ico.png",
    "sourceName": "樱花动漫",
    "sourceUrl": "http://m.yinghuadm.io/",
    "type": 0
  },
  {
    "articleStyle": 1,
    "cacheFirst": false,
    "customOrder": 47,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 1793558341390,
    "loadWithBaseUrl": true,
    "preload": false,
    "showWebLog": false,
    "singleUrl": true,
    "sourceGroup": "🎬 大陆，动漫视频，地址页",
    "sourceIcon": "https://cdn.magicalapk.com/topic_cover/deal/548657793976171.jpg",
    "sourceName": "饭团动漫",
    "sourceUrl": "https://fantuantv.com/",
    "type": 0
  },
  {
    "articleStyle": 0,
    "cacheFirst": false,
    "customOrder": 48,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 1793558319062,
    "loadWithBaseUrl": true,
    "preload": false,
    "showWebLog": false,
    "singleUrl": true,
    "sourceGroup": "动漫视频",
    "sourceIcon": "https://cdn.magicalapk.com/topic_cover/deal/319305293887.jpg",
    "sourceName": "风车动漫",
    "sourceUrl": "https://fengchedmp.com/",
    "type": 0
  },
  {
    "articleStyle": 0,
    "cacheFirst": false,
    "customOrder": 52,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "header": "",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "preload": false,
    "ruleArticles": "",
    "ruleContent": "",
    "ruleDescription": "",
    "ruleImage": "",
    "ruleLink": "",
    "ruleNextPage": "",
    "rulePubDate": "",
    "ruleTitle": "",
    "showWebLog": false,
    "singleUrl": true,
    "sortUrl": "",
    "sourceGroup": "🎞️ 视频",
    "sourceIcon": "https://oss-xpc0.xpccdn.com/Upload/edu/2019/09/095d75c392a6a3f.png",
    "sourceName": "新片场",
    "sourceUrl": "https://www.xinpianchang.com",
    "type": 0
  },
  {
    "articleStyle": 0,
    "cacheFirst": false,
    "customOrder": 55,
    "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": 1792706319657,
    "loadWithBaseUrl": true,
    "preload": false,
    "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>",
    "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",
    "showWebLog": false,
    "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",
    "sourceIcon": "https://cdn.magicalapk.com/topic_cover/deal/476208122868287.png",
    "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        }",
    "type": 0
  },
  {
    "articleStyle": 0,
    "cacheFirst": false,
    "customOrder": 61,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 1793561728272,
    "loadWithBaseUrl": true,
    "preload": false,
    "showWebLog": false,
    "singleUrl": true,
    "sourceGroup": "🎬 其他",
    "sourceIcon": "https://cdn.magicalapk.com/topic_cover/deal/572878423525682.jpg",
    "sourceName": "在线工具",
    "sourceUrl": "https://tool.lu",
    "type": 0
  },
  {
    "articleStyle": 0,
    "cacheFirst": false,
    "customOrder": 62,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\"User-Agent\":\"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36 Reader\"}",
    "injectJs": "if (!document.getElementById('open-yuedu-bookshelf')) {\n    const style = document.createElement('style');\n    style.textContent = `\n        .yuedu-float-btn {\n            z-index: 9999999999;\n            position: fixed;\n            bottom: 13%;\n            padding: 11px 20px;\n            border-radius: 8px;\n            border: none;\n            color: #fff;\n            font-weight: 500;\n            font-size: clamp(14px, 3.8vw, 17px);\n            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n            transition: all 0.25s ease;\n            cursor: pointer;\n            user-select: none;\n            white-space: nowrap;\n        }\n\n        .yuedu-float-btn:hover {\n            transform: scale(1.08);\n            box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25);\n        }\n        .yuedu-float-btn:active {\n            transform: scale(0.96);\n        }\n    `;\n    document.head.appendChild(style);\n\n    // 域名判断\n    const currentUrl = window.location.href;\n    const isPixiv = /pixiv\\.net/i.test(currentUrl);\n    const isLinpx = /linpx\\.ink/i.test(currentUrl);\n    const isFurryNovel = /furrynovel\\.com/i.test(currentUrl);\n\n    // 书源地址\n    let bookSourceUrl\n    if (isPixiv) {\n        bookSourceUrl = 'https://cdn.jsdelivr.net/gh/DowneyRem/PixivSource@main/pixiv.json'\n    } else {\n        bookSourceUrl = 'https://cdn.jsdelivr.net/gh/DowneyRem/PixivSource@main/linpx.json'\n    }\n\n    // 按钮颜色（linpx 用黄色，其他用蓝色）\n    const mainColor = isLinpx ? '#ff9900' : '#1da5f9';\n    const hoverColor = isLinpx ? '#ffaa22' : '#40b6ff';\n\n    // 「导入书源」按钮 - 左下\n    const btn = document.createElement('button');\n    btn.id = 'impotr-booksource';\n    btn.className = 'yuedu-float-btn';\n    btn.style.backgroundColor = mainColor;\n    btn.style.left = '10%';\n    btn.textContent = '导入书源';\n    document.body.appendChild(btn);\n\n    btn.onclick = () => {\n        window.open(`legado://import/bookSource?src=${encodeURIComponent(bookSourceUrl)}`, '_blank');\n    };\n\n    // 「加入书架」按钮 - 右下\n    if (!isFurryNovel) {\n        const btn2 = document.createElement('button');\n        btn2.id = 'open-yuedu-bookshelf';\n        btn2.className = 'yuedu-float-btn';\n        btn2.style.backgroundColor = mainColor;\n        btn2.style.right = '10%';\n        btn2.textContent = '加入书架';\n        document.body.appendChild(btn2);\n\n        btn2.onclick = () => {\n            window.open(`legado://import/addToBookshelf?src=${encodeURIComponent(window.location.href)}`, '_blank');\n        };\n    }\n\n    // Hover 颜色\n    const hoverStyle = document.createElement('style');\n    hoverStyle.textContent = `\n        #impotr-booksource:hover,\n        #open-yuedu-bookshelf:hover {\n            background-color: ${hoverColor} !important;\n        }\n    `;\n    document.head.appendChild(hoverStyle);\n}",
    "jsLib": "function getWebViewUA() {\n    let {java} = this\n    let userAgent = String(java.getWebViewUA())\n    return String(userAgent)\n}\n\nfunction sleep(seconds) {\n    return Packages.java.lang.Thread.sleep(1000*seconds)\n}\n\nfunction sleepToast(text, second) {\n    const {java} = this\n    java.log(text)\n    java.longToast(text)\n    if (second === undefined) {second = 0.01}\n    this.sleep(second)\n}\n\nfunction startBrowser(url, title) {\n    const {java} = this\n    let msg = \"\", headers = `{\"headers\": {\"User-Agent\":\"${this.getWebViewUA()}\"}}`\n    if (url.includes(\"pixiv.net\")) {\n        msg += \"\\n\\n即将打开 Pixiv\\n请确认已开启代理/梯子/VPN等\"\n    } else if (url.includes(\"github\")) {\n        msg += \"\\n\\n即将打开 Github\\n请确认已开启代理/梯子/VPN等\"\n    } else if (url.includes(\"https://t.me/\")){\n        msg += \"\\n\\n即将打开 Telegram\\n请确认已开启代理/梯子/VPN等\"\n    }\n    if (msg) this.sleepToast(msg)\n    java.startBrowser(`${url}, ${headers}`, title)\n}\n\nfunction startPixivSettings() {\n    const {java} = this\n    this.startBrowser(\"https://www.pixiv.net/settings/viewing\", \"账号设置\")\n}\n\nfunction startGithubReadme() {\n    const {java, source} = this\n    if (source.sourceUrl.includes(\"pixiv.net\")) {\n        this.startBrowser(\"https://pixivsource.pages.dev/Pixiv\", \"书源指南\")\n    } else if (source.sourceUrl.includes(\"linpx.ink\")) {\n        this.startBrowser(\"https://pixivsource.pages.dev/Linpx\", \"书源指南\")\n    } else if (source.sourceUrl.includes(\"furrynovel.com\")) {\n        this.startBrowser(\"https://pixivsource.pages.dev/FurryNovel\", \"书源指南\")\n    }\n}\n\nfunction startGithubIssue() {\n    const {java} = this\n    this.startBrowser(\"https://github.com/DowneyRem/PixivSource/issues\", \"反馈问题\")\n}\nfunction startGithub() {\n    const {java} = this\n    this.startBrowser(\"https://github.com/DowneyRem/PixivSource\", \"收藏项目\")\n}\n\nfunction startGithubIntroduction() {\n    const {java} = this\n    this.startBrowser(\"https://pixivsource.pages.dev/BetterExperience\", \"使用指南\")\n}\nfunction startGithubWebdavBackup() {\n    const {java} = this\n    this.startBrowser(\"https://pixivsource.pages.dev/WebdavBackup\", \"备份恢复\")\n}\nfunction startGithubRemoteBooks() {\n    const {java} = this\n    this.startBrowser(\"https://pixivsource.pages.dev/RemoteBooks\", \"远程书籍\")\n}\nfunction startGithubSponsor() {\n    const {java} = this\n    this.startBrowser(\"https://pixivsource.pages.dev/Sponsor\", \"支持开发\")\n}\n\nfunction startTelegram() {\n    const {java} = this\n    this.startBrowser(\"https://t.me/PixivSource\", \"书源频道\")\n}\nfunction startTelegramLegado() {\n    const {java} = this\n    this.startBrowser(\"https://t.me/ReadSigma\", \"阅读频道\")\n}\nfunction startTelegramFurryReading() {\n    const {java} = this\n    this.startBrowser(\"https://t.me/FurryReadingRE\", \"兽人阅读频道\")\n}",
    "lastUpdateTime": 1784390400251,
    "loadWithBaseUrl": true,
    "loginUi": "[\n    {\n        \"name\": \"🅿️️ 登录账号\",\n        \"type\": \"button\",\n        \"action\": \"login()\",\n        \"style\": {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": -1\n        }\n    },\n    {\n        \"name\": \"⚙️ 账号设置\",\n        \"type\": \"button\",\n        \"action\": \"startPixivSettings()\",\n        \"style\": {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": -1\n        }\n    },\n    {\n        \"name\": \"🔙 退出账号\",\n        \"type\": \"button\",\n        \"action\": \"logout()\",\n        \"style\": {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": -1\n        }\n    },\n\n    {\n        \"name\": \"书源设置\",\n        \"type\": \"text\"\n    },\n    {\n        \"name\": \"🔢 章节编号\",\n        \"type\": \"button\",\n        \"action\": \"editSettings('ADD_CHAPTER_INDEX')\",\n        \"style\": {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": -1\n        }\n    },\n    {\n        \"name\": \"❤️ 自动收藏\",\n        \"type\": \"button\",\n        \"action\": \"editSettings('AUTO_LIKE_NOVELS')\",\n        \"style\": {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": -1\n        }\n    },\n    {\n        \"name\": \"📚 整合系列\",\n        \"type\": \"button\",\n        \"action\": \"editSettings('COMBINE_NOVELS')\",\n        \"style\": {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": -1\n        }\n    },\n\n    {\n        \"name\": \"书源相关\",\n        \"type\": \"text\"\n    },\n    {\n        \"name\": \"🔰 使用指南\",\n        \"type\": \"button\",\n        \"action\": \"startGithubIntroduction()\",\n        \"style\": {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": -1\n        }\n    },\n    {\n        \"name\": \"📘 书源指南\",\n        \"type\": \"button\",\n        \"action\": \"startGithubReadme()\",\n        \"style\": {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": -1\n        }\n    },\n    {\n        \"name\": \"🐞 反馈问题\",\n        \"type\": \"button\",\n        \"action\": \"startGithubIssue()\",\n        \"style\": {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": -1\n        }\n    },\n    {\n        \"name\": \"⭐️ 收藏项目\",\n        \"type\": \"button\",\n        \"action\": \"startGithub()\",\n        \"style\": {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": -1\n        }\n    },\n    {\n        \"name\": \"💾 备份恢复\",\n        \"type\": \"button\",\n        \"action\": \"startGithubWebdavBackup()\",\n        \"style\": {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": -1\n        }\n    },\n    {\n        \"name\": \"☁️ 远程书籍\",\n        \"type\": \"button\",\n        \"action\": \"startGithubRemoteBooks()\",\n        \"style\": {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": -1\n        }\n    },\n    {\n        \"name\": \"📖 阅读频道\",\n        \"type\": \"button\",\n        \"action\": \"startTelegramLegado()\",\n        \"style\": {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": -1\n        }\n    },\n    {\n        \"name\": \"✈️ 书源频道\",\n        \"type\": \"button\",\n        \"action\": \"startTelegram()\",\n        \"style\": {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": -1\n        }\n    },\n    {\n        \"name\": \"☕ ️支持开发\",\n        \"type\": \"button\",\n        \"action\": \"startGithubSponsor()\",\n        \"style\": {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": -1\n        }\n    }\n]",
    "loginUrl": "function login() {\n    let resp = java.startBrowserAwait(`https://accounts.pixiv.net/login,\n    {\"headers\": {\"User-Agent\": ${getWebViewUA()}}}`, '登录账号', false)\n    if (resp.code() === 200) {\n        getCookie(); getCsrfToken()\n        return true\n    } else {\n        java.log(resp.code()); sleepToast(\"🅿️ 登录账号\\n\\n⚠️ 登录失败\")\n        return false\n    }\n}\n\nfunction logout() {\n    removeCookie()\n    java.startBrowser(\"https://www.pixiv.net/logout.php\", \"退出账号\")\n    removeCookie()\n    sleepToast(`✅ 已退出当前账号\\n\\n退出后请点击右上角的 ✔️ 退出\\n\\n登录请点击【登录账号】进行登录`)\n}\n\nfunction removeCookie() {\n    cookie.removeCookie('https://www.pixiv.net')\n    cookie.removeCookie('https://accounts.pixiv.net')\n    cookie.removeCookie('https://accounts.google.com')\n    cookie.removeCookie('https://api.weibo.com')\n    cache.delete(\"pixivCookie\")\n    cache.delete(\"pixivCsrfToken\")  // 与登录设备有关\n    cache.delete(\"pixivHeaders\")\n}\n\n// 获取 Csrf Token，以便进行收藏等请求\n// 获取方法来自脚本 Pixiv Previewer\n// https://github.com/Ocrosoft/PixivPreviewer\n// https://greasyfork.org/zh-CN/scripts/30766-pixiv-previewer/code\nfunction getCsrfToken() {\n    let pixivCsrfToken\n    let html = java.webView(null, \"https://www.pixiv.net/\", null)\n    try {\n        pixivCsrfToken = html.match(/token\\\\\":\\\\\"([a-z0-9]{32})/)[1]\n    } catch (e) {\n        pixivCsrfToken = null\n    }\n    // java.log(pixivCsrfToken)\n    cache.put(\"pixivCsrfToken\", pixivCsrfToken)  // 与登录设备有关\n    return pixivCsrfToken\n}\n\nfunction getCookie() {\n    let pixivCookie = String(java.getCookie(\"https://www.pixiv.net/\", null))\n    if (pixivCookie.includes(\"first_visit_datetime\")) {\n        // java.log(pixivCookie)\n        cache.put(\"pixivCookie\", pixivCookie, 60*60)\n        return pixivCookie\n    } else {\n        cache.delete(\"pixivCookie\")\n        // sleepToast(\"未登录账号( pixivCookie)\")\n        return null\n    }\n}\n\nfunction putInCacheObject(objectName, object, saveSeconds) {\n    if (object === undefined) object = null\n    if (saveSeconds === undefined) saveSeconds = 0\n    cache.put(objectName, JSON.stringify(object), saveSeconds)\n}\n\nfunction getFromCacheObject(objectName) {\n    let object = cache.get(objectName)\n    if (object === undefined) return null  // 兼容源阅，避免 parse 报错\n    return JSON.parse(object)\n}\n\nfunction statusMsg(status) {\n    if (status === true) return \"✅ 已开启\"\n    else if (status === false) return \"🚫 已关闭\"\n    else if (status === undefined) return \"🈚️ 未设置\"\n}\n\nconst settingsName = {\n    \"ADD_CHAPTER_INDEX\": \"🔢 章节编号\",\n    \"AUTO_LIKE_NOVELS\": \"❤️ 自动收藏\",\n    \"COMBINE_NOVELS\": \"📚 整合系列\",\n}\n\nfunction editSettings(settingName) {\n    let msg, status\n    let settings = getFromCacheObject(\"pixivSettings\")\n    // if (!settings) settings = setDefaultSettings()\n    if (!!settings[settingName]) {\n        status = settings[settingName] = !settings[settingName]\n    } else {\n        status = settings[settingName] = true\n    }\n    putInCacheObject(\"pixivSettings\", settings)\n    msg = `\\n\\n${statusMsg(status)}　${settingsName[settingName]}`\n    sleepToast(msg)\n}",
    "preload": false,
    "showWebLog": false,
    "singleUrl": true,
    "sourceComment": "Pixiv 订阅源\n\n可用功能：✅添加小说（配合书源）✅更新书源\n添加小说：打开小说，【刷新】，点击【加入书架】按钮，添加小说到书架\n\n书源发布：\nPixiv 书源频道 https://t.me/PixivSource\n兽人阅读频道 https://t.me/FurryReading\n\n项目地址：\nhttps://github.com/DowneyRem/PixivSource\n\n规则订阅：\nhttps://cdn.jsdelivr.net/gh/DowneyRem/PixivSource@main/btsrk.json\nhttps://raw.githubusercontent.com/DowneyRem/PixivSource/main/btsrk.json",
    "sourceGroup": "🅿️ Pixiv,🐲 Furry",
    "sourceIcon": "https://asset.brandfetch.io/idIlKj_n7C/idSsbP7h1m.png",
    "sourceName": "Pixiv",
    "sourceUrl": "https://www.pixiv.net/novel,{\"js\":\"java.longToast('请使用右上角菜单中的【登录】进行登录/退出账号')\"}",
    "type": 0
  },
  {
    "articleStyle": 0,
    "cacheFirst": false,
    "customOrder": 63,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 1784390400251,
    "loadWithBaseUrl": true,
    "preload": false,
    "showWebLog": false,
    "singleUrl": true,
    "sourceComment": "Pixiv 书源项目\n\n可用功能：✅导入书源✅更新书源\n\n书源发布：\nPixiv 书源频道 https://t.me/PixivSource\n兽人阅读频道 https://t.me/FurryReading\n\n项目地址：\nhttps://github.com/DowneyRem/PixivSource\n\n规则订阅：\nhttps://cdn.jsdelivr.net/gh/DowneyRem/PixivSource@main/btsrk.json\nhttps://raw.githubusercontent.com/DowneyRem/PixivSource/main/btsrk.json",
    "sourceGroup": "🅿️ Pixiv,🐲 Furry",
    "sourceIcon": "https://pixivsource.pages.dev/favicon-512x512.png",
    "sourceName": "Pixiv 书源",
    "sourceUrl": "https://pixivsource.pages.dev",
    "type": 0
  },
  {
    "articleStyle": 0,
    "cacheFirst": false,
    "customOrder": 64,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "preload": false,
    "showWebLog": false,
    "singleUrl": true,
    "sourceGroup": "🛠 工具",
    "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/",
    "type": 0
  },
  {
    "articleStyle": 0,
    "cacheFirst": false,
    "customOrder": 65,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": true,
    "header": "{\n\"User-Agent\": \"Mozilla/5.0 (Linux; Android 14; 23124RN87C Build/UP1A.231005.007) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.193 Mobile Safari/537.36\"\n}",
    "injectJs": "// ==UserScript==\n// @name              网页加速器\n// @namespace         https://github.com/Gao-Lezhe/instantpage\n// @version           1.0.3\n// @author            YouXiaoHou、高乐喆（Greasy Fork用户名：lezhe）\n// @description       自动帮你加速网页中的超链接，加快打开网页的速度，实测符合条件的网页打开速度减少50%以上。\n// @license           AGPL\n// @supportURL        https://github.com/Gao-Lezhe/instantpage\n// @require           https://registry.npmmirror.com/sweetalert2/10.16.6/files/dist/sweetalert2.min.js\n// @resource          swalStyle https://registry.npmmirror.com/sweetalert2/10.16.6/files/dist/sweetalert2.min.css\n// @match             *://*/*\n// @noframes\n// @run-at            document-idle\n// @grant             GM_openInTab\n// @grant             GM_setValue\n// @grant             GM_getValue\n// @grant             GM_registerMenuCommand\n// @grant             GM_getResourceText\n// @icon              data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMjggMTI4Ij48cGF0aCBkPSJNMCA3OWMwLTM1LjQgMjguNS02NCA2My45LTY0LjFzNjQuMSAyOC42IDY0LjEgNjRjMCA5LjQtMi4xIDE4LjQtNS43IDI2LjUtMSAyLjMtMi4zIDQuNi0zLjYgNi43LS40LjYtMSAxLTEuNyAxSDExYy0uNyAwLTEuMy0uNC0xLjctMS0xLjMtMi4yLTIuNS00LjQtMy42LTYuN0MyLjEgOTcuNCAwIDg4LjQgMCA3OXptMjQuNC0zOS43Yy01LjIgNS4xLTkuMiAxMS4xLTEyIDE3LjgtMyA2LjktNC41IDE0LjItNC41IDIxLjhhNTUuODYgNTUuODYgMCAwIDAgNC40IDIxLjhjLjcgMS42IDEuNCAzLjIgMi4yIDQuN2g5OC44Yy44LTEuNSAxLjYtMy4xIDIuMi00LjdhNTUuODYgNTUuODYgMCAwIDAgNC40LTIxLjggNTUuODYgNTUuODYgMCAwIDAtNC40LTIxLjhjLTIuOC02LjctNi45LTEyLjctMTItMTcuOC01LjEtNS4yLTExLjEtOS4yLTE3LjgtMTJhNTUuODYgNTUuODYgMCAwIDAtMjEuOC00LjQgNTUuODYgNTUuODYgMCAwIDAtMjEuOCA0LjRjLTYuNiAyLjgtMTIuNiA2LjgtMTcuNyAxMnoiIGZpbGw9IiM0NDQiLz48cGF0aCBkPSJNMTIuNCA1Ny4xYzIuOC02LjcgNi45LTEyLjcgMTItMTcuOCA1LjEtNS4yIDExLjEtOS4yIDE3LjgtMTJBNTUuODYgNTUuODYgMCAwIDEgNjQgMjIuOWE1NS44NiA1NS44NiAwIDAgMSAyMS44IDQuNGM2LjcgMi44IDEyLjcgNi45IDE3LjggMTIgNS4yIDUuMSA5LjIgMTEuMSAxMiAxNy44YTU1Ljg2IDU1Ljg2IDAgMCAxIDQuNCAyMS44IDU1Ljg2IDU1Ljg2IDAgMCAxLTQuNCAyMS44Yy0uNyAxLjYtMS40IDMuMi0yLjIgNC43SDE0LjZjLS44LTEuNS0xLjYtMy4xLTIuMi00LjdBNTUuODYgNTUuODYgMCAwIDEgOCA3OC45Yy0uMS03LjYgMS40LTE0LjkgNC40LTIxLjh6IiBmaWxsPSIjNjQ5OTUwIi8+PHBhdGggZD0iTTc3LjUgNjAuOUM2OCA4MS4yIDY0LjkgODQuNiA2NC42IDg1Yy0xLjUgMS41LTMuNSAyLjMtNS42IDIuM3MtNC4xLS44LTUuNi0yLjNhNy45MSA3LjkxIDAgMCAxIDAtMTEuMmMuMy0uNCAzLjgtMy40IDI0LjEtMTIuOXptMC04Yy0xLjEgMC0yLjMuMi0zLjQuOEM2My4yIDU4LjggNTEgNjQuOSA0Ny44IDY4LjFjLTYuMiA2LjItNi4yIDE2LjMgMCAyMi41IDMuMSAzLjEgNy4yIDQuNyAxMS4yIDQuN3M4LjEtMS42IDExLjItNC43YzMuMi0zLjIgOS4zLTE1LjQgMTQuNC0yNi4zIDIuNi01LjYtMS43LTExLjQtNy4xLTExLjR6TTYzLjkgMjkuOGMtMjcuMiAwLTQ5LjUgMjIuNi00OS4xIDQ5LjggMCAzLjYuNSA3LjIgMS4zIDEwLjYuNCAxLjggMiAzLjEgMy45IDMuMSAyLjYgMCA0LjQtMi40IDMuOS00LjktLjctMy0xLjEtNi4yLTEuMS05LjNBNDIuMDQgNDIuMDQgMCAwIDEgMjYgNjNjMi01IDUtOS40IDguOC0xMy4yUzQzIDQzLjEgNDcuOSA0MWE0Mi4wNCA0Mi4wNCAwIDAgMSAzMi4yIDBjNC45IDIuMSA5LjMgNS4xIDEzLjEgOC45Qzk3IDUzLjYgOTkuOSA1OCAxMDIgNjNhNDIuMDQgNDIuMDQgMCAwIDEgMy4yIDE2LjFjMCAzLjItLjQgNi4zLTEuMSA5LjMtLjYgMi41IDEuMyA0LjkgMy45IDQuOSAxLjggMCAzLjUtMS4zIDMuOS0zLjEuOC0zLjYgMS4zLTcuMyAxLjMtMTEuMSAwLTI3LjMtMjIuMS00OS4zLTQ5LjMtNDkuM3oiIGZpbGw9IiM0NDQiLz48L3N2Zz4=\n// @downloadURL https://update.greasyfork.org/scripts/487625/%E7%BD%91%E9%A1%B5%E5%8A%A0%E9%80%9F%E5%99%A8.user.js\n// @updateURL https://update.greasyfork.org/scripts/487625/%E7%BD%91%E9%A1%B5%E5%8A%A0%E9%80%9F%E5%99%A8.meta.js\n// ==/UserScript==\n\n(function () {\n    'use strict';\n\n    let util = {\n        getValue(name) {\n            return GM_getValue(name);\n        },\n\n        setValue(name, value) {\n            GM_setValue(name, value);\n        },\n\n        include(str, arr) {\n            str = str.replace(/[-_]/ig, '');\n            for (let i = 0, l = arr.length; i < l; i++) {\n                let val = arr[i];\n                if (val !== '' && str.toLowerCase().indexOf(val.toLowerCase()) > -1) {\n                    return true;\n                }\n            }\n            return false;\n        },\n\n        addStyle(id, tag, css) {\n            tag = tag || 'style';\n            let doc = document, styleDom = doc.getElementById(id);\n            if (styleDom) return;\n            let style = doc.createElement(tag);\n            style.rel = 'stylesheet';\n            style.id = id;\n            tag === 'style' ? style.innerHTML = css : style.href = css;\n            doc.head.appendChild(style);\n        },\n\n        reg: {\n            chrome: /^https?:\\/\\/chrome.google.com\\/webstore\\/.+?\\/([a-z]{32})(?=[\\/#?]|$)/,\n            chromeNew: /^https?:\\/\\/chromewebstore.google.com\\/.+?\\/([a-z]{32})(?=[\\/#?]|$)/,\n            edge: /^https?:\\/\\/microsoftedge.microsoft.com\\/addons\\/.+?\\/([a-z]{32})(?=[\\/#?]|$)/,\n            firefox: /^https?:\\/\\/(reviewers\\.)?(addons\\.mozilla\\.org|addons(?:-dev)?\\.allizom\\.org)\\/.*?(?:addon|review)\\/([^/<>\"'?#]+)/,\n            microsoft: /^https?:\\/\\/(?:apps|www).microsoft.com\\/(?:store|p)\\/.+?\\/([a-zA-Z\\d]{10,})(?=[\\/#?]|$)/,\n        }\n    };\n\n    let main = {\n        initValue() {\n            let value = [{\n                name: 'setting_success_times',\n                value: 0\n            }, {\n                name: 'allow_external_links',\n                value: true\n            }, {\n                name: 'allow_query_links',\n                value: true\n            }, {\n                name: 'enable_store_link',\n                value: true\n            }, {\n                name: 'enable_target_self',\n                value: false\n            }, {\n                name: 'enable_animation',\n                value: false\n            }, {\n                name: 'delay_on_hover',\n                value: 65\n            }, {\n                name: 'exclude_list',\n                value: ''\n            }, {\n                name: 'exclude_keyword',\n                value: 'login\\nlogout\\nregister\\nsignin\\nsignup\\nsignout\\npay\\ncreate\\nedit\\ndownload\\ndel\\nreset\\nsubmit\\ndoubleclick\\ngoogleads\\nexit'\n            }];\n\n            value.forEach((v) => {\n                util.getValue(v.name) === undefined && util.setValue(v.name, v.value);\n            });\n        },\n\n        registerMenuCommand() {\n            GM_registerMenuCommand('🚀 已加速：' + util.getValue('setting_success_times') + '次', () => {\n                Swal.fire({\n                    showCancelButton: true,\n                    title: '确定要重置加速次数吗？',\n                    icon: 'warning',\n                    confirmButtonText: '确定',\n                    cancelButtonText: '取消',\n                    customClass: {\n                        popup: 'instant-popup',\n                    },\n                }).then((res) => {\n                    if (res.isConfirmed) {\n                        util.setValue('setting_success_times', 0);\n                        history.go(0);\n                    }\n                });\n            });\n            GM_registerMenuCommand('⚙️ 设置', () => {\n                let dom = `<div style=\"font-size: 1em;\">\n                              <label class=\"instant-setting-label\">加速外部链接<input type=\"checkbox\" id=\"S-External\" ${util.getValue('allow_external_links') ? 'checked' : ''} class=\"instant-setting-checkbox\"></label>\n                              <label class=\"instant-setting-label\"><span>加速含参数链接 <a href=\"https://www.youxiaohou.com/tool/install-instantpage.html#%E9%85%8D%E7%BD%AE%E8%AF%B4%E6%98%8E\">详见</a></span><input type=\"checkbox\" id=\"S-Query\" ${util.getValue('allow_query_links') ? 'checked' : ''} \n                              class=\"instant-setting-checkbox\"></label>\n                              <label class=\"instant-setting-label\">加速扩展商店链接<input type=\"checkbox\" id=\"S-Store\" ${util.getValue('enable_store_link') ? 'checked' : ''} class=\"instant-setting-checkbox\"></label>\n                              <label class=\"instant-setting-label\">加速链接在当前页打开<input type=\"checkbox\" id=\"S-Target\" ${util.getValue('enable_target_self') ? 'checked' : ''} class=\"instant-setting-checkbox\"></label>\n                              <label class=\"instant-setting-label\">加速动画效果<input type=\"checkbox\" id=\"S-Animate\" ${util.getValue('enable_animation') ? 'checked' : ''} \n                              class=\"instant-setting-checkbox\"></label>\n                              <label class=\"instant-setting-label\">链接预读延时（毫秒）<input type=\"number\" min=\"65\" id=\"S-Delay\" value=\"${util.getValue('delay_on_hover')}\" \n                              class=\"instant-setting-input\"></label>\n                              <label class=\"instant-setting-label-col\">排除下列网址 <textarea placeholder=\"列表中的域名将不开启加速器，一行一个，例如：www.baidu.com\" id=\"S-Exclude\" class=\"instant-setting-textarea\">${util.getValue('exclude_list')}</textarea></label>\n                              <label class=\"instant-setting-label-col\">排除下列关键词 <textarea placeholder=\"链接中含关键词将不开启加速器，一行一个，例如：logout\" id=\"S-Exclude-Word\" class=\"instant-setting-textarea\">${util.getValue('exclude_keyword')}</textarea></label>\n                            </div>`;\n                Swal.fire({\n                    title: '加速器配置',\n                    html: dom,\n                    showCloseButton: true,\n                    confirmButtonText: '保存',\n                    footer: '<div style=\"text-align: center;font-size: 1em;\">点击查看 <a href=\"https://www.youxiaohou.com/tool/install-instantpage.html\" target=\"_blank\">使用说明</a>，助手免费开源，Powered by <a href=\"https://www.youxiaohou.com\">油小猴</a></div>',\n                    customClass: {\n                        popup: 'instant-popup',\n                    },\n                }).then((res) => {\n                    if (res.isConfirmed) {\n                        history.go(0);\n                    }\n                });\n\n                document.getElementById('S-External').addEventListener('change', (e) => {\n                    util.setValue('allow_external_links', e.currentTarget.checked);\n                });\n                document.getElementById('S-Query').addEventListener('change', (e) => {\n                    util.setValue('allow_query_links', e.currentTarget.checked);\n                });\n                document.getElementById('S-Store').addEventListener('change', (e) => {\n                    util.setValue('enable_store_link', e.currentTarget.checked);\n                });\n                document.getElementById('S-Target').addEventListener('change', (e) => {\n                    util.setValue('enable_target_self', e.currentTarget.checked);\n                });\n                document.getElementById('S-Animate').addEventListener('change', (e) => {\n                    util.setValue('enable_animation', e.currentTarget.checked);\n                });\n                document.getElementById('S-Delay').addEventListener('change', (e) => {\n                    util.setValue('delay_on_hover', e.currentTarget.value);\n                });\n                document.getElementById('S-Exclude').addEventListener('change', (e) => {\n                    util.setValue('exclude_list', e.currentTarget.value);\n                });\n                document.getElementById('S-Exclude-Word').addEventListener('change', (e) => {\n                    util.setValue('exclude_keyword', e.currentTarget.value);\n                });\n            });\n        },\n\n        //在排除名单里\n        inExcludeList() {\n            let exclude = util.getValue('exclude_list').split('\\n');\n            let host = location.host;\n            return exclude.includes(host);\n        },\n\n        //加速主代码\n        instantPage() {\n            if (window.instantLoaded) return;\n            let mouseoverTimer;\n            let lastTouchTimestamp;\n            const prefetches = new Set();\n            const prefetchElement = document.createElement('link');\n            const isSupported = prefetchElement.relList && prefetchElement.relList.supports && prefetchElement.relList.supports('prefetch')\n                && window.IntersectionObserver && 'isIntersecting' in IntersectionObserverEntry.prototype;\n            const isOnline = () => window.navigator.onLine;\n            const allowQueryString = 'instantAllowQueryString' in document.body.dataset || util.getValue('allow_query_links');\n            const allowExternalLinks = 'instantAllowExternalLinks' in document.body.dataset || util.getValue('allow_external_links');\n            const useWhitelist = 'instantWhitelist' in document.body.dataset;\n            const mousedownShortcut = 'instantMousedownShortcut' in document.body.dataset;\n            const DELAY_TO_NOT_BE_CONSIDERED_A_TOUCH_INITIATED_ACTION = 1111;\n            const enableAnimation = util.getValue('enable_animation');\n            const enableTargetSelf = util.getValue('enable_target_self');\n            const enableStoreLink = util.getValue('enable_store_link');\n            window.instantLoaded = true;\n            const excludeKeyword = util.getValue('exclude_keyword').split('\\n');\n\n            let delayOnHover = util.getValue('delay_on_hover');\n            let useMousedown = false;\n            let useMousedownOnly = false;\n            let useViewport = false;\n\n            if ('instantIntensity' in document.body.dataset) {\n                const intensity = document.body.dataset.instantIntensity;\n\n                if (intensity.substr(0, 'mousedown'.length) === 'mousedown') {\n                    useMousedown = true;\n                    if (intensity === 'mousedown-only') {\n                        useMousedownOnly = true;\n                    }\n                } else if (intensity.substr(0, 'viewport'.length) === 'viewport') {\n                    if (!(navigator.connection && (navigator.connection.saveData || (navigator.connection.effectiveType && navigator.connection.effectiveType.includes('2g'))))) {\n                        if (intensity === \"viewport\") {\n                            if (document.documentElement.clientWidth * document.documentElement.clientHeight < 450000) {\n                                useViewport = true;\n                            }\n                        } else if (intensity === \"viewport-all\") {\n                            useViewport = true;\n                        }\n                    }\n                } else {\n                    const milliseconds = parseInt(intensity);\n                    if (!Number.isNaN(milliseconds)) {\n                        delayOnHover = milliseconds;\n                    }\n                }\n            }\n\n            if (isSupported) {\n                const eventListenersOptions = {\n                    capture: true,\n                    passive: true,\n                };\n\n                if (!useMousedownOnly) {\n                    document.addEventListener('touchstart', touchstartListener, eventListenersOptions);\n                }\n\n                if (!useMousedown) {\n                    document.addEventListener('mouseover', mouseoverListener, eventListenersOptions);\n                } else if (!mousedownShortcut) {\n                    document.addEventListener('mousedown', mousedownListener, eventListenersOptions);\n                }\n\n                if (mousedownShortcut) {\n                    document.addEventListener('mousedown', mousedownShortcutListener, eventListenersOptions);\n                }\n\n\n                if (useViewport) {\n                    let triggeringFunction;\n                    if (window.requestIdleCallback) {\n                        triggeringFunction = (callback) => {\n                            requestIdleCallback(callback, {\n                                timeout: 1500,\n                            });\n                        };\n                    } else {\n                        triggeringFunction = (callback) => {\n                            callback();\n                        };\n                    }\n\n                    triggeringFunction(() => {\n                        const intersectionObserver = new IntersectionObserver((entries) => {\n                            entries.forEach((entry) => {\n                                if (entry.isIntersecting) {\n                                    const linkElement = entry.target;\n                                    intersectionObserver.unobserve(linkElement);\n                                    preload(linkElement);\n                                }\n                            });\n                        });\n\n                        document.querySelectorAll('a').forEach((linkElement) => {\n                            if (isPreloadable(linkElement)) {\n                                intersectionObserver.observe(linkElement);\n                            }\n                        });\n                    });\n                }\n            }\n\n            function touchstartListener(event) {\n                /* Chrome on Android calls mouseover before touchcancel so `lastTouchTimestamp`\n                 * must be assigned on touchstart to be measured on mouseover. */\n                lastTouchTimestamp = performance.now();\n\n                const linkElement = event.target.closest('a');\n\n                if (!isPreloadable(linkElement)) {\n                    return;\n                }\n\n                preload(linkElement);\n            }\n\n            function mouseoverListener(event) {\n                if (performance.now() - lastTouchTimestamp < DELAY_TO_NOT_BE_CONSIDERED_A_TOUCH_INITIATED_ACTION) {\n                    return;\n                }\n\n                if (!('closest' in event.target)) {\n                    // Without this check sometimes an error “event.target.closest is not a function” is thrown, for unknown reasons\n                    // That error denotes that `event.target` isn’t undefined. My best guess is that it’s the Document.\n\n                    // Details could be gleaned from throwing such an error:\n                    //throw new TypeError(`instant.page non-element event target: timeStamp=${~~event.timeStamp}, type=${event.type}, typeof=${typeof event.target}, nodeType=${event.target.nodeType}, nodeName=${event.target.nodeName}, viewport=${innerWidth}x${innerHeight}, coords=${event.clientX}x${event.clientY}, scroll=${scrollX}x${scrollY}`)\n                    return\n                }\n\n                const linkElement = event.target.closest('a');\n\n                if (!isPreloadable(linkElement)) {\n                    return;\n                }\n\n                linkElement.addEventListener('mouseout', mouseoutListener, {passive: true});\n\n                mouseoverTimer = setTimeout(() => {\n                    preload(linkElement);\n                    mouseoverTimer = undefined;\n                }, delayOnHover);\n            }\n\n            function mousedownListener(event) {\n                const linkElement = event.target.closest('a');\n\n                if (!isPreloadable(linkElement)) {\n                    return;\n                }\n\n                preload(linkElement);\n            }\n\n            function mouseoutListener(event) {\n                if (event.relatedTarget && event.target.closest('a') === event.relatedTarget.closest('a')) {\n                    return;\n                }\n\n                if (mouseoverTimer) {\n                    clearTimeout(mouseoverTimer);\n                    mouseoverTimer = undefined;\n                }\n            }\n\n            function mousedownShortcutListener(event) {\n                if (performance.now() - lastTouchTimestamp < DELAY_TO_NOT_BE_CONSIDERED_A_TOUCH_INITIATED_ACTION) {\n                    return;\n                }\n\n                const linkElement = event.target.closest('a');\n\n                if (event.which > 1 || event.metaKey || event.ctrlKey) {\n                    return;\n                }\n\n                if (!linkElement) {\n                    return;\n                }\n\n                linkElement.addEventListener('click', function (event) {\n                    if (event.detail === 1337) {\n                        return;\n                    }\n\n                    event.preventDefault();\n                }, {capture: true, passive: false, once: true});\n\n                const customEvent = new MouseEvent('click', {\n                    view: window,\n                    bubbles: true,\n                    cancelable: true,\n                    detail: 1337\n                });\n                linkElement.dispatchEvent(customEvent);\n            }\n\n            function isPreloadable(linkElement) {\n                if (!linkElement || !linkElement.href) {\n                    return;\n                }\n\n                if (util.include(linkElement.href, excludeKeyword)) {\n                    if (!util.reg.chrome.test(linkElement.href) &&\n                        !util.reg.chromeNew.test(linkElement.href) &&\n                        !util.reg.edge.test(linkElement.href) &&\n                        !util.reg.edge.test(linkElement.href) &&\n                        !util.reg.microsoft.test(linkElement.href)) {\n                        return;\n                    }\n                }\n\n                if (useWhitelist && !('instant' in linkElement.dataset)) {\n                    return;\n                }\n\n                if (!allowExternalLinks && linkElement.origin !== location.origin && !('instant' in linkElement.dataset)) {\n                    return;\n                }\n\n                if (!['http:', 'https:'].includes(linkElement.protocol)) {\n                    return;\n                }\n\n                if (linkElement.protocol === 'http:' && location.protocol === 'https:') {\n                    if (linkElement.href.indexOf('http://www.baidu.com/link?url') === 0) {\n                        linkElement.href = linkElement.href.replace('http', 'https');\n                    } else {\n                        return;\n                    }\n                }\n                //下载文件不加速\n                if (/\\.[a-zA-Z0-9]{0,5}$/i.test(linkElement.href)) {\n                    //排除域名，网站扩展名\n                    if (!/(com|cn|top|ltd|net|tech|shop|vip|xyz|wang|cloud|online|site|love|art|xin|store|fun|cc|website|press|space|beer|luxe|video|ren|group|fit|yoga|org|pro|ink|biz|info|design|link|work|mobi|kim|pub|name|tv|co|asia|red|live|wiki|gov|life|world|run|show|city|gold|today|plus|cool|icu|company|chat|zone|fans|law|host|center|club|email|fund|social|team|guru|htm|html|php|asp|jsp)$/i.test(linkElement.href)) {\n                        return;\n                    }\n                }\n\n                if (!allowQueryString && linkElement.search && !('instant' in linkElement.dataset)) {\n                    return;\n                }\n\n                if (linkElement.hash && linkElement.pathname + linkElement.search === location.pathname + location.search) {\n                    return;\n                }\n\n                if (linkElement.dataset.filename || linkElement.dataset.noInstant) {\n                    return;\n                }\n\n                return true;\n            }\n\n            function preload(linkElement) {\n                let url = linkElement.href;\n\n                if (!isOnline()) {\n                    return;\n                }\n\n                if (prefetches.has(url)) {\n                    return;\n                }\n\n                if (enableStoreLink) {\n                    if (util.reg.chromeNew.test(url)) {\n                        linkElement.href = url.replace(\"chromewebstore.google.com\", \"chrome.crxsoso.com/webstore\");\n                    }\n                    if (util.reg.edge.test(url)) {\n                        linkElement.href = url.replace(\"microsoftedge.microsoft.com\", \"microsoftedge.crxsoso.com\");\n                    }\n                    if (util.reg.firefox.test(url)) {\n                        linkElement.href = url.replace(\"addons.mozilla.org\", \"addons.crxsoso.com\");\n                    }\n                }\n\n                const prefetcher = document.createElement('link');\n                prefetcher.rel = 'prefetch';\n                prefetcher.href = url;\n                document.head.appendChild(prefetcher);\n\n                prefetches.add(url);\n\n                if (enableAnimation) {\n                    linkElement.classList.add(\"link-instanted\");\n                }\n                if (enableTargetSelf) {\n                    linkElement.target = '_self';\n                }\n\n                util.setValue('setting_success_times', util.getValue('setting_success_times') + 1);\n            }\n        },\n\n        addPluginStyle() {\n            let style = `\n                .instant-popup { font-size: 14px !important; }\n                .instant-setting-label { display: flex;align-items: center;justify-content: space-between;padding-top: 15px; }\n                .instant-setting-label-col { display: flex;align-items: flex-start;;padding-top: 15px;flex-direction:column }\n                .instant-setting-checkbox { width: 16px;height: 16px; }\n                .instant-setting-textarea { width: 100%; margin: 14px 0 0; height: 60px; resize: none; border: 1px solid #bbb; box-sizing: border-box; padding: 5px 10px; border-radius: 5px; color: #666; line-height: 1.2; }\n                .instant-setting-input { border: 1px solid #bbb; box-sizing: border-box; padding: 5px 10px; border-radius: 5px; width: 100px}\n                 @keyframes instantAnminate { from { opacity: 1; } 50% { opacity: 0.4 } to { opacity: 0.9; }}\n                .link-instanted { animation: instantAnminate 0.6s 1; animation-fill-mode:forwards }\n                .link-instanted * { animation: instantAnminate 0.6s 1; animation-fill-mode:forwards }\n            `;\n\n            if (document.head) {\n                util.addStyle('swal-pub-style', 'style', GM_getResourceText('swalStyle'));\n                util.addStyle('instant-style', 'style', style);\n            }\n\n            const headObserver = new MutationObserver(() => {\n                util.addStyle('swal-pub-style', 'style', GM_getResourceText('swalStyle'));\n                util.addStyle('instant-style', 'style', style);\n            });\n            headObserver.observe(document.head, {childList: true, subtree: true});\n        },\n\n        init() {\n            this.initValue();\n            this.addPluginStyle();\n            this.registerMenuCommand();\n            if (this.inExcludeList()) return;\n            this.instantPage();\n        }\n    };\n    main.init();\n})();",
    "lastUpdateTime": 0,
    "loadWithBaseUrl": true,
    "preload": false,
    "showWebLog": false,
    "singleUrl": true,
    "sourceGroup": "AI",
    "sourceIcon": "https://metaso.cn/favicon.ico",
    "sourceName": "秘塔AI",
    "sourceUrl": "https://metaso.cn/",
    "type": 0
  }
]