Sleazy Fork is available in English.

提取e-hentai画廊元数据

Use the e-hentai metadata API to retrieve metadata.

// ==UserScript==
// @name         提取e-hentai画廊元数据
// @namespace    http://tampermonkey.net/
// @version      0.1.2
// @description  Use the e-hentai metadata API to retrieve metadata.
// @author       SchneeHertz
// @license MIT
// @match        https://e-hentai.org/g/*
// @match        https://exhentai.org/g/*
// @grant        none
// ==/UserScript==

(function () {
  'use strict';
  let button = document.createElement('input')
  button.value = '提取'
  button.type = 'button'
  button.id = 'extractButton'
  document.querySelector('#taglist').append(button)
  document.querySelector('#extractButton').addEventListener('click', () => {
    let match = /(\d+)\/([a-z0-9]+)/.exec(window.location.href)
    fetch('https://api.e-hentai.org/api.php', {
      method: "POST",
      body: JSON.stringify({
        'method': 'gdata',
        'gidlist': [
          [+match[1], match[2]]
        ],
        'namespace': 1
      })
    })
      .then(async res => {
        let metaobj = {}
        let gmetadata = await res.json()
        gmetadata = gmetadata.gmetadata[0]
        let tags = {}
        gmetadata.tags.forEach(tagString => {
          let match = /^(.+):(.+)$/.exec(tagString)
          if (tags[match[1]]) {
            tags[match[1]].push(match[2])
          } else {
            tags[match[1]] = [match[2]]
          }
        })
        metaobj.tags = tags
        metaobj.url = window.location.href
        metaobj.title = gmetadata.title
        metaobj.title_jpn = gmetadata.title_jpn
        metaobj.rating = +gmetadata.rating
        metaobj.posted = +gmetadata.posted
        metaobj.filecount = +gmetadata.filecount
        metaobj.category = gmetadata.category
        metaobj.filesize = gmetadata.filesize
        metaobj.status = 'tagged'
        navigator.clipboard.writeText(JSON.stringify(metaobj))
        button.value = '已复制到剪贴板'
      })
  })
})()