Skip to content

DanyelAmorim/Metadata-Sucker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Metadata Sucker

A professional, brutalist-inspired forensic tool for deep metadata extraction and technical stream analysis.

Overview

Metadata Sucker is a high-performance web interface designed for digital forensics and privacy auditing. It acts as a specialized wrapper for ExifTool and FFmpeg, allowing users to "suck" hidden information from images and videos that standard file explorers cannot see.

The system is built with a Privacy-First Logic, automatically purging uploaded files from the server immediately after analysis to ensure no data footprint is left behind.

Features

  • Deep Metadata Extraction: Reveal GPS coordinates, camera serial numbers, edit history, and software signatures.
  • Technical Stream Analysis: Detailed breakdown of video/audio codecs, bitrates, and container structures via FFprobe.
  • Real-Time Tag Filtering: Instant search bar to isolate specific metadata tags in massive data dumps.
  • Smart Slicing Technology: Client-side 5MB header slicing to bypass server upload limits and speed up analysis.
  • Forensic Alert System: Automatic highlighting of sensitive data that could compromise user anonymity.
  • Brutalist Dark UI: High-contrast, low-entropy interface designed for long-session technical monitoring.

Supported File Types

Images

  • JPEG (.jpg, .jpeg)
  • PNG (.png)
  • GIF (.gif)
  • WebP (.webp)
  • TIFF (.tiff, .tif)
  • BMP (.bmp)
  • RAW (.raw, .dng, .cr2, .nef)

Videos

  • MP4 (.mp4)
  • Matroska (.mkv, .mka)
  • AVI (.avi)
  • QuickTime (.mov)
  • WebM (.webm)
  • Flash Video (.flv)
  • 3GP (.3gp)
  • MTS/M2TS (.mts, .m2ts)

Prerequisites

To run this tool on your Linux environment, you need:

  • PHP 8.1+
  • ExifTool
  • FFmpeg / FFprobe
  • Apache/Nginx (configured with proper upload_max_filesize)

Installation

Ubuntu / Debian

# Install PHP and forensic dependencies
sudo apt install php-cli php-common exiftool ffmpeg -y

# Clone the repository
git clone https://github.com/BryanApolonio/Metadata-Sucker.git
cd Metadata-Sucker

Fedora

# Install dependencies
sudo dnf install php perl-Image-ExifTool ffmpeg -y

# Clone the repository
git clone https://github.com/BryanApolonio/Metadata-Sucker.git
cd Metadata-Sucker

macOS (via Homebrew)

# Install dependencies
brew install php exiftool ffmpeg

# Clone the repository
git clone https://github.com/BryanApolonio/Metadata-Sucker.git
cd Metadata-Sucker

Project Structure

├── assets/
│   ├── css/
│   │   └── style.css       # Brutalist Dark-Mode UI
│   ├── js/
│   │   └── script.js       # Upload Logic & Header Slicing
│   └── img/                # UI Screenshots & Icons
├── includes/
│   └── process.php         # Forensic Engine (ExifTool & FFmpeg)
└── index.html              # Main Entry Point

Getting Started

  1. Configure PHP Limits (Optional for large files): Edit your php.ini to increase upload_max_filesize if you intend to analyze full high-res videos without slicing.

    # Example configuration
    upload_max_filesize = 500M
    post_max_size = 500M
  2. Start the local server:

    php -S localhost:8080
  3. Analyze Files: Open http://localhost:8080, drag any file into the drop-zone, and watch the system extract the "hidden truth" behind the bytes.

Usage Examples

Image Metadata Extraction

  1. Upload a JPEG file from your camera
  2. System reveals:
    • Camera model, lens information
    • GPS coordinates (if available)
    • Edit history and software signatures
    • Color profile and resolution data

Video Stream Analysis

  1. Upload an MP4 or MKV file
  2. System displays:
    • Video codec (H.264, VP9, AV1)
    • Audio codec and bitrate
    • Duration and frame rate
    • Container structure and streaming metadata

Performance & Limitations

  • Maximum Recommended File Size: 2GB (without slicing)
  • Smart Slicing: Files larger than 5MB are analyzed header-first, reducing processing time
  • Average Processing Time:
    • Images: < 1 second
    • Videos: 2-5 seconds (depending on file size)
  • Concurrent Uploads: Recommended limit of 3-5 simultaneous uploads

Upload fails with "file too large"

Edit your PHP configuration:

# Find php.ini location
php --ini

# Edit the file and update:
upload_max_filesize = 500M
post_max_size = 500M

# Restart your web server or PHP built-in server

No metadata found in file

  • Some files may have stripped metadata for privacy reasons
  • RAW formats require additional libraries (libopenraw)
  • Try a different file to confirm the tool is working

Security & Privacy

  • No Persistence: Files are processed in the /tmp directory and unlinked (deleted) immediately after analysis.
  • Local Execution: Designed for local use, ensuring your sensitive files never leave your machine unless deployed to a trusted VPS.
  • Sanitized Inputs: All filenames are escaped to prevent command injection during shell execution.
  • No Logging: Metadata extraction does not create permanent logs of file contents.

Disclaimer

This tool is for educational and forensic purposes only. I am not responsible for how you use the information extracted by this software.

Legal Notice:

  • Always respect privacy laws in your jurisdiction
  • Ensure you have explicit permission to analyze files that do not belong to you
  • Unauthorized metadata extraction may violate GDPR, CCPA, or other data protection regulations
  • Users are solely responsible for compliance with local and international laws

About

A simple web tool to view all metadata for images and videos.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors