From 6d5f797f85c9e97d4f7edd61b8305f28c1f4af68 Mon Sep 17 00:00:00 2001 From: ronknight Date: Tue, 23 Apr 2024 14:35:55 -0700 Subject: [PATCH] Update README.md from Eraser --- ...a83fef9f45c6ce06-EagleEye-Process-Flow.png | Bin 0 -> 85421 bytes README-EagleEye Process Flow-1.eraserdiagram | 27 ++ README.md | 361 +++++++++--------- 3 files changed, 198 insertions(+), 190 deletions(-) create mode 100644 .eraser/jeBD3FVioZt4xPfGR28O___3Jivg2tjMecMlrHwbIVIBR8f7U03___---diagram----4c9bbf64e2f7bf77a83fef9f45c6ce06-EagleEye-Process-Flow.png create mode 100644 README-EagleEye Process Flow-1.eraserdiagram diff --git a/.eraser/jeBD3FVioZt4xPfGR28O___3Jivg2tjMecMlrHwbIVIBR8f7U03___---diagram----4c9bbf64e2f7bf77a83fef9f45c6ce06-EagleEye-Process-Flow.png b/.eraser/jeBD3FVioZt4xPfGR28O___3Jivg2tjMecMlrHwbIVIBR8f7U03___---diagram----4c9bbf64e2f7bf77a83fef9f45c6ce06-EagleEye-Process-Flow.png new file mode 100644 index 0000000000000000000000000000000000000000..2e577a1b8281cc35b58db5afbb945ada2ef6d500 GIT binary patch literal 85421 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 Get image of person [icon: image] +Get image of person > Enter name clue [icon: file-text] +Enter name clue > Choose platform [shape: diamond, icon: globe] +Choose platform > Search Instagram [icon: instagram]: Instagram +Choose platform > Search YouTube [icon: youtube]: YouTube +Choose platform > Search Facebook [icon: facebook]: Facebook +Choose platform > Search Twitter [icon: twitter]: Twitter +Search Instagram > Analyze results [icon: search] +Search YouTube > Analyze results [icon: search] +Search Facebook > Analyze results [icon: search] +Search Twitter > Analyze results [icon: search] +Analyze results > End [shape: oval, icon: check] + +// Define Groups +For each platform [icon: repeat] { + Search Instagram + Search YouTube + Search Facebook + Search Twitter + Analyze results +} diff --git a/README.md b/README.md index fce391a..3c65cf9 100644 --- a/README.md +++ b/README.md @@ -1,190 +1,171 @@ -``` -$$$$$$$$\ $$\ $$$$$$$$\ -$$ _____| $$ | $$ _____| -$$ | $$$$$$\ $$$$$$\ $$ | $$$$$$\ $$ | $$\ $$\ $$$$$$\ -$$$$$\ \____$$\ $$ __$$\ $$ |$$ __$$\ $$$$$\ $$ | $$ |$$ __$$\ -$$ __| $$$$$$$ |$$ / $$ |$$ |$$$$$$$$ | $$ __| $$ | $$ |$$$$$$$$ | -$$ | $$ __$$ |$$ | $$ |$$ |$$ ____| $$ | $$ | $$ |$$ ____| -$$$$$$$$\\$$$$$$$ |\$$$$$$$ |$$ |\$$$$$$$\ $$$$$$$$\\$$$$$$$ |\$$$$$$$\ -\________|\_______| \____$$ |\__| \_______| \________|\____$$ | \_______| - $$\ $$ | $$\ $$ | - \$$$$$$ | \$$$$$$ | - \______/ \______/ - -``` - -

- -![Python 3.5](https://img.shields.io/badge/Python-3.6%2B-blue.svg) -![OS Linux](https://img.shields.io/badge/Supported%20OS-Linux-yellow.svg) -![Lets stalk](https://img.shields.io/badge/Stalkermode-Activated-red.svg) - -
- ---- - -

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](#getting_started) -- [Usage](#usage) -- [Built Using](#built_using) -- [TODO](#todo) -- [Authors](#authors) -- [Acknowledgments](#acknowledgement) - - -## 🏁 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](https://github.com/mozilla/geckodriver/releases/latest) 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 -- [Python](https://www.python.org/) - Language -- [dlib](http://dlib.net/) - Face detection -- [face_recognition](https://github.com/ageitgey/face_recognition) - dlib python api -- [Selenium](https://www.seleniumhq.org/) - WebBrowser automation - -## ✍️ Authors -- [@ThoughtfulDev](https://github.com/ThoughtfulDev) - Idea & Work - -## 🎉 Acknowledgements -- The movie Eagle Eye +

Edit in Eraser

+ +``` +$$$$$$$$\ $$\ $$$$$$$$\ +$$ _____| $$ | $$ _____| +$$ | $$$$$$\ $$$$$$\ $$ | $$$$$$\ $$ | $$\ $$\ $$$$$$\ +$$$$$\ \____$$\ $$ __$$\ $$ |$$ __$$\ $$$$$\ $$ | $$ |$$ __$$\ +$$ __| $$$$$$$ |$$ / $$ |$$ |$$$$$$$$ | $$ __| $$ | $$ |$$$$$$$$ | +$$ | $$ __$$ |$$ | $$ |$$ |$$ ____| $$ | $$ | $$ |$$ ____| +$$$$$$$$\\$$$$$$$ |\$$$$$$$ |$$ |\$$$$$$$\ $$$$$$$$\\$$$$$$$ |\$$$$$$$\ +\________|\_______| \____$$ |\__| \_______| \________|\____$$ | \_______| + $$\ $$ | $$\ $$ | + \$$$$$$ | \$$$$$$ | + \______/ \______/ +``` +![Python 3.5](https://img.shields.io/badge/Python-3.6%2B-blue.svg "") + +![OS Linux](https://img.shields.io/badge/Supported%20OS-Linux-yellow.svg "") + +![Lets stalk](https://img.shields.io/badge/Stalkermode-Activated-red.svg "") + +--- + + 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](#getting_started) +- [Usage](#usage) +- [Built Using](#built_using) +- [TODO](#todo) +- [Authors](#authors) +- [Acknowledgments](#acknowledgement) +## 🏁 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](https://github.com/mozilla/geckodriver/releases/latest) 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 +- [Python](https://www.python.org/) - Language +- [dlib](http://dlib.net/) - Face detection +- [face_recognition](https://github.com/ageitgey/face_recognition) - dlib python api +- [Selenium](https://www.seleniumhq.org/) - WebBrowser automation +## ✍️ Authors +- [@ThoughtfulDev](https://github.com/ThoughtfulDev) - Idea & Work +## 🎉 Acknowledgements +- The movie Eagle Eye + + + + +## Diagrams + + + + + \ No newline at end of file