diff --git a/Cargo.toml b/Cargo.toml index a032d777..04cd0e65 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "one-kvm" -version = "0.1.8" +version = "0.1.9" edition = "2021" authors = ["SilentWind"] description = "A open and lightweight IP-KVM solution written in Rust" diff --git a/README.en.md b/README.en.md new file mode 100644 index 00000000..d8e857c9 --- /dev/null +++ b/README.en.md @@ -0,0 +1,235 @@ +
+

One-KVM

+

An open, lightweight IP-KVM stack in Rust — remote management down to BIOS level

+ +

简体中文 · English

+ + [![GitHub Release](https://img.shields.io/github/v/release/mofeng-git/One-KVM)](https://github.com/mofeng-git/One-KVM/releases) + [![GitHub stars](https://img.shields.io/github/stars/mofeng-git/One-KVM?style=social)](https://github.com/mofeng-git/One-KVM/stargazers) + [![GitHub forks](https://img.shields.io/github/forks/mofeng-git/One-KVM?style=social)](https://github.com/mofeng-git/One-KVM/network/members) + [![GitHub issues](https://img.shields.io/github/issues/mofeng-git/One-KVM)](https://github.com/mofeng-git/One-KVM/issues) +
+ +--- + +## 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 . + +
+ +![One-KVM web console](https://one-kvm.cn/hero-app-effect.png) + +
+ +## 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_.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://: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 + +
+Supporter 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 + +- 一语念白 + +- 云边 + +- 爱发电用户_5a711 + +- 爱发电用户_9a706 + +- T0m9ir1SUKI + +- 爱发电用户_56d52 + +- 爱发电用户_3N6F + +- DUSK + +- 飘零 + +- . + +- 饭太稀 + +- 葱 + +- MaxZ + +- 爱发电用户_c5f33 + +- 爱发电用户_09386 + +- 爱发电用户_JT6c + +- 爱发电用户_d3d9c + +- ...... + +
+ +### Sponsors + +**File hosting** + +- **[Huang1111 public-interest program](https://pan.huang1111.cn/s/mxkx3T1)** — login-free downloads + +**Cloud** + +- **[林枫云](https://www.dkdun.cn)** — project server sponsorship + +![林枫云](https://docs.one-kvm.cn/img/36076FEFF0898A80EBD5756D28F4076C.png) + +林枫云 offers premium network routes, high-frequency game servers, and high-bandwidth servers in China and abroad. diff --git a/README.md b/README.md index 7798cb72..86e92f70 100644 --- a/README.md +++ b/README.md @@ -2,8 +2,9 @@

One-KVM

Rust 编写的开放轻量 IP-KVM 解决方案,实现 BIOS 级远程管理

-

简体中文

+

简体中文 · English

+ [![GitHub Release](https://img.shields.io/github/v/release/mofeng-git/One-KVM)](https://github.com/mofeng-git/One-KVM/releases) [![GitHub stars](https://img.shields.io/github/stars/mofeng-git/One-KVM?style=social)](https://github.com/mofeng-git/One-KVM/stargazers) [![GitHub forks](https://img.shields.io/github/forks/mofeng-git/One-KVM?style=social)](https://github.com/mofeng-git/One-KVM/network/members) [![GitHub issues](https://img.shields.io/github/issues/mofeng-git/One-KVM)](https://github.com/mofeng-git/One-KVM/issues) @@ -15,57 +16,78 @@ **One-KVM Rust** 是一个用 Rust 编写的轻量级 IP-KVM 解决方案,可通过网络远程管理服务器和工作站,实现 BIOS 级远程控制。 -项目目标: +项目目标:提供一个开放、轻量、易用的 IPKVM 解决方案。 -- **开放**:不绑定特定硬件配置,尽量适配常见 Linux 设备 -- **轻量**:单二进制分发,部署过程更简单 -- **易用**:网页界面完成设备与参数配置,无需手动改配置文件 +- **开放**:不绑定特定硬件配置,可在各类硬件环境中稳定运行。 +- **轻量**:以二进制文件形式分发,无繁杂的依赖项,部署过程简单。 +- **易用**:无需手动编辑配置文件,参数设置均可通过网页界面完成。 -> **注意:** One-KVM Rust 目前仍处于开发早期阶段,功能与细节会快速迭代,欢迎体验与反馈。 +> **One-KVM Python** 已停止开发,如有需要可访问 。 -## 🔁 迁移说明 +
-开发重心正在从 **One-KVM Python** 逐步转向 **One-KVM Rust**。 +![One-KVM Web 控制台界面](https://one-kvm.cn/hero-app-effect.png) -- 如果你在使用 **One-KVM Python(基于 PiKVM)**,请查看 [One-KVM Python 文档](https://docs.one-kvm.cn/python/) -- 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 Mass Storage,支持 ISO/IMG 镜像挂载和 Ventoy 虚拟U盘模式 | -| ATX 电源控制 | GPIO 控制电源/重启按钮 | +| ATX 电源控制 | GPIO /USB 继电器,支持控制电源、重启按钮 | | 音频传输 | ALSA 采集 + Opus 编码(HTTP/WebRTC) | -### 硬件编码 - -支持自动检测和选择硬件加速: - -- **VAAPI**:Intel/AMD GPU -- **RKMPP**:Rockchip SoC -- **V4L2 M2M**:通用硬件编码器 -- **软件编码**:CPU 编码 - -### 扩展能力 - -- Web UI 配置,多语言支持(中文/英文) -- 内置 Web 终端(ttyd)、内网穿透支持(gostc)、P2P 组网支持(EasyTier)、RustDesk 协议集成(用于跨平台远程访问能力扩展)和 RTSP 视频流(用于视频推流) +此外提供基于 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_.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 群聊反馈。 -2. 提供详细的错误信息和复现步骤 -3. 包含您的硬件配置和系统信息 +2. 提供有帮助的错误信息和复现步骤 +3. 包含您使用的软件版本、硬件配置和系统信息 ## 赞助支持 @@ -88,8 +110,6 @@ - Will -- 浩龙的电子嵌入式之路 - - 自.知 - 观棋不语٩ ི۶ @@ -188,8 +208,6 @@ - 爱发电用户_JT6c -- MaxZ - - 爱发电用户_d3d9c - ...... @@ -205,7 +223,7 @@ **云服务商** -- **[林枫云](https://www.dkdun.cn)** - 赞助了本项目宁波大带宽服务器 +- **[林枫云](https://www.dkdun.cn)** - 赞助了本项目服务器 ![林枫云](https://docs.one-kvm.cn/img/36076FEFF0898A80EBD5756D28F4076C.png) diff --git a/src/web/static_files.rs b/src/web/static_files.rs index d744a71a..d4c0e95b 100644 --- a/src/web/static_files.rs +++ b/src/web/static_files.rs @@ -201,7 +201,7 @@ pub fn placeholder_html() -> &'static str {

One-KVM

Frontend not built yet.

Please build the frontend or access the API directly.

-
v0.1.8
+
v0.1.9
"# diff --git a/web/package-lock.json b/web/package-lock.json index e5bc76eb..1e51035f 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -1,12 +1,12 @@ { "name": "web", - "version": "0.1.8", + "version": "0.1.9", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "web", - "version": "0.1.8", + "version": "0.1.9", "dependencies": { "@vueuse/core": "^14.1.0", "class-variance-authority": "^0.7.1", diff --git a/web/package.json b/web/package.json index 1742add0..0028901a 100644 --- a/web/package.json +++ b/web/package.json @@ -1,7 +1,7 @@ { "name": "web", "private": true, - "version": "0.1.8", + "version": "0.1.9", "type": "module", "scripts": { "dev": "vite",