Skip to content

Instantly share code, notes, and snippets.

@andrewaguiar
Last active December 5, 2019 12:39
Show Gist options
  • Save andrewaguiar/9c0b4ec6acb5dc3e3ced466f61c22e75 to your computer and use it in GitHub Desktop.
Save andrewaguiar/9c0b4ec6acb5dc3e3ced466f61c22e75 to your computer and use it in GitHub Desktop.
A Chrome / Brave extension that changes user agent dinamically and tries to prevent browser fingerprinting

Anox

A Chrome / Brave extension that changes user agent dinamically and tries to prevent browser fingerprinting.

Tested with https://www.nothingprivate.ml/

Installing

mkdir ~/anox && \
cd ~/anox && \
wget https://gist.githubusercontent.com/andrewaguiar/9c0b4ec6acb5dc3e3ced466f61c22e75/raw/9a83a81645b6d8aabb44e07f3585d40d07e99501/anox.js && \
wget https://gist.githubusercontent.com/andrewaguiar/9c0b4ec6acb5dc3e3ced466f61c22e75/raw/9a83a81645b6d8aabb44e07f3585d40d07e99501/manifest.json

Then install in Browser extentions (enable developer mode and install as Load unpacked)

var actualCode = '(' + function() {
'use strict';
var navigator = window.navigator;
var modifiedNavigator;
if ('userAgent' in Navigator.prototype) {
modifiedNavigator = Navigator.prototype;
} else {
modifiedNavigator = Object.create(navigator);
Object.defineProperty(window, 'navigator', {
value: modifiedNavigator,
configurable: false,
enumerable: false,
writable: false
});
}
var osList = [
'64 Studio',
'Absolute Linux',
'AbulÉdu',
'Adamantix',
'ADIOS',
'Adler Linux',
'Admelix',
'Admiral Linux',
'AGNULA',
'Alcolix',
'Alinex',
'aLinux',
'AliXe',
'Alpine Linux',
'ALT Linux',
'amaroK Live',
'Amber',
'andLinux',
'Android',
'Android Things',
'Ankur',
'Annvix',
'AnNyung',
'Anonym.OS',
'ANTEMIUM',
'antiX',
'APODIO',
'Apricity OS',
'aquamorph',
'Arabian',
'ArcheOS',
'Archie',
'Arch Linux',
'Ark Linux',
'Armed Linux',
'ArtistX',
'Arudius',
'AsianLinux',
'Asianux',
'ASork',
'ASP Linux',
'Astaro',
'AsteriskNOW',
'AsteroidOS;Wear OS',
'Athene',
'ATMission',
'Atomix',
'Augustux',
'Aurora',
'Aurox',
'AUSTRUMI',
'B2D',
'BabelDisc',
'BackTrack',
'Baltix',
'Bayanihan',
'BearOps Linux',
'BeatrIX Linux',
'Beehive Linux',
'BeleniX',
'Bent Linux',
'Berry Linux',
'BestLinux',
'BIG LINUX',
'BinToo',
'BioBrew',
'Bioknoppix',
'Black Cat Linux',
'blackPanther',
'BLAG',
'Blin Linux',
'Bloody Stupid',
'Blue Cat Linux',
'BlueLinux',
'Bluewall',
'Bodhi Linux',
'Bonzai Linux',
'Bootable Cluster CD',
'Brillo',
'Buffalo',
'BugnuX',
'BU Linux',
'Burapha',
'ByzantineOS',
'Caixa Mágica',
'Caldera Linux',
'cAos',
'Carl.OS',
'Catix',
'CCux',
'CDlinux',
'Censornet',
'CentOS',
'Chakra',
'Chrome OS',
'Chromium OS',
'cl33n',
'ClarkConnect',
'Clear Linux',
'ClearOS',
'cLIeNUX',
'Clip OS',
'Clonezilla Live',
'Clusterix',
'clusterKNOPPIX',
'Co-Create',
'CobaltOS',
'College',
'Commodore OS Vision',
'Condorux',
'Conectiva Linux',
'Cool Linux CD',
'CoreBiz',
'Coreboot',
'Corel Linux',
'CoreOS',
'Coyote',
'Craftworks Linux',
'CrunchBang',
'CrunchEee',
'CRUX',
'Cub Linux',
'Càtix',
'Damn Small Linux',
'Damn Vulnerable Linux',
'Danix',
'DARKSTAR',
'Debian GNU/Linux',
'Debris Linux',
'Deep-Water',
'Deft Linux',
'DeLi',
'Delix Linux',
'Dell Networking OS10',
'Denix',
'Devil',
'Dizinha',
'DLD',
'DNALinux',
'Draco Linux',
'Dragon Linux',
'Dragora',
'DRBL live',
'Dreamlinux',
'Dualix',
'Dynabolic',
'dyne:bolic',
'Dzongkha',
'E/OS LX Desktop',
'Eadem',
'Eagle',
'eAR OS',
'easyLinux',
'Easy Peasy',
'easys',
'Edubuntu',
'eduKnoppix',
'EduLinux',
'Ehad',
'Eisfair',
'Elbuntu',
'ELE',
'eLearnix',
'elementary OS',
'ELF',
'Elfstone Linux',
'ELinOS',
'Elive',
'ELP',
'ELX',
'Embedix',
'Endian',
'Endless OS',
'EnGarde',
'ERPOSS',
'ESware',
'Euronode',
'EvilEntity Linux',
'Evinux',
'EzPlanet One',
'FAMELIX',
'FaunOS',
'Feather',
'Featherweight',
'Fedora',
'Fermi',
'ffsearch-LiveCD',
'Finnix',
'Firefox OS',
'Fiubbix',
'Flash',
'FlightLinux',
'Flonix',
'Fluxbuntu',
'FluxFlux-Eee',
'Foresight',
'FoRK',
'Formilux',
'FoX Desktop',
'Freduc',
'free-EOS',
'Freedows',
'Freeduc',
'FreeNAS',
'Freepia',
'FreeSBIE',
'Freespire',
'FreevoLive',
'Freezy',
'Frugalware',
'FTOSX',
'FusionSphere',
'GalliumOS',
'GeeXboX',
'Gelecek',
'GenieOS',
'Gentoo',
'Gentoox',
'GEOLivre',
'Gibraltar',
'Ging',
'Giotto',
'Glendix',
'gNewSense',
'GNIX',
'Gnoppix',
'GNUbie Linux',
'gnuLinEx',
'GNUstep',
'GoblinX',
'GoboLinux',
'GoodGoat Linux',
'gOS (Google OS)',
'GParted',
'Grafpup',
'Granular Linux',
'GrapheneOS',
'grml',
'Guadalinex',
'Guix',
'GuLIC-BSD',
'H3Knix',
'Haansoft',
'Hakin9',
'Halloween Linux',
'Hancom',
'HarmonyOS',
'Hedinux',
'Helix',
'Heretix',
'Hikarunix',
'Hiweed',
'Holon',
'HOLON Linux',
'Honeywall',
'How-Tux',
'Hubworx',
'iBox',
'ICE Linux',
'Icepack Linux',
'IDMS',
'Igelle',
'Igel Linux',
'Ignalum',
'Impi',
'Independence',
'IndLinux',
'Instant WebKiosk',
'IPCop',
'JBLinux',
'JeOS',
'Jolicloud',
'JoLinux',
'Joli OS',
'Julex',
'Jurix Linux',
'Juxlala',
'K-DEMar',
'K12LTSP',
'Kaboot',
'Kaella',
'KaiOS',
'Kaladix Linux',
'Kalango',
'Kali Linux',
'KANOTIX',
'Karamad',
'KateOS',
'Kinneret',
'Kiwi Linux',
'Klax',
'Klikit-Linux',
'K Linux',
'kmLinux',
'knopILS',
'Knoppel',
'Knopperdisk',
'Knoppix',
'Knoppix 64',
'KnoppiXMAME',
'KnoppMyth',
'KnoSciences',
'Kodibuntu',
'Komodo',
'Kongoni',
'Korora',
'KRUD',
'Kubuntu',
'Kuki Linux',
'Kurumin',
'Kwort',
'L.A.S.',
'Leetnux',
'Lerntux',
'LFS',
'LG3D',
'LibraNet Linux',
'LibreCMC',
'LIIS',
'Lin-X',
'Linare',
'LindowsOS',
'Lineox',
'LinEspa',
'LinnexOS',
'Linpus',
'Linspire',
'Linux+ Live',
'Linux-EduCD',
'Linux4One',
'Linux Antarctica',
'Linux by LibraNet',
'LinuxConsole',
'Linux DA OS',
'LinuxMCE',
'Linux Mint',
'LINUXO',
'LinuxOne',
'LinuxPPC',
'LinuxTLE',
'Linux XP',
'Litrix',
'LiveCD Router',
'LiveKiosk',
'LiVux',
'LLGP',
'LliureX',
'LNX-BBC',
'Loco',
'Lormalinux',
'l OS',
'LST Linux',
'LTSP',
'LUC3M',
'Luit',
'Lumin OS',
'Lunar',
'LuteLinux',
'LXDEbian',
'Lycoris Desktop/LX',
'm0n0wall',
'Mageia',
'Magic',
'Mandrake',
'Mandriva',
'Mangaka',
'MAX',
'MaxOS',
'Mayix',
'MCNLive',
'Mediainlinux',
'Media Lab',
'MeeGo',
'MEPIS',
'MicroOS',
'MiniKazit',
'Minislack',
'Miracle',
'MirOS',
'MkLinux',
'Moblin',
'Mockup',
'MoLinux',
'Momonga',
'Monoppix',
'Monte Vista Linux',
'MoonOS',
'Morphix',
'MostlyLinux',
'MoviX',
'MSC',
'Mulimidix',
'muLinux',
'Multi Distro',
'Muriqui',
'MURIX',
'Musix',
'Mutagenix',
'MX Linux',
'Myah OS',
'myLinux',
'Nasgaïa',
'Natures',
'Navyn OS',
'NepaLinux',
'NetMAX DeskTOP',
'NetSecL',
'Netstation Linux',
'Netwosix',
'Nexenta',
'Niigata',
'NimbleX',
'Nitix',
'NoMad Linux',
'Nonux',
'Nova',
'NST',
'nUbuntu',
'Nuclinux',
'NuxOne',
'O-Net',
'OcNOS',
'Ocularis',
'Ola Dom',
'Omega',
'Omoikane',
'Onebase Linux',
'OpenArtist',
'OpenLab',
'OpenLinux',
'OpenLX',
'OpenMamba',
'OpenMediaVault',
'OpenNA',
'Open ProgeX',
'Openwall',
'Operator',
'Oracle Linux',
'Oralux',
'Overclockix',
'P!tux',
'PAIPIX',
'paldo',
'Parabola',
'ParallelKnoppix',
'Pardus',
'Parsix',
'Parsix GNU/Linux',
'PC/OS',
'PCLinuxOS',
'Peanut Linux',
'PelicanHPC',
'Penguin Sleuth',
'Pentoo',
'Peppermint',
'Pequelin',
'pfSense',
'Phaeronix',
'Phantomix',
'Phat Linux',
'PHLAK',
'Pie Box',
'Pilot',
'Pingo',
'Pingwinek',
'Pioneer Linux',
'Plamo',
'PLD',
'PLoP Linux',
'Pocket Linux',
'Poseidon',
'POSTed',
'Power Desktop',
'Pozix Linux',
'pQui',
'Privatix',
'Progeny',
'ProteanOS',
'ProTech',
'PUD',
'Pulsar Linux',
'Puppy',
'Puredyne',
'QiLinux',
'Qimo',
'Qplus',
'Quantian',
'Qubes OS',
'Raidiator',
'Raspbian',
'Red Flag',
'Red Hat',
'RedHawk Linux',
'Redmond Linux',
'redWall Firewall',
'Remix OS',
'Repairlix',
'RIoT',
'RIP',
'ROCK',
'Rock Linux',
'Rocks Cluster',
'ROOT',
'ROSA',
'ROSLIMS',
'rPath',
'RR4 Linux',
'RTLinux',
'Rubix',
'Sabayon',
'Sabily',
'Sailfish OS',
'Salgix',
'Salix OS',
'Salvare',
'SAM',
'Samhain Linux',
'Santa Fe',
'Sauver',
'SaxenOS',
'SCI.Linux',
'Scientific Linux',
'SCO Linux',
'ScrudgeWare',
'Securepoint',
'Sentry Firewall',
'Shift Linux',
'Shinux',
'SimplyMEPIS',
'Skolelinux',
'Slack/390',
'Slackintosh',
'Slackware',
'Slamd64',
'SLAMPP',
'slax',
'SliTaz GNU/Linux',
'SLS',
'SLYNUX',
'SME Server',
'SmoothWall',
'SnapGear Embedded Linux',
'SNAPPIX',
'Snøfrix',
'SoL (Server optimized Linux)',
'SONiC',
'Sorcerer',
'SOT Linux',
'Source Mage',
'Spectra Linux',
'SphinxOS',
'Splack',
'Splashtop',
'SprezzOS',
'Stampede',
'StartCom',
'STD',
'Stormix',
'StreamBOX',
'StressLinux',
'STUX',
'STX',
'Subgraph OS',
'Sugar On A Stick',
'SuliX',
'Sun Linux',
'Sun Wah',
'SuperGamer',
'SuSE',
'Symphony OS',
'SystemRescue',
'T2',
'TA-Linux',
'Tablix',
'Tails (The Amnesic Incognito Live System)',
'Tao Live',
'Taprobane',
'TechLinux',
'Thinstation',
'Tilix',
'Tinfoil Hat Linux',
'Tiny Core Linux',
'Titan LEV',
'Tizen',
'tomsrtbt',
'Tomukas',
'Toophpix',
'Topologilinux',
'Toutou',
'Trinity',
'Trisquel GNU/Linux',
'Trixbox',
'Troppix',
'Trustix',
'Trustverse',
'Truva',
'TumiX',
'TupiServer',
'Tuquito',
'Turbolinux',
'Turkix',
'Ubuntu',
'UbuntuME',
'Ubuntu Netbook Remix',
'Ubuntu Privacy Remix',
'uClinux',
'Ufficio Zero',
'UHU-Linux',
'uL',
'Ulteo',
'Ultima',
'Underground',
'Unifix Linux',
'uOS',
'Urli OS',
'UserLinux',
'UTILEX',
'Ututo',
'Ututo XS',
'Vector',
'Vidalinux',
'VideoLinux',
'Vine',
'VLOS',
'VNLinux',
'Voltalinux',
'Volumio',
'WarLinux',
'Wazobia',
'Webfish Linux',
'WHAX',
'White Box',
'Whitix',
'WIENUX',
'Wind River Linux',
'WinLinux 2001',
'WinSlack',
'Wolvix',
'WOMP!',
'X-evian',
'X/OS',
'Xandros',
'Xarnoppix',
'Xenoppix',
'Xfld',
'Ximian Desktop',
'xPud',
'Xteam',
'XtreemOS',
'Xubuntu',
'Yellow Dog',
'YES',
'Yggdrasil Linux',
'Ylmf OS',
'Yoper',
'YunOS',
'Zebuntu',
'Zentyal',
'Zenwalk',
'Zeroshell',
'ZoneCD',
'Zorin OS'
];
var os1 = osList[Math.floor(Math.random() * osList.length)]
var os2 = osList[Math.floor(Math.random() * osList.length)]
var os3 = osList[Math.floor(Math.random() * osList.length)]
// Pretend to be Windows XP
Object.defineProperties(modifiedNavigator, {
userAgent: {
value: navigator.userAgent.replace(/\([^)]+\)/, os1),
configurable: false,
enumerable: true,
writable: false
},
appVersion: {
value: navigator.appVersion.replace(/\([^)]+\)/, os2),
configurable: false,
enumerable: true,
writable: false
},
platform: {
value: os3,
configurable: false,
enumerable: true,
writable: false
},
});
} + ')();';
var s = document.createElement('script');
s.textContent = actualCode;
document.querySelector('html').prepend(s);
s.remove();
{
"name": "Anox",
"version": "1.0",
"description": "Anox",
"authors": [{
"name": "Anox",
}],
"content_scripts": [
{
"matches": ["http://*/*", "https://*/*", "file://*/*"],
"run_at": "document_start",
"all_frames": true,
"js": ["index.js"]
}
],
"manifest_version": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment