       ____    ____         _____        __________   _____        ____   __________   __________   _____________
      |    |  |    |       /     \      |    ___   \  \    \      /    / |          | |          | |             | 
      |    |  |    |      /   _   \     |   |   |   \  \    \    /    /  |   _______| |     _____| |____     ____|
      |    |__|    |     /   /_\   \    |   |___/   |   \    \  /    /   |   |___     |    |_____       |   |
      |     __     |    /    ___    \   |    ___    /    \    \/    /    |    ___|    |______    |      |   |
      |    |  |    |   /    /   \    \  |   |   \   \     \        /     |   |______   ______|   |      |   |
      |    |  |    |  /    /     \    \ |   |    \   \     \      /      |          | |          |      |   |
      |____|  |____| /____/       \____\|___|     \___\     \___ /       |__________| |__________|      |___|   R



README

    HarvestR is a bot application program that uses a facial recongnition tool and web scraping technologies for open source
    intelligence research. HarvestR 1.01 currently operates on windows only but future versions will incoporate Mac OS.
    Running HarvestR requires installing multiple python libraries through terminal command. IDE's are not limited as long
    as it can import the required packages. HarvestR was built on python version 3.11.

NOTICE

    Participants involved in any project are fully informed about the nature, purpose, and methodologies involved, and their  
    onsent is obtained prior to participation.  This project provides an aggregate analysis derived from publicly 
    available data sources. It is crucial to acknowledge that the information presented here is intended exclusively for 
    academic and informational purposes. We firmly oppose and abstain from personally employing facial recognition technologies 
    or web scraping methods that compromise individual privacy.

INSTALLATION & IMPORT REQUIREMENTS:

    - Python 3.11 or greater
    - IDE or Python Interpreter
    - selenium
    - tkinter
    - beautifulSoup
    - pyautogui
    - pywinstyles
    - pyperclip
    - Firefox Driver
    - Google Chrome Driver
    - Customtkinter

GITHUB LINK AND FILES:

    https://github.com/Ryeberg/OSINT_Bot


CONTACT ME

    If you have any problems running the application you can email me at aogan003@fiu.edu to answer all your concerning questions.
    You can also reach our github page for updates and announcements to address bugs and issues.

----------------------------------------------------------------------------------------------------------------------------------

INSTALLATION PROCEDURES BEFORE RUNNING:

    To install Python visit https://www.python.org/downloads/windows/ and select "Lastest Python 3 Release -Python #.##.#". 
    Once there scroll to the bottom until you see "Files" and select "Windows installer (64-bit)"

    To install selenium type in command prompt:  pip install selenium
    Documentation for installation can be found at https://selenium-python.readthedocs.io/installation.html
    
    tkinter is library that comes "pre-installed" with python standard library distributions. 
    But if not found use: pip install tk

    To install beautifulsoup type in command prompt: pip install beaufitulsoup4

    To install pyautogui type in command prompt: pip install pyautogui

    To install pywinstyles type in command prompt: pip install pywinstyles
   
    To install pyperclip type in command prompt: pip install pyperclip

    To acquire Drivers you can simply download the firefox browser or Google Chrome browser online

    To install customtkinter type in command prompt: pip install customtkinter

    Make sure to create a folder called Images in the same directory as the python file or download from github with 
    all the necessary images to run the bot. Without the images the program will not know where to go and it will 
    cause the application to crash.


METHODS AND DESCRIPTIONS OF USE:

    browse(text_field):    This method is responsible for allowing the application to browse images in the Image-recon tool 
                           browse buttons.  

    extract_date(capture): This method was created to order the search results dates chronologically from A - Z. The reason 
                           being becasue TinyEye had this wierd bug where sometimes the results of the dates would display 
                           randomly jumbled. (Capture) is the webscrapped information taken with beautifulsoup within tiny_collect():

    tiny_collect():        This method is the second step process for the bot automation sequence used specifically for Tinyeye. 
                           The method passes the capture to extract_date to fix the dates order problem.

    file_action():         This method is used to create an evidence folder and file for Image-recon. If the user decides to leave the
                           fields blank then the method will automatically create an evidence folder and file when you click the run
                           scan button. 

    run_analysis():        This method is the first process of starting the bot. The first lines of code check to see if the user placed
                           all the correct info such as folder or file name and image path. If there are no errors then it proceeds with
                           the automation to gather the intel.

    cancel():              This method is self-explanatory, it is used to destroy the application just in case anything goes wrong during
                           the process like a kill-safe if the bot goes haywire. 
                           




 