diff --git a/r18dev_remove_duplicates.user.js b/r18dev_remove_duplicates.user.js new file mode 100644 index 0000000..aba6087 --- /dev/null +++ b/r18dev_remove_duplicates.user.js @@ -0,0 +1,37 @@ +// ==UserScript== +// @name r18.dev duplicate movie remover +// @namespace Violentmonkey Scripts +// @match https://r18.dev/videos/vod/movies/list/* +// @grant none +// @version 1.0 +// @author Lukáš Kucharczyk +// @description Removes duplicate entries in the list of movies on r18.dev. +// @downloadURL https://git.kucharczyk.xyz/lukas/userscripts/raw/branch/main/r18dev_remove_duplicates.user.js +// @supportURL https://git.kucharczyk.xyz/lukas/userscripts +// ==/UserScript== + +function filterVideos() { + // Select all .video containers + const videos = document.querySelectorAll('.video'); + + // Regex to match "Letters-Numbers" (e.g., AAA-111) + const regex = /[a-zA-Z]+-[0-9]+/; + + videos.forEach(video => { + const label = video.querySelector('.video-label'); + + // Safety check if label exists + if (label) { + const text = label.textContent.trim(); + const linkCount = label.querySelectorAll('a').length; + + // Remove if text doesn't match pattern OR label has more than 1 link + if (!regex.test(text) || linkCount > 1) { + video.remove(); + } + } + }); +} + +// Execute the function +filterVideos(); \ No newline at end of file