XIU2 / Yuedu

📚「阅读」APP 精品书源(网络小说)

Home Page:https://yuedu.xiu2.xyz

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

反馈问题:顶点小说 ddxs 书源失效

SevendaysZzzz opened this issue · comments

阅读版本(我的 - 关于 - 版本,如 3.20.112220)

3.22.091920

书源名称

顶点小说 ddxs 和 顶点小说 ddxs -手机版

问题描述(最好写上 复现步骤,特别是一些复杂的问题)

网站似乎加了cloudflare 连接安全检查,书源规则都失效了。

commented

那就没办法了,另一个 [顶点小说 sbooktxt] 书源也是给搜索页加了人机验证,我只能暂时将其禁用。。。

我不清楚这种人机验证在《阅读》中要如何解决,哪怕能解决,估计每次使用到该书源的搜索相关时都会弹一次验证码( Cloudflare 的验证码有效期默认就几个小时,最短可设置半小时),这也太麻烦了。。。


对于书源来说,搜索规则是核心,不管是搜书还是换书源,都需要对书源网站搜索。
不过发现里看到的书不需要搜索,因此可以一定程度上替代,但书源功能依然是残缺的。。。

随着《阅读》APP 的普及,很多小说网站都被制作成了书源,而这些盗版小说网站依靠广告盈利,而通过书源看小说的话压根看不到广告,因此越来越多的小说站都学精了,故意给搜索页加个人机验证,一下子就打蛇打七寸了。。。

commented

这是和顶点一个模板的书源,有大佬写出过验证的方法,你看看

{
        "bookSourceComment": "// Error: org.mozilla.javascript.WrappedException: Wrapped io.legado.app.exception.NoStackTraceException: 验证结果为空 (<Unknown source>#2(eval)#1(eval)#1) in <Unknown source>#2(eval)#1(eval) at line number 1\n\n(作者abyssesml)",
        "bookSourceGroup": "🎉 精品",
        "bookSourceName": "燃文la",
        "bookSourceType": 0,
        "bookSourceUrl": "https://m.ranwen.la",
        "customOrder": -88979595,
        "enabled": true,
        "enabledCookieJar": true,
        "enabledExplore": false,
        "enabledReview": false,
        "exploreUrl": "玄幻小说::/xuanhuan/\n修真小说::/xiuzhen/\n都市小说::/dushi/\n历史小说::/lishi/\n网游小说::/wangyou/\n科幻小说::/kehuan/\n浪漫青春::/qingchun/\n言情小说::/yanqing/\n同人次元::/ciyuan/",
        "lastUpdateTime": 1665046069887,
        "loginUi": "[\n{\n\t\t\"name\": \"❤️加入QQ群(熬夜肝书源611015458)\",\n\t\t\"type\": \"button\",\n\t\t\"action\":\"https://jq.qq.com/?_wv=1027&k=1ZyEEhur\"\n\t}\n]",
        "loginUrl": "",
        "respondTime": 190663,
        "ruleBookInfo": {
            "author": "@js:\neval(String(java.base64Decode(\"amF2YS5nZXRTdHJpbmcoImNsYXNzLmJsb2NrX3R4dDJAdGFnLnAuMEB0ZXh0Iik\")))",
            "coverUrl": "@js:\neval(String(java.base64Decode(\"amF2YS5nZXRTdHJpbmcoImNsYXNzLmJsb2NrX2ltZzJAdGFnLmltZ0BzcmMiKQ\")))",
            "init": "",
            "intro": "@js:\neval(String(java.base64Decode(\"amF2YS5nZXRTdHJpbmcoImNsYXNzLmludHJvX2luZm9AdGV4dCIp\")))",
            "kind": "@js:\neval(String(java.base64Decode(\"amF2YS5nZXRTdHJpbmcoImNsYXNzLmJsb2NrX3R4dDJAdGFnLnAuMUB0YWcuYUB0ZXh0Iik\")))",
            "lastChapter": "@js:\neval(String(java.base64Decode(\"amF2YS5nZXRTdHJpbmcoImNsYXNzLmJsb2NrX3R4dDJAdGFnLnAuLTFAdGFnLmFAdGV4dCIp\")))",
            "name": "@js:\neval(String(java.base64Decode(\"amF2YS5nZXRTdHJpbmcoImNsYXNzLmJsb2NrX3R4dDJAdGFnLmgxQHRleHQiKQ\")))",
            "tocUrl": "@js:\neval(String(java.base64Decode(\"amF2YS5nZXRTdHJpbmcoInRleHQu54K55Ye75p+l55yL5pu05aSaQGhyZWYiKQ\")))"
        },
        "ruleContent": {
            "content": "@js:\neval(String(java.base64Decode(\"amF2YS5nZXRTdHJpbmcoJ2NsYXNzLm5yX25yQGlkLm5yQHRhZy5wQHRleHROb2Rlcycp\")))",
            "nextContentUrl": "@js:\neval(String(java.base64Decode(\"amF2YS5nZXRTdHJpbmcoJ3RleHQu5LiL5LiA6aG1QGhyZWYnKQ\")))",
            "replaceRegex": "##tsxsw.la|fantuankanshu.com"
        },
        "ruleExplore": {
            "author": "@js:\neval(String(java.base64Decode(\"amF2YS5nZXRTdHJpbmcoJ2NsYXNzLmF1dGhvckB0ZXh0Jyk\")))",
            "bookList": "@js:\neval(String(java.base64Decode(\"amF2YS5nZXRFbGVtZW50KCdjbGFzcy5ib29rYm94Jyk\")))",
            "bookUrl": "@js:\neval(String(java.base64Decode(\"amF2YS5nZXRTdHJpbmcoJ2NsYXNzLmJvb2tuYW1lQGFAaHJlZicp\")))",
            "coverUrl": "@js:\neval(String(java.base64Decode(\"amF2YS5nZXRTdHJpbmcoJ3RhZy5pbWdAc3JjJyk\")))",
            "intro": "@js:\neval(String(java.base64Decode(\"amF2YS5nZXRTdHJpbmcoJ2NsYXNzLmludHJvX2xpbmVAdGV4dCcp\")))",
            "lastChapter": "@js:\neval(String(java.base64Decode(\"amF2YS5nZXRTdHJpbmcoJ2NsYXNzLnVwZGF0ZUB0YWcuYUB0ZXh0Jyk\")))",
            "name": "@js:\neval(String(java.base64Decode(\"amF2YS5nZXRTdHJpbmcoJ2NsYXNzLmJvb2tuYW1lQHRhZy5hQHRleHQnKQ\")))"
        },
        "ruleReview": {},
        "ruleSearch": {
            "author": "@js:\neval(String(java.base64Decode(\"amF2YS5nZXRTdHJpbmcoImNsYXNzLmF1dGhvckB0ZXh0Iik\")))",
            "bookList": "@js:\neval(String(java.base64Decode(\"cGF0aD0nY2xhc3MuYm9va2JveEBjbGFzcy5ib29raW5mbyc7dT1qYXZhLmdldCgndXJsJyk7Yz1qYXZhLmdldEVsZW1lbnQocGF0aCk7cz0oKT0+e2phdmEuc2V0Q29udGVudChqYXZhLmFqYXgodSkpO2M9amF2YS5nZXRFbGVtZW50KHBhdGgpfTshYy5sZW5ndGh8fHMoKTshc3JjLmluY2x1ZGVzKCduby1qcycpfHxldmFsKCJjb29raWUucmVtb3ZlQ29va2llKHNvdXJjZS5nZXRLZXkoKSk7IGphdmEuc3RhcnRCcm93c2VyQXdhaXQodSwndmVyJyk7cygpIik7Yw\")))",
            "bookUrl": "@js:\neval(String(java.base64Decode(\"amF2YS5nZXRTdHJpbmcoImNsYXNzLmJvb2tuYW1lQHRhZy5hQGhyZWYiKQ\")))",
            "lastChapter": "@js:\neval(String(java.base64Decode(\"amF2YS5nZXRTdHJpbmcoImNsYXNzLnVwZGF0ZUB0YWcuYUB0ZXh0Iik\")))",
            "name": "@js:\neval(String(java.base64Decode(\"amF2YS5nZXRTdHJpbmcoImNsYXNzLmJvb2tuYW1lQHRhZy5hQHRpdGxlIik\")))"
        },
        "ruleToc": {
            "chapterList": "@js:\neval(String(java.base64Decode(\"amF2YS5nZXRFbGVtZW50KCdjbGFzcy5jaGFwdGVyQHRhZy5saScp\")))",
            "chapterName": "@js:\neval(String(java.base64Decode(\"amF2YS5nZXRTdHJpbmcoJ3RhZy5hQHRleHQnKQ\")))",
            "chapterUrl": "@js:\neval(String(java.base64Decode(\"amF2YS5nZXRTdHJpbmcoJ3RhZy5hQGhyZWYnKQ\")))"
        },
        "searchUrl": "@js:\neval(String(java.base64Decode(\"dXJsPSdodHRwczovL20ucmFud2VuLmxhL3NlYXJjaC5waHAnO29wdGlvbj17ImJvZHkiOiJrZXl3b3JkPSIra2V5LCJtZXRob2QiOiJQT1NUIiwid2ViVmlldyI6dHJ1ZX07b3B0aW9uLmhlYWRlcnM9eyJVc2VyLUFnZW50IjoiTW96aWxsYS81LjAgKExpbnV4OyBBbmRyb2lkIDEyOyBOZXh1cyA1WCBCdWlsZC9OUkQ5ME0pOyB3dikgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgVmVyc2lvbi80LjAgQ2hyb21lLzk2LjAuNDY2NC4xMDQgTW9iaWxlIFNhZmFyaS81MzcuMzYifTtqYXZhLnB1dCgndXJsJyxTdHJpbmcodXJsKycsJytKU09OLnN0cmluZ2lmeShvcHRpb24pKSk\")))//作者abyssesml",
        "weight": 0
    }
commented

@zanewayne78
看了下这书源也没啥稀奇的,作者还故意搞了 Base64 加密。。。
解密后,searchUrl 内容是:

@js:
url='https://m.ranwen.la/search.php';
option={"body":"keyword="+key,"method":"POST","webView":true};
option.headers={"User-Agent":"Mozilla/5.0 (Linux; Android 12; Nexus 5X Build/NRD90M); wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/96.0.4664.104 Mobile Safari/537.36"};
java.put('url',String(url+','+JSON.stringify(option)))

bookList 内容是:

@js:
path='class.bookbox@class.bookinfo';
u=java.get('url');
c=java.getElement(path);
s=()=>{java.setContent(java.ajax(u));
c=java.getElement(path)};
!c.length||s();!src.includes('no-js')||eval("cookie.removeCookie(source.getKey());java.startBrowserAwait(u,'ver');s()");
c

依然是依靠 webView 功能模拟浏览器访问去加载,不过我这边调试搜索依然失败,没有通过 Cloudflare CDN 的人机验证,还需要手动验证才行。如果每次搜索都要弹一次手动验证,那就。。。

commented

我用手机搜索只有第一次验证弹一下就能保持挺久,只是每天都要验证弹窗挺烦的,我也就禁用它了,毕竟相同模板的网站还有,不过今天思路客也加搜索验证了,其他的估计也会陆续加上吧

commented

我现在已经很少看连载小说了,书架里 95% 的书我都给换成本地 txt 文件了(有的是网上下载,有的是自己缓存全本导出)。
剩下的几个连载养肥小说,也都是用的 API 书源。

PC版不知道咋弄,移动版倒是可以,就是每天要验证一下。

{
    "bookSourceComment": "",
    "bookSourceGroup": "",
    "bookSourceName": "顶点小说 ddxs - 手机版",
    "bookSourceType": 0,
    "bookSourceUrl": "https://m.ddxs.com",
    "bookUrlPattern": "",
    "concurrentRate": "",
    "customOrder": 17,
    "enabled": true,
    "enabledCookieJar": true,
    "enabledExplore": true,
    "enabledReview": false,
    "exploreUrl": "玄幻小说::/xuanhuan/\n武侠小说::/wuxia/\n军事小说::/junshi/\n都市小说::/dushi/\n游戏小说::/youxi/\n科幻小说::/kehuan/\n言情小说::/yanqin/\n次元小说::/ciyuan/\n完本小说::/quanben/",
    "header": "",
    "lastUpdateTime": 1665751351130,
    "loginCheckJs": "",
    "loginUi": "",
    "loginUrl": "",
    "respondTime": 180000,
    "ruleBookInfo": {
        "author": "class.book_info@class.book_box@class.xx@dl@dd.0@text##作者:",
        "coverUrl": "class.book_info@class.book_box@class.fm@img@src",
        "intro": "class.book_info@class.book_box.1@text",
        "name": "class.book_info@class.book_box@class.xx@dl@dt@text",
        "tocUrl": "class.book_more@a@href"
    },
    "ruleContent": {
        "content": "id.nr@html",
        "replaceRegex": "##@@.*@@@|正在手打中.*更新!|点击下载本站APP.*免费畅读!|\\+ 加入书签 \\+"
    },
    "ruleExplore": {
        "author": "class.author@text",
        "bookList": "class.hot_sale",
        "bookUrl": "tag.a@href",
        "coverUrl": "tag.img@src",
        "intro": "class.longview@text",
        "name": "class.title@text"
    },
    "ruleReview": {},
    "ruleSearch": {
        "author": "textNodes##/ ",
        "bookList": "@js:\npath = 'class.cover@p';\nu = java.get('url');\nc = java.getElement(path);\ns = () => {\n    java.setContent(java.ajax(u));\n    c = java.getElement(path)\n};\n!c.length || s();\n!src.includes('no-js') || eval(\"cookie.removeCookie(source.getKey()); java.startBrowserAwait(u,'ver');s()\");\nc",
        "bookUrl": "a@href",
        "kind": "span@text##\\[|\\]",
        "name": "a@text"
    },
    "ruleToc": {
        "chapterList": "class.list-striped@dd",
        "chapterName": "text",
        "chapterUrl": "a@href"
    },
    "searchUrl": "@js:\nurl = 'https://m.ddxs.com/search.php';\noption = {\n    \"charset\":\"UTF-8\",\n    \"body\": \"keyword=\" + key,\n    \"method\": \"POST\",\n    \"webView\": true\n};\noption.headers = {\n    \"User-Agent\": \"Mozilla/5.0 (Linux; Android 12; Nexus 5X Build/NRD90M); wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/96.0.4664.104 Mobile Safari/537.36\"\n};\njava.put('url', String(url + ',' + JSON.stringify(option)))",
    "weight": 0
}
commented

这是前段时间我在《阅读》官方项目与开发者的,关于小说网站搜索页加了人机验证的解决方法:
gedoor/legado#2507

还是基于本贴前面交流的方法,在其基础上进行了优化,不过只适用于手机版页面,且对于一些系统或 WebView 较老旧的手机,可能用不了(就是我啦),以下是那个帖子得到的最终方案为:

  • searchUrl 内容是:
@js:
url = '搜索地址 完整 URL';
option={"body":"keyword="+key,"method":"POST"};
option.headers={"User-Agent":"Mozilla/5.0 (Linux; Android 12; Nexus 5X Build/NRD90M); wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/96.0.4664.104 Mobile Safari/537.36"};
java.put('url',String(url+','+JSON.stringify(option)))
  • bookList 内容是:
@js:
path = '搜索结果 列表 选择器';
u=java.get('url');
c=java.getElement(path);
if (!c.length && result.includes('no-js')) {
  cookie.removeCookie(source.getKey());
  res = java.startBrowserAwait(u,'ver')
  java.setContent(res.body())
  java.getElement(path);
}

如果只想要搜索页使用手机版网页(因为人机验证只针对搜索页),其他详情页、目录页、正文页依旧使用电脑版网页的话,可以在详情地址规则中替换 URL 中的域名为电脑版网页,例如这样:tag.a.0@href##//m\.##//www.

commented

感谢@XIU2 以及各位提供的办法,我已改造好了几个书源,不过最好还是只启用一个这种书源,毕竟他们都是同样的模板,弹窗只要一个就行

大佬,可以做一下飘天的源不?https://www.piaotian.com/

69源确实好,但要挂梯子

大佬,可以做一下飘天的源不?https://www.piaotian.com/

你提需求自己新开个帖子啊,而且这个网站也要挂梯子,抱歉,您已被屏蔽 您无法访问piaotian.com