Added app version

This commit is contained in:
z0ccc 2022-06-02 22:40:17 -04:00
parent 44baad7bb8
commit 2e1593fbc7
14 changed files with 33 additions and 52 deletions

View file

@ -1,43 +1,3 @@
# LocateJS
Check it out here: [https://locatejs.com/](https://locatejs.com/).
## About
LocateJS predicts your location by analyzing your connection and system data. This scan allows you to understand how your location can be pinpointed even while using a VPN, location spoofer or private mode.
Accuracy of the location prediction is dependent on how well you have concealed your location data. The prediction can be anywhere from spot-on to inaccurate depending on how much identifiable and authentic info your exposing.
## How to hide location
The best way to hide your location is to use [Tor](https://www.torproject.org/). Tor will completely hide both your connection and system data.
As it's not always practical to use Tor (slow speeds, captcha loops, etc) the following are instructions on how to obscure your location without Tor.
To hide your connection data you will need to use a VPN or proxy
To hide your system data you will need to change your system settings. You can change your timezone to one with the same timezone offset so that the date on your computer stays the same.
Timezone/location spoofing extensions will not help as they cannot spoof data in [web workers](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Using_web_workers).
You should select a language that has no country associated with it (en instead of en-US). You should remove all other languages.
Although adding multiple random languages will help obscure your location, it's not the best idea as it will give you a very unique [device fingerprint](https://en.wikipedia.org/wiki/Device_fingerprint).
It's also a good idea to make sure your connection data matches your system data because if there are contradictions it would reveal that you are attempting to hide your location.
## FAQ
### Why did nothing change when Only use system data for prediction was selected?
If the values do not change when this option is selected it means that the connection values were already removed from the prediction due to being detected as inaccurate.
### What do the green and red circles mean?
A red circle indicates that the data in that row has been tampered with. If the true value cannot be derived then it is assumed to be inaccurate and will be left out of the location prediction. You can click on the red circle to see what types of issues have been detected.
A green circle indicates that no object tampering has been detected and that the value is legitimate.
## Dev ## Dev
This application is built with Javascript and React. This application is built with Javascript and React.

View file

@ -24,7 +24,7 @@
}, },
"scripts": { "scripts": {
"predeploy": "yarn run build", "predeploy": "yarn run build",
"deploy": "echo 'locatejs.com' > ./build/CNAME && gh-pages -d build", "deploy": "echo 'vytal.io' > ./build/CNAME && gh-pages -d build",
"start": "react-scripts start", "start": "react-scripts start",
"build": "react-scripts build", "build": "react-scripts build",
"test": "react-scripts test", "test": "react-scripts test",

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View file

@ -81,6 +81,10 @@ const data = {
value: navigator.userAgent, value: navigator.userAgent,
issues: getNavigatorValue('userAgent'), issues: getNavigatorValue('userAgent'),
}, },
appVersion: {
value: navigator.appVersion,
issues: getNavigatorValue('appVersion'),
},
} }
}; };

View file

@ -26,6 +26,10 @@ const initialDataObj = {
value: navigator.userAgent, value: navigator.userAgent,
issues: [], issues: [],
}, },
appVersion: {
value: navigator.appVersion,
issues: [],
},
}; };
</script> </script>
<html lang="en"> <html lang="en">
@ -43,11 +47,11 @@ const initialDataObj = {
<meta property="og:url" content="https://vytal.io" /> <meta property="og:url" content="https://vytal.io" />
<meta <meta
property="og:image:secure" property="og:image:secure"
content="https://locatejs.com/preview.png" content="https://vytal.io/preview.png"
/> />
<meta <meta
property="og:img" property="og:img"
content="https://locatejs.com/preview.png" content="https://vytal.io/preview.png"
/> />
<meta <meta
property="og:description" property="og:description"
@ -55,7 +59,7 @@ const initialDataObj = {
/> />
<meta <meta
name="twitter:card" name="twitter:card"
content="https://locatejs.com/preview.png" content="https://vytal.io/preview.png"
/> />
<meta name="twitter:title" content="Vytal" /> <meta name="twitter:title" content="Vytal" />
<meta <meta
@ -64,7 +68,7 @@ const initialDataObj = {
/> />
<meta <meta
name="twitter:image" name="twitter:image"
content="https://locatejs.com/preview.png" content="https://vytal.io/preview.png"
/> />
<link rel="manifest" href="%PUBLIC_URL%/manifest.json" /> <link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
<link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" /> <link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" />
@ -73,7 +77,7 @@ const initialDataObj = {
user's mobile device or desktop. See https://developers.google.com/web/fundamentals/web-app-manifest/ user's mobile device or desktop. See https://developers.google.com/web/fundamentals/web-app-manifest/
--> -->
<link rel="manifest" href="%PUBLIC_URL%/manifest.json" /> <link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
<title>Vytal</title> <title>Vytal Extension Scan</title>
</head> </head>
<body> <body>
<noscript>You need to enable JavaScript to run this app.</noscript> <noscript>You need to enable JavaScript to run this app.</noscript>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 173 KiB

After

Width:  |  Height:  |  Size: 167 KiB

1
public/scan.html Normal file
View file

@ -0,0 +1 @@
<script>window.location.replace("/");</script>

View file

@ -74,6 +74,10 @@ const data = {
value: navigator.userAgent, value: navigator.userAgent,
issues: getNavigatorValue('userAgent'), issues: getNavigatorValue('userAgent'),
}, },
appVersion: {
value: navigator.appVersion,
issues: getNavigatorValue('appVersion'),
},
}; };
postMessage(data); postMessage(data);

View file

@ -59,13 +59,15 @@ const Blocks = () => {
title="Intl.DateTimeFormat().resolvedOptions().timeZone" title="Intl.DateTimeFormat().resolvedOptions().timeZone"
type="timeZone" type="timeZone"
/> />
<DataBlock title="navigator.userAgent" type="userAgent" />
<DataBlock title="navigator.appVersion" type="appVersion" />
</div>
<div sx={{ display: ['none', 'none', 'block'], maxWidth: '500px' }}>
<DataBlock <DataBlock
title="Intl.DateTimeFormat().resolvedOptions().locale" title="Intl.DateTimeFormat().resolvedOptions().locale"
type="locale" type="locale"
/> />
<DataBlock title="navigator.userAgent" type="userAgent" />
</div>
<div sx={{ display: ['none', 'none', 'block'], maxWidth: '500px' }}>
<DataBlock <DataBlock
title="new Date().getTimezoneOffset()" title="new Date().getTimezoneOffset()"
type="timezoneOffset" type="timezoneOffset"
@ -97,6 +99,8 @@ const Blocks = () => {
type="timezoneOffset" type="timezoneOffset"
/> />
<DataBlock title="navigator.userAgent" type="userAgent" /> <DataBlock title="navigator.userAgent" type="userAgent" />
<DataBlock title="navigator.appVersion" type="appVersion" />
<GeolocationBlock /> <GeolocationBlock />
</div> </div>
</DataContext.Provider> </DataContext.Provider>

View file

@ -45,7 +45,7 @@ const HeaderBar = () => (
}} }}
> >
<HeaderButton <HeaderButton
url="/" url="https://chrome.google.com/webstore/detail/vytal/ncbknoohfjmcfneopnfkapmkblaenokb"
image={chromeImage} image={chromeImage}
text="Download Extension" text="Download Extension"
alt="Chrome logo" alt="Chrome logo"

View file

@ -5,8 +5,8 @@ const InfoBlock = () => (
Vytal is a browser extension that utilizes the chrome.debugger API to mock Vytal is a browser extension that utilizes the chrome.debugger API to mock
device data that could otherwise reveal information about you. This website device data that could otherwise reveal information about you. This website
scans your browser for such data. A red x signifies that the scanner has scans your browser for such data. A red x signifies that the scanner has
detected inaccurate tampered data. A green check means that no tampering has detected tampered data. A green check means that no tampering has been
been detected. detected.
</Block> </Block>
); );

View file

@ -86,6 +86,10 @@ const delayedData = {
value: navigator.userAgent, value: navigator.userAgent,
issues: getNavigatorValue('userAgent'), issues: getNavigatorValue('userAgent'),
}, },
appVersion: {
value: navigator.appVersion,
issues: getNavigatorValue('appVersion'),
},
}; };
export default delayedData; export default delayedData;