# sipeed/nanokvm

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/sipeed-nanokvm).**

6,061 stars · 258 forks · TypeScript · gpl-3.0

## Links

- GitHub: https://github.com/sipeed/NanoKVM
- Homepage: https://wiki.sipeed.com/nanokvm
- awesome-repositories: https://awesome-repositories.com/repository/sipeed-nanokvm.md

## Description

NanoKVM is a KVM-over-IP device that provides remote keyboard, video, and mouse control over IP networks for headless server management. It functions as remote server management hardware enabling out-of-band control of a computer's power, BIOS, and operating system over a network, while also serving as a RISC-V single-board computer for embedded and edge applications. The device additionally operates as an AI edge inference device running neural network models locally for real-time image recognition and object detection, and integrates Tailscale as a VPN appliance for secure peer-to-peer connections without requiring a public IP address.

The system delivers comprehensive remote server management through high-resolution video streaming with hardware-accelerated encoding, remote keyboard and mouse control via USB HID emulation, and ATX power control through GPIO pins for remote power cycling. It provides remote BIOS access, serial console access through a web-based terminal, ISO image mounting via virtual USB drives, and Wake-on-LAN host wakeup. Network connectivity is established through wired Ethernet or wireless connections, with support for static IP assignment, mDNS service discovery, and HTTPS secure access using TLS certificates.

For remote access beyond the local network, NanoKVM integrates Tailscale VPN for peer-to-peer connections and Cloudflare Tunnel for secure outbound-only proxying, both configurable through a browser-based interface. The device supports custom domain assignment for public internet exposure, DNS configuration via boot-partition files, and SSH access toggling through web settings. Automation capabilities include custom script execution for device tasks, while monitoring features display connection status and performance metrics on an OLED screen with automatic service restart on failure.

The system is updated through firmware and software update mechanisms via SD card, USB, or web interface, with initial setup performed by flashing a disk image to an SD card.

## Tags

### Hardware & IoT

- [KVM Hardware Interfaces](https://awesome-repositories.com/f/hardware-iot/remote-hardware-controllers/kvm-hardware-interfaces.md) — Connects to remote computers via USB, HDMI, and Ethernet to enable keyboard, video, and mouse control over IP. ([source](https://wiki.sipeed.com/hardware/en/kvm/NanoKVM/quick_start.html))
- [HID Emulations](https://awesome-repositories.com/f/hardware-iot/hid-emulations.md) — Emulates USB HID keyboard and mouse for remote input without additional host software.
- [ATX Power Controllers](https://awesome-repositories.com/f/hardware-iot/input-relay-decouplers/relay-power-controllers/atx-power-controllers.md) — Provides ATX power control via GPIO for remote power cycling of host computers.
- [Hardware Interfacing](https://awesome-repositories.com/f/hardware-iot/integration-performance/hardware-interfacing-integration/hardware-interfacing.md) — Interfaces with external hardware via GPIO, serial ports, and runs custom scripts for automation.
- [KVM-over-IP Devices](https://awesome-repositories.com/f/hardware-iot/kvm-over-ip-devices.md) — Provides remote keyboard, video, and mouse control over IP networks for headless server management.
- [Web-Based Connections](https://awesome-repositories.com/f/hardware-iot/connectivity-iot/hardware-communication/serial-port-interfaces/web-based-connections.md) — Connects to a serial port through the web interface for low-level device communication. ([source](https://wiki.sipeed.com/hardware/en/kvm/NanoKVM/user_guide.html))
- [Virtual Serial Terminals](https://awesome-repositories.com/f/hardware-iot/connectivity-iot/hardware-communication/virtual-serial-terminals.md) — Provides multiple serial terminal channels for direct console access to the host. ([source](https://cdn.jsdelivr.net/gh/sipeed/nanokvm@main/README.md))
- [Firmware OTA Update Systems](https://awesome-repositories.com/f/hardware-iot/firmware-management/remote-firmware-updaters/firmware-ota-update-systems.md) — Replaces system firmware by copying a file to the storage card and rebooting. ([source](https://wiki.sipeed.com/hardware/en/kvm/NanoKVM/user_guide.html))
- [RISC-V Boards](https://awesome-repositories.com/f/hardware-iot/single-board-computer-resources/risc-v-boards.md) — Serves as a compact computing board built around a RISC-V processor for embedded and edge applications.

### Part of an Awesome List

- [Browser-Based Remote Desktops](https://awesome-repositories.com/f/awesome-lists/devops/remote-desktop/browser-based-remote-desktops.md) — Provides browser-based remote desktop viewing by entering the device's IP address. ([source](https://wiki.sipeed.com/hardware/en/kvm/NanoKVM/quick_start.html))

### Business & Productivity Software

- [Remote Input Controllers](https://awesome-repositories.com/f/business-productivity-software/remote-input-controllers.md) — Captures host screen and emulates keyboard/mouse for full remote computer control. ([source](https://cdn.jsdelivr.net/gh/sipeed/nanokvm@main/README.md))

### Development Tools & Productivity

- [Remote Input Controllers](https://awesome-repositories.com/f/development-tools-productivity/input-pointer-automation/input-automation/remote-input-simulation/remote-input-controllers.md) — Simulates keyboard and mouse input to the host computer through the browser interface. ([source](https://wiki.sipeed.com/hardware/en/kvm/NanoKVM/user_guide.html))
- [Software Update Managers](https://awesome-repositories.com/f/development-tools-productivity/package-installers/software-update-managers.md) — Checks for and installs software updates through the management page settings. ([source](https://wiki.sipeed.com/hardware/en/kvm/NanoKVM/user_guide.html))
- [Serial Console Sessions](https://awesome-repositories.com/f/development-tools-productivity/remote-diagnostic-consoles/serial-console-sessions.md) — Opens a text-based serial console session to a remote machine over the local network. ([source](https://wiki.sipeed.com/hardware/en/kvm/NanoKVM/ipmi.html))
- [USB Configuration Drives](https://awesome-repositories.com/f/development-tools-productivity/virtual-file-systems/virtual-drive-emulation/usb-configuration-drives.md) — Presents a storage card as a USB mass storage device for file transfer or booting. ([source](https://wiki.sipeed.com/hardware/en/kvm/NanoKVM/introduction.html))
- [Web-Based Terminals](https://awesome-repositories.com/f/development-tools-productivity/web-based-terminals.md) — Provides a browser-accessible serial terminal by bridging UART to a WebSocket connection.

### Graphics & Multimedia

- [Video Input Processing](https://awesome-repositories.com/f/graphics-multimedia/media-processing-analysis/media-manipulation/media-processing-workflows/video-transformation-enhancement/chunked-video-processing/video-processing-apis/video-input-processing.md) — Captures video from a camera module for processing or streaming to remote viewers. ([source](https://wiki.sipeed.com/hardware/zh/lichee/RV_Nano/1_intro.html))
- [Hardware-Accelerated Video Pipelines](https://awesome-repositories.com/f/graphics-multimedia/media-processing-analysis/media-manipulation/media-processing/video-analysis-processing/hardware-accelerated-video-pipelines.md) — Uses hardware-accelerated video encoding for low-latency remote desktop streaming.
- [Hardware-Accelerated Captures](https://awesome-repositories.com/f/graphics-multimedia/streaming-distribution/streaming-broadcasting/media-streaming/video-streaming/high-fidelity-streaming/hardware-accelerated-captures.md) — Captures and streams high-resolution video with hardware-accelerated encoding for remote viewing. ([source](https://cdn.jsdelivr.net/gh/sipeed/nanokvm@main/README.md))

### Networking & Communication

- [Network Infrastructure and Configuration](https://awesome-repositories.com/f/networking-communication/network-infrastructure-routing/network-infrastructure-configuration.md) — Configures static IPs, DNS, domain names, and wireless connections for device network accessibility.
- [Tailscale VPN Connections](https://awesome-repositories.com/f/networking-communication/peer-to-peer-clients/connectivity-establishment/tailscale-vpn-connections.md) — Embeds Tailscale for peer-to-peer VPN connectivity, enabling secure remote access without public IP.
- [BIOS-Level Access](https://awesome-repositories.com/f/networking-communication/remote-access-control/bios-level-access.md) — Emulates a monitor and HID devices to provide remote BIOS access during boot. ([source](https://wiki.sipeed.com/hardware/en/kvm/NanoKVM/introduction.html))
- [Remote Power State Management](https://awesome-repositories.com/f/networking-communication/remote-access-control/remote-management-access/remote-power-state-management.md) — Controls host power state remotely via ATX pins and a web interface. ([source](https://wiki.sipeed.com/hardware/en/kvm/NanoKVM/quick_start.html))
- [Cloudflare Tunnel Proxies](https://awesome-repositories.com/f/networking-communication/reverse-tunnels/cloudflare-tunnel-proxies.md) — Integrates Cloudflare Tunnel for secure outbound-only proxying to expose the device publicly.

### System Administration & Monitoring

- [Out-of-Band Management](https://awesome-repositories.com/f/system-administration-monitoring/out-of-band-management.md) — Enables out-of-band control of a computer's power, BIOS, and operating system over a dedicated network channel.
- [Server Management Consoles](https://awesome-repositories.com/f/system-administration-monitoring/task-management/headless-management/server-management-consoles.md) — Provides a web-based console for remote BIOS access, power control, and serial terminal management of headless servers.
- [Web-Based Remote Terminals](https://awesome-repositories.com/f/system-administration-monitoring/web-based-remote-terminals.md) — Provides a browser-based terminal for executing shell commands on the remote host. ([source](https://cdn.jsdelivr.net/gh/sipeed/nanokvm@main/README.md))
- [Web-Based Server Administration Panels](https://awesome-repositories.com/f/system-administration-monitoring/web-based-server-administration-panels.md) — Delivers a centralized web interface for managing remote server configurations and services. ([source](https://wiki.sipeed.com/hardware/en/kvm/NanoKVM/introduction.html))

### Artificial Intelligence & ML

- [Edge AI Model Deployment](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/infrastructure/model-deployment-and-serving/local-and-on-device-inference/edge-ai-model-deployment.md) — Deploys and runs neural network models on the edge device for real-time image recognition and object detection.
- [Local AI Inference](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/infrastructure/model-deployment-and-serving/local-and-on-device-inference/local-ai-inference.md) — Runs neural network models locally on the device for real-time image recognition and object detection. ([source](https://wiki.sipeed.com/hardware/zh/lichee/RV_Nano/1_intro.html))

### Data & Databases

- [ISO Mounting Utilities](https://awesome-repositories.com/f/data-databases/file-storage-systems/filesystem-mounts/mount-namespace-virtualization/iso-mounting-utilities.md) — Mounts ISO images as virtual USB drives for remote OS installation. ([source](https://wiki.sipeed.com/hardware/en/kvm/NanoKVM/user_guide.html))

### DevOps & Infrastructure

- [Wake-on-LAN Automation](https://awesome-repositories.com/f/devops-infrastructure/network-automation/wake-on-lan-automation.md) — Sends Wake-on-LAN magic packets to power on remote computers. ([source](https://wiki.sipeed.com/hardware/en/kvm/NanoKVM/introduction.html))

### Security & Cryptography

- [Security & HTTPS](https://awesome-repositories.com/f/security-cryptography/network-infrastructure-security/web-network-security/security-https.md) — Encrypts the web interface connection using TLS certificates for secure remote access. ([source](https://wiki.sipeed.com/hardware/en/kvm/NanoKVM/network/frp.html))
- [Cloudflare Tunnels](https://awesome-repositories.com/f/security-cryptography/secure-remote-connectivity-tools/secure-tunneling/cloudflare-tunnels.md) — Establishes a secure outbound-only tunnel to Cloudflare, removing the need for public IPs or port forwarding. ([source](https://wiki.sipeed.com/hardware/en/kvm/NanoKVM/network/cloudflared.html))

### Web Development

- [KVM Web Interface Exposures](https://awesome-repositories.com/f/web-development/public-api-exposure/kvm-web-interface-exposures.md) — Provides a mechanism to expose the KVM web interface publicly via a relay server. ([source](https://wiki.sipeed.com/hardware/en/kvm/NanoKVM/network/frp.html))
