您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
It is the dawn of a new day!
// ==UserScript== // @name ExEveryDay // @namespace https://github.com/FlandreDaisuki // @description It is the dawn of a new day! // @version 1.0 // @author FlandreDaisuki // @match https://exhentai.org/* // @match https://e-hentai.org/* // @grant GM_setValue // @grant GM_getValue // @grant GM_xmlhttpRequest // @connect * // @license MIT // @noframes // ==/UserScript== const DAY_MS = 86400 * 1e3; class Cookie { constructor(cookie = document.cookie) { this.map = document.cookie.split('; ') .reduce((c, s) => { const i = s.indexOf('='); c.set(s.slice(0, i), s.slice(i + 1)); return c; }, new Map()); } get id() { return this.map.get('ipb_member_id'); } toString() { return [...this.map.entries()] .map(([k, v]) => `${k}=${v}`) .join('; '); } } const cookie = new Cookie; const lastDate = new Date(GM_getValue(cookie.id, new Date().toJSON())); const dateDiff = Date.now() - lastDate; const onerror = (resp) => { console.error('ExEveryDay', resp); } const onload = (resp) => { console.info('ExEveryDay', resp); if(resp.responseText.match(/It is the dawn of a new day/g)) { GM_setValue(cookie.id, new Date().toJSON()); } } if(dateDiff > DAY_MS || dateDiff === 0) { GM_xmlhttpRequest({ method: 'GET', url: 'https://e-hentai.org/news.php', headers: { Cookie: cookie.toString(), }, onload, onerror, }); }