JetKVM: High-Performance Open-Source KVM over IP for Remote Management

Technology

Discover JetKVM, an open-source, high-performance KVM over IP solution designed for seamless remote management of computers, servers, and workstations with ultra-low latency and flexible access options.

JetKVM is a high-performance, open-source KVM over IP (Keyboard, Video, Mouse) solution designed for efficient remote management of computers, servers, and workstations. Whether you're dealing with boot failures, installing a new operating system, adjusting BIOS settings, or simply taking control of a machine from afar, JetKVM provides the tools to get it done effectively.

Key Features

  • Ultra-low Latency: Experience 1080p@60FPS video with just 30-60ms latency, utilizing H.264 encoding. Enjoy smooth mouse and keyboard interaction for highly responsive remote control.
  • Free & Optional Remote Access: Leverage remote management capabilities via JetKVM Cloud using WebRTC.
  • Open-source Software: Developed in Golang on Linux, JetKVM is easily customizable through SSH access to the device.

Contributing

The JetKVM project welcomes contributions from the community. Whether you aim to improve the firmware, add new features, or enhance documentation, your input is highly valued. We have specific guidelines and a Code of Conduct that contributors are encouraged to read carefully.

Seeking Assistance

The best place to find answers is our Documentation. If you can't find what you're looking for there, please check our Discord Server.

Reporting Issues

If you've encountered an issue and wish to report it, please visit our Issues page. Make sure your description contains information about the firmware version you're using, your platform, and a clear explanation of the steps to reproduce the issue.

Development

JetKVM is primarily written in Go and TypeScript, with certain components implemented in C. An intermediate understanding of Go and TypeScript knowledge is recommended for comfortable development.

The project is structured into two main parts: the backend software that runs on the KVM device, and the frontend software that is served by the KVM device and also powers the cloud interface.

For comprehensive development information, including setup instructions, testing procedures, debugging tips, and detailed contribution guidelines, refer to the DEVELOPMENT.md file.

For rapid device development, utilize the ./dev_deploy.sh script. This script automates the process of building the frontend and backend, then deploying them to your local KVM device. Run ./dev_deploy.sh --help for additional options and information.

Backend

The backend, written in Go, is responsible for KVM device management, the cloud API, and the cloud web interface.

Frontend

The frontend, written in React and TypeScript, is served by the KVM device. It supports three distinct build targets:

  • device: Used for building the frontend specifically for the KVM device.
  • development: Designed for developing the cloud version on your local machine.
  • production: Intended for building the frontend for the cloud.