Fanza Filter Util

filtering util on Fanza doujin

2023-07-22 या दिनांकाला. सर्वात नवीन आवृत्ती पाहा.

This script should not be not be installed directly. It is a library for other scripts to include with the meta directive // @require https://update.sleazyfork.org/scripts/471066/1223725/Fanza%20Filter%20Util.js

// ==UserScript==
// @name         Fanza Filter Util
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  filtering util on Fanza doujin
// @author       RamisAmuki
// @match        https://www.dmm.co.jp/dc/doujin/-/list/*
// @match        https://www.dmm.co.jp/dc/doujin/-/search/=/*
// @match        https://www.dmm.co.jp/dc/doujin/-/bookmark/
// @icon         https://p.dmm.co.jp/p/common/pinned/favicon.ico
// @grant        none
// @license      MIT
// ==/UserScript==

// ignore list
const is_bookmark_page = location.pathname !== "/dc/doujin/-/bookmark/";
const ignore_querys = [
  "span.u-common__ico--basketDone",
  "span.listPurchased__btn",
];
const ignore_genres = ["ボイス"];
const ignore_authors = is_bookmark_page ? ["TGA", "聖華快楽書店"] : [];
const ignore_titles = ["体験版", "無料版"];

// query
const querys = is_bookmark_page
  ? {
      lists: "ul.fn-productList > li.productList__item",
      genre: "div.listGenreIco__ico",
      author: "div.tileListTtl__txt--author",
      title: "div.tileListTtl__txt",
      rate: "span.c_icon_priceStatus",
      price: "p.c_txt_price",
      button_parent: "div.pageNation__item",
    }
  : {
      lists: "ul.basket-list-tile > li.basket-listItem-tile",
      genre: "span.c_icon_genre",
      author: "p.basket-circle-tile",
      title: "b.basket-name-tile",
      rate: "span.c_icon_priceStatus",
      price: "p.c_txt_price",
      button_parent: "div.basket-btnAreaCol1",
    };

const checker = (liqs) => {
  const auhtor = liqs(querys.author).innerText.trim();
  const title = liqs(querys.title).innerText;
  if (liqs(querys.rate) === null) return true;
  // checking
  return [
    check_rate_price(liqs, querys),
    ignore_querys.some((query) => liqs(query) != null),
    ignore_genres.includes(liqs(querys.genre).innerText),
    ignore_authors.includes(auhtor),
    ignore_titles.some((ignore) => title.includes(ignore)),
  ].some((b) => b);
};