mirror of
https://github.com/mrvasil/ctf-ad-mirror-tool-rust.git
synced 2026-10-23 14:31:02 +00:00
2.2 KiB
2.2 KiB
Rust rewrite plan
Acceptance
One native executable with an async TCP engine and embedded web UI. No Python/runtime frontend build required for operation. Typed TOML configuration, atomic durable operator state, authenticated same-origin controls, reusable scoreboard connection, bounded networking resources, graceful shutdown, explicit replica delivery policies. Local functional/integration checks and Linux tests pass; benchmark results are measured and reproducible.
Phases
- [complete] Capture legacy behavior and verify ForcAD wire format; establish module contracts.
- [complete] Implement configuration, async forwarding and lifecycle/metrics (11 engine tests passed).
- [in progress] Implement scoreboard clients, health monitoring and deterministic failover; wire-level fixtures pending.
- [in progress] Implement HTTP API, authentication, persistence and embedded UI (UI implementer active).
- [pending] Integration and failure tests; Linux/amd64 verification and throughput/latency benchmark.
- [pending] Independent review, fixes, deployment docs and evidence-backed handoff.
Global constraints
- User means upstream routing, not host firewall interception.
- Never drop chunks from a live replica silently. Strict mode uses bounded backpressure; isolation mode disconnects a lagging replica explicitly and counts/reports it. Availability and lossless mirroring cannot both be guaranteed for an indefinitely slower/unavailable replica.
- Existing sessions keep their selected target. Do not replay partially sent requests on another primary.
- Preserve TCP half-close; no inherited 3-second idle timeout.
- All fixtures use loopback/test addresses, not old configured hosts.
- Do not store passwords, keys, tokens, session values or flags in source or logs.
- No mandatory external UI CDNs. Single embedded frontend, accessible keyboard controls.
Errors/research corrections
- Initial CTF skill path under
.agentswas wrong; correct installed path is.codex/skills/ctf-attack-defense. - Guessed C4T-BuT-S4D ForcAD repository does not exist; discover canonical upstream before implementing its protocol.
- Integrated build briefly blocked by not-yet-created UI assets while UI implementer was working; not a Rust source failure.