Asynchronous geolocation capture service for OSINT investigations. Serve convincing phishing pages to capture visitor device information and GPS coordinates.
Project description
GeoRecon
Asynchronous geolocation capture service for OSINT investigations. Serve convincing phishing pages to capture visitor device information and GPS coordinates.
| CLI Interface | Telegram Template | NearYou Template |
| Google Disk Template | Telegram Bot |
Features
- Geolocation Capture – Obtain precise GPS coordinates from visitors via browser Geolocation API
- Device Fingerprinting – Collect OS, browser, CPU cores, RAM, GPU info, screen resolution
- Telegram Integration – Optional real-time notifications to your Telegram bot
- Multiple Templates – Comes with Telegram, Google Disk, and NearYou templates
- CLI + Config File – Configurable via CLI arguments or YAML file
- Clean Formatted Output – Colored CLI logs with device/location data
Requirements
- Python 3.12+
- A modern browser with Geolocation API support (victim's browser)
Installation
From PyPI (recommended)
pip install georecon
# or
uv add georecon
From source
git clone https://github.com/MarkLevkovich/geo-recon.git
cd geo-recon
pip install .
Usage
Quick Start
georecon
CLI Options
georecon --host 127.0.0.1 --port 8080 # Custom host/port
georecon --config /path/to/config.yaml # Use config file
georecon --log-level debug # Verbose logging
georecon --no-access-log # Disable access logs
Configuration File
Create geoconf.yaml (or any path):
host: "0.0.0.0"
port: 8080
log_level: "info"
no_access_log: false
CLI arguments override config file values.
Telegram Bot Setup
1. Create a bot
- Open @BotFather in Telegram
- Send
/newbot - Follow the instructions to get your bot token
2. Get your chat ID
- Start a conversation with your bot
- Send any message to the bot
- Visit
https://api.telegram.org/bot<TOKEN>/getUpdates - Find
"chat":{"id":123456789in the JSON response – that's your chat ID
3. Configure GeoRecon
When running georecon, you'll be prompted:
Do you want to duplicate msgs to Telegram? [y/n] -> y
=== Telegram bot setup ===
Enter bot token: 123456789:ABCdefGHIjklMNOpqrSTUvw
Enter target chat ID (numeric): 123456789
Configuration is saved to ~/.geo_recon.conf.
Exposing to Internet
By default, the server binds to 0.0.0.0:8080. To make it accessible from the internet, you need to expose your local server.
Option 1: ngrok
ngrok http 8080
Copy the generated URL (e.g., https://abc123.ngrok.io) and share it with your target.
Option 2: Cloudflare Tunnel
- Install cloudflared:
# Arch Linux
sudo pacman -S cloudflared
# Ubuntu/Debian
curl -L https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64 -o /usr/local/bin/cloudflared
chmod +x /usr/local/bin/cloudflared
- Create a tunnel:
cloudflared tunnel create my-geo-tunnel
- Run the tunnel:
cloudflared tunnel --url http://localhost:8080 run my-geo-tunnel
Copy the generated .cloudflared.io URL.
Captured Data
- IP address
- Operating system
- Browser & platform
- CPU cores & RAM
- GPU vendor/renderer
- Screen resolution
- Latitude / Longitude
- Accuracy
- City / Country (if available)
- Google Maps link
Tested On
- Arch Linux – Full compatibility
License
MIT License – see LICENSE
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file georecon-0.2.1.tar.gz.
File metadata
- Download URL: georecon-0.2.1.tar.gz
- Upload date:
- Size: 9.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
41c7ebb889c4ef588d6d759f2acbb433f42d298cb6e6a209bd5f0ca782c69665
|
|
| MD5 |
5d931eb9c80bcc8752f86b79b66f0187
|
|
| BLAKE2b-256 |
503997e110c37b39bf172a2ea12d9320eb79984fe600cb429914603bb22bf711
|
File details
Details for the file georecon-0.2.1-py3-none-any.whl.
File metadata
- Download URL: georecon-0.2.1-py3-none-any.whl
- Upload date:
- Size: 10.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
61f5c48c9240102437a0fe01e8de51870ad095e3fee65896b7c01135d3600653
|
|
| MD5 |
c6fdb89e91d3f6303634546778f5fd5d
|
|
| BLAKE2b-256 |
1c8a76b7b487efc45a49298e37320cf9493c022bb889469847c23459259faf85
|