hect0x7 / JMComic-Crawler-Python

Python API for JMComic | 提供Python API访问禁漫天堂,同时支持网页端和移动端 | 禁漫天堂GitHub Actions下载器🚀
https://jmcomic.readthedocs.io/zh-cn/latest/option_file_syntax/#
MIT License
556 stars 1.18k forks source link

新插件idea:“离线版” 禁漫天堂 #192

Closed hect0x7 closed 5 months ago

hect0x7 commented 5 months ago

想法来源

当下载完一个本子后,往往需要用看图软件打开图片文件,然后一页一页翻看, 我感觉这样很麻烦,用看图软件看本地本子的使用体验不如使用浏览器。 因为浏览器可以整体放大缩小、可以鼠标滑动翻页、还可以用一些浏览器插件。 于是,我有一个想法:实现一个“离线版”的禁漫天堂。 具体来说,就是搭建一个本地文件服务器,能用浏览器观看下载好的本子图片。

PS:有一个已经实现的内置插件,也是做类似的事情:https://github.com/hect0x7/JMComic-Crawler-Python/issues/183 这个插件的功能是把下载的章节图片都合并为一个pdf,用一个pdf来看整章节的图片

hect0x7 commented 5 months ago

功能规划

1. 使用方式?

首先,该功能作为jmcomic的一个插件。 用户只需要在option配置文件中配置一下,即可使用。示例如下:

plugins:
  after_init: # 当创建了option对象后,调用插件
    - plugin: local_jm_server # 离线版禁漫服务器,启动!
      kwargs:
        port: 8080 # 端口,可以不写,默认8080
        base_dir: D:/xxx # 可以不写,默认自动取download.dir_rule.base_dir
        username: admin # 登录用户名
        password: 333 # 登录密码
        # ...等等参数

2. 服务器要有哪些功能?

Yunxi-awa commented 5 months ago

贡献一个想法:在线的时候不论是否下载都展示album名称、标签(带宽够的话封面也可以),点击下载的漫画可以直接打开,点击未下载的可自动下载保存(感觉都可以当做一个独立项目了

hect0x7 commented 5 months ago

贡献一个想法:在线的时候不论是否下载都展示album名称、标签(带宽够的话封面也可以),点击下载的漫画可以直接打开,点击未下载的可自动下载保存(感觉都可以当做一个独立项目了

这个插件我刚刚实现了一版,你可以先试试看 代码位于:https://github.com/hect0x7/plugin-jm-server 把代码clone下来,pip install flask,然后运行app.py就可以使用了 目前效果是这样的: 正常浏览文件夹:

image

看本模式下: image

hect0x7 commented 5 months ago

功能规划

1. 使用方式?

首先,该功能作为jmcomic的一个插件。 用户只需要在option配置文件中配置一下,即可使用。示例如下:

plugins:
  after_init: # 当创建了option对象后,调用插件
    - plugin: local_jm_server # 离线版禁漫服务器,启动!
      kwargs:
        port: 8080 # 端口,可以不写,默认8080
        base_dir: D:/xxx # 可以不写,默认自动取download.dir_rule.base_dir
        username: admin # 登录用户名
        password: 333 # 登录密码
        # ...等等参数

2. 服务器要有哪些功能?

  • [x] 要能看本地图片,界面UI类似禁漫的photo页面的整页阅读。
  • [x] 要能够跨设备使用,例如电脑上开了服务器,同局域网的手机也能访问看本。
  • [x] 使用前要登录,避免泄漏隐私
  • [ ] ...

目前已实现了上述的基础功能,自jmcomic 2.5.0开始内置此插件 插件源代码:https://github.com/hect0x7/plugin-jm-server 该插件作为一个独立项目,也发布到了PYPI上,可以在不影响jmcomic版本的情况下独立迭代升级