Argus Panoptes is an OSINT (Open Source Intelligence) tool designed to identify the digital footprint of a specific username across various websites.
The tool can optionally use Google Gemini to filter false positives and improve the accuracy of the results.
Table of Contents
Features
- Multi-threaded Scanning: In testing, single username scans across 170+ sites completed in under 5 seconds.
- Note: Enabling AI-powered scanning will limit the thread count to 5 to prevent rate-limiting, which will result in a significant slowdown.
- AI-Assisted False Positive Detection: Uses Google Gemini for more accurate identification of user profiles.
- Highly Customizable: Tailor the site list, user agents, soft 404 detection, and even the ASCII art to your preferences.
- Flexible Output Formats: Export scan results in various formats, including PDF, HTML, JSON, and TXT.
Installation
Linux
-
Install Golang:
-
Clone the Repository:
git clone https://github.com/KillAllChickens/argus
cd argus
-
Install Argus:
./scripts/install-linux.sh
-
Get Started:
Now you're ready to start using Argus! Check out the Usage section below.
Windows
-
Install Go:
- Download and install the latest version of Go for Windows from the official Go website.
- The installation wizard will handle the setup, including adding Go to your system's PATH.
-
Install Git:
- Download and install Git for Windows. This provides Git Bash, the recommended command line for the following steps.
-
Clone the Repository:
-
Run the Installer:
.\scripts\install-windows.bat
-
Get Started:
You're all set! See the Usage section to learn how to run your first scan.
Usage
Configuration
To enable the AI-powered false positive detection, you'll need to add your Google Gemini API key.
To configure your API key, simply run:
argus config
# or for short:
argus c
Scanning
-
Scan for a single user:
argus scan <username>
-
Scan for multiple users:
argus scan <user1> <user2> <user3>
-
Scan usernames from a file:
Use a .txt file with one username per line. For more details, see the Usernames section.
argus scan -u <filename.txt>
-
Output to different file types:
# Output to HTML (default: results/<username>_results.html)
argus scan <username> --html
# Output to PDF (default: results/<username>_results.pdf)
argus scan <username> --pdf
# Output to JSON (default: results/<username>_results.json)
argus scan <username> --json
# Output to Text (default: results/<username>_results.txt)
argus scan <username> --txt
# Output to all supported formats you can use --all
argus scan <username> --all
-
Proxy and Tor Support:
You can use proxies or Tor for enhanced anonymity! Simply specify a proxy with the --proxy flag, or Tor with --tor.
# Use a standard HTTP/SOCKS5 proxy (e.g., http://proxyserver:8888 or socks5://user:pass@proxyserver:port)
argus scan <username> --proxy "http://1.2.3.4:5678"
# Route all traffic through the Tor network (requires Tor to be installed and running locally on the default port, 9050)
argus scan <username> --tor
# Or use a list of proxies
argus scan <username> --proxy-list "proxies.txt"
-
Perform a deep scan:
Perform a deep scan to gather more information from found profiles, including descriptions, real names, follow/following counts, and more.
- Note: Current only supports a handful of sites, more WILL be added with newer releases.
argus scan <username> --deep
# Or for short
argus scan <username> -d
-
Additional Options:
For a full list of commands and options, use the help flag:
argus scan --help
NAME:
scan - Scan username(s).
USAGE:
scan [arguments...]
OPTIONS:
--threads int, -t int Amount of concurrent requests (default: 25)
--ai Use AI to eliminate false positives. (Increases scan time) (default: false)
--username-list string, -u string Get usernames to scan, one per line
--output string, -o string The directory to output to, defaults to ./results/. if you don't specify a specific type, it will output all types
--proxy string, -p string Proxy to use for scanning (e.g., http://proxyserver:8888 or socks5://user:pass@proxyserver:port)
--proxy-list string, --pl string List of proxied to use, one per line.
--tor Use Tor for scanning (default: false)
--silent, -s Disable "Scan Complete" notifications. (default: false)
--deep, -d Run a Deep Scan, will try to collect more information (default: false)
--html Output as HTML (default: false)
--pdf Output as PDF (default: false)
--json Output as JSON (default: false)
--text, --txt Output as Text (default: false)
--all Output as all supported types (default: false)
Usernames
Command-Line Usernames
You can specify usernames directly in the command line after the scan command.
Use {?} as a wildcard to scan for variations of a username. It will be replaced with -, _, and nothing.
Example:
# This will scan for "username", "user-name", and "user_name"
argus scan "user{?}name"
Username Files
For bulk scanning, you can provide a text file with one username per line.
- Lines starting with
# are treated as comments and will be ignored.
- Blank lines are also ignored.
Example users.txt:
# This line will be ignored
user1
user2 # This will also be ignored
user3
Planned Features
- Simple Site List Management: Easier customization of the sites Argus scans, including commands to add, remove, and update site configurations directly.
Finished
Proxy List Support: Ability to load a list of proxies and rotate through them automatically for enhanced anonymity and resilience against rate limits.
Deep Scan Mode: A mode to extract public information from found profiles (e.g., linked social media, "about me" sections, public post counts).