Added app version
This commit is contained in:
parent
44baad7bb8
commit
2e1593fbc7
14 changed files with 33 additions and 52 deletions
40
README.md
40
README.md
|
|
@ -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
|
||||
|
||||
This application is built with Javascript and React.
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@
|
|||
},
|
||||
"scripts": {
|
||||
"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",
|
||||
"build": "react-scripts build",
|
||||
"test": "react-scripts test",
|
||||
|
|
|
|||
Binary file not shown.
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 1.8 KiB |
|
|
@ -81,6 +81,10 @@ const data = {
|
|||
value: navigator.userAgent,
|
||||
issues: getNavigatorValue('userAgent'),
|
||||
},
|
||||
appVersion: {
|
||||
value: navigator.appVersion,
|
||||
issues: getNavigatorValue('appVersion'),
|
||||
},
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -26,6 +26,10 @@ const initialDataObj = {
|
|||
value: navigator.userAgent,
|
||||
issues: [],
|
||||
},
|
||||
appVersion: {
|
||||
value: navigator.appVersion,
|
||||
issues: [],
|
||||
},
|
||||
};
|
||||
</script>
|
||||
<html lang="en">
|
||||
|
|
@ -43,11 +47,11 @@ const initialDataObj = {
|
|||
<meta property="og:url" content="https://vytal.io" />
|
||||
<meta
|
||||
property="og:image:secure"
|
||||
content="https://locatejs.com/preview.png"
|
||||
content="https://vytal.io/preview.png"
|
||||
/>
|
||||
<meta
|
||||
property="og:img"
|
||||
content="https://locatejs.com/preview.png"
|
||||
content="https://vytal.io/preview.png"
|
||||
/>
|
||||
<meta
|
||||
property="og:description"
|
||||
|
|
@ -55,7 +59,7 @@ const initialDataObj = {
|
|||
/>
|
||||
<meta
|
||||
name="twitter:card"
|
||||
content="https://locatejs.com/preview.png"
|
||||
content="https://vytal.io/preview.png"
|
||||
/>
|
||||
<meta name="twitter:title" content="Vytal" />
|
||||
<meta
|
||||
|
|
@ -64,7 +68,7 @@ const initialDataObj = {
|
|||
/>
|
||||
<meta
|
||||
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="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/
|
||||
-->
|
||||
<link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
|
||||
<title>Vytal</title>
|
||||
<title>Vytal Extension Scan</title>
|
||||
</head>
|
||||
<body>
|
||||
<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
1
public/scan.html
Normal file
|
|
@ -0,0 +1 @@
|
|||
<script>window.location.replace("/");</script>
|
||||
|
|
@ -74,6 +74,10 @@ const data = {
|
|||
value: navigator.userAgent,
|
||||
issues: getNavigatorValue('userAgent'),
|
||||
},
|
||||
appVersion: {
|
||||
value: navigator.appVersion,
|
||||
issues: getNavigatorValue('appVersion'),
|
||||
},
|
||||
};
|
||||
|
||||
postMessage(data);
|
||||
|
|
|
|||
|
|
@ -59,13 +59,15 @@ const Blocks = () => {
|
|||
title="Intl.DateTimeFormat().resolvedOptions().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
|
||||
title="Intl.DateTimeFormat().resolvedOptions().locale"
|
||||
type="locale"
|
||||
/>
|
||||
<DataBlock title="navigator.userAgent" type="userAgent" />
|
||||
</div>
|
||||
<div sx={{ display: ['none', 'none', 'block'], maxWidth: '500px' }}>
|
||||
<DataBlock
|
||||
title="new Date().getTimezoneOffset()"
|
||||
type="timezoneOffset"
|
||||
|
|
@ -97,6 +99,8 @@ const Blocks = () => {
|
|||
type="timezoneOffset"
|
||||
/>
|
||||
<DataBlock title="navigator.userAgent" type="userAgent" />
|
||||
<DataBlock title="navigator.appVersion" type="appVersion" />
|
||||
|
||||
<GeolocationBlock />
|
||||
</div>
|
||||
</DataContext.Provider>
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ const HeaderBar = () => (
|
|||
}}
|
||||
>
|
||||
<HeaderButton
|
||||
url="/"
|
||||
url="https://chrome.google.com/webstore/detail/vytal/ncbknoohfjmcfneopnfkapmkblaenokb"
|
||||
image={chromeImage}
|
||||
text="Download Extension"
|
||||
alt="Chrome logo"
|
||||
|
|
|
|||
|
|
@ -5,8 +5,8 @@ const InfoBlock = () => (
|
|||
Vytal is a browser extension that utilizes the chrome.debugger API to mock
|
||||
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
|
||||
detected inaccurate tampered data. A green check means that no tampering has
|
||||
been detected.
|
||||
detected tampered data. A green check means that no tampering has been
|
||||
detected.
|
||||
</Block>
|
||||
);
|
||||
|
||||
|
|
|
|||
|
|
@ -86,6 +86,10 @@ const delayedData = {
|
|||
value: navigator.userAgent,
|
||||
issues: getNavigatorValue('userAgent'),
|
||||
},
|
||||
appVersion: {
|
||||
value: navigator.appVersion,
|
||||
issues: getNavigatorValue('appVersion'),
|
||||
},
|
||||
};
|
||||
|
||||
export default delayedData;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue