Skip to main content

Asynchronous username hunter with historical diff tracking across social platforms.

Project description

Argis 👁️

Argis logo

The all-seeing username scanner.

Argis hunts down a username across dozens of platforms concurrently, tells you where it's registered, and — unlike most tools in this space — tracks how that footprint changes over time.

Named after Argus, the hundred-eyed giant of Greek myth: one scan, every platform, watched at once.

Features

  • Async everything. Built on httpx + asyncio; scans 80+ sites in parallel instead of one at a time.
  • Diff engine. --diff compares the current scan against your last saved run and shows exactly what got registered or deleted.
  • False-positive resistant. Detection rules per site (status code, page-text match, or redirect-URL match) instead of blindly trusting a 200 OK.
  • Pretty terminal UI. Live progress bar and color-coded results via rich.
  • Exportable. --export csv|json|markdown for piping into other tools.
  • Proxy / Tor support. Route scans through a proxy or local Tor.
  • Attack-surface recon. argis recon maps open ports on a host, fingerprints web services (status, Server header, page title), and reads unprompted service banners (SSH/FTP/SMTP/etc.) — information gathering only, no exploitation.
  • Host discovery. argis discover <cidr> sweeps a subnet (capped at 256 hosts) to find which hosts respond, via TCP probes rather than raw ICMP.

Install

pip install argis

Requires Python 3.10+.

For development (editable install from source):

git clone https://github.com/Mohilisop/argis.git
cd argis
pip install -e .

Usage

# Basic scan
argis scan john_doe

# Scan and compare against the last saved run
argis scan john_doe --diff

# Don't save this run to history
argis scan john_doe --no-save

# Export results
argis scan john_doe --export markdown -o john_doe_report.md

# Route through Tor
argis scan john_doe --tor

# View past scans
argis history john_doe

# Wipe saved history
argis clear-history john_doe

# Recon a host: scan common ports + fingerprint web services
argis recon example.com

# Recon with a custom port list, no web fingerprinting
argis recon 10.0.0.5 --ports 22,80,443,3306 --no-web

# Export recon results
argis recon example.com --export json -o example_recon.json

# Recon without service banners
argis recon example.com --no-banners

# Discover live hosts on a local subnet (max 256 hosts)
argis discover 192.168.1.0/24

# Discover with custom probe ports
argis discover 10.0.0.0/28 --ports 22,80,443,3389

How detection works

Each entry in src/argis/sites.json defines a URL template plus a rule for recognizing a "not found" response:

error_type Meaning
status_code Account doesn't exist if the response status matches error_criteria
message Account doesn't exist if error_criteria text appears in the HTML
response_url Account doesn't exist if the final (post-redirect) URL matches

Add your own targets by editing sites.json — no code changes required.

History storage

Scan history is stored per-username as JSON at ~/.argis/history/<username>.json. Each file holds a bounded list of past snapshots (newest last), which is what --diff and argis history read from.

Project layout

argis/
├── pyproject.toml
├── src/argis/
│   ├── cli.py          # typer commands
│   ├── core.py          # async scanning engine
│   ├── diff.py           # history storage + diff computation
│   ├── recon.py          # async port scan + web fingerprinting
│   ├── exceptions.py
│   ├── sites.json        # target platforms + detection rules
│   └── utils/
│       ├── display.py    # rich UI
│       ├── network.py    # httpx client, UA rotation, proxy/Tor
│       └── export.py      # csv/json/markdown export
└── tests/

Disclaimer

Use responsibly. Only look up usernames or scan hosts you have a legitimate reason to investigate — for recon, that means explicit authorization to scan the target. Respect the terms of service of the sites you query. Argis performs reconnaissance only: it reports what it finds (open ports, HTTP responses) and does not attempt to identify or exploit vulnerabilities.

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.3.0.tar.gz (78.5 kB view details)

Uploaded Source

Built Distribution

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

argis-0.3.0-py3-none-any.whl (23.8 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for argis-0.3.0.tar.gz
Algorithm Hash digest
SHA256 c952414e3d53698a8ce37bf0aeed2f5ee3874cbce0e55da88479741f17471014
MD5 c69450c29d65d29bb22ee1209de435e4
BLAKE2b-256 4838724a44e1dd23de0e7f47a3d776c1fda18a9f86494e949727fbaa7de77703

See more details on using hashes here.

File details

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

File metadata

  • Download URL: argis-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 23.8 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.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c84d19b28c73068e8795e69d30ebb9070d02a557827adf8368f2b384b740ab4f
MD5 fb0973f3610064c2b2a8ca3159aec67b
BLAKE2b-256 04e9097cf69a3b9dbdcca69df38066447009805f43e67b27458a3681e6d7edc3

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