E-HentaiViewer icon indicating copy to clipboard operation
E-HentaiViewer copied to clipboard

[功能优化]画廊缓存机制

Open kayanouriko opened this issue 4 years ago • 11 comments

  • 记录Posted字段作为缓存时间的标识
  • 以"[gid][token]画廊英文名"为文件夹缓存图片,图片编号以4位数命名
  • 不提供直接下载功能,仅支持iTunes和访达导出已缓存过的画廊【主要是自己没搞懂H@H的运行机制

kayanouriko avatar Jul 06 '19 16:07 kayanouriko

画廊是只读的啊,除了tag和评论,剩下的一经发布就不会更改了。

OpportunityLiu avatar Aug 24 '19 10:08 OpportunityLiu

@OpportunityLiu 会变的,有些画廊是持续更新的,比如这个周一的洗面奶https://exhentai.org/g/1467581/c0c675128d/ 主要是大图要解析两次url才能拿到,如果一开始就能拿到大图的url我就用url的md5码做标识符缓存了,不知道你有啥好的处理方法

kayanouriko avatar Aug 24 '19 12:08 kayanouriko

你难道没注意更新以后gid和gtoken都变了? 这是上次更新前的版本 https://exhentai.org/g/1463248/edddccd3df/ 这是新的 https://exhentai.org/g/1467581/c0c675128d/

图片

除了parent信息把他们链接起来,共享同一个标签和评论数据以外,这就是两个画廊。

OpportunityLiu avatar Aug 24 '19 12:08 OpportunityLiu

图片本身的话,以 https://exhentai.org/s/7963e54fba/1467581-1 为例,地址格式是s/{imagekey}/{gid}-{pid}。 gid是画廊的id,pid是页数,imagekey是图片原图的SHA-1前10位,完整的SHA-1可以解析这个页面底部的“Show all galleries with this file”链接得到,或者把原图下下来以后自己算。 图片

OpportunityLiu avatar Aug 24 '19 12:08 OpportunityLiu

这个SHA-1就是e站数据库管理图片的唯一依据,虽然之前SHA-1的碰撞也有一些研究成果了,不过应该不会改SHA-256了。 https://ehwiki.org/wiki/Never_To_Be_Added

OpportunityLiu avatar Aug 24 '19 12:08 OpportunityLiu

还是你们研究透彻,我随便开发一下光顾着冲去了,你这样说我就明白很多了

kayanouriko avatar Aug 24 '19 12:08 kayanouriko

我开发的应用现在是摊平处理,所有图片以SHA-1为文件名存储,画廊信息在数据库里。 载入的时候先看一下本地有没有相同SHA-1的文件,没有再进行下载。 导出的时候再把需要的文件复制出来并重命名。 图片

OpportunityLiu avatar Aug 24 '19 12:08 OpportunityLiu

还是你们研究透彻,我随便开发一下光顾着冲去了,你这样说我就明白很多了

光顾着冲 :joy:

xioxin avatar Aug 26 '19 11:08 xioxin

EhViewer的做法是 目录用 gid-作品名称 的格式 目录内存储了一个文件 .ehviewer, 里面存储了作品相关信息, 图片使用数字序号.

VERSION2
00000000
141079
68c0f3a45b
1
1
22
22
0 0ebe26fb98
1 159c5e8273
2 13b106c3a9
3 efb7aa357b
4 faf88d4561
5 b5f45631c4
6 58c323fd9c
7 2f92d5b850
.....

可以直接复制出来, 比较方便,适合手机

xioxin avatar Aug 26 '19 11:08 xioxin

坐等dalao更新

sakurrasama avatar Sep 20 '19 08:09 sakurrasama

希望dalao可以适配ios13的深色模式

sakurrasama avatar Sep 27 '19 15:09 sakurrasama