Skip to main content

Asynchronous username hunter with historical diff tracking across social platforms.

Project description

Argis

Argis logo

The all-seeing OSINT scanner
Username reconnaissance · port scanning · service detection · OS fingerprinting · geolocation · change tracking

Python 3.10+ CI License

Named after Argus Panoptes, the hundred-eyed giant of Greek myth — every platform, every port, watched at once.


Features

Username scanning

  • 133+ platforms — social media, coding, gaming, forums, and more
  • Async — checks all platforms concurrently via httpx + asyncio
  • Smart detection — per-site rules (status code, text match, redirect URL)
  • Category filter--category social,gaming to narrow the search
  • Exclude platforms--exclude twitter,facebook to skip specific sites
  • Email extraction--emails scrapes email addresses from profile pages
  • Retry with backoff — automatically retries on 429/503/connection errors
  • HTTP/2 support--http2 for multiplexed connections
  • Diff tracking--diff compares against the last scan to show changes

Reconnaissance (nmap-style)

Flag Purpose
-pt 22,80,443 Port scan specific ports
-pt - Scan all 65535 ports
-sv Service version detection
-os OS detection (TTL + banner analysis)
-ag Ping sweep / host discovery
-df Default scripts (web + banners + DNS + WHOIS + geo)
-ud UDP scan
-tr Traceroute
-ax Aggressive mode (all of the above)
-tm0 to -tm5 Timing templates (Paranoid → Insane)
-gl IP geolocation
-sc web,banners Run specific modules

Output

  • Multiple formats — JSON, CSV, Markdown, HTML (or all at once: --export json,html)
  • XML & grepable-ox scan.xml -og scan.grepable
  • JSON streaming--json-stream for real-time output
  • Webhook notifications — Slack / Discord
  • Desktop notifications--notify
  • Config file~/.argis/config.json with --save-config

Analysis

  • Compare userscompare alice bob shows shared/unique platforms
  • Wayback Machinewayback user checks historical profile snapshots
  • Search historysearch twitter across all past scans
  • Stats — aggregate statistics across all users
  • Monitormonitor user watches for changes over time

History

  • Per-user history — stored in ~/.argis/history/<user>.json
  • Diff engine — highlights newly registered or deleted profiles
  • Clear historyclear-history <user> to wipe data

Install

pip install argis

Requires Python 3.10+.

From source

git clone https://github.com/Mohilisop/argis.git
cd argis
pip install -e ".[dev]"

Linux system deps (optional)

Feature Ubuntu/Debian/Kali Arch
Desktop notifications sudo apt install libnotify-bin sudo pacman -S libnotify
Tor proxy sudo apt install tor sudo pacman -S tor

Usage

Username scanning

# Basic scan
argis scan johndoe

# Filter by category
argis scan johndoe --category social,coding

# Skip platforms
argis scan johndoe --exclude twitter,facebook

# Only show FOUND results
argis scan johndoe --status FOUND

# Export multiple formats
argis scan johndoe --export json,html

# Show error details
argis scan johndoe --verbose

# Preview platforms that would be scanned
argis scan johndoe --list

# Extract emails
argis scan johndoe --emails

# Compare against last scan
argis scan johndoe --diff

# Batch scan from file
argis scan --file users.txt --export csv

# Route through Tor
argis scan johndoe --tor

Reconnaissance

# Quick port scan (default ports)
argis recon example.com

# Scan specific ports with service version
argis recon -pt 22,80,443 -sv example.com

# Aggressive scan (all features)
argis recon -ax -gl github.com

# Ping sweep (host discovery)
argis recon -ag 192.168.1.0/24

# Full port scan with fast timing
argis recon -pt - -tm4 10.0.0.1

# OS detection + traceroute
argis recon -tr -os example.com

# Output to XML and text
argis recon -ox scan.xml -on scan.txt example.com

# Run only specific modules
argis recon -sc dns,whois example.com

Other commands

# Domain info (DNS + WHOIS + port scan + geo)
argis domain example.com

# Geolocate your public IP
argis myip

# Discover live hosts on a subnet
argis discover 192.168.1.0/24

# Compare two usernames
argis compare alice bob

# Historical profile snapshots
argis wayback johndoe

# Search scan history
argis search github

# View aggregate stats
argis stats

# Monitor for changes
argis monitor johndoe --interval 3600

Project layout

argis/
├── pyproject.toml
├── README.md
├── CONTRIBUTING.md
├── .github/
│   ├── workflows/ci.yml
│   └── ISSUE_TEMPLATE/site_rule.md
├── assets/logo.png
├── src/argis/
│   ├── cli.py            # 13 typer commands
│   ├── core.py            # async username scanning engine
│   ├── diff.py             # history storage + diff computation
│   ├── recon.py            # port scan, OS detection, traceroute
│   ├── sites.json          # 133 platforms + detection rules
│   ├── exceptions.py
│   └── utils/
│       ├── display.py      # Rich terminal UI
│       ├── network.py      # HTTP client, DNS, WHOIS
│       ├── export.py       # JSON/CSV/MD/HTML/XML exporters
│       ├── config.py       # config file management
│       ├── geoip.py        # ipgeolocation.io API client
│       ├── notify.py       # desktop notifications
│       └── wayback.py      # Wayback Machine CDX API
└── tests/
    ├── test_core.py
    ├── test_core_advanced.py
    ├── test_recon.py
    ├── test_diff.py
    ├── test_diff_advanced.py
    ├── test_export.py
    ├── test_geoip.py
    └── test_network.py

Tests

pytest -v    # 103 tests, all passing

Adding platforms

Edit src/argis/sites.json — each entry needs a url template and an error_type:

error_type Meaning
status_code Account missing if HTTP status matches error_criteria
message Account missing if error_criteria text appears in page
response_url Account missing if final URL matches

No code changes needed — just add the entry and it's picked up automatically.


Disclaimer

Use responsibly. Only scan usernames or hosts you have authorization to investigate. Respect platform terms of service. Argis performs reconnaissance only — it reads HTTP responses, scans ports, and checks DNS. No exploitation.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

argis-0.4.1.tar.gz (5.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

argis-0.4.1-py3-none-any.whl (47.1 kB view details)

Uploaded Python 3

File details

Details for the file argis-0.4.1.tar.gz.

File metadata

  • Download URL: argis-0.4.1.tar.gz
  • Upload date:
  • Size: 5.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for argis-0.4.1.tar.gz
Algorithm Hash digest
SHA256 fb3ec71a3361627b2e4deac459a42c3b1264437099b4c3876f0db4230d5cfb4e
MD5 ce876035091b319b708159cfed595b28
BLAKE2b-256 86ae524be5be64c2b1a329d5e3cf3a070e76fc0f3d25fd64904febbad55163e4

See more details on using hashes here.

File details

Details for the file argis-0.4.1-py3-none-any.whl.

File metadata

  • Download URL: argis-0.4.1-py3-none-any.whl
  • Upload date:
  • Size: 47.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for argis-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 bc135ac21e2793aa43afe7893218df243b101826a667dd4d1016c9222c4c84a1
MD5 2d91b20a12a537fbc6d9a179ac94060d
BLAKE2b-256 667da1fe4ba90d06ecf74a255d9f6a6eaccbd4e187803148be65e9eac6c0756a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page