[ { "customOrder": 1, "sourceName": "Pixiv", "sourceUrl": "https://www.pixiv.net/novel,{\"js\":\"java.longToast('请使用右上角菜单中的【登录】进行登录/退出账号')\"}", "sourceIcon": "https://asset.brandfetch.io/idIlKj_n7C/idSsbP7h1m.png", "sourceGroup": "🅿️ Pixiv,🐲 Furry", "articleStyle": 0, "enableJs": true, "enabled": true, "enabledCookieJar": true, "header": "{\"User-Agent\":\"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Mobile Safari/537.36 Reader\"}", "injectJs": "if (!/^https:\\/\\/(so\\.toutiao\\.com\\/search\\/?|quark\\.sm\\.cn\\/s|wap\\.sogou\\.com\\/web\\/searchList\\.jsp|m\\.so\\.com\\/s|cn\\.bing\\.com\\/search|www\\.baidu\\.com\\/s)\\?/.test(window.location.href) && !document.getElementById('open-yuedu-bookshelf')) {\n const btn = document.createElement('div');\n btn.innerHTML = ``;\n document.body.appendChild(btn);\n\n const btn2 = document.createElement('div');\n btn2.innerHTML = ``;\n document.body.appendChild(btn2);\n}\n\nlet time,num=0;\nconst herfs = new Map();\nfunction onTouchStart(evt) {\n for (const el of evt.path) {\n if (el.tagName === \"A\") {\n if (el.href !== 'javascript:void(0)') {\n const inner = el.href;\n herfs.set(el, inner);\n el.setAttribute('href', 'javascript:void(0)');\n time = setTimeout(() => {\twindow.open(`legado://import/addToBookshelf?src=${encodeURIComponent(inner)}`, '_blank')\n }, 600);\n }\n break;\n }\n }\n}\nfunction onTouchEnd(evt) {\n if (time) {\n clearTimeout(time);\n time = undefined;\n }\n for (const el of evt.path) {\n if (el.tagName === \"A\") {\n if (el.href === 'javascript:void(0)') {\n const herf = herfs.get(el);\n if (herf) {\n el.setAttribute('href', herf)\n }\n }\n break;\n }\n }\n}\n\nfunction addListener(els){\n Array.from(els, (item) => {\n if (item.getAttribute('add-yuedu-bookshelf') !== 'add-yuedu-bookshelf' && item.innerText && item.href && !/^#|^javascript:/.test(item.href)) {\n item.setAttribute('add-yuedu-bookshelf', 'add-yuedu-bookshelf');\n item.addEventListener('touchstart', onTouchStart);\n item.addEventListener('touchend', onTouchEnd);\n item.addEventListener('touchcancel', onTouchEnd);\n item.addEventListener('mousedown', onTouchStart);\n item.addEventListener('mouseup', onTouchEnd);\n }\n });\n num= els.length;\n}\n\nfunction reAdd(){\n const els = document.getElementsByTagName('a');\n if(els.length>num)addListener(els);\n}\n\nreAdd();\n\nconst observer = new ResizeObserver(reAdd);\nobserver.observe(document.body);", "jsLib": "function getWebViewUA() {\n let {java} = this\n let userAgent = String(java.getWebViewUA())\n if (userAgent.includes(\"Windows NT 10.0; Win64; x64\")) {\n userAgent = \"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Mobile Safari/537.36\"\n }\n return String(userAgent)\n}\n\nfunction sleep(time) {\n let endTime = new Date().getTime() + time\n while(true){\n if (new Date().getTime() > endTime){\n return;\n }\n }\n}\n\nfunction sleepToast(text, second) {\n let {java} = this\n java.log(text)\n java.longToast(text)\n if (second === undefined) {second = 0.01}\n this.sleep(1000*second)\n}", "lastUpdateTime": 1769875200251, "loginUi": "[\n {\n \"name\": \"\\uD83C\\uDD7F️ 登录账号\",\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\": \"\\uD83D\\uDD19 退出账号\",\n \"type\": \"button\",\n \"action\": \"logout()\",\n \"style\": {\n \"layout_flexGrow\": 1,\n \"layout_flexBasisPercent\": -1\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\": \"\\uD83D\\uDCD8 书源指南\",\n \"type\": \"button\",\n \"action\": \"startGithubReadme()\",\n \"style\": {\n \"layout_flexGrow\": 1,\n \"layout_flexBasisPercent\": -1\n }\n },\n {\n \"name\": \"\\uD83D\\uDC1E 反馈问题\",\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\": \"\\uD83D\\uDCBE 备份恢复\",\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\": \"\\uD83D\\uDCD6 阅读频道\",\n \"type\": \"button\",\n \"action\": \"startTelegramLegadoBeta()\",\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(\"headers\")\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 startBrowser(url, title) {\n let msg = \"\", headers = `{\"headers\": {\"User-Agent\":\"${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 sleepToast(msg)\n java.startBrowser(`${url}, ${headers}`, title)\n}\n\nfunction startPixivSettings() {\n startBrowser(\"https://www.pixiv.net/settings/viewing\", \"账号设置\")\n}\n\nfunction startGithubIntroduction() {\n startBrowser(\"https://pixivsource.pages.dev/BetterExperience\", \"阅读指南\")\n}\nfunction startGithubReadme() {\n startBrowser(\"https://pixivsource.pages.dev/Pixiv\", \"书源指南\")\n}\nfunction startGithubIssue() {\n startBrowser(\"https://github.com/DowneyRem/PixivSource/issues\", \"反馈问题\")\n}\nfunction startGithub() {\n startBrowser(\"https://github.com/DowneyRem/PixivSource\", \"书源介绍\")\n}\nfunction startGithubWebdavBackup() {\n startBrowser(\"https://pixivsource.pages.dev/WebdavBackup\", \"远程书籍\")\n}\nfunction startGithubRemoteBooks() {\n startBrowser(\"https://pixivsource.pages.dev/RemoteBooks\", \"远程书籍\")\n}\nfunction startGithubSponsor() {\n startBrowser(\"https://pixivsource.pages.dev/Sponsor\", \"支持开发\")\n}\n\nfunction startTelegram() {\n startBrowser(\"https://t.me/PixivSource\", \"书源频道\")\n}\nfunction startTelegramLegadoBeta() {\n startBrowser(\"https://t.me/Legado_Beta\", \"阅读频道\")\n}\nfunction startTelegramFurryReading() {\n startBrowser(\"https://t.me/FurryReading\", \"兽人阅读频道\")\n}", "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\nhttps://github.com/eigeen/PixivSourceProject\n\n规则订阅:Import 订阅源\nhttps://cdn.jsdelivr.net/gh/DowneyRem/PixivSource@main/import.json\nhttps://raw.githubusercontent.com/DowneyRem/PixivSource/main/import.json", "type": 0 }, { "customOrder": 2, "sourceName": "Linpx", "sourceUrl": "https://furrynovel.ink/?from=read", "sourceIcon": "https://furrynovel.ink/apple-touch-icon.png", "sourceGroup": "🅿️ Pixiv,🐲 Furry", "articleStyle": 0, "enableJs": true, "enabled": true, "enabledCookieJar": true, "header": "{\"User-Agent\":\"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Mobile Safari/537.36 Reader\"}", "injectJs": "if (!/^https:\\/\\/(so\\.toutiao\\.com\\/search\\/?|quark\\.sm\\.cn\\/s|wap\\.sogou\\.com\\/web\\/searchList\\.jsp|m\\.so\\.com\\/s|cn\\.bing\\.com\\/search|www\\.baidu\\.com\\/s)\\?/.test(window.location.href) && !document.getElementById('open-yuedu-bookshelf')) {\n const btn = document.createElement('div');\n btn.innerHTML = ``;\n document.body.appendChild(btn);\n}\n\nlet time, num=0;\nconst herfs = new Map();\nfunction onTouchStart(evt) {\n for (const el of evt.path) {\n if (el.tagName === \"A\") {\n if (el.href !== 'javascript:void(0)') {\n const inner = el.href;\n herfs.set(el, inner);\n el.setAttribute('href', 'javascript:void(0)');\n time = setTimeout(() => {\twindow.open(`legado://import/addToBookshelf?src=${encodeURIComponent(inner)}`, '_blank')\n }, 600);\n }\n break;\n }\n }\n}\n\nfunction onTouchEnd(evt) {\n if (time) {\n clearTimeout(time);\n time = undefined;\n }\n for (const el of evt.path) {\n if (el.tagName === \"A\") {\n if (el.href === 'javascript:void(0)') {\n const herf = herfs.get(el);\n if (herf) {\n el.setAttribute('href', herf)\n }\n }\n break;\n }\n }\n}\n\nfunction addListener(els){\n Array.from(els, (item) => {\n if (item.getAttribute('add-yuedu-bookshelf') !== 'add-yuedu-bookshelf' && item.innerText && item.href && !/^#|^javascript:/.test(item.href)) {\n item.setAttribute('add-yuedu-bookshelf', 'add-yuedu-bookshelf');\n item.addEventListener('touchstart', onTouchStart);\n item.addEventListener('touchend', onTouchEnd);\n item.addEventListener('touchcancel', onTouchEnd);\n item.addEventListener('mousedown', onTouchStart);\n item.addEventListener('mouseup', onTouchEnd);\n }\n });\n num= els.length;\n}\n\nfunction reAdd(){\n const els = document.getElementsByTagName('a');\n if(els.length>num)addListener(els);\n}\n\nreAdd();\n\nconst observer = new ResizeObserver(reAdd);\nobserver.observe(document.body);", "jsLib": "function getWebViewUA() {\n let {java} = this\n let userAgent = String(java.getWebViewUA())\n if (userAgent.includes(\"Windows NT 10.0; Win64; x64\")) {\n userAgent = \"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Mobile Safari/537.36\"\n }\n return String(userAgent)\n}\n\nfunction sleep(time) {\n let endTime = new Date().getTime() + time\n while(true){\n if (new Date().getTime() > endTime){\n return;\n }\n }\n}\n\nfunction sleepToast(text, second) {\n let {java} = this\n java.log(text)\n java.longToast(text)\n if (second === undefined) {second = 0.01}\n this.sleep(1000*second)\n}", "lastUpdateTime": 1769875200251, "loginUi": "[\n {\n \"name\": \"🔰 使用指南\",\n \"type\": \"button\",\n \"action\": \"startGithubIntroduction()\",\n \"style\": {\n \"layout_flexGrow\": 1,\n \"layout_flexBasisPercent\": -1\n }\n },\n {\n \"name\": \"\\uD83D\\uDCD9 书源指南\",\n \"type\": \"button\",\n \"action\": \"startGithubReadme()\",\n \"style\": {\n \"layout_flexGrow\": 1,\n \"layout_flexBasisPercent\": -1\n }\n },\n {\n \"name\": \"\\uD83D\\uDC1E 反馈问题\",\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\": \"\\uD83D\\uDCBE 备份恢复\",\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\": \"\\uD83D\\uDC3A 兽人阅读\",\n \"type\": \"button\",\n \"action\": \"startTelegramFurryReading()\",\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\nfunction startBrowser(url, title) {\n let msg = \"\", headers = `{\"headers\": {\"User-Agent\":\"${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 sleepToast(msg)\n java.startBrowser(`${url}, ${headers}`, title)\n}\n\nfunction startGithubIntroduction() {\n startBrowser(\"https://pixivsource.pages.dev/BetterExperience\", \"阅读指南\")\n}\nfunction startGithubReadme() {\n startBrowser(\"https://pixivsource.pages.dev/Linpx\", \"书源指南\")\n}\nfunction startGithubIssue() {\n startBrowser(\"https://github.com/DowneyRem/PixivSource/issues\", \"反馈问题\")\n}\nfunction startGithub() {\n startBrowser(\"https://github.com/DowneyRem/PixivSource\", \"书源介绍\")\n}\nfunction startGithubWebdavBackup() {\n startBrowser(\"https://pixivsource.pages.dev/WebdavBackup\", \"远程书籍\")\n}\nfunction startGithubRemoteBooks() {\n startBrowser(\"https://pixivsource.pages.dev/RemoteBooks\", \"远程书籍\")\n}\nfunction startGithubSponsor() {\n startBrowser(\"https://pixivsource.pages.dev/Sponsor\", \"支持开发\")\n}\n\nfunction startTelegram() {\n startBrowser(\"https://t.me/PixivSource\", \"书源频道\")\n}\nfunction startTelegramLegadoBeta() {\n startBrowser(\"https://t.me/Legado_Beta\", \"阅读频道\")\n}\nfunction startTelegramFurryReading() {\n startBrowser(\"https://t.me/FurryReading\", \"兽人阅读频道\")\n}", "singleUrl": true, "sourceComment": "Linpx 订阅源\n\n可用功能:✅添加小说(配合书源)✅更新书源\n添加小说:打开小说,点击底部按钮【添加到书架】,添加小说到书架\n\n书源发布:\nPixiv 书源频道 https://t.me/PixivSource\n兽人阅读频道 https://t.me/FurryReading\n\n项目地址:\nhttps://github.com/DowneyRem/PixivSource\nhttps://github.com/eigeen/PixivSourceProject\n\n规则订阅:Import 订阅源\nhttps://cdn.jsdelivr.net/gh/DowneyRem/PixivSource@main/import.json\nhttps://raw.githubusercontent.com/DowneyRem/PixivSource/main/import.json", "type": 0 }, { "customOrder": 3, "sourceName": "兽人小说站", "sourceUrl": "https://www.furrynovel.com/zh/?utm_source=reader", "sourceIcon": "https://www.furrynovel.com/static/icon.png", "sourceGroup": "🐲 Furry", "articleStyle": 0, "enableJs": true, "enabled": true, "enabledCookieJar": true, "header": "{\"User-Agent\":\"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Mobile Safari/537.36 Reader\"}", "injectJs": "if (!/^https:\\/\\/(so\\.toutiao\\.com\\/search\\/?|quark\\.sm\\.cn\\/s|wap\\.sogou\\.com\\/web\\/searchList\\.jsp|m\\.so\\.com\\/s|cn\\.bing\\.com\\/search|www\\.baidu\\.com\\/s)\\?/.test(window.location.href) && !document.getElementById('open-yuedu-bookshelf')) {\n const btn = document.createElement('div');\n btn.innerHTML = ``;\n document.body.appendChild(btn);\n}\n\nlet time, num=0;\nconst herfs = new Map();\nfunction onTouchStart(evt) {\n for (const el of evt.path) {\n if (el.tagName === \"A\") {\n if (el.href !== 'javascript:void(0)') {\n const inner = el.href;\n herfs.set(el, inner);\n el.setAttribute('href', 'javascript:void(0)');\n time = setTimeout(() => {\twindow.open(`legado://import/addToBookshelf?src=${encodeURIComponent(inner)}`, '_blank')\n }, 600);\n }\n break;\n }\n }\n}\n\nfunction onTouchEnd(evt) {\n if (time) {\n clearTimeout(time);\n time = undefined;\n }\n for (const el of evt.path) {\n if (el.tagName === \"A\") {\n if (el.href === 'javascript:void(0)') {\n const herf = herfs.get(el);\n if (herf) {\n el.setAttribute('href', herf)\n }\n }\n break;\n }\n }\n}\n\nfunction addListener(els){\n Array.from(els, (item) => {\n if (item.getAttribute('add-yuedu-bookshelf') !== 'add-yuedu-bookshelf' && item.innerText && item.href && !/^#|^javascript:/.test(item.href)) {\n item.setAttribute('add-yuedu-bookshelf', 'add-yuedu-bookshelf');\n item.addEventListener('touchstart', onTouchStart);\n item.addEventListener('touchend', onTouchEnd);\n item.addEventListener('touchcancel', onTouchEnd);\n item.addEventListener('mousedown', onTouchStart);\n item.addEventListener('mouseup', onTouchEnd);\n }\n });\n num= els.length;\n}\n\nfunction reAdd(){\n const els = document.getElementsByTagName('a');\n if(els.length>num)addListener(els);\n}\n\nreAdd();\n\nconst observer = new ResizeObserver(reAdd);\nobserver.observe(document.body);", "jsLib": "function getWebViewUA() {\n let {java} = this\n let userAgent = String(java.getWebViewUA())\n if (userAgent.includes(\"Windows NT 10.0; Win64; x64\")) {\n userAgent = \"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Mobile Safari/537.36\"\n }\n return String(userAgent)\n}\n\nfunction sleep(time) {\n let endTime = new Date().getTime() + time\n while(true){\n if (new Date().getTime() > endTime){\n return;\n }\n }\n}\n\nfunction sleepToast(text, second) {\n let {java} = this\n java.log(text)\n java.longToast(text)\n if (second === undefined) {second = 0.01}\n this.sleep(1000*second)\n}", "lastUpdateTime": 1769875200251, "loginUi": "[\n {\n \"name\": \"🔰 使用指南\",\n \"type\": \"button\",\n \"action\": \"startGithubIntroduction()\",\n \"style\": {\n \"layout_flexGrow\": 1,\n \"layout_flexBasisPercent\": -1\n }\n },\n {\n \"name\": \"\\uD83D\\uDCD8 书源指南\",\n \"type\": \"button\",\n \"action\": \"startGithubReadme()\",\n \"style\": {\n \"layout_flexGrow\": 1,\n \"layout_flexBasisPercent\": -1\n }\n },\n {\n \"name\": \"\\uD83D\\uDC1E 反馈问题\",\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\": \"\\uD83D\\uDCBE 备份恢复\",\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\": \"\\uD83D\\uDC3A 兽人阅读\",\n \"type\": \"button\",\n \"action\": \"startTelegramFurryReading()\",\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\nfunction startBrowser(url, title) {\n let msg = \"\", headers = `{\"headers\": {\"User-Agent\":\"${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 sleepToast(msg)\n java.startBrowser(`${url}, ${headers}`, title)\n}\n\nfunction startGithubIntroduction() {\n startBrowser(\"https://pixivsource.pages.dev/BetterExperience\", \"阅读指南\")\n}\nfunction startGithubReadme() {\n startBrowser(\"https://pixivsource.pages.dev/FurryNovel\", \"书源指南\")\n}\nfunction startGithubIssue() {\n startBrowser(\"https://github.com/DowneyRem/PixivSource/issues\", \"反馈问题\")\n}\nfunction startGithub() {\n startBrowser(\"https://github.com/DowneyRem/PixivSource\", \"书源介绍\")\n}\nfunction startGithubWebdavBackup() {\n startBrowser(\"https://pixivsource.pages.dev/WebdavBackup\", \"远程书籍\")\n}\nfunction startGithubRemoteBooks() {\n startBrowser(\"https://pixivsource.pages.dev/RemoteBooks\", \"远程书籍\")\n}\nfunction startGithubSponsor() {\n startBrowser(\"https://pixivsource.pages.dev/Sponsor\", \"支持开发\")\n}\n\nfunction startTelegram() {\n startBrowser(\"https://t.me/PixivSource\", \"书源频道\")\n}\nfunction startTelegramLegadoBeta() {\n startBrowser(\"https://t.me/Legado_Beta\", \"阅读频道\")\n}\nfunction startTelegramFurryReading() {\n startBrowser(\"https://t.me/FurryReading\", \"兽人阅读频道\")\n}", "singleUrl": true, "sourceComment": "兽人控小说站 订阅源\n\n可用功能:✅添加小说(配合书源)✅更新书源\n添加小说:打开小说,点击底部按钮【加入书架】,添加小说到书架\n\n书源发布:\nPixiv 书源频道 https://t.me/PixivSource\n兽人阅读频道 https://t.me/FurryReading\n\n项目地址:\nhttps://github.com/DowneyRem/PixivSource\nhttps://github.com/eigeen/PixivSourceProject\n\n规则订阅:Import 订阅源\nhttps://cdn.jsdelivr.net/gh/DowneyRem/PixivSource@main/import.json\nhttps://raw.githubusercontent.com/DowneyRem/PixivSource/main/import.json", "type": 0 }, { "customOrder": 4, "sourceName": "Pixiv 书源", "sourceUrl": "https://pixivsource.pages.dev", "sourceIcon": "https://cdn.jsdelivr.net/gh/DowneyRem/PixivSource@main/doc/pic/BookSourcePixiv.png", "sourceGroup": "🅿️ Pixiv,🐲 Furry", "articleStyle": 0, "enableJs": true, "enabled": true, "enabledCookieJar": true, "header": "{\"User-Agent\":\"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Mobile Safari/537.36 Reader\"}", "jsLib": "function getWebViewUA() {\n let {java} = this\n let userAgent = String(java.getWebViewUA())\n if (userAgent.includes(\"Windows NT 10.0; Win64; x64\")) {\n userAgent = \"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Mobile Safari/537.36\"\n }\n return String(userAgent)\n}\n\nfunction sleep(time) {\n let endTime = new Date().getTime() + time\n while(true){\n if (new Date().getTime() > endTime){\n return;\n }\n }\n}\n\nfunction sleepToast(text, second) {\n let {java} = this\n java.log(text)\n java.longToast(text)\n if (second === undefined) {second = 0.01}\n this.sleep(1000*second)\n}", "lastUpdateTime": 1769875200251, "loginUi": "[\n {\n \"name\": \"🔰 使用指南\",\n \"type\": \"button\",\n \"action\": \"startGithubIntroduction()\",\n \"style\": {\n \"layout_flexGrow\": 1,\n \"layout_flexBasisPercent\": -1\n }\n },\n {\n \"name\": \"\\uD83D\\uDCD8 书源指南\",\n \"type\": \"button\",\n \"action\": \"startGithubReadme()\",\n \"style\": {\n \"layout_flexGrow\": 1,\n \"layout_flexBasisPercent\": -1\n }\n },\n {\n \"name\": \"\\uD83D\\uDC1E 反馈问题\",\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\": \"\\uD83D\\uDCBE 备份恢复\",\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\": \"\\uD83D\\uDCD6 阅读频道\",\n \"type\": \"button\",\n \"action\": \"startTelegramLegadoBeta()\",\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\nfunction startBrowser(url, title) {\n let msg = \"\", headers = `{\"headers\": {\"User-Agent\":\"${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 sleepToast(msg)\n java.startBrowser(`${url}, ${headers}`, title)\n}\n\nfunction startGithubIntroduction() {\n startBrowser(\"https://pixivsource.pages.dev/BetterExperience\", \"阅读指南\")\n}\nfunction startGithubReadme() {\n startBrowser(\"https://pixivsource.pages.dev/Pixiv\", \"书源指南\")\n}\nfunction startGithubIssue() {\n startBrowser(\"https://github.com/DowneyRem/PixivSource/issues\", \"反馈问题\")\n}\nfunction startGithub() {\n startBrowser(\"https://github.com/DowneyRem/PixivSource\", \"书源介绍\")\n}\nfunction startGithubWebdavBackup() {\n startBrowser(\"https://pixivsource.pages.dev/WebdavBackup\", \"远程书籍\")\n}\nfunction startGithubRemoteBooks() {\n startBrowser(\"https://pixivsource.pages.dev/RemoteBooks\", \"远程书籍\")\n}\nfunction startGithubSponsor() {\n startBrowser(\"https://pixivsource.pages.dev/Sponsor\", \"支持开发\")\n}\n\nfunction startTelegram() {\n startBrowser(\"https://t.me/PixivSource\", \"书源频道\")\n}\nfunction startTelegramLegadoBeta() {\n startBrowser(\"https://t.me/Legado_Beta\", \"阅读频道\")\n}\nfunction startTelegramFurryReading() {\n startBrowser(\"https://t.me/FurryReading\", \"兽人阅读频道\")\n}", "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\nhttps://github.com/eigeen/PixivSourceProject\n\n规则订阅:Import 订阅源\nhttps://cdn.jsdelivr.net/gh/DowneyRem/PixivSource@main/import.json\nhttps://raw.githubusercontent.com/DowneyRem/PixivSource/main/import.json", "type": 0 }, { "customOrder": 5, "sourceName": "兽人控游戏索引", "sourceUrl": "https://furrygames.top/zh-cn/list-b.html", "sourceIcon": "https://cdn.jsdelivr.net/gh/FurryGamesIndex/games@master/assets/_README/logo.png", "sourceGroup": "🐲 Furry", "loginUrl": "https://github.com/FurryGamesIndex/games", "lastUpdateTime": 1763049600251, "articleStyle": 0, "enableJs": true, "enabled": true, "enabledCookieJar": true, "singleUrl": true, "type": 0 }, { "customOrder": 6, "sourceName": "兽人游戏库", "sourceUrl": "https://kemono.games/zh-Hans/explore?sort=latest_update", "sourceIcon": "https://img.srkyxk.com/logo-512x512.png", "sourceGroup": "🐲 Furry", "loginUrl": "https://kemono.games/zh-Hans/user/login", "lastUpdateTime": 1763049600251, "articleStyle": 0, "enableJs": true, "enabled": true, "enabledCookieJar": true, "singleUrl": true, "type": 0 }, { "customOrder": 7, "sourceName": "兽展日历", "sourceUrl": "https://www.furrycons.cn", "sourceIcon": "https://images.furrycons.cn/logo_800x800.png", "sourceGroup": "🐲 Furry", "loginUrl": "https://github.com/FurryConsChina/website", "lastUpdateTime": 1763049600251, "articleStyle": 0, "enableJs": true, "enabled": true, "enabledCookieJar": true, "singleUrl": true, "type": 0 }, { "customOrder": 8, "sourceName": "兽聚汇总", "sourceUrl": "https://www.furryfusion.net", "sourceIcon": "https://www.furryfusion.net/images/LOGO.png", "sourceGroup": "🐲 Furry", "lastUpdateTime": 1763049600251, "articleStyle": 0, "enableJs": true, "enabled": true, "enabledCookieJar": true, "singleUrl": true, "type": 0 } ]