Skip to content

Latest commit

 

History

20 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EAGLE

Photo EXIF & GPS Location Extraction Utility

An OSINT and digital forensics utility that rips open raw image headers, extracts deep EXIF metadata, camera hardware specs, and precise GPS coordinates, reverse-geocodes the location, and outputs structured intelligence to the terminal, JSON, or an interactive web map.

PyPI Python FastAPI Pillow HEIF

Eagle Logo

Eagle Demo


Command-Line Interface

Eagle is distributed on PyPI as eagle-x and exposes the terminal command eagle. Install the package directly using pip, then analyze any image on your local filesystem with eagle hunt photo.jpg. For automation and OSINT pipelines, stream pure structured JSON output using eagle hunt photo.jpg --json, or perform reverse geocoding via eagle hunt photo.jpg --geocode.

Windows (PowerShell / Command Prompt)

# Install from PyPI
pip install eagle-x

# Launch the purple flight manual
eagle

# Hunt down metadata & GPS telemetry
eagle hunt photo.jpg
eagle hunt "C:\Users\YourName\Pictures\photo.jpg"

# Reverse-geocode coordinates to street address
eagle hunt photo.jpg --geocode

# Output clean JSON to stdout
eagle hunt photo.jpg --json

# Upgrade to latest version
pip install --upgrade eagle-x

macOS / Linux (Terminal)

# Install from PyPI
pip3 install eagle-x

# Launch the purple flight manual
eagle

# Hunt down metadata & GPS telemetry
eagle hunt photo.jpg
eagle hunt ~/Pictures/photo.jpg

# Reverse-geocode coordinates to street address
eagle hunt photo.jpg --geocode

# Output clean JSON to stdout
eagle hunt photo.jpg --json

# Upgrade to latest version
pip3 install --upgrade eagle-x

Privacy & Security

Eagle analysis is 100% local by default. No image data or metadata is ever uploaded or transmitted over the network unless --geocode is explicitly passed to query OpenStreetMap Nominatim. Input images exceeding 100 Megapixels are rejected to protect against decompression bomb attacks, and binary tags are sanitized to prevent crashes.


Supported Formats & Telemetry

Eagle supports deep header inspection across JPEG, PNG, HEIC/HEIF, TIFF, WebP, and BMP images. Extracted telemetry includes file dimensions, color mode, megapixels, camera hardware, exposure settings, GPS coordinates (Decimal & DMS), altitude, GPS timestamp, and standard raw EXIF IFD structures.


Python Library Usage

You can integrate Eagle directly into your Python scripts:

from eagle import analyze_image_file

result = analyze_image_file("photo.jpg", geocode=False)

print(f"Camera: {result.camera_info.make} {result.camera_info.model}")
if result.has_gps:
    print(f"Coordinates: {result.latitude}, {result.longitude}")

If you want GUI

Setup Backend

Pop open a terminal, hop into the backend directory with cd backend, and create an isolated virtual environment:

Windows (PowerShell)

cd backend
python -m venv .venv
.venv\Scripts\Activate.ps1
pip install -r requirements.txt
uvicorn app.main:app --reload --port 8000

macOS / Linux (Terminal)

cd backend
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
uvicorn app.main:app --reload --port 8000

Your backend is now listening at http://localhost:8000, and you can inspect the interactive Swagger docs at http://localhost:8000/docs.


Setup Frontend

In a second terminal window, head over to the frontend with cd frontend and install the necessary dependencies using npm install. Once that's done, fire up the Vite dev server with npm run dev, open http://localhost:5173 in your browser, drag and drop an image in, and you're good to go.

Windows / macOS / Linux

cd frontend
npm install
npm run dev

This project is open-source and available under the MIT License.

About

Drop an image into Eagle and it instantly rips open its EXIF data to drop a pin-point location right where it was taken, get all its hidden EXIF metadata, camera settings in seconds.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Contributors

Languages