mirror of
https://github.com/mofeng-git/One-KVM.git
synced 2026-04-30 01:46:37 +08:00
chore: bump version to v0.1.9
Made-with: Cursor
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "one-kvm"
|
name = "one-kvm"
|
||||||
version = "0.1.8"
|
version = "0.1.9"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
authors = ["SilentWind"]
|
authors = ["SilentWind"]
|
||||||
description = "A open and lightweight IP-KVM solution written in Rust"
|
description = "A open and lightweight IP-KVM solution written in Rust"
|
||||||
|
|||||||
235
README.en.md
Normal file
235
README.en.md
Normal file
@@ -0,0 +1,235 @@
|
|||||||
|
<div align="center">
|
||||||
|
<h1>One-KVM</h1>
|
||||||
|
<p><strong>An open, lightweight IP-KVM stack in Rust — remote management down to BIOS level</strong></p>
|
||||||
|
|
||||||
|
<p><a href="README.md">简体中文</a> · <a href="README.en.md">English</a></p>
|
||||||
|
|
||||||
|
[](https://github.com/mofeng-git/One-KVM/releases)
|
||||||
|
[](https://github.com/mofeng-git/One-KVM/stargazers)
|
||||||
|
[](https://github.com/mofeng-git/One-KVM/network/members)
|
||||||
|
[](https://github.com/mofeng-git/One-KVM/issues)
|
||||||
|
</div>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
|
||||||
|
**One-KVM (Rust)** is a lightweight IP-KVM solution written in Rust. It lets you manage servers and workstations over the network, including at BIOS level.
|
||||||
|
|
||||||
|
Goals: an open, lightweight, easy-to-use IP-KVM stack.
|
||||||
|
|
||||||
|
- **Open**: not tied to one hardware recipe; runs across many setups.
|
||||||
|
- **Lightweight**: shipped as a binary with minimal moving parts for deployment.
|
||||||
|
- **Easy to use**: no hand-edited config files required; settings are done in the web UI.
|
||||||
|
|
||||||
|
> **One-KVM (Python)** is no longer maintained. If you still need it, see <https://github.com/mofeng-git/One-KVM/tree/python>.
|
||||||
|
|
||||||
|
<div align="center">
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
### Core
|
||||||
|
|
||||||
|
| Area | Capabilities |
|
||||||
|
|------|----------------|
|
||||||
|
| Video capture | HDMI USB / MIPI CSI / RK3588 HDMI IN; MJPEG and WebRTC (H.264 / H.265 / VP8 / VP9) |
|
||||||
|
| Video encoding | VAAPI / QSV / RKMPP / V4L2 M2M hardware paths, with software fallback |
|
||||||
|
| Keyboard & mouse | USB OTG HID or CH340 + CH9329 HID; absolute / relative mouse |
|
||||||
|
| Virtual media | USB mass storage; ISO/IMG mount and Ventoy-style virtual USB |
|
||||||
|
| ATX power | GPIO or USB relay; power and reset control |
|
||||||
|
| Audio | ALSA capture + Opus (HTTP / WebRTC) |
|
||||||
|
|
||||||
|
The web UI supports visual configuration and Chinese/English locales. Built-ins include a web terminal (ttyd), intranet tunnel (gostc), P2P (EasyTier), RustDesk protocol (optional cross-platform remote access), and RTSP streaming.
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
Release artifacts are on [GitHub Releases](https://github.com/mofeng-git/One-KVM/releases). Below are short paths for common setups. For **system requirements, hardware, Docker env vars, USB OTG**, and full troubleshooting, see the [One-KVM documentation](https://docs.one-kvm.cn/) (Chinese; use a translator if needed).
|
||||||
|
|
||||||
|
### Debian / Ubuntu (.deb)
|
||||||
|
|
||||||
|
Download a `one-kvm_*.deb` matching your CPU architecture from Releases, then from the directory containing the package:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo apt update
|
||||||
|
sudo apt install ./one-kvm_0.x.x_<arch>.deb
|
||||||
|
```
|
||||||
|
|
||||||
|
Replace the version and architecture in the filename with your actual file name.
|
||||||
|
|
||||||
|
### Docker
|
||||||
|
|
||||||
|
Images:
|
||||||
|
|
||||||
|
- **one-kvm** — main app + ttyd
|
||||||
|
- **one-kvm-full** — same plus optional extras (e.g. gostc, easytier-core)
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker run --name one-kvm -itd \
|
||||||
|
--privileged=true --restart unless-stopped \
|
||||||
|
-v /dev:/dev -v /sys:/sys \
|
||||||
|
--net=host \
|
||||||
|
silentwind0/one-kvm-full
|
||||||
|
```
|
||||||
|
|
||||||
|
If pulls are slow, use the Aliyun mirror, e.g. `registry.cn-hangzhou.aliyuncs.com/silentwind/one-kvm-full` (and `registry.cn-hangzhou.aliyuncs.com/silentwind/one-kvm` for the slim image).
|
||||||
|
|
||||||
|
### fnOS NAS (Feiniu / 飞牛)
|
||||||
|
|
||||||
|
One-KVM is listed in the fnOS **app store**; search and install on your NAS.
|
||||||
|
|
||||||
|
### Web UI and first run
|
||||||
|
|
||||||
|
Open `http://<device-ip>:8080` in a browser (**8420** after fnOS install). The first visit runs initial setup.
|
||||||
|
|
||||||
|
## Reporting issues
|
||||||
|
|
||||||
|
If something breaks:
|
||||||
|
|
||||||
|
1. Open [GitHub Issues](https://github.com/mofeng-git/One-KVM/issues) or report in the project QQ group.
|
||||||
|
2. Include **useful** error messages and steps to reproduce.
|
||||||
|
3. Mention software version, hardware, and OS details.
|
||||||
|
|
||||||
|
## Sponsorship
|
||||||
|
|
||||||
|
One-KVM builds on many great open-source projects; a lot of time goes into testing and maintenance. If you find it useful, you can support development on **[Afdian (为爱发电)](https://afdian.com/a/silentwind)**.
|
||||||
|
|
||||||
|
### Thanks
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary><strong>Supporter list</strong></summary>
|
||||||
|
|
||||||
|
- 浩龙的电子嵌入式之路
|
||||||
|
|
||||||
|
- 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
|
||||||
|
|
||||||
|
- 一语念白
|
||||||
|
|
||||||
|
- 云边
|
||||||
|
|
||||||
|
- 爱发电用户_5a711
|
||||||
|
|
||||||
|
- 爱发电用户_9a706
|
||||||
|
|
||||||
|
- T0m9ir1SUKI
|
||||||
|
|
||||||
|
- 爱发电用户_56d52
|
||||||
|
|
||||||
|
- 爱发电用户_3N6F
|
||||||
|
|
||||||
|
- DUSK
|
||||||
|
|
||||||
|
- 飘零
|
||||||
|
|
||||||
|
- .
|
||||||
|
|
||||||
|
- 饭太稀
|
||||||
|
|
||||||
|
- 葱
|
||||||
|
|
||||||
|
- MaxZ
|
||||||
|
|
||||||
|
- 爱发电用户_c5f33
|
||||||
|
|
||||||
|
- 爱发电用户_09386
|
||||||
|
|
||||||
|
- 爱发电用户_JT6c
|
||||||
|
|
||||||
|
- 爱发电用户_d3d9c
|
||||||
|
|
||||||
|
- ......
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
|
### Sponsors
|
||||||
|
|
||||||
|
**File hosting**
|
||||||
|
|
||||||
|
- **[Huang1111 public-interest program](https://pan.huang1111.cn/s/mxkx3T1)** — login-free downloads
|
||||||
|
|
||||||
|
**Cloud**
|
||||||
|
|
||||||
|
- **[林枫云](https://www.dkdun.cn)** — project server sponsorship
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
林枫云 offers premium network routes, high-frequency game servers, and high-bandwidth servers in China and abroad.
|
||||||
86
README.md
86
README.md
@@ -2,8 +2,9 @@
|
|||||||
<h1>One-KVM</h1>
|
<h1>One-KVM</h1>
|
||||||
<p><strong>Rust 编写的开放轻量 IP-KVM 解决方案,实现 BIOS 级远程管理</strong></p>
|
<p><strong>Rust 编写的开放轻量 IP-KVM 解决方案,实现 BIOS 级远程管理</strong></p>
|
||||||
|
|
||||||
<p><a href="README.md">简体中文</a></p>
|
<p><a href="README.md">简体中文</a> · <a href="README.en.md">English</a></p>
|
||||||
|
|
||||||
|
[](https://github.com/mofeng-git/One-KVM/releases)
|
||||||
[](https://github.com/mofeng-git/One-KVM/stargazers)
|
[](https://github.com/mofeng-git/One-KVM/stargazers)
|
||||||
[](https://github.com/mofeng-git/One-KVM/network/members)
|
[](https://github.com/mofeng-git/One-KVM/network/members)
|
||||||
[](https://github.com/mofeng-git/One-KVM/issues)
|
[](https://github.com/mofeng-git/One-KVM/issues)
|
||||||
@@ -15,57 +16,78 @@
|
|||||||
|
|
||||||
**One-KVM Rust** 是一个用 Rust 编写的轻量级 IP-KVM 解决方案,可通过网络远程管理服务器和工作站,实现 BIOS 级远程控制。
|
**One-KVM Rust** 是一个用 Rust 编写的轻量级 IP-KVM 解决方案,可通过网络远程管理服务器和工作站,实现 BIOS 级远程控制。
|
||||||
|
|
||||||
项目目标:
|
项目目标:提供一个开放、轻量、易用的 IPKVM 解决方案。
|
||||||
|
|
||||||
- **开放**:不绑定特定硬件配置,尽量适配常见 Linux 设备
|
- **开放**:不绑定特定硬件配置,可在各类硬件环境中稳定运行。
|
||||||
- **轻量**:单二进制分发,部署过程更简单
|
- **轻量**:以二进制文件形式分发,无繁杂的依赖项,部署过程简单。
|
||||||
- **易用**:网页界面完成设备与参数配置,无需手动改配置文件
|
- **易用**:无需手动编辑配置文件,参数设置均可通过网页界面完成。
|
||||||
|
|
||||||
> **注意:** One-KVM Rust 目前仍处于开发早期阶段,功能与细节会快速迭代,欢迎体验与反馈。
|
> **One-KVM Python** 已停止开发,如有需要可访问 <https://github.com/mofeng-git/One-KVM/tree/python>。
|
||||||
|
|
||||||
## 🔁 迁移说明
|
<div align="center">
|
||||||
|
|
||||||
开发重心正在从 **One-KVM Python** 逐步转向 **One-KVM Rust**。
|

|
||||||
|
|
||||||
- 如果你在使用 **One-KVM Python(基于 PiKVM)**,请查看 [One-KVM Python 文档](https://docs.one-kvm.cn/python/)
|
</div>
|
||||||
- One-KVM Rust 相较于 One-KVM Python:**尚未完全适配 CSI HDMI 采集卡**、**不支持 VNC 访问**,仍处于开发早期阶段
|
|
||||||
|
|
||||||
## 📊 功能介绍
|
## 📊 功能介绍
|
||||||
|
|
||||||
### 核心功能
|
### 核心功能
|
||||||
|
|
||||||
| 功能 | 说明 |
|
| 功能 | 能力说明 |
|
||||||
|------|------|
|
|------|------|
|
||||||
| 视频采集 | HDMI USB 采集卡支持,提供 MJPEG / WebRTC(H.264/H.265/VP8/VP9) |
|
| 视频采集 | HDMI USB /MIPI CSI/RK3588 HDMI IN 采集支持,提供 MJPEG / WebRTC(H.264/H.265/VP8/VP9) 视频流|
|
||||||
|
| 视频编码 | VAAPI/QSV/RKMPP/V4L2M2M 硬件编码支持,以及软件编码兜底 |
|
||||||
| 键鼠控制 | USB OTG HID 或 CH340 + CH9329 HID,支持绝对/相对鼠标模式 |
|
| 键鼠控制 | USB OTG HID 或 CH340 + CH9329 HID,支持绝对/相对鼠标模式 |
|
||||||
| 虚拟媒体 | USB Mass Storage,支持 ISO/IMG 镜像挂载和 Ventoy 虚拟U盘模式 |
|
| 虚拟媒体 | USB Mass Storage,支持 ISO/IMG 镜像挂载和 Ventoy 虚拟U盘模式 |
|
||||||
| ATX 电源控制 | GPIO 控制电源/重启按钮 |
|
| ATX 电源控制 | GPIO /USB 继电器,支持控制电源、重启按钮 |
|
||||||
| 音频传输 | ALSA 采集 + Opus 编码(HTTP/WebRTC) |
|
| 音频传输 | ALSA 采集 + Opus 编码(HTTP/WebRTC) |
|
||||||
|
|
||||||
### 硬件编码
|
此外提供基于 Web UI 的可视化配置与中英文界面;并集成 Web 终端(ttyd)、内网穿透(gostc)、P2P 组网(EasyTier)、RustDesk 协议(扩展跨平台远程访问)以及 RTSP 推流等能力。
|
||||||
|
|
||||||
支持自动检测和选择硬件加速:
|
|
||||||
|
|
||||||
- **VAAPI**:Intel/AMD GPU
|
|
||||||
- **RKMPP**:Rockchip SoC
|
|
||||||
- **V4L2 M2M**:通用硬件编码器
|
|
||||||
- **软件编码**:CPU 编码
|
|
||||||
|
|
||||||
### 扩展能力
|
|
||||||
|
|
||||||
- Web UI 配置,多语言支持(中文/英文)
|
|
||||||
- 内置 Web 终端(ttyd)、内网穿透支持(gostc)、P2P 组网支持(EasyTier)、RustDesk 协议集成(用于跨平台远程访问能力扩展)和 RTSP 视频流(用于视频推流)
|
|
||||||
|
|
||||||
## ⚡ 安装使用
|
## ⚡ 安装使用
|
||||||
|
|
||||||
可以访问 [One-KVM Rust 文档站点](https://docs.one-kvm.cn/) 获取详细信息。
|
构建产物见 [GitHub Releases](https://github.com/mofeng-git/One-KVM/releases)。以下为常见安装方式的简要步骤;**系统要求、硬件准备、Docker 环境变量与 USB OTG 等完整说明**请查阅 [One-KVM Rust 文档站点](https://docs.one-kvm.cn/)。
|
||||||
|
|
||||||
|
### 使用 deb 安装(Debian / Ubuntu)
|
||||||
|
|
||||||
|
从 Releases 下载与本机架构匹配的 `one-kvm_*.deb`,在包所在目录执行:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo apt update
|
||||||
|
sudo apt install ./one-kvm_0.x.x_<arch>.deb
|
||||||
|
```
|
||||||
|
|
||||||
|
将文件名中的版本号与架构替换为实际下载的包名。
|
||||||
|
|
||||||
|
### 使用 Docker
|
||||||
|
|
||||||
|
镜像分为 **one-kvm**(One-KVM 主程序 + ttyd)与 **one-kvm-full**(另含 gostc、easytier-core 等可选扩展),按需选用。
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker run --name one-kvm -itd \
|
||||||
|
--privileged=true --restart unless-stopped \
|
||||||
|
-v /dev:/dev -v /sys:/sys \
|
||||||
|
--net=host \
|
||||||
|
silentwind0/one-kvm-full
|
||||||
|
```
|
||||||
|
|
||||||
|
拉取较慢时,可将镜像名替换为阿里云加速,例如 `registry.cn-hangzhou.aliyuncs.com/silentwind/one-kvm-full`(`one-kvm` 镜像同理,将 `silentwind0/one-kvm` 换为 `registry.cn-hangzhou.aliyuncs.com/silentwind/one-kvm`)。
|
||||||
|
|
||||||
|
### 飞牛 NAS
|
||||||
|
|
||||||
|
One-KVM 已上架飞牛 **应用市场**,在 NAS 上直接搜索安装即可。
|
||||||
|
|
||||||
|
### 访问 Web 与首次配置
|
||||||
|
|
||||||
|
浏览器访问 `http://<设备 IP>:8080`(飞牛 NAS 安装后为 8420 端口)。首次访问将引导完成初始配置。
|
||||||
|
|
||||||
## 报告问题
|
## 报告问题
|
||||||
|
|
||||||
如果您发现了问题,请:
|
如果您发现了问题,请:
|
||||||
1. 使用 [GitHub Issues](https://github.com/mofeng-git/One-KVM/issues) 报告,或加入 QQ 群聊反馈。
|
1. 使用 [GitHub Issues](https://github.com/mofeng-git/One-KVM/issues) 报告,或加入 QQ 群聊反馈。
|
||||||
2. 提供详细的错误信息和复现步骤
|
2. 提供有帮助的错误信息和复现步骤
|
||||||
3. 包含您的硬件配置和系统信息
|
3. 包含您使用的软件版本、硬件配置和系统信息
|
||||||
|
|
||||||
## 赞助支持
|
## 赞助支持
|
||||||
|
|
||||||
@@ -88,8 +110,6 @@
|
|||||||
|
|
||||||
- Will
|
- Will
|
||||||
|
|
||||||
- 浩龙的电子嵌入式之路
|
|
||||||
|
|
||||||
- 自.知
|
- 自.知
|
||||||
|
|
||||||
- 观棋不语٩ ི۶
|
- 观棋不语٩ ི۶
|
||||||
@@ -188,8 +208,6 @@
|
|||||||
|
|
||||||
- 爱发电用户_JT6c
|
- 爱发电用户_JT6c
|
||||||
|
|
||||||
- MaxZ
|
|
||||||
|
|
||||||
- 爱发电用户_d3d9c
|
- 爱发电用户_d3d9c
|
||||||
|
|
||||||
- ......
|
- ......
|
||||||
@@ -205,7 +223,7 @@
|
|||||||
|
|
||||||
**云服务商**
|
**云服务商**
|
||||||
|
|
||||||
- **[林枫云](https://www.dkdun.cn)** - 赞助了本项目宁波大带宽服务器
|
- **[林枫云](https://www.dkdun.cn)** - 赞助了本项目服务器
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
|||||||
@@ -201,7 +201,7 @@ pub fn placeholder_html() -> &'static str {
|
|||||||
<h1>One-KVM</h1>
|
<h1>One-KVM</h1>
|
||||||
<p>Frontend not built yet.</p>
|
<p>Frontend not built yet.</p>
|
||||||
<p>Please build the frontend or access the API directly.</p>
|
<p>Please build the frontend or access the API directly.</p>
|
||||||
<div class="version">v0.1.8</div>
|
<div class="version">v0.1.9</div>
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
</html>"#
|
</html>"#
|
||||||
|
|||||||
4
web/package-lock.json
generated
4
web/package-lock.json
generated
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "web",
|
"name": "web",
|
||||||
"version": "0.1.8",
|
"version": "0.1.9",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "web",
|
"name": "web",
|
||||||
"version": "0.1.8",
|
"version": "0.1.9",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@vueuse/core": "^14.1.0",
|
"@vueuse/core": "^14.1.0",
|
||||||
"class-variance-authority": "^0.7.1",
|
"class-variance-authority": "^0.7.1",
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "web",
|
"name": "web",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "0.1.8",
|
"version": "0.1.9",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "vite",
|
"dev": "vite",
|
||||||
|
|||||||
Reference in New Issue
Block a user