├── .github
├── ISSUE_TEMPLATE
│ ├── 01-bugReport.yaml
│ ├── 02-featureRequest.yaml
│ ├── 03-questionAsk.yaml
│ └── config.yml
└── workflows
│ └── Refresh.yml
├── .gitignore
├── README.md
├── books.json
├── btsrk.json
├── btsrk
├── base.header.json
├── base.loginUI.json
├── base.loginUrl.js
├── furry.json
├── webview.inject.js
└── webview.inject2.js
├── doc
├── Download.md
├── FurryNovel.md
├── Import.md
├── Import2.md
├── ImportBookSource.md
├── ImportRssSource.md
├── Linpx.md
├── Pixiv.md
├── ReadMe.md
├── RemoteBooks.md
├── TooLongToRead.md
├── TroubleShoot.md
├── Version.md
├── WebdavBackup.md
└── pic
│ ├── AddBookViaFurryNovel1.png
│ ├── AddBookViaFurryNovel2.png
│ ├── AddBookViaLinpx.png
│ ├── AddBookViaPixiv1.png
│ ├── AddBookViaPixiv2.png
│ ├── AddBookViaUrl1.png
│ ├── AddBookViaUrl2.png
│ ├── AddBookViaUrl3.png
│ ├── DiscoverFurryNovel.png
│ ├── DiscoverFurryNovelSort.png
│ ├── DiscoverLinpx.png
│ ├── DiscoverPixiv.jpg
│ ├── DiscoverPixivLikes.jpg
│ ├── DiscoverPixivRanking.png
│ ├── DownloadLegado.png
│ ├── DownloadResource.png
│ ├── FurryNovelRaces.png
│ ├── FurryNovelWebpage.png
│ ├── ImportOnlineBookSource1.jpg
│ ├── ImportOnlineBookSource2.jpg
│ ├── ImportOnlineBookSource3.jpg
│ ├── ImportOnlineRssSource1.png
│ ├── ImportOnlineRssSource2.png
│ ├── ImportOnlineRssSource3.jpg
│ ├── ImportOnlineRssSource4.jpg
│ ├── InportBookSourceLinpx.jpg
│ ├── InportBookSourceLinpx.png
│ ├── InportBookSourcePixiv.jpg
│ ├── InportRssSourceBooks.jpg
│ ├── InportRssSourceBtsrk.png
│ ├── InportRssSourceImport.png
│ ├── Legado-Pixiv.png
│ ├── Legado-Pixiv1200x800.png
│ ├── Legado-Version-Pro.png
│ ├── Legado-Version-R18.png
│ ├── Legado-Version-iOS.png
│ ├── LinpxConvertPixivUrl1.png
│ ├── LinpxConvertPixivUrl2.png
│ ├── LinpxWebpage.png
│ ├── OpenInLegado.png
│ ├── OpenInQQ.png
│ ├── PixivLogin1.jpg
│ ├── PixivLogin2.jpg
│ ├── PixivLoginUI.jpg
│ ├── PixivNovelRanking.png
│ ├── PixivSettingsBirth.png
│ ├── PixivSettingsView.png
│ ├── RemoteBooksSettings0.png
│ ├── RemoteBooksSettings1.png
│ ├── RemoteBooksSettings2.png
│ ├── RemoteBooksSettings3.png
│ ├── RemoteBooksSettings4.png
│ ├── RemoteBooksSettings5.png
│ ├── RemoteBooksSettings6.png
│ ├── RemoteBooksSettings7.png
│ ├── ReplaceTurnOff.png
│ ├── RssSourceImportLogo.png
│ ├── RssSourceImportWebpage.png
│ ├── SearchViaFurryNovel.png
│ ├── SearchViaLegado.png
│ ├── SearchViaLegadoAuthor.jpg
│ ├── SearchViaLegadoConvert.jpg
│ ├── SearchViaLegadoHashtag.jpg
│ ├── SearchViaLegadoWordCountFilter1.jpg
│ ├── SearchViaLegadoWordCountFilter2.jpg
│ ├── SearchViaLinpx.png
│ ├── SearchViaPixiv.png
│ ├── SetSourceVariable0.png
│ ├── SetSourceVariable1.png
│ ├── SetSourceVariable2.png
│ ├── SubscribeBoookSourceLinpx.jpg
│ ├── SubscribeBoookSourcePixiv.jpg
│ ├── SubscribeEntry.png
│ ├── SubscribeHomePage.jpg
│ ├── SubscribeHomePage.png
│ ├── SubscribeRssSourceBtsrk.jpg
│ ├── SubscribeRssSourceImport.png
│ ├── UpdateSource.jpg
│ ├── WebdavBackup0.png
│ ├── WebdavBackup1.png
│ ├── WebdavBackup2.png
│ └── WebdavBackup3.png
├── furrynovel
├── ReadMe.txt
├── base.bookUrlPattern.txt
├── base.header.json
├── base.jsLib.js
├── base.loginCheckJS.js
├── base.variableComment.txt
├── catalog.js
├── content.js
├── detail.js
├── discover.js
├── discover_address.js
├── search.js
└── searchUrl.js
├── import.json
├── import
├── Readme.md
├── base.header.json
├── base.loginUrl.js
├── base.sortUrl.js
├── base.sourceComment.txt
├── list.ruleArticles.js
├── list.ruleDescription.js
├── list.ruleImage.js
├── list.ruleLink.js
├── list.rulePubDate.js
└── list.ruleTitle.txt
├── linpx.json
├── linpx
├── ReadMe.txt
├── base.bookUrlPattern.txt
├── base.header.json
├── base.jsLib.js
├── base.loginCheckJS.js
├── base.variableComment.txt
├── catalog.js
├── content.js
├── detail.js
├── discover.js
├── discover_address.js
├── search.js
└── searchUrl.js
├── normal.json
├── pixiv.json
├── pixiv
├── ReadMe.txt
├── base.bookUrlPattern.txt
├── base.header.json
├── base.jsLib.js
├── base.loginCheckJS.js
├── base.loginUI.json
├── base.loginUrl.js
├── base.variableComment.txt
├── catalog.js
├── content.js
├── detail.js
├── discover.js
├── discover_address.js
├── search.js
└── searchUrl.js
├── pixivToc.json
├── pixiv_backup
├── ReadMe.txt
├── base.bookUrlPattern.txt
├── base.header.json
├── base.jsLib.js
├── base.loginCheckJS.js
├── base.variableComment.txt
├── catalog.js
├── content.js
├── detail.js
├── discover.js
├── discover_address.js
├── search.js
└── searchUrl.js
└── pixiv_illust
├── ReadMe.txt
├── base.bookUrlPattern.txt
├── base.header.json
├── base.jsLib.js
├── base.loginCheckJS.js
├── base.variableComment.txt
├── catalog.js
├── content.js
├── detail.js
├── discover.js
├── discover_address.js
├── search.js
└── searchUrl.js
/.github/ISSUE_TEMPLATE/01-bugReport.yaml:
--------------------------------------------------------------------------------
1 | name: BUG 提交 / BUG Report
2 | description: 反馈 bug / Report bugs to developers
3 | title: "[BUG]"
4 | labels: ["BUG"]
5 | body:
6 | - type: checkboxes
7 | attributes:
8 | label: 确认 / Assignments
9 | description: 提交issue请确保完成以下前提,否则该issue可能被忽略 / Make sure you read checkboxs below
10 | options:
11 | - label: 最新[测试版](https://github.com/gedoor/legado/actions/workflows/test.yml)依然存在此问题 / Latest beta app does not work
12 | required: true
13 | - label: 此问题和Xposed、Lsposed、Magisk、手机主题、浏览器插件、无障碍服务等无关 / Make sure your machine is not touched by hook frameworks, plugins, accessibility etc
14 | required: true
15 |
16 | - type: textarea
17 | attributes:
18 | label: 问题描述 / Describe Bugs
19 | validations:
20 | required: true
21 | - type: textarea
22 | attributes:
23 | label: 复现步骤 / How to reproduce
24 | validations:
25 | required: true
26 | - type: textarea
27 | attributes:
28 | label: 出现问题的小说链接 / BUG Novels URL Link
29 | placeholder: |
30 | https://www.pixiv.net/novel/show.php?id=123
31 | https://www.pixiv.net/novel/series/123
32 |
33 | - type: checkboxes
34 | attributes:
35 | label: 确认 / Assignment
36 | options:
37 | - label: 已经提交复现所需要的附加资料 / Submit additions related with bugs
38 | required: true
39 |
40 | - type: input
41 | attributes:
42 | label: 阅读版本 / Legado version
43 | description: |
44 | 阅读 - 我的 - 关于- 更新日志
45 | placeholder: "3.22.110823"
46 | validations:
47 | required: true
48 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/02-featureRequest.yaml:
--------------------------------------------------------------------------------
1 | name: 功能请求 / Features
2 | description: 功能请求 / Request new features
3 | title: "[Features]"
4 | labels: ["需求"]
5 | body:
6 | - type: checkboxes
7 | attributes:
8 | label: 确认 / Assignments
9 | description: 提交issue请确保完成以下前提,否则该issue可能被忽略 / Make sure you read checkbox below
10 | options:
11 | - label: 搜索现有issues,不存在相似或相关的issue / No related requests
12 | required: true
13 |
14 | - type: textarea
15 | attributes:
16 | label: 功能描述 / Features
17 | placeholder: 请清晰的、详细的描述你想要的功能
18 | validations:
19 | required: true
20 | - type: textarea
21 | attributes:
22 | label: 附加信息 / Additions
23 | placeholder: 其他的与功能相关的附加信息
24 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/03-questionAsk.yaml:
--------------------------------------------------------------------------------
1 | name: 提出问题 / Question
2 | description: 提出问题 / Ask a Question
3 | title: "[Question]"
4 | labels: ["问题"]
5 | body:
6 | - type: checkboxes
7 | attributes:
8 | label: 确认 / Assignments
9 | description: 提交 issue 请确保完成以下前提,否则该 issue 可能被忽略 / Make sure you read checkbox below
10 | options:
11 | - label: 搜索现有 issues,不存在相似或相关的 issue;阅读相关 ReadeMe 文档,文档中不存在相关内容(除非内容已失效) / No related issue & ReadMe (Unless the content is expired)
12 | required: true
13 |
14 | - type: textarea
15 | attributes:
16 | label: 你的问题 / your Question
17 | placeholder: 请清晰的、详细的描述你所遇到的问题(如何连接、配置代理不在回答的范围内)
18 | validations:
19 | required: true
20 | - type: textarea
21 | attributes:
22 | label: 附加信息 / Additions
23 | placeholder: 其他相关信息
24 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/config.yml:
--------------------------------------------------------------------------------
1 | blank_issues_enabled: false
2 | contact_links:
3 | - name: 阅读软件问题 / legado bug & feature
4 | url: https://github.com/gedoor/legado/issues
5 | about: |
6 | 阅读软件问题请优先到 开源阅读 legado 反馈 / Go to Legado to Report bugs or Request features
7 | - name: Linpx 网站问题 / Linpx website bug
8 | url: https://furrynovel.ink/about
9 | about: |
10 | 网站问题请优先到站方反馈 / Go to the Website to Report bugs
11 |
--------------------------------------------------------------------------------
/.github/workflows/Refresh.yml:
--------------------------------------------------------------------------------
1 | name: Purge Caches
2 |
3 | on:
4 | push:
5 | branches:
6 | - main
7 | tags:
8 | - 'ver*.*.*'
9 | paths:
10 | - "**.json"
11 | release:
12 | types: [created, edited, published]
13 | workflow_dispatch:
14 |
15 | jobs:
16 | purgeCache1:
17 | name: Purge Pixiv Cache
18 | runs-on: ubuntu-latest
19 | steps:
20 | - name: Purge Jsdelivr Cache
21 | run: |
22 | result=$(curl -s https://purge.jsdelivr.net/gh/windyhusky/PixivSource@main/pixiv.json)
23 | if echo $result |grep -q 'finished'; then
24 | echo "Pixiv 书源 jsdelivr 缓存更新成功"
25 | else
26 | echo $result
27 | fi
28 |
29 | purgeCache2:
30 | name: Purge Linpx Cache
31 | runs-on: ubuntu-latest
32 | steps:
33 | - name: Purge Jsdelivr Cache
34 | run: |
35 | result=$(curl -s https://purge.jsdelivr.net/gh/windyhusky/PixivSource@main/linpx.json)
36 | if echo $result |grep -q 'finished'; then
37 | echo "Linpx 书源 jsdelivr 缓存更新成功"
38 | else
39 | echo $result
40 | fi
41 |
42 | purgeCache3:
43 | name: Purge BTSRK Cache
44 | runs-on: ubuntu-latest
45 | steps:
46 | - name: Purge Jsdelivr Cache
47 | run: |
48 | result=$(curl -s https://purge.jsdelivr.net/gh/windyhusky/PixivSource@main/btsrk.json)
49 | if echo $result |grep -q 'finished'; then
50 | echo "BTSRK 订阅源 jsdelivr 缓存更新成功"
51 | else
52 | echo $result
53 | fi
54 |
55 | purgeCache4:
56 | name: Purge Books Cache
57 | runs-on: ubuntu-latest
58 | steps:
59 | - name: Purge Jsdelivr Cache
60 | run: |
61 | result=$(curl -s https://purge.jsdelivr.net/gh/windyhusky/PixivSource@main/books.json)
62 | if echo $result |grep -q 'finished'; then
63 | echo "Books 订阅源 jsdelivr 缓存更新成功"
64 | else
65 | echo $result
66 | fi
67 |
68 | purgeCache5:
69 | name: Purge Import Cache
70 | runs-on: ubuntu-latest
71 | steps:
72 | - name: Purge Jsdelivr Cache
73 | run: |
74 | result=$(curl -s https://purge.jsdelivr.net/gh/windyhusky/PixivSource@main/import.json)
75 | if echo $result |grep -q 'finished'; then
76 | echo "Import 订阅源 jsdelivr 缓存更新成功"
77 | else
78 | echo $result
79 | fi
80 |
81 | purgeCache6:
82 | name: Purge Normal Cache
83 | runs-on: ubuntu-latest
84 | steps:
85 | - name: Purge BTSRK Jsdelivr Cache
86 | run: |
87 | result=$(curl -s https://purge.jsdelivr.net/gh/windyhusky/PixivSource@main/normal.json)
88 | if echo $result |grep -q 'finished'; then
89 | echo "Normal 书源 jsdelivr 缓存更新成功"
90 | else
91 | echo $result
92 | fi
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | /.idea
2 | /.test
3 | node_modules
4 | *.pdf
--------------------------------------------------------------------------------
/btsrk/base.header.json:
--------------------------------------------------------------------------------
1 | {"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"}
--------------------------------------------------------------------------------
/btsrk/base.loginUI.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name": "\uD83C\uDD7F️ 登录账号",
4 | "type": "button",
5 | "action": "login()",
6 | "style": {
7 | "layout_flexGrow": 1,
8 | "layout_flexBasisPercent": -1
9 | }
10 | },
11 | {
12 | "name": "⚙️ 账号设置",
13 | "type": "button",
14 | "action": "startPixivSettings()",
15 | "style": {
16 | "layout_flexGrow": 1,
17 | "layout_flexBasisPercent": -1
18 | }
19 | },
20 | {
21 | "name": "\uD83D\uDD19 退出账号",
22 | "type": "button",
23 | "action": "logout()",
24 | "style": {
25 | "layout_flexGrow": 1,
26 | "layout_flexBasisPercent": -1
27 | }
28 | },
29 | {
30 | "name": "✉️ 查看私信",
31 | "type": "button",
32 | "action": "startPixivMessages()",
33 | "style": {
34 | "layout_flexGrow": 1,
35 | "layout_flexBasisPercent": -1
36 | }
37 | },
38 | {
39 | "name": "\uD83D\uDD14 查看通知",
40 | "type": "button",
41 | "action": "startPixivNotification()",
42 | "style": {
43 | "layout_flexGrow": 1,
44 | "layout_flexBasisPercent": -1
45 | }
46 | },
47 | {
48 | "name": "⭐️ 收藏项目",
49 | "type": "button",
50 | "action": "startGithub()",
51 | "style": {
52 | "layout_flexGrow": 1,
53 | "layout_flexBasisPercent": -1
54 | }
55 | },
56 | {
57 | "name": "🆙 更新书源",
58 | "type": "button",
59 | "action": "updateSource()",
60 | "style": {
61 | "layout_flexGrow": 1,
62 | "layout_flexBasisPercent": -1
63 | }
64 | },
65 | {
66 | "name": "\uD83D\uDD30 使用指南",
67 | "type": "button",
68 | "action": "startGithubReadme()",
69 | "style": {
70 | "layout_flexGrow": 1,
71 | "layout_flexBasisPercent": -1
72 | }
73 | },
74 | {
75 | "name": "\uD83D\uDC1E 反馈问题",
76 | "type": "button",
77 | "action": "startGithubIssue()",
78 | "style": {
79 | "layout_flexGrow": 1,
80 | "layout_flexBasisPercent": -1
81 | }
82 | }
83 | ]
--------------------------------------------------------------------------------
/btsrk/base.loginUrl.js:
--------------------------------------------------------------------------------
1 | function sleep(time) {
2 | let endTime = new Date().getTime() + time
3 | while(true){
4 | if (new Date().getTime() > endTime){
5 | return;
6 | }
7 | }
8 | }
9 | function sleepToast(text, second) {
10 | const {java} = this
11 | java.log(text)
12 | java.longToast(text)
13 | if (second === undefined || second <= 3) {second = 3}
14 | sleep(1000*second)
15 | }
16 |
17 | function login() {
18 | resp = java.startBrowserAwait(`https://accounts.pixiv.net/login,{"headers": {"User-Agent": "${cache.get("userAgent")}"}}`, '登录账号', false).body()
19 | }
20 | function logout() {
21 | removeCookie()
22 | java.startBrowser("https://www.pixiv.net/logout.php", "退出账号")
23 | removeCookie()
24 | sleepToast(`已退出当前账号\n退出后请点击右上角的✔️退出\n登录请点击“登录账号”进行登录`)
25 | }
26 | function removeCookie() {
27 | cookie.removeCookie('https://www.pixiv.net')
28 | cookie.removeCookie('https://accounts.pixiv.net')
29 | cookie.removeCookie('https://accounts.google.com')
30 | cookie.removeCookie('https://api.weibo.com')
31 | cache.delete("pixivCookie")
32 | cache.delete("csfrToken") // 与登录设备有关
33 | cache.delete("headers")
34 | }
35 |
36 | function getUserAgent() {
37 | let userAgent = String(source.getHeaderMap(true)).slice(12,-1)
38 | cache.put("userAgent", userAgent)
39 | // java.log(userAgent)
40 | return userAgent
41 | }
42 | function startBrowser(url, title) {
43 | let userAgent = cache.get("userAgent")
44 | if (userAgent === null) userAgent = getUserAgent()
45 | java.startBrowser(`${url},{"headers": {${userAgent}}}`, title)
46 | }
47 | function startPixivSettings() {
48 | startBrowser("https://www.pixiv.net/settings/viewing", "账号设置")
49 | }
50 | function startPixivMessages() {
51 | startBrowser("https://www.pixiv.net/messages.php", "查看私信")
52 | }
53 | function startPixivNotification() {
54 | startBrowser("https://www.pixiv.net/notify_all.php", "查看通知")
55 | }
56 | function startPixivMuteUser() {
57 | startBrowser("https://www.pixiv.net/settings/viewing/mute?type=user", "屏蔽用户")
58 | }
59 | function startPixivBlockUsers() {
60 | startBrowser("https://www.pixiv.net/settings/privacy/block-users", "查黑名单")
61 | }
62 |
63 | function startGithub() {
64 | startBrowser("https://github.com/windyhusky/PixivSource", "书源介绍")
65 | }
66 | function startGithubIssue() {
67 | startBrowser("https://github.com/windyhusky/PixivSource/issues", "反馈问题")
68 | }
69 | function startGithubReadme() {
70 | startBrowser("https://github.com/windyhusky/PixivSource/blob/main/doc/Pixiv.md", "使用指南")
71 | }
72 |
73 | function updateSource() {
74 | const {java, source} = this
75 | let onlineSource, comment
76 | try {
77 | let updateUrl = "https://cdn.jsdelivr.net/gh/windyhusky/PixivSource@main/pixiv.json"
78 | onlineSource = JSON.parse(java.get(updateUrl,{'User-Agent': 'Mozilla/5.0 (Linux; Android 14)','X-Requested-With': 'XMLHttpRequest'}).body())[0] // 第1个书源
79 | comment = onlineSource.bookSourceComment.split("\n")
80 | } catch (e) {
81 | try {
82 | let updateUrl = "https://raw.githubusercontent.com/windyhusky/PixivSource/main/pixiv.json"
83 | onlineSource = JSON.parse(java.get(updateUrl,{'User-Agent': 'Mozilla/5.0 (Linux; Android 14)','X-Requested-With': 'XMLHttpRequest'}).body())[0] // 第1个书源
84 | comment = onlineSource.bookSourceComment.split("\n")
85 | } catch (e) {
86 | onlineSource = {lastUpdateTime: new Date().getTime()}
87 | comment = source.bookSourceComment.split("\n")
88 | }
89 | }
90 |
91 | let htm = `data:text/html; charset=utf-8,
92 |
93 |
94 |
95 | 更新 Pixiv 书源
96 |
104 |
105 |
106 |
107 |
108 | Pixiv 书源 🔰 使用指南 |
109 | ☁️ 远程仓库版本:${java.timeFormat(onlineSource.lastUpdateTime)} |
110 | 📥 阅读本地版本:${java.timeFormat(source.lastUpdateTime)} |
111 | ${comment.slice(2,9).join(" ")} |
112 | ${comment.slice(comment.length-7, comment.length).join(" ")} |
113 |
114 |
115 |
116 | 更新 Pixiv 书源 |
117 | |
121 |
122 | |
126 |
127 |
128 | |
132 |
133 | |
137 |
138 |
139 | |
143 |
144 | |
148 |
149 |
150 |
151 | `;
152 | java.startBrowser(htm,'更新书源');
153 | return []
154 | }
--------------------------------------------------------------------------------
/btsrk/furry.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name":"Pixiv",
4 | "link":"https://www.pixiv.net/novel",
5 | "icon":"https://asset.brandfetch.io/idIlKj_n7C/idSsbP7h1m.png"
6 | },
7 | {
8 | "name":"Linpx",
9 | "link":"https://furrynovel.ink/?from=read",
10 | "icon":"https://furrynovel.ink/apple-touch-icon.png"
11 | },
12 | {
13 | "name":"兽人控小说站",
14 | "link":"https://www.furrynovel.com/zh/?utm_source=reader",
15 | "icon":"https://www.furrynovel.com/static/icon.png"
16 | },
17 | {
18 | "name":"兽人控游戏索引",
19 | "link":"https://furrygames.top/zh-cn/list-b.html",
20 | "icon":"https://raw.githubusercontent.com/FurryGamesIndex/games/master/assets/_README/logo.png"
21 | },
22 | {
23 | "name":"兽人控游戏库",
24 | "link":"https://kemono.games/zh-Hans/explore?sort=latest_update",
25 | "icon":"https://img.srkyxk.com/logo-512x512.png"
26 | },
27 | {
28 | "name":"兽展日历",
29 | "link":"https://www.furrycons.cn",
30 | "icon":"https://images.furrycons.cn/logo_800x800.png"
31 | },
32 | {
33 | "name":"兽聚汇总",
34 | "link":"https://www.furryfusion.net",
35 | "icon":"https://www.furryfusion.net/images/LOGO.png"
36 | }
37 | ]
--------------------------------------------------------------------------------
/btsrk/webview.inject.js:
--------------------------------------------------------------------------------
1 | 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')) {
2 | const btn = document.createElement('div');
3 | btn.innerHTML = ``;
7 | document.body.appendChild(btn);
8 | }
9 |
10 | let time, num=0;
11 | const herfs = new Map();
12 | function onTouchStart(evt) {
13 | for (const el of evt.path) {
14 | if (el.tagName === "A") {
15 | if (el.href !== 'javascript:void(0)') {
16 | const inner = el.href;
17 | herfs.set(el, inner);
18 | el.setAttribute('href', 'javascript:void(0)');
19 | time = setTimeout(() => { window.open(`legado://import/addToBookshelf?src=${encodeURIComponent(inner)}`, '_blank')
20 | }, 600);
21 | }
22 | break;
23 | }
24 | }
25 | }
26 |
27 | function onTouchEnd(evt) {
28 | if (time) {
29 | clearTimeout(time);
30 | time = undefined;
31 | }
32 | for (const el of evt.path) {
33 | if (el.tagName === "A") {
34 | if (el.href === 'javascript:void(0)') {
35 | const herf = herfs.get(el);
36 | if (herf) {
37 | el.setAttribute('href', herf)
38 | }
39 | }
40 | break;
41 | }
42 | }
43 | }
44 |
45 | function addListener(els){
46 | Array.from(els, (item) => {
47 | if (item.getAttribute('add-yuedu-bookshelf') !== 'add-yuedu-bookshelf' && item.innerText && item.href && !/^#|^javascript:/.test(item.href)) {
48 | item.setAttribute('add-yuedu-bookshelf', 'add-yuedu-bookshelf');
49 | item.addEventListener('touchstart', onTouchStart);
50 | item.addEventListener('touchend', onTouchEnd);
51 | item.addEventListener('touchcancel', onTouchEnd);
52 | item.addEventListener('mousedown', onTouchStart);
53 | item.addEventListener('mouseup', onTouchEnd);
54 | }
55 | });
56 | num= els.length;
57 | }
58 |
59 | function reAdd(){
60 | const els = document.getElementsByTagName('a');
61 | if(els.length>num)addListener(els);
62 | }
63 |
64 | reAdd();
65 |
66 | const observer = new ResizeObserver(reAdd);
67 | observer.observe(document.body);
--------------------------------------------------------------------------------
/btsrk/webview.inject2.js:
--------------------------------------------------------------------------------
1 | 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')) {
2 | const btn = document.createElement('div');
3 | btn.innerHTML = ``;
7 | document.body.appendChild(btn);
8 |
9 | const btn2 = document.createElement('div');
10 | btn2.innerHTML = ``;
14 | document.body.appendChild(btn2);
15 |
16 | }
17 |
18 | let time,num=0;
19 | const herfs = new Map();
20 | function onTouchStart(evt) {
21 | for (const el of evt.path) {
22 | if (el.tagName === "A") {
23 | if (el.href !== 'javascript:void(0)') {
24 | const inner = el.href;
25 | herfs.set(el, inner);
26 | el.setAttribute('href', 'javascript:void(0)');
27 | time = setTimeout(() => { window.open(`legado://import/addToBookshelf?src=${encodeURIComponent(inner)}`, '_blank')
28 | }, 600);
29 | }
30 | break;
31 | }
32 | }
33 | }
34 | function onTouchEnd(evt) {
35 | if (time) {
36 | clearTimeout(time);
37 | time = undefined;
38 | }
39 | for (const el of evt.path) {
40 | if (el.tagName === "A") {
41 | if (el.href === 'javascript:void(0)') {
42 | const herf = herfs.get(el);
43 | if (herf) {
44 | el.setAttribute('href', herf)
45 | }
46 | }
47 | break;
48 | }
49 | }
50 | }
51 |
52 | function addListener(els){
53 | Array.from(els, (item) => {
54 | if (item.getAttribute('add-yuedu-bookshelf') !== 'add-yuedu-bookshelf' && item.innerText && item.href && !/^#|^javascript:/.test(item.href)) {
55 | item.setAttribute('add-yuedu-bookshelf', 'add-yuedu-bookshelf');
56 | item.addEventListener('touchstart', onTouchStart);
57 | item.addEventListener('touchend', onTouchEnd);
58 | item.addEventListener('touchcancel', onTouchEnd);
59 | item.addEventListener('mousedown', onTouchStart);
60 | item.addEventListener('mouseup', onTouchEnd);
61 | }
62 | });
63 | num= els.length;
64 | }
65 |
66 | function reAdd(){
67 | const els = document.getElementsByTagName('a');
68 | if(els.length>num)addListener(els);
69 | }
70 |
71 | reAdd();
72 |
73 | const observer = new ResizeObserver(reAdd);
74 | observer.observe(document.body);
--------------------------------------------------------------------------------
/doc/Download.md:
--------------------------------------------------------------------------------
1 | ## 3.下载阅读
2 | 阅读的各个版本,参见[阅读版本](./Version.md)(不重要)
3 |
4 | ### 3.0 书源兼容性
5 | | 阅读版本 | Pixiv 书源 | 更新时间 | Github 导入链接 |
6 | | ---------------------- | --------- | --------- | --------------- |
7 | | 3.25.0527 - 最新版本 | 最新版 | | [Pixiv 书源](https://raw.githubusercontent.com/windyhusky/PixivSource/main/pixiv.json)|
8 | | 3.23.0503 - 3.25.0526 | 1.9.4版本 | 2025.05.28 | [Pixiv 书源](https://raw.githubusercontent.com/windyhusky/PixivSource/7ee2dcd66a7285f6f5cbd0f155713d7b1b6b71a8/pixiv.json) |
9 | | 3.22.0103 - 3.23.0404 | 1.7.4版本 | 2025.02.20 | [Pixiv 书源](https://raw.githubusercontent.com/windyhusky/PixivSource/2d6ced432578f7ff870bdd17292c85a321e3437a/pixiv.json) |
10 |
11 |
12 | | 阅读版本 | Linpx 书源 | 更新时间 | Github 导入链接 |
13 | | ---------------------- | --------- | --------- | --------------- |
14 | | 3.23.0503 - 最新版本 | 最新版 | | [Linpx 书源](https://raw.githubusercontent.com/windyhusky/PixivSource/main/linpx.json) |
15 | | 3.22.0103 - 3.23.0404 | 1.7.4版本 | 2025.02.20 | [Linpx 书源](https://raw.githubusercontent.com/windyhusky/PixivSource/b9041cf4061198e606c749c174aaa7f351e7a569/linpx.json) |
16 |
17 |
18 | ### 3.1 Android 版
19 | 阅读 Android 版
20 |
21 | #### 3.1.1 Android Beta 版
22 | **点击链接,下载安装包并安装,推荐使用共存版**
23 | https://miaogongzi.lanzout.com/b01rgkhhe
24 |
25 | | 下载站点 | 版本 | 备注 |
26 | | ------------------------------------------------------------ | ----- | -------------- |
27 | | [阅读Beta版 蓝奏云](https://miaogongzi.lanzout.com/b01rgkhhe) | 测试版 | 无需代理,无需登录 |
28 | | [Github Action](https://github.com/gedoor/legado/actions) | 测试版 | 需要代理,需要登录 |
29 | | [Telegram 频道](https://t.me/Legado_Channels) | 稳定版 | 需要代理,需要登录 |
30 | | [Telegram 频道(Beta版)](https://t.me/Legado_Beta) | 测试版 | 需要代理,需要登录 |
31 |
32 |
33 | Android 正式版 & Pro 版
34 |
35 | #### ~~3.1.2 Android 正式版~~
36 | **Android 正式版已经停止更新,不推荐继续使用**
37 |
38 | | 下载站点 | 版本 | 备注 |
39 | | ------------------------------------------------------------- | ----- | -------------- |
40 | | [喵公子阅读资源](https://yuedu.miaogongzi.net) | 稳定版 | 无需代理,无需登录 |
41 | | [Github Release](https://github.com/gedoor/legado/releases) | 稳定版 | 需要代理,无需登录 |
42 | | [Telegram 频道](https://t.me/Legado_Channels) | 稳定版 | 需要代理,需要登录 |
43 |
44 |
45 | #### ~~3.1.3 阅读 Pro 版~~
46 | **阅读 Pro 版已经停止更新,不推荐继续使用。所有 Pro 版限定功能已经移植到普通版(2023.11.01)**
47 |
48 |
49 |
50 |
51 | ### 3.2 苹果 iOS 版
52 | 阅读 iOS 版
53 | 阅读官方 iOS 版
54 |
55 | #### ~~3.2.1 官方 iOS 版~~【已停止开发】
56 | 官方 iOS 版已经停止开发
57 | ~~官方正在进行 [iOS版](https://github.com/gedoor/YueDuFlutter) 的测试,[近期在TF测试](https://gedoor.github.io/download) ,最新消息请见:[Telegram 频道(iOS版)](https://t.me/legado_ios)~~
58 |
59 | | 下载站点 | 备注 |
60 | | ---------------------------------------------------- | ---------- |
61 | | ~~[GitHub](https://github.com/gedoor/YueDuFlutter)~~ | 已经停止开发 |
62 | | ~~[Telegram 频道(iOS版)](https://t.me/legado_ios)~~ | 已经停止开发 |
63 |
64 |
65 |
66 | #### 3.2.2 非官方 iOS 版
67 | 兼容阅读书源的**非官方软件**:
68 |
69 |
70 | | 软件名称 | AppStore | Github | 付费 | 备注 |
71 | |------------ | --------- | ----------------------------------------------- | -------------------------- | ----------------------------- |
72 | | 源阅 | 无 | [源阅](https://github.com/kaich/SourceReadSite) | TestFlight 付费 ¥128 | 兼容阅读书源,【源阅读】的后续版本 |
73 | | 千阅 | [千阅](https://apps.apple.com/app/id1665963317) | 无 | 订阅制 & 永久 ~~¥98~~ ¥199 | 不完全兼容阅读书源 |
74 | | ~~读不舍手~~ | [读不舍手](https://apps.apple.com/app/id1662413517) | 无 | 订阅制 | 不完全兼容阅读书源,广告较多 |
75 |
76 |
77 | iOS 已下架软件
78 |
79 | #### 3.2.2 iOS 已下架软件
80 | | 软件名称 | AppStore | Github | 备注 |
81 | |------------ | ------------------------------------------------- | --------------------------------------- | -------------- |
82 | | 源阅读 | [源阅读](https://apps.apple.com/app/id1561787704 ) | [源阅读](https://github.com/kaich/Yuedu) | 停止维护,现已下架 |
83 | | ~~青果阅读~~ | [青果阅读](https://apps.apple.com/app/id1142490639) | 无 | 停止维护,现已下架 |
84 | | ~~花火阅读~~ | [花火阅读](https://apps.apple.com/app/id1546631588) | 无 | 停止维护,现已下架 |
85 | | ~~星文阅读~~ | [星文阅读](https://apps.apple.com/app/id1662197753) | 无 | 停止维护,现已下架 |
86 |
87 |
88 |
89 | iOS 替代软件
90 |
91 | #### 3.2.3 iOS 替代软件
92 | 不兼容阅读书源的,其他换源阅读软件
93 |
94 | | 软件名称 | 备注 |
95 | | ------------------------------------------------------ | -------------------------- |
96 | | [益达](https://github.com/xiaohucode/yidaRule/releases) | 开源(苹果&安卓) |
97 | | [用心读书](https://apps.apple.com/app/id1569793141) | 付费 TestFlight |
98 | | 香色闺阁 | 已下架 |
99 | | 爱阅书香 | 已下架 |
100 |
101 |
102 |
103 |
104 | ### 3.3 服务器版/桌面版
105 | 项目地址:https://github.com/hectorqin/reader
106 | 阅读 服务器版/桌面版
107 |
108 | | 下载站点 | 版本 | 备注 |
109 | | ------------------------------------------------------ | ----- | -------------- |
110 | | [Github](https://github.com/hectorqin/reader/releases) | | 需要代理 |
111 | | [Telegram 频道](https://t.me/facker_channel) | | 需要代理,需要登录 |
112 | | 微信公众号【假装大佬】 | | |
113 |
114 |
115 |
116 | ### 3.4 鸿蒙版【开发中,暂不可用】
117 | 项目地址:https://github.com/mgz0227/legado-Harmony
118 | 阅读 鸿蒙版
119 |
120 | | 下载站点 | 版本 | 备注 |
121 | | ------------------------------------------------------------- | ----- | -------------- |
122 | | [Github](https://github.com/mgz0227/legado-Harmony/releases) | 开发中 | |
123 | | [Gitee](https://gitee.com/mgz0227/legado-Harmony/releases) | 开发中 | |
124 |
125 |
--------------------------------------------------------------------------------
/doc/FurryNovel.md:
--------------------------------------------------------------------------------
1 | # FurryNovel 书源的导入与使用
2 |
3 | ### [兽人控小说站](https://www.furrynovel.com) 收录了 Pixiv, Bilibili 的大部分兽人小说
4 |
5 | ## 本书源使用前提
6 | 1. 使用阅读 3.0 版本
7 | 2. ⚠️ 部分区域需要代理(建议先准备好)
8 | 3. 导入 兽人控小说站 的书源、订阅源
9 |
10 |
11 | ## 〇、下载并安装阅读
12 | ### 1.下载阅读 3.0 版本
13 |
14 | ⬇️ 下载阅读
15 |
16 | 点击链接,下载安装包并安装,**推荐使用共存版**
17 | > https://miaogongzi.lanzout.com/b01rgkhhe
18 | >
19 | > 最新下载链接请查看 [下载阅读](./Download.md)
20 |
21 |
22 | ### 2.了解阅读功能与用法
23 | > 请查看[阅读是什么软件?阅读简介](./ReadMe.md)
24 |
25 |
26 |
27 | ## 一、导入书源 & 订阅源
28 | ### 1.导入 兽人控小说站 书源
29 |
30 | ➕ 导入书源
31 |
32 | 复制下方【免代理】书源链接
33 | ```
34 | https://cdn.jsdelivr.net/gh/windyhusky/PixivSource@main/linpx.json
35 | ```
36 | #### 1.1 打开【订阅】页面,点击【规则订阅】
37 | 
38 |
39 |
40 | #### 1.2 点击加号,粘贴链接,保存订阅
41 | 
42 |
43 |
44 | #### 1.3 点击相应订阅规则,导入并启用/更新书源
45 | 
46 |
47 | **首次点击【订阅规则】 即可导入**
48 |
49 | 
50 |
51 | **导入之后,再次点击则会检查更新**
52 |
53 | > 更多导入方法请查看[如何获取书源?导入书源?](./ImportBookSource.md)
54 |
55 |
56 |
57 | ### 2.导入 兽人控小说站 订阅源
58 |
59 | ➕ 导入订阅源
60 |
61 | 复制下方【免代理】订阅源链接
62 | ```
63 | https://cdn.jsdelivr.net/gh/windyhusky/PixivSource@main/btsrk.json
64 | ```
65 | #### 2.1 打开【订阅】页面,点击【规则订阅】
66 | 
67 |
68 |
69 | #### 2.2 点击加号,更改规则类型,粘贴链接,保存订阅
70 | **注意这里要把【书源】改成【订阅源】**
71 |
72 | 
73 |
74 |
75 | #### 2.3 点击相应订阅规则,导入并启用/更新书源
76 | 
77 |
78 | **首次点击【订阅规则】 即可导入**
79 |
80 | 
81 |
82 | **导入之后,再次点击则会检查更新**
83 |
84 | > 更多导入方法请查看[如何导入订阅源](./ImportRssSource.md)
85 |
86 |
87 |
88 | ## 二、确保网站可以访问
89 |
90 | 🌐 检查网站能否访问
91 |
92 | 订阅 - 点击 Linpx / 兽人控小说站 - 打开网站
93 | - 如果可以直接打开,那么一切大功告成!
94 | - **多数网络下,Linpx & 兽人控小说站 无需代理即可访问**
95 | - Linpx & 兽人控小说站 没有账号体系,**无需登录即可使用**,不必做过多的操作
96 |
97 | - 如果 **无法直接打开** 则可以:
98 | - 切换至其他网络(**更换网络运营商、使用流量或 WIFI**)后再尝试
99 | - 开启代理后再尝试
100 |
101 |
102 |
103 | ## 三、添加小说,尽情使用
104 | ### 1.阅读内部搜索
105 |
106 | 🔎 搜索小说
107 |
108 | ✅ 支持搜索:小说名称、系列小说名称、作者名称、小说标签
109 |
110 | 
111 |
112 |
113 |
114 | ### 2.发现更多小说
115 |
116 | ⭐️ 常规功能
117 |
118 | 发现:热门小说、最新小说、随便来点
119 |
120 | 
121 |
122 |
123 |
124 | 🔎 筛选发现
125 |
126 | 发现 - 长按 **"兽人小说站"** - 编辑 - 右上角菜单 - 设置源变量
127 |
128 | 
129 |
130 | 
131 |
132 | 
133 |
134 | 设置源变量:输入标签,保存
135 | ```
136 | 龙
137 | ```
138 | 发现 - 长按 **"兽人小说站"** - 刷新 - 查看筛选后的小说
139 |
140 | 
141 |
142 |
143 |
144 | ### 3.添加网址
145 |
146 | 🔗 添加网址
147 |
148 | 书架 - 菜单 - 添加网址 - 粘贴小说链接,可以同时添加多个小说的链接
149 |
150 | 
151 | 
152 | 
153 |
154 | 支持 兽人控小说站 多个格式的网址链接:
155 |
156 | ```
157 | 兽人控小说站 目录链接
158 | https://furrynovel.com/zh/novel/8312
159 |
160 | 兽人控小说站 章节链接
161 | https://furrynovel.com/zh/novel/8312/chapter/33116
162 |
163 | 兽人控小说站 API链接
164 | https://api.furrynovel.com/api/zh/novel/8312
165 | ```
166 |
167 |
168 |
169 | ### 4.订阅源添加小说
170 |
171 | 🏠 订阅源
172 |
173 | #### 4.1 替代阅读搜索
174 | 受阅读设计的限制,阅读内部搜索不可能完全支持 Linpx的功能。网站的搜索功能更加全面。
175 |
176 | 
177 |
178 |
179 | #### 4.2 替代阅读发现
180 | 阅读内部浏览器打开 Pixiv,即可使用 Pixiv 书源未完成的功能,如排行榜等功能
181 |
182 | 
183 |
184 |
185 | #### 4.3 添加小说至书架
186 | 在阅读内部浏览器内打开 兽人控小说站 小说页面,点击【添加到书架】按钮即可添加小说到书架
187 |
188 | 
189 | 
190 |
191 |
192 |
193 | ## 四、故障排查
194 | > 详见:[故障排查与处理](./TroubleShoot.md)
195 |
196 | 🐞 故障排查
197 |
198 | ### 1.没有搜索结果,请自行检查一下内容:
199 |
200 | **⓪检查 兽人控小说站 书源是否导入**
201 |
202 | **①检查 兽人控小说站 书源是否启用**
203 |
204 | **②检查代理是否可用**
205 |
206 | **③检查阅读是否走了代理**
207 |
208 | **④检查网络是否可用**
209 |
210 | **如果上述均无问题,但依然没有搜索结果,那就是书源需要更新了**
211 |
212 |
213 | ### 2.图片无法正常显示
214 |
215 | #### 解决措施:关闭替换净化
216 | 
217 |
218 |
219 |
220 | ## 本教程由兽人阅读频道 [@FurryReading](https://t.me/FurryReading) 提供
221 |
--------------------------------------------------------------------------------
/doc/Import.md:
--------------------------------------------------------------------------------
1 | ## 使用 import 订阅源导入书源
2 |
3 | ### 0.下载并安装阅读
4 |
5 | ⬇️ 下载阅读
6 |
7 | 点击链接,下载安装包并安装,**推荐使用共存版**
8 | > https://miaogongzi.lanzout.com/b01rgkhhe
9 | >
10 | > 最新下载链接请查看 [下载阅读](./Download.md)
11 |
12 |
13 | 
14 |
15 |
16 | ### 1.导入 import 订阅源
17 | 如已导入 import 订阅源 ,则可略过
18 |
19 |
20 | ➕ 导入 import 订阅源
21 |
22 | 复制下方【免代理】订阅源链接
23 | ```
24 | https://cdn.jsdelivr.net/gh/windyhusky/PixivSource@main/import.json
25 | ```
26 | #### 1.1 打开【订阅】页面,点击【规则订阅】
27 | 
28 |
29 |
30 | #### 1.2 点击加号,更改规则类型,粘贴链接,保存订阅
31 | **注意这里要把【书源】改成【订阅源】**
32 |
33 | 
34 |
35 |
36 | #### 1.3 点击相应订阅规则,导入并启用/更新书源
37 | 
38 |
39 | **首次点击【订阅规则】 即可导入**
40 |
41 | 
42 |
43 | **导入之后,再次点击则会检查更新**
44 |
45 |
46 |
47 | ### 2.导入书源 & 订阅源
48 |
49 | ➕ 导入书源 & 订阅源
50 |
51 | > 更多方法详见:
52 | > **[导入书源](./ImportBookSource.md)** &
53 | > **[导入订阅源](./ImportRssSource.md)**
54 |
55 | #### 2.1 打开“书源订阅”
56 | 点击 “书源订阅”( import 订阅源)
57 |
58 | 
59 |
60 | 点击相应书源/订阅源,导入该源
61 |
62 | 
63 |
64 |
65 | #### 2.2 导入相关资源
66 | 点击书源,导入书源,**导入之后,再次点击则会检查更新**
67 |
68 | 
69 |
70 | 点击订阅源,导入订阅源,**导入之后,再次点击则会检查更新**
71 |
72 | 
73 |
74 |
75 |
76 | ### 3.使用书源,畅享阅读
77 | > ### 1. [阅读使用教程(太长不看版)](./TooLongToRead.md)
78 | >> #### 1.1 [Pixiv 书源的导入与使用](./Pixiv.md)
79 | >> #### 1.2 [Linpx 书源的导入与使用](./Linpx.md)
80 | >> #### 1.3 [兽人控小说站 书源的导入与使用](./FurryNovel.md)
81 | >> #### 1.4 搜索小说、查看订阅,畅享阅读
82 | > ### 2. [添加远程书籍](./Remotebooks),畅享阅读
83 | > ### 3. [设置 Webdav 备份](./WebdavBackup.md)
84 | > ### 4. [故障排查与处理](./TroubleShoot.md)
85 |
86 |
87 | ## 本教程由兽人阅读频道 [@FurryReading](https://t.me/FurryReading) 提供
--------------------------------------------------------------------------------
/doc/Import2.md:
--------------------------------------------------------------------------------
1 | ## 3.导入源
2 |
3 | > **[书源导入使用-太长不看版](./TolongToRead.md)**
4 | >
5 | > **[使用 Import 订阅源导入源](./Import.md)**
6 | >
7 | > **[导入书源](./ImportBookSource.md)** &
8 | > **[导入订阅源](./ImportRssSource.md)**
9 | >
10 | >
11 |
--------------------------------------------------------------------------------
/doc/ImportBookSource.md:
--------------------------------------------------------------------------------
1 | ## 2.导入书源
2 |
3 | ## 2.0 书源(订阅源)来源
4 | - [Legado|开源阅读 | 频道](https://t.me/legado_channels)
5 | - [三千书源](https://shuyuan.yiove.com)
6 | - [喵公子书源管理](http://yuedu.miaogongzi.net/gx.html)
7 | - [阅读 APP 源](https://legado.aoaostar.com/)
8 | - [一程书源/订阅源](https://flowus.cn/share/923f5a35-6dcf-47d1-b8eb-b9c5ef3ed39b/)
9 | - [源仓库](https://www.yckceo.com/yuedu/shuyuan/index.html)
10 | - 其他网络来源
11 |
12 |
13 | ## 2.1 导入书源
14 |
15 | 请【**开启代理**】后,复制下面的【书源】链接
16 | ```
17 | https://raw.githubusercontent.com/windyhusky/PixivSource/main/pixiv.json
18 | ```
19 | ```
20 | https://raw.githubusercontent.com/windyhusky/PixivSource/main/linpx.json
21 | ```
22 | 以下导入方法任选其一即可
23 | A. 文件导入
24 |
25 | ### A.文件导入更简单
26 | #### 1.下载书源/订阅源文件
27 | Chrome 等浏览器可以打开 [这个网址](https://github.com/windyhusky/PixivSource) ,选择 **链接另存为** 或 **下载链接**,下载相应书源
28 |
29 |
30 | #### 2.使用阅读打开
31 | 点击书源,选择用阅读打开
32 |
33 | 
34 |
35 |
36 | #### 3.导入完成并启用书源/订阅源
37 | 
38 |
39 |
40 |
41 | B. 规则订阅
42 |
43 | ### B.规则订阅易更新
44 | #### 1. 打开【订阅】页面,点击【规则订阅】
45 | 
46 |
47 |
48 | #### 2. 点击加号,粘贴链接,保存订阅
49 | 
50 |
51 |
52 | #### 3. 点击相应订阅规则,导入并启用/更新书源
53 | 
54 |
55 | **首次点击【订阅规则】 即可导入**
56 |
57 | 
58 |
59 | **导入之后,再次点击则会检查更新**
60 |
61 |
62 |
63 | C. 网络导入
64 |
65 | ### C.网络导入也方便
66 | #### 1.打开【我的】页面,点击【书源管理】
67 | 
68 |
69 |
70 | #### 2.点击右上角的三点菜单,选择【网络导入】
71 | 
72 |
73 |
74 | #### 3.粘贴书源链接,点击确定
75 | 
76 |
77 |
78 | #### 4.导入完成并启用书源
79 | **如果导入失败,请开启代理,或过段时间重试**
80 |
81 | 
82 |
83 |
84 |
85 | D. Schema 链接导入
86 |
87 | ### D.Schema 链接导入最方便【适用于书源提供方】
88 | 大多点击链接一键导入书源/订阅源,都是是采用了这种方式,如:**[喵公子书源管理](http://yuedu.miaogongzi.net/gx.html)**
89 |
90 | #### 0.【书源提供方】为按钮等添加链接
91 | 大多一键导入书源/订阅源,都是采用了这种方式
92 | > ```
93 | > 可通过url唤起阅读进行一键导入,url格式: legado://import/{path}?src={url}
94 | > path类型: bookSource,rssSource,replaceRule,textTocRule,httpTTS,theme,readConfig,addToBookshelf
95 | > path类型解释: 书源,订阅源,替换规则,本地txt小说目录规则,在线朗读引擎,主题,阅读排版,添加到书架
96 | > legado://import/addToBookshelf?src={url}
97 | > ```
98 | > 自官方API:https://github.com/gedoor/legado#api-
99 |
100 |
101 | 导入 Pixiv 书源的连接如下:
102 | ```
103 | yuedu://booksource/importonline?src=https://raw.githubusercontent.com/windyhusky/PixivSource/main/pixiv.json
104 | ```
105 | ```
106 | legado://import/bookSource?src=https://raw.githubusercontent.com/windyhusky/PixivSource/main/pixiv.json
107 | ```
108 |
109 | #### 1.手机浏览器内点击链接,跳转阅读
110 | 浏览器打开:**[喵公子书源管理](http://yuedu.miaogongzi.net/gx.html)**
111 |
112 | 一键导入按钮的链接,即为下面这条链接:
113 | ```
114 | yuedu://booksource/importonline?src=https://cdn05042023.gitlink.org.cn/api/v1/repos/yi-c/yd/raw/sy.json?ref=master&access_token=92edf695d430562349cbfac4009fda6ad36817dd
115 | ```
116 |
117 | 点击链接,跳转阅读
118 | 
119 |
120 | #### 2.导入完成并启用书源
121 | 
122 |
123 |
124 |
125 | E. 书源订阅( import 订阅源)
126 |
127 | ### E.书源订阅( import 订阅源)
128 | 如果你已经导入了【书源订阅】( import 订阅源),则可以用其导入书源
129 |
130 | #### 1.打开“书源订阅”
131 | 点击 “书源订阅”( import 订阅源)
132 |
133 | 
134 |
135 | 点击相应书源/订阅源,导入该源
136 |
137 | 
138 |
139 |
140 | #### 2.导入相关资源
141 | 点击书源,导入书源
142 |
143 | 
144 |
145 | 点击订阅源,导入订阅源
146 |
147 | 
148 |
149 |
150 |
151 | ## 2.2 确认启用书源
152 | 
153 |
154 | 转载网站一般无需登录,基本上到这里就可以回到主页面,搜索书名看小说了
155 |
156 | **正版付费网站,以及一些登陆后才能看所有小说的网站,都需要登录账号**
157 |
158 |
159 | ## 2.3 登录账号
160 | 登陆账号
161 |
162 | ### 0.【根据需要】开启代理工具
163 | 此处略过,请自行学习,**最好开启【全局代理】**
164 |
165 |
166 | ### 1.找到需要登录的书源
167 | **点击右上角的三点菜单,选择【登录】,登录你的账号**
168 |
169 | 
170 |
171 |
172 | ### 2.登录你的账号
173 | 登录成功后,点击右上角的对勾,关闭登录页面
174 |
175 | 
176 |
177 | 对于Pixiv而言,**如果需要验证码,请更换代理,或过段时间再次尝试**
178 |
--------------------------------------------------------------------------------
/doc/ImportRssSource.md:
--------------------------------------------------------------------------------
1 | ## 3.导入订阅源
2 |
3 | ## 3.0 订阅源来源
4 | - [Legado|开源阅读 | 频道](https://t.me/legado_channels)
5 | - [源仓库](https://www.yckceo.com/yuedu/rss/index.html)
6 | > **更多方式请查看[书源获取方式](./ImportBookSource.md),一般二者会同时提供**
7 |
8 | 书源分享【订阅源】:
9 | - [喵公子订阅源](https://yd.mgz6.com)
10 | - [阅读 APP 源](https://legado.aoaostar.com)
11 | - [一程 阅读合集](https://flowus.cn/share/923f5a35-6dcf-47d1-b8eb-b9c5ef3ed39b)
12 |
13 |
14 | ## 3.1 导入订阅源
15 | 以下导入方法任选其一即可
16 |
17 |
18 | A. 文件导入
19 |
20 | ### A.文件导入更简单
21 | #### 1.下载书源/订阅源文件
22 | ```
23 | https://raw.githubusercontent.com/windyhusky/PixivSource/main/btsrk.json
24 | ```
25 | ```
26 | https://raw.githubusercontent.com/windyhusky/PixivSource/main/books.json
27 | ```
28 |
29 | #### 2.使用阅读打开
30 | 点击书源,选择用阅读打开
31 |
32 | 
33 |
34 | #### 3.导入完成并启用书源/订阅源
35 | 
36 |
37 |
38 |
39 |
40 | B. 规则订阅
41 |
42 | ### B.规则订阅易更新
43 | 【**开启代理**】后,复制下方的订阅源链接
44 | ```
45 | https://raw.githubusercontent.com/windyhusky/PixivSource/main/btsrk.json
46 | ```
47 | ```
48 | https://raw.githubusercontent.com/windyhusky/PixivSource/main/books.json
49 | ```
50 | #### 1. 打开【订阅】页面,点击【规则订阅】
51 | 
52 |
53 | #### 2. 点击加号,更改规则类型,粘贴链接,保存订阅
54 | **注意这里要把【书源】改成【订阅源】**
55 |
56 | 
57 |
58 |
59 | #### 3. 点击相应订阅规则,导入并启用/更新书源
60 | 
61 |
62 | **首次点击【订阅规则】 即可导入**
63 | 
64 | **导入之后,再次点击则会检查更新**
65 |
66 |
67 |
68 |
69 | C. 网络导入
70 |
71 | ### C.网络导入也方便
72 | 请【**开启代理**】后,复制下面的【订阅书源】链接
73 | - btsrk 订阅源
74 | ```
75 | https://raw.githubusercontent.com/windyhusky/PixivSource/main/btsrk.json
76 | ```
77 | - 书源分享 订阅源
78 | ```
79 | https://raw.githubusercontent.com/windyhusky/PixivSource/main/books.json
80 | ```
81 |
82 | #### 1.打开【订阅】页面,点击右上角【设置】
83 | 
84 |
85 | #### 2.点击右上角的三点菜单,选择【网络导入】
86 | 
87 |
88 | #### 3.粘贴订阅源链接,点击确定
89 | 
90 |
91 | #### 4.导入完成并启用订阅源
92 | 
93 |
94 | 
95 |
96 | **无法网络导入时,请尝试开启代理,或过段时间重试**
97 |
98 |
99 |
100 |
101 | D. Schema 链接导入
102 |
103 | ### D.Schema 链接导入
104 | 大多一键导入书源/订阅源,都是采用了这种方式
105 |
106 | #### 0.【书源提供方】为按钮等添加链接
107 | > ```
108 | > 可通过url唤起阅读进行一键导入,url格式: legado://import/{path}?src={url}
109 | > path类型: bookSource,rssSource,replaceRule,textTocRule,httpTTS,theme,readConfig,addToBookshelf
110 | > path类型解释: 书源,订阅源,替换规则,本地txt小说目录规则,在线朗读引擎,主题,阅读排版,添加到书架
111 | > legado://import/addToBookshelf?src={url}
112 | > ```
113 | > 自官方API:https://github.com/gedoor/legado#api-
114 |
115 | 导入 Pixiv 订阅源的连接如下:
116 | ```
117 | yuedu://rsssource/importonline?src=https://raw.githubusercontent.com/windyhusky/PixivSource/main/btsrk.json
118 | ```
119 | ```
120 | legado://import/rssSource?src=https://raw.githubusercontent.com/windyhusky/PixivSource/main/btsrk.json
121 | ```
122 |
123 | #### 1.点击链接,跳转阅读
124 | 浏览器打开:**[喵公子订阅源](https://dy.mgz6.com)**
125 |
126 | 一键导入按钮的链接,即为下面这条链接:
127 | ```
128 | yuedu://rsssource/importonline?src=http://yuedu.miaogongzi.net/shuyuan/miaogongziDY.json
129 | ```
130 | 点击链接,跳转阅读
131 | 
132 |
133 | #### 2.选择订阅源并导入
134 |
135 | 
136 |
137 |
138 |
139 |
140 | E. 书源订阅( import 订阅源)
141 |
142 | ### E.书源订阅( import 订阅源)
143 | 如果你已经导入了【书源订阅】( import 订阅源),则可以用其导入书源
144 |
145 | #### 1.打开“书源订阅”
146 | 点击 “书源订阅”( import 订阅源)
147 |
148 | 
149 |
150 | 点击相应书源/订阅源,导入该源
151 |
152 | 
153 |
154 |
155 | #### 2.导入相关资源
156 | 点击书源,导入书源
157 |
158 | 
159 |
160 | 点击订阅源,导入订阅源
161 |
162 | 
163 |
--------------------------------------------------------------------------------
/doc/Linpx.md:
--------------------------------------------------------------------------------
1 | # Linpx 书源的导入与使用
2 |
3 | ### [Linpx](http://www.furrynovel.ink) 是第三方 免代理 Pixiv 小说镜像站,主要内容为**兽人小说**
4 |
5 | ## 本书源使用前提
6 | 1. 使用阅读 3.0 版本
7 | 2. ⚠️ 部分区域需要代理(建议准备)
8 | 3. 导入 Linpx 的书源、订阅源
9 |
10 |
11 | ## 〇、下载并安装阅读
12 | ### 1.下载阅读 3.0 版本
13 |
14 | ⬇️ 下载阅读
15 |
16 | 点击链接,下载安装包并安装,**推荐使用共存版**
17 | > https://miaogongzi.lanzout.com/b01rgkhhe
18 | >
19 | > 最新下载链接请查看 [下载阅读](./Download.md)
20 |
21 |
22 | ### 2.了解阅读功能与用法
23 | > 请查看[阅读是什么软件?阅读简介](./ReadMe.md)
24 |
25 |
26 |
27 | ## 一、导入书源 & 订阅源
28 | ### 1.导入 Linpx 书源
29 |
30 | ➕ 导入书源
31 |
32 | 复制下方【免代理】书源链接
33 | ```
34 | https://cdn.jsdelivr.net/gh/windyhusky/PixivSource@main/linpx.json
35 | ```
36 | #### 1.1 打开【订阅】页面,点击【规则订阅】
37 | 
38 |
39 |
40 | #### 1.2 点击加号,粘贴链接,保存订阅
41 | 
42 |
43 |
44 | #### 1.3 点击相应订阅规则,导入并启用/更新书源
45 | 
46 |
47 | **首次点击【订阅规则】 即可导入**
48 |
49 | 
50 |
51 | **导入之后,再次点击则会检查更新**
52 |
53 | > 更多导入方法请查看[如何获取书源?导入书源?](./ImportBookSource.md)
54 |
55 |
56 |
57 | ### 2.导入 Linpx 订阅源
58 |
59 | ➕ 导入订阅源
60 |
61 | 复制下方【免代理】订阅源链接
62 | ```
63 | https://cdn.jsdelivr.net/gh/windyhusky/PixivSource@main/btsrk.json
64 | ```
65 | #### 2.1 打开【订阅】页面,点击【规则订阅】
66 | 
67 |
68 |
69 | #### 2.2 点击加号,更改规则类型,粘贴链接,保存订阅
70 | **注意这里要把【书源】改成【订阅源】**
71 |
72 | 
73 |
74 |
75 | #### 2.3 点击相应订阅规则,导入并启用/更新书源
76 | 
77 |
78 | **首次点击【订阅规则】 即可导入**
79 |
80 | 
81 |
82 | **导入之后,再次点击则会检查更新**
83 |
84 | > 更多导入方法请查看[如何导入订阅源](./ImportRssSource.md)
85 |
86 |
87 |
88 | ## 二、确保网站可以访问
89 |
90 | 🌐 检查网站能否访问
91 |
92 | 订阅 - 点击 Linpx / 兽人控小说站 - 打开网站
93 | - 如果可以直接打开,那么一切大功告成!
94 | - **多数网络下,Linpx & 兽人控小说站 无需代理即可访问**
95 | - Linpx & 兽人控小说站 没有账号体系,**无需登录即可使用**,不必做过多的操作
96 |
97 | - 如果 **无法直接打开** 则可以:
98 | - 切换至其他网络(**更换网络运营商、使用流量或 WIFI**)后再尝试
99 | - 开启代理后再尝试
100 |
101 |
102 |
103 | ## 三、添加小说,尽情使用
104 | ### 1.阅读内部搜索
105 |
106 | 🔎 搜索小说
107 |
108 | - ✅ 支持搜索:小说名称、作者名称、小说标签、小说链接
109 | - ⚠️ 暂不支持:系列小说名称
110 |
111 | 
112 |
113 |
114 |
115 | ### 2.发现更多小说
116 |
117 | ⭐️ 常规功能
118 |
119 | 发现:推荐作者、最新小说
120 |
121 | 
122 |
123 |
124 |
125 | ### 3.添加网址
126 |
127 | 🔗 添加网址
128 |
129 | 书架 - 菜单 - 添加网址 - 粘贴小说链接,可以同时添加多个小说的链接
130 |
131 | 
132 | 
133 | 
134 |
135 | 支持 Linpx 多个格式的网址链接:
136 |
137 | ```
138 | Linpx 小说长链接
139 | https://www.furrynovel.xyz/pixiv/novel/20063566
140 | https://furrynovel.ink/pixiv/novel/20063566
141 |
142 | Linpx 分享链接
143 | http://furrynovel.xyz/pn/20063566
144 | https://furrynovel.ink/pn/20063566
145 |
146 | Linpx 分享信息
147 | 我正在看唐尼瑞姆创作的《测试页面》一起来看吧!
148 | https://furrynovel.ink/pn/20063566
149 | ```
150 |
151 |
152 |
153 | ### 4.订阅源添加小说
154 |
155 | 🏠 订阅源
156 |
157 | #### 4.1 替代阅读搜索
158 | 受阅读设计的限制,阅读内部搜索不可能完全支持 Linpx 的功能。网站的搜索功能更加全面。
159 |
160 | 
161 |
162 |
163 | #### 4.2 Pixiv 链接转换
164 | 阅读内部浏览器内打开 Linpx,搜索栏中粘贴 Pixiv 小说链接,即可进入对应页面
165 |
166 | 
167 |
168 | 
169 |
170 |
171 | #### 4.3 添加小说至书架
172 | 打开 Linpx 小说页面,点击【添加到书架】按钮,即可添加小说到书架
173 |
174 | 
175 |
176 |
177 |
178 | ## 四、故障排查
179 | > 详见:[故障排查与处理](./TroubleShoot.md)
180 |
181 | 🐞 故障排查
182 |
183 | ### 1.没有搜索结果,请自行检查一下内容:
184 |
185 | **⓪检查 Linpx 书源是否导入**
186 |
187 | **①检查 Linpx 书源是否启用**
188 |
189 | **②检查代理是否可用**
190 |
191 | **③检查阅读是否走了代理**
192 |
193 | **④检查网络是否可用**
194 |
195 | **如果上述均无问题,但依然没有搜索结果,那就是书源需要更新了**
196 |
197 |
198 | ### 2.图片无法正常显示
199 |
200 | #### 解决措施:关闭替换净化
201 | 
202 |
203 |
204 |
205 | ## 本教程由兽人阅读频道 [@FurryReading](https://t.me/FurryReading) 提供
206 |
--------------------------------------------------------------------------------
/doc/Pixiv.md:
--------------------------------------------------------------------------------
1 | # Pixiv 书源的导入与使用
2 |
3 | ### [Pixiv](www.pixiv.net) 是以插图、漫画、小说为中心的艺术网站
4 |
5 |
6 | ## 本书源使用前提
7 | 1. 使用阅读 3.0 版本
8 | 2. 开启代理【必须】
9 | 3. 导入 Pixiv 的书源、订阅源
10 | 4. 登录 Pixiv 的账号【必须】
11 | 5. 开启 Pixiv R18 设置
12 |
13 |
14 | ## 〇、下载并安装阅读
15 | ### 1.下载阅读 3.0 版本
16 |
17 | ⬇️ 下载阅读
18 |
19 | 点击链接,下载安装包并安装,**推荐使用共存版**
20 | > https://miaogongzi.lanzout.com/b01rgkhhe
21 | >
22 | > 最新下载链接请查看 [下载阅读](./Download.md)
23 |
24 |
25 | ### 2.了解阅读功能与用法
26 | > 请查看[阅读是什么软件?阅读简介](./ReadMe.md)
27 |
28 |
29 |
30 | ## 一、导入书源 & 订阅源
31 | ### 1.导入 Pixiv 书源
32 | ➕ 导入书源
33 |
34 | 【**开启代理**】后,复制下方的书源链接
35 | ```
36 | https://raw.githubusercontent.com/windyhusky/PixivSource/main/pixiv.json
37 | ```
38 |
39 |
40 | #### 1.1 打开【订阅】页面,点击【规则订阅】
41 | 
42 |
43 |
44 | #### 1.2 点击加号,粘贴链接,保存订阅
45 | 
46 |
47 |
48 | #### 1.3 点击相应订阅规则,导入并启用/更新书源
49 | 
50 |
51 | **首次点击【订阅规则】 即可导入**
52 |
53 | 
54 |
55 | **【系列书源】与【单篇书源】功能完全一致,导入/启用其中一个即可**
56 |
57 | **导入之后,再次点击则会检查更新**
58 |
59 | > 更多导入方法请查看[如何获取书源?导入书源?](./ImportBookSource.md)
60 |
61 |
62 |
63 | ### 2.导入 Pixiv 订阅源
64 | ➕ 导入订阅源
65 |
66 | 【**开启代理**】后,复制下方的订阅源链接
67 | ```
68 | https://raw.githubusercontent.com/windyhusky/PixivSource/main/btsrk.json
69 | ```
70 |
71 | #### 2.1 打开【订阅】页面,点击【规则订阅】
72 | 
73 |
74 |
75 | #### 2.2 点击加号,更改规则类型,粘贴链接,保存订阅
76 | **注意这里要把【书源】改成【订阅源】**
77 |
78 | 
79 |
80 |
81 | #### 2.3 点击相应订阅规则,导入并启用/更新书源
82 | 
83 |
84 | **首次点击【订阅规则】 即可导入**
85 |
86 | 
87 |
88 | **导入之后,再次点击则会检查更新**
89 |
90 | > 更多导入方法请查看[如何导入订阅源](./ImportRssSource.md)
91 |
92 |
93 |
94 | ## 二、登录账号
95 | Pixiv 及正版付费书源,需要登录账号才能阅读相关小说
96 | ### 1. 登录 Pixiv 账号
97 |
98 | 🅿️ 登录 Pixiv 账号
99 |
100 | #### 1.1 开启代理工具
101 | 此处略过,请自行学习,**最好开启【全局代理】**
102 |
103 |
104 | #### 1.2 登录 Pixiv 账号
105 | **我的-书源管理-点击 Pixiv 书源右侧三点菜单-登录-登录账号**
106 |
107 | 
108 |
109 | 
110 |
111 | **登录你的账号,登录成功后,点击右上角的对勾**
112 |
113 | 
114 |
115 | **如果需要验证码,请更换代理,或过段时间再次尝试**
116 |
117 |
118 |
119 | ### 2. 开启 Pixiv 的 R18 设置
120 | #### 如果你已经开启了,则可以跳过这一步
121 | 📆 编辑出生年份
122 |
123 | #### 2.1 编辑出生年份
124 | **再次点击登录,滑动屏幕,点击头像,再次点击头像,编辑个人资料**
125 |
126 | [Pixiv 个人资料](https://www.pixiv.net/settings/profile) - 编辑个人资料 - 出生年份
127 |
128 | 出生年份改到:**2000年或2000年之前**,确保你的年龄在20岁及以上
129 |
130 | 
131 |
132 |
133 |
134 | 🔞 修改 Pixiv 浏览范围
135 |
136 | #### 2.2 修改作品浏览范围
137 | **我的-书源管理-点击 Pixiv 书源右侧三点菜单-登录-账号设置**
138 | 
139 |
140 | [Pixiv 设置](https://www.pixiv.net/settings/viewing) - 浏览与显示 - 年龄限制作品
141 |
142 | 根据自己情况选择显示:R18 作品 与 R18G 作品
143 |
144 | 不知道二者区别的可以查看这篇文档 [作品评级是什么?](https://www.pixiv.help/hc/zh-cn/articles/39125149371289-%E4%BD%9C%E5%93%81%E8%AF%84%E7%BA%A7%E6%98%AF%E4%BB%80%E4%B9%88)
145 |
146 | 
147 |
148 |
149 |
150 | ## 三、添加小说,尽情使用
151 | ### 1.阅读内部搜索
152 | 🔎 搜索小说
153 |
154 | ✅ 默认搜索:同时搜索小说名称、系列小说名称、标签、作者
155 | 
156 |
157 |
158 |
159 | 🔄 繁简通搜
160 |
161 | - 搜索【名称】和【标签】时,【默认】进行繁简转换,同时返回繁体简体小说内容,返回小说内容不做转换处理
162 | - 【搜索作者】不做转换处理
163 |
164 | 
165 |
166 |
167 |
168 | 👤 作者专搜
169 |
170 | 作者专搜(格式:`@作者名称`)
171 | - 仅搜索作者;不做繁简转换
172 | - `@` 为标记符,打出1个即可,例如:`@pixiv事務局`
173 | - 暂时不支持与 `#` 同时使用,可与字数过滤同时使用
174 |
175 | 
176 |
177 |
178 |
179 | #️⃣ 标签专搜
180 |
181 | 标签专搜(格式:`#标签1` `#标签1 标签2 `)
182 | - 仅搜索标签、小说名称;多个标签空格间隔,【默认】进行繁简转换
183 | - `#` 为标记符,打出1个即可,例如:`#校园` `#校园 纯爱` `#校园 纯爱 BG`
184 | - 暂时不支持与 `@` 同时使用,可与字数过滤同时使用
185 |
186 | 
187 |
188 |
189 |
190 | ⏬ 字数过滤
191 |
192 | 字数过滤(格式:`关键词 字数3k`)
193 | - 字数限制规则:`3k 3k5 3w 3w5`【注意`k`与`w`均为小写】
194 | - 例如:`校园 字数3k` `校园 纯爱 字数3k`
195 |
196 | 
197 | 
198 |
199 |
200 |
201 | ### 2.发现更多小说
202 | ⭐️ 常规功能
203 |
204 | 
205 |
206 |
207 |
208 | 👑 小说排行
209 |
210 | 
211 | - ✅ R18小说排行榜(🔞 排行榜)
212 | - ✅ 一般小说排行榜(🆗 排行榜)
213 | >(默认隐藏,可在书源设置中修改`SHOW_GENERAL_RANK`),更改后需要在发现页面刷新分类(发现:长按"Pixiv",刷新
214 |
215 |
216 |
217 | 🆙 更新书源
218 |
219 | 点击按钮【🆙 更新】以更新书源/更新订阅
220 | 
221 |
222 |
223 |
224 | ❤️ 他人收藏
225 |
226 | 发现 - 长按"Pixiv" - 编辑 - 右上角菜单 - 设置源变量
227 |
228 | 
229 |
230 | 
231 |
232 | 
233 |
234 | 设置源变量:输入作者ID,一行一个,可添加作者名,保存
235 | ```
236 | 12345 // 作者A
237 | 67890 # 作者B
238 | ```
239 | 发现:长按"Pixiv",刷新,查看他人收藏
240 |
241 | 
242 |
243 | 
244 |
245 |
246 |
247 | ### 3.添加网址
248 |
249 | 🔗 添加网址
250 | 书架 - 菜单 - 添加网址 - 粘贴小说链接,可以同时添加多个小说的链接
251 |
252 | 
253 | 
254 | 
255 |
256 | 支持 Pixiv 多个格式的网址链接:
257 | ```
258 | Pixiv 小说链接
259 | https://www.pixiv.net/novel/show.php?id=20063566
260 |
261 | Pixiv 系列小说链接
262 | https://www.pixiv.net/novel/series/8054073
263 | ```
264 | 无法添加的链接:
265 | ```
266 | Pixiv App 小说分享链接(删掉#号即可正常添加)
267 | 测试页面 | 唐尼瑞姆 #pixiv https://www.pixiv.net/novel/show.php?id=20063566
268 |
269 | Pixiv 作者页面
270 | https://www.pixiv.net/users/16721009
271 | ```
272 |
273 |
274 |
275 | ### 4.订阅源
276 | 🆙 更新书源
277 |
278 | #### 4.0 更新书源
279 | 点击按钮【🆙 更新书源】以更新书源/更新订阅
280 | 
281 |
282 |
283 |
284 | 💬 替代阅读
285 |
286 | #### 4.1 替代阅读搜索
287 | 受阅读所限,阅读内部搜索不可能完全支持 Pixiv 的全部搜索功能。网站的搜索功能更加全面
288 |
289 | 
290 |
291 |
292 | #### 4.2 替代阅读发现
293 | 阅读内部浏览器打开 Pixiv,即可使用 Pixiv 书源未完成的功能,如排行榜等功能
294 | 
295 |
296 |
297 |
298 | ➕ 添加小说
299 |
300 | #### 4.3 添加小说至书架
301 | 在阅读内部浏览器内打开 Pixiv 小说/系列小说页面,【刷新】,点击【加入书架】按钮添加小说到书架
302 |
303 | - 添加小说到书架
304 | 
305 |
306 | - 添加系列小说到书架
307 | 
308 |
309 |
310 |
311 | ## 四、故障排查
312 | > 详见:[故障排查与处理](./TroubleShoot.md)
313 |
314 | 🐞 故障排查
315 |
316 | ### 1.确定书源可以正常使用
317 | 书架页面,搜索 `R18` 测试书源能否正常使用,以及R18设置是否开启。
318 |
319 | #### 如果没有搜索结果,请检查一下内容:
320 | **⓪检查 Pixiv 书源是否导入**
321 |
322 | **①检查 Pixiv 书源是否启用**
323 |
324 | **②检查代理是否可用**
325 |
326 | **③检查阅读是否走了代理**
327 |
328 | **④检查网络是否可用**
329 |
330 | **如果上述均无问题,但依然没有搜索结果,那就是书源需要更新了**
331 |
332 |
333 | ### 2.图片无法正常显示
334 | #### 解决措施:关闭替换净化
335 | 
336 |
337 |
338 |
339 | ## 本教程由兽人阅读频道 [@FurryReading](https://t.me/FurryReading) 提供
340 |
--------------------------------------------------------------------------------
/doc/ReadMe.md:
--------------------------------------------------------------------------------
1 | # 开源阅读简介 & 使用指南
2 |
3 | 
4 |
5 | ## 1.阅读是什么?
6 | 阅读指 [**Legado / 开源阅读**](https://github.com/gedoor/legado) 这一开源阅读软件。因其源代码公开,为与其他阅读软件区分,称其为**开源阅读**。
7 |
8 | 以下内容转自: [**阅读常见问题解答**](https://mp.weixin.qq.com/s/5EO-TuqYfDrK-bFk78vd3g)
9 |
10 | > **阅读是一个 免费、开源、可更换小说来源的 无广告 阅读软件**
11 | >
12 | > **阅读是一个特殊的浏览器,通过特定规则【书源/订阅源】访问网页,并进行重新排版**
13 | >
14 | > **阅读软件本身不提供任何小说/漫画/有声/视频内容,提供内容是所访问的网站**
15 |
16 |
17 | ## 2.名词解释
18 |
19 | ### **书源:从小说网站获取书籍内容的特定规则**
20 |
21 | ### **发现:获取小说网站上的排行榜、书籍分类等**
22 |
23 | ### **替换净化规则:删除广告网址,优化阅读体验**
24 |
25 | ### **订阅源:类似于RSS,甚至可以听音乐看视频**
26 |
27 |
28 | ## 3.下载阅读
29 | ### 3.1 Android 版(官方)
30 | **点击链接,下载安装包并安装,推荐使用共存版**
31 | https://miaogongzi.lanzout.com/b01rgkhhe
32 |
33 | ### 3.2 苹果 iOS 版(非官方)
34 | 兼容阅读书源的非官方软件
35 |
36 | | 软件名称 | 备注 |
37 | | ------- | -------------------------- |
38 | | [源阅](https://github.com/kaich/SourceReadSite) | 兼容阅读书源,【源阅读】的后续版本,TestFlight 付费 ¥128 |
39 | | [千阅](https://apps.apple.com/app/id1665963317) | 不完全兼容阅读书源,需要付费 ¥98 |
40 | | ~~[读不舍手](https://apps.apple.com/app/id1662413517)~~ | 不完全兼容阅读书源,广告较多,会员付费 |
41 |
42 |
43 | ### 3.3 更多版本详见 [下载阅读](./Download.md)
44 |
45 |
46 | ## 4.下载安装后应该做什么?
47 | > ### 0. [阅读是什么软件?阅读简介](./ReadMe.md) 【你在这里】
48 | > ### 1. [阅读使用教程(太长不看版)](./TooLongToRead.md)
49 | >> #### 1.1 [Pixiv 书源的导入与使用](./Pixiv.md)
50 | >> #### 1.2 [Linpx 书源的导入与使用](./Linpx.md)
51 | >> #### 1.3 [兽人控小说站 书源的导入与使用](./FurryNovel.md)
52 | >> #### 1.4 搜索小说、查看订阅,畅享阅读
53 | > ### 2. [添加远程书籍](./RemoteBooks.md),畅享阅读
54 | > ### 3. [设置 Webdav 备份](./WebdavBackup.md)
55 | > ### 4. [故障排查与处理](./TroubleShoot.md)
56 |
57 |
58 | ## 5.常用功能(转自 [官方使用指南](https://www.yuque.com/legado/wiki/xz) )
59 |
60 | - ### 导入:[书源](https://www.yuque.com/legado/wiki/xdroke) ;[替换净化](https://www.yuque.com/legado/wiki/gnt3nq) ;[订阅源](https://www.yuque.com/legado/wiki/grqch2) ;[主题](https://www.yuque.com/legado/wiki/tgbqdy)
61 |
62 | - ### 导出:[导出小说](https://telegra.ph/很多人不知道如何导出TXT-02-16) ;导出书源
63 |
64 | - ### 备份:[坚果云注册](https://www.yuque.com/legado/wiki/fkx510) ,[设置云备份](https://www.yuque.com/legado/wiki/mgu5qu) ,[恢复备份](https://www.yuque.com/legado/wiki/nxs89y)
65 | ### 官方指南反馈:LegadoAsk@outlook.com
66 |
67 |
68 | ## 6.[官方社群](https://www.yuque.com/legado/wiki/community)
69 | ### QQ 频道:[阅读](https://pd.qq.com/s/8qxylhj2s)
70 | ### Telegram:[Legado|开源阅读](https://t.me/legado_channels) 、 [Legado Beta](https://t.me/Legado_Beta)
71 |
72 |
73 | ## 本页内容由兽人阅读频道 [@FurryReading](https://t.me/FurryReading) 整理
74 |
--------------------------------------------------------------------------------
/doc/RemoteBooks.md:
--------------------------------------------------------------------------------
1 | ## 远程书籍
2 | ### 1.远程书籍配置
3 |
4 | 书架菜单 - 远程书籍 - 右上角三点菜单 - 服务器配置 - 加号 - 添加服务器配置信息
5 |
6 | 
7 |
8 | 
9 |
10 | 
11 |
12 | 点击加号,添加服务器配置
13 |
14 | 
15 |
16 | 填入 Webdav 服务器配置信息
17 |
18 | 
19 |
20 | > 地址 `url` 填入 Webdav 服务器地址
21 | >
22 | > 账户 `username` 填入注册邮箱
23 | >
24 | > 密码 `password` 填入 **应用密码(非账户密码)**
25 |
26 | 保存,选择添加的服务器
27 |
28 | 
29 |
30 | 刷新,查看文件
31 |
32 | 
33 |
34 | 选择书籍,放入书架
35 |
36 | 
37 |
38 |
39 | ### 2.兽人小说分享 [@FurryNovels](https://t.me/FurryReading/2145)
40 | > https://t.me/FurryReading/2145
41 | >
42 | > [兽人小说服务器配置信息](https://github.com/DowneyRem/FurryNovels/blob/main/doc/RemoteBooks.md#2%E5%85%BD%E4%BA%BA%E5%B0%8F%E8%AF%B4%E6%9C%8D%E5%8A%A1%E5%99%A8%E9%85%8D%E7%BD%AE)
--------------------------------------------------------------------------------
/doc/TooLongToRead.md:
--------------------------------------------------------------------------------
1 | # 阅读使用教程
2 | ## 1.下载并安装阅读
3 |
4 | ⬇️ 下载阅读
5 |
6 | 点击链接,下载安装包并安装,**推荐使用共存版**
7 | > https://miaogongzi.lanzout.com/b01rgkhhe
8 | >
9 | > 最新下载链接请查看 [下载阅读](./Download.md)
10 |
11 |
12 | 
13 |
14 |
15 | ## 2.导入相关书源 & 订阅源
16 | 这里推荐两种方法,任选其一即可
17 | > 更多方法详见:
18 | > **[导入书源](./ImportBookSource.md)** &
19 | > **[导入订阅源](./ImportRssSource.md)**
20 |
21 |
22 | A. 文件导入
23 |
24 | ### A.文件导入
25 | #### 1.下载书源/订阅源文件
26 | 如果你一同下载了书源文件,可以使用本地导入
27 |
28 | 
29 |
30 |
31 | #### 2.使用阅读打开
32 | 点击下载完成的书源文件,选择【用其他应用打开】
33 | 
34 |
35 | 打开方式选择阅读
36 | 
37 |
38 |
39 | #### 3.导入完成并启用书源/订阅源
40 | 
41 |
42 |
43 |
44 |
45 | B. 书源订阅( import 订阅源)
46 |
47 | ### B.书源订阅( import 订阅源)
48 | 如果你未导入 **【 import 订阅源】** ,请先导入
49 |
50 | ➕ 导入 import 订阅源
51 |
52 | 复制下方【免代理】订阅源链接
53 | ```
54 | https://cdn.jsdelivr.net/gh/windyhusky/PixivSource@main/import.json
55 | ```
56 | #### 0. 导入 import 订阅源
57 | ##### 0.1 打开【订阅】页面,点击【规则订阅】
58 | 
59 |
60 |
61 | ##### 0.2 点击加号,更改规则类型,粘贴链接,保存订阅
62 | **注意这里要把【书源】改成【订阅源】**
63 |
64 | 
65 |
66 |
67 | ##### 0.3 点击相应订阅规则,导入并启用/更新书源
68 | 
69 |
70 | **首次点击【订阅规则】 即可导入**
71 |
72 | 
73 |
74 | **导入之后,再次点击则会检查更新**
75 |
76 |
77 |
78 |
79 | #### 1.打开“书源订阅”
80 | 点击 “书源订阅”( import 订阅源)
81 |
82 | 
83 |
84 | 点击相应书源/订阅源,导入该源
85 |
86 | 
87 |
88 |
89 | #### 2.导入相关资源
90 | 点击书源,导入书源
91 |
92 | 
93 |
94 | 点击订阅源,导入订阅源
95 |
96 | 
97 |
98 |
99 |
100 | ## 3.登陆账号
101 | ### 1. Linpx 与 兽人控小说站
102 |
103 | 🌐 检查网站能否访问
104 |
105 | 订阅 - 点击 Linpx / 兽人控小说站 - 打开网站
106 | - 如果可以直接打开,那么一切大功告成!
107 | - **多数网络下,Linpx & 兽人控小说站 无需代理即可访问**
108 | - Linpx & 兽人控小说站 没有账号体系,**无需登录即可使用**,不必做过多的操作
109 |
110 | - 如果 **无法直接打开** 则可以:
111 | - 切换至其他网络(**更换网络运营商、使用流量或 WIFI**)后再尝试
112 | - 开启代理后再尝试
113 |
114 |
115 |
116 | ### 2. Pixiv 【需要登录】
117 | Pixiv 及正版付费书源,需要登录账号才能阅读相关小说
118 |
119 |
120 | 🅿️ 登录 Pixiv 账号
121 |
122 | #### 1. 开启代理工具
123 | 此处略过,请自行学习,**最好开启【全局代理】**
124 |
125 |
126 | #### 2. 登录 Pixiv 账号
127 | **我的-书源管理-点击 Pixiv 书源右侧三点菜单-登录**
128 |
129 | 
130 |
131 | **登录你的账号,登录成功后,点击右上角的对勾**
132 |
133 | 
134 |
135 | **如果需要验证码,请更换代理,或过段时间再次尝试**
136 |
137 |
138 |
139 | ## 4.使用书源,畅享阅读
140 | - ✅ 搜索:书架页面,搜索小说,添加小说到书架
141 | - ✅ 发现:发现页面,查看小说,添加小说到书架
142 | - ✅ 添加网址:书架页面,通过 **【添加网址】** 添加小说到书架
143 | - ✅ 订阅源:订阅页面,通过 **【订阅源】** 添加小说到书架
144 |
145 |
146 |
147 | 更多教程
148 |
149 | > ### 1. [阅读使用教程(太长不看版)](./TooLongToRead.md)【你在这里】
150 | >> #### 1.1 [Pixiv 书源的导入与使用](./Pixiv.md)
151 | >> #### 1.2 [Linpx 书源的导入与使用](./Linpx.md)
152 | >> #### 1.3 [兽人控小说站 书源的导入与使用](./FurryNovel.md)
153 | >> #### 1.4 搜索小说、查看订阅,畅享阅读
154 | > ### 2. [添加远程书籍](./Remotebooks),畅享阅读
155 | > ### 3. [设置 Webdav 备份](./WebdavBackup.md)
156 | > ### 4. [故障排查与处理](./TroubleShoot.md)
157 |
158 |
159 | ## 本教程由兽人阅读频道 [@FurryReading](https://t.me/FurryReading) 提供
--------------------------------------------------------------------------------
/doc/TroubleShoot.md:
--------------------------------------------------------------------------------
1 | ## 5.故障排查与处理
2 |
3 |
4 | ### 5.1 搜索无结果
5 | 1. 检查网络是否可用
6 | - 检查**网络**是否可用?更换其他网络重试
7 | - 检查**代理**是否可用?更换其他代理重试
8 | - ##### **检查阅读软件是否走了代理?**
9 | 2. 检查并更新阅读软件
10 | - ##### **更新阅读软件**
11 | - 尝试使用阅读的不同版本重试
12 | 3. 检查并更新相关书源
13 | - 检查书源**是否导入?**
14 | - 检查书源**是否启用?**
15 | - ##### **更新书源**
16 | 4. 检查书源网站能否访问,相关功能是否正常
17 | - 检查书源所用网站能否访问?
18 | - 检查书源所用网站功能能否正常?
19 | - ##### **阅读内部登陆该网站**,重试
20 | 5. 向书源开发者反馈
21 |
22 |
23 | ### 5.2 发现页面报错
24 | 1. 检查网络是否可用
25 | - 检查**网络**是否可用?更换其他网络重试
26 | - 检查**代理**是否可用?更换其他代理重试
27 | - ##### **检查阅读软件是否走了代理?**
28 | 2. 检查并更新阅读软件
29 | - ##### **更新阅读软件**
30 | - 尝试使用阅读的不同版本重试
31 | 3. 检查并更新相关书源
32 | - ##### **更新书源**
33 | 4. 检查书源网站是否可访问
34 | - 检查书源所用网站能否访问?
35 | - 检查书源所用网站功能能否正常?
36 | - ##### **阅读内部登陆该网站**,重试
37 | 5. 向书源开发者反馈
38 |
39 |
40 | ### 5.3 正文图片显示为链接
41 | 1. **关闭替换净化**
42 | 
43 |
44 |
--------------------------------------------------------------------------------
/doc/Version.md:
--------------------------------------------------------------------------------
1 | ### 3.3 版本区分
2 | #### 1. 阅读2.0版本与3.0版本
3 | [阅读2.0版本](https://github.com/gedoor/MyBookshelf/releases) 于2022年4月份停止更新。
4 |
5 | **[阅读3.0版本](https://github.com/gedoor/legado) 目前是阅读的主流版本**,也是多数书源支持的版本。安卓5以上均可使用。
6 |
7 |
8 | ### 阅读3.0的细化版
9 |
10 |

11 |
12 |
13 |
14 | #### 2.0 安卓版与苹果版
15 | - 目前阅读 3.0 仅支持 Android 安卓设备
16 | - ~~官方正在开发 [iOS版](https://github.com/gedoor/YueDuFlutter) ,[近期在TF测试](https://gedoor.github.io/download) ,最新消息请见:[Telegram 频道(iOS版)](https://t.me/legado_ios)~~
17 | - 官方已放弃开发苹果版
18 |
19 | #### 2.1 限制版与R18版(原包名、共存版)
20 | 
21 | > https://t.me/Legado_Channels/411
22 |
23 | 屏蔽规则中的网站早已年久失修,现在使用起来并无影响。
24 |
25 |
26 | #### 2.2开发版与稳定版
27 | 开发版:基于 Github Actions 自动构建出来的版本
28 |
29 | 稳定版:应用商店 / Telegram 频道等分发的版本
30 |
31 |
32 | #### 2.3 普通版、Pro版、Beta版
33 | 普通版:无更多美化功能的版本
34 |
35 | Pro版:Google Play 商店上架的收费版本(仅有更多美化功能),**现已被永久下架。所有Pro限定功能已经移植到普通版(2023.11.01)**
36 |
37 | 
38 | > https://t.me/Legado_Channels/1279
39 |
40 | Beta版:根据此消息,推测为将Pro版本功能移植到“普通版”过程中的测试版。
41 |
42 | 后因主要开发者很久未曾出现,阅读无法以原签名继续更新软件,目前只能以 Beta 版更新
43 |
44 |
--------------------------------------------------------------------------------
/doc/WebdavBackup.md:
--------------------------------------------------------------------------------
1 | ## [Webdav 备份与恢复](https://www.yuque.com/legado/wiki/fkx510)
2 | 阅读支持 WebDav 云备份,所有支持 WebDav 的云盘都可以用来备份。
3 |
4 | 建议使用坚果云,每月1G免费流量,备份阅读已经足够了。
5 |
6 |
7 | ## 1. 配置坚果云
8 | ### 1.0 [注册并登录坚果云](https://www.jianguoyun.com/d/signup)
9 |
10 |
11 | ### 1.1 [配置坚果云](https://www.yuque.com/legado/wiki/fkx510)
12 |
13 | #### 1. 在右上角点击【用户名】,选择【账户信息】
14 |
15 | 
16 |
17 | #### 2. 点击【安全选项】后,在第三方管理里【添加应用】
18 | 
19 |
20 | #### 3. 输入名称,点击【生成密码】,最后点击完成
21 | 
22 |
23 | #### 4. 到此 WebDav 账户设置完成
24 | 
25 |
26 |
27 |
28 | ## 2. [设置备份信息](https://www.yuque.com/legado/wiki/mgu5qu)
29 |
30 |
31 | #### 2.1 进入备份与恢复
32 | 主界面 - 我的 - 设置 - 备份与恢复
33 |
34 | 
35 |
36 |
37 | #### 2.2 设置 WebDav 备份信息
38 | 在 WebDav 设置里填入服务器地址、账户、应用密码
39 |
40 | 
41 |
42 |
43 | #### 2.3 自动备份
44 | 完成 WebDav 备份设置后,每次退出APP即会自动备份。
45 |
46 | **仅返回式退出会自动备份,任务栏直接关闭不会备份**
47 |
48 | **同一天的备份会覆盖,不同日期的备份不会覆盖**
49 |
50 |
51 |
52 | ## 3. 备份与恢复数据
53 | 
54 |
55 |
56 | ### 3.1 手动备份数据
57 | **备份与恢复 - 备份,即可备份数据**
58 |
59 | 首次备份,请检查坚果云里是否有备份文件。
60 |
61 | 如果备份失败,请手动在坚果云根目录新建文件夹"legado",然后再备份
62 |
63 |
64 | ### 3.2 [恢复数据](https://www.yuque.com/legado/wiki/nxs89y)
65 | **备份与恢复 - 恢复**
66 |
67 | 
68 |
69 | **选择需要恢复的备份文件**,即可恢复数据
70 | 
--------------------------------------------------------------------------------
/doc/pic/AddBookViaFurryNovel1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/AddBookViaFurryNovel1.png
--------------------------------------------------------------------------------
/doc/pic/AddBookViaFurryNovel2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/AddBookViaFurryNovel2.png
--------------------------------------------------------------------------------
/doc/pic/AddBookViaLinpx.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/AddBookViaLinpx.png
--------------------------------------------------------------------------------
/doc/pic/AddBookViaPixiv1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/AddBookViaPixiv1.png
--------------------------------------------------------------------------------
/doc/pic/AddBookViaPixiv2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/AddBookViaPixiv2.png
--------------------------------------------------------------------------------
/doc/pic/AddBookViaUrl1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/AddBookViaUrl1.png
--------------------------------------------------------------------------------
/doc/pic/AddBookViaUrl2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/AddBookViaUrl2.png
--------------------------------------------------------------------------------
/doc/pic/AddBookViaUrl3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/AddBookViaUrl3.png
--------------------------------------------------------------------------------
/doc/pic/DiscoverFurryNovel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/DiscoverFurryNovel.png
--------------------------------------------------------------------------------
/doc/pic/DiscoverFurryNovelSort.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/DiscoverFurryNovelSort.png
--------------------------------------------------------------------------------
/doc/pic/DiscoverLinpx.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/DiscoverLinpx.png
--------------------------------------------------------------------------------
/doc/pic/DiscoverPixiv.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/DiscoverPixiv.jpg
--------------------------------------------------------------------------------
/doc/pic/DiscoverPixivLikes.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/DiscoverPixivLikes.jpg
--------------------------------------------------------------------------------
/doc/pic/DiscoverPixivRanking.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/DiscoverPixivRanking.png
--------------------------------------------------------------------------------
/doc/pic/DownloadLegado.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/DownloadLegado.png
--------------------------------------------------------------------------------
/doc/pic/DownloadResource.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/DownloadResource.png
--------------------------------------------------------------------------------
/doc/pic/FurryNovelRaces.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/FurryNovelRaces.png
--------------------------------------------------------------------------------
/doc/pic/FurryNovelWebpage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/FurryNovelWebpage.png
--------------------------------------------------------------------------------
/doc/pic/ImportOnlineBookSource1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/ImportOnlineBookSource1.jpg
--------------------------------------------------------------------------------
/doc/pic/ImportOnlineBookSource2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/ImportOnlineBookSource2.jpg
--------------------------------------------------------------------------------
/doc/pic/ImportOnlineBookSource3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/ImportOnlineBookSource3.jpg
--------------------------------------------------------------------------------
/doc/pic/ImportOnlineRssSource1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/ImportOnlineRssSource1.png
--------------------------------------------------------------------------------
/doc/pic/ImportOnlineRssSource2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/ImportOnlineRssSource2.png
--------------------------------------------------------------------------------
/doc/pic/ImportOnlineRssSource3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/ImportOnlineRssSource3.jpg
--------------------------------------------------------------------------------
/doc/pic/ImportOnlineRssSource4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/ImportOnlineRssSource4.jpg
--------------------------------------------------------------------------------
/doc/pic/InportBookSourceLinpx.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/InportBookSourceLinpx.jpg
--------------------------------------------------------------------------------
/doc/pic/InportBookSourceLinpx.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/InportBookSourceLinpx.png
--------------------------------------------------------------------------------
/doc/pic/InportBookSourcePixiv.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/InportBookSourcePixiv.jpg
--------------------------------------------------------------------------------
/doc/pic/InportRssSourceBooks.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/InportRssSourceBooks.jpg
--------------------------------------------------------------------------------
/doc/pic/InportRssSourceBtsrk.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/InportRssSourceBtsrk.png
--------------------------------------------------------------------------------
/doc/pic/InportRssSourceImport.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/InportRssSourceImport.png
--------------------------------------------------------------------------------
/doc/pic/Legado-Pixiv.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/Legado-Pixiv.png
--------------------------------------------------------------------------------
/doc/pic/Legado-Pixiv1200x800.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/Legado-Pixiv1200x800.png
--------------------------------------------------------------------------------
/doc/pic/Legado-Version-Pro.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/Legado-Version-Pro.png
--------------------------------------------------------------------------------
/doc/pic/Legado-Version-R18.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/Legado-Version-R18.png
--------------------------------------------------------------------------------
/doc/pic/Legado-Version-iOS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/Legado-Version-iOS.png
--------------------------------------------------------------------------------
/doc/pic/LinpxConvertPixivUrl1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/LinpxConvertPixivUrl1.png
--------------------------------------------------------------------------------
/doc/pic/LinpxConvertPixivUrl2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/LinpxConvertPixivUrl2.png
--------------------------------------------------------------------------------
/doc/pic/LinpxWebpage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/LinpxWebpage.png
--------------------------------------------------------------------------------
/doc/pic/OpenInLegado.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/OpenInLegado.png
--------------------------------------------------------------------------------
/doc/pic/OpenInQQ.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/OpenInQQ.png
--------------------------------------------------------------------------------
/doc/pic/PixivLogin1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/PixivLogin1.jpg
--------------------------------------------------------------------------------
/doc/pic/PixivLogin2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/PixivLogin2.jpg
--------------------------------------------------------------------------------
/doc/pic/PixivLoginUI.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/PixivLoginUI.jpg
--------------------------------------------------------------------------------
/doc/pic/PixivNovelRanking.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/PixivNovelRanking.png
--------------------------------------------------------------------------------
/doc/pic/PixivSettingsBirth.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/PixivSettingsBirth.png
--------------------------------------------------------------------------------
/doc/pic/PixivSettingsView.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/PixivSettingsView.png
--------------------------------------------------------------------------------
/doc/pic/RemoteBooksSettings0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/RemoteBooksSettings0.png
--------------------------------------------------------------------------------
/doc/pic/RemoteBooksSettings1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/RemoteBooksSettings1.png
--------------------------------------------------------------------------------
/doc/pic/RemoteBooksSettings2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/RemoteBooksSettings2.png
--------------------------------------------------------------------------------
/doc/pic/RemoteBooksSettings3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/RemoteBooksSettings3.png
--------------------------------------------------------------------------------
/doc/pic/RemoteBooksSettings4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/RemoteBooksSettings4.png
--------------------------------------------------------------------------------
/doc/pic/RemoteBooksSettings5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/RemoteBooksSettings5.png
--------------------------------------------------------------------------------
/doc/pic/RemoteBooksSettings6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/RemoteBooksSettings6.png
--------------------------------------------------------------------------------
/doc/pic/RemoteBooksSettings7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/RemoteBooksSettings7.png
--------------------------------------------------------------------------------
/doc/pic/ReplaceTurnOff.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/ReplaceTurnOff.png
--------------------------------------------------------------------------------
/doc/pic/RssSourceImportLogo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/RssSourceImportLogo.png
--------------------------------------------------------------------------------
/doc/pic/RssSourceImportWebpage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/RssSourceImportWebpage.png
--------------------------------------------------------------------------------
/doc/pic/SearchViaFurryNovel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/SearchViaFurryNovel.png
--------------------------------------------------------------------------------
/doc/pic/SearchViaLegado.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/SearchViaLegado.png
--------------------------------------------------------------------------------
/doc/pic/SearchViaLegadoAuthor.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/SearchViaLegadoAuthor.jpg
--------------------------------------------------------------------------------
/doc/pic/SearchViaLegadoConvert.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/SearchViaLegadoConvert.jpg
--------------------------------------------------------------------------------
/doc/pic/SearchViaLegadoHashtag.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/SearchViaLegadoHashtag.jpg
--------------------------------------------------------------------------------
/doc/pic/SearchViaLegadoWordCountFilter1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/SearchViaLegadoWordCountFilter1.jpg
--------------------------------------------------------------------------------
/doc/pic/SearchViaLegadoWordCountFilter2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/SearchViaLegadoWordCountFilter2.jpg
--------------------------------------------------------------------------------
/doc/pic/SearchViaLinpx.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/SearchViaLinpx.png
--------------------------------------------------------------------------------
/doc/pic/SearchViaPixiv.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/SearchViaPixiv.png
--------------------------------------------------------------------------------
/doc/pic/SetSourceVariable0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/SetSourceVariable0.png
--------------------------------------------------------------------------------
/doc/pic/SetSourceVariable1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/SetSourceVariable1.png
--------------------------------------------------------------------------------
/doc/pic/SetSourceVariable2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/SetSourceVariable2.png
--------------------------------------------------------------------------------
/doc/pic/SubscribeBoookSourceLinpx.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/SubscribeBoookSourceLinpx.jpg
--------------------------------------------------------------------------------
/doc/pic/SubscribeBoookSourcePixiv.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/SubscribeBoookSourcePixiv.jpg
--------------------------------------------------------------------------------
/doc/pic/SubscribeEntry.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/SubscribeEntry.png
--------------------------------------------------------------------------------
/doc/pic/SubscribeHomePage.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/SubscribeHomePage.jpg
--------------------------------------------------------------------------------
/doc/pic/SubscribeHomePage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/SubscribeHomePage.png
--------------------------------------------------------------------------------
/doc/pic/SubscribeRssSourceBtsrk.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/SubscribeRssSourceBtsrk.jpg
--------------------------------------------------------------------------------
/doc/pic/SubscribeRssSourceImport.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/SubscribeRssSourceImport.png
--------------------------------------------------------------------------------
/doc/pic/UpdateSource.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/UpdateSource.jpg
--------------------------------------------------------------------------------
/doc/pic/WebdavBackup0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/WebdavBackup0.png
--------------------------------------------------------------------------------
/doc/pic/WebdavBackup1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/WebdavBackup1.png
--------------------------------------------------------------------------------
/doc/pic/WebdavBackup2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/WebdavBackup2.png
--------------------------------------------------------------------------------
/doc/pic/WebdavBackup3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/windyhusky/PixivSource/88a4e5cb054ac4e540d826c1192779381580e593/doc/pic/WebdavBackup3.png
--------------------------------------------------------------------------------
/furrynovel/ReadMe.txt:
--------------------------------------------------------------------------------
1 | 兽人控小说站书源(更新📆:2024-01-31)
2 |
3 | 可用功能:✅搜索✅发现✅添加网址✅订阅源
4 | 搜索小说:✅单篇✅系列✅作者✅标签
5 | 发现小说:✅热门小说✅最新小说✅随便来点
6 | 添加网址:✅兽人控小说站链接
7 | 订阅用法:点击订阅源打开小说/系列小说,点击【加入书架】按钮,添加小说到书架
8 |
9 | 书源发布:兽人阅读频道 https://t.me/FurryReading
10 | 项目地址:https://github.com/windyhusky/PixivSource
11 | 使用教程:https://github.com/windyhusky/PixivSource/blob/main/doc/FurryNovel.md
12 |
13 | 规则订阅:Import 订阅源
14 | https://cdn.jsdelivr.net/gh/windyhusky/PixivSource@main/import.json
15 | https://raw.githubusercontent.com/windyhusky/PixivSource/main/import.json
16 |
17 | ⚙️ 书源设置:
18 | 书源管理 - 编辑书源 - 基本 - 变量说明 - 修改并保存
19 |
20 | 🔎 筛选发现:
21 | 发现 - 长按"Pixiv" - 编辑 - 右上角菜单 - 设置源变量
22 | 设置源变量:输入标签,保存
23 | 发现 - 长按"Pixiv" - 刷新 - 查看他人收藏
--------------------------------------------------------------------------------
/furrynovel/base.bookUrlPattern.txt:
--------------------------------------------------------------------------------
1 | FN 小说链接
2 | (https?://)?(www\.)?furrynovel\.com/(zh|en|ja)/novel/\d+(/chapter/d+)?
3 |
4 | FN API链接
5 | (https?://)?(www\.|api\.)?furrynovel\.com(/api)?/(zh|en|ja)/novel/\d+(/chapter/d+)?
--------------------------------------------------------------------------------
/furrynovel/base.header.json:
--------------------------------------------------------------------------------
1 | {"referer": "https://furrynovel.com/"}
2 |
--------------------------------------------------------------------------------
/furrynovel/base.loginCheckJS.js:
--------------------------------------------------------------------------------
1 | var util = {}
2 |
3 | function objStringify(obj) {
4 | return JSON.stringify(obj, (n, v) => {
5 | if (typeof v == "function")
6 | return v.toString();
7 | return v;
8 | });
9 | }
10 |
11 | function publicFunc() {
12 | let u = {}
13 | java.log(String(source.bookSourceComment).split("\n")[0]) // 输出书源信息
14 | java.log(`本地书源更新时间:${java.timeFormat(source.lastUpdateTime)}`) // 输出书源信息
15 | settings = JSON.parse(String(source.variableComment).match(RegExp(/{([\s\S]*?)}/gm)))
16 | if (settings !== null) {
17 | java.log("⚙️ 使用自定义设置")
18 | } else {
19 | settings = {}
20 | settings.CONVERT_CHINESE = true // 搜索:搜索时进行繁简转换
21 | settings.MORE_INFORMATION = false // 详情:书籍简介显示更多信息
22 | // settings.SHOW_UPDATE_TIME = true // 目录:显示更新时间,但会增加少许请求
23 | settings.SHOW_ORIGINAL_LINK = true // 目录:显示原始链接,但会增加大量请求
24 | settings.REPLACE_TITLE_MARKS = true // 正文:注音内容为汉字时,替换为书名号
25 | // settings.SHOW_CAPTIONS = true // 正文:章首显示描述
26 | settings.SHOW_COMMENTS = true // 正文:章尾显示评论
27 | settings.DEBUG = false // 全局:调试模式
28 | java.log("⚙️ 使用默认设置(无自定义设置 或 自定义设置有误)")
29 | }
30 | u.CONVERT_CHINESE = settings.CONVERT_CHINESE
31 | u.MORE_INFORMATION = settings.MORE_INFORMATION
32 | // u.SHOW_UPDATE_TIME = settings.SHOW_UPDATE_TIME
33 | u.SHOW_ORIGINAL_LINK = settings.SHOW_ORIGINAL_LINK
34 | u.REPLACE_TITLE_MARKS = settings.REPLACE_TITLE_MARKS
35 | // u.SHOW_CAPTIONS = settings.SHOW_CAPTIONS
36 | u.SHOW_COMMENTS = settings.SHOW_COMMENTS
37 | u.DEBUG = settings.DEBUG
38 |
39 | if (u.DEBUG === true) {
40 | java.log(JSON.stringify(settings, null, 4))
41 | java.log(`DEBUG = ${u.DEBUG}`)
42 | }
43 | u.debugFunc = (func) => {
44 | if (util.DEBUG) {
45 | func()
46 | }
47 | }
48 |
49 | u.getNovels = function () {
50 | if (JSON.parse(result).code === 200 && JSON.parse(result).count > 0) {
51 | return JSON.parse(result).data
52 | } else {
53 | return []
54 | }
55 | }
56 |
57 | u.handNovels = function (novels) {
58 | novels.forEach(novel =>{
59 | // novel.id = novel.id
60 | novel.title = novel.name
61 | // novel.tags = novel.tags
62 | novel.userName = novel.author.name
63 | // novel.userId = novel.author.id
64 | novel.textCount = null
65 | if (novel.latest_chapters === undefined) {
66 | novel.latestChapter = null
67 | novel.detailedUrl = urlNovelDetail(novel.id)
68 | } else {
69 | novel.latestChapter = novel.latest_chapters[0].name
70 | novel.detailedUrl = urlNovelUrl(novel.id)
71 | }
72 | novel.description = novel.desc
73 | novel.coverUrl = novel.cover
74 |
75 | // novel.source = novel.source
76 | novel.oneShot = novel.ext_data.oneShot
77 | novel.sourceId = novel.source_id
78 | novel.sourceUrl = urlSourceUrl(novel.source, novel.oneShot, novel.sourceId)
79 |
80 | novel.createDate = novel.created_at
81 | novel.updateDate = novel.updated_at
82 | novel.syncDate = novel.fetched_at
83 | // novel.status = novel.status
84 | // if (novel.status !== "publish") { // suspend
85 | // java.log(urlNovelUrl(novel.id))
86 | // java.log(novel.sourceUrl)
87 | // }
88 | })
89 | return novels
90 | }
91 |
92 | u.formatNovels = function (novels) {
93 | novels.forEach(novel => {
94 | novel.title = novel.title.replace(RegExp(/^\s+|\s+$/g), "")
95 | novel.tags2 = []
96 | for (let i in novel.tags) {
97 | let tag = novel.tags[i]
98 | if (tag.includes("/")) {
99 | let tags = tag.split("/")
100 | novel.tags2 = novel.tags2.concat(tags)
101 | } else {
102 | novel.tags2.push(tag)
103 | }
104 | }
105 | novel.tags = Array.from(new Set(novel.tags2))
106 | novel.tags = novel.tags.join(",")
107 | novel.createDate = dateFormat(novel.createDate)
108 | novel.updateDate = dateFormat(novel.updateDate)
109 | novel.syncDate = dateFormat(novel.syncDate)
110 | if (util.MORE_INFORMATION) {
111 | novel.description = `\n书名:${novel.title}\n作者:${novel.userName}\n标签:${novel.tags}\n上传:${novel.createDate}\n更新:${novel.updateDate}\n同步:${novel.syncDate}\n简介:${novel.description}`
112 | } else {
113 | novel.description = `\n${novel.description}\n上传时间:${novel.createDate}\n更新时间:${novel.updateDate}\n同步时间:${novel.syncDate}`
114 | }
115 | })
116 | return novels
117 | }
118 |
119 | u.getNovelRes = function (result, type) {
120 | let res = {data: []}, chapterId = 0
121 | let isHtml = result.startsWith("")
122 | let pattern = "(https?://)?(www\\.)?furrynovel\\.com/(zh|en|ja)/novel/\\d+(/chapter/d+)?"
123 | let fnWebpage = baseUrl.match(new RegExp(pattern))
124 |
125 | if (isHtml && fnWebpage) {
126 | let novelId = baseUrl.match(new RegExp("\\d+"))[0]
127 | if (type === "detail") {
128 | res = getAjaxJson(urlNovelDetail(novelId))
129 | } else if (type === "catalog") {
130 | res = getAjaxJson(urlNovelChapterInfo(novelId))
131 | } else if (type === "content") {
132 | try {
133 | chapterId = baseUrl.match(RegExp(/\/(\d+)\/chapter\/(\d+)/))[2]
134 | } catch (e) {
135 | chapterId = getAjaxJson(urlNovelChapterInfo(novelId)).data[0].id
136 | } finally {
137 | res = getAjaxJson(urlNovelChapterDetail(novelId, chapterId))
138 | }
139 | }
140 | } else {
141 | res = JSON.parse(result)
142 | }
143 | if (res.data.length === 0) {
144 | java.log(`无法从 FurryNovel 获取当前小说`)
145 | java.log(JSON.stringify(res))
146 | }
147 | return res.data
148 | }
149 |
150 | util = u
151 | java.put("util", objStringify(u))
152 | }
153 |
154 | publicFunc()
155 | java.getStrResponse(null, null)
--------------------------------------------------------------------------------
/furrynovel/base.variableComment.txt:
--------------------------------------------------------------------------------
1 | 🔎 筛选发现:
2 | 发现 - 长按"兽人小说站" - 编辑 - 右上角菜单 - 设置源变量
3 | 设置源变量:输入想要搜索/筛选的标签,以空格间隔(或一行一个),保存
4 | 发现 - 长按"兽人小说站" - 刷新 - 查看他人收藏
5 | 以下内容为源变量模板:
6 | 中文 原创 纯爱
7 |
8 |
9 | ⚙️ 自定义书源设置:
10 | ⚙️ 自定义设置:请在基本-变量说明处修改代码
11 | ⚙️ 自定义设置:将 true 改为 false,或相反
12 | ⚠️ 设置源变量【无法】更改书源自定义设置
13 | ⚠️ 注意不要添加或删除尾随逗号","
14 | ⚠️ 发现页需要长按"兽人控小说站",手动刷新
15 | 以下内容为书源设置:
16 | {
17 | "CONVERT_CHINESE": true,
18 | "MORE_INFORMATION": false,
19 | "SHOW_ORIGINAL_LINK": true,
20 |
21 | "REPLACE_TITLE_MARKS": true,
22 | "SHOW_CAPTIONS": true,
23 | "SHOW_COMMENTS": true,
24 |
25 | "FAST": true,
26 | "DEBUG": false
27 | }
28 |
29 | // CONVERT_CHINESE
30 | // 搜索:搜索时进行繁简转换,但搜索会变慢
31 | // MORE_INFORMATION
32 | // 详情:书籍简介显示更多信息
33 | // SHOW_ORIGINAL_LINK
34 | // 目录:显示原始链接,但会增加大量请求
35 |
36 | // REPLACE_TITLE_MARKS
37 | // 正文:注音内容为汉字时,替换为书名号
38 | // SHOW_CAPTIONS
39 | // 正文:章首显示小说描述
40 | // SHOW_COMMENTS
41 | // 正文:章尾显示小说评论
42 |
43 | // DEBUG
44 | // 调试模式
45 |
46 |
--------------------------------------------------------------------------------
/furrynovel/catalog.js:
--------------------------------------------------------------------------------
1 | @js:
2 | var util = objParse(String(java.get("util")))
3 |
4 | function objParse(obj) {
5 | return JSON.parse(obj, (n, v) => {
6 | if (typeof v == "string" && v.match("()")) {
7 | return eval(`(${v})`)
8 | }
9 | return v;
10 | })
11 | }
12 |
13 | function urlNovelChapter(novelId, chapterId) {
14 | if (util.SHOW_ORIGINAL_LINK) {
15 | return urlNovelChapterUrl(novelId, chapterId)
16 | } else {
17 | return urlNovelChapterDetail(novelId, chapterId)
18 | }
19 | }
20 |
21 | function novelHandler(novels) {
22 | novels.forEach(novel => {
23 | novel.chapterId = novel.id
24 | novel.novelId = baseUrl.match(RegExp(/\d+/))[0]
25 | novel.detailedUrl = urlNovelUrl(novel.novelId)
26 | novel.chapterName = novel.title = novel.name
27 | novel.chapterUrl = urlNovelChapter(novel.novelId, novel.chapterId)
28 | novel.chapterInfo = `${novel.created_at} ${novel.text_count}字`
29 | })
30 | return novels
31 | }
32 |
33 | (function () {
34 | return novelHandler(util.getNovelRes(result, "catalog"))
35 | })()
--------------------------------------------------------------------------------
/furrynovel/content.js:
--------------------------------------------------------------------------------
1 | @js:
2 | var util = objParse(String(java.get("util")))
3 |
4 | function objParse(obj) {
5 | return JSON.parse(obj, (n, v) => {
6 | if (typeof v == "string" && v.match("()")) {
7 | return eval(`(${v})`)
8 | }
9 | return v;
10 | })
11 | }
12 |
13 | function getContent(res) {
14 | let content = res.content
15 | // 获取 [uploadedimage:] 的图片链接
16 | let hasEmbeddedImages = content.match(RegExp(/\[uploadedimage:(\d+)-?(\d+)]/gm))
17 | if (hasEmbeddedImages) {
18 | resp = getAjaxJson(urlLinpxNovelDetail(res.source_id))
19 | Object.keys(resp.images).forEach((key) => {
20 | content = content.replace(`[uploadedimage:${key}]`, `
`)
21 | })
22 | }
23 |
24 | // 获取 [pixivimage:] 的图片链接 [pixivimage:1234] [pixivimage:1234-1]
25 | let matched = content.match(RegExp(/\[pixivimage:(\d+)-?(\d+)]/gm))
26 | if (matched) {
27 | for (let i in matched) {
28 | let illustId, order
29 | let matched2 = matched[i].match(RegExp("(\\d+)-?(\\d+)"))
30 | let temp = matched2[0].split("-")
31 | illustId = temp[0]
32 | if (temp.length >= 2) {
33 | order = temp[1]
34 | }
35 | content = content.replace(`${matched[i]}`, `
`)
36 | }
37 | }
38 |
39 | // 替换 Pixiv 分页标记符号 [newpage]
40 | matched = content.match(RegExp(/[ ]*\[newpage][ ]*/gm))
41 | if (matched) {
42 | for (let i in matched) {
43 | content = content.replace(`${matched[i]}`, `${"
".repeat(3)}`)
44 | }
45 | }
46 |
47 | // 替换 Pixiv 章节标记符号 [chapter:]
48 | matched = content.match(RegExp(/\[chapter:(.*?)]/gm))
49 | if (matched) {
50 | for (let i in matched) {
51 | let matched2 = matched[i].match(/\[chapter:(.*?)]/m)
52 | let chapter = matched2[1].trim()
53 | content = content.replace(`${matched[i]}`, `${chapter}
`)
54 | }
55 | }
56 |
57 | // 替换 Pixiv 跳转页面标记符号 [[jump:]]
58 | matched = content.match(RegExp(/\[jump:(\d+)]/gm))
59 | if (matched) {
60 | for (let i in matched) {
61 | let page = matched[i].match(/\d+/)
62 | content = content.replace(`${matched[i]}`, `\n\n跳转至第${page}节`)
63 | }
64 | }
65 |
66 | // 替换 Pixiv 链接标记符号 [[jumpuri: > ]]
67 | matched = content.match(RegExp(/\[\[jumpuri:(.*?)>(.*?)]]/gm))
68 | if (matched) {
69 | for (let i in matched) {
70 | let matched2 = matched[i].match(/\[\[jumpuri:(.*?)>(.*?)]]/m)
71 | let matchedText = matched2[0]
72 | let urlName = matched2[1].trim()
73 | let urlLink = matched2[2].trim()
74 | // 阅读不支持超链接
75 | //content = content.replace(`${matchedText}`, `${urlName}`)
76 | if (urlLink === urlName) {
77 | content = content.replace(`${matchedText}`, `${urlName}`)
78 | } else {
79 | content = content.replace(`${matchedText}`, `${urlName}: ${urlLink}`)
80 | }
81 | }
82 | }
83 |
84 | // 替换 Pixiv 注音标记符号 [[rb: > ]]
85 | matched = content.match(RegExp(/\[\[rb:(.*?)>(.*?)]]/gm))
86 | if (matched) {
87 | for (let i in matched) {
88 | let matched2 = matched[i].match(/\[\[rb:(.*?)>(.*?)]]/m)
89 | let matchedText = matched2[0]
90 | let kanji = matched2[1].trim()
91 | let kana = matched2[2].trim()
92 |
93 | if (!util.REPLACE_TITLE_MARKS) {
94 | // 默认替换成(括号)
95 | content = content.replace(`${matchedText}`, `${kanji}(${kana})`)
96 | } else {
97 | let reg = RegExp("[\\u4E00-\\u9FFF]+", "g");
98 | if (reg.test(kana)) {
99 | // kana为中文,则替换回《书名号》
100 | content = content.replace(`${matchedText}`, `${kanji}《${kana}》`)
101 | } else {
102 | // 阅读不支持