Skip to main content

Future Roadmap

odirscan is designed to evolve from a single-process tool into a distributed scanning system. The current architecture intentionally uses patterns that map cleanly onto distributed primitives.

Design Principles

  • Build on existing technologies -- Use established tools for networking and clustering rather than building custom solutions. gRPC for inter-service communication, Consul for service discovery and health checking.
  • Message-based communication -- The current actor-like message types (ScanRequestMessage, ScanResultMessage, ScanFindingMessage) are designed to translate directly into gRPC service definitions.

Planned Architecture

gRPC Services

The scanning, tagging, and result serving functions will be exposed as gRPC services, allowing workers to run on separate machines.

Consul Integration

Service discovery via Consul will enable:

  • Automatic registration of scanner workers
  • Health checking for worker availability
  • Configuration distribution via Consul KV

Distributed Worker Coordination

Multiple scanner workers will coordinate through a central orchestrator, pulling work from a shared queue. The existing ScanRequestMessage / ScanResultMessage pattern maps to request/response RPCs.

Multi-Node Scanning

The proxy rotation system already supports distributing requests across multiple Mullvad relays. In the distributed architecture, each worker node can maintain its own proxy pool, providing natural load distribution.