novel-rs / cli

A set of tools for downloading novels from the web, manipulating text, and generating EPUB
Apache License 2.0
51 stars 10 forks source link

文本加密如何解决? #163

Closed a464679590 closed 1 month ago

a464679590 commented 1 month ago

我之前都是用的老版本,今天下载了新版本使用但是在使用中出现了这个提示 Error: 0: error sending request for url (https://api.sfacg.com/user) 1: client error (Connect) 2: operation timed out

Backtrace omitted. Run with RUST_BACKTRACE=1 environment variable to display it. Run with RUST_BACKTRACE=full to include source snippets. 这是哪里出了问题?

a464679590 commented 1 month ago

还有个问题就是,我今天用老版本下载发现,下载的书都是不相干的文字只有章节名和书的标题以及简介正常,难道是菠萝包更新了加密文字?还是我的账号出了问题,我已经好久没下载过书了。

CarrotsPie commented 1 month ago

还有个问题就是,我今天用老版本下载发现,下载的书都是不相干的文字只有章节名和书的标题以及简介正常,难道是菠萝包更新了加密文字?还是我的账号出了问题,我已经好久没下载过书了。

https://github.com/CarrotsPie/sfacg_downloader 我爬了几本书的免费章节,整了差不多4000字的对应表,可能还有些字是漏的,但看差不多能看了

a464679590 commented 1 month ago

谢谢大佬,我自己都不知道该怎么搞,昨晚大概快12点的时候我想着提本书放kindle上看结果发现都是加密字。 我电脑上还存了不少之前我提出来的书大佬方便说下怎么搞对照表吗,我可以再多补充点发给你更新一下,或者有需要提供书对比加密字的话给我说说怎么弄的我可以发给你一些原文和加密过后的书用来对比。

CarrotsPie commented 1 month ago

谢谢大佬,我自己都不知道该怎么搞,昨晚大概快12点的时候我想着提本书放kindle上看结果发现都是加密字。 我电脑上还存了不少之前我提出来的书大佬方便说下怎么搞对照表吗,我可以再多补充点发给你更新一下,或者有需要提供书对比加密字的话给我说说怎么弄的我可以发给你一些原文和加密过后的书用来对比。

我不是大佬,对照表只是我不会逆向的权宜之计,就是获取网页版的免费章节内容和app版的免费章节内容,网页版是未加密的,app版是加密的,提取出中间的汉字一一对应就好,你要代码的话我可以在github上发一下

a464679590 commented 1 month ago

好的谢谢了,我看看我能不能看懂怎么对应汉字。

a464679590 commented 1 month ago

谢谢大佬,我自己都不知道该怎么搞,昨晚大概快12点的时候我想着提本书放kindle上看结果发现都是加密字。 我电脑上还存了不少之前我提出来的书大佬方便说下怎么搞对照表吗,我可以再多补充点发给你更新一下,或者有需要提供书对比加密字的话给我说说怎么弄的我可以发给你一些原文和加密过后的书用来对比。

我不是大佬,对照表只是我不会逆向的权宜之计,就是获取网页版的免费章节内容和app版的免费章节内容,网页版是未加密的,app版是加密的,提取出中间的汉字一一对应就好,你要代码的话我可以在github上发一下

我现在才把您发的程序下载下来,我想问下就是我如果要往里添加对照字的话是可以直接往Json里按照格式添加吗。还有就是Json文件里面左边和右边哪边是原文字哪边是加密文字?

CarrotsPie commented 1 month ago

谢谢大佬,我自己都不知道该怎么搞,昨晚大概快12点的时候我想着提本书放kindle上看结果发现都是加密字。 我电脑上还存了不少之前我提出来的书大佬方便说下怎么搞对照表吗,我可以再多补充点发给你更新一下,或者有需要提供书对比加密字的话给我说说怎么弄的我可以发给你一些原文和加密过后的书用来对比。

我不是大佬,对照表只是我不会逆向的权宜之计,就是获取网页版的免费章节内容和app版的免费章节内容,网页版是未加密的,app版是加密的,提取出中间的汉字一一对应就好,你要代码的话我可以在github上发一下

我现在才把您发的程序下载下来,我想问下就是我如果要往里添加对照字的话是可以直接往Json里按照格式添加吗。还有就是Json文件里面左边和右边哪边是原文字哪边是加密文字?

左边的是乱码一样的文字,右边是能读懂的文字

TerakomariGandesblood commented 1 month ago

https://github.com/novel-rs/api/blob/0f35103c31841dda01f3d6bcc09800bfeae14740/src/sfacg/mod.rs#L261 isContentEncrypted这个字段已经存在了一段时间了,看来是最近这个功能在服务端开启了。 我最近事情有的多,过几天再研究这个问题。

a464679590 commented 1 month ago

好的,麻烦了,那就等大佬新的更新了。

TerakomariGandesblood commented 1 month ago

我之前都是用的老版本,今天下载了新版本使用但是在使用中出现了这个提示 Error: 0: �[91merror sending request for url (https://api.sfacg.com/user)�[0m 1: �[91mclient error (Connect)�[0m 2: �[91moperation timed out�[0m

Backtrace omitted. Run with RUST_BACKTRACE=1 environment variable to display it. Run with RUST_BACKTRACE=full to include source snippets. 这是哪里出了问题?

这应该是另一个问题,我在最近的版本添加了timeout https://github.com/novel-rs/api/blob/0f35103c31841dda01f3d6bcc09800bfeae14740/src/common/net.rs#L148 当你出现这个错误之前卡住了10几秒吗?你的网络环境很差吗?

a464679590 commented 1 month ago

没有啊,我用老版本都是正常的,不知道为什么换成新版本就有问题了。

TerakomariGandesblood commented 1 month ago

没有啊,我用老版本都是正常的,不知道为什么换成新版本就有问题了。

现在可以复现该问题吗?https://api.sfacg.com/user 是第一个请求,如果还有该问题,你应该不会看到后面因为文本加密造成的 panic

a464679590 commented 1 month ago

提示的错误又发生变化了,我现在新版本老版本都不能正常下载了。 e0ddfe0d-e15c-4f36-a1f0-e006c43521f4 这张图是最新版本的提示 55cca36d-3c63-44df-9d91-3578cc74b2fd 这张图是老版本的

TerakomariGandesblood commented 1 month ago

提示的错误又发生变化了,我现在新版本老版本都不能正常下载了。 e0ddfe0d-e15c-4f36-a1f0-e006c43521f4 这张图是最新版本的提示 55cca36d-3c63-44df-9d91-3578cc74b2fd 这张图是老版本的

老版本出错是因为不兼容新版本的数据库和配置文件,并且也没有处理该错误,删掉数据库和配置文件就可以了。 新版本看来没有再出现 operation timed out 这个错误,应该没有问题。

a464679590 commented 1 month ago

谢谢,那我这个新版本无法下载数据是因为新添加了数据加密吗?因为我老版本中午时候还能下载出来那些加密过的小说,但是这个新版本一直都是什么都下载不了不会生成文件。

TerakomariGandesblood commented 1 month ago

谢谢,那我这个新版本无法下载数据是因为新添加了数据加密吗?因为我老版本中午时候还能下载出来那些加密过的小说,但是这个新版本一直都是什么都下载不了不会生成文件。

是的,我在最近的版本里添加了对 isContentEncrypted 的检测,如果为 true,则 panic。

a464679590 commented 1 month ago

这样啊,那我没啥问题了麻烦你了。等什么时候更新版本了,我再来用用看看有什么需要反馈的。

TerakomariGandesblood commented 1 month ago

内容加密已经解决,比我想得简单得多。 https://github.com/novel-rs/api/commit/d625df03d48a0ba23a025275c9719480737dfcf7 然而,未解密的内容可能已经错误的保存在了数据库中,需要手动删除数据库才能获取正确的章节内容。稍后将release。

a464679590 commented 1 month ago

太牛了,这么快就解决了啊,还有个比较小白的问题想问下,就是win10系统那个说的数据库文件我把它理解成缓存不知道对不对,如何去完全把之前的都给清除掉?

TerakomariGandesblood commented 1 month ago

运行一下novel -V

image

数据库就在Data directory下

a464679590 commented 1 month ago

感谢,学会了

TerakomariGandesblood commented 1 month ago

Resolved