See fakeip.xyz for demo
This project represents an Angular application which has simple methods for fake IP detection. If you are more interested in the fingerprinting part of the application, then check the /app/fingerprinting directory which has corresponding components and services.
The main idea behind this solution is to detect anomalies in IP address related data. We first detect user IP by using the most simple method - HTTP headers, get coordinates, and timezone values based on this IP and then try to detect mismatches by using advanced methods. IP address anomalies are the following:
- WebRTC public IP mismatch
- System & Local Timezones mismatch
- Geolocation API coordinates mismatch
If a user has any of these anomalies the Application will show a corresponding warning.
- Install Node.js and npm
- Run
npm install
in the project root directory - Run
ng serve
to start the Angular application
- GeoJS to get IP data from HTTP headers
- Geolocation API Specification
- WebRTC API