# [![Generic badge](https://img.shields.io/badge/dynamic/json.svg?url=https://raw.githubusercontent.com/qeeqbox/social-analyzer/main/info&label=version&query=$.version&colorB=blue&style=flat-square)](https://github.com/qeeqbox/social-analyzer/blob/main/info) [![Generic badge](https://img.shields.io/badge/dynamic/json.svg?url=https://raw.githubusercontent.com/qeeqbox/social-analyzer/main/info&label=verified%20sites&query=$.websites&colorB=blue&style=flat-square)](https://github.com/qeeqbox/social-analyzer/blob/main/info) [![Generic badge](https://img.shields.io/badge/dynamic/json.svg?url=https://raw.githubusercontent.com/qeeqbox/social-analyzer/main/info&label=verified%20detections&query=$.detections&colorB=blue&style=flat-square)](https://github.com/qeeqbox/social-analyzer/blob/main/info) [![Generic badge](https://img.shields.io/badge/dynamic/json.svg?url=https://raw.githubusercontent.com/qeeqbox/social-analyzer/main/info&label=special%20detections&query=$.special&colorB=blue&style=flat-square)](https://github.com/qeeqbox/social-analyzer/blob/main/info) [![Generic badge](https://img.shields.io/badge/dynamic/json.svg?url=https://raw.githubusercontent.com/qeeqbox/social-analyzer/main/info&label=awaiting%20verification&query=$.awaiting_verification&colorB=orange&style=flat-square)](https://github.com/qeeqbox/social-analyzer/blob/main/info) [![Generic badge](https://img.shields.io/badge/dynamic/json.svg?url=https://raw.githubusercontent.com/qeeqbox/social-analyzer/main/info&label=full%20scan%20time&query=$.full_scan&colorB=blue&style=flat-square)](https://github.com/qeeqbox/social-analyzer/blob/main/info) [![Generic badge](https://img.shields.io/badge/dynamic/json.svg?url=https://raw.githubusercontent.com/qeeqbox/social-analyzer/main/info&label=build&query=$.build&colorB=green&style=flat-square)](https://github.com/qeeqbox/social-analyzer/blob/main/info) [![Generic badge](https://img.shields.io/badge/dynamic/json.svg?url=https://raw.githubusercontent.com/qeeqbox/social-analyzer/main/info&label=test&query=$.test&colorB=green&style=flat-square)](https://github.com/qeeqbox/social-analyzer/blob/main/info) [![Generic badge](https://img.shields.io/badge/dynamic/json.svg?url=https://raw.githubusercontent.com/qeeqbox/social-analyzer/main/info&label=grid&query=$.grid_test&colorB=green&style=flat-square)](https://github.com/qeeqbox/social-analyzer/blob/main/info) [![Generic badge](https://img.shields.io/static/v1?label=%F0%9F%91%8D&message=★&color=yellow&style=flat-square)](https://github.com/qeeqbox/social-analyzer/stargazers) API, CLI & Web App for analyzing & finding a person profile across +300 social media websites. It includes different string analysis and detection modules, you can choose which combination of modules to use during the investigation The detection modules utilize a rating mechanism based on different detection techniques, which produces a rate value that starts from 0 to 100 (No-Maybe-Yes) This project *is currently used by some law enforcement agencies in countries where resources are limited*. It could help in investigating profiles related to suspicious or malicious activities such as [cyberbullying](https://en.wikipedia.org/wiki/Wikipedia:Cyberbullying), [cybergrooming](https://de.wikipedia.org/wiki/Cyber-Grooming) & [cyberstalking](https://en.wikipedia.org/wiki/Cyberstalking), [spreading misinformation](https://en.wikipedia.org/wiki/Misinformation) **All Pull Requests are welcomed!** ## Updates - Added dynamic language detections for profiles - Added --websites "all" for python & NodeJS CLI (You can scan ALL the websites within 2~10 seconds) - Added a new refactored version ## Security Testing ```bash ------------------------------------- --------------------------------- | Security Testing | | Social-Analyzer | ------------------------------------- --------------------------------- | Passive Information Gathering | <--> | Find Social Media Profiles | | | | | | Active Information Gathering | <--> | Post Analysis Activities | ------------------------------------- --------------------------------- ``` ## Find Profile WEB APP (Fast) ## Find Profile WEB APP (Slow) Profile images **will not** be blurred. If you want them to be blurred, turn that option on ## (New) Find Profile CLI (Fast) ## Features - String & name analysis - Find profile using multiple techniques (HTTPS library & Webdriver) - Multi layers detections (OCR, normal, advanced & special) - Search engine lookup (Google API - optional) - Custom search queries (Google API & DuckDuckGo API - optional) - Profile screenshot, title, info and website description - Find name origins, name similarity & common words by language - Custom user-agent, proxy, timeout & implicit wait - Python CLI & NodeJS CLI (limited to FindUserProfilesFast option) - Grid option for faster checking (limited to docker-compose) - Dump logs to folder or terminal (prettified) - [Wiki](https://github.com/qeeqbox/social-analyzer/wiki) ## Special Detections - Facebook (Phone number, name or profile name) - Gmail (example@gmail.com) - Google (example@example.com) ## Install and run as web app (NodeJS + NPM + Firefox) ```bash sudo add-apt-repository ppa:mozillateam/ppa sudo apt-get update sudo apt-get install -y firefox-esr tesseract-ocr git git clone https://github.com/qeeqbox/social-analyzer.git cd social-analyzer rm -rf package-lock.json node_modules npm install lodash npm install npm start ``` ## Install and run as CLI (NodeJS + NPM + Firefox) ```bash sudo add-apt-repository ppa:mozillateam/ppa sudo apt-get update sudo apt-get install -y firefox-esr tesseract-ocr git git clone https://github.com/qeeqbox/social-analyzer.git cd social-analyzer rm -rf package-lock.json node_modules npm install lodash npm install # If you want to list all websites use node app.js --cli --list # Remember the following runs as FindUserProfilesFast node app.js --cli --mode "fast" --username "johndoe" --websites "youtube pinterest tumblr" --output "pretty" ``` ## Install and run as CLI (Python3 + NPM + Firefox) ```bash sudo add-apt-repository ppa:mozillateam/ppa sudo apt-get update sudo apt-get install -y firefox-esr tesseract-ocr git git clone https://github.com/qeeqbox/social-analyzer.git cd social-analyzer pip3 install lxml BeautifulSoup4 tld pygments # If you want to list all websites use python3 app.py --cli --list # Remember the following runs as FindUserProfilesFast python3 app.py --cli --mode "fast" --username "johndoe" --websites "youtube pinterest tumblr" --output "pretty" ``` ## Install and run as web app with a grid (docker-compose) ```bash git clone https://github.com/qeeqbox/social-analyzer.git cd social-analyzer docker-compose -f docker-compose.yml up --build ``` ## Install and run as web app (docker) ```bash git clone https://github.com/qeeqbox/social-analyzer.git cd social-analyzer docker build -t social-analyzer . && docker run -p 9005:9005 -it social-analyzer ``` ## Running Issues ``` Make sure to update to the latest nodejs and npm ``` ## Closing the app by port number ``` sudo kill -9 $(sudo lsof -t -i:9005) ``` ## Goals - Adding the generic websites detections (These need some reviewing, but I will try to add them in 2021) ## Resources - DuckDuckGo API, Google API, NodeJS, bootstrap, selectize, jQuery, Wikipedia and font-awesome - Let me know if I missed a reference or resource! ## Disclaimer\Notes - This tool meant to be used locally (It does not have any type of Access Control) - If you want your website to be excluded from this project, please reach out ## Contact [![Generic badge](https://img.shields.io/badge/slack-@qeeqbox-yellow.svg?logo=slack&style=flat-square)](https://qeeqbox.slack.com/messages/social-analyzer)