social-analyzer README

The project's README from github.com/qeeqbox/social-analyzer. As one markdown file: README.md.

Social Analyzer - API, CLI, and Web App for analyzing & finding a person's profile across +1000 social media \ websites. It includes different analysis and detection modules, and you can choose which modules to use during the investigation process.

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 module is intended to have fewer false positives.

The analysis and public extracted information from this OSINT tool could help investigate profiles related to suspicious or malicious activities such as cyberbullying, cyber grooming, cyberstalking, and spreading misinformation.

This project is currently used by some law enforcement agencies in countries where resources are limited - The detection database is different than the one shared here..

So·cial Me·di·a

Websites and applications that enable users to create and share content or to participate in social networking - Oxford Dictionary

Structure

APP (Preferred!)

Standard localhost WEB APP url: http://0.0.0.0:9005/app.html

CLI

Features

Special Detections

Install & Run

Linux (As Node WebApp)

sudo apt-get update
#Depedning on your Linux distro, you may or may not need these 2 lines
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y software-properties-common
sudo add-apt-repository ppa:mozillateam/ppa -y
sudo apt-get install -y firefox-esr tesseract-ocr git nodejs npm
git clone https://github.com/qeeqbox/social-analyzer.git
cd social-analyzer
npm update
npm install
npm start

Linux (As Node CLI)

sudo apt-get update
#Depedning on your Linux distro, you may or may not need these 2 lines
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y software-properties-common
sudo add-apt-repository ppa:mozillateam/ppa -y
sudo apt-get install -y firefox-esr tesseract-ocr git nodejs npm
git clone https://github.com/qeeqbox/social-analyzer.git
cd social-analyzer
npm install
nodejs app.js --username "johndoe"
#or
nodejs app.js --username "johndoe,janedoe" --metadata
#or
nodejs app.js --username "johndoe,janedoe" --metadata --top 100
#or
nodejs app.js --username "johndoe" --type "adult"

Linux (As python package)

sudo apt-get update
sudo apt-get install python3 python3-pip
pip3 install social-analyzer
python3 -m social-analyzer --username "johndoe"
#or
python3 -m social-analyzer --username "johndoe" --metadata
#or
python3 -m social-analyzer --username "johndoe" --metadata --top 100
#or
python3 -m social-analyzer --username "johndoe" --type "adult"
#or
python3 -m social-analyzer --username "johndoe" --websites "car" --logs --screenshots

Linux (As python script)

sudo apt-get update
sudo apt-get install git python3 python3-pip
git clone https://github.com/qeeqbox/social-analyzer
cd social-analyzer
pip3 install -r requirements.txt
python3 app.py --username "janedoe"
#or
python3 app.py --username "johndoe" --metadata
#or
python3 app.py --username "johndoe" --metadata --top 100
#or
python3 app.py --username "johndoe" --type "adult"
#or
python3 app.py --username "johndoe" --websites "car" --logs --screenshots

Importing as object (python)


#E.g. #1
from importlib import import_module
SocialAnalyzer = import_module("social-analyzer").SocialAnalyzer()
results = SocialAnalyzer.run_as_object(username="johndoe",silent=True)
print(results)

#E.g. #2
from importlib import import_module
SocialAnalyzer = import_module("social-analyzer").SocialAnalyzer()
results = SocialAnalyzer.run_as_object(username="johndoe,janedoe",silent=True,output="json",filter="good",metadata=False,timeout=10, profiles="detected")
print(results)

Linux, Windows, MacOS, Raspberry pi..

social-analyzer --h

Required Arguments:
  --username   E.g. johndoe, john_doe or johndoe9999

Optional Arguments:
  --websites    A website or websites separated by space E.g. youtube, tiktokor tumblr
  --mode        Analysis mode E.g.fast -> FindUserProfilesFast, slow -> FindUserProfilesSlow or special -> FindUserProfilesSpecial
  --output      Show the output in the following format: json -> json outputfor integration or pretty -> prettify the output
  --options     Show the following when a profile is found: link, rate, titleor text
  --method      find -> show detected profiles, get -> show all profiles regardless detected or not, all -> combine find & get
  --filter      Filter detected profiles by good, maybe or bad, you can do combine them with comma (good,bad) or use all
  --profiles    Filter profiles by detected, unknown or failed, you can do combine them with comma (detected,failed) or use all
  --countries   select websites by country or countries separated by space as: us br ru
  --type        Select websites by type (Adult, Music etc)
  --top         select top websites as 10, 50 etc...[--websites is not needed]
  --extract     Extract profiles, urls & patterns if possible
  --metadata    Extract metadata if possible (pypi QeeqBox OSINT)
  --trim        Trim long strings
  --gui         Reserved for a gui (Not implemented)
  --cli         Reserved for a cli (Not needed)

Listing websites & detections:
  --list        List all available websites

Setting:
  --headers     Headers as dict
  --logs_dir    Change logs directory
  --timeout     Change timeout between each request
  --silent      Disable output to screen

Open Shell

Open in Cloud Shell Open in repl.it Shell

Resources

Disclaimer\Notes

Other Projects

social-analyzer (qeeqbox/social-analyzer)

screenshot
Searching Database…

What is this?Social-Analyzer is an OSINT tool that searches and correlates a person's profile across roughly 1000 social media sites and websites, available as a CLI, an API, and a web app.
Is this a CLI tool, an API, or a web app?It is all three: a Node.js web app with a GUI, a Node or Python CLI, and it can also be imported as a Python object or used via its API.
How do I get it running?Run it as a Node.js web app (`node app.js --gui`), use the Node or Python CLI, install it as a Python package/script, or spin up the faster 'Grid' mode with Docker Compose.
Do I need Node, Python, or Chrome installed?You need Node.js (>=20.18.1) and/or Python depending on which CLI you use, plus the latest Chrome browser and a webdriver (geckodriver) if you want profile screenshots.
Any big limitations I should know about?Profile/person age detection is explicitly called out as limited analysis, and some special detections (modules ending in -private) require contacting the author directly instead of filing a GitHub issue.
Which operating systems does it support?It officially supports Linux, Windows, macOS, and Raspberry Pi, with multiple install methods documented in the project wiki.
Is it safe to expose this as a public service?No - the author explicitly warns it has no access control and is meant to be run locally, not hosted as an online service.
Do I need a Google API key for this to work?No, Google/DuckDuckGo search lookups and custom search queries are optional extras for wider discovery; the core profile-finding features work without any API keys.
Can I search for a person using several usernames at once?Yes, you can pass multiple comma-separated usernames or names and the tool will use multi-profile search to correlate results across them.
What does the metadata graph and OCR add?It visualizes extracted metadata and patterns (ported from the QeeqBox OSINT project) as a force-directed graph, and runs OCR plus normal/advanced detection layers to confirm profile matches.
Creator
qeeqbox
Size
61.3 MB
Stars
24.3K
Updated
CommitJan 12
Age
5y
Commits · 90 Days