- // ==UserScript==
- // @name RealzCode Anonymity
- // @namespace RealzCode/Anonymity
- // @description Thank you Javascript 🙃
- // @include *
- // @version 1.0
- // @grant none
- // @noframes false
- // @license Fair
- // @run-at document-start
- // ==/UserScript==
-
- let realzcode = document.createElement("script");
- realzcode.textContent = "(" + (function() {
- "use strict";
- let setValue = function (object, propertyName, value, writable) {
- if (!writable) {
- writable = false;
- }
- Object.defineProperty(object, propertyName, {
- value: value,
- writable: writable,
- enumerable: true
- });
- };
- fetch('https://ipapi.co/json')
- .then(response => response.json())
- .then(data => {
- let lang = data.languages.split(',')[0];
- let langs = data.languages.split(',');
- if (lang.length == 2) {
- lang = lang.toLowerCase() + '-' + lang.toUpperCase();
- }
- setValue(navigator, "language", lang);
- setValue(navigator, "languages", langs);
- });
- let random = {
- "change": function (n, m) {
- if (!m) {
- m = 0.1;
- }
- return Math.round(n + ((Math.random() - 0.5) * 2 * n * 0.3));
- },
- "item": function (e) {
- let rand = e.length * Math.random();
- return e[Math.floor(rand)];
- },
- "key": function (power) {
- let rand = Object.keys(power).length * Math.random();
- return Object.keys(power)[Math.floor(rand)];
- }
- };
- let screens = {
- 0 : [640, 360],
- 1 : [640, 480],
- 2 : [800, 600],
- 3 : [1024, 768],
- 4 : [1280, 720],
- 5 : [1280, 800],
- 6 : [1280, 1024],
- 7 : [1360, 768],
- 8 : [1366, 768],
- 9 : [1440, 900],
- 10 : [1536, 864],
- 11 : [1600, 900],
- 12 : [1600, 1200],
- 13 : [1680, 1050],
- 14 : [1920, 1080],
- 15 : [1920, 1200],
- 16 : [2048, 1152],
- 17 : [2048, 1536],
- 18 : [2560, 1080],
- 19 : [2560, 1440],
- 20 : [2560, 1600],
- 21 : [3440, 1440],
- 22 : [3840, 2160]
- };
- let srand = random.key(screens);
- let swidth = (screens)[srand][0];
- let sheight = (screens)[srand][1];
- setValue(screen, "width", swidth);
- setValue(screen, "availWidth", swidth);
- setValue(screen, "innerWidth", swidth);
- setValue(screen, "outerWidth", swidth);
- setValue(screen, "height", sheight);
- setValue(screen, "availHeight", sheight);
- setValue(screen, "innerHeight", sheight);
- setValue(screen, "outerHeight", sheight);
- setValue(screen, "left", undefined, true);
- setValue(screen, "top", undefined, true);
- setValue(screen, "enabled", undefined);
- setValue(screen, "mozEnabled", undefined);
- setValue(screen, "availLeft", undefined, true);
- setValue(screen, "availTop", undefined, true);
- setValue(screen, "Brightness", random.change(screen.Brightness));
- setValue(screen, "mozBrightness", random.change(screen.mozBrightness));
- setValue(screen, "pixelDepth", random.item([24, 32]));
- setValue(screen, "colorDepth", random.item([24, 32]));
- setValue(screen, "devicePixelRatio", random.item([24, 32]));
- }) + ")()";
- document.documentElement.prepend(realzcode);