GeoIP Detector is a tool for obtaining a range of information about an http endpoint. It provides HTTP status, page hash, screenshot, server ip for different regions of the world provided by your VPN.
Before building and running the project, ensure you have the following installed:
-
Go (version 1.22.3 or higher)
-
Mullvad VPN
Login to your Mullvad VPN account using the command below:
mullvad account login XXXX-XXXX-XXXX-XXXX
To build the project, use the following command:
make
After building the project, you can run the GeoIP Detector with the following command:
./bin/geoip-detector -endpoint=http://onsager.net
Note: Remember to replace XXXX-XXXX-XXXX-XXXX
with your actual Mullvad VPN account token.
graph TD
A[API Server] --> B[Queue]
B --> C[Task Dispatcher]
C --> D[Protocol Adapter]
D --> D1[HTTP Collector]
D --> D2[DNS Collector]
D --> D3[SMTP Collector]
D1 --> E1[ WebScraper]
E1 --> F1[HTML Parser]
D2 --> F2[DNS Response Parser]
D3 --> F3[Email Header Parser]
F1 -->G[DataNormalizer]
F2 -->G
F3 -->G
G --> H[Data Enricher]
H --> I[Storage Writer]
I --> J[Storage]
subgraph Storage Layer
J --> K[Storage Reader]
end
K --> L[Requestor Interface]