Convert Figma logo to code with AI

ThoughtfulDev logoEagleEye

Stalk your Friends. Find their Instagram, FB and Twitter Profiles using Image Recognition and Reverse Image Search.

4,194
559
4,194
34

Top Related Projects

57,727

Hunt down social media accounts by username across social networks

API, CLI, and Web App for analyzing and finding a person's profile in 1000 social media \ websites

10,065

🕵️‍♂️ Collect a dossier on a person by username from thousands of sites

7,293

holehe allows you to check if the mail is used on different sites like twitter, instagram and will retrieve information on sites with the forgotten password function.

15,468

🕵️‍♂️ Offensive Google framework.

2,928

Snoop — инструмент разведки на основе открытых данных (OSINT world)

Quick Overview

EagleEye is an open-source facial recognition tool designed to find social media profiles of a person using their image. It utilizes various facial recognition APIs and web scraping techniques to search across multiple social media platforms and return potential matches.

Pros

  • Combines multiple facial recognition APIs for improved accuracy
  • Searches across various social media platforms simultaneously
  • Provides a command-line interface for easy use
  • Open-source and customizable

Cons

  • Potential privacy concerns and ethical implications
  • Accuracy may vary depending on the quality of input images
  • Relies on third-party APIs which may change or become unavailable
  • May require significant processing time for extensive searches

Getting Started

  1. Clone the repository:

    git clone https://github.com/ThoughtfulDev/EagleEye.git
    
  2. Install dependencies:

    cd EagleEye
    pip install -r requirements.txt
    
  3. Set up API keys in config.json:

    {
      "google_cs_id": "your_google_cs_id",
      "google_cs_key": "your_google_cs_key",
      "twitter_api_key": "your_twitter_api_key",
      "twitter_api_secret_key": "your_twitter_api_secret_key",
      "twitter_access_token": "your_twitter_access_token",
      "twitter_access_token_secret": "your_twitter_access_token_secret"
    }
    
  4. Run EagleEye:

    python3 eagle-eye.py -h
    

Note: This tool should be used responsibly and in compliance with applicable laws and regulations. Always respect privacy and obtain necessary permissions before using facial recognition technology.

Competitor Comparisons

57,727

Hunt down social media accounts by username across social networks

Pros of sherlock

  • More actively maintained with frequent updates and contributions
  • Supports a larger number of websites and platforms (350+)
  • Better documentation and user guides

Cons of sherlock

  • Focuses solely on username searches, lacking image recognition capabilities
  • May produce more false positives due to its broad search approach

Code Comparison

EagleEye (Python):

def get_social_media_profiles(self):
    for website in self.websites:
        try:
            self.profiles.append(website.check_username(self.username))
        except Exception as e:
            print(f"Error checking {website.name}: {str(e)}")

sherlock (Python):

def sherlock(username, site_data, timeout=60):
    results = {}
    for social_network, net_info in site_data.items():
        results[social_network] = {"url_main": net_info.get("urlMain")}
        url = net_info["url"].format(username=username)
        results[social_network]["url_user"] = url
        results[social_network]["status"] = "Claimed"
        # ... (additional code for request handling and status checking)

Both projects aim to find social media profiles, but sherlock offers a more comprehensive approach with a larger database of supported websites. EagleEye, while less actively maintained, provides additional functionality for image recognition and facial analysis, which sherlock lacks. sherlock's code structure allows for easier expansion and maintenance of the supported platforms list.

API, CLI, and Web App for analyzing and finding a person's profile in 1000 social media \ websites

Pros of social-analyzer

  • Supports a wider range of social media platforms (300+)
  • Offers both CLI and API interfaces for flexibility
  • Provides more detailed output, including profile pictures and additional metadata

Cons of social-analyzer

  • More complex setup and dependencies
  • May be slower due to the larger number of platforms it searches
  • Less focused on facial recognition compared to EagleEye

Code Comparison

EagleEye:

def get_social_media_profiles(self):
    self.facebook_profile = self.find_facebook_profile()
    self.linkedin_profile = self.find_linkedin_profile()
    self.twitter_profile = self.find_twitter_profile()

social-analyzer:

def run_as_object(self, username, silent=False, output="good", filter_output="", profiles=""):
    # ... (initialization code)
    for site in sites:
        if site["selected"] == "true":
            # ... (site-specific search logic)
    return {"detected": detected, "unknown": unknown, "failed": failed, "profiles": profiles}

The code snippets highlight the different approaches:

  • EagleEye focuses on specific platforms with dedicated methods
  • social-analyzer uses a more generic approach to handle multiple platforms

Both tools aim to find social media profiles, but social-analyzer offers a more comprehensive search across a larger number of platforms, while EagleEye appears to be more specialized for a few major social networks.

10,065

🕵️‍♂️ Collect a dossier on a person by username from thousands of sites

Pros of Maigret

  • Supports a wider range of social networks and websites (over 2000)
  • More actively maintained with regular updates
  • Includes additional features like report generation and proxy support

Cons of Maigret

  • May have a steeper learning curve due to more complex functionality
  • Potentially slower execution time when searching across numerous platforms
  • Requires more dependencies and setup compared to EagleEye

Code Comparison

EagleEye (Python):

def get_social_media_profiles(self):
    for website in self.websites:
        self.driver.get(website)
        if self.driver.title == "Page not found":
            continue
        # Process and extract profile information

Maigret (Python):

async def search(self, username, site_dict, query_notify):
    tasks = []
    for site in site_dict:
        check_func = site.check_func or self.standard_check
        task = asyncio.ensure_future(check_func(site, username, query_notify))
        tasks.append(task)
    await asyncio.gather(*tasks)

The code snippets show that Maigret uses asynchronous programming for potentially faster execution when searching multiple sites simultaneously, while EagleEye uses a more straightforward sequential approach.

7,293

holehe allows you to check if the mail is used on different sites like twitter, instagram and will retrieve information on sites with the forgotten password function.

Pros of holehe

  • Focuses specifically on email address reconnaissance
  • Supports a larger number of websites and services (over 120)
  • Faster execution due to asynchronous requests

Cons of holehe

  • Limited to email-based searches only
  • Does not include image recognition or facial search capabilities
  • Less comprehensive profile information gathering

Code Comparison

holehe:

async def instagram(email):
    try:
        async with aiohttp.ClientSession() as session:
            async with session.get("https://www.instagram.com/accounts/web_create_ajax/attempt/", timeout=10) as response:
                if response.status == 200:
                    return {"exists": True, "email_recovery": None}
    except Exception:
        return {"exists": False, "email_recovery": None}

EagleEye:

def instagram(self):
    try:
        response = requests.get('https://www.instagram.com/' + self.username)
        if response.status_code == 200:
            return True
    except:
        return False

The code snippets show that holehe focuses on email-based checks, while EagleEye performs username-based searches. holehe uses asynchronous requests with aiohttp, potentially offering better performance for multiple checks.

15,468

🕵️‍♂️ Offensive Google framework.

Pros of GHunt

  • More focused on Google account information retrieval
  • Actively maintained with recent updates
  • Supports command-line interface for easier automation

Cons of GHunt

  • Limited to Google accounts, less versatile for general OSINT
  • Requires more setup and dependencies
  • May be more complex for beginners

Code Comparison

EagleEye:

def get_profile_pic(self):
    if self.profile_picture:
        return self.profile_picture
    else:
        return None

GHunt:

def get_profile_picture(gaiaID):
    url = f"https://lh3.googleusercontent.com/a-/{gaiaID}"
    response = requests.head(url)
    if response.status_code == 200:
        return url
    return None

Both projects aim to gather information from online sources, but they differ in their focus and implementation. EagleEye is designed for broader social media reconnaissance, while GHunt specializes in Google account information retrieval. EagleEye may be easier for beginners to use, but GHunt offers more in-depth analysis of Google-related data. The code comparison shows that both projects have similar functions for retrieving profile pictures, but GHunt's implementation is more specific to Google's infrastructure.

2,928

Snoop — инструмент разведки на основе открытых данных (OSINT world)

Pros of snoop

  • More active development with frequent updates
  • Supports a wider range of social networks and platforms
  • Offers a user-friendly command-line interface

Cons of snoop

  • Primarily focused on Russian-language platforms and users
  • Less emphasis on facial recognition capabilities
  • Requires more manual input and configuration

Code comparison

EagleEye:

def get_social_media_profiles(self):
    for website in self.websites:
        if website.search():
            print("[+] Profile found on {}".format(website.name))
        else:
            print("[-] Profile not found on {}".format(website.name))

snoop:

def start(self):
    for module in self.modules:
        try:
            module.main(self.username)
        except Exception as e:
            self.logger.error(f"Error in module {module.__name__}: {str(e)}")

Both projects aim to gather information about individuals across various online platforms. EagleEye focuses more on facial recognition and image analysis, while snoop emphasizes username searches across a broader range of social networks. EagleEye is more specialized but potentially more powerful for visual identification, whereas snoop offers a more comprehensive search across text-based profiles and platforms.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

$$$$$$$$\                    $$\                 $$$$$$$$\                    
$$  _____|                   $$ |                $$  _____|                   
$$ |      $$$$$$\   $$$$$$\  $$ | $$$$$$\        $$ |     $$\   $$\  $$$$$$\  
$$$$$\    \____$$\ $$  __$$\ $$ |$$  __$$\       $$$$$\   $$ |  $$ |$$  __$$\ 
$$  __|   $$$$$$$ |$$ /  $$ |$$ |$$$$$$$$ |      $$  __|  $$ |  $$ |$$$$$$$$ |
$$ |     $$  __$$ |$$ |  $$ |$$ |$$   ____|      $$ |     $$ |  $$ |$$   ____|
$$$$$$$$\\$$$$$$$ |\$$$$$$$ |$$ |\$$$$$$$\       $$$$$$$$\\$$$$$$$ |\$$$$$$$\ 
\________|\_______| \____$$ |\__| \_______|      \________|\____$$ | \_______|
                   $$\   $$ |                             $$\   $$ |          
                   \$$$$$$  |                             \$$$$$$  |          
                    \______/                               \______/         
                                                                      

Python 3.5 OS Linux Lets stalk


You have at least one image of the person you are looking for and a clue about their name.
You enter this data into EagleEye and it tries to find Instagram, Youtube, Facebook, and Twitter Profiles of this person.

📝 Table of Contents

🏁 Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Prerequisites

  • A system with a x-server installed (Linux)
  • Firefox installed

When using docker

  • Only docker is required

When you dont use docker

  • Python 3.6 or higher
  • Pythons pip

Installing

Docker (Preferred)

Make sure that you have docker installed Make sure that you use a LINUX distribution as the host

  1. Clone the Repository

    $ git clone https://github.com/ThoughtfulDev/EagleEye

  2. $ cd EagleEye
    $ sudo docker build -t eagle-eye .
    
  3. Now create a known folder and a result folder anywhere on your PC.

  4. Put the images of the known person in the known folder.

  5. Change the name of the person your are searching for in entry.sh

  6. Start the container. Make sure to edit the paths:

sudo docker run -t --net=host --env="DISPLAY" \
                           --volume="$HOME/.Xauthority:/root/.Xauthority:rw"  \
                           -v  /path/to/known:/EagleEye/known \
                           -v  /path/to/result:/result \
                           -v /path/to/EagleEye/Repository/entry.sh:/entry.sh \
                           eagle-eye

The result should now be in /path/to/result


Automated Prerequisites Installation (If Docker doesn't work)

wget https://raw.githubusercontent.com/ThoughtfulDev/EagleEye/master/install.sh && chmod +x install.sh && ./install.sh

Manual Prerequisites Installation (If you are hardcore)

For Debian based Distros

$ sudo apt update && sudo apt upgrade -y
$ sudo apt install git python3 python3-pip python3-dev
$ sudo apt install libgtk-3-dev libboost-all-dev build-essential cmake libffi-dev
$ git clone https://github.com/ThoughtfulDev/EagleEye
$ cd EagleEye && sudo pip3 install -r requirements.txt
$ sudo pip3 install --upgrade beautifulsoup4 html5lib spry

For Arch

$ sudo pacman -Syu
$ sudo pacman -S git python python-pip gtk3 boost cmake libffi
$ git clone https://github.com/ThoughtfulDev/EagleEye
$ cd EagleEye && sudo pip3 install -r requirements.txt
$ sudo pip3 install --upgrade beautifulsoup4 html5lib spry

If Firefox is installed, download the latest release of the Geckodriver for you Architecture.

If you get a broken pipe Error use Geckodriver Version 0.19.1.

Note: If you are using Firefox ESR (like Kali does) please use the Geckodriver Version 0.17.

Make the Geckodriver executable:

$ chmod +x /path/to/geckodriver

Note: The geckodriver prefers to be in your path so wherever you do set it up you will likely need to setup a link to somewhere in your PATH (or add it to your PATH).

Example:

$ sudo ln -s /path/to/geckodriver /usr/local/bin/geckodriver

🎈 Usage

Configuration: General

Change the value in config.json to the path of the geckodriver e.g

{
    "DEFAULTS": {
        ...
    },
    "WEBDRIVER": {
        "ENGINE": "firefox",
        "PATH": "/usr/local/bin/geckodriver"
    },
    "FILTER": [
        ....
    ],
    ...
}

Configuration: Images

Put at least one Image of the Person you want to find in the known folder.

Supported Filetypes are: jpg/JPG, jpeg/JPEG, png/PNG, and bmp/BMP.

Run

Then run the program ;)

$ python3 eagle-eye.py

To see a list of all available Options just type

$ python3 eagle-eye.py -h

The ImageRaider Reverse Image Search can take some minutes 1-15 Minutes depending on the count of Images

TODO

  • Implement the Chrome Webdriver

⛏️ Built Using

✍️ Authors

🎉 Acknowledgements

  • The movie Eagle Eye