mcsmartscan.utils
Pure functions that normalise inputs and feed work into the scanner.
ip_range_generator
expands IPv4 ranges and CIDR blocks safely.
permuted_index_generator
provides deterministic, collision-free shuffling.
- Helpers like
ip_range_size
support progress calculations.
mcsmartscan.proxy
Home of ProxyPool
plus custom exceptions for proxy health.
- Tracks success, failure, and cooldown windows per endpoint.
- Raises
ProxyAcquireTimeout
or ProxyTargetError
when providers misbehave.
- Integrates with Mullvad or custom VPN managers via callbacks.
mcsmartscan.vpn
Optional layer that automates Mullvad exit rotation.
- Validates the Mullvad CLI/API is available before scheduling rotations.
- Coordinates timing so proxy health checks and VPN swaps do not collide.
- Safe to ignore—if not configured, the scanner defaults to static egress.
mcsmartscan.storage
StorageManager
centralises persistence logic and path handling.
- Auto-detects the Desktop path across Windows, macOS, and Linux.
- Writes plain-text leads plus structured JSON for GUI state restoration.
- Ensures directories exist before writing, reducing runtime surprises.
app.py
The orchestration hub that wires it all together.
- Initialises GUI widgets, binds event handlers, and schedules periodic tasks.
- Bootstraps console execution when
--nogui
is set or Tkinter is unavailable.
- Exposes extension hooks such as
run_console_scan(app)
so advanced users can plug in custom loops.