Rename all crates, CLI commands, constants, type names, doc comments, and documentation from wraith to alknet. Includes wire-protocol changes: ALPN wraith-ssh -> alknet-ssh, reserved destination prefix wraith- -> alknet-, SSH auth username wraith -> alknet.
1.9 KiB
1.9 KiB
id, name, status, depends_on, scope, risk, impact, level
| id | name | status | depends_on | scope | risk | impact | level | |||
|---|---|---|---|---|---|---|---|---|---|---|
| review/server-and-client | Review server and client implementation — full SSH tunnel functionality | completed |
|
broad | low | phase | review |
Description
Review the server and client implementations after the core foundation review. This is a critical checkpoint before the CLI and NAPI layers — the server and client must work correctly as a unit before wrapping them in CLI flags or NAPI bindings.
Verify end-to-end SSH tunnel flow: client connects → SOCKS5 proxy works → port forwards work → reconnection works → server handles channels → proxy modes work → stealth mode works.
Acceptance Criteria
- Server accepts SSH connections over TCP, TLS, iroh (via integration tests)
- Client establishes SSH sessions and runs SOCKS5 proxy
- Channel proxy: direct TCP, SOCKS5 proxy, HTTP CONNECT proxy all work
- Stealth mode: non-SSH gets nginx 404, SSH connects normally
- Rate limiting: connection limits enforced, auth attempt limits enforced
- Logging: structured
tracing::info!events match ADR-013 format - No logging of tunnel destinations (ADR-006)
- Reconnection: transport failure → exponential backoff → reconnect → port forwards re-registered
- Reserved
alknet-destinations routed to control channel, not TCP proxy - Graceful shutdown works for both server and client
- All tests pass:
cargo test --workspace cargo clippy --workspacepasses
References
- docs/architecture/server.md, docs/architecture/client.md
Summary
Server and client review passed with fixes. Key issues found and resolved:
- wired channel proxy into handler (was dropping all non-alknet channels)
- added client reconnection with exponential backoff + remote forward re-registration
- fixed ADR-006 violations (removed server-side destination logging)
- 241 tests pass, clippy clean