Docs

Doc / Compare / n2n Vs. OmniEdge



n2n vs. OmniEdge

Important: OmniEdge v2.x Migration

OmniEdge v2.x is a complete rewrite that no longer uses n2n. The legacy Go/n2n-based OmniEdge v1.x has been replaced with a pure Rust implementation using the WireGuard-based OmniNervous protocol.

AspectOmniEdge v1.x (Legacy)OmniEdge v2.x (Current)
LanguageGo + C (n2n)Pure Rust
Protocoln2n supernode/edgeOmniNervous (WireGuard-based)
EncryptionTwofish, AES128, ChaCha20ChaCha20-Poly1305
LicenseGPL-3.0 (n2n)Apache-2.0 / MIT
Repositoryomniedge-legacyomniedge

If you're still using n2n directly or OmniEdge v1.x, we recommend upgrading to v2.x for better performance, security, and features.

What is n2n?

n2n is a lightweight VPN that creates virtual networks bypassing intermediate firewalls. It uses a peer-to-peer architecture with:

  • edge: Node software that runs on each device
  • supernode: Server that coordinates peer discovery and relays traffic when needed

OmniEdge v1.x was built on top of n2n, providing a managed service layer with authentication, dashboard, and cross-platform apps.

Why We Moved Away from n2n

While n2n served us well, we rewrote OmniEdge in Rust for:

Reasonn2nOmniEdge v2.x
Memory safetyC (manual memory management)Rust (compile-time safety)
Modern cryptoTwofish, AESWireGuard (ChaCha20-Poly1305, Curve25519)
NAT traversalBasicAdvanced (STUN, TURN, UPnP, NAT-PMP)
PerformanceGoodIndustrial-grade (Cpk 2.92)
ExtensibilityLimitedWASM plugin system
LicenseGPL-3.0Apache-2.0 / MIT

n2n vs. OmniEdge Comparison

Setup

n2n requires manual configuration:

# On the supernode server
supernode -p 7654

# On each edge device (manual IP, key, supernode address)
edge -c mynetwork -k mysecretkey -a 10.0.0.1 -l supernode.example.com:7654
edge -c mynetwork -k mysecretkey -a 10.0.0.2 -l supernode.example.com:7654

You need to:

  • Remember network names, keys, and IPs for each device
  • Create configuration files for each device
  • Manage supernodes manually

OmniEdge is zero-config:

# Install and connect (all configuration handled automatically)
curl -fsSL https://raw.githubusercontent.com/omniedgeio/omniedge/main/scripts/omniedge-install.sh | bash
sudo omniedge start

The dashboard manages:

  • Network names and IPs
  • Device authentication
  • Security keys
  • Multiple virtual networks

Features Comparison

Featuren2nOmniEdge v2.x
Central managementManualDashboard
AuthenticationShared secretOAuth, SSO, Security Keys
Multi-networkManual configBuilt-in
NAT traversalUDP hole punchingSTUN/TURN + relay fallback
Symmetric NATLimitedFull support (relay)
Exit nodeNoYes
Plugin systemNoYes (WASM)
Desktop appNoYes (Tauri)
Mobile appsCommunityComing Soon

Performance

n2n performance varies by encryption cipher and network conditions.

OmniEdge v2.x has been validated through 50-run longitudinal testing:

MetricOmniEdge v2.xNotes
Latency overhead+0.3msMinimal encryption cost
Latency stability (Cpk)2.92 (6-Sigma)Industrial-grade
Throughput3470 Mbit/sOn 4970 Mbit/s native network
Jitter0.057ms StdDevPredictable, bounded

Security

Aspectn2nOmniEdge v2.x
EncryptionTwofish, AES-128, ChaCha20ChaCha20-Poly1305 (WireGuard)
Key exchangeStatic shared secretNoise protocol (Curve25519)
Forward secrecyNoYes (session keys rotate)
AuthenticationPasswordOAuth2, SAML, Security Keys

When to Use n2n

n2n is still useful if you:

  • Need a lightweight, self-hosted solution with no external dependencies
  • Are comfortable with manual configuration
  • Need GPL-licensed software
  • Don't require advanced NAT traversal or management features

When to Use OmniEdge

OmniEdge v2.x is better if you:

  • Want zero-config setup with a management dashboard
  • Need reliable connectivity through challenging NAT environments
  • Require industrial-grade latency stability (robotics, teleoperation)
  • Want modern WireGuard-based encryption
  • Need plugin extensibility (WASM)
  • Prefer permissive licensing (Apache-2.0/MIT)

Migrating from n2n or OmniEdge v1.x

  1. Uninstall the legacy version
  2. Install OmniEdge v2.x:
    curl -fsSL https://raw.githubusercontent.com/omniedgeio/omniedge/main/scripts/omniedge-install.sh | bash
  3. Connect to your network:
    sudo omniedge start

All existing networks and devices in your OmniEdge dashboard will work with v2.x.

Self-Hosted Options

n2n: Run your own supernode.

OmniEdge v2.x: Run in nucleus mode for air-gapped environments:

# Self-hosted signaling server
sudo omniedge start --mode nucleus --port 51821 --secret "YourLabSecret123"

If you have more questions, feel free to discuss.

On This Page

OmniEdge

© 2026 OmniEdge Inc. All rights reserved

Built by a global remote team.

TwitterGithubDiscord