β17317161[Quote]
Hello, I made some vichan hider thing with jeet tier vibecoding. can you guys test it for me and report issues?
https://dpaste.com/9WHZA8WQN (this is the userscript)
https://violentmonkey.github.io/Features:
Thread hiding
Image hashbanning
Hashban removal
Automatic image hashing
Vichan API support
Built-in MD5 hashing
Catalog support
Thread support
Live thread update support
Per-board thread hiding
Image hash caching
Separate hidden-content controls
Separate hashban controls
Hashban import/export
Aggressive/similarity hash matching
Compact control panel
Adjustable panel transparency
Vichan icon
Settings panel
Hideable UI
Persistent settings
Temporary status feedback
Local-only storage
β17317181[Quote]
SOMEBODY ADD THIS TO THE 'KI
β17317182[Quote]
>local only storage
marge?
β17317186[Quote]
nigga really needed to make this because salt fucked the site up so hard
gem
β17317188[Quote]
stole my session cookies award
β17317214[Quote]
>>17317161 (OP)oooh this is really gemmy
>>17317189 β17317230[Quote]
can you just upload this as a .txt? dpaste glows
β17317274[Quote]
>>17317251just checked it for malicious code, it's clean
β17317277[Quote]
>>17317262it's not good code it's a mess of gpt and claude. If anyone who actually is good at this thing wants to fix it up they would be a legend
β17317313[Quote]
>>17317297it is pretty late for me
THOUGH since i am a euromutt, so I probably will forget to make it gegggggg
β17317317[Quote]
Shift + Click image β Hide thread/post
Ctrl + Click image β Hashban image
Ctrl + Click image (Mac: Cmd + Click) β Hashban image
Alt + Click image β Remove hashban
Ctrl + Alt + H β Show/hide the Vichan Hider panel
β17317320[Quote]
Add this to the 'ki nowwwwwwwwwwwwww
β17317365[Quote]
I don't think similar hashing works that good
β17317376[Quote]
works
β17317398[Quote]
>>17317161 (OP)Put it on Github
β17317400[Quote]
>>17317262okay i checked the code. There seems to be a lot of query selectors for whatever reason, like a copious amount of them geg.
<redditThe similar image check works by downscaling the image and making it grayscale. I hecking forgor what exact resolution but that might lead to falsepositives.
<plebbitOther than that, good enough i guess if it works for regular hashbans. Could be rewritten to be less 'cado sized doe
β17317402[Quote]
>>17317384was testing on the /plier/ board and it wasn't working aswell as I'd like
β17317418[Quote]
>>17317402you wanted to block all pliers or what?
β17317425[Quote]
>>17317418no just for the purpose of the test I am a fan of 'pliers actually
β17317432[Quote]
>>17317425I doubt the similarity extends over different variants, its just to prevent if they changed some pixels to change to hash ig.
β17317447[Quote]
>>17317432from the code
/*
*
* SIMILARITY HASH
*
* This is deliberately separate from MD5.
*
* It creates a 64-bit dHash from a small grayscale
* representation of the image.
*
* Similar images can therefore have similar hashes even
* after resizing/recompression.
*
*/
β17317454[Quote]
>>17317447oh I see so it compresses the image or something
β17317455[Quote]
>>17317432someone can easily modify an image and but it through all kinds of filters or move it before spamming. Thinking this is a bit beyond the scope of things but the idea of the aggressive toggle is to be like an emergency option
β17317466[Quote]
>>17317447 const canvas =
document.createElement(
'canvas'
);
canvas.width = 9;
canvas.height = 8;
<redditthe compressed image is 9 by 8 for whatever fucking reason. That can easily lead to falsepositives
β17317490[Quote]
>>17317466I think it would be smarter to do pixel wise comparision or some kind of error metric with images you want filtered.
β17317503[Quote]
>>17317466Apparently a 9Γ8 input is actually the standard dHash construction but idk
β17317507[Quote]
>>17317490idk, pretty sure imageDNA and other anti 'p systems do the same shit with the compression and creating some sort of lower resolution hash to block and detect all possible variants of the image in question.
β17317521[Quote]
>>17317507yeah whatever ig its correct then
β17317548[Quote]
>>17317521ok before i go to sleep
/*
* Similarity threshold.
*
* 0 = identical
* 64 = completely different
*
* 10 is deliberately conservative.
*/
const SIMILARITY_THRESHOLD =
10;
found this in your code
β17317555[Quote]
>>17317548you can tweak (or make the ai jeet add this to UI) this value to make the similarity hash more strict or not
β17317572[Quote]
>>17317555I'm gonna try and implement this