ehentai-comics:开箱即用的 E-Hentai\ExHentai 漫画搜索与下载插件

这是一个 ehentai-comics 插件的问题反馈帖!

:sparkles: 功能

  • 漫画搜索:通过关键词在 E-Hentai / ExHentai 上搜索画廊。

  • 结果展示:以图文形式展示搜索结果,支持合并转发。

  • 漫画下载

  • 图片模式:将整个画廊的图片逐张或以合并转发的形式发送。

  • PDF 模式:将整个画廊下载并合成为一个加密或未加密的 PDF 文件发送。

  • 高度可配置:支持配置 ExHentai Cookie、图片压缩、发送方式、下载并发等多种选项。

:open_book: 使用

指令

  • ehsearch <关键词>: 搜索漫画。
    • 示例: ehsearch fate grand order
  • ehdownload <画廊URL>: 下载指定的漫画。
    • 选项:
      • -o, --output <type>: 指定输出类型。image (图片) 或 pdf (PDF文件)。不指定则遵循配置项。
    • 示例: ehdownload https://e-hentai.org/g/xxxx/xxxxxxxxxx/
    • 示例 (强制输出为图片): ehdownload https://e-hentai.org/g/xxxx/xxxxxxxxxx/ -o image

:gear: 配置项

你可以在 Koishi 的配置文件中对本插件进行详细配置。

站点与登录设置

  • site: 选择要使用的站点。
    • e-hentai.org: E-Hentai (免费)
    • exhentai.org: ExHentai (需要登录)
    • 默认值: e-hentai.org
  • ipb_member_id: (可选) 你的 ipb_member_id Cookie 值,用于登录 ExHentai。
  • ipb_pass_hash: (可选) 你的 ipb_pass_hash Cookie 值,用于登录 ExHentai。

:cookie: 如何获取 ExHentai Cookie?

  1. 登录账号: 在你的电脑浏览器 (如 Chrome / Edge / Firefox) 中,登录你的 E-Hentai 账号。
  2. 访问 ExHentai: 成功登录后,访问 https://exhentai.org。如果你能正常看到网站内容,说明你的账号有权限。
  3. 打开开发者工具:
    • 在页面上按下 F12 键。
    • 或者右键点击页面,选择“检查”。
  4. 找到 Cookie:
    • 在打开的开发者工具面板中,找到并点击 Application (应用) 选项卡。
    • 在左侧的菜单中,展开 Cookies 项,然后点击下面的 https://exhentai.org
  5. 复制 Cookie 值:
    • 右侧会显示一个 Cookie 列表。在列表中找到名为 ipb_member_idipb_pass_hash 的两项。
    • 分别双击这两项的 Value (值) 列,将其中的字符串完整地复制出来。
    • 将复制好的值粘贴到上面插件配置的相应字段中。

消息发送设置

  • searchResultCount: 搜索结果显示的数量。
    • 范围: 1 - 25
    • 默认值: 10
  • useForwardForSearch: (QQ平台) 是否默认使用合并转发的形式发送【搜索结果】。
    • 默认值: true
  • useForwardForImages: (QQ平台) 当以图片形式发送漫画时,是否默认使用【合并转发】。
    • 默认值: true
  • showImageInSearch: 是否在【搜索结果】中显示封面图片。
    • 默认值: true

PDF 设置

  • downloadPath: PDF 文件和临时文件的保存目录。
    • 默认值: ./data/downloads/ehentai
  • defaultToPdf: 是否默认将漫画下载为 PDF 文件。
    • 默认值: true
  • pdfPassword: (可选) 为生成的 PDF 文件设置一个打开密码。留空则不加密。
  • enableCompression: (PDF模式) 是否启用图片压缩以减小 PDF 文件体积。
    • 默认值: true
  • compressionQuality: (PDF模式) JPEG 图片质量 (1-100)。
    • 默认值: 80
  • pdfSendMethod: PDF 发送方式。如果 Koishi 与机器人客户端不在同一台设备或 Docker 环境中,必须选择“Buffer”。
    • buffer: Buffer (内存模式,最高兼容性)
    • file: File (文件路径模式,低兼容性)
    • 默认值: buffer

下载与调试设置

  • downloadConcurrency: (图片/PDF模式) 下载漫画图片时的并行下载数量。数值越低越稳定。
    • 默认值: 5
  • downloadTimeout: (高级) 单张图片下载的超时时间(秒)。
    • 默认值: 30
  • downloadRetries: (高级) 单张图片下载失败后的自动重试次数。
    • 默认值: 3
  • scrapeDelay: (高级) 每次抓取网页之间的延迟(秒),以防止IP被封禁。
    • 默认值: 1
  • debug: 是否在控制台输出详细的调试日志。用于排查问题。
    • 默认值: false

更新日志
v0.1.2 - 新增 igneous cookie 支持,重构抓取逻辑。

1 个赞

ex里站使用cookie登录的话,还会需要igneous字段,并且会因为ip不同无法进入,部分漫画由于限制级的原因只能在里站(ex)访问。

或许是由于cookie缺失的原因,选择ex模式后,即使是表站能够正常访问的漫画,在改写域名后插件仍会提示任务中止:未能从画廊页面中提取到任何图片链接,请检查后台日志以确认失败原因。

  • 我的网络环境下表站正常访问:
    image

  • 服务器同样的网络环境能够下载
    image

  • 我的本地网络环境下提前登录过里站,能够访问:
    image

  • 服务器的无头pptr并无缓存的cookie,仅从插件配置中无法正常访问:

仅测试buffer发送pdf文件的情况,并未测试直接发送图片的情况

1 个赞

附上cookie图样:

1 个赞

进一步测试发现抓取页面时有严重的漏页现象,不知道是不是我服务器网络的问题,漏页与下载无关

1 个赞

感谢反馈。
0.1.2发了,增加 igneous字段,修改抓取逻辑,测试了一下不会漏页了。

1 个赞