v1.0.23 - pip install industrialxpl-forge; global scan opts estilo nmap
Changes
Package name fix
- Correct PyPI package: pip install industrialxpl-forge
- pip install industrialxpl does NOT exist on PyPI
- Reverted pyproject.toml name to industrialxpl-forge
- Fixed 39+ files with wrong pip install references
Global options redesign (Nmap-style, OT-safe defaults)
Removed from globals (protocol-specific, stay in modules):
- PORT — set per module
- UNIT_ID — set per module
New global scan options with conservative OT defaults:
- HOST_TIMEOUT 30s — like nmap --host-timeout (skip hung hosts)
- MAX_RETRIES 2 — like nmap --max-retries (retry cap)
- MIN_RETRIES 0 — minimum attempts
- SCAN_DELAY 300ms — like nmap --scan-delay (inter-probe pause)
- MAX_RATE 10/s — like nmap --max-rate (global rate cap)
- PROBE_LEVEL 2 — like nmap --version-intensity 1-5
- PING_FIRST true — TCP alive check before scan
- SKIP_PING false — like nmap -Pn (scan even if host is down)
- THREADS 5 — safe default (was 10)
All options injected into Modbus modules automatically.
Help available: help host_timeout | help probe_level | help scan_delay