Asynchronous username hunter with historical diff tracking across social platforms.
Project description
Argis
The all-seeing OSINT scanner
Username reconnaissance · port scanning · service detection · OS fingerprinting · geolocation · change tracking
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,gamingto narrow the search - Exclude platforms —
--exclude twitter,facebookto skip specific sites - Email extraction —
--emailsscrapes email addresses from profile pages - Retry with backoff — automatically retries on 429/503/connection errors
- HTTP/2 support —
--http2for multiplexed connections - Diff tracking —
--diffcompares 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-streamfor real-time output - Webhook notifications — Slack / Discord
- Desktop notifications —
--notify - Config file —
~/.argis/config.jsonwith--save-config
Analysis
- Compare users —
compare alice bobshows shared/unique platforms - Wayback Machine —
wayback userchecks historical profile snapshots - Search history —
search twitteracross all past scans - Stats — aggregate statistics across all users
- Monitor —
monitor userwatches for changes over time
History
- Per-user history — stored in
~/.argis/history/<user>.json - Diff engine — highlights newly registered or deleted profiles
- Clear history —
clear-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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fb3ec71a3361627b2e4deac459a42c3b1264437099b4c3876f0db4230d5cfb4e
|
|
| MD5 |
ce876035091b319b708159cfed595b28
|
|
| BLAKE2b-256 |
86ae524be5be64c2b1a329d5e3cf3a070e76fc0f3d25fd64904febbad55163e4
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bc135ac21e2793aa43afe7893218df243b101826a667dd4d1016c9222c4c84a1
|
|
| MD5 |
2d91b20a12a537fbc6d9a179ac94060d
|
|
| BLAKE2b-256 |
667da1fe4ba90d06ecf74a255d9f6a6eaccbd4e187803148be65e9eac6c0756a
|