docs: align documentation with nx9-wg implementation

This commit is contained in:
thakares committed 2026-08-16 18:01:15 +05:30
1 parent fa676864be
commit 9678422187
5 files changed
+23 -16

No files matched your search

+8 -4
View File
@@ -14,7 +14,8 @@
- **Native Linux WireGuard Engine**: Direct interaction with Linux networking and kernel interfaces without shelling out to `wg` or `wg-quick`.
- **nftables Isolation**: Dedicated `table inet nx9_wg` with input, forward, and NAT postrouting masquerade chains.
- **Continuous Reconciliation**: Automated drift detection and idempotent convergence between desired database state and live Linux kernel state.
- **Pure Rust Client Enrollment**: Full-tunnel and split-tunnel `.conf` builder, high-resolution SVG/PNG QR generator, and ASCII terminal QR output.
- **Pure Rust Client Enrollment**: Full-tunnel and split-tunnel `.conf` builder, high-resolution SVG/PNG QR generator, ASCII terminal QR output, and client-aware environment/MTU profiles.
- **Deterministic IP Allocation**: Automatic IPv4/IPv6 peer address allocation with collision and reserved-address protection.
- **Consistent Backups**: Atomic SQLite snapshots (`VACUUM INTO`), manifest hashing with SHA-256, verification, and safety snapshots before restore.
- **Complete CLI & Axum REST API**: Multi-format CLI (`table`, `json`, `yaml`, `csv`) and RESTful API with real-time WebSocket telemetry.
@@ -27,14 +28,14 @@
# Build the workspace
cargo build --release
# Run all 41 unit and integration tests
# Run the complete workspace test suite
cargo test --workspace
```
### 2. Initialize the Administrator
```bash
# Initialize with a generated password:
cargo run -- init --generate-password
cargo run -- init --generate-password --write-password-file /tmp/nx9-wg-admin-password
# Or initialize with a specific password:
cargo run -- init --username admin --password "YourStrongPassword123!"
@@ -42,6 +43,9 @@ cargo run -- init --username admin --password "YourStrongPassword123!"
### 3. Start the Daemon
```bash
cargo run -- serve
# To intentionally expose the management API on all interfaces:
cargo run -- serve --bind 0.0.0.0:8080
```
@@ -51,7 +55,7 @@ cargo run -- serve --bind 0.0.0.0:8080
cargo run -- interface create --name wg0 --port 51820 --address-v4 10.0.0.1/24
# Create peer Alice
cargo run -- peer create --interface-id <INTERFACE_UUID> --name alice --address-v4 10.0.0.2/32
cargo run -- peer create --interface <INTERFACE_NAME_OR_ID> --name alice --address-v4 10.0.0.2/32
# Display terminal QR code for instant mobile scan:
cargo run -- peer qr <PEER_UUID>