EdgeView Launcher is a native desktop application for managing and connecting to ZEDEDA-managed edge devices via EdgeView. Unlike other solutions, this application runs directly on your operating system without requiring Docker containers or complex environment setup. It is available for macOS, Windows, and Linux.
- Native User Interface: A standalone desktop application that integrates with your operating system.
- Integrated Remote Desktop: Built-in noVNC viewer for graphical access to device displays.
- Integrated Terminal: Full-featured xTerm-based SSH terminal for command-line access.
- TCP Tunneling: Create secure tunnels to services running on EVE-OS devices.
- Session Management: Handles authentication and session persistence automatically.
Download the latest release for your operating system from the GitHub Releases page.
macOS Users: If the application is not code signed, you may need to clear the quarantine attribute after moving the application to your Applications folder:
xattr -cr "/Applications/EdgeView Launcher.app"- Launch the application.
- Navigate to the Settings tab.
- Add a new cluster configuration with your ZEDEDA instance URL and API token.
- Save the configuration and connect to start managing your devices.
This repository contains three main parts:
- Tauri shell (
src-tauri/) – window management, tray integration, secure storage, and process orchestration - Frontend (
frontend/) – React UI, device search, tunnel management, terminal and VNC views - Go backend (root Go files and
internal/) – HTTP API, EdgeView session management, SSH/VNC/TCP tunneling
For a more detailed architectural overview, see CLAUDE.md (and AGENTS.md) and the source code in internal/, frontend/, and src-tauri/.
- Rust toolchain (for the Tauri desktop shell)
- Go toolchain (for the backend sidecar)
- Node.js (v20+ recommended) + npm (for the frontend React UI)
The development workflow is driven by the Tauri + Go backend + React frontend stack. The typical setup is:
- Build and run the Go backend
- Build the backend binary at the repository root into
src-tauri/binaries/edgeview-backend-{target}.
- Build the backend binary at the repository root into
- Run Tauri in development mode
- Run
npm run devat the project root to start the Tauri app. Tauri will automatically spawn the Go backend and the Vite dev server.
- Run
Exact commands and variations can be found in CLAUDE.md and the package/config files (package.json, tauri.conf.json).
src-tauri/src/main.rs– Tauri main process, tray icon, window lifecycle, backend sidecar orchestrationsrc-tauri/src/commands/– Rust commands exposed to the React frontendfrontend/src/App.jsx– main React UI for clusters, devices, tunnels, and settingsfrontend/src/components/TerminalView.jsx– xterm.js-based SSH terminal over WebSocketfrontend/src/components/VncViewer.jsx– noVNC-based remote desktop clienthttp-server.go– HTTP and WebSocket routes used by the frontend (via the Tauriapi_callcommand)app.goandinternal/packages – ZEDEDA API client, EdgeView sessions, tunnel manager, SSH handling
Refer to comments in these files and to CLAUDE.md for implementation details and development conventions.
Build and packaging are handled via Tauri CLI. To create distributable installers:
# macOS ARM64 (default)
npm run build
# Windows x64 (requires cross-compilation setup or running on Windows)
npm run build:windows
# Linux x64
npm run build:linuxArtifacts are written into src-tauri/target/ (per-target release/bundle/ subfolders).
For distribution, the app should be code signed and notarized to avoid security warnings.
Refer to package.json build configuration for signing identities and notarization scripts.
Without signing, users may need to manually bypass Gatekeeper (e.g., xattr -cr /Applications/EdgeView\ Launcher.app).
The application supports automatic updates via GitHub Releases:
- Checks for updates automatically on startup (production builds only)
- Users are notified when new versions are available
- One-click download and installation
- Manual update check available in Settings
For detailed information about the auto-update system, see docs/AUTO_UPDATE.md.
This repository is maintained by ZEDEDA. While the source code is public, we require:
- All changes must be submitted via Pull Requests
- At least one maintainer approval required before merging
- Branch protection prevents direct pushes to main
- Issues and discussions are welcome for bug reports and feature requests
Before contributing, please:
- Open an issue to discuss your proposed changes
- Fork the repository and create a feature branch
- Ensure tests pass (
npm testin frontend/) - Submit a pull request with a clear description
CLAUDE.md/AGENTS.md– repository-specific development guidance, architecture notes, and testing instructionsfrontend/WARP.md– frontend-focused development guidancedocs/AUTO_UPDATE.md– detailed auto-update implementation and release process- Source code (especially
internal/andfrontend/) for the authoritative behaviour of sessions, tunnels, and UI flows
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.