- // ==UserScript==
- // @name no * anywhere
- // @version 10
- // @description none
- // @run-at document-start
- // @author rssaromeo
- // @include *://scribblehub.com/*
- // @include *://*.scribblehub.com/*
- // @include *://novelupdates.com/*
- // @include *://*.novelupdates.com/*
- // @exclude /^[^:/#?]*:\/\/([^#?/]*\.)?scratch\.mit\.edu(:[0-9]{1,5})?\/editor.*$/
- // @exclude *://*/*.mjs
- // @exclude *://*/*.js
- // @exclude *://*/*.css
- // @exclude /^https?:\/\/[^\/]*livereload.net\/files\/ffopen\/index\.html$/
- // @exclude /^https?:\/\/[^\/]*stackblitz.com/
- // @exclude /^https?:\/\/[^\/]*webcontainer.io/
- // @exclude /^https?:\/\/[^\/]*regexr.com/
- // @exclude /^https?:\/\/[^\/]*regex101.com/
- // @license GPLv3
- // @exclude /greasyfork\.org\/.*\/versions/
- // @icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAMAAABiM0N1AAAAAXNSR0IB2cksfwAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAHJQTFRFAAAAEIijAo2yAI60BYyuF4WaFIifAY6zBI2wB4usGIaZEYigIoiZCIyrE4igG4iYD4mjEomhFoedCoqpDIqnDomlBYyvE4efEYmiDYqlA42xBoytD4mkCYqqGYSUFYidC4qoC4upAo6yCoupDYqmCYur4zowOQAAACZ0Uk5TAO////9vr////1+/D/+/L+/Pf/////+f3///////H4////////+5G91rAAACgUlEQVR4nM2Y22KjIBCGidg1264liZqDadK03X3/V2wNKHMC7MpF/xthHD5mgERAqZhWhfYqH6K+Qf2qNNf625hCoFj9/gblMUi5q5jLkXLCKudgyiRm0FMK82cWJp1fLbV5VmvJbCIc0GCYaFqqlDJgADdBjncqAXYobm1xh72aFMflbysteFfdy2Yi1XGOm5HGBzQ1dq7TzEoxjeNTjQZb7VA3e1c7+ImgasAgQ9+xusNVNZIo5xmOMgihIS2PbCQIiHEUdTvhxCcS/kPomfFI2zHy2PkWmA6aNatIJpKFJyekyy02xh5Y3DI9T4aOT6VhIUrsNTFp1pf79Z4SIIVDegl6IJO6cHiL/GimIZDhgTu/BlYWCQzHMl0zBWT/T3KAhtxOuUB9FtBrpsz0RV4xsjHmW+UCaffcSy/5viMGer0/6HdFNMZBq/vjJL38H9Dqx4Fuy0Em12DbZy+9pGtiDijbglwAehyj11n0tRD3WUBm+lwulE/8h4BuA+iWAQQnteg2Xm63WQLTpnMnpjdge0Mgu/GRPsV4xdjQ94Lfi624fabhDkfUqIKNrM64Q837v8yL0prasepCgrtvw1sJpoqanGEX7b5mQboNW8eawXaWXTMfMGxub472hzWzHSn6Sg2G9+6TAyRruE71s+zAzjWaknoyJCQzwxrghH2k5FDT4eqWunuNxyN9QCGcxVod5oADbYnIUkDTGZEf1xDJnSFteQ3KdsT8zYDMQXcHxsevcLH1TrsABzkNPyA/L7b0jg704viMMlpQI96WsHknCt/3YH0kOEo9zcGkwrFK39ck72rmoehmKqo2RKlilzSy/nJKEV45CT38myJp456fezktHjN5aeMAAAAASUVORK5CYII=
- // @grant none
- // @namespace https://greasyfork.org/users/1184528
- // ==/UserScript==
-
- // @match *://*/*
- // @include *
-
-
- var replace = `fuck
- pornstar
- sucked
- bisexual
- cumdump
- vagina
- crap
- shitload
- shithole
- stupidness
- fuckery
- retardation
- horshit
- smut
- bitching
- stupids
- bumfucks
- bumblefuck
- fuckin
- fucktard
- licked
- crotch
- hitler
- crotchless
- incestuous
- batshit
- penis
- masturbate
- Goddamn
- enslave
- slavery
- socked
- enslavement
- murderess
- molest
- molestation
- dicks
- cockblock
- scrape
- perverts
- cock
- stupidest
- boobs
- stupidity
- slavery
- sadist
- stupid
- trashest
- fag
- bitchybitchy
- erotic
- cockroach
- tits
- murdering
- bitchy
- trashing
- trashiest
- bullshitting
- cocky
- cockiness
- murderous
- Hancock
- trashy
- trashcan
- horny
- suicide
- retard
- clicked
- incestual
- basement
- rapes
- thorny
- fucks
- virgin
- murderers
- murderer
- murder
- virgins
- assholes
- rapest
- whore
- slut
- bitchest
- raped
- morons
- amusement
- cocks
- incest
- fingerfuck
- molested
- murders
- trash
- cockroaches
- monsterfucker
- intersex
- Futanari
- trashhero
- fucked
- motherfucker
- bitches
- bastard
- fucking
- hell
- nasty
- scum
- pissed
- bastards
- raping
- bitch
- shit
- bitch
- bastard
- fucker
- bitch
- scumbag
- shitless
- ass
- badass
- shit
- virginity
- slave
- pervert
- futanari
- sex
- futa
- Impregnating
- Impregnated
- trashes
- murderfest
- Impregnate
- rapey
- retards
- fuckk
- Cunnilingus
- slaves
- sexual
- edgefuckfests
- anal
- stupider
- assed
- Intercourse
- Fallatio
- Handjob
- Masturbation
- Masturbating
- Orgy
- Prostitutes
- rape
- enslaved
- perverted
- stupidly
- prostitution
- sexually
- bullshits
- shits
- porn
- dick
- shitty
- dicking
- bullshit
- sexuality
- retardedness
- Futadomworld
- asshole
- pussy
- sexy
- murdered
- cocktail
- trAshed
- virginal
- retarded
- hentai
- dogshit
- fricking
- frick
- fricker
- webtoon`
- .toLowerCase()
- .split("\n")
- .map((a) => [
- new RegExp(
- `(?<=[^a-z0-9@#$%^&\\*x♥]|^)${a
- .split("")
- .map((e) => `[${e}%#*♥]`)
- .join(" ?")}(?=[^a-z0-9@#$%^&\\*x♥]|$)`,
- "ig"
- ),
- `${a}`,
- ])
-
- const replacementLookup = Object.fromEntries(
- replace.map(([regex, replacement]) => [regex.source, replacement])
- )
- const combinedRegex = new RegExp(
- replace.map(([regex]) => `(${regex.source})`).join("|"),
- "gi"
- )
- //log(combinedRegex)
- replace = []
- //replace.push([/([a-z]+)\.([a-z]+)\.(?:([a-z]+)\.)?(?:([a-z]+)\.)?(?:([a-z]+)\.)?(?:([a-z]+)\.)?(?:([a-z]+)\.)?([a-z]+)/gi, "$1$2$3$4$5$6$7$8"])
- replace.push([/(?<=^|[^\d\w])\*(\w+( \w+)*)\*(?=[^\w\d]|$)/gi, "$1"])
- replace.push([/what( ?ever)? the duck/gi, "what$1 the fuck"])
- replace.push([/duck(ed)? up/gi, "fuck$1 up"])
- replace.push([/R4P3/gi, "rape"])
- // replace.push([/(?<!\w)minf\*+k(s|(?:ed|er|ing)(?:s)?|)(?!\w)/gi, "mindfuck$1"]) - broken???
- replace.push([/(?<!\w)minf\*+ks(?!\w)/gi, "mindfucks"])
- replace.push([/(?<!\w)asspull(?!\w)/gi, "asshole"])
- replace.push([/\bfriggin\b/gi, "fucking"])
- replace.push([/(?<!\w)fupping(?!\w)/gi, "fucking"])
- replace.push([/.*░.*/gi, ""])
- replace.push([/.*THIS IS BOB.*/gi, ""])
- replace.push([/F\**CK/gi, "fuck"])
- replace.push([/.*\@\#\$\&.*/gi, ""])
- replace.push([/(?<!\w)friking?(?!\w)/gi, "fucking"])
- replace.push([/(?<!\w)shyt(?!\w)/gi, "shit"])
- replace.push([/(?<!\w)arse?(?!\w)/gi, "ass"])
- replace.push([/f\*ing(?!\w)/gi, "fucking"])
- replace.push([/motherf\*(?!\w)/gi, "motherfucker"])
- replace.push([/b\*\*\*/gi, "bitch"])
- replace.push([
- /(?<=[^a-z0-9@#$%^&\*x♥]|^)[h%#*♥] ?[e%#*♥] ?[c%#*♥] ?[k%#*♥](?=[^a-z0-9@#$%^&\*x♥]|$)/gi,
- "hell",
- ])
- replace.push([/(?<!\w)prosti\*ion(?!\w)/gi, "prostitution"])
- replace.push([/(?<!\w)Ayaponzu\*(?!\w)/gi, "Ayaponzu"])
- replace.push([/(?<!\w)DECO\*27(?=[^\w\d]|$)/gi, "DECO27"])
- replace.push([/(?<!\w)freakin'?(?!\w)/gi, "fucking"])
- replace.push([/(?<!\w)(?:pron|p0rn)(?!\w)/gi, "porn"])
- replace.push([/(?<!\w)fricking(?!\w)/gi, "fucking"])
- replace.push([/(?<!\w)frick(?!\w)/gi, "fuck"])
- replace.push([/(?<!\w)fricker(?!\w)/gi, "fucker"])
-
- function replaceText(text) {
- text = text.replace(combinedRegex, (match) => {
- for (const [source, replacement] of Object.entries(
- replacementLookup
- )) {
- if (new RegExp(source, "i").test(match)) {
- return replacement
- }
- }
- return match // Fallback if no replacement found
- })
- for (var r of replace) {
- text = text.replace(r[0], r[1])
- }
- return text
- }
- const observer = new MutationObserver(updateTitle)
- window.navigation.addEventListener("navigate", updateTitle)
- function updateTitle() {
- off()
- var t = document.title
- t = t.replace(/(^| )\[URL\] .*/gi, "")
- if (t!=replaceText(t))
- document.title=replaceText(t)
- on()
- }
- reload()
- document.addEventListener("DOMContentLoaded", reload)
- function reload() {
- try {
- updateTitle()
- } catch (e) {}
- }
- function off(){
- observer.disconnect()
- }
- function on(){
- observer.observe(document.querySelector("title")||(document.head.appendChild(document.createElement("title"))), {
- childList: true,
- })
- }
- setTimeout(reload, 1000)
- loadlib("textjack")(replaceText)