Metadata-Version: 2.4
Name: sm0g-core
Version: 0.1.4
Summary: HTTP, crawling, and recon transport for the SM0G security tools
Author: SM0G-SEC
License-Expression: AGPL-3.0-or-later
License-File: LICENSE
Keywords: crawler,http,pentest,scanner,security
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Information Technology
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Security
Requires-Python: >=3.11
Requires-Dist: httpx>=0.27
Requires-Dist: requests>=2.31
Requires-Dist: urllib3>=2.0
Provides-Extra: all
Requires-Dist: impacket>=0.11.0; extra == 'all'
Requires-Dist: paramiko>=3.0; extra == 'all'
Requires-Dist: pyyaml>=6.0; extra == 'all'
Requires-Dist: requests-ntlm>=1.2; extra == 'all'
Requires-Dist: selenium>=4.0; extra == 'all'
Requires-Dist: websocket-client>=1.0; extra == 'all'
Provides-Extra: browser
Requires-Dist: selenium>=4.0; extra == 'browser'
Provides-Extra: dev
Requires-Dist: mypy>=1.0; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.23; extra == 'dev'
Requires-Dist: pytest-cov>=5.0; extra == 'dev'
Requires-Dist: pytest>=8.0; extra == 'dev'
Requires-Dist: requests-mock>=1.11; extra == 'dev'
Requires-Dist: ruff>=0.4; extra == 'dev'
Requires-Dist: types-requests; extra == 'dev'
Provides-Extra: ntlm
Requires-Dist: requests-ntlm>=1.2; extra == 'ntlm'
Provides-Extra: openapi
Requires-Dist: pyyaml>=6.0; extra == 'openapi'
Provides-Extra: smb
Requires-Dist: impacket>=0.11.0; extra == 'smb'
Provides-Extra: ssh
Requires-Dist: paramiko>=3.0; extra == 'ssh'
Provides-Extra: ws
Requires-Dist: websocket-client>=1.0; extra == 'ws'
Description-Content-Type: text/markdown

# sm0g-core

HTTP, crawling, and reconnaissance transport for the **SM0G** security-testing
tools — synchronous/asynchronous HTTP clients, form/auth session handling, a
site crawler, and recon helpers.

> For authorized security testing only.

## Install

```bash
pip install sm0g-core

# optional features (each backs a try-guarded import):
pip install sm0g-core[browser]   # selenium headless crawling
pip install sm0g-core[ssh]       # paramiko SSH
pip install sm0g-core[smb]       # impacket SMB
pip install sm0g-core[ws]        # websocket-client
pip install sm0g-core[openapi]   # pyyaml OpenAPI/Swagger parsing
pip install sm0g-core[ntlm]      # requests-ntlm
pip install sm0g-core[all]       # all of the above
```

## Highlights

- `net.agent.NetAgent` — sync HTTP client: UA rotation, retry, 429 back-off,
  `probe_*` payload-placement helpers
- `net.async_agent.AsyncNetAgent` — httpx-based async client
- `net.spider` / `graph.WebGraph` — link crawling and site mapping
- `net.session` — form / bearer / basic / NTLM login + CSRF extraction
- `web.requester.Requester` — lightweight request wrapper with counters

## License

AGPL-3.0-or-later
