All Projects → z0ccc → Vytal

z0ccc / Vytal

Licence: MIT license
Browser extension to spoof timezone, geolocation, locale and user agent.

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to Vytal

browserrecon-php
Advanced Web Browser Fingerprinting
Stars: ✭ 29 (-98%)
Mutual labels:  fingerprint, fingerprinting
blog-nojs-fingerprint-demo
A demo for the no-JavaScript fingerprinting article
Stars: ✭ 443 (-69.43%)
Mutual labels:  fingerprint, fingerprinting
CycleTLS
Spoof TLS/JA3 fingerprints in GO and Javascript
Stars: ✭ 362 (-75.02%)
Mutual labels:  fingerprint, fingerprinting
IP2Location-C-Library
IP2Location C library enables the user to find the country, region, city, coordinates, zip code, time zone, ISP, domain name, connection type, area code, weather station code, weather station name, mobile, usage types, etc that any IP address or hostname originates from.
Stars: ✭ 37 (-97.45%)
Mutual labels:  timezone, ip-address
Fingerprintjs
Browser fingerprinting library with the highest accuracy and stability.
Stars: ✭ 15,481 (+968.39%)
Mutual labels:  fingerprint, fingerprinting
refingerprint
A more refined fingerprinting module based on Fingerprint2.js
Stars: ✭ 34 (-97.65%)
Mutual labels:  fingerprint, fingerprinting
Geolocate-IP-Browser-Extension
A browser extension, which shows you the origin of your IP address.
Stars: ✭ 21 (-98.55%)
Mutual labels:  ip-address, vpn
imprintjs
[INACTIVE] Javascript library for browser fingerprinting
Stars: ✭ 77 (-94.69%)
Mutual labels:  fingerprint, fingerprinting
Fingerprintjs
Browser fingerprinting library with the highest accuracy and stability.
Stars: ✭ 15,481 (+968.39%)
Mutual labels:  fingerprint, fingerprinting
IP2Location-PHP-Module
This module is a PHP module that enables the user to find the country, region, city, coordinates, zip code, ISP, domain name, timezone, connection speed, IDD code, area code, weather station code, weather station name, mobile, usage types, address type, IAB category, etc that any IP address or host name originates from.
Stars: ✭ 154 (-89.37%)
Mutual labels:  timezone, ip-address
mian-fan-qiang
各大机场免翻墙地址搜集,不定期更新。欢迎收藏,转发。
Stars: ✭ 361 (-75.09%)
Mutual labels:  vpn
TimesDates.jl
Nanosecond resolution for Time and Date, TimeZones
Stars: ✭ 28 (-98.07%)
Mutual labels:  timezone
v2ray-free
Fuck gfw,免费翻墙,每天更新
Stars: ✭ 221 (-84.75%)
Mutual labels:  vpn
vWATCH64
vWATCH64 is a debugger/real-time variable watch utility for QB64 programs.
Stars: ✭ 16 (-98.9%)
Mutual labels:  debugger
crawlerdetect
Golang module to detect bots and crawlers via the user agent
Stars: ✭ 22 (-98.48%)
Mutual labels:  user-agent
timeshape
Java library to find timezone based on geo coordinates
Stars: ✭ 116 (-91.99%)
Mutual labels:  timezone
vpn app
Simple Vpn app concept UI done in Flutter.
Stars: ✭ 67 (-95.38%)
Mutual labels:  vpn
tunman
Comprehensive solution for SSH tunnels - respawning, healthchecking/monitoring
Stars: ✭ 43 (-97.03%)
Mutual labels:  vpn
robots-parser
NodeJS robots.txt parser with support for wildcard (*) matching.
Stars: ✭ 117 (-91.93%)
Mutual labels:  user-agent
desktop-app-ui
Official IVPN Desktop app (legacy version)
Stars: ✭ 23 (-98.41%)
Mutual labels:  vpn

Vytal

Get Vytal for Chromium

Spoof your location data and user agent.

About

Vytal can spoof your timezone, locale, geolocation and user agent. This data can be used to track you or reveal your location. Vytal is not a VPN or proxy and will not change your IP.

Most extensions that provide anti-fingerprinting features rely on content scripts to inject script tags into webpages. There are many limitations to script tag injections which you can read about here: https://palant.info/2020/12/10/how-anti-fingerprinting-extensions-tend-to-make-fingerprinting-easier/

Vytal utilizes the chrome.debugger API to spoof this data. This allows the data to be spoofed in frames, web workers and during the initial loading of a website. It also makes the spoofing completely undetectable.

You can test and compare Vytal and other extensions on https://vytal.io

Vytal contains no ads and signup is not required.

Limitations

Debugging bar

While the chrome.debugger API is active, a bar under the address bar is displayed. Hiding the bar is only possible when the --silent-debugger-extension-api command-line switch is used.

Instructions on how to run chromium with flags: https://www.chromium.org/developers/how-tos/run-chromium-with-flags

FireFox

Unfortunately Vytal doesn't work on Firefox since Firefox doesn't support the debugger API for extensions. https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions#browser_compatibility

New tab

The chrome debugger cannot attach itself to chrome://newtab. This can result in data leakage to the first non chrome:// page you navigate to.

Locale override does not mock language data

Unlike the Chrome devtools location sensor, overriding the locale does not change language data (such as navigator.language or navigator.languages). There is an open ticket about this here: https://bugs.chromium.org/p/chromium/issues/detail?id=1306254

Data Retrieval Methods

Top window

The top window is the topmost window in the hierarchy of window objects.

Initial load

Data spoofing methods can have slight delays between the loading of a webpage and the data being spoofed. Data can be retrieved at the very start of loading before the data can be spoofed.

Frame

A frame is a part of a web page which displays content independent of its container, with the ability to load content independently. The HTML or media elements shown in a frame may come from a different web site as the other elements of content on display.

Web worker

Web Workers are a simple means for web content to run scripts in background threads. The worker thread can perform tasks without interfering with the user interface. Once created, a worker can send messages to the JavaScript code that created it by posting messages to an event handler specified by that code (and vice versa). Extension content scripts cannot be injected into workers

Data Tampering

Data spoofed with Vytal can not be detected. Although other extensions which spoof data can be detected. https://vytal.io allows you to compare and test these various tools. A red x signifies that the scanner has detected tampered data. A green check means that no tampering has been detected. Clicking on the table row of the tampered data will bring up a modal box showing the type of detected tampering.

Types of Tampering

Failed Date.prototype.setDate.toString()

if (!Date.prototype.setDate.toString().includes('[native code]')) {
  return true;
}
return false;

Failed Object.getPrototypeOf(Intl.DateTimeFormat.prototype).constructor.toString()

  if (
    !Object.getPrototypeOf(Intl.DateTimeFormat.prototype)
      .constructor.toString()
      .includes('Object')
  ) {
    return true;
  }
  return false;

Failed Intl.DateTimeFormat.prototype.resolvedOptions.toString()

  if (
    !Intl.DateTimeFormat.prototype.resolvedOptions
      .toString()
      .includes('[native code]')
  ) {
    return true;
  }
  return false;

Failed Object.getOwnPropertyDescriptor(navigator, key)

  if (Object.getOwnPropertyDescriptor(navigator, key) !== undefined) {
    return true;
  }
  return false;

Failed object.getOwnPropertyDescriptor(Navigator.prototype, key).value

  if (
    Object.getOwnPropertyDescriptor(Navigator.prototype, key).value !==
    undefined
  ) {
    return true;
  }
  return false;

Failed Failed Navigator.prototype[key]

  try {
    const check = Navigator.prototype[key];
    return true;
  } catch (err) {
    return false;
  }

Failed navigator.geolocation.getCurrentPosition.toString().includes('[native code]')

  if (
    !navigator.geolocation.getCurrentPosition
      .toString()
      .includes('[native code]')
  ) {
    return true;
  }
  return false;

Screenshots

Screenshot of extension popup

Screenshot of extension popup and vytal.io

Close up of extension popup

Dev

This application is built with Javascript and React.

Clone this repo and run these commands to start the development server.

yarn
yarn run start

Load the extension on Chrome:

  • Access chrome://extensions/
  • Check Developer mode
  • Click on Load unpacked extension
  • Select the build folder.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].