Download Latest Version omniedge-cli-2.9.0-linux-arm64.tar.gz (7.4 MB)
Email in envelope

Get an email when there's a new version of OmniEdge

Home / v2.9.0
Name Modified Size InfoDownloads / Week
Parent folder
omniedge-desktop-2.9.0-windows-x64-setup.exe 2026-02-16 9.5 MB
omniedge-desktop-2.9.0-windows-x64.msi 2026-02-16 13.5 MB
omniedge-desktop-2.9.0-macos-x64.dmg 2026-02-16 15.5 MB
omniedge-2.9.0-openwrt-arm64.ipk 2026-02-16 6.1 MB
omniedge-2.9.0-openwrt-arm64.apk 2026-02-16 6.1 MB
omniedge-2.9.0-openwrt-x64.apk 2026-02-16 6.7 MB
omniedge-2.9.0-openwrt-x64.ipk 2026-02-16 6.7 MB
omniedge-desktop-2.9.0-macos-arm64.dmg 2026-02-16 14.6 MB
omniedge-cli-2.9.0-macos-x64.tar.gz 2026-02-16 7.1 MB
omniedge-desktop-2.9.0-linux-x64.AppImage 2026-02-16 93.0 MB
omniedge-desktop-2.9.0-linux-x64.deb 2026-02-16 16.9 MB
omniedge-desktop-2.9.0-linux-x64.rpm 2026-02-16 16.9 MB
omniedge-cli-2.9.0-windows-x64.zip 2026-02-16 6.4 MB
omniedge-cli-2.9.0-macos-arm64.tar.gz 2026-02-16 6.7 MB
omniedge-cli-2.9.0-linux-x64.AppImage 2026-02-16 8.0 MB
omniedge-cli-2.9.0-linux-x64.deb 2026-02-16 5.8 MB
omniedge-cli-2.9.0-linux-x64.rpm 2026-02-16 7.7 MB
omniedge-cli-2.9.0-linux-arm64.deb 2026-02-16 5.5 MB
omniedge-cli-2.9.0-linux-x64.tar.gz 2026-02-16 7.8 MB
omniedge-cli-2.9.0-linux-arm64.rpm 2026-02-16 7.3 MB
omniedge-cli-2.9.0-linux-arm64.tar.gz 2026-02-16 7.4 MB
omniedge-cli-2.9.0-linux-riscv64.tar.gz 2026-02-16 7.7 MB
OmniEdge v2.9.0 source code.tar.gz 2026-02-16 1.8 MB
OmniEdge v2.9.0 source code.zip 2026-02-16 1.9 MB
README.md 2026-02-16 3.3 kB
Totals: 25 Items   286.5 MB 0

macOS P2P Connectivity & OmniNervous v1.0.0

This release resolves critical P2P connectivity failures on macOS Desktop and upgrades the core networking library OmniNervous to v1.0.0.

Bug Fixes

macOS TUN Packet Information Header (Critical)
  • Root Cause: macOS tun crate always includes a 4-byte packet information (PI) header on TUN reads/writes. The TUN reader parsed from byte 0, hitting the PI header instead of the IP version nibble, causing all tunnel traffic to be silently dropped.
  • Fix: Added PI_OFFSET = 4 on macOS (0 on other platforms). TUN reads skip the PI header; TUN writes prepend AF_INET/AF_INET6 PI headers.
macOS EINVAL on Dual-Stack Socket (Critical)
  • Root Cause: macOS requires IPv4 addresses to be mapped to ::ffff:x.x.x.x format when sent through IPv6 dual-stack sockets. Raw IPv4 SocketAddr causes EINVAL.
  • Fix: Added to_mapped_v6() helper applied at all UDP send sites in both OmniNervous and omni-core.
Permission Denied on auth.json
  • Root Cause: ~/.omniedge/auth.json was owned by root after running CLI with sudo, preventing the desktop app from reading it.
  • Fix: chown_to_real_user() detects the real user via $SUDO_USER and corrects file ownership after writes.
Broken Pipe on start_vpn IPC
  • Root Cause: connect_with_token() blocked synchronously in the helper's IPC handler, causing the Unix socket connection to time out.
  • Fix: tokio::spawn for async VPN startup; desktop app polls connection status every 500ms instead of waiting for a single response.
Nucleus Returns 0 Peers
  • Root Cause: get_recent_peers() filtered by joined_at.elapsed() < 90s, returning 0 peers when no recent joins occurred.
  • Fix: Returns all peers for new registrations + API-seeded peer discovery ensures immediate connectivity.

OmniNervous Upgrade

Component Previous New
OmniNervous v0.5.0 v1.0.0

Key improvements in OmniNervous v1.0.0:

  • macOS TUN PI header handling (automatic)
  • macOS dual-stack socket IPv4-mapped IPv6 conversion
  • BoringTun timer loop and queued packet flushing
  • Full peer list for new cluster registrations
  • CGNAT (100.64.0.0/10) VIP validation

Files Changed

File Change
crates/omni-core/src/config.rs chown_to_real_user() for auth.json ownership
crates/omni-core/src/manager.rs to_mapped_v6(), API-seeded peer discovery
crates/omni-helper/src/lib.rs Async start_vpn with tokio::spawn
crates/omni-proto/src/lib.rs Added query_peer() method
ui/desktop/src-tauri/src/lib.rs Status polling loop, improved error messages
crates/omni-core/Cargo.toml Added libc dependency
All Cargo.toml Version bumped to 2.9.0

Platforms

  • macOS (Apple Silicon): All fixes verified — ping 100.64.0.18 works through P2P tunnel
  • Linux: No changes in behavior — all macOS fixes are #[cfg(target_os = "macos")] conditional
  • Windows: Unaffected

Compatibility

  • OmniNervous: v1.0.0 (required)
  • Existing Networks: Backward compatible with v2.7.x/v2.5.x networks
  • Mixed Versions: v2.9.0 clients work with older clients (macOS fixes are local only)

Source: README.md, updated 2026-02-16