🚀 Core Networking & Robustness
- Optimization & Performance:
- Dynamic MSS Clamping: Fixed TCP "hanging" issues by setting MSS to 1360 across all platforms.
- Safe MTU: Defaulted to 1400 for better VPN encapsulation headroom.
- Multi-Supernode Tracking: Improved stability by tracking and routing all resolved IPs for a supernode host.
- Platform-Specific Enhancements:
- Windows Reliability: Switched to PowerShell for 100% reliable gateway detection.
- Modern Linux DNS: Implemented non-destructive DNS management via
resolvectlandresolvconf. - System DNS Integrity: Strictly respects system DNS settings, avoiding overrides unless explicitly required.
- Dynamic Routing:
- Smart NAT: Automatically calculates virtual CIDR for NAT masquerading based on assigned VIP and mask.
🛠️ Simplified CLI & Experience
- Unified
startCommand:- Automatically triggers browser-based login if not authenticated.
- Launches interactive network selection after login.
- Automatically forks to the background (daemon mode) after interaction.
- New Lifecycle Commands:
omniedge status: View real-time connection info, IP, and PID.omniedge stop: Gracefully terminate the background engine and restore system routes.
- Process Management: Integrated background daemonization for both CLI and Desktop environments.
🔐 Authentication & Security
- Secure Persistence:
- No Plaintext Secrets: Sensitive data (passwords, secret keys) is no longer stored in
auth.json. - Keychain Sync: Refresh tokens are now properly synchronized to prevent valid sessions from becoming stale.
- Restricted Permissions: Configuration files now default to
0600(owner-only access) for enhanced security.
- No Plaintext Secrets: Sensitive data (passwords, secret keys) is no longer stored in
- Robust Token Management:
- Refresh Token Fix: Fixed an issue where non-rotating keys could be overwritten, ensuring long-lived sessions persist correctly.
- Legacy Removal: Completely removed insecure username/password login methods in favor of Browser-based OAuth and Security Keys.
🐛 Bug Fixes
- Exit Node Propagation:
start --as-exit-nodenow correctly signals the backend, ensuring the device is listed as an available exit node. - Root Daemon Management:
omniedge stopnow intelligently handles permission errors, requesting sudo if needed to terminate a root-owned daemon.