Fanza Filter Util

filtering util on Fanza doujin

Tính đến 22-07-2023. Xem phiên bản mới nhất.

Script này sẽ không được không được cài đặt trực tiếp. Nó là một thư viện cho các script khác để bao gồm các chỉ thị meta // @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);
};