One-KVM
DIY IP-KVM solution based on PiKVM
简体中文 | English
📋 Table of Contents
📖 Project Overview
One-KVM is a DIY IP-KVM solution built upon the open-source PiKVM project. It uses cost-effective hardware to provide BIOS-level remote management for servers and workstations.
Use Cases
- Home lab management – Remotely manage servers and development devices
- Server maintenance – Perform system maintenance without physical access
- System recovery – Troubleshoot boot and BIOS/UEFI issues remotely
📊 Features
Core Capabilities
| Feature | Description | Benefit |
|---|---|---|
| Non-intrusive | No software/driver required on the target machine | OS-agnostic; access BIOS/UEFI |
| Cost-effective | Leverages affordable hardware (TV boxes, dev boards) | Lower cost for KVM-over-IP |
| Extendable | Added utilities on top of PiKVM | Docker, recording, Chinese UI |
| Deployment | Supports Docker and prebuilt images | Preconfigured images for specific devices |
Limitations
This project is maintained by an individual with limited resources and no commercial plan.
- No built-in free NAT punching/tunneling service
- No 24×7 technical support
- No guarantee on stability/compliance; use at your own risk
- User experience is optimized, but basic technical skills are still required
Feature Comparison
💡 Note: The table below compares One-KVM with other PiKVM-based projects for reference only. If there are omissions or inaccuracies, please open an issue to help improve it.
| Feature | One-KVM | PiKVM | ArmKVM | BLIKVM |
|---|---|---|---|---|
| Simplified Chinese WebUI | ✅ | ❌ | ✅ | ✅ |
| Remote video stream | MJPEG/H.264 | MJPEG/H.264 | MJPEG/H.264 | MJPEG/H.264 |
| H.264 encoding | CPU | GPU | Unknown | GPU |
| Remote audio | ✅ | ✅ | ✅ | ✅ |
| Remote mouse/keyboard | OTG/CH9329 | OTG/CH9329/Pico/Bluetooth | OTG | OTG |
| VNC control | ✅ | ✅ | ✅ | ✅ |
| ATX power control | GPIO/USB relay | GPIO | GPIO | GPIO |
| Virtual drive mounting | ✅ | ✅ | ✅ | ✅ |
| Web terminal | ✅ | ✅ | ✅ | ✅ |
| Docker deployment | ✅ | ❌ | ❌ | ❌ |
| Commercial offering | ❌ | ✅ | ✅ | ✅ |
⚡ Quick Start
Method 1: Docker (Recommended)
The Docker variant supports OTG or CH9329 as virtual HID and runs on Linux for amd64/arm64/armv7.
One-liner Script
curl -sSL https://one-kvm.mofeng.run/quick_start.sh -o quick_start.sh && bash quick_start.sh
Manual Deployment
It is recommended to use the --net=host network mode for better WOL functionality and WebRTC communication support.
Docker host network mode:
Port 8080: HTTP Web service
Port 4430: HTTPS Web service
Port 5900: VNC service
Port 623: IPMI service
Ports 20000-40000: WebRTC communication port range for low-latency video
Port 9 (UDP): Wake-on-LAN (WOL)
Docker host mode:
Using OTG as virtual HID:
sudo docker run --name kvmd -itd --privileged=true \
-v /lib/modules:/lib/modules:ro -v /dev:/dev \
-v /sys/kernel/config:/sys/kernel/config -e OTG=1 \
--net=host \
silentwind0/kvmd
Using CH9329 as virtual HID:
sudo docker run --name kvmd -itd \
--device /dev/video0:/dev/video0 \
--device /dev/ttyUSB0:/dev/ttyUSB0 \
--net=host \
silentwind0/kvmd
Docker bridge mode:
Using OTG as virtual HID:
sudo docker run --name kvmd -itd --privileged=true \
-v /lib/modules:/lib/modules:ro -v /dev:/dev \
-v /sys/kernel/config:/sys/kernel/config -e OTG=1 \
-p 8080:8080 -p 4430:4430 -p 5900:5900 -p 623:623 \
silentwind0/kvmd
Using CH9329 as virtual HID:
sudo docker run --name kvmd -itd \
--device /dev/video0:/dev/video0 \
--device /dev/ttyUSB0:/dev/ttyUSB0 \
-p 8080:8080 -p 4430:4430 -p 5900:5900 -p 623:623 \
silentwind0/kvmd
Method 2: Flash Prebuilt One-KVM Images
Preconfigured images are provided for specific hardware platforms to simplify deployment and enable out-of-the-box experience.
Download
GitHub:
- GitHub Releases: https://github.com/mofeng-git/One-KVM/releases
Other mirrors:
- No-login mirror: https://pan.huang1111.cn/s/mxkx3T1
- Baidu Netdisk: https://pan.baidu.com/s/166-2Y8PBF4SbHXFkGmFJYg?pwd=o9aj (code: o9aj)
Supported Hardware Platforms
| Firmware | Codename | Hardware | Latest | Status |
|---|---|---|---|---|
| OneCloud | Onecloud | USB capture card, OTG | 241018 | ✅ |
| CumeBox 2 | Cumebox2 | USB capture card, OTG | 241004 | ✅ |
| Vmare | Vmare-uefi | USB capture card, CH9329 | 241004 | ✅ |
| VirtualBox | Virtualbox-uefi | USB capture card, CH9329 | 241004 | ✅ |
| s905l3a Generic | E900v22c | USB capture card, OTG | 241004 | ✅ |
| Chainedbox | Chainedbox | USB capture card, OTG | 241004 | ✅ |
| Loongson 2K0300 | 2k0300 | USB capture card, CH9329 | 241025 | ✅ |
🤝 Contributing
Contributions of all kinds are welcome!
How to Contribute
- Fork this repo
- Create a feature branch:
git checkout -b feature/AmazingFeature - Commit your changes:
git commit -m 'Add some AmazingFeature' - Push to the branch:
git push origin feature/AmazingFeature - Open a Pull Request
Report Issues
If you find bugs or have suggestions:
- Open an issue via GitHub Issues
- Provide detailed error logs and reproduction steps
- Include your hardware and system information
Sponsorship
This project builds upon many great open-source projects and requires considerable time for testing and maintenance. If you find it helpful, consider supporting via Afdian.
Thanks
Click to view the thank-you list
-
浩龙的电子嵌入式之路
-
Tsuki
-
H_xiaoming
-
0蓝蓝0
-
fairybl
-
Will
-
浩龙的电子嵌入式之路
-
自.知
-
观棋不语٩ ི۶
-
爱发电用户_a57a4
-
爱发电用户_2c769
-
霜序
-
远方(闲鱼用户名:小远技术店铺)
-
爱发电用户_399fc
-
斐斐の
-
爱发电用户_09451
-
超高校级的錆鱼
-
爱发电用户_08cff
-
guoke
-
mgt
-
姜沢掵
-
ui_beam
-
爱发电用户_c0dd7
-
爱发电用户_dnjK
-
忍者胖猪
-
永遠の願い
-
爱发电用户_GBrF
-
爱发电用户_fd65c
-
爱发电用户_vhNa
-
爱发电用户_Xu6S
-
moss
-
woshididi
-
爱发电用户_a0fd1
-
爱发电用户_f6bH
-
码农
-
爱发电用户_6639f
-
jeron
-
爱发电用户_CN7y
-
爱发电用户_Up6w
-
爱发电用户_e3202
-
......
Sponsors
This project is supported by the following sponsors:
CDN & Security:
- Tencent EdgeOne – CDN acceleration and security protection
File Storage:
- Huang1111公益计划 – No-login download service
📚 Others
Open-source Projects Used
This project is built upon the following excellent open-source projects:
- PiKVM – Open-source DIY IP-KVM solution
