============================================================================ 01 — Binary and Version ============================================================================ >>> Version /mnt/Programs/nx9-wg/target/release/nx9-wg version [FAIL] Version (exit=1) --- stderr --- Failed to create data directory '/var/lib/nx9-wg': Permission denied (os error 13) >>> Version JSON /mnt/Programs/nx9-wg/target/release/nx9-wg --format json version [FAIL] Version JSON (exit=1) --- stderr --- Failed to create data directory '/var/lib/nx9-wg': Permission denied (os error 13) ============================================================================ 02 — Top-Level CLI Surface ============================================================================ >>> Top-level --help /mnt/Programs/nx9-wg/target/release/nx9-wg --help [PASS] Top-level --help A high-performance, native Rust WireGuard management system with zero external runtime dependencies. Usage: nx9-wg [OPTIONS] [COMMAND] Commands: serve Start the nx9-wg REST API and WebSocket daemon init Initialize the administrator account system System status, health, and settings admin Administrator, session, and token management interface WireGuard interface management peer WireGuard peer enrollment and operations network Subnet network management route Kernel routing table management firewall nftables firewall management nat NAT masquerade management forwarding Kernel IP packet forwarding management reconcile Reconciliation between SQLite desired state and live kernel state backup Database backup and restore operations audit Security and operational audit trail live Query live Linux kernel state diagnostics Native Linux and WireGuard diagnostics inspection profile Client environment and MTU profile management version Display version and build information help Print this message or the help of the given subcommand(s) Options: -c, --config Path to configuration file [env: NX9_WG_CONFIG=] -d, --data-dir Path to database data directory [env: NX9_WG_DATA_DIR=] --database Specific SQLite database file path or URL [env: NX9_WG_DATABASE=] --format Output format [default: table] [possible values: table, json, yaml, csv] --json Output strictly in JSON format -q, --quiet Suppress status output -v, --verbose Enable verbose output --log-level Log verbosity level (trace, debug, info, warn, error) [env: NX9_WG_LOG_LEVEL=] -h, --help Print help (see a summary with '-h') -V, --version Print version ============================================================================ 03 — Top-Level Command Help Audit ============================================================================ [PASS] serve --help [PASS] init --help [PASS] system --help [PASS] admin --help [PASS] interface --help [PASS] peer --help [PASS] network --help [PASS] route --help [PASS] firewall --help [PASS] nat --help [PASS] forwarding --help [PASS] reconcile --help [PASS] backup --help [PASS] audit --help [PASS] live --help [PASS] diagnostics --help [PASS] profile --help [PASS] version --help ============================================================================ 04 — Feature/Subcommand Help Audit ============================================================================ [PASS] live interface --help [PASS] live peer --help [PASS] live routes --help [PASS] live firewall --help [PASS] live forwarding --help [PASS] live nat --help [PASS] audit list --help [PASS] audit show --help [PASS] backup create --help [PASS] backup list --help [PASS] backup show --help [PASS] backup verify --help [PASS] backup restore --help [PASS] backup delete --help [PASS] nat status --help [PASS] nat enable --help [PASS] nat disable --help [PASS] nat list --help [PASS] nat sync --help [PASS] peer list --help [PASS] peer show --help [PASS] peer create --help [PASS] peer update --help [PASS] peer enable --help [PASS] peer disable --help [PASS] peer revoke --help [PASS] peer delete --help [PASS] peer status --help [PASS] peer config --help [PASS] peer qr --help [PASS] peer expire --help [PASS] peer lifecycle --help [PASS] reconcile status --help [PASS] reconcile plan --help [PASS] reconcile apply --help [PASS] reconcile verify --help [PASS] system info --help [PASS] system health --help [PASS] system settings --help [PASS] profile list --help [PASS] profile show --help [PASS] profile validate --help [PASS] profile resolve --help [PASS] network list --help [PASS] network show --help [PASS] network create --help [PASS] network update --help [PASS] network delete --help [PASS] network available --help [PASS] network allocations --help [PASS] firewall list --help [PASS] firewall show --help [PASS] firewall add --help [PASS] firewall update --help [PASS] firewall delete --help [PASS] firewall enable --help [PASS] firewall disable --help [PASS] firewall status --help [PASS] firewall sync --help [PASS] forwarding status --help [PASS] forwarding enable --help [PASS] forwarding disable --help [PASS] forwarding sync --help [PASS] interface list --help [PASS] interface show --help [PASS] interface create --help [PASS] interface update --help [PASS] interface enable --help [PASS] interface disable --help [PASS] interface delete --help [PASS] interface status --help [PASS] interface reconcile --help [PASS] route list --help [PASS] route show --help [PASS] route add --help [PASS] route update --help [PASS] route delete --help [PASS] route status --help [PASS] route sync --help [PASS] admin status --help [PASS] admin create --help [PASS] admin password --help [PASS] admin sessions --help [PASS] admin tokens --help ============================================================================ 05 — Administrator Bootstrap ============================================================================ >>> Initialize administrator with generated password /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db init --generate-password --write-password-file /tmp/nx9-wg-cli-test.u7uMLB/admin-password [PASS] Initialize administrator with generated password 2026-08-16T10:46:32.751782Z  INFO nx9_wg_api::auth::bootstrap: Administrator initialized successfully username=admin source=secure random generation Administrator initialized successfully. Username: admin Source: secure random generation Generated Password (SAVE THIS IMMEDIATELY): ======================================== q2YKIjqIogWH=t9ISk@m#Bug ======================================== created_at : 2026-08-16T10:46:32.751497912 id : 1 last_login_at : null last_login_ip : null password_hash : $argon2id$v=19$m=19456,t=2,p=1$hQkBKcRbtIXRHCv6OuOUfA$qqbIvjMslEdA7OCPEYpcRjYtgmejjAan6Fxhday9GLM totp_enabled : false totp_secret : null updated_at : 2026-08-16T10:46:32.751497912 username : admin [PASS] Generated administrator password file exists ============================================================================ 06 — System ============================================================================ >>> System info /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db system info [PASS] System info arch : x86_64 config_file : /etc/nx9-wg/config.toml data_dir : /tmp/nx9-wg-cli-test.u7uMLB/data database_path : /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db log_level : info os : linux reconciliation_interval_secs: 60 session_expiry_hours : 24 version : 0.1.0 >>> System health /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db system health [PASS] System health database : connected status : healthy timestamp : 2026-08-16T10:46:32.762713232+00:00 >>> System info JSON /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db --format json system info [PASS] System info JSON { "arch": "x86_64", "config_file": "/etc/nx9-wg/config.toml", "data_dir": "/tmp/nx9-wg-cli-test.u7uMLB/data", "database_path": "/tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db", "log_level": "info", "os": "linux", "reconciliation_interval_secs": 60, "session_expiry_hours": 24, "version": "0.1.0" } >>> System health JSON /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db --format json system health [PASS] System health JSON { "database": "connected", "status": "healthy", "timestamp": "2026-08-16T10:46:32.773865263+00:00" } >>> System info YAML /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db --format yaml system info [PASS] System info YAML arch: "x86_64" config_file: "/etc/nx9-wg/config.toml" data_dir: "/tmp/nx9-wg-cli-test.u7uMLB/data" database_path: "/tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db" log_level: "info" os: "linux" reconciliation_interval_secs: 60 session_expiry_hours: 24 version: "0.1.0" >>> System health CSV /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db --format csv system health [PASS] System health CSV database,status,timestamp connected,healthy,2026-08-16T10:46:32.785108766+00:00 ============================================================================ 07 — Administrator / Authentication ============================================================================ >>> Admin status /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db admin status [PASS] Admin status created_at : 2026-08-16T10:46:32 last_login_at : null last_login_ip : null totp_enabled : false username : admin >>> Admin status JSON /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db --format json admin status [PASS] Admin status JSON { "created_at": "2026-08-16T10:46:32", "last_login_at": null, "last_login_ip": null, "totp_enabled": false, "username": "admin" } ============================================================================ 08 — Client Environment / MTU Profiles ============================================================================ >>> Profile list /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db profile list [PASS] Profile list [ { "connection_type": "mobile", "created_at": "2026-08-16T10:46:32", "description": "Android cellular client profile with 1280 MTU and 25s keepalive", "device": "android", "dns": null, "id": "android-mobile", "is_builtin": true, "mtu": 1280, "name": "Android Mobile", "nat_type": "unknown", "persistent_keepalive": 25, "provider": null, "updated_at": "2026-08-16T10:46:32" }, { "connection_type": "other", "created_at": "2026-08-16T10:46:32", "description": "Carrier-grade NAT environment profile with 1360 MTU and 25s keepalive", "device": null, "dns": null, "id": "default-cgnat", "is_builtin": true, "mtu": 1360, "name": "Default CGNAT", "nat_type": "cgnat", "persistent_keepalive": 25, "provider": null, "updated_at": "2026-08-16T10:46:32" }, { "connection_type": "mobile", "created_at": "2026-08-16T10:46:32", "description": "Standard mobile carrier profile with 1280 MTU and 25s keepalive", "device": null, "dns": null, "id": "default-mobile", "is_builtin": true, "mtu": 1280, "name": "Default Mobile", "nat_type": "unknown", "persistent_keepalive": 25, "provider": null, "updated_at": "2026-08-16T10:46:32" }, { "connection_type": "web", "created_at": "2026-08-16T10:46:32", "description": "Standard Web client profile with 1420 MTU and 25s keepalive", "device": null, "dns": null, "id": "default-web", "is_builtin": true, "mtu": 1420, "name": "Default Web", "nat_type": "unknown", "persistent_keepalive": 25, "provider": null, "updated_at": "2026-08-16T10:46:32" }, { "connection_type": "wifi", "created_at": "2026-08-16T10:46:32", "description": "Standard Wi-Fi wireless profile with 1420 MTU and 25s keepalive", "device": null, "dns": null, "id": "default-wifi", "is_builtin": true, "mtu": 1420, "name": "Default Wi-Fi", "nat_type": "unknown", "persistent_keepalive": 25, "provider": null, "updated_at": "2026-08-16T10:46:32" }, { "connection_type": "wired", "created_at": "2026-08-16T10:46:32", "description": "High-throughput wired Ethernet profile with 1420 MTU and 25s keepalive", "device": null, "dns": null, "id": "default-wired", "is_builtin": true, "mtu": 1420, "name": "Default Wired", "nat_type": "direct", "persistent_keepalive": 25, "provider": null, "updated_at": "2026-08-16T10:46:32" }, { "connection_type": "mobile", "created_at": "2026-08-16T10:46:32", "description": "Reliance Jio 4G/5G mobile profile with 1280 MTU and 25s keepalive", "device": null, "dns": null, "id": "jio-mobile", "is_builtin": true, "mtu": 1280, "name": "Jio Mobile", "nat_type": "cgnat", "persistent_keepalive": 25, "provider": "jio", "updated_at": "2026-08-16T10:46:32" }, { "connection_type": "other", "created_at": "2026-08-16T10:46:32", "description": "Starlink satellite CGNAT profile with 1360 MTU and 25s keepalive", "device": null, "dns": null, "id": "starlink-cgnat", "is_builtin": true, "mtu": 1360, "name": "Starlink CGNAT", "nat_type": "cgnat", "persistent_keepalive": 25, "provider": "starlink", "updated_at": "2026-08-16T10:46:32" }, { "connection_type": "mobile", "created_at": "2026-08-16T10:46:32", "description": "T-Mobile US IPv6/CGNAT mobile profile with 1280 MTU and 25s keepalive", "device": null, "dns": null, "id": "tmobile-mobile", "is_builtin": true, "mtu": 1280, "name": "T-Mobile Mobile", "nat_type": "cgnat", "persistent_keepalive": 25, "provider": "tmobile", "updated_at": "2026-08-16T10:46:32" }, { "connection_type": "mobile", "created_at": "2026-08-16T10:46:32", "description": "Verizon Wireless mobile profile with 1280 MTU and 25s keepalive", "device": null, "dns": null, "id": "verizon-mobile", "is_builtin": true, "mtu": 1280, "name": "Verizon Mobile", "nat_type": "cgnat", "persistent_keepalive": 25, "provider": "verizon", "updated_at": "2026-08-16T10:46:32" }, { "connection_type": "mobile", "created_at": "2026-08-16T10:46:32", "description": "Apple iOS cellular profile with 1280 MTU and 25s keepalive", "device": "ios", "dns": null, "id": "ios-mobile", "is_builtin": true, "mtu": 1280, "name": "iOS Mobile", "nat_type": "unknown", "persistent_keepalive": 25, "provider": null, "updated_at": "2026-08-16T10:46:32" } ] >>> Profile list JSON /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db --format json profile list [PASS] Profile list JSON [ { "connection_type": "mobile", "created_at": "2026-08-16T10:46:32", "description": "Android cellular client profile with 1280 MTU and 25s keepalive", "device": "android", "dns": null, "id": "android-mobile", "is_builtin": true, "mtu": 1280, "name": "Android Mobile", "nat_type": "unknown", "persistent_keepalive": 25, "provider": null, "updated_at": "2026-08-16T10:46:32" }, { "connection_type": "other", "created_at": "2026-08-16T10:46:32", "description": "Carrier-grade NAT environment profile with 1360 MTU and 25s keepalive", "device": null, "dns": null, "id": "default-cgnat", "is_builtin": true, "mtu": 1360, "name": "Default CGNAT", "nat_type": "cgnat", "persistent_keepalive": 25, "provider": null, "updated_at": "2026-08-16T10:46:32" }, { "connection_type": "mobile", "created_at": "2026-08-16T10:46:32", "description": "Standard mobile carrier profile with 1280 MTU and 25s keepalive", "device": null, "dns": null, "id": "default-mobile", "is_builtin": true, "mtu": 1280, "name": "Default Mobile", "nat_type": "unknown", "persistent_keepalive": 25, "provider": null, "updated_at": "2026-08-16T10:46:32" }, { "connection_type": "web", "created_at": "2026-08-16T10:46:32", "description": "Standard Web client profile with 1420 MTU and 25s keepalive", "device": null, "dns": null, "id": "default-web", "is_builtin": true, "mtu": 1420, "name": "Default Web", "nat_type": "unknown", "persistent_keepalive": 25, "provider": null, "updated_at": "2026-08-16T10:46:32" }, { "connection_type": "wifi", "created_at": "2026-08-16T10:46:32", "description": "Standard Wi-Fi wireless profile with 1420 MTU and 25s keepalive", "device": null, "dns": null, "id": "default-wifi", "is_builtin": true, "mtu": 1420, "name": "Default Wi-Fi", "nat_type": "unknown", "persistent_keepalive": 25, "provider": null, "updated_at": "2026-08-16T10:46:32" }, { "connection_type": "wired", "created_at": "2026-08-16T10:46:32", "description": "High-throughput wired Ethernet profile with 1420 MTU and 25s keepalive", "device": null, "dns": null, "id": "default-wired", "is_builtin": true, "mtu": 1420, "name": "Default Wired", "nat_type": "direct", "persistent_keepalive": 25, "provider": null, "updated_at": "2026-08-16T10:46:32" }, { "connection_type": "mobile", "created_at": "2026-08-16T10:46:32", "description": "Reliance Jio 4G/5G mobile profile with 1280 MTU and 25s keepalive", "device": null, "dns": null, "id": "jio-mobile", "is_builtin": true, "mtu": 1280, "name": "Jio Mobile", "nat_type": "cgnat", "persistent_keepalive": 25, "provider": "jio", "updated_at": "2026-08-16T10:46:32" }, { "connection_type": "other", "created_at": "2026-08-16T10:46:32", "description": "Starlink satellite CGNAT profile with 1360 MTU and 25s keepalive", "device": null, "dns": null, "id": "starlink-cgnat", "is_builtin": true, "mtu": 1360, "name": "Starlink CGNAT", "nat_type": "cgnat", "persistent_keepalive": 25, "provider": "starlink", "updated_at": "2026-08-16T10:46:32" }, { "connection_type": "mobile", "created_at": "2026-08-16T10:46:32", "description": "T-Mobile US IPv6/CGNAT mobile profile with 1280 MTU and 25s keepalive", "device": null, "dns": null, "id": "tmobile-mobile", "is_builtin": true, "mtu": 1280, "name": "T-Mobile Mobile", "nat_type": "cgnat", "persistent_keepalive": 25, "provider": "tmobile", "updated_at": "2026-08-16T10:46:32" }, { "connection_type": "mobile", "created_at": "2026-08-16T10:46:32", "description": "Verizon Wireless mobile profile with 1280 MTU and 25s keepalive", "device": null, "dns": null, "id": "verizon-mobile", "is_builtin": true, "mtu": 1280, "name": "Verizon Mobile", "nat_type": "cgnat", "persistent_keepalive": 25, "provider": "verizon", "updated_at": "2026-08-16T10:46:32" }, { "connection_type": "mobile", "created_at": "2026-08-16T10:46:32", "description": "Apple iOS cellular profile with 1280 MTU and 25s keepalive", "device": "ios", "dns": null, "id": "ios-mobile", "is_builtin": true, "mtu": 1280, "name": "iOS Mobile", "nat_type": "unknown", "persistent_keepalive": 25, "provider": null, "updated_at": "2026-08-16T10:46:32" } ] >>> Default mobile profile /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db profile show default-mobile [PASS] Default mobile profile connection_type : mobile created_at : 2026-08-16T10:46:32 description : Standard mobile carrier profile with 1280 MTU and 25s keepalive device : null dns : null id : default-mobile is_builtin : true mtu : 1280 name : Default Mobile nat_type : unknown persistent_keepalive : 25 provider : null updated_at : 2026-08-16T10:46:32 >>> Default CGNAT profile /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db profile show default-cgnat [PASS] Default CGNAT profile connection_type : other created_at : 2026-08-16T10:46:32 description : Carrier-grade NAT environment profile with 1360 MTU and 25s keepalive device : null dns : null id : default-cgnat is_builtin : true mtu : 1360 name : Default CGNAT nat_type : cgnat persistent_keepalive : 25 provider : null updated_at : 2026-08-16T10:46:32 >>> Default Wi-Fi profile /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db profile show default-wifi [PASS] Default Wi-Fi profile connection_type : wifi created_at : 2026-08-16T10:46:32 description : Standard Wi-Fi wireless profile with 1420 MTU and 25s keepalive device : null dns : null id : default-wifi is_builtin : true mtu : 1420 name : Default Wi-Fi nat_type : unknown persistent_keepalive : 25 provider : null updated_at : 2026-08-16T10:46:32 >>> Default Web profile /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db profile show default-web [PASS] Default Web profile connection_type : web created_at : 2026-08-16T10:46:32 description : Standard Web client profile with 1420 MTU and 25s keepalive device : null dns : null id : default-web is_builtin : true mtu : 1420 name : Default Web nat_type : unknown persistent_keepalive : 25 provider : null updated_at : 2026-08-16T10:46:32 >>> Default Wired profile /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db profile show default-wired [PASS] Default Wired profile connection_type : wired created_at : 2026-08-16T10:46:32 description : High-throughput wired Ethernet profile with 1420 MTU and 25s keepalive device : null dns : null id : default-wired is_builtin : true mtu : 1420 name : Default Wired nat_type : direct persistent_keepalive : 25 provider : null updated_at : 2026-08-16T10:46:32 >>> Validate MTU 1280 /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db profile validate 1280 [PASS] Validate MTU 1280 is_jumbo : false message : MTU is in valid standard range (1280-1500) mtu : 1280 valid : true >>> Validate MTU 1360 /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db profile validate 1360 [PASS] Validate MTU 1360 is_jumbo : false message : MTU is in valid standard range (1280-1500) mtu : 1360 valid : true >>> Validate MTU 1420 /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db profile validate 1420 [PASS] Validate MTU 1420 is_jumbo : false message : MTU is in valid standard range (1280-1500) mtu : 1420 valid : true >>> Validate MTU 1500 /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db profile validate 1500 [PASS] Validate MTU 1500 is_jumbo : false message : MTU is in valid standard range (1280-1500) mtu : 1500 valid : true >>> Resolve Android Mobile CGNAT /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db --format json profile resolve --connection mobile --device android --nat cgnat [PASS] Resolve Android Mobile CGNAT { "applied_profile_id": "android-mobile", "applied_profile_name": "Android Mobile", "connection_type": "mobile", "device": "android", "dns": null, "is_manually_overridden": false, "mtu": 1280, "nat_type": "cgnat", "persistent_keepalive": 25, "provider": null, "warning": null } >>> Resolve iOS Mobile CGNAT /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db --format json profile resolve --connection mobile --device ios --nat cgnat [PASS] Resolve iOS Mobile CGNAT { "applied_profile_id": "ios-mobile", "applied_profile_name": "iOS Mobile", "connection_type": "mobile", "device": "ios", "dns": null, "is_manually_overridden": false, "mtu": 1280, "nat_type": "cgnat", "persistent_keepalive": 25, "provider": null, "warning": null } >>> Resolve Linux Wi-Fi Direct /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db --format json profile resolve --connection wifi --device linux --nat direct [PASS] Resolve Linux Wi-Fi Direct { "applied_profile_id": "default-wifi", "applied_profile_name": "Default Wi-Fi", "connection_type": "wifi", "device": "linux", "dns": null, "is_manually_overridden": false, "mtu": 1420, "nat_type": "direct", "persistent_keepalive": 25, "provider": null, "warning": null } >>> Resolve Windows Wired /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db --format json profile resolve --connection wired --device windows --nat direct [PASS] Resolve Windows Wired { "applied_profile_id": "default-wired", "applied_profile_name": "Default Wired", "connection_type": "wired", "device": "windows", "dns": null, "is_manually_overridden": false, "mtu": 1420, "nat_type": "direct", "persistent_keepalive": 25, "provider": null, "warning": null } >>> Resolve Jio Mobile CGNAT /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db --format json profile resolve --provider jio --connection mobile --nat cgnat [PASS] Resolve Jio Mobile CGNAT { "applied_profile_id": "jio-mobile", "applied_profile_name": "Jio Mobile", "connection_type": "mobile", "device": null, "dns": null, "is_manually_overridden": false, "mtu": 1280, "nat_type": "cgnat", "persistent_keepalive": 25, "provider": "jio", "warning": null } >>> Resolve T-Mobile Mobile CGNAT /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db --format json profile resolve --provider tmobile --connection mobile --nat cgnat [PASS] Resolve T-Mobile Mobile CGNAT { "applied_profile_id": "tmobile-mobile", "applied_profile_name": "T-Mobile Mobile", "connection_type": "mobile", "device": null, "dns": null, "is_manually_overridden": false, "mtu": 1280, "nat_type": "cgnat", "persistent_keepalive": 25, "provider": "tmobile", "warning": null } >>> Resolve Verizon Mobile CGNAT /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db --format json profile resolve --provider verizon --connection mobile --nat cgnat [PASS] Resolve Verizon Mobile CGNAT { "applied_profile_id": "verizon-mobile", "applied_profile_name": "Verizon Mobile", "connection_type": "mobile", "device": null, "dns": null, "is_manually_overridden": false, "mtu": 1280, "nat_type": "cgnat", "persistent_keepalive": 25, "provider": "verizon", "warning": null } >>> Resolve Starlink CGNAT /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db --format json profile resolve --provider starlink --connection other --nat cgnat [PASS] Resolve Starlink CGNAT { "applied_profile_id": "starlink-cgnat", "applied_profile_name": "Starlink CGNAT", "connection_type": "other", "device": null, "dns": null, "is_manually_overridden": false, "mtu": 1360, "nat_type": "cgnat", "persistent_keepalive": 25, "provider": "starlink", "warning": null } >>> Resolve manual MTU override /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db --format json profile resolve --connection mobile --device android --nat cgnat --mtu 1300 [PASS] Resolve manual MTU override { "applied_profile_id": "android-mobile", "applied_profile_name": "Android Mobile", "connection_type": "mobile", "device": "android", "dns": null, "is_manually_overridden": true, "mtu": 1300, "nat_type": "cgnat", "persistent_keepalive": 25, "provider": null, "warning": "Client MTU has been manually overridden by administrator." } >>> Resolve explicit profile /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db --format json profile resolve --profile android-mobile [PASS] Resolve explicit profile { "applied_profile_id": "android-mobile", "applied_profile_name": "Android Mobile", "connection_type": "mobile", "device": "android", "dns": null, "is_manually_overridden": false, "mtu": 1280, "nat_type": "unknown", "persistent_keepalive": 25, "provider": null, "warning": null } ============================================================================ 09 — Network Management ============================================================================ >>> Network list /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db network list [PASS] Network list (No items found) >>> Network list JSON /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db --format json network list [PASS] Network list JSON [] ============================================================================ 10 — WireGuard Interface Management ============================================================================ >>> Interface list /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db interface list [PASS] Interface list (No items found) >>> Interface list JSON /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db --format json interface list [PASS] Interface list JSON [] ============================================================================ 11 — Peer Management ============================================================================ >>> Peer list /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db peer list [PASS] Peer list (No items found) >>> Peer list JSON /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db --format json peer list [PASS] Peer list JSON [] ============================================================================ 12 — Routing ============================================================================ >>> Route list /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db route list [PASS] Route list (No items found) >>> Route list JSON /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db --format json route list [PASS] Route list JSON [] ============================================================================ 13 — Firewall ============================================================================ >>> Firewall list /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db firewall list [PASS] Firewall list (No items found) >>> Firewall list JSON /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db --format json firewall list [PASS] Firewall list JSON [] ============================================================================ 14 — NAT ============================================================================ >>> NAT status /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db nat status [PASS] NAT status managed_subnets : [] nat_masquerade_enabled : true table : inet nx9_wg >>> NAT list /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db nat list [PASS] NAT list (No items found) >>> NAT status JSON /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db --format json nat status [PASS] NAT status JSON { "managed_subnets": [], "nat_masquerade_enabled": true, "table": "inet nx9_wg" } ============================================================================ 15 — IP Forwarding ============================================================================ >>> Forwarding status /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db forwarding status [PASS] Forwarding status ipv4_enabled : false ipv6_enabled : false >>> Forwarding status JSON /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db --format json forwarding status [PASS] Forwarding status JSON { "ipv4_enabled": false, "ipv6_enabled": false } ============================================================================ 16 — Reconciliation ============================================================================ >>> Reconciliation status /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db reconcile status [PASS] Reconciliation status drift_detected : false firewall_changes : 0 interface_changes : 0 peer_changes : 0 route_changes : 0 >>> Reconciliation plan /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db reconcile plan [PASS] Reconciliation plan actions : [] firewall_changes : 0 forwarding_changes : 0 has_drift : false interface_changes : 0 peer_changes : 0 route_changes : 0 >>> Reconciliation verify /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db reconcile verify [PASS] Reconciliation verify Zero drift detected: SQLite and kernel state are in full synchronization. >>> Reconciliation status JSON /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db --format json reconcile status [PASS] Reconciliation status JSON { "drift_detected": false, "firewall_changes": 0, "interface_changes": 0, "peer_changes": 0, "route_changes": 0 } ============================================================================ 17 — Backup ============================================================================ >>> Backup list /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db backup list [PASS] Backup list (No items found) >>> Backup list JSON /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db --format json backup list [PASS] Backup list JSON [] ============================================================================ 18 — Audit ============================================================================ >>> Audit list /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db audit list [PASS] Audit list [ { "actor": "admin", "created_at": "2026-08-16T10:46:32", "event_type": "admin_initialized", "id": 1, "ip_address": null, "message": "Administrator initialized via secure random generation", "metadata": null, "resource_id": "1", "resource_type": "admin" } ] >>> Audit list JSON /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db --format json audit list [PASS] Audit list JSON [ { "actor": "admin", "created_at": "2026-08-16T10:46:32", "event_type": "admin_initialized", "id": 1, "ip_address": null, "message": "Administrator initialized via secure random generation", "metadata": null, "resource_id": "1", "resource_type": "admin" } ] ============================================================================ 19 — Live Linux State ============================================================================ [SKIP] Live interface list — use LIVE=1 [SKIP] Live peer list — use LIVE=1 [SKIP] Live routes — use LIVE=1 [SKIP] Live firewall — use LIVE=1 [SKIP] Live forwarding — use LIVE=1 [SKIP] Live NAT — use LIVE=1 ============================================================================ 20 — Native Diagnostics ============================================================================ >>> Diagnostics all /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db diagnostics all [PASS] Diagnostics all [ { "checks": [ { "check_name": "hostname", "diagnostic_message": "System hostname read successfully", "expected_value": null, "observed_value": "thakares-ideapad", "remediation_hint": null, "status": "pass" }, { "check_name": "os_architecture", "diagnostic_message": "Supported target platform", "expected_value": "linux-*", "observed_value": "linux-x86_64", "remediation_hint": null, "status": "pass" }, { "check_name": "kernel_version", "diagnostic_message": "Linux kernel release inspected", "expected_value": null, "observed_value": "7.1.8-arch1-3", "remediation_hint": null, "status": "pass" }, { "check_name": "memory_status", "diagnostic_message": "System memory available", "expected_value": null, "observed_value": "MemTotal: 28526564 kB", "remediation_hint": null, "status": "pass" }, { "check_name": "sqlite_persistence", "diagnostic_message": "SQLite WAL persistence layer is responsive", "expected_value": "connected_and_healthy", "observed_value": "connected_and_healthy", "remediation_hint": null, "status": "pass" } ], "overall_status": "pass", "subsystem": "system", "timestamp": "2026-08-16T10:46:33.050682139" }, { "checks": [ { "check_name": "linux_network_interfaces", "diagnostic_message": "Network interfaces discovered in kernel", "expected_value": null, "observed_value": "2 interfaces (lo, wlp2s0)", "remediation_hint": null, "status": "pass" }, { "check_name": "dns_nameservers", "diagnostic_message": "System DNS nameservers configured", "expected_value": null, "observed_value": "127.0.0.1", "remediation_hint": null, "status": "pass" } ], "overall_status": "pass", "subsystem": "network", "timestamp": "2026-08-16T10:46:33.050715281" }, { "checks": [ { "check_name": "default_gateway_route", "diagnostic_message": "Default route to WAN/gateway is present", "expected_value": "default_gateway_present", "observed_value": "default_gateway_present", "remediation_hint": null, "status": "pass" } ], "overall_status": "pass", "subsystem": "wan", "timestamp": "2026-08-16T10:46:33.050732183" }, { "checks": [ { "check_name": "configured_interfaces", "diagnostic_message": "No WireGuard interfaces configured yet", "expected_value": null, "observed_value": "0 interfaces", "remediation_hint": "Create an interface using 'nx9-wg interface create'", "status": "pass" } ], "overall_status": "pass", "subsystem": "wireguard", "timestamp": "2026-08-16T10:46:33.050785273" }, { "checks": [ { "check_name": "configured_routes", "diagnostic_message": "Kernel routing rules configured in database", "expected_value": null, "observed_value": "0 total (0 active)", "remediation_hint": null, "status": "pass" } ], "overall_status": "pass", "subsystem": "routing", "timestamp": "2026-08-16T10:46:33.051082712" }, { "checks": [ { "check_name": "ipv4_forwarding", "diagnostic_message": "IPv4 packet forwarding is disabled in sysctl; VPN clients cannot route traffic", "expected_value": "enabled", "observed_value": "disabled", "remediation_hint": "Enable IP forwarding with 'nx9-wg forwarding enable'", "status": "warning" } ], "overall_status": "warning", "subsystem": "forwarding", "timestamp": "2026-08-16T10:46:33.051118900" }, { "checks": [ { "check_name": "firewall_rules_count", "diagnostic_message": "Configured nftables packet filtering rules", "expected_value": null, "observed_value": "0 total (0 active)", "remediation_hint": null, "status": "pass" }, { "check_name": "nftables_table_nx9_wg", "diagnostic_message": "Dedicated table inet nx9_wg presence in kernel nftables", "expected_value": "active", "observed_value": "not_loaded", "remediation_hint": "Synchronize firewall with 'nx9-wg firewall sync'", "status": "warning" } ], "overall_status": "warning", "subsystem": "firewall", "timestamp": "2026-08-16T10:46:33.051174264" }, { "checks": [ { "check_name": "nat_setting", "diagnostic_message": "NAT masquerade setting configured in database", "expected_value": null, "observed_value": "enabled", "remediation_hint": null, "status": "pass" } ], "overall_status": "pass", "subsystem": "nat", "timestamp": "2026-08-16T10:46:33.051223957" }, { "checks": [ { "check_name": "client_profile_mobile_recommendation", "diagnostic_message": "Recommended MTU for mobile/cellular connections is 1280 to prevent carrier fragmentation", "expected_value": "1280 bytes", "observed_value": "1280 bytes (keepalive: 25s)", "remediation_hint": null, "status": "pass" }, { "check_name": "client_profile_cgnat_recommendation", "diagnostic_message": "Recommended MTU for CGNAT connections is 1360 to accommodate carrier-grade NAT encapsulation", "expected_value": "1360 bytes", "observed_value": "1360 bytes (keepalive: 25s)", "remediation_hint": null, "status": "pass" }, { "check_name": "client_profile_wifi_recommendation", "diagnostic_message": "Recommended MTU for standard Wi-Fi and wired connections is 1420 bytes", "expected_value": "1420 bytes", "observed_value": "1420 bytes (keepalive: 25s)", "remediation_hint": null, "status": "pass" } ], "overall_status": "pass", "subsystem": "mtu", "timestamp": "2026-08-16T10:46:33.051301413" }, { "checks": [ { "check_name": "overall_drift", "diagnostic_message": "Discrepancies detected between SQLite desired state and Linux kernel state", "expected_value": "zero_drift", "observed_value": "1 drift actions pending", "remediation_hint": "Execute 'nx9-wg reconcile apply' to synchronize changes", "status": "warning" }, { "check_name": "drift:forwarding:enable_forwarding", "diagnostic_message": "IPv4 forwarding is disabled in kernel sysctl; enable for VPN routing", "expected_value": null, "observed_value": "ipv4_forward", "remediation_hint": "Run 'nx9-wg reconcile apply'", "status": "warning" } ], "overall_status": "warning", "subsystem": "reconciliation", "timestamp": "2026-08-16T10:46:33.051662923" } ] >>> Diagnostics all JSON /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db --format json diagnostics all [PASS] Diagnostics all JSON [ { "checks": [ { "check_name": "hostname", "diagnostic_message": "System hostname read successfully", "expected_value": null, "observed_value": "thakares-ideapad", "remediation_hint": null, "status": "pass" }, { "check_name": "os_architecture", "diagnostic_message": "Supported target platform", "expected_value": "linux-*", "observed_value": "linux-x86_64", "remediation_hint": null, "status": "pass" }, { "check_name": "kernel_version", "diagnostic_message": "Linux kernel release inspected", "expected_value": null, "observed_value": "7.1.8-arch1-3", "remediation_hint": null, "status": "pass" }, { "check_name": "memory_status", "diagnostic_message": "System memory available", "expected_value": null, "observed_value": "MemTotal: 28526564 kB", "remediation_hint": null, "status": "pass" }, { "check_name": "sqlite_persistence", "diagnostic_message": "SQLite WAL persistence layer is responsive", "expected_value": "connected_and_healthy", "observed_value": "connected_and_healthy", "remediation_hint": null, "status": "pass" } ], "overall_status": "pass", "subsystem": "system", "timestamp": "2026-08-16T10:46:33.056557217" }, { "checks": [ { "check_name": "linux_network_interfaces", "diagnostic_message": "Network interfaces discovered in kernel", "expected_value": null, "observed_value": "2 interfaces (lo, wlp2s0)", "remediation_hint": null, "status": "pass" }, { "check_name": "dns_nameservers", "diagnostic_message": "System DNS nameservers configured", "expected_value": null, "observed_value": "127.0.0.1", "remediation_hint": null, "status": "pass" } ], "overall_status": "pass", "subsystem": "network", "timestamp": "2026-08-16T10:46:33.056588836" }, { "checks": [ { "check_name": "default_gateway_route", "diagnostic_message": "Default route to WAN/gateway is present", "expected_value": "default_gateway_present", "observed_value": "default_gateway_present", "remediation_hint": null, "status": "pass" } ], "overall_status": "pass", "subsystem": "wan", "timestamp": "2026-08-16T10:46:33.056605968" }, { "checks": [ { "check_name": "configured_interfaces", "diagnostic_message": "No WireGuard interfaces configured yet", "expected_value": null, "observed_value": "0 interfaces", "remediation_hint": "Create an interface using 'nx9-wg interface create'", "status": "pass" } ], "overall_status": "pass", "subsystem": "wireguard", "timestamp": "2026-08-16T10:46:33.056658106" }, { "checks": [ { "check_name": "configured_routes", "diagnostic_message": "Kernel routing rules configured in database", "expected_value": null, "observed_value": "0 total (0 active)", "remediation_hint": null, "status": "pass" } ], "overall_status": "pass", "subsystem": "routing", "timestamp": "2026-08-16T10:46:33.056971756" }, { "checks": [ { "check_name": "ipv4_forwarding", "diagnostic_message": "IPv4 packet forwarding is disabled in sysctl; VPN clients cannot route traffic", "expected_value": "enabled", "observed_value": "disabled", "remediation_hint": "Enable IP forwarding with 'nx9-wg forwarding enable'", "status": "warning" } ], "overall_status": "warning", "subsystem": "forwarding", "timestamp": "2026-08-16T10:46:33.056994549" }, { "checks": [ { "check_name": "firewall_rules_count", "diagnostic_message": "Configured nftables packet filtering rules", "expected_value": null, "observed_value": "0 total (0 active)", "remediation_hint": null, "status": "pass" }, { "check_name": "nftables_table_nx9_wg", "diagnostic_message": "Dedicated table inet nx9_wg presence in kernel nftables", "expected_value": "active", "observed_value": "not_loaded", "remediation_hint": "Synchronize firewall with 'nx9-wg firewall sync'", "status": "warning" } ], "overall_status": "warning", "subsystem": "firewall", "timestamp": "2026-08-16T10:46:33.057044072" }, { "checks": [ { "check_name": "nat_setting", "diagnostic_message": "NAT masquerade setting configured in database", "expected_value": null, "observed_value": "enabled", "remediation_hint": null, "status": "pass" } ], "overall_status": "pass", "subsystem": "nat", "timestamp": "2026-08-16T10:46:33.057081563" }, { "checks": [ { "check_name": "client_profile_mobile_recommendation", "diagnostic_message": "Recommended MTU for mobile/cellular connections is 1280 to prevent carrier fragmentation", "expected_value": "1280 bytes", "observed_value": "1280 bytes (keepalive: 25s)", "remediation_hint": null, "status": "pass" }, { "check_name": "client_profile_cgnat_recommendation", "diagnostic_message": "Recommended MTU for CGNAT connections is 1360 to accommodate carrier-grade NAT encapsulation", "expected_value": "1360 bytes", "observed_value": "1360 bytes (keepalive: 25s)", "remediation_hint": null, "status": "pass" }, { "check_name": "client_profile_wifi_recommendation", "diagnostic_message": "Recommended MTU for standard Wi-Fi and wired connections is 1420 bytes", "expected_value": "1420 bytes", "observed_value": "1420 bytes (keepalive: 25s)", "remediation_hint": null, "status": "pass" } ], "overall_status": "pass", "subsystem": "mtu", "timestamp": "2026-08-16T10:46:33.057185478" }, { "checks": [ { "check_name": "overall_drift", "diagnostic_message": "Discrepancies detected between SQLite desired state and Linux kernel state", "expected_value": "zero_drift", "observed_value": "1 drift actions pending", "remediation_hint": "Execute 'nx9-wg reconcile apply' to synchronize changes", "status": "warning" }, { "check_name": "drift:forwarding:enable_forwarding", "diagnostic_message": "IPv4 forwarding is disabled in kernel sysctl; enable for VPN routing", "expected_value": null, "observed_value": "ipv4_forward", "remediation_hint": "Run 'nx9-wg reconcile apply'", "status": "warning" } ], "overall_status": "warning", "subsystem": "reconciliation", "timestamp": "2026-08-16T10:46:33.057552368" } ] >>> Diagnostics: system /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db diagnostics system [PASS] Diagnostics: system [ { "checks": [ { "check_name": "hostname", "diagnostic_message": "System hostname read successfully", "expected_value": null, "observed_value": "thakares-ideapad", "remediation_hint": null, "status": "pass" }, { "check_name": "os_architecture", "diagnostic_message": "Supported target platform", "expected_value": "linux-*", "observed_value": "linux-x86_64", "remediation_hint": null, "status": "pass" }, { "check_name": "kernel_version", "diagnostic_message": "Linux kernel release inspected", "expected_value": null, "observed_value": "7.1.8-arch1-3", "remediation_hint": null, "status": "pass" }, { "check_name": "memory_status", "diagnostic_message": "System memory available", "expected_value": null, "observed_value": "MemTotal: 28526564 kB", "remediation_hint": null, "status": "pass" }, { "check_name": "sqlite_persistence", "diagnostic_message": "SQLite WAL persistence layer is responsive", "expected_value": "connected_and_healthy", "observed_value": "connected_and_healthy", "remediation_hint": null, "status": "pass" } ], "overall_status": "pass", "subsystem": "system", "timestamp": "2026-08-16T10:46:33.063582958" } ] >>> Diagnostics: network /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db diagnostics network [PASS] Diagnostics: network [ { "checks": [ { "check_name": "linux_network_interfaces", "diagnostic_message": "Network interfaces discovered in kernel", "expected_value": null, "observed_value": "2 interfaces (lo, wlp2s0)", "remediation_hint": null, "status": "pass" }, { "check_name": "dns_nameservers", "diagnostic_message": "System DNS nameservers configured", "expected_value": null, "observed_value": "127.0.0.1", "remediation_hint": null, "status": "pass" } ], "overall_status": "pass", "subsystem": "network", "timestamp": "2026-08-16T10:46:33.068654886" } ] >>> Diagnostics: wan /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db diagnostics wan [PASS] Diagnostics: wan [ { "checks": [ { "check_name": "default_gateway_route", "diagnostic_message": "Default route to WAN/gateway is present", "expected_value": "default_gateway_present", "observed_value": "default_gateway_present", "remediation_hint": null, "status": "pass" } ], "overall_status": "pass", "subsystem": "wan", "timestamp": "2026-08-16T10:46:33.073128679" } ] >>> Diagnostics: wireguard /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db diagnostics wireguard [PASS] Diagnostics: wireguard [ { "checks": [ { "check_name": "configured_interfaces", "diagnostic_message": "No WireGuard interfaces configured yet", "expected_value": null, "observed_value": "0 interfaces", "remediation_hint": "Create an interface using 'nx9-wg interface create'", "status": "pass" } ], "overall_status": "pass", "subsystem": "wireguard", "timestamp": "2026-08-16T10:46:33.077978869" } ] >>> Diagnostics: routing /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db diagnostics routing [PASS] Diagnostics: routing [ { "checks": [ { "check_name": "configured_routes", "diagnostic_message": "Kernel routing rules configured in database", "expected_value": null, "observed_value": "0 total (0 active)", "remediation_hint": null, "status": "pass" } ], "overall_status": "pass", "subsystem": "routing", "timestamp": "2026-08-16T10:46:33.082776662" } ] >>> Diagnostics: forwarding /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db diagnostics forwarding [PASS] Diagnostics: forwarding [ { "checks": [ { "check_name": "ipv4_forwarding", "diagnostic_message": "IPv4 packet forwarding is disabled in sysctl; VPN clients cannot route traffic", "expected_value": "enabled", "observed_value": "disabled", "remediation_hint": "Enable IP forwarding with 'nx9-wg forwarding enable'", "status": "warning" } ], "overall_status": "warning", "subsystem": "forwarding", "timestamp": "2026-08-16T10:46:33.087615541" } ] >>> Diagnostics: firewall /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db diagnostics firewall [PASS] Diagnostics: firewall [ { "checks": [ { "check_name": "firewall_rules_count", "diagnostic_message": "Configured nftables packet filtering rules", "expected_value": null, "observed_value": "0 total (0 active)", "remediation_hint": null, "status": "pass" }, { "check_name": "nftables_table_nx9_wg", "diagnostic_message": "Dedicated table inet nx9_wg presence in kernel nftables", "expected_value": "active", "observed_value": "not_loaded", "remediation_hint": "Synchronize firewall with 'nx9-wg firewall sync'", "status": "warning" } ], "overall_status": "warning", "subsystem": "firewall", "timestamp": "2026-08-16T10:46:33.092628117" } ] >>> Diagnostics: nat /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db diagnostics nat [PASS] Diagnostics: nat [ { "checks": [ { "check_name": "nat_setting", "diagnostic_message": "NAT masquerade setting configured in database", "expected_value": null, "observed_value": "enabled", "remediation_hint": null, "status": "pass" } ], "overall_status": "pass", "subsystem": "nat", "timestamp": "2026-08-16T10:46:33.098748636" } ] >>> Diagnostics: mtu /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db diagnostics mtu [PASS] Diagnostics: mtu [ { "checks": [ { "check_name": "client_profile_mobile_recommendation", "diagnostic_message": "Recommended MTU for mobile/cellular connections is 1280 to prevent carrier fragmentation", "expected_value": "1280 bytes", "observed_value": "1280 bytes (keepalive: 25s)", "remediation_hint": null, "status": "pass" }, { "check_name": "client_profile_cgnat_recommendation", "diagnostic_message": "Recommended MTU for CGNAT connections is 1360 to accommodate carrier-grade NAT encapsulation", "expected_value": "1360 bytes", "observed_value": "1360 bytes (keepalive: 25s)", "remediation_hint": null, "status": "pass" }, { "check_name": "client_profile_wifi_recommendation", "diagnostic_message": "Recommended MTU for standard Wi-Fi and wired connections is 1420 bytes", "expected_value": "1420 bytes", "observed_value": "1420 bytes (keepalive: 25s)", "remediation_hint": null, "status": "pass" } ], "overall_status": "pass", "subsystem": "mtu", "timestamp": "2026-08-16T10:46:33.104585472" } ] >>> Diagnostics: reconciliation /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db diagnostics reconciliation [PASS] Diagnostics: reconciliation [ { "checks": [ { "check_name": "overall_drift", "diagnostic_message": "Discrepancies detected between SQLite desired state and Linux kernel state", "expected_value": "zero_drift", "observed_value": "1 drift actions pending", "remediation_hint": "Execute 'nx9-wg reconcile apply' to synchronize changes", "status": "warning" }, { "check_name": "drift:forwarding:enable_forwarding", "diagnostic_message": "IPv4 forwarding is disabled in kernel sysctl; enable for VPN routing", "expected_value": null, "observed_value": "ipv4_forward", "remediation_hint": "Run 'nx9-wg reconcile apply'", "status": "warning" } ], "overall_status": "warning", "subsystem": "reconciliation", "timestamp": "2026-08-16T10:46:33.109960921" } ] [SKIP] Diagnostics: peer — requires LIVE=1 and peer context ============================================================================ 21 — Output Format Matrix ============================================================================ >>> Network list — table /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db --format table network list [PASS] Network list — table (No items found) >>> Profile list — table /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db --format table profile list [PASS] Profile list — table [ { "connection_type": "mobile", "created_at": "2026-08-16T10:46:32", "description": "Android cellular client profile with 1280 MTU and 25s keepalive", "device": "android", "dns": null, "id": "android-mobile", "is_builtin": true, "mtu": 1280, "name": "Android Mobile", "nat_type": "unknown", "persistent_keepalive": 25, "provider": null, "updated_at": "2026-08-16T10:46:32" }, { "connection_type": "other", "created_at": "2026-08-16T10:46:32", "description": "Carrier-grade NAT environment profile with 1360 MTU and 25s keepalive", "device": null, "dns": null, "id": "default-cgnat", "is_builtin": true, "mtu": 1360, "name": "Default CGNAT", "nat_type": "cgnat", "persistent_keepalive": 25, "provider": null, "updated_at": "2026-08-16T10:46:32" }, { "connection_type": "mobile", "created_at": "2026-08-16T10:46:32", "description": "Standard mobile carrier profile with 1280 MTU and 25s keepalive", "device": null, "dns": null, "id": "default-mobile", "is_builtin": true, "mtu": 1280, "name": "Default Mobile", "nat_type": "unknown", "persistent_keepalive": 25, "provider": null, "updated_at": "2026-08-16T10:46:32" }, { "connection_type": "web", "created_at": "2026-08-16T10:46:32", "description": "Standard Web client profile with 1420 MTU and 25s keepalive", "device": null, "dns": null, "id": "default-web", "is_builtin": true, "mtu": 1420, "name": "Default Web", "nat_type": "unknown", "persistent_keepalive": 25, "provider": null, "updated_at": "2026-08-16T10:46:32" }, { "connection_type": "wifi", "created_at": "2026-08-16T10:46:32", "description": "Standard Wi-Fi wireless profile with 1420 MTU and 25s keepalive", "device": null, "dns": null, "id": "default-wifi", "is_builtin": true, "mtu": 1420, "name": "Default Wi-Fi", "nat_type": "unknown", "persistent_keepalive": 25, "provider": null, "updated_at": "2026-08-16T10:46:32" }, { "connection_type": "wired", "created_at": "2026-08-16T10:46:32", "description": "High-throughput wired Ethernet profile with 1420 MTU and 25s keepalive", "device": null, "dns": null, "id": "default-wired", "is_builtin": true, "mtu": 1420, "name": "Default Wired", "nat_type": "direct", "persistent_keepalive": 25, "provider": null, "updated_at": "2026-08-16T10:46:32" }, { "connection_type": "mobile", "created_at": "2026-08-16T10:46:32", "description": "Reliance Jio 4G/5G mobile profile with 1280 MTU and 25s keepalive", "device": null, "dns": null, "id": "jio-mobile", "is_builtin": true, "mtu": 1280, "name": "Jio Mobile", "nat_type": "cgnat", "persistent_keepalive": 25, "provider": "jio", "updated_at": "2026-08-16T10:46:32" }, { "connection_type": "other", "created_at": "2026-08-16T10:46:32", "description": "Starlink satellite CGNAT profile with 1360 MTU and 25s keepalive", "device": null, "dns": null, "id": "starlink-cgnat", "is_builtin": true, "mtu": 1360, "name": "Starlink CGNAT", "nat_type": "cgnat", "persistent_keepalive": 25, "provider": "starlink", "updated_at": "2026-08-16T10:46:32" }, { "connection_type": "mobile", "created_at": "2026-08-16T10:46:32", "description": "T-Mobile US IPv6/CGNAT mobile profile with 1280 MTU and 25s keepalive", "device": null, "dns": null, "id": "tmobile-mobile", "is_builtin": true, "mtu": 1280, "name": "T-Mobile Mobile", "nat_type": "cgnat", "persistent_keepalive": 25, "provider": "tmobile", "updated_at": "2026-08-16T10:46:32" }, { "connection_type": "mobile", "created_at": "2026-08-16T10:46:32", "description": "Verizon Wireless mobile profile with 1280 MTU and 25s keepalive", "device": null, "dns": null, "id": "verizon-mobile", "is_builtin": true, "mtu": 1280, "name": "Verizon Mobile", "nat_type": "cgnat", "persistent_keepalive": 25, "provider": "verizon", "updated_at": "2026-08-16T10:46:32" }, { "connection_type": "mobile", "created_at": "2026-08-16T10:46:32", "description": "Apple iOS cellular profile with 1280 MTU and 25s keepalive", "device": "ios", "dns": null, "id": "ios-mobile", "is_builtin": true, "mtu": 1280, "name": "iOS Mobile", "nat_type": "unknown", "persistent_keepalive": 25, "provider": null, "updated_at": "2026-08-16T10:46:32" } ] >>> System info — table /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db --format table system info [PASS] System info — table arch : x86_64 config_file : /etc/nx9-wg/config.toml data_dir : /tmp/nx9-wg-cli-test.u7uMLB/data database_path : /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db log_level : info os : linux reconciliation_interval_secs: 60 session_expiry_hours : 24 version : 0.1.0 >>> System health — table /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db --format table system health [PASS] System health — table database : connected status : healthy timestamp : 2026-08-16T10:46:33.133881082+00:00 >>> Audit list — table /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db --format table audit list [PASS] Audit list — table [ { "actor": "admin", "created_at": "2026-08-16T10:46:32", "event_type": "admin_initialized", "id": 1, "ip_address": null, "message": "Administrator initialized via secure random generation", "metadata": null, "resource_id": "1", "resource_type": "admin" } ] >>> Network list — json /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db --format json network list [PASS] Network list — json [] >>> Profile list — json /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db --format json profile list [PASS] Profile list — json [ { "connection_type": "mobile", "created_at": "2026-08-16T10:46:32", "description": "Android cellular client profile with 1280 MTU and 25s keepalive", "device": "android", "dns": null, "id": "android-mobile", "is_builtin": true, "mtu": 1280, "name": "Android Mobile", "nat_type": "unknown", "persistent_keepalive": 25, "provider": null, "updated_at": "2026-08-16T10:46:32" }, { "connection_type": "other", "created_at": "2026-08-16T10:46:32", "description": "Carrier-grade NAT environment profile with 1360 MTU and 25s keepalive", "device": null, "dns": null, "id": "default-cgnat", "is_builtin": true, "mtu": 1360, "name": "Default CGNAT", "nat_type": "cgnat", "persistent_keepalive": 25, "provider": null, "updated_at": "2026-08-16T10:46:32" }, { "connection_type": "mobile", "created_at": "2026-08-16T10:46:32", "description": "Standard mobile carrier profile with 1280 MTU and 25s keepalive", "device": null, "dns": null, "id": "default-mobile", "is_builtin": true, "mtu": 1280, "name": "Default Mobile", "nat_type": "unknown", "persistent_keepalive": 25, "provider": null, "updated_at": "2026-08-16T10:46:32" }, { "connection_type": "web", "created_at": "2026-08-16T10:46:32", "description": "Standard Web client profile with 1420 MTU and 25s keepalive", "device": null, "dns": null, "id": "default-web", "is_builtin": true, "mtu": 1420, "name": "Default Web", "nat_type": "unknown", "persistent_keepalive": 25, "provider": null, "updated_at": "2026-08-16T10:46:32" }, { "connection_type": "wifi", "created_at": "2026-08-16T10:46:32", "description": "Standard Wi-Fi wireless profile with 1420 MTU and 25s keepalive", "device": null, "dns": null, "id": "default-wifi", "is_builtin": true, "mtu": 1420, "name": "Default Wi-Fi", "nat_type": "unknown", "persistent_keepalive": 25, "provider": null, "updated_at": "2026-08-16T10:46:32" }, { "connection_type": "wired", "created_at": "2026-08-16T10:46:32", "description": "High-throughput wired Ethernet profile with 1420 MTU and 25s keepalive", "device": null, "dns": null, "id": "default-wired", "is_builtin": true, "mtu": 1420, "name": "Default Wired", "nat_type": "direct", "persistent_keepalive": 25, "provider": null, "updated_at": "2026-08-16T10:46:32" }, { "connection_type": "mobile", "created_at": "2026-08-16T10:46:32", "description": "Reliance Jio 4G/5G mobile profile with 1280 MTU and 25s keepalive", "device": null, "dns": null, "id": "jio-mobile", "is_builtin": true, "mtu": 1280, "name": "Jio Mobile", "nat_type": "cgnat", "persistent_keepalive": 25, "provider": "jio", "updated_at": "2026-08-16T10:46:32" }, { "connection_type": "other", "created_at": "2026-08-16T10:46:32", "description": "Starlink satellite CGNAT profile with 1360 MTU and 25s keepalive", "device": null, "dns": null, "id": "starlink-cgnat", "is_builtin": true, "mtu": 1360, "name": "Starlink CGNAT", "nat_type": "cgnat", "persistent_keepalive": 25, "provider": "starlink", "updated_at": "2026-08-16T10:46:32" }, { "connection_type": "mobile", "created_at": "2026-08-16T10:46:32", "description": "T-Mobile US IPv6/CGNAT mobile profile with 1280 MTU and 25s keepalive", "device": null, "dns": null, "id": "tmobile-mobile", "is_builtin": true, "mtu": 1280, "name": "T-Mobile Mobile", "nat_type": "cgnat", "persistent_keepalive": 25, "provider": "tmobile", "updated_at": "2026-08-16T10:46:32" }, { "connection_type": "mobile", "created_at": "2026-08-16T10:46:32", "description": "Verizon Wireless mobile profile with 1280 MTU and 25s keepalive", "device": null, "dns": null, "id": "verizon-mobile", "is_builtin": true, "mtu": 1280, "name": "Verizon Mobile", "nat_type": "cgnat", "persistent_keepalive": 25, "provider": "verizon", "updated_at": "2026-08-16T10:46:32" }, { "connection_type": "mobile", "created_at": "2026-08-16T10:46:32", "description": "Apple iOS cellular profile with 1280 MTU and 25s keepalive", "device": "ios", "dns": null, "id": "ios-mobile", "is_builtin": true, "mtu": 1280, "name": "iOS Mobile", "nat_type": "unknown", "persistent_keepalive": 25, "provider": null, "updated_at": "2026-08-16T10:46:32" } ] >>> System info — json /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db --format json system info [PASS] System info — json { "arch": "x86_64", "config_file": "/etc/nx9-wg/config.toml", "data_dir": "/tmp/nx9-wg-cli-test.u7uMLB/data", "database_path": "/tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db", "log_level": "info", "os": "linux", "reconciliation_interval_secs": 60, "session_expiry_hours": 24, "version": "0.1.0" } >>> System health — json /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db --format json system health [PASS] System health — json { "database": "connected", "status": "healthy", "timestamp": "2026-08-16T10:46:33.161200976+00:00" } >>> Audit list — json /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db --format json audit list [PASS] Audit list — json [ { "actor": "admin", "created_at": "2026-08-16T10:46:32", "event_type": "admin_initialized", "id": 1, "ip_address": null, "message": "Administrator initialized via secure random generation", "metadata": null, "resource_id": "1", "resource_type": "admin" } ] >>> Network list — yaml /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db --format yaml network list [PASS] Network list — yaml >>> Profile list — yaml /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db --format yaml profile list [PASS] Profile list — yaml - connection_type: "mobile" created_at: "2026-08-16T10:46:32" description: "Android cellular client profile with 1280 MTU and 25s keepalive" device: "android" dns: null id: "android-mobile" is_builtin: true mtu: 1280 name: "Android Mobile" nat_type: "unknown" persistent_keepalive: 25 provider: null updated_at: "2026-08-16T10:46:32" - connection_type: "other" created_at: "2026-08-16T10:46:32" description: "Carrier-grade NAT environment profile with 1360 MTU and 25s keepalive" device: null dns: null id: "default-cgnat" is_builtin: true mtu: 1360 name: "Default CGNAT" nat_type: "cgnat" persistent_keepalive: 25 provider: null updated_at: "2026-08-16T10:46:32" - connection_type: "mobile" created_at: "2026-08-16T10:46:32" description: "Standard mobile carrier profile with 1280 MTU and 25s keepalive" device: null dns: null id: "default-mobile" is_builtin: true mtu: 1280 name: "Default Mobile" nat_type: "unknown" persistent_keepalive: 25 provider: null updated_at: "2026-08-16T10:46:32" - connection_type: "web" created_at: "2026-08-16T10:46:32" description: "Standard Web client profile with 1420 MTU and 25s keepalive" device: null dns: null id: "default-web" is_builtin: true mtu: 1420 name: "Default Web" nat_type: "unknown" persistent_keepalive: 25 provider: null updated_at: "2026-08-16T10:46:32" - connection_type: "wifi" created_at: "2026-08-16T10:46:32" description: "Standard Wi-Fi wireless profile with 1420 MTU and 25s keepalive" device: null dns: null id: "default-wifi" is_builtin: true mtu: 1420 name: "Default Wi-Fi" nat_type: "unknown" persistent_keepalive: 25 provider: null updated_at: "2026-08-16T10:46:32" - connection_type: "wired" created_at: "2026-08-16T10:46:32" description: "High-throughput wired Ethernet profile with 1420 MTU and 25s keepalive" device: null dns: null id: "default-wired" is_builtin: true mtu: 1420 name: "Default Wired" nat_type: "direct" persistent_keepalive: 25 provider: null updated_at: "2026-08-16T10:46:32" - connection_type: "mobile" created_at: "2026-08-16T10:46:32" description: "Reliance Jio 4G/5G mobile profile with 1280 MTU and 25s keepalive" device: null dns: null id: "jio-mobile" is_builtin: true mtu: 1280 name: "Jio Mobile" nat_type: "cgnat" persistent_keepalive: 25 provider: "jio" updated_at: "2026-08-16T10:46:32" - connection_type: "other" created_at: "2026-08-16T10:46:32" description: "Starlink satellite CGNAT profile with 1360 MTU and 25s keepalive" device: null dns: null id: "starlink-cgnat" is_builtin: true mtu: 1360 name: "Starlink CGNAT" nat_type: "cgnat" persistent_keepalive: 25 provider: "starlink" updated_at: "2026-08-16T10:46:32" - connection_type: "mobile" created_at: "2026-08-16T10:46:32" description: "T-Mobile US IPv6/CGNAT mobile profile with 1280 MTU and 25s keepalive" device: null dns: null id: "tmobile-mobile" is_builtin: true mtu: 1280 name: "T-Mobile Mobile" nat_type: "cgnat" persistent_keepalive: 25 provider: "tmobile" updated_at: "2026-08-16T10:46:32" - connection_type: "mobile" created_at: "2026-08-16T10:46:32" description: "Verizon Wireless mobile profile with 1280 MTU and 25s keepalive" device: null dns: null id: "verizon-mobile" is_builtin: true mtu: 1280 name: "Verizon Mobile" nat_type: "cgnat" persistent_keepalive: 25 provider: "verizon" updated_at: "2026-08-16T10:46:32" - connection_type: "mobile" created_at: "2026-08-16T10:46:32" description: "Apple iOS cellular profile with 1280 MTU and 25s keepalive" device: "ios" dns: null id: "ios-mobile" is_builtin: true mtu: 1280 name: "iOS Mobile" nat_type: "unknown" persistent_keepalive: 25 provider: null updated_at: "2026-08-16T10:46:32" >>> System info — yaml /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db --format yaml system info [PASS] System info — yaml arch: "x86_64" config_file: "/etc/nx9-wg/config.toml" data_dir: "/tmp/nx9-wg-cli-test.u7uMLB/data" database_path: "/tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db" log_level: "info" os: "linux" reconciliation_interval_secs: 60 session_expiry_hours: 24 version: "0.1.0" >>> System health — yaml /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db --format yaml system health [PASS] System health — yaml database: "connected" status: "healthy" timestamp: "2026-08-16T10:46:33.188558932+00:00" >>> Audit list — yaml /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db --format yaml audit list [PASS] Audit list — yaml - actor: "admin" created_at: "2026-08-16T10:46:32" event_type: "admin_initialized" id: 1 ip_address: null message: "Administrator initialized via secure random generation" metadata: null resource_id: "1" resource_type: "admin" >>> Network list — csv /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db --format csv network list [PASS] Network list — csv >>> Profile list — csv /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db --format csv profile list [PASS] Profile list — csv connection_type,created_at,description,device,dns,id,is_builtin,mtu,name,nat_type,persistent_keepalive,provider,updated_at mobile,2026-08-16T10:46:32,Android cellular client profile with 1280 MTU and 25s keepalive,android,null,android-mobile,true,1280,Android Mobile,unknown,25,null,2026-08-16T10:46:32 other,2026-08-16T10:46:32,Carrier-grade NAT environment profile with 1360 MTU and 25s keepalive,null,null,default-cgnat,true,1360,Default CGNAT,cgnat,25,null,2026-08-16T10:46:32 mobile,2026-08-16T10:46:32,Standard mobile carrier profile with 1280 MTU and 25s keepalive,null,null,default-mobile,true,1280,Default Mobile,unknown,25,null,2026-08-16T10:46:32 web,2026-08-16T10:46:32,Standard Web client profile with 1420 MTU and 25s keepalive,null,null,default-web,true,1420,Default Web,unknown,25,null,2026-08-16T10:46:32 wifi,2026-08-16T10:46:32,Standard Wi-Fi wireless profile with 1420 MTU and 25s keepalive,null,null,default-wifi,true,1420,Default Wi-Fi,unknown,25,null,2026-08-16T10:46:32 wired,2026-08-16T10:46:32,High-throughput wired Ethernet profile with 1420 MTU and 25s keepalive,null,null,default-wired,true,1420,Default Wired,direct,25,null,2026-08-16T10:46:32 mobile,2026-08-16T10:46:32,Reliance Jio 4G/5G mobile profile with 1280 MTU and 25s keepalive,null,null,jio-mobile,true,1280,Jio Mobile,cgnat,25,jio,2026-08-16T10:46:32 other,2026-08-16T10:46:32,Starlink satellite CGNAT profile with 1360 MTU and 25s keepalive,null,null,starlink-cgnat,true,1360,Starlink CGNAT,cgnat,25,starlink,2026-08-16T10:46:32 mobile,2026-08-16T10:46:32,T-Mobile US IPv6/CGNAT mobile profile with 1280 MTU and 25s keepalive,null,null,tmobile-mobile,true,1280,T-Mobile Mobile,cgnat,25,tmobile,2026-08-16T10:46:32 mobile,2026-08-16T10:46:32,Verizon Wireless mobile profile with 1280 MTU and 25s keepalive,null,null,verizon-mobile,true,1280,Verizon Mobile,cgnat,25,verizon,2026-08-16T10:46:32 mobile,2026-08-16T10:46:32,Apple iOS cellular profile with 1280 MTU and 25s keepalive,ios,null,ios-mobile,true,1280,iOS Mobile,unknown,25,null,2026-08-16T10:46:32 >>> System info — csv /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db --format csv system info [PASS] System info — csv arch,config_file,data_dir,database_path,log_level,os,reconciliation_interval_secs,session_expiry_hours,version x86_64,/etc/nx9-wg/config.toml,/tmp/nx9-wg-cli-test.u7uMLB/data,/tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db,info,linux,60,24,0.1.0 >>> System health — csv /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db --format csv system health [PASS] System health — csv database,status,timestamp connected,healthy,2026-08-16T10:46:33.216139326+00:00 >>> Audit list — csv /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db --format csv audit list [PASS] Audit list — csv actor,created_at,event_type,id,ip_address,message,metadata,resource_id,resource_type admin,2026-08-16T10:46:32,admin_initialized,1,null,Administrator initialized via secure random generation,null,1,admin ============================================================================ 22 — Global CLI Options ============================================================================ >>> Quiet mode /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db --quiet system health [PASS] Quiet mode database : connected status : healthy timestamp : 2026-08-16T10:46:33.227314621+00:00 >>> JSON shortcut /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db --json system health [PASS] JSON shortcut { "database": "connected", "status": "healthy", "timestamp": "2026-08-16T10:46:33.233149022+00:00" } >>> Verbose mode /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data --database /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db --verbose system health [PASS] Verbose mode database : connected status : healthy timestamp : 2026-08-16T10:46:33.238155166+00:00 ============================================================================ 23 — NX9_WG_* Environment Namespace ============================================================================ [PASS] NX9_WG_LOG_LEVEL accepted ============================================================================ 24 — Explicit Database Path Resolution ============================================================================ >>> Explicit nested database path /mnt/Programs/nx9-wg/target/release/nx9-wg --database /tmp/nx9-wg-cli-test.u7uMLB/explicit/nested/nx9-wg.db system health [FAIL] Explicit nested database path (exit=1) --- stderr --- Error: Sqlx(Database(SqliteError { code: 14, message: "unable to open database file" })) [FAIL] Explicit database file created ============================================================================ 25 — Data Directory Resolution ============================================================================ >>> Database created from data-dir /mnt/Programs/nx9-wg/target/release/nx9-wg --data-dir /tmp/nx9-wg-cli-test.u7uMLB/data-only system health [PASS] Database created from data-dir database : connected status : healthy timestamp : 2026-08-16T10:46:33.256892811+00:00 [PASS] Database exists below data-dir: /tmp/nx9-wg-cli-test.u7uMLB/data-only/nx9-wg.db ============================================================================ 26 — Source-Level Architecture Safety ============================================================================ [PASS] No external subprocess invocation in production Rust [PASS] No forbidden technical-debt markers [PASS] SQL isolated from application root ============================================================================ 27 — Environment Variable Namespace Source Audit ============================================================================ [PASS] No suspicious environment namespace references ============================================================================ 28 — FINAL VERIFICATION SUMMARY ============================================================================ Binary: /mnt/Programs/nx9-wg/target/release/nx9-wg Project: /mnt/Programs/nx9-wg Temporary test root: /tmp/nx9-wg-cli-test.u7uMLB Test database: /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db LIVE mode: 0 ------------------------------------------------------------------------ PASS : 199 FAIL : 4 SKIP : 7 TOTAL: 210 ------------------------------------------------------------------------ RESULT: FAIL One or more verification checks failed. The temporary environment will be preserved for investigation. ============================================================================ nx9-wg CLI verification finished ============================================================================ RESULT: FAIL PASS : 199 FAIL : 4 SKIP : 7 TOTAL: 210 Temporary test data PRESERVED for investigation: /tmp/nx9-wg-cli-test.u7uMLB Database: /tmp/nx9-wg-cli-test.u7uMLB/data/nx9-wg.db Password file: /tmp/nx9-wg-cli-test.u7uMLB/admin-password To inspect: ls -la "/tmp/nx9-wg-cli-test.u7uMLB" ls -la "/tmp/nx9-wg-cli-test.u7uMLB/data"