feat: project skeleton, CLI surface, generate command, secret redaction, and CI matrix

- Create Rust binary crate with clap CLI (listen, connect, generate, version)
- Implement generate command: CA/server/client certs, auth token, config.json
- Strict secret redaction: Redacted type, PEM/token/config redaction utilities
- Configurable addresses and ports with validation (fails before sockets open)
- GitHub Actions CI matrix: Windows/Linux/macOS with fmt, clippy, test, build,
  release-build, and smoke check jobs
- 39 unit tests covering CLI parsing, redaction, config, and credential generation
- Cross-platform safe paths and clean-room implementation
This commit is contained in:
c4ch3c4d3
2026-06-03 17:49:55 -06:00
commit eb4ef2bc05
8 changed files with 1290 additions and 0 deletions
+25
View File
@@ -0,0 +1,25 @@
[package]
name = "rustunnel"
version = "0.1.0"
edition = "2024"
description = "Cross-platform HTTPS mTLS lab/dev tunneling tool"
license = "MIT"
readme = "README.md"
[dependencies]
clap = { version = "4", features = ["derive"] }
tokio = { version = "1", features = ["full"] }
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
anyhow = "1"
thiserror = "1"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
rcgen = "0.14"
x509-parser = "0.16"
time = { version = "0.3", features = ["formatting"] }
rand = "0.8"
hex = "0.4"
[dev-dependencies]
tempfile = "3"