// ==UserScript== // @name Behavioral Obfuscator // @description Anti-Fingerprinting Timing & Scroll Protection - Introduces randomized timing jitter to prevent fingerprinting via scroll and typing patterns without affecting UX. // @name:zh-TW 行為混淆器 // @description:zh-TW 防指紋時間與滾動保護 - 引入隨機化的時間顫動,防止通過滾動和打字模式進行指紋識別,且不影響用戶體驗。 // @name:zh-HK 行為混淆器 // @description:zh-HK 防指紋時間與滾動保護 - 引入隨機化的時間顫動,防止通過滾動和打字模式進行指紋識別,且不影響用戶體驗。 // @name:zh-CN 行为混淆器 // @description:zh-CN 防指纹时间和滚动保护 - 引入随机化的时间抖动,防止通过滚动和打字模式进行指纹识别,同时不影响用户体验。 // @name:ja 行動の難読化ツール // @description:ja 指紋防止タイミングとスクロール保護 - スクロールとタイピングのパターンを通じて指紋を防ぐためにランダム化されたタイミングジッターを導入し、UXには影響を与えません。 // @name:kr 행동 은폐기 // @description:kr 지문 방지 타이밍 및 스크롤 보호 - 스크롤 및 타이핑 패턴을 통한 지문 식별을 방지하기 위해 무작위 타이밍 지터를 도입하며 사용자 경험에는 영향을 주지 않습니다. // @name:ar مُربك سلوكي // @description:ar حماية ضد التعرف على بصمات الأصابع من خلال التوقيت والتمرير - يقدم اهتزازات توقيت عشوائية لمنع التعرف على بصمات الأصابع عبر نمط التمرير والكتابة دون التأثير على تجربة المستخدم. // @name:bg Поведенчески Препокривател // @description:bg Анти-фингерпринтинг защита на времето и скролиране - Внедрява рандомизирано времево трептене, за да предотврати откриването на пръстови отпечатъци чрез скролиране и типови модели без да влияе на потребителския опит. // @name:cs Behaviorální zakrytí // @description:cs Ochrana proti fingerprintingu pomocí časování a posouvání - Zavádí náhodné časové kolísání, které brání fingerprintingu pomocí vzorců posouvání a psaní, aniž by ovlivnilo uživatelský zážitek. // @name:da Adfærdsforvirrer // @description:da Anti-fingeraftryk timing- og scrollbeskyttelse - Introducerer tilfældig tidsforstyrrelse for at forhindre fingeraftryk via rulle- og tastemønstre uden at påvirke brugeroplevelsen. // @name:de Verhaltensverschleierer // @description:de Anti-Fingerprinting Timing- und Scrollschutz - Führt zufällige Zeitstörungen ein, um Fingerprinting über Scroll- und Tippmuster zu verhindern, ohne die Benutzererfahrung zu beeinträchtigen. // @name:tel ప్రవర్తనాత్మక గందరగోళం // @description:tel స్క్రోల్ మరియు టైపింగ్ ప్యాటర్న్స్ ద్వారా ఫింగర్‌ప్రింటింగ్‌ను నివారించేందుకు యూజర్ అనుభవాన్ని ప్రభావితం చేయకుండా రాండమైజ్ చేసిన టైమింగ్ జిట్టర్‌ను ప్రవేశపెడుతుంది. // @name:es Ofuscador Comportamental // @description:es Protección contra huellas dactilares mediante tiempo y desplazamiento - Introduce variaciones aleatorias de tiempo para evitar la huella digital mediante patrones de desplazamiento y escritura sin afectar la experiencia del usuario. // @name:en Behavioral Obfuscator // @description:en Anti-Fingerprinting Timing & Scroll Protection - Introduces randomized timing jitter to prevent fingerprinting via scroll and typing patterns without affecting UX. // @name:fr Obfuscateur Comportemental // @description:fr Protection contre le fingerprinting via le timing et le défilement - Introduit une variation aléatoire du timing pour empêcher le fingerprinting via les modèles de défilement et de frappe sans affecter l'expérience utilisateur. // @name:fr-CA Obfuscateur Comportemental // @description:fr-CA Protection contre le fingerprinting via le timing et le défilement - Introduit une variation aléatoire du timing pour empêcher le fingerprinting via les modèles de défilement et de frappe sans affecter l'expérience utilisateur. // @name:he מטשטש התנהגותי // @description:he הגנה מפני זיהוי פינגרפרינטינג על ידי זמנים וגלילה - מציג חרסום זמנים אקראיים כדי למנוע זיהוי פינגרפרינטינג דרך דפוסי גלילה והקלדה מבלי להשפיע על חווית המשתמש. // @name:hu Viselkedési Rejtés // @description:hu Anti-fingerprinting időzítés és görgetés védelem - Véletlenszerű időzítési ingadozásokat vezet be a görgetési és gépelési mintákon keresztül történő fingerprinting megakadályozására anélkül, hogy befolyásolná a felhasználói élményt. // @name:id Pengaburan Perilaku // @description:id Perlindungan Anti-Fingerprinting dengan Waktu & Scroll - Memperkenalkan jitter waktu acak untuk mencegah fingerprinting melalui pola gulir dan ketikan tanpa memengaruhi pengalaman pengguna. // @name:it Ofuscante Comportamentale // @description:it Protezione contro il fingerprinting tramite tempo e scorrimento - Introduce una variazione casuale del timing per prevenire il fingerprinting tramite modelli di scorrimento e digitazione senza influire sull'esperienza utente. // @name:ko 행동 은폐기 // @description:ko 지문 방지 타이밍 및 스크롤 보호 - 스크롤 및 타이핑 패턴을 통한 지문 식별을 방지하기 위해 무작위 타이밍 지터를 도입하며 UX에 영향을 주지 않습니다. // @name:nb Atferdsforvirrer // @description:nb Anti-fingerprinting tid og rullebeskyttelse - Introducerer tilfeldig tidsforstyrrelse for å hindre fingeravtrykk via rulle- og tastemønstre uten å påvirke brukeropplevelsen. // @name:nl Gedragsverduisteraar // @description:nl Anti-fingerprinting tijd en scrollbescherming - Introduceert willekeurige tijdsvariaties om fingerprinting via scroll- en typemodellen te voorkomen zonder de gebruikerservaring te beïnvloeden. // @name:pl Obfuscator Zachowań // @description:pl Ochrona przed fingerprintingiem za pomocą czasu i przewijania - Wprowadza losowe drgania czasowe, aby zapobiec fingerprintingowi za pomocą wzorców przewijania i pisania, nie wpływając na doświadczenie użytkownika. // @name:pt-BR Ofuscador Comportamental // @description:pt-BR Proteção contra Fingerprinting por Tempo e Rolagem - Introduz uma variação de tempo aleatória para prevenir fingerprinting por padrões de rolagem e digitação sem afetar a experiência do usuário. // @name:ro Ofuscator Comportamental // @description:ro Protecție Anti-Fingerprinting prin sincronizare și derulare - Introduce fluctuații de timp aleatorii pentru a preveni fingerprinting-ul prin modelele de derulare și tastare fără a afecta experiența utilizatorului. // @name:ru Поведенческий Обфускатор // @description:ru Защита от отпечатков пальцев с помощью времени и прокрутки - Внедряет случайные колебания времени, чтобы предотвратить сбор отпечатков пальцев через прокрутку и типовые паттерны без влияния на пользовательский интерфейс. // @name:sk Behaviorálny Zmätkovač // @description:sk Ochrana proti fingerprintingu cez časovanie a rolovanie - Zavádza náhodné kolísanie času na zabránenie fingerprintingu cez rolovanie a písanie vzorcov bez ovplyvnenia používateľského zážitku. // @name:sr Behvioralni Obfuskator // @description:sr Zaštita od fingerprintinga pomoću vremena i skrolovanja - Uvođenje nasumičnih vremenskih varijacija da se spreči fingerprinting putem obrazaca skrolovanja i kucanja bez uticaja na koris // @version 0.1.1 // @author PolyMegos (https://github.com/polymegos) // @namespace https://github.com/polymegos/behavioral-obfuscator // @supportURL https://github.com/polymegos/behavioral-obfuscator/issues // @license MIT // @match *://*/* // @run-at document-start // @grant none // @compatible chrome // @compatible firefox // @compatible opera // @compatible edge // @compatible safari // @downloadURL https://update.greasyfork.icu/scripts/531414/Behavioral%20Obfuscator.user.js // @updateURL https://update.greasyfork.icu/scripts/531414/Behavioral%20Obfuscator.meta.js // ==/UserScript== (function() { 'use strict'; // Small-range subtle jitter generation function generateJitter(range) { return (Math.random() * 2 - 1) * range; } // Apply typing jitter only when a keys are pressed let typingTimer = null; window.addEventListener('keydown', (e) => { if (typingTimer) clearTimeout(typingTimer); // Some small delay before processing key event typingTimer = setTimeout(() => { const delay = Math.random() * 40 + Math.random() * 40; // 0-80ms delay for typing e.preventDefault(); setTimeout(() => { // Simulate the keypress after random delay document.dispatchEvent(new KeyboardEvent('keydown', { key: e.key, code: e.code, keyCode: e.keyCode, which: e.which })); }, delay); }, 5); // Prefix with tiny added initial delay before simulating keypress }); // Apply scroll delay jitter only when user actually scrolls let lastScrollTime = 0; window.addEventListener('scroll', () => { const now = performance.now(); const delay = Math.random() * 75 + Math.random() * 75; // 0-150ms delay between scrolls // Add small jitter to scroll position when the user scrolls if (now - lastScrollTime < delay) return; // Don't interrupt if scrolling too fast lastScrollTime = now; let scrollX = window.scrollX; let scrollY = window.scrollY; // Add small jitter to scroll position (1-2 pixels offset) const noiseX = generateJitter(2); const noiseY = generateJitter(2); window.scrollTo(scrollX + noiseX, scrollY + noiseY); }, { passive: true }); })();