OmniEdge Release Notes
v2.0.0 (2026-01-28)
Complete Rust Rewrite
OmniEdge 2.0 is a complete ground-up rewrite from Go/n2n to pure Rust, delivering a modern, high-performance mesh VPN with significantly improved architecture.
Architecture Changes
| Component |
v1.x (Legacy) |
v2.0 (New) |
| Language |
Go + C (n2n) |
Pure Rust |
| Protocol |
n2n supernode/edge |
OmniNervous (custom) |
| TUN Driver |
tap-windows, tuntap |
omni-tun (native) |
| Desktop |
Wails v3 |
Tauri v2 + React |
| Signaling |
n2n supernode |
Nucleus server |
Three-Mode System
The CLI now supports three operational modes via --mode:
| Mode |
Description |
Auth Required |
VPN Tunnel |
Signaling Server |
| edge (default) |
Regular VPN client |
Yes |
Yes |
No |
| nucleus |
Signaling server only |
No |
No |
Yes |
| dual |
VPN client + signaling |
Yes |
Yes |
Yes |
:::bash
# Edge mode (default) - VPN client
omniedge start -n <network_id>
# Nucleus mode - Standalone signaling server (no VPN, no login required)
omniedge start --mode nucleus --secret "MySecretMin16Chars"
# Dual mode - VPN client + nucleus signaling server
omniedge start -n <network_id> --mode dual --secret "MySecretMin16Chars"
CLI Commands
| Command |
Description |
omniedge start |
Connect to a network |
omniedge stop |
Stop connection and background service |
omniedge status |
Show connection status and network info |
omniedge scan |
Scan local subnet and upload results |
Start Command Options
| Option |
Short |
Description |
--mode <MODE> |
-m |
Operating mode: edge (default), nucleus, dual |
--network-id <ID> |
-n |
Virtual network ID to join |
--as-exit-node |
-x |
Act as an exit node (allow traffic routing) |
--no-exit-node |
|
Disable exit node mode |
--exit-node <IP> |
-e |
Use a specific exit node IP |
--port <PORT> |
-p |
UDP port for nucleus server (default: 51820) |
--secret <SECRET> |
|
Cluster secret for nucleus mode (min 16 chars) |
--security-key <KEY> |
-s |
Security key for CI/server authentication |
Global Options
| Option |
Short |
Description |
--verbose |
-v |
Enable verbose output (show all logs to stderr) |
--help |
|
Show help |
--version |
|
Show version |
New Features
- Exit Node Support: Route all traffic through a peer
-x / --as-exit-node: Advertise this device as an exit node
--no-exit-node: Disable exit node mode (if previously enabled)
-e / --exit-node <ip>: Use a specific peer as exit node
- Exit node settings are persisted across restarts
- Security Key Authentication: Non-interactive login for automation
omniedge start -s <security_key> -n <network_id>
- Background Service: Native service integration
- Windows: Windows Service
- Linux: systemd unit file
- macOS: launchd plist
- Subnet Scanning: Discover local network hosts
omniedge scan -c 192.168.1.0/24
- Custom User Servers: Users can configure their own nucleus/relay servers via dashboard
- Status Command: Check connection status with
omniedge status
- Shows virtual IP, network, interface name, and exit node role
- Displays live data from network interface
Supported Platforms
CLI Binary Targets
| Platform |
Architectures |
| Linux |
x86_64, aarch64, armv7, riscv64 |
| macOS |
x86_64 (Intel), aarch64 (Apple Silicon) |
| Windows |
x86_64 |
Desktop Application
| Platform |
Architectures |
Formats |
| Linux |
x86_64 |
.deb, .rpm, .AppImage |
| macOS |
x86_64, aarch64 |
.dmg |
| Windows |
x86_64 |
.msi, .exe (NSIS) |
Package Formats
| Format |
Architectures |
| DEB |
amd64, arm64 |
| RPM |
x86_64, aarch64 |
| AppImage (CLI) |
x86_64 |
| DMG |
macOS x64, arm64 |
| MSI/NSIS |
Windows x64 |
| tar.gz/zip |
All platforms |
Desktop Application
- Tauri v2: Modern, lightweight desktop framework
- React 19 + TypeScript: Responsive UI with Vite
- System Tray: Quick access menu with network switching
- Dynamic Positioning: Window follows tray icon
- Cross-Platform: Windows, macOS, Linux
- Helper Binary: Bundled
omni-helper for privileged operations
Breaking Changes
- Complete Protocol Change: v2.0 is not compatible with v1.x networks
- All devices in a network must upgrade to v2.0
- Configuration Format: New TOML-based config replaces legacy format
- Architecture: Complete rewrite from Go/n2n to Rust/OmniNervous
- TUN Interface: Interface names changed
- Linux:
omniedge0 (was edge0)
- macOS:
utun* (unchanged)
- Windows:
OmniEdge (was tap-omniedge)
Migration Guide
- Uninstall v1.x: Remove old OmniEdge installation
- Install v2.0: Download and install new version
- Re-authenticate: Start with
omniedge start or use security key
Download Packages
CLI - Linux tar.gz
| Package |
Architecture |
omniedge-cli-v2.0.0-linux-x86_64.tar.gz |
x86_64 |
omniedge-cli-v2.0.0-linux-aarch64.tar.gz |
ARM64 |
omniedge-cli-v2.0.0-linux-riscv64.tar.gz |
RISC-V 64 |
CLI - DEB Packages
| Package |
Architecture |
omniedge-cli_2.0.0_amd64.deb |
Debian/Ubuntu x64 |
omniedge-cli_2.0.0_arm64.deb |
Debian/Ubuntu ARM64 |
CLI - RPM Packages
| Package |
Architecture |
omniedge-cli-2.0.0-1.x86_64.rpm |
Fedora/RHEL x64 |
omniedge-cli-2.0.0-1.aarch64.rpm |
Fedora/RHEL ARM64 |
CLI - AppImage
| Package |
Architecture |
omniedge-cli-2.0.0-x86_64.AppImage |
Linux x64 |
CLI - Other Platforms
| Package |
Platform |
omniedge-cli-v2.0.0-macos-x86_64.tar.gz |
macOS Intel |
omniedge-cli-v2.0.0-macos-aarch64.tar.gz |
macOS Apple Silicon |
omniedge-cli-v2.0.0-windows-x86_64.zip |
Windows x64 |
Desktop Applications
| Package |
Platform |
omniedge-desktop-2.0.0-windows-x64.msi |
Windows x64 (MSI) |
omniedge-desktop-2.0.0-windows-x64-setup.exe |
Windows x64 (NSIS) |
omniedge-desktop-2.0.0-macos-x64.dmg |
macOS Intel |
omniedge-desktop-2.0.0-macos-arm64.dmg |
macOS Apple Silicon |
omniedge-desktop-2.0.0-linux-x64.deb |
Linux x64 DEB |
omniedge-desktop-2.0.0-linux-x64.rpm |
Linux x64 RPM |
omniedge-desktop-2.0.0-linux-x64.AppImage |
Linux x64 AppImage |
Installation
Quick Install (Linux/macOS)
:::bash
curl -fsSL https://raw.githubusercontent.com/omniedgeio/omniedge/refs/heads/main/scripts/omniedge-install.sh | bash
Package Managers
:::bash
# Debian/Ubuntu
sudo dpkg -i omniedge-cli_2.0.0_amd64.deb
# Fedora/RHEL
sudo rpm -i omniedge-cli-2.0.0-1.x86_64.rpm
# AppImage
chmod +x omniedge-cli-2.0.0-x86_64.AppImage
./omniedge-cli-2.0.0-x86_64.AppImage
macOS CLI
:::bash
# Download and extract (Apple Silicon)
curl -LO https://github.com/omniedgeio/omniedge/releases/latest/download/omniedge-cli-v2.0.0-macos-aarch64.tar.gz
tar -xzf omniedge-cli-v2.0.0-macos-aarch64.tar.gz
sudo mv omniedge /usr/local/bin/
# Intel Mac
curl -LO https://github.com/omniedgeio/omniedge/releases/latest/download/omniedge-cli-v2.0.0-macos-x86_64.tar.gz
tar -xzf omniedge-cli-v2.0.0-macos-x86_64.tar.gz
sudo mv omniedge /usr/local/bin/
macOS Desktop Installation
- Download the
.dmg file for your Mac (ARM64 for Apple Silicon, x64 for Intel)
- Open the DMG and drag OmniEdge to Applications
- Open OmniEdge from Applications
- If you see a security warning:
- Open System Settings → Privacy & Security
- Scroll down and click Open Anyway next to the OmniEdge message
- Click Open in the confirmation dialog
Windows Desktop Installation
- Download the
.msi or -setup.exe installer
- Run the installer (may require administrator privileges)
- Launch OmniEdge from the Start Menu or System Tray
Linux Desktop Installation
:::bash
# DEB (Debian/Ubuntu)
sudo dpkg -i omniedge-desktop-2.0.0-linux-x64.deb
# RPM (Fedora/RHEL)
sudo rpm -i omniedge-desktop-2.0.0-linux-x64.rpm
# AppImage
chmod +x omniedge-desktop-2.0.0-linux-x64.AppImage
./omniedge-desktop-2.0.0-linux-x64.AppImage
Contributors
Thank you to all contributors who made this major release possible!