Skip to main content

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

  1. Open @BotFather in Telegram
  2. Send /newbot
  3. Follow the instructions to get your bot token

2. Get your chat ID

  1. Start a conversation with your bot
  2. Send any message to the bot
  3. Visit https://api.telegram.org/bot<TOKEN>/getUpdates
  4. Find "chat":{"id":123456789 in 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

  1. 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
  1. Create a tunnel:
cloudflared tunnel create my-geo-tunnel
  1. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

georecon-0.2.0.tar.gz (9.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

georecon-0.2.0-py3-none-any.whl (10.7 kB view details)

Uploaded Python 3

File details

Details for the file georecon-0.2.0.tar.gz.

File metadata

  • Download URL: georecon-0.2.0.tar.gz
  • Upload date:
  • Size: 9.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for georecon-0.2.0.tar.gz
Algorithm Hash digest
SHA256 661362e2b78633d88d42695bf906541efd616e418ba112d7eb324a296aaa09db
MD5 53765e4b8f47bc80c1ca8e76344e961e
BLAKE2b-256 55f8a48f6357ce9d7855403c9f79927e70098b14c8b9d2e9ccd7f1e162110b94

See more details on using hashes here.

File details

Details for the file georecon-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: georecon-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 10.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for georecon-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d81cdb20691f475aa1ecec31e5a7aa0bb05c4aac1b22d7bca076d84490ed0015
MD5 8b1b72fc5da77aa85b4ffe5af033593a
BLAKE2b-256 29b243db048c08b27b3df9d5e802749e1252746cad5f942874576bc2891fc4c5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page