Compare commits

...

4025 Commits
v0.5.1 ... main

Author SHA1 Message Date
mofeng-git
96a6e7edcd fix: 设置 gostc 监听地址为本地避免未授权访问 2025-12-03 13:41:28 +08:00
mofeng-git
50c3e6a32a feat: 支持 NOGOSTC dcoker 环境变量 #204 2025-12-03 13:37:03 +08:00
mofeng-git
c8305cc65d feat: 支持 turn 中转,可以远程访问 h264/webrtc #197 2025-12-03 13:09:41 +08:00
SilentWind
aae4e936db
Update README.md 2025-11-30 14:49:18 +08:00
mofeng-git
45a04f7570 feat: 添加 docker 环境 CH9329NUM #195 2025-11-27 17:41:34 +08:00
mofeng-git
53ba69f4aa fix: 删除多余参数 2025-11-05 09:15:26 +08:00
mofeng-git
53229a9055 feat: 优化编译参数 2025-11-04 22:55:12 +08:00
SilentWind
f97df0d830
Merge pull request #183 from nuintun/fix-html-tag
fix: 修复由于非法的 HTML 标签造成的宏中脚本事件个数信息位置错误的问题
2025-10-19 21:08:27 +08:00
nuintun
8ed5e4abc3
fix: 修复由于非法的 HTML 标签造成的宏中脚本事件个数信息位置错误的问题 2025-10-19 21:05:44 +08:00
mofeng-git
1e727ddc1b fix: 替换 Octopus-Planet dtb 修复 OTG 问题 2025-10-12 17:15:37 +08:00
mofeng-git
da84a6d09f feat: 为 Onecloud Pro、Octopus-Planet 添加 DRM 设备支持(HDMI 环出模拟) 2025-10-12 15:26:43 +08:00
SilentWind
9c35c68eda
fix: 修复 kvmd 访问硬件加速设备的权限规则 2025-10-12 09:22:26 +08:00
mofeng-git
651f9a4f4e feat: 更新演示站点地址 2025-10-11 15:43:04 +08:00
mofeng-git
7777f5e490 feat: 更新说明文档 2025-10-11 11:21:47 +08:00
mofeng-git
3ab5e2b431 fix: 修复 OEC TURBO 硬件编解码权限问题 2025-10-01 07:42:08 +08:00
mofeng-git
65874c6b43 fix: 修复 docker 版本VNC 服务权限问题 2025-09-30 23:53:35 +08:00
mofeng-git
67b943c151 fix: 修复 dnsmasq 软件包启动问题,解决引入的 DNS 解析 BUG 2025-09-30 23:53:28 +08:00
mofeng-git
593de19df5 fix: 更新网页部分文本 2025-09-30 21:32:35 +08:00
SilentWind
5296e61281
fix 2025-09-30 13:08:03 +08:00
mofeng-git
1729badc55 feat: 一些新功能和修复
1.启用初步 DRM 显示支持
2.预装 gostc 内网穿透
3.修复 systemd.journal 缺失问题
2025-09-29 21:18:41 +08:00
mofeng-git
9373790f37 feat: 更新设备配置和服务依赖
- 在 devices.sh 中启用 rc-local.service,以确保 kvmd 服务的正常运行
- 更新 ustreamer 配置,修正音频设备参数
- 修改 kvmd.service 文件,添加对 rc-local.service 的依赖
2025-09-28 23:43:04 +08:00
mofeng-git
edb9112435 feat: 大幅优化 RKMPP 在 ustreamer 中的编解码性能
feat: 添加 DRM 初步支持

fix: 修复 OEC TURBO 硬件编解码设备权限错误
2025-09-28 15:24:25 +08:00
mofeng-git
0328163a9e fix: 玩客云 sn 读取错误 2025-09-27 16:45:58 +08:00
mofeng-git
0c9d94e1c5 feat: 更新安装脚本以支持 dnsmasq 服务,解决 otgnet 服务所需依赖
- 新增 dnsmasq 包安装
- 启用 dnsmasq 服务并禁用 systemd-resolved
- 添加 IP 转发配置
2025-09-27 10:53:25 +08:00
mofeng-git
d4bd94cb8a feat: 更新网络配置和MAC地址生成逻辑
- 在 install.sh 中为 onecloud 和 onecloud-pro 平台启用基于 SN 的 MAC 地址生成机制
2025-09-27 09:50:34 +08:00
mofeng-git
e7c891353b feat: 新增OEC-Turbo设备支持和完善构建系统
- 新增OEC-Turbo设备构建支持,基于Debian 12 Armbian镜像
- 实现OEC-Turbo专用rootfs准备函数,支持GPT分区结构
- 添加VPU硬件编码支持,启用RK MPP加速
- 实现DTB自动下载和替换功能,避免loop设备冲突
- 修复设备特定配置函数命名机制,支持连字符转下划线
- 优化rc.local文件下载逻辑,允许文件可选不存在
- 完善系统FFmpeg包版本检测,支持bookworm和noble
- 更新GitHub Actions工作流支持OEC-Turbo设备CI构建
2025-09-20 12:49:58 +08:00
mofeng-git
3f8a9e3b2c feat: 新增香橙派 Zero One 设备构建支持
- 在 build_img.sh 中新增 orangepi-zero 构建目标支持
2025-09-20 11:31:57 +08:00
mofeng-git
4d4f528178 feat: 增强构建系统功能和设备兼容性
- 在 common.sh 中新增 download_rc_local 函数,支持自动下载平台特定的 rc.local 文件
- 集成 rc.local 自动下载到 install.sh 的 config_base_files 函数中
- 更新 cumebox2 设备配置,使用较新的 Armbian 镜像版本并增加 900MB 扩展空间
- 更新 octopus-flanet 设备使用最新的 Armbian 25.05.0 镜像
- 在 udev 规则中为 ttyUSB0 设备添加 kvmd-hid 符号链接支持
- 完善文件下载机制,支持 GitHub Actions 环境下的临时文件清理
2025-09-19 20:15:37 +08:00
SilentWind
201c615ce2
Merge pull request #178 from mofeng-git/dev
适配 Onecloud Pro 设备
2025-09-19 15:53:13 +08:00
mofeng-git
8cc9e22c91 适配 Onecloud Pro 设备 2025-09-19 15:52:30 +08:00
SilentWind
892d2b6f41
fix: 增加 ATX 初始值 2025-09-14 09:10:40 +08:00
SilentWind
30dd4290ab
Merge pull request #171 from mofeng-git/dev
Dev
2025-08-27 15:12:20 +08:00
mofeng-git
f900c4bb5a fix: 尝试修复视频格式环境变量不生效和 ttyd 下载失败问题 2025-08-27 15:11:12 +08:00
mofeng-git
6299f04127 fix: 修复初始化脚本报错 2025-08-26 10:51:57 +08:00
mofeng-git
08551e737e fix: 修复ARM64 Rockchip构建错误并优化Docker配置 2025-08-26 01:17:41 +08:00
mofeng-git
bbef7bb5c4 fix: 修复Docker多架构构建中FFmpeg库依赖问题
- 修复arm64-libs.tar.gz条件复制,使用通配符避免文件不存在错误
- 在stage-0中添加arm64架构FFmpeg库的条件复制
- 添加libyuv0依赖包支持
- 确保只在arm64下复制自定义编译的FFmpeg相关库文件
2025-08-25 22:39:27 +08:00
mofeng-git
b94cc14e2a feat: 增强初始化脚本功能
- 支持只设置WEB密码而保持admin用户名
- 添加视频格式参数设置支持(VIDEOFORMAT)
- 新增HTTP/HTTPS端口配置功能
- 修复依赖包管理和视频格式变量名错误
2025-08-25 21:13:16 +08:00
mofeng-git
ecc27c2be7 fix: 修复MSD上传功能和多项构建优化
- 修复MSD上传中prefix参数编码问题
- 移除重复的uploading-sub元素定义
- 优化Python依赖库清理和缓存管理
- 改进Rockchip硬件加速库构建流程
- 增强国际化语言检测和设置
- 修正ttyd下载地址和系统服务配置
2025-08-25 20:14:50 +08:00
mofeng-git
ccdfd52b75 fix: 修正libwebsockets的克隆地址为GitHub 2025-08-25 01:00:22 +08:00
mofeng-git
7ccac8bc9e feat: 添加ARM64 Rockchip硬件加速支持
- 集成Rockchip MPP和RGA硬件加速库
- 添加libx264和v4l2m2m支持
- 为不同架构优化FFmpeg依赖:
  * AMD64: 系统FFmpeg + Intel硬件加速
  * ARM: 系统FFmpeg
  * ARM64: 自编译FFmpeg + Rockchip硬件加速
2025-08-25 00:24:46 +08:00
SilentWind
6f4cf12c69
Merge pull request #170 from mofeng-git/dev
docs: 添加英文文档和完善中文README文档
2025-08-24 16:09:27 +08:00
mofeng-git
916a0483b4 docs: 添加英文文档和完善中文README文档 2025-08-24 16:08:25 +08:00
SilentWind
c262db4a18
Merge pull request #167 from mofeng-git/dev
合并 Dev  分支开发内容
2025-08-23 11:02:01 +08:00
mofeng-git
0b4d83dc93 fix: 完善ustreamer编译缓存解决方案
- 在编译完成后将目录重命名为标准路径 /tmp/ustreamer
- 确保后续构建步骤能正确引用 ustreamer 二进制文件
- 保持缓存破坏机制的同时维护构建流程的兼容性
2025-08-23 10:05:00 +08:00
mofeng-git
16878dc7ff feat: 基础软件包中添加FFmpeg库和v4l工具 2025-08-23 00:19:27 +08:00
mofeng-git
f80e063495 fix: 修复视频方向设置的多语言支持
- 在 navbar-system.pug 中为 video_orientation 添加 i18n 属性
- 修复 video_mode 的多语言显示问题
- 更新 menu_radio_td2 mixin 支持 i18n 属性传递
2025-08-22 23:33:47 +08:00
mofeng-git
d411affca4 fix: 禁用 ustreamer 编译步骤的 Docker 构建缓存
- 在 Dockerfile-stage-0 中添加 CACHEBUST 参数强制重新编译 ustreamer
- GitHub Actions 构建时传递时间戳作为 CACHEBUST 值
- 确保 ustreamer 每次构建都使用最新源码
2025-08-22 23:04:50 +08:00
mofeng-git
04b13b1215 feat: 添加硬件编码器支持和修复 janus.js 错误
- 添加 HWENCODER 环境变量支持,支持 vaapi、nvenc、amf、v4l2m2m、mediacodec、videotoolbox 等硬件编码器
- 修复 janus.js 相关错误,添加 adapter.js 支持
- 更新 Docker 构建配置以支持硬件编码
- 优化 ustreamer 配置,支持硬件编码回退机制
2025-08-22 21:25:13 +08:00
mofeng-git
bdd97c5ea3 fix: 修复 Firefox 登录界面布局问题
- 统一表格样式,设置 border-collapse 和 border-spacing
- 调整标签文本左对齐,减少行间距
- 修复输入框边框样式,添加统一的边框和圆角
- 统一记住我选择框和语言选择框的宽度样式
2025-08-22 15:51:54 +08:00
mofeng-git
fafd790b3e feat: 更新 janus.js 依赖库到官方最新版本
- 删除旧版本的 adapter.js 文件
- 更新 janus.js 到官方最新版本
- 修复 WebRTC 适配器兼容性问题
2025-08-22 15:37:40 +08:00
mofeng-git
432c61fd91 feat: 完善 Docker 镜像构建工作流和配置优化
- 重构 GitHub Actions 工作流,支持分阶段构建和多平台部署
- 优化 Dockerfile 依赖库配置,增加必要的系统包
- 完善初始化脚本和 KVMD 配置项
- 修复构建过程中的依赖和库文件处理
2025-08-22 15:19:56 +08:00
mofeng-git
10fbd0611f fix: 更新 GitHub Actions 镜像构建工作流配置 2025-08-22 02:21:48 +08:00
mofeng-git
e87942a5a9 feat: 添加 CH9329 HID 芯片断联自动重试功能
- 当 CH9329 芯片通信异常时自动发送复位命令
- 增加 2 秒延迟等待芯片恢复连接
- 防止 HID 功能因芯片断联而失效

代码来自 https://github.com/mofeng-git/One-KVM/pull/164
代码作者 https://github.com/snltty
2025-08-21 17:29:11 +08:00
mofeng-git
19d1c52ac4 feat: 完善 Web 界面国际化支持
- 将包含数字的无意义 i18n 键名替换为语义化名称 (如 kvm_text1 → about_title)
- 为缺失多语言支持的界面文本添加中英文翻译
- 修复不准确的翻译内容和 HTML 标签格式错误
- 更新所有 Pug 模板文件以使用新的 i18n 键名
- 新增登录页面"记住我"、USB 连接确认等功能的多语言支持
- 统一翻译键命名规范,提升代码可维护性
2025-08-21 13:23:33 +08:00
mofeng-git
2c056ca3e3 feat: merge upstream master - version 4.94
Merge upstream PiKVM master branch updates:

- Bump version from 4.93 to 4.94
- HID: improved jiggler pattern for better compatibility
- Streamer: major refactoring for improved performance and maintainability
- Prometheus: tidying GPIO channel name formatting
- Web: added __gpio-label class for custom styling
- HID: customizable /api/hid/print delay configuration
- ATX: independent power/reset regions for better control
- OLED: added --fill option for display testing
- Web: improved keyboard handling in modal dialogs
- Web: enhanced login error messages
- Switch: added heartbeat functionality
- Web: mouse touch code simplification and refactoring
- Configs: use systemd-networkd-wait-online --any by default
- PKGBUILD: use cp -r to install systemd units properly
- Various bug fixes and performance improvements
2025-08-21 11:26:59 +08:00
mofeng-git
caf3533872 chore: 更新项目配置文件
- 在 .gitignore 中添加 CLAUDE.md 排除规则
- 删除 AUTO_DOWNLOAD.md 文件
2025-08-20 19:28:39 +08:00
mofeng-git
187c713424 refactor: 完善代码质量检查和修复系统
主要改进:
- 添加 make tox-local 本地代码质量检查支持
- 创建 check-code.sh 脚本支持独立工具执行
- 修复 51+ flake8 代码风格问题(未使用导入、行尾空格、注释格式等)
- 解决 pylint 变量命名和日志格式问题
- 重构 make_image 方法解决 too-many-statements 警告
- 添加类型注解和修复方法签名不匹配问题
- 统一代码风格规范(引号使用、空格格式等)

工具配置:
- 更新 tox.ini 支持 Python 3.10 本地环境
- 添加缺失的核心依赖包定义
- 完善 Makefile 构建系统集成
2025-08-20 19:25:57 +08:00
mofeng-git
c8d1dcca30 feat: 完善 GitHub Actions 工作流和构建系统
- 添加自动下载缺失文件功能,支持 .xz 压缩格式
- 优化构建流程,增加文件清理和压缩功能
- 修复发布资产上传步骤,确保预发布标记正确设置
- 调整发布标签格式,包含版本号、设备目标和运行 ID
- 升级 Actions 版本,使用 softprops/action-gh-release@v1
- 移除 NFS 挂载依赖,简化部署流程
- 增强错误处理和日志输出
2025-08-20 16:12:40 +08:00
Maxim Devaev
0809ab4878 Bump version: 4.93 → 4.94 2025-08-12 22:08:08 +03:00
Maxim Devaev
678744ce91 pikvm/pikvm#1571: hid: improved jiggler pattern 2025-08-12 22:07:05 +03:00
Maxim Devaev
bd5e17da4b streamer: refactoring 2025-08-12 21:42:08 +03:00
Maxim Devaev
fd7bcbd88a Bump version: 4.92 → 4.93 2025-08-10 15:34:54 +03:00
Maxim Devaev
cfbb6f1be7 prometheus: tidying gpio channel name 2025-08-10 15:34:03 +03:00
Maxim Devaev
4a0029bab7 web: added __gpio-label class by user's request 2025-08-10 15:29:37 +03:00
mofeng-git
6002dfd9c7 更新说明文档 2025-07-30 00:58:17 +08:00
Maxim Devaev
42efb73c98 Bump version: 4.91 → 4.92 2025-07-28 21:01:17 +03:00
Maxim Devaev
9b5b6f6152 pikvm/pikvm#1563, pikvm/pikvm#1564: Customizable /api/hid/print delay 2025-07-28 21:00:32 +03:00
Maxim Devaev
dc7f38a1b6 hid: fix 2025-07-28 17:11:12 +03:00
Maxim Devaev
e5cee0ec5e Bump version: 4.90 → 4.91 2025-07-27 21:20:50 +03:00
Maxim Devaev
776b93cab6 lint fix 2025-07-27 21:05:47 +03:00
Pharrell
43eada0fef Update stream_mjpeg.js
fix typo
2025-07-27 20:28:18 +03:00
Maxim Devaev
ec994f4518 Bump version: 4.89 → 4.90 2025-07-16 20:27:48 +03:00
Ivan Shapovalov
70c5b9fc4b configs: use systemd-networkd-wait-online --any by default
This way, systemd-networkd-wait-online won't hang on boot for users
who only have _some_ of the configured interfaces online / in use
(which is the case for everyone who sets up Wi-Fi, since kvmd-bootconfig
does not remove eth0.network even if it was never intended to be used).

We deem this networking semantics typical for Pi-KVM in general; users
who need to wait for multiple interfaces to activate will have to
countermand this drop-in manually.

Fixes pikvm/pikvm#1514.
2025-07-16 20:26:38 +03:00
Ivan Shapovalov
296b1f3bda PKGBUILD: use cp -r to install systemd units
We are about to have subdirectories in configs/os/services/, so use
`cp` instead of `install` to copy everything wholesale.
2025-07-16 20:26:38 +03:00
Maxim Devaev
263e252db7 Bump version: 4.88 → 4.89 2025-07-15 19:46:10 +03:00
Maxim Devaev
9b433a909a hotfix 2025-07-15 19:45:29 +03:00
Maxim Devaev
0cf6f183c8 Bump version: 4.87 → 4.88 2025-07-15 18:40:06 +03:00
SilentWind
cf6addeb0f
Update README.md
更新 CDN 加速赞助信息
2025-07-15 19:28:35 +08:00
Maxim Devaev
d57c3c66cd atx: independent power/reset regions 2025-07-14 18:15:39 +03:00
Maxim Devaev
49638ed896 oled: --fill option to test the display 2025-07-09 13:09:47 +03:00
Maxim Devaev
fbf5e52b0f streamer: refactoring 2025-07-09 13:09:02 +03:00
Maxim Devaev
6bdda82822 Bump version: 4.86 → 4.87 2025-06-28 02:21:01 +03:00
Maxim Devaev
1142cc9d65 web: fixed keys handling with <input> inside the modal dialog 2025-06-28 02:20:14 +03:00
Maxim Devaev
1b5df61f61 Bump version: 4.85 → 4.86 2025-06-23 22:13:06 +03:00
Maxim Devaev
b4b1fb8d9a web: improved kb handling in modals 2025-06-19 08:27:56 +03:00
Maxim Devaev
f22e05ac88 web: login: Improved error messages 2025-06-19 07:50:06 +03:00
Maxim Devaev
6661efe61d Bump version: 4.84 → 4.85 2025-06-19 03:47:32 +03:00
Maxim Devaev
a68f860b8e switch: heartbeat 2025-06-19 03:46:42 +03:00
Maxim Devaev
e8498858bb web: mouse: simplified touch code 2025-06-12 03:00:21 +03:00
Maxim Devaev
8b5c87c893 web: mouse: refactoring 2025-06-12 02:46:48 +03:00
Maxim Devaev
824955fb83 Bump version: 4.83 → 4.84 2025-06-11 22:10:01 +03:00
SilentWind
8560a46f17
Update issue templates 2025-06-12 00:21:04 +08:00
SilentWind
d4b4cdc492
Update issue templates 2025-06-12 00:12:06 +08:00
SilentWind
687cea3658
Update issue templates 2025-06-12 00:11:17 +08:00
SilentWind
12c7566581
Update issue templates 2025-06-12 00:09:20 +08:00
Maxim Devaev
0e3c821863 pikvm/pikvm#1498: Option to suspend stream on inactive tab 2025-06-11 18:40:53 +03:00
Maxim Devaev
a5e226e168 pikvm/pikvm#1498: refactoring 2025-06-11 18:08:01 +03:00
Maxim Devaev
fe1f821715 otgconf: fixed read() awaiting 2025-06-11 05:12:54 +03:00
Maxim Devaev
b28275b042 Bump version: 4.82 → 4.83 2025-06-10 19:30:37 +03:00
Maxim Devaev
4e4ea9fcea pikvm/pikvm#1543: fixed /var/lib/kvmd/pst permissions warning 2025-06-10 05:51:04 +03:00
Maxim Devaev
735c2e6395 pikvm/pikvm#1537: /hid/inactivity api 2025-06-10 02:49:50 +03:00
Maxim Devaev
f25e5ef2b4 Bump version: 4.81 → 4.82 2025-06-03 21:02:39 +03:00
Maxim Devaev
0d8b7fd3aa otgnet: apply net.ipv4.ip_forward=1 on forwarding 2025-06-03 21:01:58 +03:00
Maxim Devaev
91312dd4be otgnet: moved ip_cmd and iptables_cmd to the commands section 2025-06-03 20:05:35 +03:00
Maxim Devaev
5bff6cadd4 Bump version: 4.80 → 4.81 2025-06-03 18:36:19 +03:00
Maxim Devaev
5d2c275f13 modal save option 2025-06-03 18:35:37 +03:00
Maxim Devaev
2a928a4a38 fixed gpio_mockup module name 2025-06-03 18:13:39 +03:00
Maxim Devaev
37e8aa2cec pikvm/pikvm#1518: web: switch: Toggle to disable MSD warning 2025-06-03 04:59:29 +03:00
Maxim Devaev
54cb364c2e fix 2025-06-03 03:38:32 +03:00
Maxim Devaev
007371d30b refactoring 2025-06-03 03:38:23 +03:00
Maxim Devaev
517e79fd65 refactoring 2025-06-02 23:16:10 +03:00
Maxim Devaev
86f73844dd Bump version: 4.79 → 4.80 2025-06-02 15:01:50 +03:00
Maxim Devaev
e04381555c pikvm/pikvm#1528: Fixed fr keymap 2025-06-02 15:01:07 +03:00
Maxim Devaev
82f45cd1fd Bump version: 4.78 → 4.79 2025-06-02 02:48:50 +03:00
Maxim Devaev
2c36d86075 pikvm/pikvm#1536: kvmd: Added new API /hid/events/send_shortcut 2025-06-02 02:48:10 +03:00
Maxim Devaev
6df1e55ffc Bump version: 4.77 → 4.78 2025-06-02 01:23:10 +03:00
Maxim Devaev
659e8f9169 web: show model name on the kvmd page 2025-06-02 01:22:14 +03:00
Maxim Devaev
38981a4108 Bump version: 4.76 → 4.77 2025-06-01 17:43:39 +03:00
SilentWind
10fb78abe6
Delete .github/workflows/docker-build-stage-0.yaml 2025-06-01 10:59:34 +08:00
Maxim Devaev
97ea7de7d3 number validator accepts hex numbers 2025-05-31 04:51:07 +03:00
Maxim Devaev
56d0d3aa8a plugin to forbid any auth 2025-05-28 19:31:10 +03:00
Maxim Devaev
92f635cdf8 Bump version: 4.75 → 4.76 2025-05-27 19:31:58 +03:00
Maxim Devaev
4a2c642c49 improved stream diagnostics 2025-05-27 19:30:57 +03:00
mofeng-git
1642ce73a0 一些更新
玩客云首次启动生成随机 mac 地址 #113
自签 SSL 证书修改为首次启动时生成,增强安全性
优化整合包镜像构建脚本和  Dockerfile
修复 docker 启动脚本错误
2025-05-27 12:43:53 +08:00
mofeng-git
64c83be0a4 修改 janus 日志等级为4,显示更多janus日志 2025-05-26 23:25:50 +08:00
Maxim Devaev
6f971a7c54 Bump version: 4.74 → 4.75 2025-05-26 15:27:18 +03:00
Maxim Devaev
1e3c90e94a web: fixed dummy switch on old firmware 2025-05-26 15:26:34 +03:00
Maxim Devaev
09884c54c0 refactoring 2025-05-26 15:22:57 +03:00
Maxim Devaev
cd2a801eae Bump version: 4.73 → 4.74 2025-05-23 23:47:58 +03:00
Maxim Devaev
183a6c2553 kvmd/client: removed queue machinery 2025-05-23 23:46:57 +03:00
Maxim Devaev
310b23edad pikvm/pikvm#1485, pikvm/pikvm#187: kvmd-localhid to pass USB keyboard and mouse through PiKVM to the host 2025-05-23 23:44:59 +03:00
Maxim Devaev
625b2aa970 refactoring 2025-05-20 17:48:56 +03:00
Maxim Devaev
741e94f2fd Bump version: 4.72 → 4.73 2025-05-20 03:33:40 +03:00
Maxim Devaev
ce3af61510 regen 2025-05-20 03:32:51 +03:00
Maxim Devaev
bf8761baa9 pikvm/pikvm#1525: Noop redfish system PATCH and boot override 2025-05-20 03:32:39 +03:00
Aleksandr Prokudin
8e2bc47cd3
Update copyright years in index.pug (#191)
This is 2025 now
2025-05-19 04:31:35 +03:00
Maxim Devaev
65d1cfd827 Bump version: 4.71 → 4.72 2025-05-18 22:35:34 +03:00
Maxim Devaev
d7963f3271 usc: using kvmd-selfauth group instead of users list 2025-05-18 22:16:20 +03:00
Maxim Devaev
c3eed7c497 pikvm/pikvm#1418: web: hold/lock key on keypad 2025-05-18 22:07:47 +03:00
Maxim Devaev
70ca478a78 web: fixed race for organize_hook 2025-05-18 00:39:10 +03:00
Ivan Shapovalov
49fb9a6f92
testenv: Dockerfile: refactor, use caching pervasively (#190) 2025-05-17 23:46:06 +03:00
Maxim Devaev
bd9f5bf9ee web: fixed window maximization behaviour without organize_hook 2025-05-17 23:23:20 +03:00
Maxim Devaev
193eaa48c8 using assert_never() 2025-05-17 23:13:01 +03:00
Maxim Devaev
47614a5724 lint fixes 2025-05-17 22:56:22 +03:00
Maxim Devaev
791e047a6b mypy: bumped version 2025-05-17 22:51:14 +03:00
Maxim Devaev
818ff6321e pikvm/pikvm#1316: web: keep stream window maximized 2025-05-17 20:42:17 +03:00
Maxim Devaev
53980c0e68 web: fixed touch handlers on chrome 2025-05-17 20:40:24 +03:00
Maxim Devaev
1195a9e3be web: moved clipboard to own file 2025-05-17 14:41:55 +03:00
Maxim Devaev
18122eff82 web: refactoring 2025-05-15 18:55:18 +03:00
Maxim Devaev
6910cebc00 web: refactoring 2025-05-15 18:38:51 +03:00
Maxim Devaev
3b39fcefd5 web: Fixed window activation when exiting the full tab mode 2025-05-15 17:50:07 +03:00
Maxim Devaev
3f309077f8 web: removed legacy option 2025-05-15 17:04:46 +03:00
Maxim Devaev
ed447a7cc2 web: Removed legacy for Safari<16.4 2025-05-15 16:48:30 +03:00
Maxim Devaev
93d60ac932 web: Removed :active pseudo-class Safari workaround 2025-05-15 16:47:52 +03:00
Maxim Devaev
39c13d31f3 web: refactoring 2025-05-14 21:15:56 +03:00
Maxim Devaev
8b97eed743 web: refactoring 2025-05-14 18:59:26 +03:00
Maxim Devaev
191eb4b430 web: changed touch scroll direction 2025-05-14 00:00:27 +03:00
Maxim Devaev
ac240e141b pikvm/pikvm#1406: Web: Fixed keypad keys overlapping 2025-05-13 23:46:53 +03:00
Maxim Devaev
af51d79502 web: Workaround Direct H.264 flickering on Firefox 2025-05-13 19:56:48 +03:00
Maxim Devaev
c551b9ff57 web: fixed window buttons for firefox 2025-05-12 19:52:37 +03:00
Maxim Devaev
df8898684f pikvm/pikvm#880: Fixed mouse position at edges 2025-05-12 19:26:54 +03:00
Maxim Devaev
5273199e0b web: color fix 2025-05-12 03:57:22 +03:00
Maxim Devaev
eb0fb04b72 web: better handling of windows with iframes 2025-05-12 03:57:07 +03:00
Maxim Devaev
cfdf225d10 web: improved scroll algorithm added two fingers touch scroll 2025-05-11 20:38:22 +03:00
mofeng-git
76ca81bbfd 修复音频错误
更新 janus 配置文件,将音频部分由 audio 重命名为 acap,与 ustreamer janus 插源代码保持一致。
2025-05-11 21:38:32 +08:00
mofeng-git
ed7b2e5b33 添加初步的 gitea actions 构建支持 2025-05-11 20:21:18 +08:00
Maxim Devaev
c80532fb73 pikvm/pikvm#1080: Fixed windows grabbing and moving on touch tablets using addEventListener() instad on* handlers 2025-05-10 19:49:05 +03:00
Maxim Devaev
9875d4686f web: removed legacy visibility code 2025-05-10 13:53:38 +03:00
Maxim Devaev
1b822c19ff vnc: idiomatic start_tls() 2025-05-10 02:20:00 +03:00
Maxim Devaev
1356187771 vnc: common key event handler 2025-05-09 23:24:21 +03:00
Maxim Devaev
8fb4bc6be7 vnc: split mouse handlers 2025-05-09 21:39:56 +03:00
Maxim Devaev
09eb5ebc2f vnc: using evdev codes 2025-05-09 12:26:04 +03:00
Maxim Devaev
bc880009c1 common BaseMagicHandler class 2025-05-09 10:08:44 +03:00
Maxim Devaev
3268c62bf3 vnc: magic alt-alt key 2025-05-09 04:08:33 +03:00
Maxim Devaev
21c83e6fca vnc: pass offline frames 2025-05-09 04:08:09 +03:00
Maxim Devaev
8f19d40566 switch: id/port api 2025-05-09 04:05:02 +03:00
Maxim Devaev
32425c1903 switch: server-side IDs 2025-05-07 18:23:13 +03:00
Maxim Devaev
6005ed38b9 meta: auto fqdn 2025-05-07 18:07:09 +03:00
Maxim Devaev
bb0656c0cb vnc: additional auth check 2025-05-07 12:46:45 +03:00
Maxim Devaev
8d7f89e8f1 switch: next/prev api 2025-05-07 05:03:10 +03:00
Maxim Devaev
a65cd7feb5 vnc: removed allow_cut_after for a future hotkey paste 2025-05-07 04:41:32 +03:00
Maxim Devaev
d630e24aa0 note about pid==0 in get_request_unix_credentials() 2025-05-06 21:08:32 +03:00
Maxim Devaev
46ef5fd46b vnc: using usc auth 2025-05-06 20:51:34 +03:00
Maxim Devaev
c8cf06ee8c ipmi: usinc usc auth 2025-05-06 14:49:20 +03:00
Maxim Devaev
79d4d99f37 usc allowed for docker 2025-05-04 06:05:30 +03:00
Maxim Devaev
0437f487b5 refactoring 2025-05-04 03:29:13 +03:00
Maxim Devaev
59eff99dcc refactoring 2025-05-03 23:14:51 +03:00
Maxim Devaev
334b9f7d7b nginx: configurable listen ip addresses
Based by idea of pikvm/pikvm#189
2025-05-03 18:50:14 +03:00
Maxim Devaev
6dea594380 pikvm/pikvm#1500: web: Paste hotkey 2025-05-03 05:03:48 +03:00
Maxim Devaev
fd5196a2ce udev: Disabled USB autosuspend for PiKVM devices 2025-05-03 04:29:06 +03:00
Maxim Devaev
b7715b731e lint fixes 2025-05-03 04:27:21 +03:00
Maxim Devaev
7d7edb1c03 pikvm/pikvm#1501: Switch: Option to disable HDMI dummy plug 2025-05-03 03:54:05 +03:00
Maxim Devaev
69d254d80e lint fix 2025-05-02 07:18:01 +03:00
Maxim Devaev
e011a98288 patched pico sdk for cmake 2025-05-01 06:15:35 +03:00
Maxim Devaev
63a1933342 audio keys 2025-05-01 06:09:45 +03:00
Maxim Devaev
ebbd55ee17 using evdev instead of string constants 2025-05-01 03:03:25 +03:00
mofeng-git
a92a6f2811 更新百度网盘链接的密码 2025-04-17 03:24:46 +00:00
mofeng-git
3d58f6dd21 更新 README.md 文件 2025-04-17 03:22:50 +00:00
mofeng-git
50022e7353 重构镜像构建脚本,增强了灵活性和可维护性。主要改动包括:
1. 允许通过环境变量覆盖默认路径。
2. 添加清理函数以确保资源释放。
3. 优化了挂载和卸载逻辑,确保在脚本退出时自动清理。
4. 增强了错误处理和日志输出,提供更清晰的信息反馈。
5. 重新组织了函数结构,提升代码可读性。
2025-04-17 03:12:47 +00:00
Maxim Devaev
1624b0cbf8 added KvmdClientWs.send_mouse_relative_event() 2025-04-15 22:02:10 +03:00
Maxim Devaev
fa2630250c refactoring 2025-04-14 02:05:21 +03:00
Maxim Devaev
7e185d2ad9 unix socket auth 2025-04-13 17:45:01 +03:00
Maxim Devaev
16a1dbd9ed Bump version: 4.70 → 4.71 2025-04-06 12:28:11 +03:00
Maxim Devaev
e66edd45e2 pikvm/pikvm#1460: Added scroll_rate param for VNC 2025-04-06 12:27:21 +03:00
Maxim Devaev
86774dfa4e Bump version: 4.69 → 4.70 2025-04-06 00:08:07 +03:00
Maxim Devaev
866eb2a2c6 pikvm/pikvm#1489: Added en-us-colemak keymap 2025-04-06 00:06:40 +03:00
Maxim Devaev
1984a245e9 Bump version: 4.68 → 4.69 2025-04-05 12:37:27 +03:00
Maxim Devaev
04209e2a6b increased ocr timeout and allow offline 2025-04-05 12:36:35 +03:00
Maxim Devaev
71617cc62a fixed /api/hid/print timeout with slow typing 2025-04-04 14:38:00 +03:00
Maxim Devaev
45ff6cb7c7 Bump version: 4.67 → 4.68 2025-04-03 13:10:07 +03:00
mofeng-git
ff4f04d936 更新说明 2025-03-28 04:30:18 +00:00
Yao Wei
49695247a5
hid: fix flashing hid using avrdude 8.0 (#188)
Closes: pikvm/pikvm#1482
2025-03-25 06:40:40 +02:00
Maxim Devaev
87f78990a5 Bump version: 4.66 → 4.67 2025-03-19 22:12:17 +02:00
Maxim Devaev
b86f4cd437 allow short edids, import full edid on with kvmd-edidconf 2025-03-19 03:51:31 +02:00
mofeng-git
413fce72ec 更新镜像构建脚本 2025-03-15 12:51:23 +00:00
mofeng-git
842238009e 将默认采集帧率由 30fps 修改为 60fps 2025-03-15 11:47:46 +00:00
Maxim Devaev
2c4f7f1458 Bump version: 4.65 → 4.66 2025-03-12 23:01:20 +02:00
Maxim Devaev
ba5df47c97 edidconf: Allow 128-byte edids for --import-display-ids 2025-03-12 23:00:33 +02:00
Raphael Ochsenbein
20a7206b0f
web: disable autocomplete for 2fa (#187) 2025-03-12 01:05:04 +02:00
Maxim Devaev
70d134a2ff Bump version: 4.64 → 4.65 2025-03-11 16:13:12 +02:00
Maxim Devaev
8391b7a467 web: reconfigure webcodec if needed 2025-03-11 16:07:32 +02:00
mofeng-git
7116da2511 添加 otg 文件夹创建判断,避免文件夹存在导致程序退出 2025-03-11 12:52:19 +00:00
mofeng-git
a59fe84e26 修改 supervisord 配置文件为默认路径 2025-03-11 12:50:10 +00:00
Maxim Devaev
2bdd349fbf kvmd-edidconf: monitor ID clonning option for V4 2025-03-11 05:31:25 +02:00
mofeng-git
48fe790897 大幅优化镜像体积
1. 使用 docker 预构建的必需文件,而不是安装全量依赖
2. 使用 zerofree 清除镜像无效数据
将 janus 日志级别调整为2
2025-03-10 10:56:16 +00:00
mofeng-git
e375e41fb6 更新赞助信息 2025-03-06 14:41:59 +00:00
Maxim Devaev
5014e82177 Bump version: 4.63 → 4.64 2025-03-03 03:23:55 +02:00
Maxim Devaev
1566f026de pikvm/pikvm#1254: kvmd-bootconfig: Added option WIFI_WPA23=1 2025-03-03 03:11:43 +02:00
Maxim Devaev
878bc03a80 refactoring 2025-03-03 03:05:34 +02:00
Maxim Devaev
41e6502904 Bump version: 4.62 → 4.63 2025-03-01 18:57:18 +02:00
Maxim Devaev
ec9c12ffcc enabled relative mouse by default on all v2+ configurations 2025-03-01 18:55:55 +02:00
Maxim Devaev
9fdb861048 web: removed blue border in fullscreen mode 2025-03-01 18:38:53 +02:00
Maxim Devaev
97dbc17771 refactoring 2025-02-27 23:01:31 +02:00
Maxim Devaev
e7d4f7fe8c Bump version: 4.61 → 4.62 2025-02-24 19:52:52 +02:00
Maxim Devaev
1cb5c11239 pikvm/pikvm#1339: Pass ICE servers to the Web UI 2025-02-24 19:51:43 +02:00
Maxim Devaev
72ef037959 Bump version: 4.60 → 4.61 2025-02-22 19:50:35 +02:00
Maxim Devaev
182aa0e374 otg: renamed product, removed configuration name 2025-02-22 19:33:56 +02:00
Maxim Devaev
876ff22bd8 Bump version: 4.59 → 4.60 2025-02-20 02:41:22 +02:00
Maxim Devaev
a01ef562a1 fixed sed 2025-02-20 02:40:33 +02:00
Maxim Devaev
362b88e92c Bump version: 4.58 → 4.59 2025-02-20 02:27:08 +02:00
Maxim Devaev
7f6b0a814d v4plus: Increaset memory for 4k OUT2 display 2025-02-20 02:26:19 +02:00
Maxim Devaev
b3d1291039 Bump version: 4.57 → 4.58 2025-02-16 01:01:54 +02:00
Maxim Devaev
6a08fab818 switch: added ignore_hpd quirk for bad csi boards 2025-02-16 01:00:38 +02:00
Maxim Devaev
02740aef37 Bump version: 4.56 → 4.57 2025-02-13 14:28:07 +02:00
Maxim Devaev
dd3f4c16e3 htpasswd: raise error on del if user is not exist 2025-02-13 14:20:33 +02:00
Maxim Devaev
30a82efea4 htpasswd: split add and set commands 2025-02-13 13:40:02 +02:00
Maxim Devaev
ccbe455ada refactoring 2025-02-13 12:07:26 +02:00
Maxim Devaev
1d0f441cc4 Bump version: 4.55 → 4.56 2025-02-13 00:56:50 +02:00
Maxim Devaev
8c7f86ac83 switch firmware version == 6 2025-02-13 00:56:11 +02:00
Maxim Devaev
4b67208cab Bump version: 4.54 → 4.55 2025-02-12 13:02:22 +02:00
Maxim Devaev
a3e398a1d5 web: added doc link about session expiration 2025-02-12 12:57:08 +02:00
Maxim Devaev
c66c97afd4 improved auth logging 2025-02-12 12:51:15 +02:00
Maxim Devaev
83c352a900 Bump version: 4.53 → 4.54 2025-02-11 17:02:24 +02:00
Maxim Devaev
de4f1903aa using salted sha512 for htpasswd by default 2025-02-11 16:55:45 +02:00
Maxim Devaev
800d2724b8 Bump version: 4.52 → 4.53 2025-02-10 20:27:48 +02:00
Maxim Devaev
dc1c6c0fcf nginx: disabled cache for the /login location 2025-02-10 20:21:16 +02:00
Maxim Devaev
4c9c98c6ab refactoring 2025-02-10 00:55:33 +02:00
Maxim Devaev
6ffaa8d6bd refactoring 2025-02-10 00:06:49 +02:00
Maxim Devaev
97b405297b refactoring 2025-02-09 23:20:28 +02:00
Maxim Devaev
302e7c2877 web: placed pikvm logo on login page 2025-02-09 20:32:38 +02:00
Maxim Devaev
75a4aa0736 improved auth logging 2025-02-09 19:44:42 +02:00
Maxim Devaev
c3dc5b9553 test_auth: improved expiration test 2025-02-09 14:31:51 +02:00
Maxim Devaev
79b7788480 web: fixed switch edids collection selector width 2025-02-09 03:05:32 +02:00
Maxim Devaev
05519f403f commented hidrelay from testenv 2025-02-09 02:46:41 +02:00
Maxim Devaev
c49d712f17 pikvm/pikvm#1204: 12h instead of 24h 2025-02-09 01:07:19 +02:00
Maxim Devaev
375a345820 pikvm/pikvm#1204: Configurable global expiration policy 2025-02-09 00:40:48 +02:00
Maxim Devaev
a7c3cdc1ea pikvm/pikvm#1204: Expire user session 2025-02-08 23:30:52 +02:00
Maxim Devaev
abbd65a9a0 lint fix 2025-02-08 20:01:35 +02:00
Maxim Devaev
ba28f03575 refactoring 2025-02-08 19:22:56 +02:00
Maxim Devaev
ad019f8476 web: cleanup session/info code 2025-02-08 19:11:42 +02:00
Maxim Devaev
0afc81f56c ustreamer >= 6.31 2025-02-08 18:36:27 +02:00
Maxim Devaev
84ec99b332 health event instead of hw 2025-02-07 01:10:57 +02:00
Maxim Devaev
54f6d93f63 kvmd: binary ping/pong 2025-02-07 01:08:53 +02:00
Maxim Devaev
94fe2226f1 js cleanup 2025-02-06 17:04:18 +02:00
Maxim Devaev
beb5d541b0 Bump version: 4.51 → 4.52 2025-02-03 09:52:21 +02:00
Maxim Devaev
1c179da857 web: orientation changing for media 2025-02-03 09:51:25 +02:00
mofeng-git
8c8bf35d0b fix 2025-02-02 07:08:40 +00:00
Maxim Devaev
c8df621172 Bump version: 4.50 → 4.51 2025-02-02 07:16:21 +02:00
Maxim Devaev
1899902860 bunch of js === and !== fixes 2025-02-02 07:15:08 +02:00
Maxim Devaev
4800f9e486 nginx: removed legacy limit_rate 2025-02-02 07:10:11 +02:00
Maxim Devaev
73238e18e9 pikvm/pikvm#1462: relative root location 2025-02-02 07:09:21 +02:00
mofeng-git
f032b8c798 fix 2025-02-01 14:40:28 +00:00
mofeng-git
c711683c63 som fix 2025-02-01 12:19:02 +00:00
mofeng-git
06a64725be 修改源文件版权声明 2025-02-01 10:55:41 +00:00
mofeng-git
94897ab8c9 Merge branch 'main' of https://github.com/mofeng-git/One-KVM 2025-02-01 09:13:29 +00:00
mofeng-git
c6a5ffa0cf Merge remote-tracking branch 'upstream/master' 2025-02-01 09:12:03 +00:00
mofeng-git
9da06d3f58 修复 HTTP H.264 模式
其他修改
2025-02-01 08:31:27 +00:00
Maxim Devaev
b51ea5e374 web: relative html 2025-02-01 08:58:04 +02:00
Maxim Devaev
13fff8a88c web: preparing to relative paths 2025-02-01 08:29:36 +02:00
Maxim Devaev
9436bb029d web: removed gop link 2025-02-01 08:16:25 +02:00
mofeng-git
7b3335ea94 Add support for PiKVM Switch and related features
This commit introduces several new components and improvements:
- Added Switch module with firmware update and configuration support
- Implemented new media streaming capabilities
- Updated various UI elements and CSS styles
- Enhanced keyboard and mouse event handling
- Added new validators and configuration options
- Updated Python version support to 3.13
- Improved error handling and logging
2025-02-01 01:08:36 +00:00
Maxim Devaev
430a3848f7 web: commented invalid css 2025-01-31 00:25:59 +02:00
Maxim Devaev
3b5e539012 web fixes, verbose video modes name 2025-01-30 20:12:36 +02:00
Maxim Devaev
d1a12f1f6a web: fixed slider height on firefox 2025-01-30 20:07:33 +02:00
Maxim Devaev
697ef549b9 refactoring 2025-01-30 10:34:36 +02:00
Maxim Devaev
4039ae0483 Bump version: 4.49 → 4.50 2025-01-28 16:00:27 +02:00
Maxim Devaev
06812231c1 fixed missing python-bcrypt 2025-01-28 15:57:48 +02:00
Warfront1
15dbe6265f
feat: fix cause on switch pop-up (#185) 2025-01-25 08:40:48 +02:00
Maxim Devaev
b2c8ed6818 Bump version: 4.48 → 4.49 2025-01-24 05:33:43 +02:00
Maxim Devaev
2acd613a38 dvd support 2025-01-24 05:24:40 +02:00
Maxim Devaev
0202a3c2d1 Bump version: 4.47 → 4.48 2025-01-21 05:41:57 +02:00
Maxim Devaev
be3e97178d moved to python-3.13 2025-01-21 05:41:25 +02:00
Maxim Devaev
dafc8e3941 Bump version: 4.46 → 4.47 2025-01-20 16:45:49 +02:00
Maxim Devaev
6dcc41601e janus: check file for aplay 2025-01-20 16:43:32 +02:00
Maxim Devaev
b9af5f8825 Bump version: 4.45 → 4.46 2025-01-20 02:17:26 +02:00
Maxim Devaev
00ed5197b0 add some otg info 2025-01-20 02:16:55 +02:00
Maxim Devaev
b2c5305564 Bump version: 4.44 → 4.45 2025-01-19 18:24:21 +02:00
Maxim Devaev
e9443119ec required ustreamer 6.24 at least 2025-01-19 18:20:39 +02:00
Maxim Devaev
ab5608e3e0 Bump version: 4.43 → 4.44 2025-01-18 22:01:39 +02:00
Maxim Devaev
78557b0c47 Merge branch 'mic' 2025-01-18 21:57:48 +02:00
Maxim Devaev
f042ed38e0 usb microphone 2025-01-18 20:28:24 +02:00
Maxim Devaev
e1e3605630 Bump version: 4.42 → 4.43 2025-01-16 15:01:01 +02:00
Maxim Devaev
3f3a834c0c pikvm/pikvm#1459: Extended TOTP window with a single step (+30sec) 2025-01-16 14:57:05 +02:00
Maxim Devaev
8631ee8555 web: fixed gray icon on http/h264 2025-01-16 14:40:04 +02:00
Maxim Devaev
da4da975ef Revert "pikvm/pikvm#1459: TOTP valid_window=5"
This reverts commit b6c73aceb74cf6f3a376fc1223e9cc701a8f6ee5.
2025-01-15 02:49:10 +02:00
Maxim Devaev
b6c73aceb7 pikvm/pikvm#1459: TOTP valid_window=5 2025-01-15 02:06:01 +02:00
Maxim Devaev
d3549ab52b Bump version: 4.41 → 4.42 2025-01-11 22:21:39 +02:00
Maxim Devaev
965e649f8c switch update notification 2025-01-11 22:20:56 +02:00
Maxim Devaev
b49107ff6c Bump version: 4.40 → 4.41 2025-01-11 21:27:08 +02:00
Maxim Devaev
e9cbf04ba5 kvmd-otgmsd: allow to connect all file types 2025-01-11 21:26:26 +02:00
Maxim Devaev
3cf543a13e switch binary 2025-01-11 21:22:17 +02:00
Maxim Devaev
4d89d6b222 Bump version: 4.39 → 4.40 2025-01-10 23:23:49 +02:00
Maxim Devaev
e7c06643b4 refactoring 2025-01-10 23:04:12 +02:00
Maxim Devaev
72c9ae3aa0 improved jiggler logic 2025-01-10 22:56:28 +02:00
Maxim Devaev
05bced1461 Bump version: 4.38 → 4.39 2025-01-10 14:26:11 +02:00
Maxim Devaev
464672d1a0 enabled jiggler by default 2025-01-10 14:24:43 +02:00
SilentWind
1061a6ba01
Merge pull request #70 from soulteary/fix/license-conflict
fix: license conflict
2025-01-06 10:37:15 +08:00
Maxim Devaev
be6843a486 Bump version: 4.37 → 4.38 2025-01-05 20:49:38 +02:00
Maxim Devaev
f5de6a0f2e moving to janus 1.x 2025-01-05 20:48:35 +02:00
Su Yang
21b7429ffe
fix: license conflict 2025-01-05 22:19:31 +08:00
Maxim Devaev
9ef1a3665a Bump version: 4.36 → 4.37 2025-01-05 15:24:20 +02:00
Maxim Devaev
10a7ca978b Bump version: 4.35 → 4.36 2025-01-05 15:19:54 +02:00
Maxim Devaev
4488365dfb removed _state suffix from all ws events 2025-01-05 15:19:04 +02:00
Maxim Devaev
5a61ddecd3 Removed ws legacy mode and some msd legacy 2025-01-05 15:11:27 +02:00
Maxim Devaev
a12163a797 kvmd-media: renamed kind to type 2025-01-05 14:43:20 +02:00
Maxim Devaev
43e6cd3e26 usb: kvmd-otgconf now calculates endpoints before operation 2025-01-05 14:17:52 +02:00
Maxim Devaev
57518468ad usb: max endpoints is 9 2025-01-05 14:14:17 +02:00
Maxim Devaev
5973b9e773 kvmd-otgconf: Ignore some errors 2025-01-05 02:34:11 +02:00
Maxim Devaev
e120b50f50 usb: max endpoints is 10, not 8 2025-01-05 02:02:21 +02:00
Maxim Devaev
f1256ee74a Bump version: 4.34 → 4.35 2025-01-04 22:36:13 +02:00
Maxim Devaev
9aef70c43f lint fixes 2025-01-04 22:17:55 +02:00
Maxim Devaev
f9584929e3 usb: endpoints calculation 2025-01-04 18:27:17 +02:00
Maxim Devaev
7aa963330c Bump version: 4.33 → 4.34 2025-01-02 19:18:28 +02:00
Maxim Devaev
5d8633556e fixed missing modifiers mapping 2025-01-02 19:17:50 +02:00
Maxim Devaev
ebda7ea03d Bump version: 4.32 → 4.33 2024-12-30 18:56:38 +02:00
Maxim Devaev
fed3bf1efd pikvm/pikvm#1334: Bad link mode for keyboard events 2024-12-30 18:55:59 +02:00
Maxim Devaev
d52bb34bb9 Bump version: 4.31 → 4.32 2024-12-27 05:44:44 +02:00
Maxim Devaev
6c5f0bf09f janus: use symbolic soundcard name 2024-12-27 05:44:01 +02:00
Maxim Devaev
aae529f40b split otg mouse start options 2024-12-27 05:42:23 +02:00
Maxim Devaev
253231adac enabled remote wakeup by default 2024-12-27 03:01:18 +02:00
Maxim Devaev
e491057891 Bump version: 4.30 → 4.31 2024-12-26 16:57:40 +02:00
Maxim Devaev
3b5d62dd98 enable kvmd-media when kvmd-janus or kvmd-janus-static enabled 2024-12-26 16:57:05 +02:00
Maxim Devaev
38346bece1 improved media js 2024-12-26 16:56:30 +02:00
Maxim Devaev
647d3f3961 Bump version: 4.29 → 4.30 2024-12-26 05:05:41 +02:00
Maxim Devaev
287244d376 kvmd: disabled legacy API by default 2024-12-26 05:05:03 +02:00
Maxim Devaev
56438a372e Bump version: 4.28 → 4.29 2024-12-25 09:17:40 +02:00
Maxim Devaev
ab08d823c4 pikvm/pikvm#1440: Websocket-based transport and decoding for H.264 2024-12-25 09:16:59 +02:00
mofeng-git
5db37797ea 适配章鱼星球 2024-12-19 15:24:07 +00:00
Maxim Devaev
eda7ab3a49 Bump version: 4.27 → 4.28 2024-12-18 06:42:17 +02:00
Maxim Devaev
af2ee26a2f kvmd-media server 2024-12-18 06:39:18 +02:00
Maxim Devaev
596334735e removed legacy generic configs 2024-12-18 06:00:13 +02:00
Maxim Devaev
c8385213cc Bump version: 4.26 → 4.27 2024-12-17 18:28:52 +02:00
Maxim Devaev
c009985247 build fix 2024-12-17 18:28:17 +02:00
Maxim Devaev
7caa695d79 Bump version: 4.25 → 4.26 2024-12-17 18:21:13 +02:00
Maxim Devaev
630610bc53 switch 2024-12-17 18:20:04 +02:00
Maxim Devaev
e0bbf6968e testenv: Use memsink for VNC 2024-12-16 19:19:31 +02:00
Maxim Devaev
ada1c39eef Bump version: 4.24 → 4.25 2024-12-11 21:10:24 +02:00
Maxim Devaev
e014cbcedf pikvm/pikvm#858, pikvm/pikvm#1249: Added slow typing mode for /api/hid/print 2024-12-11 21:09:49 +02:00
Maxim Devaev
adbd4f242b pikvm/pikvm#1437: Don't reset absolute mouse position on clear 2024-12-11 17:56:54 +02:00
Maxim Devaev
2649a2fa01 web: Enabled secure paste text for Firefox 2024-12-11 17:56:54 +02:00
No0ne
8cca5a8cc7
Bump version: ps2x2pico-2.0 (#184) 2024-12-05 13:41:54 +02:00
Maxim Devaev
70452f048b Bump version: 4.23 → 4.24 2024-12-03 19:25:50 +02:00
Maxim Devaev
be21a420a0 fix 2024-12-03 19:25:13 +02:00
Maxim Devaev
e337e8d45c switch: Added udev rule for /dev/kvmd-switch 2024-12-03 19:23:38 +02:00
Maxim Devaev
8a09505baf pikvm/pikvm#1432: web: Fixed OCR region 2024-12-03 19:15:00 +02:00
Maxim Devaev
870af902a1 fix 2024-12-03 19:08:18 +02:00
mofeng-git
0dd117711d 一些样式修改 2024-11-29 05:29:28 +00:00
mofeng-git
ed68449274 修复相对模式鼠标不可用
此问题有合并上游更新冲突所致
2024-11-27 13:33:49 +00:00
Maxim Devaev
85a2f2367d Bump version: 4.22 → 4.23 2024-11-26 19:12:40 +02:00
Maxim Devaev
7fd4dae3c6 pikvm/pikvm#1408: Additional colors for GPIO 2024-11-26 19:11:59 +02:00
mofeng-git
a32dcd2e00 修复前端 wol 类名错误
修复前端 meta 块错误
2024-11-26 05:42:18 +00:00
Maxim Devaev
0cf5f8de9e Bump version: 4.21 → 4.22 2024-11-25 05:29:49 +02:00
Maxim Devaev
7394588279 fixed prometheus metrics 2024-11-25 05:26:03 +02:00
mofeng-git
666f0b694a a fix 2024-11-23 02:45:01 +00:00
mofeng-git
b8ddf7c2da 增加快速文件互传功能(基于 MSD)
为 MSD 路径添加配置选项
为 文件镜像名称添加配置选项
修复 make 测试环境
2024-11-22 17:40:55 +00:00
Maxim Devaev
1b9b27660a Bump version: 4.20 → 4.21 2024-11-22 16:32:05 +02:00
Maxim Devaev
7c453b8b49 new sponsors 2024-11-22 16:29:59 +02:00
mofeng-git
5450d7297c 为 docker 版本添加 nano 文本编辑器 2024-11-21 04:52:46 +00:00
mofeng-git
506d8a4a64 为 Docker 容器添加 kvmd 系列管理命令 2024-11-21 02:52:36 +00:00
Maxim Devaev
8929d0f311 pikvm/pikvm#1415: kvmd-bootconfig: Supported open wifi network 2024-11-20 21:35:25 +02:00
Maxim Devaev
d25e43c934 pikvm/pikvm#1415: Allow autoconnecting to open wifi 2024-11-20 18:53:10 +02:00
Maxim Devaev
3cbeabe2e8 VNC: Supported ExtendedMouseButtons 2024-11-20 17:50:27 +02:00
mofeng-git
eec64ef57c Merge remote-tracking branch 'upstream/master' 2024-11-20 15:18:34 +00:00
mofeng-git
baa0f7e226 取消中文日志
中文日志没有必要,减低代码耦合
2024-11-20 12:44:59 +00:00
mofeng-git
3ec872878e 修复 make run-nogpi 测试环境 2024-11-20 12:44:59 +00:00
mofeng-git
6928fab16c Revert "初步的 kvmd 国际化(汉化)支持"
This reverts commit 20927c7226b1860f94299bd157f73c08ba950dda.
2024-11-20 12:44:59 +00:00
mofeng-git
8fdb7d7cd6 Revert "修复 kvmd 国际化带来的错误"
This reverts commit 4fc188dbc891dacb54268c08cef5a4051772104e.
2024-11-20 12:44:59 +00:00
mofeng-git
433232c845 Revert "进一步的 kvmd 国际化(汉化)支持"
This reverts commit 5b25b3661f28deda2d836f970387465ebfd6896a.
2024-11-20 12:44:59 +00:00
mofeng-git
b419641251 Revert "进一步的 kvmd 国际化(汉化)支持,添加配置入口"
This reverts commit 35397c54143f3dba89bebc4e30bc09b0804b5798.
2024-11-20 12:44:59 +00:00
mofeng-git
50819d0a35 更换logo,增大默认分辨率和 h.264 比特率 2024-11-18 14:53:26 +00:00
mofeng-git
a37b818039 更新脚本 2024-11-16 08:42:08 +00:00
mofeng-git
8a81996e52 更新说明 2024-11-16 06:09:48 +00:00
mofeng-git
69cb9ac950 更新一键脚本 2024-11-16 05:50:08 +00:00
mofeng-git
30378211b5 更新说明 2024-11-12 11:12:41 +00:00
Maxim Devaev
e9e7f9bd05 pikvm/pikvm#1341: Web: Switch to maximize tab by default 2024-11-07 00:34:24 +02:00
mofeng-git
72dce4de89 #46 修复 CD-ROM 与 FLASH 模式网页无法切换
挂载 MSD 时重启 UDC 确保模式生效
2024-11-05 17:54:38 +00:00
Maxim Devaev
f1503d69e0 pikvm/pikvm#1207: Draw UI tips via meta.yaml 2024-11-05 18:17:04 +02:00
mofeng-git
de5cb73b93 更新说明 2024-11-05 02:15:03 +00:00
mofeng-git
0751b519c2 #44 添加 docker 网页音频支持
使用作者修改版 ustreamer
H.264/WebRTC 模式下音频可用
H.264/WebRTC 模式下网页录制视频包含音频
2024-11-05 02:12:00 +00:00
Maxim Devaev
0010dd1d11 pikvm/pikvm#1420: VNC: Ignore CUT event 3 seconds after connection 2024-11-04 18:59:50 +02:00
Maxim Devaev
7ef2e16b51 minor partial state fixes 2024-11-04 18:06:16 +02:00
mofeng-git
1a13760df0 #44 添加视频录制支持
使用浏览器前端 API
支持 mjpeg 和 h.264 模式下的视频录制
录制格式为wbem(vp8)
2024-11-04 13:25:18 +00:00
Maxim Devaev
d93639ba8d hid with granularity prototype 2024-11-03 18:28:28 +02:00
Maxim Devaev
1e277c0f06 lint fix 2024-11-02 21:04:57 +02:00
Maxim Devaev
95597b15e4 fix 2024-11-02 20:03:00 +02:00
mofeng-git
6fbfc2b343 43 修复 docker 相对鼠标设备模式无法使用的问题 2024-11-02 17:11:18 +00:00
mofeng-git
b893f27285 #43 修复 docker 相对鼠标设备模式无法使用的问题 2024-11-02 17:02:37 +00:00
Maxim Devaev
28167c4b45 fixed ocr null event handling 2024-11-02 18:48:14 +02:00
Maxim Devaev
5aef0a2193 refactoring 2024-11-02 18:47:59 +02:00
Maxim Devaev
0fd1174bc5 granularity info and minor fixes 2024-11-02 18:06:52 +02:00
Maxim Devaev
d4fb640418 refactoring 2024-11-02 14:46:48 +02:00
Maxim Devaev
d6b61cb407 refactoring 2024-11-02 14:26:39 +02:00
Maxim Devaev
8192b1fa95 simplified stream js logic 2024-11-02 10:39:43 +02:00
Maxim Devaev
deba110cdf partial msd events 2024-11-02 10:39:15 +02:00
Maxim Devaev
936cc21c40 Using disablePictureInPicture="true" 2024-10-30 11:30:45 +02:00
Maxim Devaev
47778bc48c msd: ftruncate() for uploading 2024-10-29 19:50:27 +02:00
Maxim Devaev
c02bc53bc4 msd: reload parts from inotify loop 2024-10-29 13:35:39 +02:00
Maxim Devaev
546ac24b93 msd reset now leads to inotify restart 2024-10-29 11:01:18 +02:00
Maxim Devaev
2195acf2ff Don't watch inotify modify events because they fires on every write() 2024-10-28 17:20:13 +02:00
Maxim Devaev
60f413c1f4 refactoring 2024-10-28 10:46:12 +02:00
Maxim Devaev
a84242c9bc AioExclusiveRegion API is sync now 2024-10-26 15:51:33 +03:00
mofeng-git
efa865ec9c 更新说明 2024-10-25 05:41:24 +00:00
Maxim Devaev
399712c684 refactoring 2024-10-24 03:05:46 +03:00
Maxim Devaev
1ebc08eae8 fix 2024-10-23 23:12:34 +03:00
Maxim Devaev
684b9f629e send kvmd version to ws 2024-10-23 23:02:25 +03:00
Maxim Devaev
76d70d0838 new ocr event format 2024-10-23 22:14:47 +03:00
Maxim Devaev
a26aee3543 partial streamer events 2024-10-23 19:31:39 +03:00
Maxim Devaev
0e4a70e7b9 refactoring 2024-10-22 05:39:18 +03:00
Maxim Devaev
cda32a083f new events model 2024-10-21 17:46:59 +03:00
mofeng-git
11d8f26874 更新说明 2024-10-20 13:08:49 +00:00
mofeng-git
2929a925a2 为玩客云替换网络服务程序为 systemd-networkd
修复修改 mac 地址无法自动获取 ip 问题
2024-10-20 11:01:22 +00:00
Maxim Devaev
b67a232584 copy some msd dicts to avoid changing 2024-10-19 09:25:20 +03:00
Maxim Devaev
90d8e745e3 gpio diff events mode 2024-10-19 08:59:52 +03:00
Maxim Devaev
3852d0a456 refactoring 2024-10-18 13:25:03 +03:00
mofeng-git
f5bebbc43f 整合包适配我家云、虚拟机和中兴 B863AV3.2M 2024-10-13 22:54:51 +00:00
mofeng-git
6707cb9932 为整合包补全 python3-hid 依赖
修复 amd64 架构 docker 错误启用 MSD功能
2024-10-11 11:49:07 +00:00
mofeng-git
87c887a62b 深度适配私家云二代 2024-10-11 11:28:36 +00:00
mofeng-git
40505e7e00 添加私家云二代整合包制作脚本 2024-10-07 08:57:25 +00:00
Maxim Devaev
c1f408ea1a Bump version: 4.19 → 4.20 2024-10-06 21:04:17 +03:00
Maxim Devaev
5b0ca351d7 fixed platform gpio again 2024-10-06 21:03:39 +03:00
Maxim Devaev
b6869cfbec Bump version: 4.18 → 4.19 2024-10-06 20:14:42 +03:00
Maxim Devaev
1e11678260 fixed gpio platform-specific switches 2024-10-06 20:14:07 +03:00
mofeng-git
507c46b986 MSD 支持运行目录存放镜像 2024-10-05 14:31:23 +00:00
mofeng-git
eca4167789 玩客云 ttyUSB0 自动映射到 kvmd-hid解决权限问题 2024-10-05 12:12:48 +00:00
mofeng-git
cb559f57c9 进一步汉化 2024-10-05 07:32:19 +00:00
mofeng-git
2e8917257e 修复日志 API 错误 2024-10-05 05:59:08 +00:00
mofeng-git
a1c14ac2d9 修复 sudoer 错误
优化配置文件
2024-10-05 03:16:59 +00:00
mofeng-git
74dfc74dd2 添加 KVM 切换器支持 2024-10-04 15:46:51 +00:00
mofeng-git
df6da8e3d7 添加玩客云直刷镜像制作脚本 2024-10-04 14:26:18 +00:00
Maxim Devaev
8c0953aafc Bump version: 4.17 → 4.18 2024-10-02 22:17:56 +03:00
Maxim Devaev
073f67ca1b pikvm/pikvm#1410: Fixed EDID file loader 2024-10-02 22:17:15 +03:00
mofeng-git
0f39312eac 添加电源管理支持
USB HID 继电器支持
GPIO 添加初始文件
2024-10-02 12:55:48 +00:00
Maxim Devaev
cb5c1e9e6d Bump version: 4.16 → 4.17 2024-10-02 03:37:29 +03:00
Maxim Devaev
8ce27dca3f pikvm/pikvm#1405: Fixed behaviour on duplicating gpio leds 2024-10-02 03:35:57 +03:00
Maxim Devaev
f4ba4210e1 fixed post params 2024-10-02 03:32:54 +03:00
Maxim Devaev
4e1d9815cd pikvm/pikvm#1407: Save keymap on macro recording 2024-10-02 02:45:59 +03:00
mofeng-git
758ba42838 增强 OTG 模式容错 2024-09-29 23:38:13 +08:00
mofeng-git
f222926d85 更新说明 2024-09-26 23:04:20 +08:00
mofeng-git
d495332012 修复指令 2024-09-26 22:58:02 +08:00
SilentWind
43a4094463
添加演示图片 2024-09-26 22:55:39 +08:00
mofeng-git
02fa7696c8 更新说明 2024-09-26 22:53:49 +08:00
mofeng-git
ced23f2cdf 自动挂载 libcomposite 模块 2024-09-26 18:19:40 +08:00
mofeng-git
7e6cb6d7b3 添加中间构建镜像,加快云构建 2024-09-26 10:55:05 +08:00
mofeng-git
144c1edd1b fix 2024-09-25 19:48:51 +08:00
Maxim Devaev
8209ee2eb0 improved wm dialogs 2024-09-23 02:32:38 +03:00
Maxim Devaev
5ed368769c refactoring 2024-09-23 02:32:23 +03:00
Maxim Devaev
1217144ecd refactoring + some tools 2024-09-22 05:20:01 +03:00
mofeng-git
6764a77ea1 为玩客云 修复 otg 链接 2024-09-20 23:41:23 +08:00
mofeng-git
8aee3ac70d 修复 otg 无法使用问题 2024-09-20 21:22:58 +08:00
mofeng-git
d7a9f0c969 update 2024-09-20 16:51:52 +08:00
Maxim Devaev
842ddc91a1 refactoring 2024-09-20 01:11:22 +03:00
Maxim Devaev
7a53f14456 refactoring 2024-09-18 04:37:43 +03:00
Maxim Devaev
45270a09d7 Bump version: 4.15 → 4.16 2024-09-17 17:59:19 +03:00
Maxim Devaev
f03ac695bd refactoring 2024-09-17 17:58:31 +03:00
Maxim Devaev
b3e836e553 pikvm/pikvm#1386: Setup STUN by IP 2024-09-17 17:53:55 +03:00
Maxim Devaev
c57334f214 refactoring 2024-09-16 23:07:38 +03:00
mofeng-git
ebcc3ffa45 fix 2024-09-15 11:44:38 +08:00
mofeng-git
65d02aaa9d 使用 unix 替代 http 2024-09-15 11:38:12 +08:00
mofeng-git
000f94d204 支持配置文件目录挂载,删除多余文件
-v ./kvmd_config:/etc/kvmd
2024-09-15 11:18:03 +08:00
mofeng-git
777b823fb9 修改默认设备为 /dev/video0 /dev/ttyUSB0 2024-09-15 10:17:32 +08:00
mofeng-git
d974c89e4d 优化和修复小问题 2024-09-15 00:33:29 +08:00
mofeng-git
8c61de199f 添加 WEB 终端和以下 Docker 环境变量
NOAUTH 禁用身份认证
NOWEBTERMWRITE 禁用 WEB 终端输入
NOWEBTERM 禁用 WEB 终端
NOVNC 禁用 VNC
NOIPMI 禁用 IPMI
2024-09-14 18:29:29 +08:00
Maxim Devaev
b779c18530 Bump version: 4.14 → 4.15 2024-09-13 22:08:43 +03:00
Maxim Devaev
6ccd91a8d1 removed print() 2024-09-13 22:07:59 +03:00
Maxim Devaev
bd127c3fd3 Bump version: 4.13 → 4.14 2024-09-13 19:34:39 +03:00
Maxim Devaev
4bc2ca3c90 refactoring 2024-09-13 19:33:49 +03:00
mofeng-git
dffebf003e 添加了如下 Docker 环境变量:
USERNAME 用户账号
PASSWORD 用户密码
NOSSL 禁用 HTTPS,启用 HTTP
2024-09-13 23:25:19 +08:00
Maxim Devaev
445e2e04e2 oled: sensors class 2024-09-12 17:05:35 +03:00
mofeng-git
56a591d51f WEB 网页汉化 2024-09-12 17:24:58 +08:00
mofeng-git
6ad3fa2056 添加 H.264 比特率 和 帧间隔 2024-09-12 16:29:18 +08:00
Maxim Devaev
489601bb96 Bump version: 4.12 → 4.13 2024-09-11 20:23:24 +03:00
Maxim Devaev
56da910ebe moved kvmd-oled to this repo 2024-09-11 20:22:49 +03:00
mofeng-git
0bb8be8355 更新 logo 2024-09-11 22:09:54 +08:00
mofeng-git
1ccfae1555 添加 初始化 /dev/video0 检测适应 /dev 目录挂载 2024-09-11 15:59:09 +08:00
mofeng-git
9badbdf697 修改 ustreamer 预设,降低默认分辨率 2024-09-11 11:19:44 +08:00
mofeng-git
0ff678a495 集成 WebRTC/H.264 支持 2024-09-11 10:32:45 +08:00
mofeng-git
8f0a591c98 为测试环境添加国内镜像源 2024-09-11 10:31:54 +08:00
Maxim Devaev
40393acf67 Bump version: 4.11 → 4.12 2024-09-11 01:16:16 +03:00
Maxim Devaev
2123799e51 required ustreamer 6.16 2024-09-11 01:14:43 +03:00
Maxim Devaev
0bb35806ff Janus: Fixed OPUS mono audio in Chrome 2024-09-11 00:48:47 +03:00
mofeng-git
011c7d8371 WEB 网页汉化 2024-09-10 23:36:22 +08:00
Maxim Devaev
bbbc908af1 Bump version: 4.10 → 4.11 2024-09-08 01:59:50 +03:00
Maxim Devaev
8113c5748b new sponsors 2024-09-08 01:57:30 +03:00
Maxim Devaev
aa1ca3b329 Serial number to uppercase, more info in Avahi 2024-09-08 01:35:11 +03:00
mofeng-git
2608241bb6 fix otg support 2024-09-07 22:16:15 +08:00
mofeng-git
af79834cc7 添加 OTG 支持 2024-09-07 20:38:51 +08:00
SilentWind
39f84fbb4c
Update FUNDING.yml 2024-09-06 18:50:57 +08:00
SilentWind
b628cd5d49
Update FUNDING.yml 2024-09-06 18:50:19 +08:00
mofeng-git
de1402ff07 同步 dev 分支说明 2024-09-06 18:31:19 +08:00
mofeng-git
6d1002a80b Merge remote-tracking branch 'origin/dev' 2024-09-06 18:29:52 +08:00
mofeng-git
ab95e68749 更新说明 2024-09-06 18:19:27 +08:00
mofeng-git
40e0b89595 更新说明 2024-09-06 18:13:13 +08:00
mofeng-git
7bc92c943a i18n 修复
Makefile 添加 run-nogpio run-build 便于测试和构建发布
对于 docker 环境的适配
2024-09-06 17:44:49 +08:00
mofeng-git
551e91069d fix 2024-09-05 19:03:31 +08:00
Maxim Devaev
508d5fe606 Bump version: 4.9 → 4.10 2024-09-04 21:53:01 +03:00
Maxim Devaev
bc22a28022 removed avahi from deps 2024-09-04 21:52:20 +03:00
Maxim Devaev
80aa9de4cc Bump version: 4.8 → 4.9 2024-09-04 18:49:21 +03:00
Maxim Devaev
572a75d27b kvmd-gencert: US is a new default 2024-09-04 14:08:00 +03:00
Maxim Devaev
864a2af45e kvmd-bootconfig: ensure avahi service on ENABLE_AVAHI 2024-09-04 04:47:43 +03:00
Maxim Devaev
5f26fa4072 added avahi to deps 2024-09-04 04:42:17 +03:00
Maxim Devaev
af9023e8aa kvmd-bootconfig: provide ENABLE_AVAHI 2024-09-04 04:39:56 +03:00
Maxim Devaev
5c3ac4c9c1 pikvm/kvmd#170: alternative implementation 2024-09-04 03:03:48 +03:00
mofeng-git
d556032e0e update Dockerfile 2024-09-03 12:55:35 +00:00
mofeng-git
2cefc35842 Docker 多平台构建支持 2024-09-03 09:56:51 +00:00
mofeng-git
2c4d2b94d8 更新 2024-09-02 15:09:21 +00:00
mofeng-git
b9ff755f6d 适应的 docker 修改 2024-09-02 13:41:00 +00:00
mofeng-git
5f7f8d58ed a fix 2024-09-01 02:38:00 +00:00
Maxim Devaev
fb9d860cf2 pikvm/kvmd#182: improved dbus_next fix 2024-08-30 19:52:11 +03:00
czo
5045d8b3d7
silence the systemd/dbus exception if there are no matching services (#182) 2024-08-30 19:30:31 +03:00
Maxim Devaev
cc66fbf1df Bump version: 4.7 → 4.8 2024-08-27 15:51:43 +03:00
Maxim Devaev
9dc2af0356 kvmd-edidconf: removed --fix-edid-checksums 2024-08-27 15:51:07 +03:00
Maxim Devaev
99fcbdda05 lint fix 2024-08-27 01:49:17 +03:00
Maxim Devaev
308911191a testenv: restored eslint 2024-08-27 01:48:52 +03:00
Maxim Devaev
0c213add4a pst: changed data root to /var/lib/kvmd/pst 2024-08-27 01:48:30 +03:00
Maxim Devaev
3837e1a1c8 Simplified inotify API 2024-08-25 01:24:12 +03:00
Maxim Devaev
8569ed406a Bump version: 4.6 → 4.7 2024-08-24 23:07:05 +03:00
Maxim Devaev
4772c2b6c3 Since 1.28.1, v4l2-ctl deprecated --fix-edid-checksums and made thid behaviour default 2024-08-24 23:05:49 +03:00
Maxim Devaev
e6b775089f Bump version: 4.5 → 4.6 2024-08-20 07:15:03 +03:00
Maxim Devaev
721a80ef03 fixed pst chgrp and chmod 2024-08-20 07:14:28 +03:00
Maxim Devaev
a55948bf8e Bump version: 4.4 → 4.5 2024-08-20 05:45:00 +03:00
Maxim Devaev
39422f37ac sticky pst 2024-08-20 05:43:47 +03:00
Maxim Devaev
06b69d3dde Bump version: 4.3 → 4.4 2024-08-19 01:06:34 +03:00
Maxim Devaev
c9405efa05 lint fix 2024-08-19 01:06:00 +03:00
Maxim Devaev
abedace4b3 enable v4p by default 2024-08-19 00:43:32 +03:00
mofeng-git
35397c5414 进一步的 kvmd 国际化(汉化)支持,添加配置入口
yaml 配置示例:
```
languages:
    console: zh
    web: zh
```
2024-08-14 22:54:12 +08:00
mofeng-git
5b25b3661f 进一步的 kvmd 国际化(汉化)支持 2024-08-12 22:58:01 +08:00
mofeng-git
0af0e2b4d0 进一步的网页国际化支持 2024-08-12 20:58:48 +08:00
mofeng-git
2f27f4f725 更新赞助信息 2024-08-12 20:53:09 +08:00
mofeng-git
4a6fbce485 初步的网页国际化支持
1. 添加 jquery i18n js 依赖和入口
2. 在登录界面添加语言切换功能
2024-08-09 22:49:41 +08:00
mofeng-git
4fc188dbc8 修复 kvmd 国际化带来的错误 2024-08-06 22:04:11 +08:00
mofeng-git
20927c7226 初步的 kvmd 国际化(汉化)支持
1. 添加汉化文件
2. 添加 Lanuages().gettext 函数处理字符替换
3. 修改相关字符串调用
2024-08-06 21:45:16 +08:00
mofeng-git
6a966af5fb 将平台配置修改为 v2-hdmiusb-rpi4
Docker 构建时运行清理缓存的命令
2024-08-04 15:26:20 +08:00
mofeng-git
a5e5e2b76a Docker 构建时添加 npm 镜像源 2024-08-04 12:39:17 +08:00
mofeng-git
11943d0345 Docker 构建时添加 PyPi 镜像源 2024-08-04 12:32:17 +08:00
Maxim Devaev
d7675cdf23 Bump version: 4.2 → 4.3 2024-07-27 15:29:30 +03:00
Maxim Devaev
64cebcc721 fix 2024-07-27 15:26:26 +03:00
Maxim Devaev
eb07a7e558 new sponsors 2024-07-27 15:10:50 +03:00
Maxim Devaev
b21c293b73 wpa_supplicant hotfix
https://archlinuxarm.org/forum/viewtopic.php?f=15&t=17007&p=72789
https://github.com/pikvm/pikvm/issues/1375
2024-07-27 14:42:55 +03:00
No0ne
30d9b34f69
fix testsuit error (#176) 2024-07-27 14:11:24 +03:00
Maxim Devaev
7e42d32007 pikvm/pikvm#1342: Verbose platform info in /api/info 2024-07-27 14:07:26 +03:00
Maxim Devaev
6a665cd62f fix 2024-07-27 12:00:01 +03:00
Maxim Devaev
5697ae33eb Merge branch 'ps2-ng' 2024-07-27 03:02:45 +03:00
Maxim Devaev
8a46fe5038 Merge branch 'ps2-ng' 2024-07-27 03:01:36 +03:00
No0ne
f644a70dd7
fix compile warnings (#175) 2024-07-27 03:00:39 +03:00
Maxim Devaev
e636914943 vnc: using first sectype from the list for 3.3 2024-07-25 18:27:24 +03:00
Youfu Zhang
5cc815cfa0
fix vnc security type handshake for rfb version 3 (#172) 2024-07-25 17:15:35 +03:00
Maxim Devaev
73f929b260 pikvm/pikvm#1295: Shortcut for the Power key 2024-07-25 02:15:38 +03:00
Maxim Devaev
8ef1545729 lint fix 2024-07-19 15:25:14 +03:00
Maxim Devaev
44e58d8d06 Removed kvmd-cleanup
Systemd kills all orphaned children when using KillMode=mixed
2024-07-19 15:25:14 +03:00
Maxim Devaev
ca639f6be8 pikvm/pikvm#1347: added CPU and MEM to /api/info 2024-07-19 15:25:14 +03:00
Maxim Devaev
53c2d253f2 lint fix 2024-07-19 15:25:14 +03:00
Maxim Devaev
b2c9162845 Bump version: 4.1 → 4.2 2024-07-19 15:25:14 +03:00
Maxim Devaev
3d8265e6b9 fixed deprecated find_module() 2024-07-19 15:25:14 +03:00
Maxim Devaev
e784dc3e70 Bump version: 4.0 → 4.1 2024-07-19 15:25:14 +03:00
Maxim Devaev
aacfd52d6c python 3.12 2024-07-19 15:25:14 +03:00
Maxim Devaev
ce0d1551d6 temporary disabled eslint 2024-07-19 15:25:14 +03:00
Maxim Devaev
89eb04c141 lint fixes 2024-07-19 15:25:14 +03:00
Maxim Devaev
6facfbbff9 Bump version: 3.333 → 4.0 2024-07-19 15:25:14 +03:00
Maxim Devaev
70484c046e added noyito pseudo-hid relay 2024-07-19 15:25:14 +03:00
Maxim Devaev
d2bc31d1cd pikvm/pikvm#1312: Option to close GPIO menu after click 2024-07-19 15:25:14 +03:00
Maxim Devaev
ee982946be Bump version: 3.332 → 3.333 2024-07-19 15:25:14 +03:00
Maxim Devaev
06d656c6e0 style fix 2024-07-19 15:25:14 +03:00
aastein
107af57d4e add parameter for mouse jiggler interval (#165)
* add jiggler_interval

* Update __init__.py
2024-07-19 15:25:13 +03:00
Maxim Devaev
097198356f Bump version: 3.331 → 3.332 2024-07-19 15:25:13 +03:00
Maxim Devaev
e92b666dfb fix 2024-07-19 15:25:13 +03:00
Maxim Devaev
898f8218ca Bump version: 3.330 → 3.331 2024-07-19 15:25:13 +03:00
Maxim Devaev
9847154e1b ustreamer 6.11 required 2024-07-19 15:25:13 +03:00
Maxim Devaev
1acf27c21f v4plus: 8 buffers 2024-07-19 15:25:13 +03:00
Maxim Devaev
142c4a3552 v4plus: config.txt for passthrough 2024-07-19 15:25:13 +03:00
Maxim Devaev
56728d5007 Bump version: 3.329 → 3.330 2024-07-19 15:25:13 +03:00
Maxim Devaev
ddd4d292cd new sponsors 2024-07-19 15:25:13 +03:00
Maxim Devaev
7e0301637b edidconf presets 2024-07-19 15:25:13 +03:00
Maxim Devaev
968a07335f removed deprecated streamer option --last-as-blank 2024-07-19 15:25:13 +03:00
Maxim Devaev
d082f05e7a improved kvmd-udev-restart-pass 2024-07-19 15:25:13 +03:00
No0ne
5bdc998922
ps2: keyboard+mouse passthru support (#171) 2024-07-19 15:05:57 +03:00
Grant Emsley
1f8a3a4c9a
Proper manifest file for app mode (#174)
Filling in the name and adding start_url will make browsers offer to install PiKVM as an application, including adding shortcuts to the start menu and everything. This runs it in app mode just like the instructions for running chrome with the --app flag.

Requires a valid SSL certificate be setup before browsers will show the option.
2024-07-17 07:23:05 +03:00
Maxim Devaev
ea285e3fec lint fix 2024-07-08 05:37:53 +03:00
Maxim Devaev
237d39b172 Removed kvmd-cleanup
Systemd kills all orphaned children when using KillMode=mixed
2024-07-08 04:53:24 +03:00
Maxim Devaev
eb1eb527f8 pikvm/pikvm#1347: added CPU and MEM to /api/info 2024-07-08 04:34:32 +03:00
SilentWind
e6d559f1a5
Merge pull request #25 from azhuge233/main
Fix docker command.
2024-07-07 22:01:32 +08:00
azhuge233
7542439ee3
Update README.md
Fix docker command.
2024-07-04 13:21:03 +08:00
mofeng-git
7f364039ec add reset #24 2024-06-30 10:21:20 +08:00
mofeng-git
478053f92a 更新说明 2024-06-22 23:54:31 +08:00
mofeng-git
5db2b16af9 修复 kvmd -m 报错 2024-06-22 23:52:34 +08:00
mofeng-git
0016dedf14 fix 2024-06-22 21:11:27 +08:00
mofeng-git
f981b7a904 Merge branch 'main' of https://github.com/mofeng-git/One-KVM 2024-06-22 21:09:01 +08:00
mofeng-git
8872f2e2c3 add main.yaml 2024-06-22 21:07:05 +08:00
SilentWind
e083b9f0b2
Merge pull request #22 from A7T/A7T-patch-1
Fix: Correct file path in cp command
经检查,main.yaml确实被误删。谢谢修正。
2024-06-22 21:05:42 +08:00
管子工具箱
0545e0bcc6
Fix: Correct file path in cp command
脚本中的 cp 命令缺少 ${APP_PATH} 和 patches/main.yaml 之间的斜杠,添加缺失的斜杠以确保文件路径正确.
2024-06-22 20:30:10 +08:00
mofeng-git
8f060d0376 fix 2024-06-18 20:58:48 +08:00
mofeng-git
841927fea3 fix 2024-06-18 20:34:23 +08:00
mofeng-git
9b97e01b34 更像说明 2024-06-18 18:40:47 +08:00
mofeng-git
daa4b72625 删除多余文档 2024-06-18 18:30:26 +08:00
mofeng-git
99f2a1b09a 重构更新 2024-06-18 18:29:24 +08:00
mofeng-git
fdf58ea6f7 为玩客云设置Boot_SkipUSBBurning 2024-06-10 18:18:29 +08:00
mofeng-git
7f7b431824 fix 2024-06-10 17:30:25 +08:00
mofeng-git
4ee30e01be 更新说明 2024-06-10 16:18:33 +08:00
mofeng-git
9093329853 fix 2024-06-10 15:54:26 +08:00
mofeng-git
e303bc43ec 累计更新 2024-06-10 15:25:39 +08:00
mofeng-git
03d2da6c13 累计更新 2024-06-10 15:21:06 +08:00
mofeng-git
f15a18591b fix 2024-06-10 14:59:47 +08:00
mofeng-git
1c5f641ce7 修复路径 2024-06-10 14:58:07 +08:00
mofeng-git
e2126cc3ca 累积更新 2024-06-10 14:56:23 +08:00
mofeng-git
b8b6dff995 一些更新 2024-06-10 14:47:14 +08:00
No0ne
13f23a19c3
bump to ps2x2pico-1.1 (#167) 2024-05-20 16:36:54 +03:00
Maxim Devaev
01fff2c7a9 lint fix 2024-05-18 14:33:59 +03:00
Maxim Devaev
d14757e107 Bump version: 4.1 → 4.2 2024-05-13 20:28:55 +03:00
Maxim Devaev
78898ba325 fixed deprecated find_module() 2024-05-13 20:28:16 +03:00
Maxim Devaev
3a13f83fbb Bump version: 4.0 → 4.1 2024-05-13 17:54:08 +03:00
Maxim Devaev
175bdde523 python 3.12 2024-05-13 17:53:30 +03:00
Maxim Devaev
f24ad95ced temporary disabled eslint 2024-05-13 17:52:47 +03:00
Maxim Devaev
9158abfab4 lint fixes 2024-05-13 17:52:04 +03:00
Maxim Devaev
bf87f036d3 Bump version: 3.333 → 4.0 2024-05-12 04:49:48 +03:00
Maxim Devaev
1c50c873c3 added noyito pseudo-hid relay 2024-05-12 04:42:11 +03:00
Maxim Devaev
b9d425e7dc pikvm/pikvm#1312: Option to close GPIO menu after click 2024-05-12 03:43:57 +03:00
Maxim Devaev
5f44ac9f63 Bump version: 3.332 → 3.333 2024-04-16 23:29:04 +03:00
Maxim Devaev
ceebac9485 style fix 2024-04-16 00:37:50 +03:00
aastein
039348a0d9
add parameter for mouse jiggler interval (#165)
* add jiggler_interval

* Update __init__.py
2024-04-16 00:33:49 +03:00
Maxim Devaev
1dc7d8921d Bump version: 3.331 → 3.332 2024-04-11 18:45:05 +03:00
Maxim Devaev
a3885e25c2 fix 2024-04-11 18:44:30 +03:00
Maxim Devaev
d3a4842cad Bump version: 3.330 → 3.331 2024-04-11 18:28:05 +03:00
Maxim Devaev
d3dc097100 ustreamer 6.11 required 2024-04-07 14:58:55 +03:00
Maxim Devaev
a650074514 v4plus: 8 buffers 2024-04-07 01:45:09 +03:00
Maxim Devaev
a276aa76d6 v4plus: config.txt for passthrough 2024-04-06 23:51:41 +03:00
Maxim Devaev
8b7196671b Bump version: 3.329 → 3.330 2024-04-06 22:02:12 +03:00
Maxim Devaev
fa6350baa8 new sponsors 2024-04-06 22:00:22 +03:00
Maxim Devaev
5088e7d645 edidconf presets 2024-04-06 21:52:34 +03:00
Maxim Devaev
233bf6d60a removed deprecated streamer option --last-as-blank 2024-04-02 13:29:53 +03:00
Maxim Devaev
dce6c48315 improved kvmd-udev-restart-pass 2024-03-31 14:02:33 +03:00
No0ne
f027654ad1
bump to ps2x2pico-1.0 pre-release (#164) 2024-03-28 19:35:08 +02:00
Maxim Devaev
444cd71ab5 Bump version: 3.328 → 3.329 2024-03-26 20:31:10 +02:00
Maxim Devaev
f712be823f kvmd-udev-restart-pass fix 2024-03-26 20:30:13 +02:00
Maxim Devaev
8f56d6ec27 webterm disableLeaveAlert=true in window 2024-03-26 20:18:16 +02:00
Maxim Devaev
35173ff181 min ustreamer version == 6.8 2024-03-26 20:18:16 +02:00
Maxim Devaev
e904bc467e restart ustreamer for v4p 2024-03-26 20:18:16 +02:00
Maxim Devaev
4cec632a37 restart ustreamer for v4p 2024-03-26 18:52:27 +02:00
Maxim Devaev
50e9ff54c9 Bump version: 3.327 → 3.328 2024-03-25 13:46:10 +02:00
Maxim Devaev
cb97f95ad6 native tracks list for janus 1.x 2024-03-25 03:19:20 +02:00
Maxim Devaev
71e5e4d138 refactoring 2024-03-25 01:29:43 +02:00
Maxim Devaev
1d48ba0a5a screenshot and reset stream buttons are always active 2024-03-24 23:46:21 +02:00
Maxim Devaev
611a138b42 Bump version: 3.326 → 3.327 2024-03-24 20:13:22 +02:00
Maxim Devaev
d78309a564 new sponsor 2024-03-24 20:11:35 +02:00
Maxim Devaev
62b14eeaa4 janus 1.x: prevent picture freezing on reconnecting 2024-03-24 19:33:58 +02:00
SilentWind
ab3bb95bdb
Update README.md 2024-03-24 22:32:45 +08:00
Maxim Devaev
43f2f6f9aa refactoring 2024-03-23 16:41:05 +02:00
Maxim Devaev
b23fd2f9f1 janus: 0.x and 1.x compatible tracks cleanup 2024-03-23 16:40:50 +02:00
Maxim Devaev
0980a586e6 Bump version: 3.325 → 3.326 2024-03-23 13:18:37 +02:00
Maxim Devaev
90838fde59 Issue #161: Fixed periodic disconnections on bad network
Fix for Janus 1.x similar as for 0.x (see 6b0f94c78d957359e695e231800d1ddade7706e0)
2024-03-23 13:11:34 +02:00
Maxim Devaev
852931bb82 Bump version: 3.324 → 3.325 2024-03-22 23:14:44 +02:00
Maxim Devaev
4f8a55d9e0 janus 1.x compatibility 2024-03-22 23:11:45 +02:00
Maxim Devaev
1c212b22bf removed legacy code 2024-03-22 23:11:07 +02:00
Maxim Devaev
027569d4a8 required janus 0.14.2-3 2024-03-22 23:04:43 +02:00
Maxim Devaev
5c77265d51 testenv: added deps for ustreamer building 2024-03-22 22:24:38 +02:00
Maxim Devaev
cbbdd1173f Bump version: 3.323 → 3.324 2024-03-22 16:06:14 +02:00
Maxim Devaev
19b2b6c840 new sponsor 2024-03-22 16:05:36 +02:00
Maxim Devaev
ce62d711c1 updated copyright date 2024-03-22 16:02:55 +02:00
Martin Wilhelmi
c9ee5131a1
Update copyright year (#163) 2024-03-22 15:32:33 +02:00
Maxim Devaev
5e000cdb62 Bump version: 3.322 → 3.323 2024-03-21 20:09:41 +02:00
Maxim Devaev
32698e96d0 set --buffers=6 for all *hdmi-rpi4 devices 2024-03-21 20:06:09 +02:00
Maxim Devaev
4baf779d37 Bump version: 3.321 → 3.322 2024-03-21 13:39:28 +02:00
Maxim Devaev
ffe987eb65 updated configs for new ustreamer 2024-03-21 13:38:16 +02:00
Maxim Devaev
e1f3aecf40 ustreamer 6.5 required 2024-03-21 13:38:03 +02:00
Maxim Devaev
1b659d74b3 Bump version: 3.320 → 3.321 2024-03-17 17:25:34 +02:00
Maxim Devaev
ed87098766 disable orientation on firefox (it doesn't support this) 2024-03-17 17:24:57 +02:00
Maxim Devaev
154a78a587 Bump version: 3.319 → 3.320 2024-03-17 12:43:21 +02:00
Maxim Devaev
ba613928c7 masked gnupg services 2024-03-17 12:42:35 +02:00
Maxim Devaev
b4d27ab1a9 Bump version: 3.318 → 3.319 2024-03-17 10:51:21 +02:00
Maxim Devaev
af68aba4b7 Issue #1076: Orientation options for H.264 2024-03-17 10:46:26 +02:00
Maxim Devaev
13b43355ca Bump version: 3.317 → 3.318 2024-03-16 00:09:42 +02:00
Maxim Devaev
88fae53541 refactoring 2024-03-15 22:29:03 +02:00
Andrew Rabert
b9c47126ab
Add Extron USB & VGA plugin (#162) 2024-03-15 22:26:38 +02:00
Maxim Devaev
fef92336f3 Bump version: 3.316 → 3.317 2024-03-13 21:38:19 +02:00
Maxim Devaev
1883da42a5 kernel update 2024-03-13 21:37:41 +02:00
Maxim Devaev
3ee1fba0d0 Bump version: 3.315 → 3.316 2024-03-12 10:37:33 +02:00
Maxim Devaev
286c3a8caa bootconfig: supported hidden ssids 2024-03-12 10:35:55 +02:00
Maxim Devaev
2bebbd9319 added passthrough options to v4plus config.txt 2024-03-11 19:09:32 +02:00
Maxim Devaev
ae3d9f5189 Bump version: 3.314 → 3.315 2024-03-11 17:40:12 +02:00
Maxim Devaev
c407648116 kvmd-udev-restart-pass: fixed port grep 2024-03-11 17:39:35 +02:00
Maxim Devaev
9adba87f18 Bump version: 3.313 → 3.314 2024-03-11 17:12:38 +02:00
Maxim Devaev
9e96772533 Added kvmd-udev-restart pass and udev rule to restart kvmd-pass on plugging HDMI-A-1
https://forums.raspberrypi.com/viewtopic.php?p=2202017
2024-03-11 17:11:57 +02:00
Maxim Devaev
5274673ab6 Bump version: 3.312 → 3.313 2024-03-11 10:51:50 +02:00
Maxim Devaev
68403bb77f new sponsors 2024-03-11 10:47:40 +02:00
Maxim Devaev
030a742673 Bump version: 3.311 → 3.312 2024-03-11 08:42:31 +02:00
Maxim Devaev
3676e2a4b2 janus-gateway-pikvm>=0.14.2-2 required 2024-03-11 08:41:38 +02:00
Sergey Radionov
6b0f94c78d
On bad network conditions disconnected can happen periodically (#161)
but it doesn't mean channel is already broken.
It's better wait `failed` state since `disconnected`
can be changed to `connected` at any moment.
Also fixes reconnect on Firefox.
2024-03-11 08:37:23 +02:00
Maxim Devaev
6ad14ad833 Bump version: 3.310 → 3.311 2024-03-09 04:46:45 +02:00
Maxim Devaev
76b582ff03 min ustreamer version == 6.1 2024-03-09 04:45:37 +02:00
Maxim Devaev
001e0e8259 renamed 'Desired FPS' to 'JPEG max fps' 2024-03-09 04:45:16 +02:00
Maxim Devaev
f34b89fb29 lint fix 2024-03-08 00:51:55 +02:00
SilentWind
35fbf3d306
Update README.md 2024-03-06 17:58:27 +08:00
Maxim Devaev
6a76ce869a Bump version: 3.309 → 3.310 2024-03-06 06:51:54 +02:00
Maxim Devaev
b17f752f10 detach janus plugin 2024-03-06 06:51:13 +02:00
Maxim Devaev
96960ab0aa fixed structure 2024-03-06 06:36:32 +02:00
SilentWind
ffebd2b484 update ReadMe.md 2024-03-05 16:00:24 +00:00
Maxim Devaev
c799630e5e Bump version: 3.308 → 3.309 2024-03-04 08:16:19 +02:00
Maxim Devaev
12c4a5ec06 own snapshot timeout 2024-03-04 08:15:30 +02:00
Maxim Devaev
4690e33088 Bump version: 3.307 → 3.308 2024-02-27 00:29:42 +02:00
Maxim Devaev
edb31c275e required 5.54 2024-02-27 00:28:23 +02:00
Maxim Devaev
237d67bf42 required new ustreamer for v4p 2024-02-26 22:47:35 +02:00
Maxim Devaev
e2f6233bee Bump version: 3.306 → 3.307 2024-02-26 22:13:08 +02:00
Maxim Devaev
fc488f7e8f kvmd-pass.service 2024-02-26 22:11:51 +02:00
Maxim Devaev
2eafc1cf16 Bump version: 3.305 → 3.306 2024-02-18 00:53:41 +02:00
Maxim Devaev
748b52e5a0 Added flashrom-pikvm as dep for v4plus 2024-02-18 00:53:05 +02:00
Maxim Devaev
77857a61f3 Bump version: 3.304 → 3.305 2024-02-16 18:51:48 +02:00
Maxim Devaev
22140106c4 web: Option to hide blue dot 2024-02-16 18:49:38 +02:00
Maxim Devaev
9d33bb93ea Bump version: 3.303 → 3.304 2024-02-15 23:47:59 +02:00
Maxim Devaev
1533545c87 edidconf: --restore-default option 2024-02-15 23:47:24 +02:00
Maxim Devaev
61be1e2931 Bump version: 3.302 → 3.303 2024-02-15 23:22:43 +02:00
Maxim Devaev
245bc17456 edid: New EDIDs for DIYs 2024-02-15 23:01:46 +02:00
Maxim Devaev
3163dd5c4b edid: New EDID for V3 2024-02-15 22:58:28 +02:00
Maxim Devaev
97390ba65f edid: New EDIDs for V4 2024-02-15 22:35:48 +02:00
Maxim Devaev
ea5205116e edidconf: Allow CEA blocks duplicating 2024-02-15 20:53:12 +02:00
Maxim Devaev
89b2ec8490 new sponsors 2024-02-14 19:32:40 +02:00
Maxim Devaev
a9e21a57b2 edid: New EDIDs for V4 with audio/speakers blocks 2024-02-14 19:15:59 +02:00
Maxim Devaev
1fb2fee18b edidconf: Remove and insert CEA audio/speakers blocks 2024-02-14 19:15:21 +02:00
Maxim Devaev
3552fc06ad edidconf: DTD serial support 2024-02-13 21:52:09 +02:00
Maxim Devaev
2a48b7e287 reworked server components 2024-02-11 00:39:57 +02:00
Maxim Devaev
0b382c3d59 bitbang module 2024-02-09 22:49:17 +02:00
Maxim Devaev
2149f497d4 Bump version: 3.301 → 3.302 2024-02-05 16:46:29 +02:00
Maxim Devaev
c45d19c98e kvmd.install: Don't apply config patches again 2024-02-05 16:45:51 +02:00
Maxim Devaev
af9c2f1f59 Issue pikvm/pikvm#1235: Fixed gadgets on UDC re-bind
After unbind and bind, the gadgets stop working,
unless we recreate their links in the profile.
Some kind of kernel bug.
2024-02-05 16:04:28 +02:00
Maxim Devaev
d3f2b57fdc Bump version: 3.300 → 3.301 2024-02-03 16:33:59 +02:00
Maxim Devaev
22190674c6 kvm-nginx-mkconf: Removed missing files from kvmd-install restoreperm loop 2024-02-03 16:32:53 +02:00
Maxim Devaev
59b3b33102 Bump version: 3.299 → 3.300 2024-02-03 16:20:37 +02:00
Maxim Devaev
5090cf65bd kvmd-nginx-mkconf: Fixed setup.py entrypoint 2024-02-03 16:20:03 +02:00
Maxim Devaev
70cd3ab21d Bump version: 3.298 → 3.299 2024-02-03 16:14:20 +02:00
Maxim Devaev
8d702f8cc2 kvmd-nginx-mkconf: Render nginx config with kvmd settings 2024-02-03 16:13:45 +02:00
Maxim Devaev
272e3bf5e9 edidconf: Fixed --import + --apply usage 2024-02-03 13:22:21 +02:00
Maxim Devaev
0a0581e71a Bump version: 3.297 → 3.298 2024-02-02 11:11:08 +02:00
Maxim Devaev
860fb03cf8 Another XH switch variation support
Co-authored-by: lumascet
2024-02-01 22:10:59 +02:00
Maxim Devaev
2e19450eb1 Bump version: 3.296 → 3.297 2024-02-01 17:50:55 +02:00
Maxim Devaev
7141eebbf8 check if ipv6 enabled before listen 2024-02-01 17:26:08 +02:00
SilentWind
f4c1dbe56e
Update README.md 2024-01-30 22:03:11 +08:00
mofeng-git
09d72c4567 add ChangeLogs.txt 2024-01-30 13:41:33 +00:00
mofeng-git
6ba888f37a update 2024-01-30 13:24:35 +00:00
mofeng-git
1d03dac58d fix sh 2024-01-30 12:40:53 +00:00
mofeng-git
e0050d43a4 add install patch 2024-01-30 12:32:23 +00:00
mofeng-git
0c139adb77 add install iptables 2024-01-30 12:19:53 +00:00
mofeng-git
a2f73543ed add h.264 file 2024-01-30 11:54:19 +00:00
mofeng-git
b4016cf8d8 add h.264 config 2024-01-30 11:48:59 +00:00
mofeng-git
ec8886608f change 5.10.158-meson dtb 2024-01-30 11:38:06 +00:00
No0ne
74d2d74667 Keyboard Issues #19 fix (https://github.com/No0ne/ps2x2pico/issues/19) (#157)
(cherry picked from commit a08824ba42d82acbd47f7d0e993a4977002c7e31)
Signed-off-by: Maxim Devaev <mdevaev@gmail.com>
2024-01-28 13:56:38 +02:00
Maxim Devaev
5b1101e42f Bump version: 3.295 → 3.296 2024-01-27 14:33:49 +02:00
Maxim Devaev
b8f568fcd8 pikvm/pikvm#1228: another fix for http-only ocr 2024-01-27 14:33:05 +02:00
Maxim Devaev
44ee4afcf2 Bump version: 3.294 → 3.295 2024-01-27 08:03:55 +02:00
Maxim Devaev
5d8875da88 pikvm/pikvm#1228: fix ocr for http-only connection 2024-01-27 08:03:12 +02:00
Maxim Devaev
8ec0e5518a Bump version: 3.293 → 3.294 2024-01-26 12:52:33 +02:00
Maxim Devaev
2d11b16c0c requires libgpiod>=2.1 2024-01-26 12:52:00 +02:00
Maxim Devaev
eabc03778d new sponsors 2024-01-26 08:16:07 +02:00
Maxim Devaev
859dec9875 Bump version: 3.292 → 3.293 2024-01-14 22:51:27 +02:00
Maxim Devaev
1c0b0bec41 testing with libgpiod 2.1 2024-01-14 22:50:50 +02:00
Maxim Devaev
4c6c86b029 Bump version: 3.291 → 3.292 2024-01-14 22:26:50 +02:00
Maxim Devaev
e28dec4e33 libgpiod 2.x api 2024-01-14 22:25:09 +02:00
Maxim Devaev
e1c6d1a990 Bump version: 3.290 → 3.291 2024-01-09 00:09:32 +02:00
Maxim Devaev
7382b1ed12 workaround for legacy libgpiod 1.x 2024-01-09 00:03:14 +02:00
Maxim Devaev
0676a3cee9 unique token for each separate logins 2024-01-08 23:50:38 +02:00
Maxim Devaev
f355c38fe1 additional checks for auth token 2024-01-08 21:45:30 +02:00
Maxim Devaev
4457187a86 Alternative for pikvm/kvmd#138: httponly=True, samesite=Strict
We don't use secure=True because there is a use case with disabled HTTPS.

Thanks @ssza
2024-01-07 23:41:43 +02:00
Maxim Devaev
98ff56e190 Bump version: 3.289 → 3.290 2023-12-30 23:22:36 +02:00
Maxim Devaev
c81380446b libgpiod1 2023-12-30 23:21:41 +02:00
Maxim Devaev
aa7f88f6cf Bump version: 3.288 → 3.289 2023-12-30 23:01:43 +02:00
Maxim Devaev
d5faa5687b bind libgpiod <= 2.0 2023-12-30 23:00:42 +02:00
Maxim Devaev
11b71125df Bump version: 3.287 → 3.288 2023-12-14 19:50:38 +02:00
Maxim Devaev
b7d5a5f78f pikvm/pikvm#1084: workaround for NULL unmute event
Note: Required a patch from Janus side:
  - https://github.com/meetecho/janus-gateway/issues/3283
2023-12-14 19:43:59 +02:00
Maxim Devaev
ff2ed7db39 Bump version: 3.286 → 3.287 2023-12-08 20:50:07 +02:00
Maxim Devaev
0f66b41118 reverted terminal button 2023-12-08 20:21:08 +02:00
Maxim Devaev
0d8e89a255 Bump version: 3.285 → 3.286 2023-12-08 18:58:55 +02:00
Maxim Devaev
648cfdb7da force disableLeaveAlert=true 2023-12-08 18:58:21 +02:00
Maxim Devaev
44e0d70d76 Bump version: 3.284 → 3.285 2023-12-08 18:34:58 +02:00
Maxim Devaev
5c9d98bc26 remove ttyd params 2023-12-08 18:34:21 +02:00
Maxim Devaev
ae014a259f Bump version: 3.283 → 3.284 2023-12-06 22:18:12 +02:00
Maxim Devaev
82a443ef66 pikvm/pikvm#907: modified favicon to support black color schemes 2023-12-06 22:16:33 +02:00
Maxim Devaev
6b5b7eda42 updated default override.yaml 2023-12-06 05:29:07 +02:00
Maxim Devaev
e07e33494d Bump version: 3.282 → 3.283 2023-12-05 19:45:09 +02:00
sparky3387
18e4949d1f
Update kvmd-udev-hdmiusb-check (#154)
This is to allow USB 3.0 Capture Cards to be used in the top USB port, this is to allow Macrosilicon's MS2130 to be used with PiKVM, when doing this it must also be switched to pixel format yuyv in the override.yaml
2023-12-05 13:15:16 +02:00
Maxim Devaev
070423dab0 Bump version: 3.281 → 3.282 2023-12-04 14:01:22 +02:00
Maxim Devaev
b36b83f74e pikvm/pikvm#1122: fixed incorrect en-gb keymap 2023-12-04 14:00:30 +02:00
Maxim Devaev
efc5b8fd0e Bump version: 3.280 → 3.281 2023-12-03 12:47:01 +02:00
Maxim Devaev
a1b8a077ee pikvm/pikvm#905: streamer start/stop hooks 2023-12-03 12:44:18 +02:00
Maxim Devaev
b4b32a71e5 Bump version: 3.279 → 3.280 2023-12-03 01:18:13 +02:00
Maxim Devaev
24bdc81722 Bump version: 3.278 → 3.279 2023-12-03 01:12:34 +02:00
Maxim Devaev
8c45191853 pikvm/pikvm#1148: workaround for clipboard on firefox 2023-12-03 01:11:39 +02:00
Maxim Devaev
cfac039eb4 Bump version: 3.277 → 3.278 2023-12-02 15:32:49 +02:00
Maxim Devaev
83d24169f5 kvmd-bootconfig: fixed route metrics between eth0/wlan0 2023-12-02 15:02:13 +02:00
Maxim Devaev
968fb41884 Bump version: 3.276 → 3.277 2023-12-01 10:25:45 +02:00
Maxim Devaev
0e1ba765a2 pikvm/pikvm#1174: static wifi config support for kvmd-bootconfig 2023-11-28 16:07:44 +02:00
Maxim Devaev
36a61023d5 Bump version: 3.275 → 3.276 2023-11-20 07:22:50 +02:00
Maxim Devaev
0e42e10c29 lint fix 2023-11-20 07:08:13 +02:00
Maxim Devaev
627f7821ef prettify seds 2023-11-20 06:27:02 +02:00
Maxim Devaev
73f1ebdcad Bump version: 3.274 → 3.275 2023-11-17 23:33:25 +02:00
Maxim Devaev
71fe447335 disabled filter this_machine() in log viewer 2023-11-17 23:31:18 +02:00
Maxim Devaev
2b7d5960ca run bootconfig before all kvmd services and wait for it 2023-11-17 23:25:09 +02:00
Maxim Devaev
cc3bec8d7e Bump version: 3.273 → 3.274 2023-11-08 22:58:05 +02:00
Maxim Devaev
c02dd703b9 web: default hid.mouse.rate=10 2023-11-08 22:55:17 +02:00
Maxim Devaev
63d8784f8e Bump version: 3.272 → 3.273 2023-10-30 18:21:31 +02:00
Maxim Devaev
5241c0c579 improved jiggler 2023-10-30 18:20:57 +02:00
Maxim Devaev
9270008571 Bump version: 3.271 → 3.272 2023-10-30 15:54:43 +02:00
Maxim Devaev
981309d886 option to activate jiggler by default 2023-10-30 15:54:03 +02:00
Maxim Devaev
10a38ff6bc Bump version: 3.270 → 3.271 2023-10-28 10:51:58 +03:00
Maxim Devaev
d919847e8b using upstream platformio and avrdude 2023-10-28 10:51:24 +03:00
Maxim Devaev
9e8eb3520f Bump version: 3.269 → 3.270 2023-10-26 22:11:46 +03:00
Maxim Devaev
1f5ef39135 pikvm/pikvm#1116: fixed tesmart lag, making new tcp connection on every request 2023-10-26 22:10:46 +03:00
Maxim Devaev
8ef73fabc3 Bump version: 3.268 → 3.269 2023-10-26 19:22:42 +03:00
Maxim Devaev
1adf5c40cc disabled jiggler by default 2023-10-26 19:22:00 +03:00
Maxim Devaev
c7a83be9fe Bump version: 3.267 → 3.268 2023-10-26 11:02:50 +03:00
Maxim Devaev
71cdddfd43 new sponsor 2023-10-26 11:02:05 +03:00
Maxim Devaev
5287eb14f3 link to the mouse jiggler doc 2023-10-26 10:08:04 +03:00
Maxim Devaev
e2ac3412db refactoring 2023-10-26 08:41:27 +03:00
Maxim Devaev
7bb5531100 option to disable jiggler 2023-10-26 08:28:18 +03:00
Maxim Devaev
aec6727020 Bump version: 3.266 → 3.267 2023-10-25 00:57:55 +03:00
Maxim Devaev
3c611121a8 web: option to remap ctrl/caps 2023-10-25 00:56:08 +03:00
Maxim Devaev
620b9fcc89 Bump version: 3.265 → 3.266 2023-10-24 18:19:28 +03:00
Rushab Shah
b21ccfbcc9
kvmd-udev-hdmiusb-check: Add support for rPi4 b rev 1.5 (#153)
Adds support for the following new revision of the board:

# tr < /proc/device-tree/model -d '\000'
Raspberry Pi 4 Model B Rev 1.5

Without this, `/dev/video19` from the `rpivid_hevc` driver gets incorrectly linked to `/dev/kvmd-video`

```bash
lrwxrwxrwx 1 root root 6 Sep 28 08:14 /dev/kvmd-video -> video19
```
2023-10-24 18:01:52 +03:00
Maxim Devaev
d5a6354331 Bump version: 3.264 → 3.265 2023-10-23 08:10:59 +03:00
Maxim Devaev
4038754c37 pikvm/pikvm#57: Mouse jiggler 2023-10-23 08:10:19 +03:00
Maxim Devaev
73f96fa0c7 Bump version: 3.263 → 3.264 2023-10-22 09:28:20 +03:00
Maxim Devaev
3f54751034 fixed hid-bridge udev rule 2023-10-22 09:27:16 +03:00
Maxim Devaev
eabe0a8ba9 Bump version: 3.262 → 3.263 2023-10-22 07:15:15 +03:00
Maxim Devaev
2d0ffe6752 raspberrypi-utils 2023-10-22 07:14:06 +03:00
Maxim Devaev
18e001f185 Bump version: 3.261 → 3.262 2023-10-21 11:52:48 +03:00
Maxim Devaev
177ecad863 udev rule for pico hid bridge 2023-10-21 11:52:15 +03:00
Maxim Devaev
52c9c09798 Bump version: 3.260 → 3.261 2023-10-21 06:52:39 +03:00
Maxim Devaev
a783924b2e removed netctl dhcp hook 2023-10-21 06:49:51 +03:00
Maxim Devaev
bfa4756c6e Bump version: 3.259 → 3.260 2023-10-21 06:36:18 +03:00
Maxim Devaev
4a6b0db099 new sponsor 2023-10-21 06:35:45 +03:00
Maxim Devaev
51bad1dc98 install platformio and other things only on v0 2023-10-21 06:25:27 +03:00
Maxim Devaev
13d8dcac59 Bump version: 3.258 → 3.259 2023-10-16 17:15:34 +03:00
Maxim Devaev
1a529b10af new sponsors 2023-10-16 17:14:43 +03:00
Maxim Devaev
8799179e08 Bump version: 3.257 → 3.258 2023-10-13 19:37:11 +03:00
Maxim Devaev
c7238d33a7 missing option for #152 2023-10-10 21:25:46 +03:00
Alexander Georgievskiy
718f10417a
[v2-hdmi-rpi3.yaml] add h264 sink from v1 (#152)
Seems that v2 lost h264 support from v1 somehow.

Tested h264 support on v2 with rpi3a+
2023-10-10 21:19:27 +03:00
Maxim Devaev
2ba337e028 new sponsors 2023-10-09 18:50:56 +03:00
Maxim Devaev
988a190957 Bump version: 3.256 → 3.257 2023-09-28 02:20:35 +03:00
Maxim Devaev
b606cd60d2
pico hid: better ps2x2pico integration (#149) (#151)
Co-authored-by: No0ne <github@exa.solar>
2023-09-28 02:19:07 +03:00
Maxim Devaev
cfc556f412 extra isinstance check 2023-09-28 02:09:57 +03:00
Maxim Devaev
29e266f542 pikvm/pikvm#1115: 640 permissions to wpa config 2023-09-28 02:02:31 +03:00
Vladimir Sukhonosov
0c4d21f204
check group name in ldap result (#150) 2023-09-28 01:52:30 +03:00
Maxim Devaev
8f32f9ae11 Bump version: 3.255 → 3.256 2023-09-10 14:55:10 +03:00
Maxim Devaev
cec03c4468 mute false-positive underpower on cm4-based (v4) devices 2023-09-10 14:54:25 +03:00
Maxim Devaev
7900a243a2 Bump version: 3.254 → 3.255 2023-09-09 15:52:40 +03:00
Maxim Devaev
85bbb62a8f fix 2023-09-09 15:52:07 +03:00
Maxim Devaev
fdfda46726 Bump version: 3.253 → 3.254 2023-09-09 15:30:27 +03:00
Maxim Devaev
7251e76112 /usr/share/kvmd/device 2023-09-09 15:29:53 +03:00
Maxim Devaev
5f3a42f7fd Bump version: 3.252 → 3.253 2023-09-09 14:39:02 +03:00
Maxim Devaev
87bfdb408c fix 2023-09-09 13:34:54 +03:00
Maxim Devaev
4f8adf82ae Merge branch 'ps2' 2023-09-09 13:23:51 +03:00
Maxim Devaev
5d587d1d41 ps2 pin stubs 2023-09-09 13:23:30 +03:00
Maxim Devaev
1b772aace2 refactoring 2023-09-09 13:08:34 +03:00
Maxim Devaev
2189b77c07 using ps2x2pico as a library 2023-09-09 13:07:30 +03:00
No0ne
a03c3c2367
pico hid: ps/2 mouse support (#148) 2023-09-08 10:29:15 +03:00
No0ne
19c1c7b933
pico hid: basic ps/2 mouse support (#147) 2023-08-30 23:51:30 +03:00
No0ne
546a8cef8b
pico hid: ps/2 keyboard support finished (#146) 2023-08-27 05:47:58 +03:00
Maxim Devaev
13dcf107ed Bump version: 3.251 → 3.252 2023-08-26 04:49:58 +03:00
Maxim Devaev
82616ed7b5 pikvm/pikvm#1095: floppy icon is missing on macOS 2023-08-26 04:48:58 +03:00
No0ne
d4e5722b24
pico hid: ps/2 fix retransmission (#145)
* pico hid: ps/2 keyboard support getting started (#139)

* pico hid: ps/2 bytes and packets queue

* pico hid: ps/2 bytes and packets queue (#142)

* pico hid: ps/2 fix retransmission
2023-08-26 01:35:10 +03:00
Maxim Devaev
1e46110a12 new sponsor 2023-08-25 13:38:28 +03:00
No0ne
72df815407 pico hid: ps/2 bytes and packets queue (#142) 2023-08-25 12:41:47 +03:00
No0ne
94041d45fc pico hid: ps/2 keyboard support getting started (#139) 2023-08-25 12:41:47 +03:00
Maxim Devaev
36df38972c web: improved autocapitalize=off 2023-08-25 12:39:41 +03:00
Karson Miller
bb4349e646
Turn off auto capitalize on the username input field on the main login page. (#143) 2023-08-25 12:37:35 +03:00
Maxim Devaev
21eddbde1c pico hid bridge mode 2023-08-25 12:35:28 +03:00
Maxim Devaev
82ca2b1cae Bump version: 3.250 → 3.251 2023-08-24 13:23:47 +03:00
Maxim Devaev
f98596fe77 new sponsor 2023-08-24 13:22:45 +03:00
Maxim Devaev
81d67c6ed7 pikvm/pikvm#1094: web: separate switch for reversed scrolling and panning 2023-08-24 13:16:00 +03:00
Maxim Devaev
e78d3e03ec pico hid: refactoring 2023-08-24 12:56:13 +03:00
Maxim Devaev
cbea3ce12f pico hid: prefer ps/2 if usb is disabled 2023-08-24 10:06:24 +03:00
Maxim Devaev
d9fd6b8921 new sponsors 2023-08-22 03:17:13 +03:00
Maxim Devaev
d7366bab0c new sponsor 2023-08-20 22:25:30 +03:00
Maxim Devaev
8f466715c8 Bump version: 3.249 → 3.250 2023-08-19 12:43:10 +03:00
Maxim Devaev
02b2f0dace fixed missing dosfstools 2023-08-19 12:42:37 +03:00
Maxim Devaev
12b9d0f012 Bump version: 3.248 → 3.249 2023-08-19 06:23:44 +03:00
Maxim Devaev
61de01d892 msd: using .incomplete files instead of .complete 2023-08-19 06:21:32 +03:00
Maxim Devaev
1f64f7b3ba added links 2023-08-18 14:57:17 +03:00
Maxim Devaev
5c1d691b2c Bump version: 3.247 → 3.248 2023-08-18 03:57:41 +03:00
Maxim Devaev
315a07173b pikvm/pikvm#1090: web: added print screen shortcut 2023-08-18 03:57:02 +03:00
Maxim Devaev
d91bcdce25 Bump version: 3.246 → 3.247 2023-08-18 02:42:45 +03:00
Maxim Devaev
c41e2fa599 pikvm/pikvm#1090: web: added win+l hotkey 2023-08-18 02:39:07 +03:00
Maxim Devaev
5e0eecb67a Bump version: 3.245 → 3.246 2023-08-18 00:35:29 +03:00
Maxim Devaev
07e1c601a9 prometheus: hid special gpios starting with __ 2023-08-18 00:27:46 +03:00
Maxim Devaev
61ce81ab64 pikvm/pikvm#1069: added option to disable auth on prometheus api 2023-08-18 00:21:07 +03:00
Maxim Devaev
32560563dc web: janus: enabled kbps meter with fps meter 2023-08-17 21:26:58 +03:00
Maxim Devaev
82af7b2fba pico sdk update 2023-08-16 09:19:37 +03:00
Maxim Devaev
3542319882 lint fix 2023-08-15 02:10:19 +03:00
Maxim Devaev
f9ab76b247 pico hid refactoring 2023-08-14 14:42:54 +03:00
Maxim Devaev
69163ccfb1 Bump version: 3.244 → 3.245 2023-08-12 18:50:24 +03:00
Maxim Devaev
c9db3a6019 pikvm/pikvm#1087: fixed missing kvmd-certbot.timer 2023-08-12 18:48:24 +03:00
Maxim Devaev
449c7370ea Bump version: 3.243 → 3.244 2023-08-10 00:24:17 +03:00
Maxim Devaev
a2abf090af compact 2023-08-10 00:23:43 +03:00
Maxim Devaev
73776e8fd3 Bump version: 3.242 → 3.243 2023-08-10 00:07:23 +03:00
Maxim Devaev
2d881db05a fixed inline list 2023-08-10 00:04:46 +03:00
Maxim Devaev
06cae0f4e9 Bump version: 3.241 → 3.242 2023-08-09 23:14:33 +03:00
Maxim Devaev
e140b4f29d improved outout puf kvmd-otgconf --make-gpio-config 2023-08-09 22:54:49 +03:00
Maxim Devaev
dab9924096 web: force_desktop and force_mobile options 2023-08-09 03:45:26 +03:00
Maxim Devaev
895ec1cb73 pico hid: ps/2 stubs 2023-08-08 14:00:28 +03:00
Maxim Devaev
cd599060a0 Bump version: 3.240 → 3.241 2023-08-07 01:55:24 +03:00
Maxim Devaev
8f47597f27 using power detect for v1 2023-08-07 01:28:40 +03:00
Maxim Devaev
0e81430894 removed generic, bumped kernel version 2023-08-07 01:16:35 +03:00
Maxim Devaev
163da1bdd1 Bump version: 3.239 → 3.240 2023-08-07 00:16:45 +03:00
Maxim Devaev
ef8fee5f9c muted act led 2023-08-07 00:13:48 +03:00
Maxim Devaev
a10c45a1c1 build pico hid firmware on github 2023-08-06 22:45:22 +03:00
Maxim Devaev
01ec612773 Bump version: 3.238 → 3.239 2023-08-06 20:13:41 +03:00
Maxim Devaev
a1b718f6a0 kvmd-otgconf: multiple ops 2023-08-06 06:18:51 +03:00
Maxim Devaev
92c3620a86 mcu hid: optional power detecting on the hid device 2023-08-06 03:36:54 +03:00
Maxim Devaev
472605734e pico hid: fixed missing include 2023-08-05 02:10:15 +03:00
Maxim Devaev
a8c3023aae pico hid: dip fix 2023-08-05 02:07:50 +03:00
Maxim Devaev
94025892f3 pico hid: uart support 2023-08-04 23:31:35 +03:00
Maxim Devaev
b44c8516d7 pico hid: slow blinking 2023-08-04 04:19:50 +03:00
Maxim Devaev
8c6e9eb4c1 indent fix 2023-08-04 03:54:42 +03:00
Maxim Devaev
b2c9236721 pico hid fix for old gcc 2023-08-04 03:10:00 +03:00
Maxim Devaev
750b9214fe pico hid ci 2023-08-04 02:41:38 +03:00
Maxim Devaev
318724e3ae v1 2023-08-04 00:37:41 +03:00
Maxim Devaev
c96057772c rp2040 hid 2023-08-03 05:47:27 +03:00
Maxim Devaev
1a8f98a64f moved arduino hid to hid/arduino 2023-07-31 02:17:23 +03:00
Maxim Devaev
cf44668af9 Merge branch 'ch9329' 2023-07-31 01:55:05 +03:00
Maxim Devaev
8e2a528418 ch9329: reconnect logic 2023-07-31 01:53:33 +03:00
Maxim Devaev
e93a5c968f removed backward compatibility for old aiohttp AccessLogger 2023-07-28 01:51:17 +03:00
Maxim Devaev
8efe0e614f Bump version: 3.237 → 3.238 2023-07-25 16:14:13 +03:00
Maxim Devaev
68bfb04bb4 pikvm/pikvm#1057: web: fixed onremotestream bug if there is no video track 2023-07-25 15:56:20 +03:00
Maxim Devaev
2b0515dc55 cached /export/prometheus/metrics 2023-07-24 16:25:25 +03:00
Maxim Devaev
78ceb345ac Bump version: 3.236 → 3.237 2023-07-23 22:19:44 +03:00
Maxim Devaev
dfa3354978 pikvm/pikvm#1057: web: fixed onremotestream handler for active=false 2023-07-23 22:15:15 +03:00
Maxim Devaev
4f21aae0ce Bump version: 3.235 → 3.236 2023-07-21 19:36:03 +03:00
Maxim Devaev
e44f373771 web: improved mac cmd key handling 2023-07-21 19:29:55 +03:00
Maxim Devaev
3dd05af8f5 Bump version: 3.234 → 3.235 2023-07-11 00:51:14 +03:00
Maxim Devaev
8b1beb1e28 web: fixed firefox detection due deprecating InstallTrigger 2023-07-10 14:34:12 +03:00
Maxim Devaev
2e6f0da141 ch9329: fixed int to byte conversion 2023-07-10 03:02:28 +03:00
Maxim Devaev
2730b11840 ch9329: using bytes instead of list[int] 2023-07-10 03:02:28 +03:00
Maxim Devaev
ce81c872ea ch9329: fixed mac issue (thanks @jacobb) 2023-07-10 03:02:28 +03:00
Maxim Devaev
5a36dec615 ch9329: removed unused params 2023-07-10 03:02:28 +03:00
Maxim Devaev
ee9ff3cd46 ch9329: fixed checksum 2023-07-10 03:02:28 +03:00
Maxim Devaev
5794da2c51 fixed missing ch9329 in setup.py 2023-07-10 03:02:28 +03:00
Maxim Devaev
be4269fe61 refactoring 2023-07-10 03:02:28 +03:00
Maxim Devaev
c584302587 ch9329: fixed rel mouse 2023-07-10 03:02:28 +03:00
Maxim Devaev
ddfe21d2b0 ch9329: fixed abs mouse 2023-07-10 03:02:28 +03:00
Maxim Devaev
ecf3faf984 refactoring 2023-07-10 03:02:28 +03:00
jacobbar
4220fe5908 fixes ch9329 plugin multiple keyboard keys (#123)
* Add ch9329 plugin

---------

Co-authored-by: Maxim Devaev <mdevaev@gmail.com>
2023-07-10 03:02:28 +03:00
jacobbar
6689008840 Adds CH9329 Serial to HID Plugin Support (#122)
* Add ch9329 plugin

* refactoring ch9329

* refactor ch9329 and cleanup

* refactoring

* fixing lint errors

* clarifying list type

* fix mouse multiple buttons

* remove unused var

---------

Co-authored-by: Maxim Devaev <mdevaev@gmail.com>
2023-07-10 03:02:28 +03:00
jacobbar
6e24efc81e Add CH9329 Serial to HID support (#121)
* Add ch9329 plugin

* refactoring ch9329

* refactor ch9329 and cleanup

* refactoring

* fixing lint errors

* clarifying list type
2023-07-10 03:02:28 +03:00
Maxim Devaev
c562e640b5 Bump version: 3.233 → 3.234 2023-07-07 17:44:02 +03:00
Maxim Devaev
3749599361 nginx update with http2 directive 2023-07-07 17:43:16 +03:00
Maxim Devaev
e3313f33d3 Bump version: 3.232 → 3.233 2023-07-07 17:33:17 +03:00
Maxim Devaev
64728dc0e6 pikvm/pikvm#1041: Randomized recorder events 2023-07-07 17:30:58 +03:00
Maxim Devaev
26d807a4b9 pikvm/pikvm#1047: Added link to the log in fan fail menu 2023-07-07 12:50:09 +03:00
Maxim Devaev
81aeb3825d Bump version: 3.231 → 3.232 2023-07-05 12:47:14 +03:00
Maxim Devaev
e9b5c75ef0 new sponsor 2023-07-05 12:43:06 +03:00
Maxim Devaev
e0c32c2111 Fix for Pillow 10.x 2023-07-05 12:31:43 +03:00
Maxim Devaev
4e9d93b2b1 pikvm/pikvm#1049: VNC: Fixed memory leak when client doesn't send framebuffer request 2023-07-05 11:16:57 +03:00
Maxim Devaev
a0fba08d4e otgnet: changed default ip range to 172.30.30.0/24 2023-07-02 15:38:59 +03:00
Maxim Devaev
f34685d91f Bump version: 3.230 → 3.231 2023-06-29 17:11:47 +03:00
Maxim Devaev
8c2069ae1f patch fstab to remove /run tmpfs 2023-06-29 16:54:28 +03:00
Maxim Devaev
147583e10d Bump version: 3.229 → 3.230 2023-06-28 16:07:27 +03:00
Maxim Devaev
1eafec4f0e lint fix 2023-06-28 16:06:02 +03:00
Maxim Devaev
067e5271c3 new sponsors 2023-06-28 15:57:01 +03:00
Maxim Devaev
10a8363183 Direct usage of setup.py is deprecated 2023-06-28 15:13:07 +03:00
Maxim Devaev
c129f54efa pikvm/pikvm#1037: Fixed building with setuptools 68.0.0 2023-06-28 14:39:38 +03:00
Maxim Devaev
a74044b086 refactoring 2023-06-20 05:45:25 +03:00
Adam Outler
db3f622023
Refactoring merge Method into a New Class & Adding Unit Tests (#137) 2023-06-20 05:35:53 +03:00
Maxim Devaev
9879a9f05b fixed pip 2023-06-18 11:46:40 +03:00
Maxim Devaev
97f459cd35 Bump version: 3.228 → 3.229 2023-06-09 04:26:00 +03:00
Maxim Devaev
af4376761c web: fixed firefox scrollbar width 2023-06-09 04:00:27 +03:00
Maxim Devaev
22341044ba pikvm/pikvm#919: Scrollable Web UI menues 2023-06-09 03:59:36 +03:00
Maxim Devaev
999a19ca8d pikvm/pikvm#1027: fixed keymap.csv formatting 2023-06-08 19:03:47 +03:00
Maxim Devaev
d560169980 Bump version: 3.227 → 3.228 2023-06-07 19:55:42 +03:00
Maxim Devaev
226e5cf8ce fix 2023-06-07 19:15:47 +03:00
Maxim Devaev
9f98a2f701 binary keyboard protocol 2023-06-07 05:12:22 +03:00
Maxim Devaev
9c694da00c simplified binary expose_ws() 2023-06-07 01:21:23 +03:00
Maxim Devaev
7c507810f0 Bump version: 3.226 → 3.227 2023-06-05 16:50:00 +03:00
Maxim Devaev
66c1d321d2 vnc: force absolute usb mouse_output 2023-06-05 16:37:02 +03:00
Maxim Devaev
82aedb9c4e Bump version: 3.225 → 3.226 2023-06-05 03:01:21 +03:00
Maxim Devaev
aeca775eee kvmd-tc358743: clear edid on stop 2023-06-05 03:00:42 +03:00
Maxim Devaev
1786ccc490 new sponsor 2023-06-04 19:22:15 +03:00
Maxim Devaev
091ac4f9b2 Bump version: 3.224 → 3.225 2023-06-04 02:50:26 +03:00
Maxim Devaev
388c8aeb2d very effective binary mouse protocol 2023-06-04 02:27:03 +03:00
Maxim Devaev
caf08bd2ac Bump version: 3.223 → 3.224 2023-06-02 18:13:43 +03:00
Maxim Devaev
749f4d6b49 using short no-pulse gpio form 2023-06-02 18:09:57 +03:00
Maxim Devaev
50f8a8aae8 v4 gpio const1 2023-06-02 18:06:01 +03:00
Maxim Devaev
6e0d93be23 using time.monotonic() instead of time.time() 2023-06-02 17:20:07 +03:00
Maxim Devaev
225ea61a0e Bump version: 3.222 → 3.223 2023-06-01 21:17:19 +03:00
Maxim Devaev
816e518547 gpio: short for for disabling the pulse 2023-06-01 20:23:40 +03:00
Maxim Devaev
f5ff9c142a gpio: const mode for outputs 2023-06-01 20:11:11 +03:00
Maxim Devaev
caba1d33a2 Bump version: 3.221 → 3.222 2023-05-31 23:49:13 +03:00
Maxim Devaev
eca2d697ed removing data=journal 2023-05-31 23:46:05 +03:00
Juhyung Park
7f8bb428d3
sysctl: tune dirty data writeback policies (#135)
The existing policy sets dirty_background_bytes to 5, which is erroneously
too small that incurs write amplification and read starvations.
Considering a raspi with 2 GiB of RAM, this is 43 million times smaller
than the default Linux policy, which is 10%.

Considering that this will be deployed to mostly read-only system with
emphasis on data integrity (hence needing tighter data writeback), set
this to 256 KiB.

Continuing addressing the overly excessive data writeback policies, also
bump the dirty_writeback_centisecs from 250ms to 1000ms. Any dirty data
written in the past 1 second will be written to the storage.

Signed-off-by: Juhyung Park <qkrwngud825@gmail.com>
2023-05-31 17:59:23 +03:00
Maxim Devaev
d608b6e010 Bump version: 3.220 → 3.221 2023-05-28 23:37:45 +03:00
Maxim Devaev
018f33533d kvmd-bootconfig: improved oled handling 2023-05-28 17:54:20 +03:00
srepac
6ef1645e93
Show first time boot status in oled (#134) 2023-05-27 19:21:42 +03:00
Adam Outler
bfbf3172e3
Fix crash on unload (#136)
* Fix crash on unload

Within main, exists a `window.beforeunload` handler which brings up the "Are you sure you want to close PiKVM session?" message.   When the page is refreshed, the event is `undefined` and, the code which sets the `event.returnValue` to the aforementioned text provides an exception.  

To reproduce:
1. Open KVMD web
2. Open developer tools to view Console.
3. Interact with the page by clicking the main window.
4. Refresh the page
5. Observe type error in console. 

This patch checks if the event is defined before attempting to set the `event.returnValue`.  Other functions are maintained.

* Add space
2023-05-27 18:08:57 +03:00
Maxim Devaev
f0a860600d Bump version: 3.219 → 3.220 2023-05-27 12:44:24 +03:00
Maxim Devaev
a834c89ef3 copyright update 2023-05-27 12:41:22 +03:00
Maxim Devaev
ac2ea46045 Bump version: 3.218 → 3.219 2023-05-26 00:29:22 +03:00
Maxim Devaev
994715f214 avrdude-pikvm 2023-05-26 00:28:49 +03:00
Maxim Devaev
93530484bb Bump version: 3.217 → 3.218 2023-05-25 18:04:50 +03:00
Maxim Devaev
5c733ccb81 new sponsors 2023-05-25 16:57:00 +03:00
Maxim Devaev
aca82dd3a9 Bump version: 3.216 → 3.217 2023-05-04 12:43:11 +03:00
Maxim Devaev
b5353e63cd python 3.11 fixes 2023-05-04 12:37:05 +03:00
Maxim Devaev
b5d6731497 refactoring 2023-04-29 05:15:28 +03:00
Maxim Devaev
12422fa1ff Bump version: 3.215 → 3.216 2023-04-27 21:22:31 +03:00
Maxim Devaev
1c27bd677f pikvm/pikvm#992: fixed @ keymap priority in en-gb layout 2023-04-27 21:17:43 +03:00
Maxim Devaev
3170dcdb57 web: focus on text area after opening pak menu 2023-04-27 20:23:20 +03:00
Maxim Devaev
70e89f5e04 Bump version: 3.214 → 3.215 2023-04-26 22:15:31 +03:00
Maxim Devaev
514a31a678 v4: 1080p60 is a native resolution now 2023-04-26 22:13:16 +03:00
Maxim Devaev
a7534ed411 Bump version: 3.213 → 3.214 2023-04-25 22:07:54 +03:00
Maxim Devaev
e021d332fd reduced max scroll rate 2023-04-25 05:21:00 +03:00
Maxim Devaev
b8b0ad2874 option for cumulative scrolling mode 2023-04-25 04:53:08 +03:00
Maxim Devaev
cbf0a8b8f2 refactoring, reverted mouse scroll mode 2023-04-25 03:01:12 +03:00
Adam Outler
987684bc82
Add scroll rate slider, with proper pug support (#131) 2023-04-25 02:37:45 +03:00
Maxim Devaev
314459310a testenv: libgpiod from the repo 2023-04-20 19:30:16 +03:00
Maxim Devaev
95418c9400 Bump version: 3.212 → 3.213 2023-04-20 17:30:20 +03:00
Maxim Devaev
5bb3488281 ldap auth: tls support 2023-04-20 17:27:02 +03:00
Maxim Devaev
1209ddeb8d ldap auth module 2023-04-19 23:40:36 +03:00
Maxim Devaev
fc2efb6ba9 refactoring 2023-04-16 05:06:01 +03:00
Maxim Devaev
2d1969a9a1 Bump version: 3.211 → 3.212 2023-04-13 23:39:00 +03:00
vipergts450
5863004441
Update kvmd-certbot: fix cp -a to catch dotfiles (#127)
Second pull request for this bug. Apparently, in bash `cp -a <dir>/*` ignores dotfiles, which are often how authfiles get named, notably as per the documentation for SSL cert management for certbot plugins in the PiKVM Wiki. Using `cp -a <dir>/.` instead should catch dotfiles and all files and subdirectories correctly.
2023-04-13 23:12:32 +03:00
Maxim Devaev
99e4615d38 lint fixes 2023-04-13 23:09:30 +03:00
Adam Outler
59ba330ef8
Remove unused items (#128)
* Remove unused items

These items are called out as inactive or removed from pylint.

* Allow inspection of additional packages

By adding these package inspections, the pylint warnings are reduced.  This brings us to a smaller list of items which do not comply with current PEPs.  https://hackedyour.info/58KO86fiiL4wiV5r

* Lint problems discussed with lead

* Add comma to end of line
2023-04-13 22:56:37 +03:00
Maxim Devaev
db208ad456 Bump version: 3.210 → 3.211 2023-03-29 20:44:50 +03:00
Maxim Devaev
7ed7443a2a new sponsor 2023-03-29 20:44:11 +03:00
vipergts450
4b7bbddef1
Update kvmd-certbot (#125) 2023-03-29 20:36:52 +03:00
Maxim Devaev
e1fba790c1 Bump version: 3.209 → 3.210 2023-03-26 01:39:28 +02:00
Maxim Devaev
f6283e1197 pikvm/pikvm#957: Added ESTABLISHED,RELATED rule to otgnet 2023-03-26 01:24:26 +02:00
Maxim Devaev
2cd2fa8722 Bump version: 3.208 → 3.209 2023-03-23 14:24:59 +02:00
Maxim Devaev
90f74619ed pikvm/pikvm#947: Fixed missing XK_EuroSign 2023-03-23 14:24:00 +02:00
Maxim Devaev
cd97509c1b Bump version: 3.207 → 3.208 2023-03-23 12:13:12 +02:00
Maxim Devaev
26238e241e Issue #947: Improved layout handling and Unicode -> X11 keysyms translation 2023-03-23 11:50:22 +02:00
Maxim Devaev
22db176ef0 removed aiofs 2023-03-22 04:44:07 +02:00
Maxim Devaev
6c0f5cccb9 Bump version: 3.206 → 3.207 2023-03-21 07:48:36 +02:00
Maxim Devaev
b08b7a7758 fixed msd storage bar in web ui 2023-03-21 07:47:52 +02:00
Maxim Devaev
1a2b70b2b0 decreased msd tick 2023-03-21 07:47:30 +02:00
Maxim Devaev
b3273b694f Bump version: 3.205 → 3.206 2023-03-21 06:35:15 +02:00
Maxim Devaev
2392aa2330 show all parts in msd menu 2023-03-20 20:51:02 +02:00
Maxim Devaev
4f70060d5e don't clean msd image selector when offline 2023-03-20 18:22:09 +02:00
Maxim Devaev
b5b6733b2a check selected msd partition when uploading a file 2023-03-20 17:49:35 +02:00
Maxim Devaev
426ed5da12 fixed blocking the msd parts selector 2023-03-20 17:40:38 +02:00
Maxim Devaev
c4a2363451 new sponsors 2023-03-19 20:20:11 +02:00
Maxim Devaev
b5d10afcca refactoring 2023-03-19 20:14:14 +02:00
Maxim Devaev
8798c2f8df refactoring 2023-03-19 02:19:41 +02:00
Maxim Devaev
84563553b8 fixed msd parts api 2023-03-19 02:16:20 +02:00
Maxim Devaev
097dbc517d refactoring 2023-03-18 17:51:04 +02:00
Maxim Devaev
94d2f20d1f removed console.log() 2023-03-18 17:42:14 +02:00
Maxim Devaev
fd6f738a07 msd parts selector 2023-03-18 04:16:50 +02:00
Maxim Devaev
03ce7bfd2c removed some msd api legacy 2023-03-18 03:40:57 +02:00
Maxim Devaev
18a8e5c9ef msd parts api 2023-03-18 02:38:57 +02:00
Maxim Devaev
a594b574e8 msd tick every 3 seconds 2023-03-18 01:20:27 +02:00
Maxim Devaev
dbb9eda341 refactoring 2023-03-17 23:41:59 +02:00
Maxim Devaev
166cb8e3b7 removed _StorageState 2023-03-17 23:23:07 +02:00
Maxim Devaev
2189512e0b renamed some msd methods 2023-03-17 20:29:30 +02:00
Maxim Devaev
921d7da513 optional upload prefix 2023-03-17 00:10:51 +02:00
Maxim Devaev
74a19e40da async msd image 2023-03-16 22:40:06 +02:00
Maxim Devaev
27f38ef086 more msd async 2023-03-16 20:35:04 +02:00
Maxim Devaev
59b1d8abbb missing await 2023-03-16 15:10:53 +02:00
Maxim Devaev
55cbd7fec8 refactoring 2023-03-16 04:45:44 +02:00
Maxim Devaev
4d6da37f40 partially asynchronous msd 2023-03-16 01:32:05 +02:00
Maxim Devaev
baf454bef9 Bump version: 3.204 → 3.205 2023-03-14 02:01:34 +02:00
Maxim Devaev
005fa5b19c new sponsor 2023-03-14 01:50:19 +02:00
Maxim Devaev
de5a93c2b7 fixed deprecation warning about ssl 2023-03-13 17:07:40 +02:00
PSc-secunet
4b80bd8e07
anelpwr.py: fix POST URL (#120)
Co-authored-by: Peter Schumann <peter.schumann@secunet.de>
2023-03-08 14:33:44 +03:00
Maxim Devaev
97eb2e9f50 Bump version: 3.203 → 3.204 2023-03-08 01:13:15 +02:00
Maxim Devaev
dd702116b7 Fixed pikvm/pikvm#925: The mouse click should be processed after the movement 2023-03-08 00:50:37 +02:00
Maxim Devaev
f652eca9c2 refactoring 2023-03-07 23:54:05 +02:00
Maxim Devaev
002031baf1 rewritten anelpwr plugin 2023-03-07 19:50:45 +02:00
PSc-secunet
d3eba45644
add support for Anel NET-PwrCtrl ADV as GPIO (#118)
Co-authored-by: Peter Schumann <peter.schumann@secunet.de>
2023-03-07 19:35:01 +03:00
Maxim Devaev
544adcec6b removable flag for image 2023-03-07 18:14:05 +02:00
Maxim Devaev
9ecb7fb94d don't remove sockets in kvmd.apps.cleanup 2023-03-07 00:55:55 +02:00
Maxim Devaev
49a1beab37 explicit image name 2023-03-06 19:29:06 +02:00
Maxim Devaev
3c29e8f61a create path on msd image uploading 2023-03-06 19:21:16 +02:00
Maxim Devaev
cd3c28e97f refactoring 2023-03-06 18:31:49 +02:00
Maxim Devaev
7667834b6d structly validation 2023-03-06 04:18:38 +02:00
Maxim Devaev
5495f70564 msd images tree 2023-03-06 03:16:37 +02:00
Maxim Devaev
c63bb2adb7 refactoring 2023-03-05 23:15:26 +02:00
Maxim Devaev
e3abafdab9 Fixed pikvm/pikvm#958: Version in the footer 2023-03-05 19:48:29 +02:00
Maxim Devaev
acf55a3b27 normpath 2023-03-05 19:35:17 +02:00
Maxim Devaev
7a1f8f32da Bump version: 3.202 → 3.203 2023-03-05 17:43:44 +02:00
Maxim Devaev
880f24dfbc chown only if needed 2023-03-05 17:42:29 +02:00
Maxim Devaev
3a7278b0f7 Bump version: 3.201 → 3.202 2023-03-05 17:29:21 +02:00
Maxim Devaev
7c7ac38bfe new msd fs structure 2023-03-05 17:28:45 +02:00
Maxim Devaev
b4fa35f05f removed deprecated configs 2023-03-04 22:31:54 +02:00
Maxim Devaev
c98a18aa7e Bump version: 3.200 → 3.201 2023-03-04 20:43:37 +02:00
Maxim Devaev
50b6237e98 refactoring 2023-03-04 20:02:28 +02:00
Maxim Devaev
79e1b457b7 refactoring 2023-03-04 19:41:12 +02:00
tomaszduda23
52ac8d93a1
adds abstraction for connection (#111) 2023-03-04 20:25:16 +03:00
Maxim Devaev
1f9e826f2f refactoring 2023-03-04 17:41:08 +02:00
Maxim Devaev
73263ebe82 msd: remove image from list only on success 2023-03-04 17:21:12 +02:00
Maxim Devaev
edd9435945 refactoring 2023-03-04 16:13:04 +02:00
Maxim Devaev
5bc480c6e8 Bump version: 3.199 → 3.200 2023-02-26 14:36:19 +02:00
Maxim Devaev
ed558ffd68 new sponsor 2023-02-26 14:35:44 +02:00
Maxim Devaev
6c0f14cb9d Issue #933: Optional start for otg components 2023-02-26 00:45:40 +02:00
Maxim Devaev
2b728901f5 otg: optional components start 2023-02-26 00:40:25 +02:00
Maxim Devaev
86b9721046 Bump version: 3.198 → 3.199 2023-02-03 00:25:45 +02:00
Maxim Devaev
3c1d3161ae new sponsors 2023-02-03 00:22:18 +02:00
Maxim Devaev
f7b6e233bb Bump version: 3.197 → 3.198 2023-01-23 18:52:48 +02:00
Maxim Devaev
cd4d48c44a fixed missing help 2023-01-23 18:52:13 +02:00
Maxim Devaev
b2169a655a Bump version: 3.196 → 3.197 2023-01-23 18:39:33 +02:00
Maxim Devaev
a2e90c08d3 totp: custom name or from fqdn 2023-01-23 18:38:55 +02:00
Maxim Devaev
acd6279113 new sponsor 2023-01-23 17:45:33 +02:00
Maxim Devaev
ba57a6e5d4 Bump version: 3.195 → 3.196 2023-01-23 14:45:27 +02:00
Maxim Devaev
67d2e33573 kvmd-totp del 2023-01-23 03:27:22 +02:00
Maxim Devaev
cbebc1fa52 2fa code in the login page 2023-01-23 03:18:56 +02:00
Maxim Devaev
cef6497375 fixed run for totp 2023-01-23 03:17:46 +02:00
Maxim Devaev
8a820c8567 Bump version: 3.194 → 3.195 2023-01-22 23:27:57 +02:00
Maxim Devaev
17e6185404 fix 2023-01-22 23:27:17 +02:00
Maxim Devaev
29f2506d25 Bump version: 3.193 → 3.194 2023-01-22 23:14:03 +02:00
Maxim Devaev
2d772cc30e TOTP implementation 2023-01-22 23:03:23 +02:00
Maxim Devaev
828778f10a refactoring 2023-01-22 19:35:45 +02:00
Maxim Devaev
2cbdd9984a enabled edid audio on v4 by default 2023-01-22 15:41:46 +02:00
Maxim Devaev
62c88485ae Bump version: 3.192 → 3.193 2023-01-19 01:44:42 +02:00
Maxim Devaev
95ac2bd017 fixed nginx restart for cloud 2023-01-19 01:44:05 +02:00
Maxim Devaev
e63a7cbd8f Bump version: 3.191 → 3.192 2023-01-18 23:45:48 +02:00
Maxim Devaev
86ff6f4eb2 kvmd-certbot install_cloud 2023-01-18 23:45:13 +02:00
Maxim Devaev
61cd781fff removed server_name 2023-01-18 23:44:49 +02:00
Maxim Devaev
e284fd843b refactoring 2023-01-18 23:44:34 +02:00
Maxim Devaev
15567d6636 refactoring 2023-01-13 17:27:16 +02:00
Maxim Devaev
1794044e9e new sponsors 2023-01-11 15:02:08 +03:00
Maxim Devaev
1b10766071 Bump version: 3.190 → 3.191 2022-12-21 22:13:25 +03:00
Maxim Devaev
e49f6e2969 added base-devel package to testenv 2022-12-21 22:05:53 +03:00
Maxim Devaev
dcd6c37503 using archlinux/archlinux:base for testenv 2022-12-21 21:59:52 +03:00
Maxim Devaev
b6b5290610 removed openssl-1.0 from testenv 2022-12-21 21:56:05 +03:00
Maxim Devaev
7087c06bc4 Bump version: 3.189 → 3.190 2022-12-21 21:53:29 +03:00
Maxim Devaev
4902d2a943 removed openssl-1.0 dep 2022-12-21 21:52:53 +03:00
Maxim Devaev
5faa8762f7 new sponsor 2022-12-21 21:52:27 +03:00
Maxim Devaev
c551a08a91 Bump version: 3.188 → 3.189 2022-12-10 18:20:24 +03:00
Maxim Devaev
d683149b38 pikvm/pikvm#878: Added Japanese keys 2022-12-10 18:19:36 +03:00
Maxim Devaev
392b8c3f9e regen 2022-12-10 17:08:45 +03:00
Maxim Devaev
b4f448b671 Bump version: 3.187 → 3.188 2022-12-07 23:13:20 +03:00
Maxim Devaev
597d399a65 v4: min fan speed is 27% 2022-12-07 23:10:19 +03:00
Maxim Devaev
c5cebb4f13 Bump version: 3.186 → 3.187 2022-12-06 20:58:38 +03:00
Maxim Devaev
c6e3df51a0 hid: fixed !HID_DYNAMIC 2022-12-06 20:56:27 +03:00
Maxim Devaev
0d184daf0d Bump version: 3.185 → 3.186 2022-12-06 15:10:13 +03:00
Maxim Devaev
d3d4e25027 Fixed pikvm/pikvm#877: Handling up/down mouse buttons 2022-12-06 15:09:32 +03:00
Maxim Devaev
7f48c5c62e new sponsor 2022-12-04 18:48:36 +03:00
Maxim Devaev
8f890af803 web: improved keyboard style 2022-12-04 18:38:52 +03:00
Maxim Devaev
07fec77023 Bump version: 3.184 → 3.185 2022-12-04 03:06:57 +03:00
Maxim Devaev
52fdc94eb8 Fixed pikvm/pikvm#882: Ethernet settings in pikvm.txt 2022-12-04 03:04:21 +03:00
Maxim Devaev
248d9cf33f Bump version: 3.183 → 3.184 2022-12-02 15:37:59 +03:00
Maxim Devaev
94b7c99597 Fixed pikvm/pikvm#888: Added Ctrl+Alt+F1/2 shortcuts 2022-12-02 15:34:06 +03:00
Maxim Devaev
3ae671e0c0 Bump version: 3.182 → 3.183 2022-11-29 16:10:42 +03:00
Maxim Devaev
a40dc53860 janus: enabled audio by default 2022-11-29 16:10:09 +03:00
Maxim Devaev
0e9b87ad61 web: optional audio transmitting 2022-11-29 15:13:48 +03:00
Maxim Devaev
a68eb4ed2d refactoring 2022-11-29 10:13:53 +03:00
Maxim Devaev
6a339238ff web: split stream.js 2022-11-29 09:36:47 +03:00
Maxim Devaev
1d7ef25a0b web: compact mobile elements 2022-11-29 06:22:18 +03:00
Maxim Devaev
35fb7e9c84 pinned flake8==5.0.4 due zheller/flake8-quotes#110 2022-11-29 05:15:32 +03:00
Maxim Devaev
31bb5e4308 web: janus features request 2022-11-28 13:46:00 +03:00
Maxim Devaev
154560b4e0 Bump version: 3.181 → 3.182 2022-11-27 12:09:01 +03:00
Maxim Devaev
bd439a4323 web: update for ustreamer 5.32 2022-11-27 12:06:33 +03:00
Maxim Devaev
5bb8218c39 Bump version: 3.180 → 3.181 2022-11-23 21:28:27 +03:00
Maxim Devaev
0c25e89f46 nextgen 2022-11-23 21:27:34 +03:00
Maxim Devaev
41c8c41e4d removed kvmd-msd-aum 2022-11-23 14:06:44 +03:00
Maxim Devaev
3b4792882b web: locator switch 2022-11-23 04:45:21 +03:00
Maxim Devaev
edc370168c Fixed pikvm/pikvm#879: Added ContextMenu key 2022-11-22 19:39:14 +03:00
Maxim Devaev
fecf6a4663 Bump version: 3.179 → 3.180 2022-11-21 07:25:44 +03:00
Maxim Devaev
be25f5a026 removed relay msd 2022-11-21 07:19:35 +03:00
Maxim Devaev
703cc2b981 Bump version: 3.178 → 3.179 2022-11-21 05:41:31 +03:00
Maxim Devaev
cbd386beb8 web: fixed negative webrtc fps 2022-11-21 05:39:54 +03:00
Maxim Devaev
1c0ed565ce reverted stream window padding 2022-11-21 05:38:40 +03:00
Maxim Devaev
0d086c2c4a web: improved resizer 2022-11-21 05:20:03 +03:00
Maxim Devaev
9e26141783 Bump version: 3.177 → 3.178 2022-11-20 23:08:34 +03:00
Maxim Devaev
7e7e17bbc2 fix 2022-11-20 23:07:59 +03:00
Maxim Devaev
e4457a8f79 Bump version: 3.176 → 3.177 2022-11-20 22:18:24 +03:00
Maxim Devaev
dce32c9e3e new sponsor 2022-11-20 20:44:15 +03:00
Maxim Devaev
d1800561e6 refactoring 2022-11-20 19:52:33 +03:00
Maxim Devaev
299fadf0fa janus: fixed stun on change request 2022-11-20 06:39:39 +03:00
Maxim Devaev
26a831d2ed janus: fallback for no-gw configuration 2022-11-20 05:52:33 +03:00
Maxim Devaev
59ed36a6af janus: fast startup 2022-11-20 02:49:23 +03:00
Maxim Devaev
eb05fd4d3b janus: allow work without ext_ip 2022-11-19 23:28:09 +03:00
Maxim Devaev
040e0d6fdf Bump version: 3.175 → 3.176 2022-11-18 09:26:14 +03:00
Maxim Devaev
41c53984e4 fix 2022-11-18 09:25:38 +03:00
Maxim Devaev
d816c84322 Bump version: 3.174 → 3.175 2022-11-18 09:11:35 +03:00
Maxim Devaev
043e4698f5 disabled predictable network ifaces 2022-11-18 09:04:29 +03:00
Maxim Devaev
50aee35ca9 Bump version: 3.173 → 3.174 2022-11-18 07:45:15 +03:00
Maxim Devaev
e0006debf6 added openssl-1.1 2022-11-18 07:44:33 +03:00
Maxim Devaev
5bf5c18081 fixed testenv/web.css 2022-11-18 04:46:34 +03:00
Maxim Devaev
b78a9dd8e1 web: ui config 2022-11-18 04:42:40 +03:00
Maxim Devaev
0f4e736185 web: forced quote-props 2022-11-18 02:58:55 +03:00
Maxim Devaev
2b8cc93362 pass web.css from testenv 2022-11-18 02:26:47 +03:00
Maxim Devaev
9d543122ce Bump version: 3.172 → 3.173 2022-11-16 17:56:51 +03:00
Maxim Devaev
95f3b5d551 new sponsor 2022-11-16 17:48:48 +03:00
Maxim Devaev
dc848a3293 Bump version: 3.171 → 3.172 2022-11-15 22:24:45 +03:00
Maxim Devaev
740a3315bd improved slider set range 2022-11-15 22:24:09 +03:00
Maxim Devaev
4c7ef5b28c refactoring 2022-11-15 17:50:17 +03:00
Maxim Devaev
5a25772bec Bump version: 3.170 → 3.171 2022-11-15 16:08:11 +03:00
Maxim Devaev
70747a47ac Don't show stream bitrate if fps is available 2022-11-15 15:55:59 +03:00
Maxim Devaev
da6ad16e32 Fixed pikvm/pikvm#869: Set slider values before limits 2022-11-15 15:39:39 +03:00
Maxim Devaev
d096ad3263 Bump version: 3.169 → 3.170 2022-11-14 20:42:02 +03:00
Maxim Devaev
01a7c901af new sponsor 2022-11-14 20:40:18 +03:00
Maxim Devaev
9e2a50df82 paypal link 2022-11-14 20:39:28 +03:00
Maxim Devaev
9065b258cc css fix 2022-11-12 18:53:49 +03:00
Maxim Devaev
5b1dd8ad3a Bump version: 3.168 → 3.169 2022-11-11 15:39:32 +03:00
Maxim Devaev
7f883f6135 Web: Fixed leds rendering on iOS 16 2022-11-11 15:38:54 +03:00
Maxim Devaev
66bb26cc9c Bump version: 3.167 → 3.168 2022-11-10 05:07:19 +03:00
Maxim Devaev
d4e1e9e05b Fixed pikvm/pikvm#842: Added timestamps for MSD images 2022-11-10 05:05:30 +03:00
Maxim Devaev
666880d757 improved msd selector 2022-11-10 04:21:38 +03:00
Maxim Devaev
6b2b9c6ec4 refactoring 2022-11-10 02:56:20 +03:00
Maxim Devaev
3748360deb removed unused mtime 2022-11-10 02:56:03 +03:00
Maxim Devaev
4c6511491e lint fix 2022-11-08 21:39:09 +03:00
Maxim Devaev
d703ed0f00 Bump version: 3.166 → 3.167 2022-11-07 23:19:03 +03:00
Maxim Devaev
6072276fd5 h264 is a new default 2022-11-07 23:18:26 +03:00
Maxim Devaev
5cac612994 Bump version: 3.165 → 3.166 2022-11-07 20:28:02 +03:00
Maxim Devaev
d93d112aa0 refactoring 2022-11-07 19:36:44 +03:00
Maxim Devaev
10633f9e08 Bump version: 3.164 → 3.165 2022-11-07 17:30:44 +03:00
Maxim Devaev
a4f3ee79e6 find pst partition by fstab 2022-11-07 17:00:35 +03:00
Maxim Devaev
29bd1e2f6f static env 2022-11-07 16:17:13 +03:00
Maxim Devaev
68b3dd4fd0 Bump version: 3.163 → 3.164 2022-11-07 15:34:04 +03:00
Maxim Devaev
bb3600cfa8 h264 fps counter 2022-11-07 15:29:21 +03:00
Maxim Devaev
7a83ce0f79 polling rate -> polling interval 2022-11-07 14:28:25 +03:00
Maxim Devaev
941b3bbd75 refactoring 2022-11-07 13:56:39 +03:00
Maxim Devaev
317a127f58 renamed mouse modes 2022-11-07 03:27:14 +03:00
Maxim Devaev
53f8b052de common fstab and libc funcs 2022-11-07 03:23:06 +03:00
Maxim Devaev
648316931a refactoring 2022-11-07 02:20:42 +03:00
Maxim Devaev
c17611a438 refactoring 2022-11-07 00:55:33 +03:00
Maxim Devaev
1e04fef681 new sponsor 2022-11-06 23:07:38 +03:00
Maxim Devaev
b6bab0100a renamed streamer 2022-11-06 22:33:35 +03:00
Maxim Devaev
a439f50747 Bump version: 3.162 → 3.163 2022-11-06 01:18:53 +03:00
Maxim Devaev
e299ed452a missing openssl-1.1 2022-11-06 01:18:18 +03:00
Maxim Devaev
662890fe1b Bump version: 3.161 → 3.162 2022-11-06 00:07:11 +03:00
Maxim Devaev
8b4a34cd20 openssl fix 2022-11-06 00:06:35 +03:00
Maxim Devaev
7235d44303 no-keyframe experiment 2022-11-06 00:05:15 +03:00
Maxim Devaev
81f507d0dd Bump version: 3.160 → 3.161 2022-11-04 22:30:38 +03:00
Maxim Devaev
872a954556 changed default fps settings 2022-11-04 21:54:50 +03:00
Maxim Devaev
c3fe6787b3 Bump version: 3.159 → 3.160 2022-11-04 19:58:59 +03:00
Maxim Devaev
b88e70ef01 new sponsors 2022-11-04 19:58:18 +03:00
Maxim Devaev
48118f15ff web: request keyframes 2022-11-04 19:50:39 +03:00
Maxim Devaev
f3632426a6 Bump version: 3.158 → 3.159 2022-11-03 19:02:28 +03:00
Maxim Devaev
209be98eb5 refactoring 2022-11-03 18:52:05 +03:00
Maxim Devaev
1a28038543 refactoring 2022-11-03 18:27:50 +03:00
Maxim Devaev
260f118820 refactoring 2022-11-03 17:00:27 +03:00
Maxim Devaev
08241e9255 Implemented VNC ContinuousUpdates 2022-11-03 15:07:06 +03:00
Maxim Devaev
c57928a0f1 Bump version: 3.157 → 3.158 2022-11-01 19:43:14 +03:00
Maxim Devaev
ad95e820cc key_required for h264 2022-11-01 19:34:30 +03:00
Maxim Devaev
7177f83bc5 Bump version: 3.156 → 3.157 2022-10-28 02:33:51 +03:00
Maxim Devaev
6ea60321b0 improved sliders in the system menu 2022-10-28 02:32:41 +03:00
Maxim Devaev
5eaf2aa247 Bump version: 3.155 → 3.156 2022-10-22 02:40:03 +03:00
Maxim Devaev
e351f9e2ea fix 2022-10-22 02:17:20 +03:00
Amitoj Kapoor
2804f5fd15
Fixes relative mouse macro (#117)
Fixes relative mouse macro
2022-10-22 02:15:41 +03:00
Maxim Devaev
34bb202d62 Bump version: 3.154 → 3.155 2022-10-19 00:17:18 +03:00
Maxim Devaev
bd03a487a9 don't redirect certbot in testenv 2022-10-19 00:09:33 +03:00
Wojtek Porczyk
3d109453c6
nginx: serve ACME challenges over unencrypted HTTP (#116)
RFC 8555 section 8.3 [1] states HTTP challenge MUST be served over TCP
port 80 and while the verification follows redirects, those are unneed
and migh be harmful in specific deployment scenarios.

[1] https://datatracker.ietf.org/doc/html/rfc8555#section-8.3

Signed-off-by: Wojtek Porczyk <woju@invisiblethingslab.com>
2022-10-19 00:03:37 +03:00
Maxim Devaev
1a8546305d Bump version: 3.153 → 3.154 2022-10-17 00:35:51 +03:00
Maxim Devaev
db3430ccb8 new sponsors 2022-10-17 00:33:16 +03:00
Maxim Devaev
e5ed253d68 fixed browser detection, loading css from js 2022-10-16 23:51:27 +03:00
Maxim Devaev
5d54b32ab6 added restart options to the kvmd-nginx.service 2022-10-16 19:29:52 +03:00
Maxim Devaev
7fa7fe5ade Bump version: 3.152 → 3.153 2022-10-08 13:30:41 +03:00
Maxim Devaev
37108f786e new sponsor 2022-10-08 13:28:53 +03:00
Maxim Devaev
2a23846582 removed data-dont-hide-menu 2022-10-08 13:26:50 +03:00
Maxim Devaev
a39d3dffbe pikvm/pikvm#803: Ability to use LEDs in GPIO title 2022-10-08 06:09:33 +03:00
Maxim Devaev
16d9c3815f lint fix 2022-10-07 14:10:49 +03:00
Maxim Devaev
c402aeab4d Bump version: 3.151 → 3.152 2022-10-07 02:55:13 +03:00
Maxim Devaev
e1c4a5163d Minimal android compatibility
Note that Samsung devices can't handle (hover: none) media query
2022-10-07 02:37:57 +03:00
Maxim Devaev
684b0185f7 new sponsor 2022-10-06 21:58:04 +03:00
Maxim Devaev
4f392d505e Bump version: 3.150 → 3.151 2022-10-06 05:07:03 +03:00
Maxim Devaev
b2361f1fbe fixed ios mouse buttons 2022-10-06 05:06:17 +03:00
Maxim Devaev
b3c7340504 improved mobile keyboard layout 2022-10-05 13:43:25 +03:00
Maxim Devaev
808cd02018 new sponsors 2022-10-05 00:05:13 +03:00
Maxim Devaev
128288bd54 improved tablet detection 2022-10-04 23:17:01 +03:00
Maxim Devaev
056d8d037b don't check preventDefault() 2022-10-03 17:12:05 +03:00
Maxim Devaev
81da1ae86b Bump version: 3.149 → 3.150 2022-10-03 02:23:31 +03:00
Maxim Devaev
7254139e76 pikvm/pikvm#434: Relative mouse for iOS 2022-10-03 02:01:47 +03:00
Maxim Devaev
5d65bdf390 Bump version: 3.148 → 3.149 2022-09-26 15:53:59 +03:00
Maxim Devaev
08f334cfd7 new sponsors 2022-09-24 21:15:32 +03:00
Maxim Devaev
73fce16ec7 enabled paypal 2022-09-23 19:05:20 +03:00
Maxim Devaev
f54a9b049d Bump version: 3.147 → 3.148 2022-09-23 17:37:56 +03:00
Maxim Devaev
9272049f45 pikvm/pikvm#820: VNC generates fake shift events for some clients 2022-09-23 17:37:08 +03:00
Maxim Devaev
737550e768 refactoring 2022-09-23 16:06:35 +03:00
Maxim Devaev
51447bc436 Bump version: 3.146 → 3.147 2022-09-21 22:50:42 +03:00
Maxim Devaev
6761588bc8 pikvm/pikvm#819: fixed op 2022-09-21 22:48:56 +03:00
Maxim Devaev
b5fa02d23f Bump version: 3.145 → 3.146 2022-09-21 18:31:15 +03:00
Maxim Devaev
55eab2df0d pikvm/pikvm#819: fix for Apple Magic Keyboard and non-Safari 2022-09-21 18:27:51 +03:00
Maxim Devaev
cb8534dfe7 refactoring 2022-09-21 15:42:23 +03:00
Maxim Devaev
0ebd2da83d Bump version: 3.144 → 3.145 2022-09-20 21:06:56 +03:00
Maxim Devaev
647489ecd9 workaround for en/em dashes 2022-09-20 21:06:23 +03:00
Maxim Devaev
66f09b16ac Bump version: 3.143 → 3.144 2022-09-19 00:53:08 +03:00
Maxim Devaev
098cf610eb new sponsors 2022-09-19 00:48:11 +03:00
Maxim Devaev
6f4131c3f6 option to disable log reader 2022-09-19 00:44:11 +03:00
Maxim Devaev
0afc513de8 extra css ids 2022-09-19 00:43:56 +03:00
Maxim Devaev
d11c926761 style fix 2022-09-13 13:08:43 +03:00
tomaszduda23
967361f775
Status led (#109)
* add SW reset

* adds watchdog

* add status led
2022-09-13 12:58:08 +03:00
tomaszduda23
fa01d92dde
Watchdog (#108)
* add SW reset

* adds watchdog
2022-09-12 17:00:30 +03:00
tomaszduda23
38f2da2e2e
doc update (#110) 2022-09-12 16:59:44 +03:00
Maxim Devaev
4201206bd2 changed arch mirror 2022-09-12 13:24:23 +03:00
Maxim Devaev
e6b34c9cb1 refactoring 2022-09-12 13:04:43 +03:00
tomaszduda23
615863a848
add SW reset (#107) 2022-09-12 12:53:52 +03:00
Maxim Devaev
ce43938d28 Bump version: 3.142 → 3.143 2022-09-04 18:14:34 +03:00
Maxim Devaev
ee3e224e39 new typing style 2022-09-04 18:08:40 +03:00
Maxim Devaev
4b75221e94 switch fix 2022-09-03 14:03:04 +03:00
Maxim Devaev
f0c2ff3a96 Bump version: 3.141 → 3.142 2022-09-01 12:24:58 +03:00
Maxim Devaev
c15d743f48 pikvm/pikvm#813: optional page close confirmation 2022-09-01 12:24:17 +03:00
Maxim Devaev
a244c36010 Bump version: 3.140 → 3.141 2022-08-30 15:55:23 +03:00
Maxim Devaev
a0872fc69c edidconf: fixed checksums update in write_bin() 2022-08-30 15:54:20 +03:00
Maxim Devaev
0128145e99 lint fix 2022-08-30 07:56:57 +03:00
Maxim Devaev
02413d981a Bump version: 3.139 → 3.140 2022-08-30 05:53:39 +03:00
Maxim Devaev
2459e3a259 ocr: close old image on resizing 2022-08-30 05:04:15 +03:00
Adam Outler
170cee937d
Zoom and Enhance before reading text (#113) 2022-08-30 04:57:50 +03:00
Maxim Devaev
f16774203d Bump version: 3.138 → 3.139 2022-08-27 03:03:09 +03:00
Maxim Devaev
b2165a460c loc-bigpost.conf 2022-08-27 03:01:47 +03:00
Maxim Devaev
6fe5fbd842 removed body limit for /api/hid/print 2022-08-27 02:56:13 +03:00
Maxim Devaev
e364d7f8df new logo 2022-08-27 02:46:18 +03:00
Maxim Devaev
4ae4e7cc65 Bump version: 3.137 → 3.138 2022-08-22 19:07:14 +03:00
Maxim Devaev
766e515178 pikvm/pikvm#375: fixed AltGr handling 2022-08-22 18:41:02 +03:00
Maxim Devaev
7bd690b4db refactoring 2022-08-21 15:35:11 +03:00
Maxim Devaev
614d02a74d system menu min width 2022-08-20 21:53:25 +03:00
Maxim Devaev
43fff98059 spoiler for mouse settings 2022-08-20 05:06:59 +03:00
Maxim Devaev
35363bbde8 Bump version: 3.136 → 3.137 2022-08-19 21:47:46 +03:00
Maxim Devaev
b94d524851 cmdret module instead of cmd.read implementation 2022-08-19 21:47:08 +03:00
Maxim Devaev
9633c10281 Bump version: 3.135 → 3.136 2022-08-17 15:03:21 +03:00
Maxim Devaev
5757eba854 minor fix 2022-08-17 04:08:59 +03:00
Dylan M. Kozicki
e0513ced47
add the ability to use command exit status as a gpio state in ugpio/cmd (#112) 2022-08-17 04:02:20 +03:00
Maxim Devaev
61f4e35e87 Bump version: 3.134 → 3.135 2022-08-16 18:59:18 +03:00
Maxim Devaev
4f9501a806 /api/msd/read: zstd supported 2022-08-14 21:03:45 +03:00
Maxim Devaev
de6fd94349 refactoring 2022-08-08 00:57:17 +03:00
Maxim Devaev
2482b466a3 Bump version: 3.133 → 3.134 2022-08-07 19:43:00 +03:00
Maxim Devaev
e37a7254d5 using shield_fg() in atomic (now atomic_fg) 2022-08-07 19:35:08 +03:00
Maxim Devaev
fdc3edfa79 using shield_fg() 2022-08-07 19:18:23 +03:00
Maxim Devaev
1d4b39ef1b deprecated all before 3.10 2022-08-07 19:05:53 +03:00
Maxim Devaev
ec9785b4be simplified AioNotifier() 2022-08-07 19:04:32 +03:00
Maxim Devaev
aa630988cc aiotools.shield_fg() 2022-08-07 18:42:00 +03:00
Maxim Devaev
d995349b63 compressed mode for /api/msd/read 2022-08-06 03:20:27 +03:00
Maxim Devaev
2535dce7b8 new sponsors 2022-08-05 18:29:44 +03:00
Maxim Devaev
c23931ab39 hr fix 2022-08-05 18:25:51 +03:00
Maxim Devaev
d21e74700a shielded some tasks 2022-08-05 18:19:31 +03:00
Maxim Devaev
eeaeebf7c7 shield some finally ops 2022-08-05 15:07:17 +03:00
Maxim Devaev
9ee63aba3e refactored msd writer api 2022-08-04 04:04:10 +03:00
Maxim Devaev
9925198762 refactored msd reader api 2022-08-03 19:44:08 +03:00
Maxim Devaev
0809daa199 Bump version: 3.132 → 3.133 2022-08-01 19:55:46 +03:00
Maxim Devaev
65bdbe4387 fixed window-button-exit-full-tab 2022-08-01 19:55:15 +03:00
Maxim Devaev
375cbe5c5f Bump version: 3.131 → 3.132 2022-08-01 18:40:09 +03:00
Maxim Devaev
241bd6e19a pikvm/pikvm#631: option to hide navbar 2022-08-01 18:39:36 +03:00
Maxim Devaev
9c5fd210f2 new sponsor 2022-07-31 13:03:55 +03:00
Maxim Devaev
66a63f6044 Bump version: 3.130 → 3.131 2022-07-30 19:43:01 +03:00
Maxim Devaev
589ec14de0 Fixed pikvm/pikvm#783: remove incomplete msd image 2022-07-30 18:15:50 +03:00
Maxim Devaev
5ee8f7a7a3 Bump version: 3.129 → 3.130 2022-07-30 00:04:34 +03:00
Maxim Devaev
5933e1ce20 cast fix 2022-07-30 00:03:52 +03:00
Maxim Devaev
caf1a89ec6 refactoring 2022-07-29 22:14:02 +03:00
Maxim Devaev
02fa3fa65d Bump version: 3.128 → 3.129 2022-07-29 15:15:20 +03:00
Maxim Devaev
52ea19b44a common usb-keymap.h 2022-07-29 15:10:48 +03:00
Maxim Devaev
fbd1ff5208 new sponsor 2022-07-28 10:47:10 +03:00
Maxim Devaev
d518e6b512 Bump version: 3.127 → 3.128 2022-07-26 19:57:39 +03:00
Maxim Devaev
dec797d0b0 fix 2022-07-25 11:44:14 +03:00
Maxim Devaev
cdb39f789f pikvm/pikvm#785: mute chown 2022-07-25 11:22:28 +03:00
Maxim Devaev
833b9efb30 Bump version: 3.126 → 3.127 2022-07-25 05:20:31 +03:00
Maxim Devaev
b809bbc497 new sponsors 2022-07-25 05:17:56 +03:00
Maxim Devaev
c8f9396fe0 better wording 2022-07-24 19:26:46 +03:00
Maxim Devaev
8ab0ce45b9 Bump version: 3.125 → 3.126 2022-07-24 18:08:40 +03:00
Maxim Devaev
4b4fe63ad7 report about downloading 2022-07-24 17:06:09 +03:00
Maxim Devaev
1055dadcb9 msd: downloading status api 2022-07-24 16:16:45 +03:00
Maxim Devaev
1564c68727 refactoring 2022-07-24 15:42:43 +03:00
Maxim Devaev
800da71670 improved msd rw ui 2022-07-24 11:08:20 +03:00
Maxim Devaev
c1f104c059 loc-nobuffering.conf 2022-07-24 10:12:15 +03:00
Maxim Devaev
e0d0066223 disabled buffering for /api/msd/read 2022-07-24 09:35:36 +03:00
Maxim Devaev
d05b46e05d fixed lock behaviour in read_image() 2022-07-24 09:34:27 +03:00
Maxim Devaev
049ea642dc Bump version: 3.124 → 3.125 2022-07-24 06:02:55 +03:00
Maxim Devaev
6cfe64daa8 Bump version: 3.123 → 3.124 2022-07-24 06:01:47 +03:00
Maxim Devaev
90ae558f36 remount-ro on remove() is not fatal 2022-07-24 06:01:09 +03:00
Maxim Devaev
779d0de59f process cdrom/rw forbidden states in set_params() 2022-07-24 05:55:54 +03:00
Maxim Devaev
88b2e90438 rw warning 2022-07-24 05:49:14 +03:00
Maxim Devaev
0e3ebac362 reading images api 2022-07-24 05:38:26 +03:00
Maxim Devaev
de14053725 refactoring 2022-07-24 05:38:26 +03:00
Maxim Devaev
baeb2bc35b upload_chunk_size -> write_chunk_size 2022-07-24 05:38:26 +03:00
Maxim Devaev
44ffe83199 renamed new_writer to writer 2022-07-24 05:38:26 +03:00
Maxim Devaev
477e6f05e4 writable msd 2022-07-24 05:38:26 +03:00
Maxim Devaev
aa5a538c64 refactoring 2022-07-24 05:38:26 +03:00
Maxim Devaev
2eef9bd263 basic msd rw api 2022-07-24 05:38:26 +03:00
Maxim Devaev
06bf0fcd17 spell 2022-07-24 04:11:09 +03:00
Maxim Devaev
0d1e8b4c10 clarify 2022-07-23 18:32:37 +03:00
Maxim Devaev
f4d8a6d523 icon instead of text 2022-07-23 14:20:32 +03:00
Maxim Devaev
d6e158c28f bold windows close icon 2022-07-23 14:02:13 +03:00
Maxim Devaev
aa569a7352 removed some newlines 2022-07-23 13:48:31 +03:00
Maxim Devaev
3e402f4d7b refactoring 2022-07-23 08:50:20 +03:00
Maxim Devaev
5b11b6bc55 new sponsor 2022-07-22 09:43:35 +03:00
Maxim Devaev
3a9b433000 stm32 hid cleanup 2022-07-22 09:14:49 +03:00
Maxim Devaev
d3dbf19399 avr hid: removed KEY_ERROR_UNDEFINED 2022-07-22 08:43:27 +03:00
tomaszduda23
3ba15e824e
Stm32 init (#100) 2022-07-22 08:14:38 +03:00
Maxim Devaev
0e0fe28cf6 lint fix 2022-07-22 06:55:13 +03:00
Maxim Devaev
e46229e1d1 type fix 2022-07-22 06:47:47 +03:00
Maxim Devaev
f277160396 using usb codes instead of arduino cinstants 2022-07-22 05:46:57 +03:00
Maxim Devaev
867412a6cd renamed otg key to usb key 2022-07-22 04:36:54 +03:00
Maxim Devaev
249098b41c csv fix 2022-07-22 01:06:38 +03:00
Maxim Devaev
831835312e Bump version: 3.122 → 3.123 2022-07-21 17:30:14 +03:00
Maxim Devaev
7031edb509 new sponsor 2022-07-21 17:29:35 +03:00
Maxim Devaev
04fa68a399 fixed make upload 2022-07-21 17:10:15 +03:00
Maxim Devaev
ca87bd66d7 improved vnc logging 2022-07-21 13:54:47 +03:00
Maxim Devaev
af4eb77231 improved vnc encodings handling 2022-07-21 13:16:42 +03:00
Maxim Devaev
508a6e9b58 refactoring 2022-07-21 01:44:44 +03:00
Marcin Mikołajczak
42c85021f7
Support for driving TESmart KVMs by RS-232 (#89)
* Fixed TESmart name casing

* Support for driving TESmart KVMs by RS-232

* Restored 0-based pin numbering
2022-07-21 00:17:10 +03:00
Maxim Devaev
bdeebb5698 Bump version: 3.121 → 3.122 2022-07-20 16:39:09 +03:00
Maxim Devaev
7cbe4ec2e3 option to disable vencrypt 2022-07-20 16:35:37 +03:00
Maxim Devaev
c58cc99582 lint fixes 2022-07-19 17:02:26 +03:00
Maxim Devaev
adf4be9bf7 common event parsing 2022-07-19 16:42:46 +03:00
Maxim Devaev
b16359c53e handle closing ws event 2022-07-19 16:25:31 +03:00
Maxim Devaev
54cb5e1fed verbose rfb encdings report 2022-07-19 16:00:01 +03:00
Maxim Devaev
01ac7522db log start_tls() 2022-07-18 21:36:40 +03:00
Maxim Devaev
582415344c spell 2022-07-17 15:47:58 +03:00
Maxim Devaev
136b756e00 lint fixes 2022-07-17 15:38:20 +03:00
Maxim Devaev
be8032893e improved aiotools.run() 2022-07-17 15:27:02 +03:00
Maxim Devaev
b7e220b4c5 workaround for https://bugs.python.org/issue39758 2022-07-17 15:23:06 +03:00
Maxim Devaev
4661695f86 more vnc debug 2022-07-17 09:25:23 +03:00
Maxim Devaev
398b0ad762 Bump version: 3.120 → 3.121 2022-07-16 23:14:31 +03:00
Maxim Devaev
5cb5a61acf hanged EDID monitor name to PiKVM and manufacturer to LNX 2022-07-16 23:13:52 +03:00
Maxim Devaev
03174d0f1a Bump version: 3.119 → 3.120 2022-07-16 23:11:31 +03:00
Maxim Devaev
734ee8a4ed vulture fix 2022-07-16 23:10:55 +03:00
Maxim Devaev
abddf64113 new sponsors 2022-07-16 23:04:36 +03:00
Maxim Devaev
f8a77c8403 fixed make run 2022-07-16 22:32:19 +03:00
Maxim Devaev
ac06ef62fc fixed tests 2022-07-16 22:32:19 +03:00
Maxim Devaev
3df9cb6982 commented playoutDelay 2022-07-16 22:32:19 +03:00
tomaszduda23
1d0ebfce82
Update outputs.h (#106)
Fix casting -1 to uint8_t.
2022-07-16 20:42:45 +03:00
Maxim Devaev
1ca3045780 playoutDelayHint = 0 2022-07-16 02:03:54 +03:00
Maxim Devaev
9f289914e9 refactoring 2022-07-15 21:03:55 +03:00
tomaszduda23
24651f4db3
renamed patch (#103)
Co-authored-by: Maxim Devaev <mdevaev@gmail.com>
2022-07-15 20:52:32 +03:00
Maxim Devaev
95e9b7dd75 renamed patch 2022-07-15 10:27:20 +03:00
tomaszduda23
48f4792861
commented kvmd/kvmd#80 (#102)
Co-authored-by: Maxim Devaev <mdevaev@gmail.com>
2022-07-15 10:22:26 +03:00
Maxim Devaev
4b87851119 commented kvmd/kvmd#80 2022-07-14 04:01:33 +03:00
McNova
32da05b3ec
Check that a packet start with PROTO::MAGIC (#80)
Co-authored-by: Christian Vallières <christian.vallieres@evimbec.ca>
2022-07-14 04:00:07 +03:00
Maxim Devaev
1c77ae1ef9 refactoring 2022-07-14 03:57:36 +03:00
tomaszduda23
d409ae68c3
prepare avr for stm32 (#104) 2022-07-14 03:51:16 +03:00
tomaszduda23
6772d3425d
move platformio.ini -> platformio-avr.ini (#105) 2022-07-14 03:45:01 +03:00
Maxim Devaev
1973a1e6e0 refactoring, fixed read_block -> update_block 2022-07-11 06:10:23 +03:00
tomaszduda23
dc1bc121c8
add interface for storage (#99) 2022-07-11 05:59:56 +03:00
Maxim Devaev
89aff795fd refactoring 2022-07-11 02:12:38 +03:00
tomaszduda23
1afd96cdb9
add factory for avr (#98) 2022-07-11 02:01:57 +03:00
Maxim Devaev
67547636cf style fix 2022-07-10 19:53:06 +03:00
tomaszduda23
1f33d92f61
add mouse interface (#96) 2022-07-10 19:48:47 +03:00
Maxim Devaev
50b9bb5950 style fix 2022-07-10 19:42:12 +03:00
tomaszduda23
7bb1490e9e
add hid ci (#97) 2022-07-10 19:39:56 +03:00
Maxim Devaev
ad6a387941 refactoring 2022-07-09 23:00:13 +03:00
tomaszduda23
38fae01cc0
add keyboard interface (#95) 2022-07-09 22:43:54 +03:00
tomaszduda23
793edf8203
add structures for drivers (#94) 2022-07-09 20:57:03 +03:00
Maxim Devaev
c840ea7306 refactoring 2022-07-08 23:06:23 +03:00
tomaszduda23
e864aafcf7
Change name to simplify interface getLedsAs->getLeds. (#93) 2022-07-08 22:58:14 +03:00
Maxim Devaev
b4c1cc9976 fix 2022-07-07 02:41:10 +03:00
tomaszduda23
dd251eeaf9
change name of method getOfflineAs->isOffline to simplyfy the interface (#92) 2022-07-07 02:11:55 +03:00
tomaszduda23
c09567c1a9
add target all so build can be easly checked (#91) 2022-07-07 02:00:18 +03:00
Maxim Devaev
e7f8cd7c54 Bump version: 3.118 → 3.119 2022-07-03 17:26:45 +03:00
Maxim Devaev
b816bcb335 sudo --preserve-env in kvmd-certbot 2022-07-03 17:26:15 +03:00
Maxim Devaev
74785aec88 Bump version: 3.117 → 3.118 2022-07-02 19:08:27 +03:00
Maxim Devaev
d844115d2c env file for kvmd-certbot 2022-07-02 18:36:31 +03:00
Maxim Devaev
968d3b2516 pass pstrun environ to the process 2022-07-02 17:43:49 +03:00
Maxim Devaev
bcc97279e9 Bump version: 3.116 → 3.117 2022-06-26 16:20:40 +03:00
Maxim Devaev
329b84e124 fix 2022-06-26 15:42:57 +03:00
Maxim Devaev
fd70e8203c Bump version: 3.115 → 3.116 2022-06-26 05:23:03 +03:00
Maxim Devaev
e54ae11c33 restore permissions 2022-06-26 05:22:34 +03:00
Maxim Devaev
6f4d45440a Bump version: 3.114 → 3.115 2022-06-25 21:03:34 +03:00
Maxim Devaev
9c65a61b8b remove csr and keys dirs 2022-06-25 21:01:46 +03:00
Maxim Devaev
6ffa5dc872 Bump version: 3.113 → 3.114 2022-06-25 20:55:03 +03:00
Maxim Devaev
362b9322de remove old certbot logs, csr and keys 2022-06-25 20:54:26 +03:00
Maxim Devaev
60a7919b78 Bump version: 3.112 → 3.113 2022-06-25 19:26:52 +03:00
Maxim Devaev
b8d48b63cb changed certbot commands 2022-06-25 19:25:45 +03:00
Maxim Devaev
f31663b5f0 Bump version: 3.111 → 3.112 2022-06-25 05:12:04 +03:00
Maxim Devaev
9206f5c2aa mask renew error 2022-06-25 05:10:03 +03:00
Maxim Devaev
4cb2802cfa fixed cert dir permissions 2022-06-25 02:32:13 +03:00
Maxim Devaev
f5ae4e4172 Bump version: 3.110 → 3.111 2022-06-24 21:33:31 +03:00
Maxim Devaev
8727b0e8bd improved kvmd-certbot 2022-06-24 21:32:06 +03:00
Maxim Devaev
f634be16f0 restart nginx and vnc if needed 2022-06-24 20:36:26 +03:00
Maxim Devaev
0101a4f79f Bump version: 3.109 → 3.110 2022-06-24 19:11:07 +03:00
Maxim Devaev
cef5f4ff23 lint fixes 2022-06-24 19:10:38 +03:00
Maxim Devaev
fe13d146e5 fixed permissions AGAIN 2022-06-24 18:59:56 +03:00
Maxim Devaev
1b845585f8 Bump version: 3.108 → 3.109 2022-06-24 18:26:52 +03:00
Maxim Devaev
bd5676222b fixed permissions again 2022-06-24 18:25:08 +03:00
Maxim Devaev
9e6edd0cd7 Bump version: 3.107 → 3.108 2022-06-24 17:56:10 +03:00
Maxim Devaev
094106519a fixed permissions 2022-06-24 17:55:38 +03:00
Maxim Devaev
a693b52bf0 Bump version: 3.106 → 3.107 2022-06-24 16:20:06 +03:00
Maxim Devaev
9202cf1d44 kvmd-certbot 2022-06-24 16:19:28 +03:00
Maxim Devaev
9f4c241204 shellcheck 2022-06-24 16:05:10 +03:00
Maxim Devaev
f8e9036986 rename kvmd-helper-exchange to kvmd-helper-swapfiles 2022-06-24 13:59:13 +03:00
Maxim Devaev
c85e3f939f cleanup old certs in kvmd-gencert 2022-06-24 03:46:18 +03:00
Maxim Devaev
3e5bcc752c exchange helper 2022-06-24 03:23:23 +03:00
Maxim Devaev
e51a35b28e tcsetpgrp 2022-06-23 17:57:58 +03:00
Maxim Devaev
f41136e32b Bump version: 3.105 → 3.106 2022-06-19 23:25:39 +03:00
Maxim Devaev
cd8b999b55 kvmd-pst member of kvmd group 2022-06-19 23:25:05 +03:00
Maxim Devaev
835b288fc5 Bump version: 3.104 → 3.105 2022-06-19 22:34:12 +03:00
Maxim Devaev
4de5b40fb8 better pstrun logging 2022-06-19 22:30:29 +03:00
Maxim Devaev
a70800323e cli logging mode 2022-06-19 22:30:17 +03:00
Maxim Devaev
804bb68ae3 print all logs to stderr 2022-06-19 22:03:45 +03:00
Maxim Devaev
dd3044753c lint fix 2022-06-19 20:57:05 +03:00
Maxim Devaev
43da6af153 improved subprocess cmd logging 2022-06-19 20:56:51 +03:00
Maxim Devaev
0edf854832 cmdfmt 2022-06-19 20:47:17 +03:00
Maxim Devaev
4aa7a21b55 better logging 2022-06-19 20:25:52 +03:00
Maxim Devaev
17865348f2 pst client 2022-06-19 19:42:57 +03:00
Maxim Devaev
1d1fc35ac5 ipmproved pst server logic 2022-06-19 17:05:42 +03:00
Maxim Devaev
805ff9dd5f ro_cleanup_delay 2022-06-19 04:10:42 +03:00
Maxim Devaev
74e81b6e03 refactoring 2022-06-19 00:02:48 +03:00
Maxim Devaev
af129106cd removed old zerow configs 2022-06-18 13:22:52 +03:00
Maxim Devaev
b5344a5f3a refactoring 2022-06-18 13:10:00 +03:00
Maxim Devaev
53e64fe151 pst server 2022-06-15 15:58:29 +03:00
Maxim Devaev
88c7796551 common websocket code 2022-06-14 18:18:21 +03:00
Maxim Devaev
37e5118fff Fixed aiotools.wait_infinite()
Task was destroyed but it is pending!
task: <Task pending name='Task-12' coro=<create_deadly_task.<locals>.wrapper() running at /kvmd/aiotools.py:85> wait_for=<Future pending cb=[Task.task_wakeup()]>>
2022-06-14 17:52:30 +03:00
Maxim Devaev
e050bbd725 refactoring 2022-06-14 16:44:59 +03:00
Maxim Devaev
6caeb2ce82 Bump version: 3.103 → 3.104 2022-06-13 21:19:52 +03:00
Maxim Devaev
6e87f6b98b new sponsor 2022-06-13 21:14:06 +03:00
Maxim Devaev
9769b2f754 optional X-kvmd.otgmsd-* values 2022-06-13 21:10:51 +03:00
Maxim Devaev
6eb02a2bd5 Revert "deprecated X-kvmd.[otgmsd|pst]-root"
This reverts commit b906d7f74c88475b729533a9a387c2891798db50.
2022-06-13 21:01:49 +03:00
Maxim Devaev
b906d7f74c deprecated X-kvmd.[otgmsd|pst]-root 2022-06-13 12:42:21 +03:00
Maxim Devaev
8682a4ac90 Bump version: 3.102 → 3.103 2022-06-11 13:56:33 +03:00
Maxim Devaev
28fa6c4991 renamed --edid-file to the --edid 2022-06-11 13:56:01 +03:00
Maxim Devaev
326d51e6a3 Bump version: 3.101 → 3.102 2022-06-11 13:41:21 +03:00
Maxim Devaev
9b0a687c73 v4l2-ctl edid wrapper 2022-06-11 13:40:52 +03:00
Maxim Devaev
4d415244b2 improved formatters 2022-06-09 15:14:33 +03:00
Maxim Devaev
55b2eb3bb1 Bump version: 3.100 → 3.101 2022-06-09 07:13:03 +03:00
Maxim Devaev
9ed0c9add9 improved kvmd-edidconf 2022-06-09 07:12:19 +03:00
Maxim Devaev
e5d5d7938b Bump version: 3.99 → 3.100 2022-06-08 16:04:08 +03:00
Maxim Devaev
580dcf6a2d renamed fields 2022-06-08 16:03:36 +03:00
Maxim Devaev
7832924aac dir fix 2022-06-08 16:02:47 +03:00
Maxim Devaev
fa777cb0b2 Bump version: 3.98 → 3.99 2022-06-08 15:20:06 +03:00
Maxim Devaev
3ee0c41726 more options to edid editing 2022-06-08 15:19:32 +03:00
Maxim Devaev
c0c0972b74 Bump version: 3.97 → 3.98 2022-06-08 03:18:11 +03:00
Maxim Devaev
649a30aff6 edidconf 2022-06-08 03:06:50 +03:00
Maxim Devaev
ced52d739c refactoring 2022-06-07 17:16:05 +03:00
Maxim Devaev
2bcea6d522 Bump version: 3.96 → 3.97 2022-06-07 08:15:43 +03:00
Maxim Devaev
a3b59d35e8 ustreamer 5.8 and new janus config 2022-06-07 08:14:30 +03:00
Maxim Devaev
902b8b2532 Bump version: 3.95 → 3.96 2022-06-07 05:22:27 +03:00
Maxim Devaev
7296637e4d muted einval 2022-06-07 05:16:10 +03:00
Maxim Devaev
5914035495 Bump version: 3.94 → 3.95 2022-06-02 10:26:22 +03:00
Maxim Devaev
9fe588ac46 audio slider fix 2022-06-02 10:25:49 +03:00
Maxim Devaev
124ed635ed Bump version: 3.93 → 3.94 2022-06-02 01:56:04 +03:00
Maxim Devaev
08b7c577d7 webrtc audio draft 2022-06-01 09:32:45 +03:00
Maxim Devaev
fd256852bf new sponsors 2022-05-25 03:31:39 +03:00
Maxim Devaev
0f5bef0fc3 Bump version: 3.92 → 3.93 2022-05-24 18:38:56 +03:00
Maxim Devaev
a3b0b04763 log fix 2022-05-24 16:12:24 +03:00
Frank Zhang
d722c3fff7
Compatibility with old vanilla kernels (#88) 2022-05-24 16:05:49 +03:00
Maxim Devaev
628d25cb87 Bump version: 3.91 → 3.92 2022-05-24 15:41:26 +03:00
Maxim Devaev
dab806eaec pikvm/pikvm#725: sysrq confirmation 2022-05-24 15:07:31 +03:00
Maxim Devaev
1c730a4dcf lint fix 2022-05-24 03:43:07 +03:00
Maxim Devaev
70461b6192 refactoring 2022-05-24 00:19:04 +03:00
Maxim Devaev
55e67e32ae pikvm/pikvm#739: reversed mouse option 2022-05-24 00:17:40 +03:00
Maxim Devaev
232873a77b Bump version: 3.90 → 3.91 2022-05-23 16:32:46 +03:00
Maxim Devaev
c236cc3016 pikvm/pikvm#732: added some other linux magic keys 2022-05-19 17:29:55 +03:00
Maxim Devaev
53d0855cf8 refactoring 2022-05-02 17:19:14 +03:00
Maxim Devaev
6c5ed69c0b Bump version: 3.89 → 3.90 2022-04-30 22:50:27 +03:00
Maxim Devaev
80347b6e20 added comment for #86 2022-04-30 08:21:05 +03:00
VoeGalore
f81fded8a4
fix video pixel-imperfection (#86)
* Update stream.css

fix video pixel-imperfection by taking out 1px worth of internal padding, which inadvertently causing video stream resolution to swell at default(native) resolution

* Update stream.css
2022-04-30 08:18:53 +03:00
Maxim Devaev
dfed318481 Bump version: 3.88 → 3.89 2022-04-30 00:24:39 +03:00
Maxim Devaev
e843830d83 improved #87 2022-04-30 00:24:03 +03:00
VoeGalore
2e641ff835
fix fullscreen focus related jiggling & visible round corners (#87)
* Update window.css

prevents fullscreen jiggling of 1px border when toggling focus & fixes fullscreen visible round corners when focus is lost.

* Update window.css
2022-04-29 22:01:49 +03:00
Maxim Devaev
63ad611795 Bump version: 3.87 → 3.88 2022-04-26 03:16:28 +03:00
Maxim Devaev
720299e386 handle is_safari in iframe 2022-04-26 03:16:00 +03:00
Maxim Devaev
10b8215f4e new sponsors 2022-04-26 01:56:48 +03:00
Maxim Devaev
40fb912a17 missing semicolon 2022-04-26 01:48:33 +03:00
Maxim Devaev
a3ce204100 Bump version: 3.86 → 3.87 2022-04-25 15:56:45 +03:00
Maxim Devaev
61cdf10a83 refactoring 2022-04-25 15:55:07 +03:00
Maxim Devaev
293490298c report a serial number 2022-04-25 15:44:00 +03:00
Maxim Devaev
2294b5a9e1 Bump version: 3.85 → 3.86 2022-04-23 18:31:56 +03:00
Maxim Devaev
d83e32fc51 using dbus_next 2022-04-23 18:28:13 +03:00
Maxim Devaev
e566364b75 fixed keyring in testenv 2022-04-23 16:04:50 +03:00
Maxim Devaev
fbcab5bc57 Bump version: 3.84 → 3.85 2022-04-21 16:51:23 +03:00
Maxim Devaev
ed8d2af999 pikvm/pikvm#604: support partition LABEL in bootconfig 2022-04-21 16:32:18 +03:00
Maxim Devaev
a88757ca7c fixed name 2022-04-21 00:07:18 +03:00
Maxim Devaev
f7291565cc Bump version: 3.83 → 3.84 2022-04-18 12:47:37 +03:00
Maxim Devaev
b4aeb86649 refactoring 2022-04-18 12:46:18 +03:00
Maxim Devaev
e83764c501 optional serial number 2022-04-18 12:15:43 +03:00
Maxim Devaev
ae4509f234 refactoring 2022-04-18 09:49:42 +03:00
Maxim Devaev
af8e859f71 Bump version: 3.82 → 3.83 2022-04-17 22:26:39 +03:00
Maxim Devaev
95928ea4d5 configurable usb device version and max power 2022-04-17 22:25:56 +03:00
Maxim Devaev
f0b5c1ebba locator plugin 2022-04-16 15:10:44 +03:00
Maxim Devaev
fc85121b14 Bump version: 3.81 → 3.82 2022-04-13 14:05:40 +03:00
Maxim Devaev
565d2dd614 fix 2022-04-12 17:37:08 +03:00
Maxim Devaev
32fb465ad4 fix 2022-04-12 15:30:36 +03:00
Maxim Devaev
04720ffe18 deprecated rpi and zerow 2022-04-12 12:53:13 +03:00
Maxim Devaev
04e0ad213a removed unnecessary proc.returncode 2022-04-12 12:45:27 +03:00
Maxim Devaev
047d8ad760 refactoring 2022-04-12 11:38:02 +03:00
Maxim Devaev
6b3296c989 refactoring 2022-04-12 09:47:03 +03:00
Maxim Devaev
a29f9692c8 refactoring 2022-04-12 09:12:21 +03:00
Maxim Devaev
1e5c8535f6 refactoring 2022-04-12 06:31:22 +03:00
Maxim Devaev
80b5546d21 refactoring 2022-04-11 16:34:30 +03:00
Maxim Devaev
6bd2b9c680 refactoring 2022-04-11 15:56:19 +03:00
Maxim Devaev
c7f2564364 Bump version: 3.80 → 3.81 2022-04-11 07:27:17 +03:00
Maxim Devaev
725c5d8e42 create pst directory 2022-04-11 07:05:43 +03:00
Maxim Devaev
4fd1e982d5 brought back --unlock option for backward compatibility 2022-04-11 06:54:21 +03:00
Maxim Devaev
93a602398e bumped minimal kernel version 2022-04-10 20:15:28 +03:00
Maxim Devaev
d55d7beb0e refactoring 2022-04-10 12:55:06 +03:00
Maxim Devaev
970c341519 added dir 2022-04-10 08:13:33 +03:00
Maxim Devaev
7c44d733a9 aiohelpers 2022-04-10 08:08:05 +03:00
Maxim Devaev
c92d17dea2 refactoring 2022-04-10 06:14:48 +03:00
Maxim Devaev
486f1be986 get rid of the otg-unlock helper 2022-04-10 06:00:10 +03:00
Maxim Devaev
122242ea47 Bump version: 3.79 → 3.80 2022-04-06 13:40:27 +03:00
Maxim Devaev
f7634c5900 fixed logging 2022-04-06 13:11:50 +03:00
Maxim Devaev
87d6ccdac2 Bump version: 3.78 → 3.79 2022-04-06 09:56:03 +03:00
Maxim Devaev
a02ae60a30 Bump version: 3.77 → 3.78 2022-04-06 09:46:55 +03:00
Maxim Devaev
6cf8ac4553 ustreamer version reduced to 4.13 2022-04-06 09:45:55 +03:00
Maxim Devaev
6f6772a6b6 refactoring 2022-04-06 00:55:20 +03:00
Maxim Devaev
8ce08fb456 refactoring 2022-04-05 22:43:53 +03:00
Maxim Devaev
7c4ce1d863 Bump version: 3.76 → 3.77 2022-04-05 21:34:24 +03:00
Maxim Devaev
0353e0c832 pst remount helper 2022-04-05 21:33:41 +03:00
Maxim Devaev
5be17cb756 common helpers 2022-04-05 20:51:53 +03:00
Maxim Devaev
fa3aeb79ae Bump version: 3.75 → 3.76 2022-04-05 09:15:47 +03:00
Maxim Devaev
acef10c12b new sponsors 2022-04-05 09:15:17 +03:00
Maxim Devaev
421a42f364 Bump version: 3.74 → 3.75 2022-04-04 16:08:24 +03:00
Maxim Devaev
64fd7b088e fixed nan in janus video tag 2022-04-04 16:07:51 +03:00
Maxim Devaev
b9688ca438 Bump version: 3.73 → 3.74 2022-04-02 10:40:35 +03:00
Maxim Devaev
bd8984dd06 otgconf gpio plugin 2022-04-02 10:39:50 +03:00
Maxim Devaev
f1e9f33c13 Bump version: 3.72 → 3.73 2022-04-01 20:29:06 +03:00
Maxim Devaev
63061352c0 fixed missing module 2022-04-01 20:28:38 +03:00
Maxim Devaev
b54cc1b028 Bump version: 3.71 → 3.72 2022-04-01 08:53:46 +03:00
Maxim Devaev
d8a3c1cdfa fixed sed 2022-04-01 08:53:17 +03:00
Maxim Devaev
31f5b08f43 Bump version: 3.70 → 3.71 2022-04-01 08:33:26 +03:00
Maxim Devaev
5108f784d9 disable pam_systemd* modules 2022-04-01 07:50:20 +03:00
Maxim Devaev
7ba7f08be7 kvmd-otgconf: reset delay 2022-04-01 06:51:57 +03:00
Maxim Devaev
3b56100fe2 otg hid: close device if udc is unbound 2022-04-01 06:48:00 +03:00
Maxim Devaev
66e5aa49e0 fixed dockerfile 2022-04-01 06:18:05 +03:00
Maxim Devaev
d2c6bf716d delay 2022-04-01 06:06:11 +03:00
Maxim Devaev
17e140729e refactoring 2022-04-01 02:53:10 +03:00
Maxim Devaev
b775239d72 refactoring 2022-03-31 16:17:52 +03:00
Maxim Devaev
ab09f88d80 renamed config_path to profile_path 2022-03-31 15:04:57 +03:00
Maxim Devaev
984ae4fa37 disable only if enabled 2022-03-31 14:38:00 +03:00
Maxim Devaev
5d1788cb44 gitignored all coverages by wildcard 2022-03-31 12:06:52 +03:00
Maxim Devaev
0dea368d72 kvmd-otgconf --reset-gadget 2022-03-31 12:06:23 +03:00
Maxim Devaev
6828a0e6aa otg msd: handle functions switching 2022-03-31 11:54:31 +03:00
Maxim Devaev
03a4c13291 kvmd-otgconf 2022-03-31 11:06:21 +03:00
Maxim Devaev
ecb585866c write otg metainfo 2022-03-31 09:58:11 +03:00
Maxim Devaev
686d6f7c2c refactoring 2022-03-31 08:27:55 +03:00
Maxim Devaev
17412be3fe get rid of otgbind's cleanup and fixed hid for this 2022-03-31 05:41:08 +03:00
Maxim Devaev
c4ca7011bf removed UsbDeviceController() class 2022-03-31 04:40:24 +03:00
Maxim Devaev
94dca7d7c6 simplified find_udc() 2022-03-31 03:37:04 +03:00
Maxim Devaev
ed93f1f4d3 improved otgbind 2022-03-30 23:37:10 +03:00
Maxim Devaev
2d4aa93f06 Bump version: 3.69 → 3.70 2022-03-29 15:28:37 +03:00
Maxim Devaev
44cb41019a new sponsor 2022-03-29 15:28:08 +03:00
Maxim Devaev
96f2d36af6 refactoring 2022-03-28 20:21:32 +03:00
Andrew Aubury
77eda0729b
Update radius.py (#85) 2022-03-28 20:08:11 +03:00
Andrew Aubury
4b26d65cf9
Update radius.py (#84)
* Update radius.py

Adding username and password fields

* Update radius.py
2022-03-28 02:58:03 +03:00
Maxim Devaev
ec40284a3b Bump version: 3.68 → 3.69 2022-03-28 00:00:02 +03:00
Maxim Devaev
267aef7790 default values for the otg hid plugin 2022-03-27 23:58:29 +03:00
Maxim Devaev
8e2688d820 default values for the serial hid plugin 2022-03-27 23:54:26 +03:00
Maxim Devaev
f474fd6453 default atx gpio values 2022-03-27 23:44:11 +03:00
Maxim Devaev
92ebe93bac x509 vnc by default 2022-03-27 23:01:45 +03:00
Maxim Devaev
056f069346 removed unused network code and simplified configs 2022-03-27 22:50:35 +03:00
Maxim Devaev
8775cd2286 don't spam about stopped kvmd-fan 2022-03-27 22:00:23 +03:00
Maxim Devaev
6dc1b758b5 refactoring 2022-03-27 03:50:11 +03:00
Maxim Devaev
be5f57e03f renamed radiussrv to radius 2022-03-27 02:59:53 +03:00
Andrew Aubury
346c9f753d
Add radius authentication support (#83) 2022-03-27 02:57:57 +03:00
Maxim Devaev
b3844f24da Bump version: 3.67 → 3.68 2022-03-26 22:53:13 +03:00
Maxim Devaev
0ca9de9f35 abstract platform io access package 2022-03-26 22:24:04 +03:00
Maxim Devaev
9a19be92a0 export fan state to prometheus 2022-03-26 19:58:59 +03:00
Maxim Devaev
6922f70dcd test fix 2022-03-26 02:25:17 +03:00
Maxim Devaev
3c609e6fe0 Bump version: 3.66 → 3.67 2022-03-26 00:55:34 +03:00
Maxim Devaev
3a878baac8 hide logout botton when auth is disabled 2022-03-26 00:54:16 +03:00
Maxim Devaev
ed23fef512 fan monitoring 2022-03-25 21:19:28 +03:00
Maxim Devaev
67180e244f Bump version: 3.65 → 3.66 2022-03-23 04:39:19 +03:00
Maxim Devaev
e85a80f221 fixed fan condition 2022-03-23 04:38:48 +03:00
Maxim Devaev
99df3f6556 Bump version: 3.64 → 3.65 2022-03-23 01:38:15 +03:00
Maxim Devaev
0d93862b37 v3 fan config 2022-03-23 01:37:47 +03:00
Maxim Devaev
ce347fad40 Bump version: 3.63 → 3.64 2022-03-22 03:06:37 +03:00
Maxim Devaev
0019d84c3e added missing data-force-hide-menu attribute for the atx buttons 2022-03-22 03:04:46 +03:00
Maxim Devaev
c161d22dbb pikvm/pikvm#599: fixed webui windows oversizing 2022-03-22 02:52:01 +03:00
Maxim Devaev
bb853b283b Bump version: 3.62 → 3.63 2022-03-21 15:03:29 +03:00
Maxim Devaev
9e1c1dace9 updated deps 2022-03-21 14:34:36 +03:00
Chris Perelstein
b0837edbf2
Fix kvmd-nginx reload. (#82)
Match global directives (especially pidfile) from ExecStart to allow
reload to work.
2022-03-21 10:50:07 +03:00
Maxim Devaev
8638a290ae Bump version: 3.61 → 3.62 2022-03-20 04:53:50 +03:00
Maxim Devaev
843270a0a8 disabled paypal 2022-03-20 03:02:55 +03:00
Maxim Devaev
d4c307b804 vcgencmd measure_temp and thermal_zone0 are the same 2022-03-19 23:08:11 +03:00
Maxim Devaev
c2634cb69f new sponsor 2022-03-16 00:14:38 +03:00
Maxim Devaev
1c29a9177f Bump version: 3.60 → 3.61 2022-03-15 19:31:02 +03:00
Maxim Devaev
406b023f7c fixed indent 2022-03-15 19:30:33 +03:00
Maxim Devaev
375106ee29 Bump version: 3.59 → 3.60 2022-03-15 19:27:11 +03:00
Maxim Devaev
a140f11b1b max h264 kbps is 2000 2022-03-15 19:26:37 +03:00
srepac
9346169271
Add hostapd for hotspot AP at first boot (#81) 2022-03-15 02:41:59 +03:00
Maxim Devaev
3216f07434 fix 2022-03-12 05:46:27 +03:00
Maxim Devaev
2666cf6d56 Bump version: 3.58 → 3.59 2022-03-11 21:18:25 +03:00
Maxim Devaev
f04617ac4f pikvm/pikvm#616: secure text switch 2022-03-11 19:54:55 +03:00
Maxim Devaev
6d6630a4dd Bump version: 3.57 → 3.58 2022-03-10 23:24:27 +03:00
Maxim Devaev
7105693b22 fixed ocr langs parameter 2022-03-10 23:23:53 +03:00
Maxim Devaev
863f8edae0 Bump version: 3.56 → 3.57 2022-03-01 21:48:42 +03:00
Maxim Devaev
9efb8fd326 new sponsor 2022-02-28 23:38:49 +03:00
Maxim Devaev
f1b24f50f3 ocr is beta 2022-02-28 22:34:55 +03:00
Maxim Devaev
ef96b8f19d Bump version: 3.55 → 3.56 2022-02-24 12:41:41 +03:00
Maxim Devaev
ade918eb72 increased ocr timeout 2022-02-24 12:41:01 +03:00
Maxim Devaev
a8af9b6290 fixed ocr selection in firefox 2022-02-24 12:33:41 +03:00
Maxim Devaev
13afa9f4d3 fix 2022-02-24 11:07:20 +03:00
Maxim Devaev
30ce90b100 Bump version: 3.54 → 3.55 2022-02-21 04:23:38 +03:00
Maxim Devaev
8bdfe3b2c3 new sponsors 2022-02-21 04:23:01 +03:00
Maxim Devaev
96191a1b08 ocr 2022-02-21 04:18:15 +03:00
Maxim Devaev
67839a52a2 new sponsor 2022-01-30 11:29:26 +03:00
Maxim Devaev
a2e93aa510 refactoring 2022-01-29 15:12:46 +03:00
Maxim Devaev
20b5b47bdc new sponsor 2022-01-29 14:55:03 +03:00
Maxim Devaev
de842f12e2 Fixed ocr image cropping
Thanks @mfunkey
2022-01-29 10:22:22 +03:00
Maxim Devaev
8e2bd4265a tesseract as opt 2022-01-25 15:09:25 +03:00
Maxim Devaev
41d1471cd9 refactoring 2022-01-24 19:10:18 +03:00
Maxim Devaev
2396e87b70 refactoring 2022-01-24 19:09:30 +03:00
Kenny Younger
a614be7d76
PWAY plugin fix: Normalize pin/channel index to 0-based (#78)
* PWAY plugin fix: Normalize pin/channel index to 1-based

* Normalize to 0-based instead
2022-01-24 19:04:52 +03:00
Maxim Devaev
954ec769c6 bumped max python version in setup.py 2022-01-23 00:55:50 +03:00
Maxim Devaev
b0fa9c21f6 new sponsor 2022-01-23 00:26:18 +03:00
Maxim Devaev
ac37503631 new sponsors 2022-01-21 07:32:27 +03:00
Maxim Devaev
88909355f9 show default values for --help 2022-01-21 07:26:41 +03:00
Maxim Devaev
bdc2a317e5 refactoring 2022-01-20 09:59:05 +03:00
mfunkey
ba1f66db9c
RNDIS Version 5 for Windows XP, automatic driver load on Windows using ncm (#77)
* rndis version 5 implementation for windows xp

* make windows pick the ncm usb ethernet driver automatically
2022-01-20 09:44:46 +03:00
Maxim Devaev
3ab43edeb9 pikvm/kvmd#66: OCR API 2022-01-18 09:25:17 +03:00
Maxim Devaev
3ee1948f19 refactoring 2022-01-17 13:54:52 +03:00
Maxim Devaev
902fc38778 refactoring 2022-01-17 10:59:57 +03:00
Maxim Devaev
a63b9e0b77 new sponsor 2022-01-15 03:21:24 +03:00
Maxim Devaev
e506d744f4 Bump version: 3.53 → 3.54 2022-01-08 18:24:40 +03:00
Maxim Devaev
ae4709db17 fix 2022-01-08 18:24:02 +03:00
Maxim Devaev
5ce653dde5 Bump version: 3.52 → 3.53 2022-01-08 18:06:20 +03:00
Maxim Devaev
ef5f268ae2 restore motd 2022-01-08 18:05:47 +03:00
Maxim Devaev
93a57e5e37 fixed remap() type to int 2022-01-08 07:18:43 +03:00
Maxim Devaev
ae9650b9ee new sponsors 2022-01-08 04:29:32 +03:00
Maxim Devaev
1b3a2cc3f7 copyright bump 2022-01-07 16:39:02 +03:00
Maxim Devaev
0efd93d496 fixed deprecation warning 2022-01-06 05:46:09 +03:00
Maxim Devaev
a67c20be29 fix 2022-01-06 05:04:29 +03:00
mfunkey
04f9bbe568
Make kvmd-net start/stop work without error while changing configuration (#76) 2022-01-06 05:01:45 +03:00
Maxim Devaev
9f44a120a7 bump bcdDevice only for rndis 2022-01-06 02:32:10 +03:00
Maxim Devaev
c97f509a8e fixed pikvm/pikvm#594: added en-us-altgr-intl keymap 2022-01-04 21:56:15 +03:00
Maxim Devaev
f1662e2262 Improved RNDIS configuration
https://github.com/ev3dev/ev3-systemd/blob/ev3dev-jessie/scripts/ev3-usb.sh
d6679cebba
2022-01-04 21:38:19 +03:00
Maxim Devaev
f1d018bef4 Bump version: 3.51 → 3.52 2021-12-31 14:52:09 +03:00
Maxim Devaev
015086b068 fixed deps 2021-12-31 14:51:36 +03:00
Maxim Devaev
77efe92111 Bump version: 3.50 → 3.51 2021-12-31 01:29:53 +03:00
Maxim Devaev
12bed58e6b using python 3.10 for pkg 2021-12-31 01:20:20 +03:00
Maxim Devaev
f609e857b1 libc module 2021-12-30 05:44:42 +03:00
Maxim Devaev
885c14f9e4 changed name 2021-12-27 02:53:19 +03:00
Maxim Devaev
73a6a15336 refactoring 2021-12-24 19:39:43 +03:00
Maxim Devaev
3c029a6c46 using only find_library() 2021-12-24 14:10:08 +03:00
Maxim Devaev
1e98d9bd5d python 3.10 2021-12-23 20:56:16 +03:00
Maxim Devaev
aef7a5a094 python update 2021-12-23 18:44:34 +03:00
Maxim Devaev
f2a2ae0736 new sponsors 2021-12-23 14:44:44 +03:00
Maxim Devaev
6e4803017d new sponsors 2021-12-12 13:56:20 +03:00
Maxim Devaev
4eed5d9456 new sponsor 2021-12-04 12:30:06 +03:00
Maxim Devaev
3d20f5b488 new sponsors 2021-12-03 14:07:34 +03:00
Maxim Devaev
d16672704c new sponsors 2021-12-02 02:36:53 +03:00
Maxim Devaev
b9ba441f16 new sponsor 2021-11-29 06:28:23 +03:00
Maxim Devaev
d3bb04f949 Bump version: 3.49 → 3.50 2021-11-28 08:40:39 +03:00
Maxim Devaev
2088b78872 fixed "got Future attached to a different loop" 2021-11-28 08:39:57 +03:00
Maxim Devaev
b27b4f1491 changed h264 range to actual values 2021-11-25 06:37:32 +03:00
Maxim Devaev
1551f34bf6 Bump version: 3.48 → 3.49 2021-11-21 21:54:22 +03:00
Maxim Devaev
0ae6f40a67 pway fixes 2021-11-21 21:44:27 +03:00
SpookHCK
fee323ecc8
PWAY 16-port SH1601A Driver (#67)
* pway 16-port SH1601A driver

Minimum viable driver.

* Update to pWay 16-port driver

* Rename kvmd/pway.py to plugins/ugpio/pway.py

Fixed file mods

* Delete pway.py

* Update pway.py

Fixed file changes to only one...

* fixed spaces on line 181
2021-11-21 20:12:49 +03:00
Maxim Devaev
444603cbb2 Bump version: 3.47 → 3.48 2021-11-20 05:29:49 +03:00
Maxim Devaev
227423e249 fixed bootconfig ro 2021-11-20 05:29:14 +03:00
Maxim Devaev
308e5c1779 Bump version: 3.46 → 3.47 2021-11-20 01:36:23 +03:00
Maxim Devaev
2e77917785 added zero 2 w support 2021-11-20 01:35:39 +03:00
Maxim Devaev
6f423cb7da Bump version: 3.45 → 3.46 2021-11-18 01:00:36 +03:00
Maxim Devaev
1341ee38c5 kvmd is a member of video group 2021-11-17 06:33:43 +03:00
Maxim Devaev
25f5d022e3 new sponsors 2021-11-17 06:31:58 +03:00
Maxim Devaev
9c56f94332 testenv https redirect 2021-11-12 06:22:45 +03:00
Maxim Devaev
eb95257c60 Bump version: 3.44 → 3.45 2021-11-12 03:55:28 +03:00
Maxim Devaev
a3812dda69 renamed scripts directory 2021-11-12 03:53:04 +03:00
srepac
6118eadec6
Update kvmd-bootconfig (#74)
Check for custom scripts inside /boot/kvmd-bootconfig.d directory since /boot is accessible by any client to allow users to drop custom scripts they want to run at boot.
2021-11-12 01:50:04 +03:00
Maxim Devaev
8e60b84288 listen configs 2021-11-12 01:49:51 +03:00
Maxim Devaev
aa2de59ff5 Bump version: 3.43 → 3.44 2021-11-08 04:27:35 +03:00
Maxim Devaev
fde4539e36 pikvm/pikvm#73: run custom bootconfig scripts from /etc/kvmd/bootconfig.d 2021-11-08 04:25:29 +03:00
Maxim Devaev
6f56c40436 Bump version: 3.42 → 3.43 2021-11-08 01:33:05 +03:00
Maxim Devaev
b31dde20e0 move kvmd-udev-hdmiusb-check to the platform package 2021-11-08 01:32:23 +03:00
Maxim Devaev
6d72bf9b98 new sponsor 2021-11-07 19:30:29 +03:00
Maxim Devaev
39e2719b9b Bump version: 3.41 → 3.42 2021-11-07 16:09:13 +03:00
Maxim Devaev
6afe551cd4 display edid info after loading 2021-11-07 16:07:39 +03:00
Maxim Devaev
ea47b4c512 new sponsors 2021-11-06 21:22:36 +03:00
Maxim Devaev
7d683aeccd Bump version: 3.40 → 3.41 2021-11-04 02:43:23 +03:00
Maxim Devaev
aed6fd10ed pikvm/pikvm#531: improved fullscreen focus 2021-11-04 02:42:48 +03:00
Maxim Devaev
653bef8657 new sponsor 2021-10-31 14:00:57 +03:00
Maxim Devaev
367048aff1 Bump version: 3.39 → 3.40 2021-10-30 12:54:03 +03:00
Maxim Devaev
ddbb2c7645 fixed ENABLE_OTG_SERIAL 2021-10-29 21:06:36 +03:00
Maxim Devaev
da3468047a refactoring 2021-10-29 19:59:24 +03:00
Maxim Devaev
1f6bd0c590 ENABLE_OTG_SERIAL 2021-10-29 19:57:51 +03:00
Maxim Devaev
65a471db99 new sponsor 2021-10-29 18:35:14 +03:00
Maxim Devaev
9fb67e9777 Bump version: 3.38 → 3.39 2021-10-28 14:13:04 +03:00
Maxim Devaev
8d0eb4c525 new sponsor 2021-10-28 13:12:18 +03:00
Maxim Devaev
9f9d8a5347 Bump version: 3.37 → 3.38 2021-10-28 01:24:28 +03:00
Maxim Devaev
97bb4e46b3 disable vns memsinks in testenv 2021-10-28 01:14:22 +03:00
Maxim Devaev
88aad3bf87 pikvm/pikvm#521: fixed ipv4-only binding for vnc 2021-10-28 01:10:54 +03:00
Maxim Devaev
ea896f7116 Bump version: 3.36 → 3.37 2021-10-27 18:20:19 +03:00
Maxim Devaev
c7b9aada41 FIRST_BOOT 2021-10-27 17:42:32 +03:00
Maxim Devaev
940539f6f5 using override.d 2021-10-27 17:37:21 +03:00
Maxim Devaev
d084110481 yaml supports include dirs 2021-10-27 11:27:47 +03:00
Maxim Devaev
10e6e53006 pikvm/pikvm#107: change ssh port in pikvm.txt 2021-10-26 09:04:14 +03:00
Maxim Devaev
7c9405459e new sponsor 2021-10-25 08:00:57 +03:00
Maxim Devaev
f01a29b80c Bump version: 3.35 → 3.36 2021-10-24 12:11:02 +03:00
Maxim Devaev
b6aaf18c42 prefix for log_process() 2021-10-24 12:06:40 +03:00
Maxim Devaev
434acc5de5 pikvm/pikvm#457: custom commands driver 2021-10-24 12:00:45 +03:00
Maxim Devaev
278b4b335c Bump version: 3.34 → 3.35 2021-10-23 11:34:25 +03:00
Maxim Devaev
73685123cc pikvm/pikvm#506: improved delayed sliders behaviour 2021-10-23 08:42:13 +03:00
Maxim Devaev
60e2a38dcd improved slider api 2021-10-23 06:53:05 +03:00
Maxim Devaev
642149daed updated links 2021-10-20 06:35:24 +03:00
Maxim Devaev
d8d043679d Bump version: 3.33 → 3.34 2021-10-19 08:18:27 +03:00
Maxim Devaev
64e3fc0d0c removed wrong ntp fix 2021-10-19 06:48:57 +03:00
Maxim Devaev
7ecf56d144 comments 2021-10-19 06:48:22 +03:00
Maxim Devaev
b20d201517 Bump version: 3.32 → 3.33 2021-10-19 04:34:56 +03:00
Maxim Devaev
db144eb775 kvmd-bootconfig prototype 2021-10-19 04:34:22 +03:00
Maxim Devaev
2e886ff92b refactoring 2021-10-18 10:03:28 +03:00
Maxim Devaev
0482fc2503 call display_callback after slider.setOnUpDelayed 2021-10-18 09:57:05 +03:00
Maxim Devaev
10d8514c6b refactoring 2021-10-18 09:56:38 +03:00
Maxim Devaev
01dd31d755 refactoring 2021-10-18 09:37:17 +03:00
Maxim Devaev
34cac8a4c7 removed unused code 2021-10-18 09:15:57 +03:00
Maxim Devaev
e2873032ee slider setValue/getValue 2021-10-18 08:46:53 +03:00
Maxim Devaev
b4ca93dac1 Bump version: 3.31 → 3.32 2021-10-17 08:06:36 +03:00
Maxim Devaev
a8294b8852 files.pikvm.org 2021-10-17 07:47:00 +03:00
Maxim Devaev
2fa01ebaec documentation link 2021-10-16 09:49:37 +03:00
Maxim Devaev
a4dbea4274 Bump version: 3.30 → 3.31 2021-10-16 04:31:21 +03:00
Maxim Devaev
53c3556f8c new sponsor 2021-10-16 04:29:37 +03:00
Maxim Devaev
60c729980f improved apple detection 2021-10-16 02:02:28 +03:00
Maxim Devaev
125baff0cb error message about gpio mockup 2021-10-16 00:59:32 +03:00
Maxim Devaev
e432804a5a DOCKER variable 2021-10-16 00:52:51 +03:00
Maxim Devaev
a97c92ec7a ignored config.mk 2021-10-16 00:52:02 +03:00
Maxim Devaev
3ea4f806c8 new sponsor 2021-10-16 00:51:20 +03:00
Maxim Devaev
f3d3d92702 new sponsor 2021-10-14 09:44:06 +03:00
Maxim Devaev
7cee13d599 Bump version: 3.29 → 3.30 2021-10-14 08:04:21 +03:00
Maxim Devaev
6d75a8f5c0 include root config.mk 2021-10-14 08:01:07 +03:00
Maxim Devaev
93c48b2095 moved docs 2021-10-12 23:04:44 +03:00
Maxim Devaev
d98fae4822 new sponsors 2021-10-12 22:59:06 +03:00
Maxim Devaev
67b846ea55 refactoring 2021-10-06 02:55:13 +03:00
patrick kettner
463237229d
don't show message about keyboards not working when you are following its recomendations to fix it (#70) 2021-10-06 02:32:38 +03:00
Maxim Devaev
756a6c6066 new sponsor 2021-10-06 02:06:56 +03:00
Maxim Devaev
1897e4d043 moved user.css to the last 2021-10-04 22:58:53 +03:00
Maxim Devaev
ca0ba6cc86 Bump version: 3.28 → 3.29 2021-10-04 19:58:22 +03:00
Maxim Devaev
97f1546439 fixed ntp sed 2021-10-04 19:57:27 +03:00
Maxim Devaev
2641ef74f8 Bump version: 3.27 → 3.28 2021-10-04 19:16:59 +03:00
Maxim Devaev
58644dd96d ntp workaround 2021-10-04 19:16:00 +03:00
Maxim Devaev
b1b008f6e1 Bump version: 3.26 → 3.27 2021-10-03 01:57:12 +03:00
Maxim Devaev
1c3155daec xk-hk4401: fixed regexp 2021-10-03 01:48:39 +03:00
Maxim Devaev
d0c237c177 style fix 2021-10-02 21:29:58 +03:00
Maxim Devaev
fdf3c0f8d4 pikvm/pikvm#481: check webrtc caps 2021-10-02 03:36:48 +03:00
Maxim Devaev
c162bb7ea4 style fixes 2021-10-02 01:47:20 +03:00
Sebastian Goscik
2f92e95bf0
Added driver for xh_hk4401 4 port HDMI/USB KVM (#69)
* Added driver for xh_hk4401 4 port HDMI/USB KVM

* Removed trailing whitespace

* Changed xh_hk4401 channel numbers

Used 0-3 to match other KVM plugins instead of the 1-4 numbering the KVM
uses.
2021-10-01 15:25:43 +03:00
Maxim Devaev
33386e5102 details/summary for future use 2021-09-27 18:22:34 +03:00
Maxim Devaev
9f9396a810 configurable mouse polling rate 2021-09-27 14:51:54 +03:00
Maxim Devaev
67b67f6cbc Bump version: 3.25 → 3.26 2021-09-26 09:33:04 +03:00
Maxim Devaev
51ed538415 renamed device to rtc 2021-09-26 09:31:54 +03:00
Maxim Devaev
2a0ed6a92c Bump version: 3.24 → 3.25 2021-09-26 08:54:05 +03:00
Maxim Devaev
c585dfc483 parse yes/no/on/off as string 2021-09-26 08:51:37 +03:00
Maxim Devaev
89a0ec8cc8 don't pulse ipmi gpio 2021-09-26 04:00:06 +03:00
Maxim Devaev
ae81fced3d Bump version: 3.23 → 3.24 2021-09-25 18:29:15 +03:00
Maxim Devaev
e95068cc46 stable 2021-09-24 09:38:42 +03:00
Maxim Devaev
977c8a1ade refactoring 2021-09-24 09:33:15 +03:00
Maxim Devaev
27f04a0967 fix 2021-09-24 07:07:45 +03:00
Maxim Devaev
487476afe4 aioproc: use killpg() for SIGKILL 2021-09-24 04:47:11 +03:00
Maxim Devaev
ab92a2d708 rtc watchdog for v3 2021-09-23 17:12:15 +03:00
Maxim Devaev
8d53c89a6a new sponsors 2021-09-20 09:21:54 +03:00
Maxim Devaev
8ab9c8f07b record atx actions 2021-09-20 07:15:56 +03:00
Maxim Devaev
701df3c76f rewrited #65 2021-09-20 07:14:38 +03:00
Shantur Rathore
f160fb561f
Implement macro recording for gpio (#65) 2021-09-20 03:22:48 +03:00
Maxim Devaev
e38c65f181 lint fix 2021-09-20 02:52:10 +03:00
Maxim Devaev
cfa7aca2bf pikvm/kvmd#63: centered blue dot by cursor, added transparency 2021-09-19 23:43:50 +03:00
Maxim Devaev
b6a59941c8 kvmd/kvmd#62: alternative implementation 2021-09-16 09:45:10 +03:00
Maxim Devaev
dbd643b2ae refactoring, regen 2021-09-16 05:54:07 +03:00
mh166
4dd3e8543f
Add tooltips to SysRq shortcuts (#64)
Provide a helpful tooltip of what that SysRq shortcut does. As most people don't often (if ever) use SysRq keys, this will be a handy quick reference. Further details can still be gathered from the linked kernel.org article.
2021-09-15 10:42:36 +03:00
Maxim Devaev
8f11fa3b91 small rebranding 2021-09-08 06:47:54 +03:00
Maxim Devaev
ca812117e4 improved pins validation 2021-09-08 06:08:11 +03:00
Maxim Devaev
5d1228eb9e fix 2021-09-08 06:04:52 +03:00
Maxim Devaev
4e478f968c refactoring 2021-09-08 05:45:11 +03:00
Maxim Devaev
98ad1145a8 string pins 2021-09-08 05:43:36 +03:00
Maxim Devaev
939c63fe7d fixed msg 2021-09-08 04:07:58 +03:00
Maxim Devaev
cc5b2a42b8 refactoring 2021-09-07 10:31:28 +03:00
Maxim Devaev
ce5cd50d51 new sponsors 2021-09-06 02:10:53 +03:00
Maxim Devaev
20b4466474 new sponsor 2021-09-02 17:58:22 +03:00
Maxim Devaev
a6f869bbd5 Bump version: 3.22 → 3.23 2021-08-31 18:14:52 +03:00
Maxim Devaev
066a2a4625 configurable bcdUSB 2021-08-31 18:12:47 +03:00
Maxim Devaev
49faa1d28e new sponsor 2021-08-29 23:22:12 +03:00
Maxim Devaev
2db0656df3 unified udc code and automatic driver detection 2021-08-28 19:01:13 +03:00
Maxim Devaev
08dad87fea Bump version: 3.21 → 3.22 2021-08-27 00:14:45 +03:00
Maxim Devaev
6dd24fbf78 new sponsor 2021-08-26 21:15:12 +03:00
Maxim Devaev
b7ee31446a new sponsor 2021-08-26 20:02:31 +03:00
Shantur Rathore
9b4622b498
Remove wiringpi and use already included libgpiod (#59) 2021-08-25 17:37:27 +03:00
Maxim Devaev
9aadb78ebc fixed pillow dep 2021-08-22 14:52:22 +03:00
Maxim Devaev
ae84806df1 new sponsor 2021-08-22 02:40:57 +03:00
Maxim Devaev
214bce2d15 Bump version: 3.20 → 3.21 2021-08-21 18:57:26 +03:00
Maxim Devaev
3c59bdcea3 improved otg messages 2021-08-21 18:55:44 +03:00
Maxim Devaev
52bf4a22a7 set wakeup_on_write as optional flag 2021-08-21 18:32:21 +03:00
Maxim Devaev
0a27176c5c Bump version: 3.19 → 3.20 2021-08-21 12:48:22 +03:00
Maxim Devaev
89c8a0cb49 lint fix 2021-08-21 12:39:07 +03:00
Maxim Devaev
6fe19c50a2 Bump version: 3.18 → 3.19 2021-08-21 12:22:50 +03:00
Maxim Devaev
7daf80c0b0 bumped libgpiod for testenv 2021-08-21 12:13:14 +03:00
Maxim Devaev
1e7aac27b2 option to enable remote wakeup 2021-08-20 21:12:44 +03:00
Maxim Devaev
902841e8df new sponsor 2021-08-20 20:56:15 +03:00
Maxim Devaev
4bbc77eff8 new sponsor 2021-08-17 19:45:12 +03:00
Maxim Devaev
2fdbf0d5f4 Bump version: 3.17 → 3.18 2021-08-17 15:13:52 +03:00
Maxim Devaev
586c7d2077 pikvm/pikvm#281: adjustable relative mouse sensitivity 2021-08-17 15:01:04 +03:00
Maxim Devaev
b7cf7b4523 upstream HID + win98 patch instad of the fork 2021-08-17 10:47:53 +03:00
Maxim Devaev
df098bd075 win95 runtime switching 2021-08-15 20:16:48 +03:00
Maxim Devaev
9afa6efbe4 Merge branch 'servo' 2021-08-15 10:27:18 +03:00
Maxim Devaev
a340fc6053 minor servo fixes 2021-08-15 10:26:13 +03:00
Shantur Rathore
c644a9f6e1
Implement servo angles (#58)
/etc/kvmd/override.yaml
```
kvmd:
    gpio:
        drivers:
            servo1:
                type: servo
                chip: 0                  # PWM Chip Number
                period: 20000000         # Servo Motor SG90 Period in nano-seconds
                duty_cycle_min: 350000   # Servo Motor SG90 duty_cycle for -90 degrees
                duty_cycle_max: 2350000  # Servo Motor SG90 duty_cycle for +90 degrees
                angle_max: 90            # Servo Motor SG90 angle at duty_cycle_max
                angle_min: -90           # Servo Motor SG90 angle at duty_cycle_min
                angle_push: 45           # Servo Motor SG90 angle to push button
                angle_release: 20        # Servo Motor SG90 angle to release button
        scheme:
            short_press:
                driver: servo1
                pin: 0                       # Pin number is the PWM channel number on the PWM Chip
                mode: output
                switch: false
                pulse:
                    delay: 0.5
                    max_delay: 2
            long_press:
                driver: servo1
                pin: 0                       # Pin number is the PWM channel number on the PWM Chip
                mode: output
                switch: false
                pulse:
                    delay: 2
                    max_delay: 2
            extra_long_press:
                driver: servo1
                pin: 0                       # Pin number is the PWM channel number on the PWM Chip
                mode: output
                switch: false
                pulse:
                    delay: 10
                    max_delay: 20
        view:
            header:
                title: Controls
            table:
                - ["#Servo - Short Press", "short_press|Press"]
                - ["#Servo - Long Press", "long_press|Press"]
                - ["#Servo - Extra Long Press", "extra_long_press|Press"]
```
2021-08-15 10:15:53 +03:00
Maxim Devaev
541e57105d Bump version: 3.16 → 3.17 2021-08-14 10:40:47 +03:00
Maxim Devaev
21749f258c fixed win98 again on arduino 2021-08-14 10:35:22 +03:00
Maxim Devaev
40c326ba08 Bump version: 3.15 → 3.16 2021-08-14 09:32:36 +03:00
Maxim Devaev
ed5952f13e fixed pikvm/pikvm#159: workaround for windows 98 absolute mouse bug 2021-08-14 09:29:12 +03:00
Maxim Devaev
c4b9eba250 new sponsor 2021-08-14 06:18:53 +03:00
Maxim Devaev
ec5b194625 Bump version: 3.14 → 3.15 2021-08-14 03:38:03 +03:00
Maxim Devaev
c6c4592dfb servo template 2021-08-14 03:08:28 +03:00
Maxim Devaev
7d89a54572 refactoring 2021-08-14 02:01:37 +03:00
Shantur Rathore
e4903c5184
Implement button push using servo motors controlled via pwm (#55)
1. Add to /boot/config.txt
```
dtoverlay=pwm
```

2. Create /etc/udev/rules.d/99-kvmd-pwm.rules
```
SUBSYSTEM=="pwm*", ACTION=="add", RUN+="/bin/chgrp -R kvmd /sys%p", RUN+="/bin/chmod -R g=u /sys%p"
SUBSYSTEM=="pwm*", ACTION=="change", ENV{TRIGGER}!="none", RUN+="/bin/chgrp -R kvmd /sys%p", RUN+="/bin/chmod -R g=u /sys%p"
```

3. Connect Servo motor like SG90 PWM connection to RPi GPIO18, +5V and GND to a 5V and GND pin on header

4. Add to /etc/kvmd/override.yaml
```
kvmd:
    gpio:
        drivers:
            servo1:
                type: pwm
                pwm_chip: 0                  # PWM Chip Number
                pwm_period: 20000000         # Servo Motor SG90 Period in nano-seconds
                duty_cycle_push: 1500000     # Servo Motor SG90 duty_cycle for pushing button
                duty_cycle_release: 1000000  # Servo Motor SG90 duty_cycle for releasing button
        scheme:
            short_press:
                driver: servo1
                pin: 0                       # Pin number is the PWM channel number on the PWM Chip
                mode: output
                switch: false
                pulse:
                    delay: 0.5
                    max_delay: 2
            long_press:
                driver: servo1
                pin: 0                       # Pin number is the PWM channel number on the PWM Chip
                mode: output
                switch: false
                pulse:
                    delay: 2
                    max_delay: 2
            extra_long_press:
                driver: servo1
                pin: 0                       # Pin number is the PWM channel number on the PWM Chip
                mode: output
                switch: false
                pulse:
                    delay: 10
                    max_delay: 20
        view:
            header:
                title: Controls
            table:
                - ["#Servo - Short Press", "short_press|Press"]
                - ["#Servo - Long Press", "long_press|Press"]
                - ["#Servo - Extra Long Press", "extra_long_press|Press"]
```
2021-08-14 01:14:22 +03:00
Maxim Devaev
8ea5aa1a1f new sponsor 2021-08-14 00:30:41 +03:00
Maxim Devaev
976662df83 bindSimpleSwitch() 2021-08-13 16:39:56 +03:00
Maxim Devaev
c233e3bee7 save hid squash value 2021-08-13 16:24:48 +03:00
Maxim Devaev
551e0a5598 new sponsor 2021-08-13 09:59:39 +03:00
Maxim Devaev
d7f65ad788 refactoring 2021-08-12 10:21:35 +03:00
Maxim Devaev
68897c94ac Bump version: 3.13 → 3.14 2021-08-11 17:11:28 +03:00
Maxim Devaev
647251647d pikvm/pikvm#245: using sbin for some binaries 2021-08-11 17:00:30 +03:00
Maxim Devaev
0d9a4a446f new sponsor 2021-08-10 07:16:27 +03:00
Maxim Devaev
3b4860d6ca new sponsor 2021-08-08 08:27:24 +03:00
Maxim Devaev
d5b59043de atx confirmation 2021-08-06 02:00:13 +03:00
Maxim Devaev
ba22978d63 new sponsor 2021-08-05 00:13:41 +03:00
Maxim Devaev
4679c08e2b new sponsor 2021-08-04 02:43:59 +03:00
Maxim Devaev
8732b1be1f Bump version: 3.12 → 3.13 2021-08-02 23:50:22 +03:00
Maxim Devaev
ed7b4c0d29 new sponsors 2021-08-02 23:49:25 +03:00
Maxim Devaev
fa4c173eb7 Bump version: 3.11 → 3.12 2021-08-02 23:43:26 +03:00
Maxim Devaev
95209bf84d rngd fix 2021-08-02 23:10:46 +03:00
Maxim Devaev
61a6b289f3 note 2021-08-02 04:08:15 +03:00
Maxim Devaev
9927e93356 fix 2021-08-02 02:25:48 +03:00
Maxim Devaev
5933cc0b09 upload image by url in web ui 2021-08-01 21:25:26 +03:00
Maxim Devaev
f5c1908657 css fix 2021-08-01 09:27:19 +03:00
Maxim Devaev
d6fd2e3775 changed /msd/write_remote format 2021-08-01 09:26:54 +03:00
Maxim Devaev
4f1c2a97aa dark background for pak textarea 2021-07-31 20:32:25 +03:00
Maxim Devaev
2895339f30 improved input file styling 2021-07-31 20:13:48 +03:00
Maxim Devaev
837283292c new sponsor 2021-07-30 07:47:41 +03:00
Maxim Devaev
4a1f51bc30 send error in streaming response 2021-07-30 07:30:22 +03:00
Maxim Devaev
7d7f4965de refactoring 2021-07-30 06:53:09 +03:00
Maxim Devaev
1aaea37f54 new sponsor 2021-07-30 06:51:26 +03:00
Maxim Devaev
1090a55765 removed max_power option, added todo about remote wakeup 2021-07-29 13:43:37 +03:00
Maxim Devaev
c26ed616e0 input file css for future needs 2021-07-29 06:36:13 +03:00
Maxim Devaev
82e4e7e2cb more compact msd menu 2021-07-29 06:33:25 +03:00
Maxim Devaev
02335734ce refactoring 2021-07-29 02:11:44 +03:00
Maxim Devaev
33c34bd4ef new sponsors 2021-07-28 15:22:35 +03:00
Maxim Devaev
da2e86ae72 refactoring 2021-07-28 15:10:07 +03:00
Maxim Devaev
9aa3998924 get rid of multipart in /msd/write 2021-07-28 14:58:10 +03:00
Maxim Devaev
801b290ac6 show remote uploading file 2021-07-28 11:43:46 +03:00
Maxim Devaev
e43cbb667f another msd js fixes 2021-07-28 10:25:16 +03:00
Maxim Devaev
75e9b673bc fixed el variable 2021-07-28 10:21:47 +03:00
Maxim Devaev
a32ce23fa8 refactoring 2021-07-28 10:20:59 +03:00
Maxim Devaev
7c062e9a80 ui fix 2021-07-28 01:33:35 +03:00
Maxim Devaev
6b07a80834 /msd/write_remote handle 2021-07-27 05:25:54 +03:00
Maxim Devaev
3c421fa94c dockerignored hid libs 2021-07-27 04:16:53 +03:00
Maxim Devaev
c38d9df5f2 refactoring 2021-07-27 00:36:40 +03:00
Maxim Devaev
365f06a2e8 fixed long shutdown 2021-07-26 07:39:07 +03:00
Maxim Devaev
25c9c63788 refactoring 2021-07-26 03:33:10 +03:00
Maxim Devaev
9103492d71 fixed /share/css/user.css nginx location 2021-07-26 02:32:02 +03:00
Maxim Devaev
c996771afd start_streaming() 2021-07-26 02:29:52 +03:00
Maxim Devaev
134d4e869e .editorconfig 2021-07-25 04:22:27 +03:00
Maxim Devaev
c86f12db72 new sponsors 2021-07-24 02:41:00 +03:00
Maxim Devaev
37060de4c3 dual mouse mode 2021-07-24 02:37:10 +03:00
Maxim Devaev
a33efcaef3 disabled instead of empty string 2021-07-24 02:09:18 +03:00
Maxim Devaev
96481aa745 fix 2021-07-24 01:59:59 +03:00
Maxim Devaev
11bf43de92 separate keyboard and mouse output handling 2021-07-23 22:38:01 +03:00
Maxim Devaev
189ff59379 refactoring 2021-07-23 20:52:47 +03:00
Maxim Devaev
a8b3a99b97 bumped hid-project revision 2021-07-23 11:28:53 +03:00
Maxim Devaev
cbc3a4ceef rewrite otg hid 2021-07-23 05:17:00 +03:00
Maxim Devaev
bc73e74161 fixed process waiting 2021-07-23 04:33:13 +03:00
Maxim Devaev
1ded926b02 optional no_out_endpoint 2021-07-21 23:59:22 +03:00
Devaev Maxim
04312babb1 new sponsor 2021-07-19 18:27:49 +03:00
Devaev Maxim
281f7c8c42 new sponsor 2021-07-18 20:45:33 +03:00
Devaev Maxim
978d0b5413 link to msd doc 2021-07-18 20:44:22 +03:00
Devaev Maxim
0232589a83 Bump version: 3.10 → 3.11 2021-07-17 03:39:02 +03:00
Devaev Maxim
7862189373 increased shortcut press time to 100ms 2021-07-17 02:58:23 +03:00
Devaev Maxim
88f634802a Bump version: 3.9 → 3.10 2021-07-17 01:58:21 +03:00
Devaev Maxim
0c500aa0c9 moved wol to gpio 2021-07-17 01:57:01 +03:00
Devaev Maxim
688ddca549 link to mouse modes 2021-07-16 20:41:36 +03:00
Devaev Maxim
72907f8931 clean-all 2021-07-16 19:39:11 +03:00
Devaev Maxim
a06c2004f3 new cdc patch 2021-07-16 19:35:54 +03:00
Devaev Maxim
d524b2b346 updated hid-shut-up.patch 2021-07-16 18:56:05 +03:00
Devaev Maxim
2a873abf4f new sponsors 2021-07-15 17:25:15 +03:00
Devaev Maxim
37e6205502 new sponsors 2021-07-15 17:20:34 +03:00
Devaev Maxim
12080b06ea separate shortcuts menu 2021-07-14 22:23:43 +03:00
Devaev Maxim
105928193b two keyboard buttons 2021-07-14 20:06:32 +03:00
Devaev Maxim
d8c3731031 renamed shortcuts to keyboard, moved gpio 2021-07-14 18:56:58 +03:00
Devaev Maxim
c23bf1d807 Bump version: 3.8 → 3.9 2021-07-14 16:55:07 +03:00
Devaev Maxim
578f3dbe0f fixed HID repo 2021-07-14 16:38:00 +03:00
Devaev Maxim
c19c02d12f refactoring 2021-07-14 16:34:28 +03:00
Devaev Maxim
c903f60f85 save pak settings 2021-07-14 16:26:56 +03:00
Devaev Maxim
0f3f85ac58 new sponsor 2021-07-14 15:33:46 +03:00
Devaev Maxim
d29b44048d new sponsor 2021-07-14 14:40:23 +03:00
Devaev Maxim
937d8320f8 moved some patches to upstream 2021-07-14 13:23:41 +03:00
Devaev Maxim
f641afcc6b new sponsors 2021-07-12 12:07:43 +03:00
Devaev Maxim
a09a6264de Bump version: 3.7 → 3.8 2021-07-10 19:52:43 +03:00
Devaev Maxim
9ce11b1233 new sponsor 2021-07-10 18:02:23 +03:00
Devaev Maxim
597bbd8b78 fixed otg mouse for apple m1 2021-07-10 14:52:35 +03:00
Devaev Maxim
994b8a62ea fixed absolute mouse for apple recovery 2021-07-10 09:07:22 +03:00
Devaev Maxim
01514d2e6a fixed boot mouse for apple recovery 2021-07-10 08:07:22 +03:00
Devaev Maxim
70141f0fbb renamed patches 2021-07-09 19:27:35 +03:00
Devaev Maxim
63d953d22e new sponsor 2021-07-09 14:19:14 +03:00
Devaev Maxim
1248f6b917 mouse patch 2 2021-07-09 00:14:35 +03:00
Devaev Maxim
7c68b6b406 lint fixes 2021-07-08 16:52:51 +03:00
Devaev Maxim
43aa435b81 fixed boot mouse in mac boot manager 2021-07-08 03:08:51 +03:00
Devaev Maxim
f30764c83b Bump version: 3.6 → 3.7 2021-07-04 02:35:58 +03:00
Devaev Maxim
20d849f572 new sponsor 2021-07-04 02:34:51 +03:00
Devaev Maxim
671627b768 pikvm/pikvm#373: added yen key 2021-07-03 09:58:09 +03:00
Devaev Maxim
3bcaca0cb8 webrtc link 2021-07-01 11:05:12 +03:00
Devaev Maxim
1766f09a8e new sponsors 2021-07-01 09:41:49 +03:00
Devaev Maxim
4fe20641da save video mode 2021-07-01 09:22:18 +03:00
Devaev Maxim
2995ca4909 new sponsor 2021-06-30 03:10:57 +03:00
Devaev Maxim
26dada0de1 new sponsors 2021-06-26 01:44:49 +03:00
Devaev Maxim
95ad7784ca about fix 2021-06-18 18:36:51 +03:00
Devaev Maxim
eff6caab73 Bump version: 3.5 → 3.6 2021-06-17 19:23:23 +03:00
Devaev Maxim
6f37b81b9d dynamic 2021-06-17 19:05:14 +03:00
Devaev Maxim
5912693c1a make janus-static work for web ui 2021-06-17 18:40:53 +03:00
Devaev Maxim
e6a5d5648f new sponsors 2021-06-17 04:34:57 +03:00
Devaev Maxim
5798fccd70 new sponsors 2021-06-15 20:13:06 +03:00
Devaev Maxim
3d0217621b Bump version: 3.4 → 3.5 2021-06-11 17:53:32 +03:00
Devaev Maxim
0b868f04fe new sponsors 2021-06-11 17:52:19 +03:00
Devaev Maxim
9b8a6e507b Bump version: 3.3 → 3.4 2021-06-11 17:47:39 +03:00
Devaev Maxim
3b5941ed73 supported xor-mapped-address 2021-06-11 17:40:05 +03:00
Devaev Maxim
a65084cf21 Bump version: 3.2 → 3.3 2021-06-10 19:40:07 +03:00
Devaev Maxim
eb47b6ed1d bump 2021-06-10 19:32:11 +03:00
Devaev Maxim
c67c1d6573 Bump version: 3.1 → 3.2 2021-06-10 19:14:45 +03:00
Devaev Maxim
ef15f3f7ce ustreamer bump 2021-06-10 19:13:10 +03:00
Devaev Maxim
f311051fb4 Bump version: 3.0 → 3.1 2021-06-10 19:08:45 +03:00
Devaev Maxim
2657916fbc bump ustreamer dep 2021-06-10 19:06:44 +03:00
Devaev Maxim
635c737126 Bump version: 2.86 → 3.0 2021-06-10 19:00:50 +03:00
Devaev Maxim
d7628546f8 bump ustreamer 2021-06-10 18:57:35 +03:00
Devaev Maxim
4e708f3cc1 Bump version: 2.85 → 2.86 2021-06-10 16:34:03 +03:00
Devaev Maxim
c2c1bcd6f4 new sponsor 2021-06-10 16:29:53 +03:00
Devaev Maxim
f9d2e747e3 show streamer name in window title 2021-06-10 16:27:58 +03:00
Devaev Maxim
3e92523ba3 Bump version: 2.84 → 2.85 2021-06-09 23:30:26 +03:00
Devaev Maxim
7191d8a777 fixed null __handle 2021-06-09 23:15:07 +03:00
Devaev Maxim
256597eb27 Bump version: 2.83 → 2.84 2021-06-09 22:31:28 +03:00
Devaev Maxim
0186206d39 new sponsor 2021-06-09 22:30:22 +03:00
Devaev Maxim
ec402ef69a janus ipv6 2021-06-09 22:26:54 +03:00
Devaev Maxim
6489b2f63e new sponsors 2021-06-09 19:36:46 +03:00
Devaev Maxim
b152ecf02e Bump version: 2.82 → 2.83 2021-06-08 22:23:45 +03:00
Devaev Maxim
240f3e095b lint fix 2021-06-08 22:22:28 +03:00
Devaev Maxim
2724a14eab Bump version: 2.81 → 2.82 2021-06-08 21:11:33 +03:00
Devaev Maxim
0bd572f3a4 new sponsor 2021-06-08 20:12:50 +03:00
Devaev Maxim
b5ab5699c4 pikvm/pikvm#321: server-side uploading counters 2021-06-08 03:12:24 +03:00
Devaev Maxim
cf08c04e55 Bump version: 2.80 → 2.81 2021-06-03 19:23:05 +03:00
Devaev Maxim
fd99a04e86 new sponsors 2021-06-03 16:32:56 +03:00
Devaev Maxim
f6db91b6d3 improved janus error handling 2021-06-03 16:30:17 +03:00
Devaev Maxim
decdb80c2d rename 2021-05-31 05:19:52 +03:00
Devaev Maxim
a57fc4e226 new sponsor 2021-05-30 23:33:31 +03:00
Devaev Maxim
ea699bc00a new sponsor 2021-05-30 10:21:01 +03:00
Devaev Maxim
f14767968f new sponsor 2021-05-29 02:41:43 +03:00
Devaev Maxim
4ee1d811b0 new sponsors 2021-05-27 06:04:41 +03:00
Devaev Maxim
e146bdb191 Bump version: 2.79 → 2.80 2021-05-26 16:03:15 +03:00
Devaev Maxim
640547d441 sync 2021-05-26 16:02:10 +03:00
Devaev Maxim
d076bbe6c3 Bump version: 2.78 → 2.79 2021-05-26 15:57:25 +03:00
Devaev Maxim
854201195f typo 2021-05-26 15:47:35 +03:00
Devaev Maxim
e480629724 speed up msd 2021-05-26 12:26:31 +03:00
Devaev Maxim
5da412ae7c Bump version: 2.77 → 2.78 2021-05-26 01:51:04 +03:00
Devaev Maxim
9b4cbfab7f ipv6 stun 2021-05-25 23:54:20 +03:00
Devaev Maxim
6ce07208a1 signals handling 2021-05-25 23:26:13 +03:00
Devaev Maxim
98c3956994 lint fix 2021-05-25 11:20:43 +03:00
Devaev Maxim
bed223bd86 rewrited stun 2021-05-25 10:45:55 +03:00
Devaev Maxim
787e5ddbae reduced spi freq to 100k 2021-05-25 01:41:53 +03:00
Devaev Maxim
8bc36eac5d pikvm/pikvm#208: permanent image 2021-05-25 01:41:23 +03:00
Devaev Maxim
ec2fff0df7 new sponsor 2021-05-24 16:50:37 +03:00
Devaev Maxim
c14bd6856b Bump version: 2.76 → 2.77 2021-05-24 14:14:57 +03:00
Devaev Maxim
6b78bcaf41 disabled ice lite 2021-05-24 14:11:11 +03:00
Devaev Maxim
86f806147b Bump version: 2.75 → 2.76 2021-05-24 09:13:42 +03:00
Devaev Maxim
566a58665e lint fix 2021-05-24 09:06:54 +03:00
Devaev Maxim
db192b0769 refactoring 2021-05-24 08:58:14 +03:00
Devaev Maxim
580d7c1182 show janus error in the status line 2021-05-24 08:51:49 +03:00
Devaev Maxim
a074417427 Bump version: 2.74 → 2.75 2021-05-24 07:12:34 +03:00
Devaev Maxim
c99ab9da9f janus service fixes 2021-05-24 07:11:30 +03:00
Devaev Maxim
f810a30dac Bump version: 2.73 → 2.74 2021-05-24 06:50:19 +03:00
Devaev Maxim
070a2d82c5 perms fix 2021-05-24 06:49:18 +03:00
Devaev Maxim
66d0ae8594 Bump version: 2.72 → 2.73 2021-05-24 05:09:55 +03:00
Devaev Maxim
014f9b5bd5 lint fix 2021-05-24 05:08:53 +03:00
Devaev Maxim
19a68887e4 janus runner draft 2021-05-24 05:08:53 +03:00
gregwinterstein
9cead62032
Fix typo in error message (#51) 2021-05-24 03:57:23 +03:00
Devaev Maxim
953a04429c new sponsors 2021-05-23 12:10:16 +03:00
Devaev Maxim
0f459bbe3d new sponsors 2021-05-22 02:38:24 +03:00
Devaev Maxim
8b5c90f9a2 janus tweaks 2021-05-22 02:34:31 +03:00
Devaev Maxim
e45bd76cbc new sponsors 2021-05-21 13:51:10 +03:00
Devaev Maxim
4ee19b0f9a new sponsors 2021-05-21 04:59:25 +03:00
Devaev Maxim
b1a8c94c5f Bump version: 2.71 → 2.72 2021-05-20 08:41:06 +03:00
Devaev Maxim
835d6833f8 fixed systemd bug: systemd >= 248.3-2 2021-05-20 08:40:04 +03:00
Devaev Maxim
563525d885 Bump version: 2.70 → 2.71 2021-05-20 07:36:59 +03:00
Devaev Maxim
06bbcc7b6b bull 2021-05-20 04:38:45 +03:00
Devaev Maxim
c0afe3ba40 pikvm/pikvm#306: replace quotes for hid print 2021-05-20 04:22:32 +03:00
Devaev Maxim
c1fcfdb6ce removed hid-print validation from js side 2021-05-20 04:15:33 +03:00
Devaev Maxim
8b185976ec new sponsors 2021-05-20 01:54:59 +03:00
Devaev Maxim
af491b7905 fix 2021-05-19 17:13:02 +03:00
Devaev Maxim
b66618f12d h264 bitrate slider 2021-05-19 17:05:45 +03:00
Devaev Maxim
d18c27744f common table for switches 2021-05-19 10:06:50 +03:00
Devaev Maxim
0ab1427c28 new sponsor 2021-05-19 09:16:25 +03:00
Devaev Maxim
cd80286414 Fixed pikvm/pikvm#307: mute hid switch 2021-05-19 09:11:44 +03:00
Devaev Maxim
ac109043ed compact system menu 2021-05-19 08:48:05 +03:00
Devaev Maxim
52701c3bf2 new sponsor 2021-05-19 03:32:30 +03:00
Devaev Maxim
323fb7c770 lint fix 2021-05-19 03:22:40 +03:00
Devaev Maxim
21ecc244c0 janus js part 2021-05-19 02:33:35 +03:00
Devaev Maxim
416e093967 tesmart state_poll=10 2021-05-19 01:05:13 +03:00
Devaev Maxim
68e0613c02 new sponsors 2021-05-18 14:20:34 +03:00
Devaev Maxim
9f1182dd1b async timeouts 2021-05-18 13:27:15 +03:00
David Shay
20c88b2170
fix socket timeout/zero based issues in tesmart (#49) 2021-05-18 13:11:05 +03:00
Devaev Maxim
274d609b71 refactoring 2021-05-17 10:40:20 +03:00
Devaev Maxim
a4c9a0b117 adapter.js location 2021-05-17 10:39:35 +03:00
Devaev Maxim
5c603e8e61 Bump version: 2.69 → 2.70 2021-05-17 09:33:00 +03:00
Devaev Maxim
2c7e71adef fixed bt hid 2021-05-17 09:30:13 +03:00
Devaev Maxim
cf4c81caf7 Bump version: 2.68 → 2.69 2021-05-17 00:21:06 +03:00
Devaev Maxim
f053bd5ede html webrtc stubs 2021-05-17 00:20:06 +03:00
Devaev Maxim
5eb0d71cfd dynamic import 2021-05-16 23:47:16 +03:00
Devaev Maxim
03946dd476 new sponsor 2021-05-16 21:39:13 +03:00
Devaev Maxim
4731a100f6 Bump version: 2.67 → 2.68 2021-05-16 06:17:21 +03:00
Devaev Maxim
61acd1c5e4 tesmart: check channel after switching 2021-05-16 06:16:14 +03:00
Devaev Maxim
ee99d3545c new sponsors 2021-05-16 06:00:46 +03:00
Devaev Maxim
8db0ab20e0 tesmart rewrite 2021-05-16 05:57:08 +03:00
David Shay
1fc8434f0a
Plugin support for TESMART switch - tesmart.py (#47) 2021-05-14 20:17:46 +03:00
Devaev Maxim
9965259f29 Bump version: 2.66 → 2.67 2021-05-14 05:52:16 +03:00
Devaev Maxim
db723fb01d new sponsor 2021-05-14 05:51:09 +03:00
Devaev Maxim
bbf6529510 janus stubs 2021-05-14 05:48:49 +03:00
Devaev Maxim
fc5e8706b6 Bump version: 2.65 → 2.66 2021-05-12 12:36:30 +03:00
Devaev Maxim
19f8bd613e quick workaround for broken %b 2021-05-12 12:35:22 +03:00
Devaev Maxim
d57d33c2c7 new sponsors 2021-05-12 01:49:44 +03:00
Devaev Maxim
73437dc949 Bump version: 2.64 → 2.65 2021-05-09 21:57:40 +03:00
Devaev Maxim
3566fbf37c new protocol for ezcoo usb3 2021-05-09 21:56:38 +03:00
Devaev Maxim
82c334215f refactoring 2021-05-09 08:05:54 +03:00
Devaev Maxim
42601dae58 refactoring 2021-05-09 07:59:00 +03:00
Devaev Maxim
8aa0162ba2 Bump version: 2.63 → 2.64 2021-05-09 02:37:06 +03:00
Devaev Maxim
b2d78dc819 new sponsors 2021-05-09 00:23:28 +03:00
Devaev Maxim
c4379a0dbc added janus.js location 2021-05-09 00:20:18 +03:00
Devaev Maxim
8bb2707ab9 Bump version: 2.62 → 2.63 2021-05-06 23:08:03 +03:00
Devaev Maxim
8a6de4fab3 lint fix 2021-05-06 23:02:24 +03:00
Devaev Maxim
384b444c02 stream refactoring, passing janus state 2021-05-06 22:36:33 +03:00
Devaev Maxim
3aa92a87d4 option to ignore some keys 2021-05-06 19:38:49 +03:00
Devaev Maxim
e35aa1199b new sponsors 2021-05-06 07:09:22 +03:00
Devaev Maxim
5455ad1f67 fix 2021-05-03 22:39:02 +03:00
Devaev Maxim
f2efeb7824 video tag 2021-05-03 19:55:10 +03:00
Devaev Maxim
407ef134f3 important 2021-05-02 22:26:28 +03:00
Devaev Maxim
8698a9367c Bump version: 2.61 → 2.62 2021-05-02 04:29:37 +03:00
Devaev Maxim
9a659d3773 usermod 2021-05-02 04:28:38 +03:00
Devaev Maxim
78b9f3fafd Bump version: 2.60 → 2.61 2021-05-02 04:03:16 +03:00
Devaev Maxim
0b700eab22 janus nginx configs and user 2021-05-02 04:01:58 +03:00
Devaev Maxim
b43aa50567 Bump version: 2.59 → 2.60 2021-05-01 04:07:04 +03:00
Devaev Maxim
b5b6c958e4 new sponsor 2021-05-01 04:05:48 +03:00
Devaev Maxim
0b1dffb942 false on dbus error 2021-05-01 04:03:22 +03:00
Devaev Maxim
a55fc88e3c kvmd-janus.service stub 2021-05-01 04:02:39 +03:00
Devaev Maxim
8dbf2ab3d0 janus manifest 2021-05-01 03:53:29 +03:00
Devaev Maxim
4422653e40 keyboard_cap is unused 2021-05-01 03:48:02 +03:00
Devaev Maxim
03d339e49f refactoring 2021-05-01 02:59:12 +03:00
Devaev Maxim
8bc00a4dff new sponsor 2021-04-29 02:34:16 +03:00
Devaev Maxim
a6669f81fc new sponsors 2021-04-27 18:37:16 +03:00
Devaev Maxim
e5b56d253a Bump version: 2.58 → 2.59 2021-04-26 20:36:23 +03:00
Devaev Maxim
e92ff54e9a new sponsor 2021-04-26 20:34:47 +03:00
Devaev Maxim
c4f597338b don't fail on iptables lock 2021-04-26 20:33:51 +03:00
Devaev Maxim
44d926370e new sponsor 2021-04-26 18:07:57 +03:00
Devaev Maxim
1092bff7a8 Bump version: 2.57 → 2.58 2021-04-25 04:16:51 +03:00
Devaev Maxim
4d76e6c6fd fixed broken pillow dependency 2021-04-25 04:15:37 +03:00
Devaev Maxim
c1b81594bb new sponsors 2021-04-24 21:32:23 +03:00
Devaev Maxim
45c5db3660 new sponsors 2021-04-24 06:10:48 +03:00
Devaev Maxim
52f292fb3a Bump version: 2.56 → 2.57 2021-04-23 21:02:35 +03:00
Devaev Maxim
87821e97d8 new sponsors 2021-04-23 20:56:22 +03:00
Devaev Maxim
e674cef02e fixed button title 2021-04-23 20:47:34 +03:00
Devaev Maxim
8e489f0570 Bump version: 2.55 → 2.56 2021-04-23 19:21:00 +03:00
Devaev Maxim
4572cd586e button to reduce the window 2021-04-23 19:19:55 +03:00
Devaev Maxim
1a584492c6 Bump version: 2.54 → 2.55 2021-04-23 16:00:00 +03:00
Devaev Maxim
54356bc767 increased arduino period 2021-04-23 15:55:51 +03:00
Devaev Maxim
19039cd189 improved mac boot keys handling 2021-04-23 00:11:53 +03:00
Devaev Maxim
71427c8c04 new sponsors 2021-04-22 22:22:37 +03:00
Devaev Maxim
e1c3692045 some stream fixes 2021-04-22 20:02:51 +03:00
Devaev Maxim
a3a17440dc reset spi before uploading the firmware 2021-04-22 13:26:49 +03:00
Devaev Maxim
fd7d17ad4a tuned mcu timings 2021-04-22 03:26:09 +03:00
Devaev Maxim
4279ae5bc3 improved mac uefi keys handling 2021-04-22 03:21:06 +03:00
Devaev Maxim
e6ecbb2a9c new sponsors 2021-04-21 15:13:46 +03:00
Devaev Maxim
b84f06a5ce issue #17: prevent race on checking stream source 2021-04-21 03:24:12 +03:00
Devaev Maxim
9adc6bc6df simplified 2021-04-21 01:47:14 +03:00
Devaev Maxim
81490428a5 new sponsors 2021-04-20 17:26:29 +03:00
Devaev Maxim
eecaaed9d8 new sponsors 2021-04-19 23:45:51 +03:00
Devaev Maxim
7089193c34 new sponsor 2021-04-19 18:02:36 +03:00
Devaev Maxim
595e78f14f new sponsor 2021-04-19 01:24:10 +03:00
Devaev Maxim
a4708820ac Bump version: 2.53 → 2.54 2021-04-18 21:51:15 +03:00
Devaev Maxim
b48ded1dd6 disabled cache for static files 2021-04-18 20:24:49 +03:00
Devaev Maxim
e872bb889e spell fix 2021-04-18 11:40:41 +03:00
Devaev Maxim
19c4c7d1e3 clean yaml error message 2021-04-17 17:44:48 +03:00
Devaev Maxim
5dea266895 Bump version: 2.52 → 2.53 2021-04-17 15:42:04 +03:00
Devaev Maxim
be012fd38d terminal window 2021-04-17 15:41:05 +03:00
Devaev Maxim
3a2ffcfd5c fixed visibility check in showWindow 2021-04-17 14:41:02 +03:00
Devaev Maxim
8fdc79d679 using modals over full screen 2021-04-17 13:48:40 +03:00
Devaev Maxim
05327d6026 hidden window header in full screen mode 2021-04-17 11:35:48 +03:00
Devaev Maxim
3353e595b4 new sponsors 2021-04-17 11:28:29 +03:00
Devaev Maxim
a73295e221 removed stream close confirm, added tip for msd 2021-04-17 11:24:16 +03:00
Devaev Maxim
cacb12791b Bump version: 2.51 → 2.52 2021-04-16 23:46:58 +03:00
Devaev Maxim
5794fb1c46 pikvm/pikvm#231, pikvm/pikvm#279: pak options 2021-04-16 23:45:11 +03:00
Devaev Maxim
ba1e636686 Bump version: 2.50 → 2.51 2021-04-16 12:49:26 +03:00
Devaev Maxim
2122e32f1b new sponsors 2021-04-16 12:07:36 +03:00
Devaev Maxim
cfce96d66b fixed full screen mode in safari 2021-04-16 12:00:34 +03:00
Devaev Maxim
e40d179032 Bump version: 2.49 → 2.50 2021-04-15 18:31:54 +03:00
Devaev Maxim
b1070904f3 deps again 2021-04-15 18:30:36 +03:00
Devaev Maxim
c914fef758 Bump version: 2.48 → 2.49 2021-04-15 18:04:44 +03:00
Devaev Maxim
3e41986081 deps 2021-04-15 18:03:45 +03:00
Devaev Maxim
09d8d6dfb9 Bump version: 2.47 → 2.48 2021-04-15 17:33:46 +03:00
Devaev Maxim
182f19f845 fixed deps 2021-04-15 17:32:49 +03:00
Devaev Maxim
d9a622c36d Bump version: 2.46 → 2.47 2021-04-15 17:27:17 +03:00
Devaev Maxim
5cf59a0d35 python was fixed 2021-04-15 17:26:18 +03:00
Devaev Maxim
4144180de0 new sponsors 2021-04-15 15:06:20 +03:00
Devaev Maxim
10adde83c7 Bump version: 2.45 → 2.46 2021-04-15 14:25:55 +03:00
Devaev Maxim
540cf4f6c2 aiohttp hotfix 2021-04-15 14:24:36 +03:00
Devaev Maxim
ed58fa2a25 new sponsor 2021-04-14 22:51:53 +03:00
Devaev Maxim
12795eb858 Bump version: 2.44 → 2.45 2021-04-14 11:32:22 +03:00
Devaev Maxim
f9fcc3c3eb https://bugs.archlinux.org/task/70438 2021-04-14 11:31:18 +03:00
Devaev Maxim
8a8ad03c50 Bump version: 2.43 → 2.44 2021-04-14 11:09:53 +03:00
Devaev Maxim
e12f8591f7 python 3.9.3 is broken
https://docs.python.org/release/3.9.4/whatsnew/changelog.html#changelog
2021-04-14 11:08:40 +03:00
Devaev Maxim
aa2d3b6cc1 new sponsors 2021-04-14 11:03:57 +03:00
Devaev Maxim
ffd7d00b1b Bump version: 2.42 → 2.43 2021-04-13 18:46:24 +03:00
Devaev Maxim
aa3a5c702c fixed pikvm/pikvm#275: don't overwrite ssl 2021-04-13 18:14:34 +03:00
Devaev Maxim
ca430c23ad Bump version: 2.41 → 2.42 2021-04-13 11:13:39 +03:00
Devaev Maxim
79202c67b2 keep window ratio on reducing 2021-04-13 10:50:10 +03:00
Devaev Maxim
5dc123e186 refactoring 2021-04-13 10:14:27 +03:00
Devaev Maxim
6de0ee0017 simplified mouse code, fixed some bugs 2021-04-13 09:36:50 +03:00
Daniel Jin
a145e72954
Add form tag to allow autocomplete of username and password. (#42) 2021-04-13 09:23:28 +03:00
Maxim Devaev
3af4a8b852
Rework of #39 (#40)
* Rework of #39 patch from @arykov (thanks)

* styled resize corner

* fixed squashing of resizaable window on moving

* keep window size and opsition after full screen

* not necessary

* attempt to fix desktop overflow

* improved

* ios fixes

* refactoring
2021-04-12 15:26:32 +03:00
Devaev Maxim
8158941833 new sponsors 2021-04-12 09:59:48 +03:00
Devaev Maxim
559996af24 Bump version: 2.40 → 2.41 2021-04-10 12:05:18 +03:00
Devaev Maxim
e39f3d46d8 refactoring 2021-04-09 06:28:58 +03:00
Devaev Maxim
1ca341069d ipmi gpio driver uses ipmitool 2021-04-09 06:20:51 +03:00
Devaev Maxim
312605a70f pass env to aioproc 2021-04-09 06:19:34 +03:00
Devaev Maxim
6f60118320 async gpio plugins 2021-04-09 05:57:04 +03:00
Devaev Maxim
6cc161427a ipmi pseudo-gpio driver 2021-04-09 02:53:26 +03:00
Devaev Maxim
8390219c7e new sponsor 2021-04-08 13:41:43 +03:00
Devaev Maxim
5b22dc480c Bump version: 2.39 → 2.40 2021-04-08 04:33:05 +03:00
Devaev Maxim
834064432d fixed certs checking in pkgbuild 2021-04-08 04:31:44 +03:00
Devaev Maxim
4a72a55321 Bump version: 2.38 → 2.39 2021-04-08 02:55:48 +03:00
Devaev Maxim
7955eb4eea enabled jpeg memsink for all rpi3, rpi4 and generic boards 2021-04-08 02:45:30 +03:00
Maxim Devaev
15bf718759
Merge pull request #38 from MSumulong/patch-1
Fix /etc/kvmd/{nginx,vnc}/ssl directory creation
2021-04-08 01:56:55 +03:00
Michael B. Sumulong
2799ebb805
Fix /etc/kvmd/{nginx,vnc}/ssl directory creation
It appears that using quotes when doing brace expansion doesn't work as expected:

[root@pikvm-zerow tmp]# mkdir -p -v "./etc/kvmd/{nginx,vnc}/ssl"
mkdir: created directory './etc'
mkdir: created directory './etc/kvmd'
mkdir: created directory './etc/kvmd/{nginx,vnc}'
mkdir: created directory './etc/kvmd/{nginx,vnc}/ssl'

I believe the desired behavior is the following:

[root@pikvm-zerow tmp]# mkdir -p -v "./etc/kvmd/"{nginx,vnc}"/ssl"
mkdir: created directory './etc/kvmd/nginx'
mkdir: created directory './etc/kvmd/nginx/ssl'
mkdir: created directory './etc/kvmd/vnc'
mkdir: created directory './etc/kvmd/vnc/ssl'

I think the same change would also need to be made to https://github.com/pikvm/packages/blob/master/packages/kvmd/PKGBUILD which I can update if this is acceptable.

This proposed change fixes this issue.
2021-04-07 15:58:04 -04:00
Devaev Maxim
dddf72b9a6 new sponsor 2021-04-07 13:09:53 +03:00
Devaev Maxim
2a4e3c3a5c refactoring 2021-04-06 07:43:51 +03:00
Devaev Maxim
c253e1e9a2 new sponsor 2021-04-04 11:27:16 +03:00
Devaev Maxim
b4b98583d4 refactoring 2021-04-03 11:01:16 +03:00
Devaev Maxim
26cc73ab8a Bump version: 2.37 → 2.38 2021-04-03 02:13:15 +03:00
Devaev Maxim
f5c3bdc212 new sponsors 2021-04-03 00:49:50 +03:00
Devaev Maxim
0b64866d95 new sponsor 2021-03-28 20:06:40 +03:00
Devaev Maxim
fd73d1a2a0 Bump version: 2.36 → 2.37 2021-03-26 21:43:40 +03:00
Devaev Maxim
a66221a494 fixed mouse remap 2021-03-26 21:32:21 +03:00
Devaev Maxim
1674cf70b3 forgotten v3 sudoers 2021-03-26 18:59:52 +03:00
Devaev Maxim
60c8c967c9 user defined css 2021-03-26 05:56:10 +03:00
Devaev Maxim
ebc1d891ab new sponsor 2021-03-26 05:20:56 +03:00
Devaev Maxim
e24228b875 mouse input range 2021-03-26 05:19:02 +03:00
Devaev Maxim
7f23f82a0d Bump version: 2.35 → 2.36 2021-03-26 00:01:53 +03:00
Devaev Maxim
36842caef9 new sponsor 2021-03-25 23:59:49 +03:00
Devaev Maxim
18c1fa0255 Bump version: 2.34 → 2.35 2021-03-22 00:49:47 +03:00
Devaev Maxim
bf3f864625 enabled v3 clock 2021-03-22 00:36:37 +03:00
Devaev Maxim
8775e8854f Bump version: 2.33 → 2.34 2021-03-21 18:10:19 +03:00
Devaev Maxim
140aba69c9 new sponsor 2021-03-21 18:01:27 +03:00
Devaev Maxim
d469d2b3ff new sponsors 2021-03-19 02:10:48 +03:00
Devaev Maxim
2a2bc246da new sponsor 2021-03-17 15:08:56 +03:00
Devaev Maxim
f597cc0468 new sponsor 2021-03-17 05:53:28 +03:00
Devaev Maxim
ec48c3b936 Bump version: 2.32 → 2.33 2021-03-16 15:42:34 +03:00
Devaev Maxim
64d040478f new sponsors 2021-03-16 15:40:34 +03:00
Devaev Maxim
b2f0702993 Merge branch 'v3' 2021-03-16 04:35:06 +03:00
Devaev Maxim
ca165ed4ce fixed missing h264_gop param 2021-03-16 04:34:58 +03:00
Devaev Maxim
a80e903918 new sponsor 2021-03-15 22:33:42 +03:00
Devaev Maxim
0de5e6db7b new sponsor 2021-03-15 21:23:14 +03:00
Devaev Maxim
4702a584db new sponsor 2021-03-14 22:56:02 +03:00
Devaev Maxim
b66358eea8 v3 package 2021-03-14 22:52:42 +03:00
Devaev Maxim
26487721a7 Bump version: 2.31 → 2.32 2021-03-14 18:58:59 +03:00
Devaev Maxim
4bcf2c6505 new sponsor 2021-03-14 18:51:15 +03:00
Devaev Maxim
a4c53f9811 ustreamer without dict caching 2021-03-14 18:46:53 +03:00
Devaev Maxim
21728bd5fa new sponsor 2021-03-14 03:49:11 +03:00
Devaev Maxim
16202a9230 Bump version: 2.30 → 2.31 2021-03-13 20:21:29 +03:00
Devaev Maxim
26b1cca184 new sponsors 2021-03-13 20:16:09 +03:00
Devaev Maxim
1c1bb3b2e6 better mac cmd handling 2021-03-13 20:01:43 +03:00
Devaev Maxim
de3a144673 new sponsors 2021-03-12 14:41:12 +03:00
Devaev Maxim
b556f29a7b new sponsor 2021-03-12 12:46:23 +03:00
Devaev Maxim
483819ef68 enabled h264 for v2-hdmi-rpi4 2021-03-12 12:45:11 +03:00
Devaev Maxim
25406153aa min kernel is 5.10.22-2 2021-03-12 01:43:09 +03:00
Devaev Maxim
9045b9daa0 new sponsor 2021-03-11 20:21:01 +03:00
Devaev Maxim
394af7a180 fixed ws event CLOSED 2021-03-10 17:45:56 +03:00
Devaev Maxim
5a1a22b27c new sponsors 2021-03-09 21:48:14 +03:00
Devaev Maxim
eb379296f2 new sponsor 2021-03-08 14:12:18 +03:00
Devaev Maxim
7443b7e98d lint fix 2021-03-07 15:43:10 +03:00
Devaev Maxim
99a6e1644a npm workaround 2021-03-07 15:32:24 +03:00
Devaev Maxim
b5b94217bc Bump version: 2.29 → 2.30 2021-03-06 16:26:43 +03:00
Devaev Maxim
8ee6a4a517 fixed pikvm/pikvm#223: confirm stream window closing 2021-03-06 15:50:12 +03:00
Devaev Maxim
ec0f985109 pikvm/pikvm#224: disable serial0 console 2021-03-06 13:32:17 +03:00
Devaev Maxim
1eb5a2aedd lint fix 2021-03-06 01:09:37 +03:00
Devaev Maxim
8afd04aea8 new sponsors 2021-03-06 00:56:29 +03:00
Devaev Maxim
c54c1daebd send i-frame first 2021-03-06 00:47:12 +03:00
Devaev Maxim
d95367e0b4 new sponsor 2021-03-03 03:46:26 +03:00
Devaev Maxim
ce0a0f11ea new sponsor 2021-03-03 01:38:23 +03:00
Devaev Maxim
76db4a6a73 new sponsor 2021-03-02 13:00:56 +03:00
Devaev Maxim
df88452e4a Bump version: 2.28 → 2.29 2021-03-01 09:38:08 +03:00
Devaev Maxim
a266d7dfd2 post_install is post_upgrade now 2021-03-01 09:36:34 +03:00
Devaev Maxim
f5246c410e new sponsor 2021-02-26 05:14:16 +03:00
Devaev Maxim
26222069eb new sponsors 2021-02-25 02:03:20 +03:00
Devaev Maxim
9a243ff2c8 new sponsor 2021-02-24 01:15:44 +03:00
Devaev Maxim
09a505118d new sponsors 2021-02-23 07:58:04 +03:00
Devaev Maxim
478b2424d7 fixed copy 2021-02-22 11:38:25 +03:00
Devaev Maxim
23fe9e407b new sponsor 2021-02-22 00:36:23 +03:00
Devaev Maxim
e94dac347c new sponsors 2021-02-21 11:58:54 +03:00
Devaev Maxim
442bfd42bc new sponsors 2021-02-21 09:12:09 +03:00
Devaev Maxim
b7a451c3ec Bump version: 2.27 → 2.28 2021-02-21 03:08:24 +03:00
Devaev Maxim
da9551e8ae dep fix 2021-02-21 03:07:10 +03:00
Devaev Maxim
33fc6d0793 Bump version: 2.26 → 2.27 2021-02-21 03:02:42 +03:00
Devaev Maxim
f718ddb13b update deps 2021-02-21 03:01:25 +03:00
Devaev Maxim
ad6ff0a775 new sponsors 2021-02-21 02:32:26 +03:00
Maxim Devaev
c2d9e21d37
Merge pull request #29 from fblaese/ipv6
Make kvmd webui available via IPv6
2021-02-21 02:20:57 +03:00
Fabian Bläse
18b01ec718 Make kvmd webui available via IPv6
nginx only binds an IPv4 socket, if the listen option is specified
without [::]. There are two possibilites to fix this issue.

Either the listen option can be specified using only [::], and
additionally including ipv6only=off. This makes nginx bind an IPv6
socket which is also able to handle IPv4 connections.

Or the listen option can be specified twice, one with [::] and one
without. This makes nginx bind two independent sockets.

If the first option is chosen, IPv4 addresses are mapped into the IPv6
address space, which might break scripts, filters, etc.
So, for now, the second option is chosen.
2021-02-20 18:17:21 +01:00
Devaev Maxim
9076de3b84 new sponsor 2021-02-20 03:04:46 +03:00
Devaev Maxim
62827edc33 new sponsor 2021-02-19 06:10:11 +03:00
Devaev Maxim
fcb71616b8 Bump version: 2.25 → 2.26 2021-02-18 07:21:07 +03:00
Devaev Maxim
5dbf879f2d disabled h264 params 2021-02-18 06:41:15 +03:00
Devaev Maxim
1a4b8edfcd ustreamer == 3.17 2021-02-18 06:39:41 +03:00
Devaev Maxim
abb059dffd new sponsor 2021-02-17 03:45:49 +03:00
Devaev Maxim
b5c8eafad0 Bump version: 2.24 → 2.25 2021-02-17 02:25:50 +03:00
Devaev Maxim
3e289262f8 additional cmd options 2021-02-16 09:07:51 +03:00
Devaev Maxim
70fb46d428 otgnet forwarding 2021-02-16 08:10:10 +03:00
Devaev Maxim
ecdc65ceb3 Fixed pikvm/pikvm#189: verbose removing message 2021-02-16 01:06:53 +03:00
Devaev Maxim
786aa1d19b Bump version: 2.23 → 2.24 2021-02-15 06:39:43 +03:00
Devaev Maxim
1e4fda7e47 crutch for broken linux-firmware 2021-02-15 06:38:25 +03:00
Devaev Maxim
3cd574752c Bump version: 2.22 → 2.23 2021-02-15 05:53:04 +03:00
Devaev Maxim
36e3013f18 fixed Makefile for vnc ssl 2021-02-15 05:51:42 +03:00
Devaev Maxim
308832f986 enbaled x509 vnc by default 2021-02-15 05:35:50 +03:00
Devaev Maxim
dc5a07adb3 Bump version: 2.21 → 2.22 2021-02-15 05:13:00 +03:00
Devaev Maxim
9c6b9a7638 fixed package ssl perms 2021-02-15 05:11:23 +03:00
Devaev Maxim
c5bf5862ba Bump version: 2.20 → 2.21 2021-02-15 04:57:29 +03:00
Devaev Maxim
9911914e70 fixed cert perms 2021-02-15 04:56:06 +03:00
Devaev Maxim
058d82c812 Bump version: 2.19 → 2.20 2021-02-15 04:17:18 +03:00
Devaev Maxim
0442ec3264 vnc gencert 2021-02-15 04:16:03 +03:00
Devaev Maxim
c2df0c3871 new sponsors 2021-02-15 02:56:46 +03:00
Devaev Maxim
ef378deca5 new sponsor 2021-02-14 18:32:49 +03:00
Devaev Maxim
7152d9b8cb new sponsor 2021-02-14 05:10:01 +03:00
Devaev Maxim
e0b9f8c823 new sponsors 2021-02-13 19:41:30 +03:00
Devaev Maxim
ba6b5f7067 new sponsor 2021-02-13 02:07:47 +03:00
Devaev Maxim
5ef4db247c Bump version: 2.18 → 2.19 2021-02-12 21:21:56 +03:00
Devaev Maxim
8248e8c299 temporary disabled x509 2021-02-12 21:19:52 +03:00
Devaev Maxim
d8de9ba90e Bump version: 2.17 → 2.18 2021-02-12 19:26:49 +03:00
Devaev Maxim
266ed0b4cd new sponsor 2021-02-12 18:53:19 +03:00
Devaev Maxim
390f33953a install certs for tox 2021-02-12 05:53:46 +03:00
Devaev Maxim
44b636365b enabled x509 vnc 2021-02-12 05:33:28 +03:00
Devaev Maxim
4760a0bdda refactoring of x509 2021-02-12 05:23:07 +03:00
Devaev Maxim
a71f5269ae commented memsinks 2021-02-12 05:19:41 +03:00
Iordan Iordanov
5e690126ce Implementing X509Plain VeNCrypt security type 262 in place of TLSPlain security type 259.
This is a fix for both bVNC on iOS and for devices that do not support Anonymous Diffie
Hellman ciphers (e.g. Android past API 23).

It provides a mechanism for verifying and approving the identity of the server and ensuring
subsequent connections to the same server are not under MITM attack.
2021-02-12 04:06:49 +03:00
Devaev Maxim
4c615b8876 new sponsors 2021-02-10 20:49:24 +03:00
Devaev Maxim
3478a56d77 new sponsor 2021-02-09 05:19:59 +03:00
Devaev Maxim
efb9acb26b help 2021-02-08 19:13:29 +03:00
Devaev Maxim
e439942c11 new sponsor 2021-02-08 03:34:12 +03:00
Devaev Maxim
b25a326625 new sponsor 2021-02-08 00:29:00 +03:00
Devaev Maxim
711816bd26 refactoring 2021-02-07 23:26:50 +03:00
Devaev Maxim
365d8e9fef reduced gpu_mem and disabled start_x 2021-02-07 23:17:11 +03:00
Maxim Devaev
7fa8b6011d
Merge pull request #27 from owendaprile/master
More web interface spelling fixes + a little improvement
2021-02-07 22:57:47 +03:00
Owen D'Aprile
73dddc13bd
Disable page leave warning on unexpected logout
When already logged in, and an unexpected logout occurs, disable the
page leave warning to prevent the unnecessary popup.
2021-02-07 14:23:14 -05:00
Owen D'Aprile
cc909352b4
Web interface spelling fixes and improvements
Also make the popup message for pasting characters change plurality
depending on the amount of characters.
2021-02-07 14:18:52 -05:00
Devaev Maxim
c9ee9b2e6a new sponsor 2021-02-06 22:20:59 +03:00
Devaev Maxim
a172a694e1 Encode URL params 2021-02-06 22:01:33 +03:00
Devaev Maxim
ccab05f955 enabled h264 for v2-hdmi-rpi4 2021-02-06 21:49:06 +03:00
Devaev Maxim
be9fde7cac zerow default quality is 50 2021-02-06 21:44:34 +03:00
Devaev Maxim
f2ae1f1254 fixed configs 2021-02-06 21:41:31 +03:00
Devaev Maxim
30bc03fa39 fix 2021-02-06 21:24:36 +03:00
Devaev Maxim
3de55653fa refactoring 2021-02-06 20:29:57 +03:00
Devaev Maxim
63aa4a07a7 refactored streamer params, added h264 gop 2021-02-06 19:27:00 +03:00
Devaev Maxim
c36d931ee3 Bump version: 2.16 → 2.17 2021-02-05 19:46:24 +03:00
Devaev Maxim
707512a586 reset mcu hid before the loop 2021-02-05 18:57:17 +03:00
Devaev Maxim
1a3fea916b deprecated --glitched-resolutions 2021-02-04 18:54:32 +03:00
Devaev Maxim
dfb952e421 memory link fix 2021-02-04 05:27:22 +03:00
Devaev Maxim
ffeb626ef8 queue-based vnc fb task 2021-02-04 02:23:59 +03:00
Devaev Maxim
32bd2453eb fixed h264 accumulating 2021-02-03 21:38:16 +03:00
Devaev Maxim
db4dc5de45 refactoring 2021-02-03 20:40:02 +03:00
Devaev Maxim
18805b3499 new sponsor 2021-02-03 12:03:48 +03:00
Devaev Maxim
416817b1c0 fix 2021-02-03 06:53:21 +03:00
Devaev Maxim
a0601faafb accumulate h264 frames 2021-02-03 06:46:53 +03:00
Devaev Maxim
78fc3869f2 new sponsor 2021-02-03 05:51:44 +03:00
Devaev Maxim
cbb03efccf new sponsor 2021-02-03 00:33:37 +03:00
Devaev Maxim
dc533b11bf new sponsor 2021-02-02 23:00:22 +03:00
Devaev Maxim
2129735439 new sponsor 2021-02-02 20:27:36 +03:00
Devaev Maxim
604920c422 new sponsors 2021-02-02 10:40:18 +03:00
Devaev Maxim
d828f9d2a0 new sponsor 2021-01-30 12:53:31 +03:00
Devaev Maxim
d1f95ece75 new sponsors 2021-01-30 08:39:15 +03:00
Devaev Maxim
2f6dfa84dc new sponsor 2021-01-29 14:29:27 +03:00
Devaev Maxim
cccc32806c Bump version: 2.15 → 2.16 2021-01-28 22:17:18 +03:00
Devaev Maxim
6c1be11f35 another rpi4 revision 2021-01-28 22:14:52 +03:00
Devaev Maxim
0538a6828f refactoring 2021-01-28 20:36:46 +03:00
Devaev Maxim
1442515e5c new sponsor 2021-01-28 12:37:21 +03:00
Devaev Maxim
6043dfbb74 api refactoring 2021-01-28 10:51:26 +03:00
Devaev Maxim
83184952f6 h264_bitrate streamer param 2021-01-28 08:12:04 +03:00
Devaev Maxim
83f9406fa0 v0-hdmi-zerow 2021-01-27 13:22:58 +03:00
Devaev Maxim
10be8339d4 new sponsors 2021-01-27 06:16:30 +03:00
Devaev Maxim
4c32ce01ad many fixes for h264 chain 2021-01-26 06:28:40 +03:00
Devaev Maxim
a0ae387a6c refactoring 2021-01-26 06:28:40 +03:00
Maxim Devaev
3360a3fce6
Merge pull request #25 from owendaprile/master
Fix spelling error in web interface
2021-01-26 05:47:41 +03:00
Owen D'Aprile
a27ad24823
Fix spelling error in web interface 2021-01-25 20:00:28 -05:00
Devaev Maxim
11a3079d24 changed h264 encoding number 2021-01-25 13:40:03 +03:00
Devaev Maxim
69faec54fc encodings are signed 2021-01-25 13:13:11 +03:00
Devaev Maxim
13057e7d48 using archlinux/archlinux:base-devel 2021-01-25 12:19:38 +03:00
Devaev Maxim
cd90bc67f2 reset h264 on some events 2021-01-24 16:08:23 +03:00
Devaev Maxim
3cff5e1012 new sponsor 2021-01-24 14:39:22 +03:00
Devaev Maxim
e72eff8d3e new sponsor 2021-01-24 13:44:09 +03:00
Devaev Maxim
428eee4f97 lint fixes 2021-01-24 12:46:45 +03:00
Devaev Maxim
573d622a44 systemd-tmpfiles hangs 2021-01-24 12:20:59 +03:00
Devaev Maxim
3a2ffca6b7 vnc h264 2021-01-24 12:02:04 +03:00
Devaev Maxim
dc87f8d259 new sponsor 2021-01-23 13:57:29 +03:00
Devaev Maxim
f307e40214 Bump version: 2.14 → 2.15 2021-01-23 08:22:31 +03:00
Devaev Maxim
ffd39632cf new sponsors 2021-01-23 08:21:03 +03:00
Devaev Maxim
61f52a36a2 rename 2021-01-23 08:11:38 +03:00
Devaev Maxim
4d4fb69d2e refactoring 2021-01-23 07:00:49 +03:00
Devaev Maxim
ebe40697a5 sink source for vnc 2021-01-22 04:26:04 +03:00
Devaev Maxim
7c39b3facd new sponsors 2021-01-20 03:03:55 +03:00
Devaev Maxim
2722986675 new sponsors 2021-01-15 06:19:39 +03:00
Devaev Maxim
9f75e099ee Bump version: 2.13 → 2.14 2021-01-14 23:36:23 +03:00
Devaev Maxim
8a45ce9146 v3 usb breaker 2021-01-14 23:29:52 +03:00
Devaev Maxim
1799e34fd0 added info about the new pi4 revision 2021-01-14 23:08:42 +03:00
Devaev Maxim
2e2e53c04f Bump version: 2.12 → 2.13 2021-01-12 21:46:50 +03:00
Devaev Maxim
d89a3e1c54 new sponsor 2021-01-12 21:45:27 +03:00
Devaev Maxim
8defa0ff42 fixed firmware again 2021-01-12 21:44:11 +03:00
Devaev Maxim
55abf7f26b fixed gpio mockup 2021-01-11 22:50:56 +03:00
Devaev Maxim
32c834d13f new sponsors 2021-01-11 22:19:08 +03:00
Maxim Devaev
bda4a99761
Merge pull request #23 from iyesin/exclude-venv
Exclude venv from project root
2021-01-10 02:51:09 +03:00
Ilya Esin
b95dfb518f Exclude venv from project root (venv is default suggestion from pycharm) 2021-01-10 00:49:41 +01:00
Devaev Maxim
6a20389a7d new sponsor 2021-01-09 00:47:46 +03:00
Devaev Maxim
d0316b7e7d Bump version: 2.11 → 2.12 2021-01-08 21:56:55 +03:00
Devaev Maxim
df12bf0cf3 fix 2021-01-08 21:55:31 +03:00
Devaev Maxim
6b8378411a Bump version: 2.10 → 2.11 2021-01-08 18:30:15 +03:00
Devaev Maxim
b90d5e6406 Workaround for raspberrypi/firmware#1523 2021-01-08 18:28:53 +03:00
Devaev Maxim
1eb9ab0665 new sponsors 2021-01-08 13:21:23 +03:00
Devaev Maxim
aa9710f617 new sponsors 2021-01-07 10:38:53 +03:00
Devaev Maxim
c169f55204 update copy 2021-01-07 10:33:02 +03:00
Devaev Maxim
0904675dab new sponsors 2021-01-03 07:05:37 +03:00
Devaev Maxim
28ff78c264 Bump version: 2.9 → 2.10 2020-12-31 13:35:58 +03:00
Devaev Maxim
0598362931 increasing pings limit 2020-12-31 13:34:30 +03:00
Devaev Maxim
36fee4ebc4 Bump version: 2.8 → 2.9 2020-12-30 09:36:46 +03:00
Devaev Maxim
2ecbb68fd6 default heartbeat = 15s 2020-12-30 09:28:42 +03:00
Devaev Maxim
1cd4e64c7e new sponsors 2020-12-29 20:09:26 +03:00
Devaev Maxim
b48a0606b7 instant reset 2020-12-29 16:14:48 +03:00
Devaev Maxim
06040c8da9 relay msd fixes 2020-12-29 16:14:38 +03:00
Devaev Maxim
440f71d5a0 new sponsors 2020-12-27 10:51:22 +03:00
Devaev Maxim
570dd04e29 otgbind pseudo-gpio plugin 2020-12-26 04:55:40 +03:00
Devaev Maxim
77771bea55 await fix 2020-12-26 00:34:58 +03:00
Devaev Maxim
0adfe17f70 configurable gpio devices 2020-12-25 11:08:56 +03:00
Devaev Maxim
4447e49abb api refactoring 2020-12-25 08:35:02 +03:00
Devaev Maxim
08fc413044 new sponsors 2020-12-25 05:14:15 +03:00
Devaev Maxim
3ae6f3f881 refactoring 2020-12-25 05:09:52 +03:00
Devaev Maxim
dd4c797d26 hid connection iface 2020-12-25 04:40:31 +03:00
Devaev Maxim
edb967c633 hid set_connected api 2020-12-24 15:49:23 +03:00
Devaev Maxim
4b6d7605c5 check aum usb state 2020-12-24 15:30:49 +03:00
Devaev Maxim
21e4cf86c8 refactoring 2020-12-24 13:47:37 +03:00
Devaev Maxim
2bf9761d70 new sponsor 2020-12-24 00:54:13 +03:00
Devaev Maxim
5bcf2df687 fixed pinout, refactoring 2020-12-24 00:51:48 +03:00
Devaev Maxim
42475809fc refactoring 2020-12-21 01:59:49 +03:00
Devaev Maxim
2cb210c975 new sponsors 2020-12-21 00:09:55 +03:00
Devaev Maxim
b3a6b33641 aum firmware 2020-12-18 19:46:19 +03:00
Devaev Maxim
da10cd91df new sponsor 2020-12-17 16:28:29 +03:00
Devaev Maxim
496cd8f9fd Bump version: 2.7 → 2.8 2020-12-15 13:59:55 +03:00
Devaev Maxim
2e9dfccb81 fix 2020-12-15 13:58:41 +03:00
Devaev Maxim
97e3cb1a72 Bump version: 2.6 → 2.7 2020-12-15 13:54:34 +03:00
Devaev Maxim
f3978cc41c temporary fix for broken rpi bootloader/firmware 2020-12-15 13:53:04 +03:00
Yura80
28b4f20ef3
added v2-hdmi-rpi3 config for rpi3 model a (#20) 2020-12-14 13:59:57 +03:00
Devaev Maxim
53a5d19e3b new sponsors 2020-12-14 12:23:47 +03:00
Yura80
273f90ee03
Support of alternative boards/SBCs (#19)
* adding rock64 board

* fix file permissions

* disable atx gpio for rock64 (breaks ethernet); restore package url; fix install

* added gpio pin definitions to config

* renamed rock64 board to generic

* udev rule for generic board, improved device detection

* this udev fix should work for most boards: it skips video0 if it's not on USB, and doesn't select video2

* cleanup

* improved usb video device selection
2020-12-12 09:45:42 +03:00
Devaev Maxim
0a75d8876e new sponsors 2020-12-12 09:36:43 +03:00
Devaev Maxim
807d60b1c3 Bump version: 2.5 → 2.6 2020-12-11 09:44:09 +03:00
Devaev Maxim
3613b6ee30 new sponsor 2020-12-11 09:42:47 +03:00
Devaev Maxim
f116d3a93b new sponsor 2020-12-10 07:30:45 +03:00
Devaev Maxim
323f990a92 new sponsor 2020-12-07 22:13:52 +03:00
Devaev Maxim
14c17dfd04 new sponsor 2020-12-07 11:44:55 +03:00
Devaev Maxim
40e431d0bf new sponsor 2020-12-04 13:36:57 +03:00
Devaev Maxim
eeafd52340 new sponsors 2020-12-04 02:57:11 +03:00
Devaev Maxim
b9cf8f974d separate state for hid offline 2020-12-03 10:04:06 +03:00
Devaev Maxim
be6b81af9c loading led 2020-12-03 09:40:23 +03:00
Devaev Maxim
ac6106c150 Bump version: 2.4 → 2.5 2020-12-03 06:23:17 +03:00
Devaev Maxim
f8a2690b30 python bump 2020-12-03 06:16:05 +03:00
Devaev Maxim
a694cbd240 serial fixes 2020-12-03 06:13:13 +03:00
Devaev Maxim
748900e649 new sponsor 2020-12-03 01:32:12 +03:00
Devaev Maxim
f418717984 new sponsors 2020-12-02 17:15:52 +03:00
Devaev Maxim
7debaa6776 refactoring 2020-12-02 15:35:11 +03:00
Devaev Maxim
5bc868662a stop signals propagation in 3.9 2020-12-02 15:07:08 +03:00
Devaev Maxim
2b064a3bee basic python 3.9 support 2020-12-02 14:37:48 +03:00
Devaev Maxim
9dbf7f1d0b new sponsor 2020-12-02 13:20:40 +03:00
Devaev Maxim
daf977d8ac new sponsors 2020-12-02 06:12:10 +03:00
Devaev Maxim
7b32dc927d hid outputs switch 2020-12-02 05:01:13 +03:00
Devaev Maxim
744fd19db9 hid busy flag 2020-12-02 04:52:05 +03:00
Devaev Maxim
fd1e0d7296 fixed resolution switching 2020-12-01 12:57:13 +03:00
Devaev Maxim
5eff81061b simplified outputs api 2020-12-01 10:36:48 +03:00
Devaev Maxim
f4a8a117c7 navbar change 2020-11-30 11:23:10 +03:00
Devaev Maxim
58d36c8fdb new sponsors 2020-11-28 01:22:35 +03:00
Devaev Maxim
100ea1c452 new sponsor 2020-11-27 05:01:45 +03:00
Devaev Maxim
29bb45dcac new sponsor 2020-11-26 02:47:39 +03:00
Devaev Maxim
f0d6cbf72f new sponsors 2020-11-25 19:29:48 +03:00
Devaev Maxim
db43fd07d4 new sponsors 2020-11-24 18:53:01 +03:00
Devaev Maxim
cdee81dc8c new sponsors 2020-11-24 06:33:22 +03:00
Devaev Maxim
9e92a403c0 refactoring 2020-11-23 23:51:26 +03:00
Devaev Maxim
3047114013 new sponsor 2020-11-23 06:26:29 +03:00
Devaev Maxim
007bab5ebf fixed KillMode for kvmd service 2020-11-23 05:01:50 +03:00
Devaev Maxim
d58f0847d5 auto-reset hid 2020-11-23 05:01:33 +03:00
Devaev Maxim
31ca16a4f4 fix 2020-11-22 18:55:54 +03:00
Devaev Maxim
64a1d877bc new sponsors 2020-11-22 15:58:18 +03:00
Devaev Maxim
16ad64db88 refactoring 2020-11-22 15:36:45 +03:00
Devaev Maxim
b7e0ee3300 Merge branch 'multihid' 2020-11-22 14:33:18 +03:00
Devaev Maxim
48550d2e78 refactoring 2020-11-22 05:48:55 +03:00
Devaev Maxim
d8a631ab84 new sponsors 2020-11-22 04:59:46 +03:00
Devaev Maxim
6a8ee1a114 refactoring 2020-11-22 04:54:03 +03:00
Devaev Maxim
5a5e3a3cc9 refactoring 2020-11-22 03:39:35 +03:00
Devaev Maxim
c3381911b4 new sponsors 2020-11-21 20:15:27 +03:00
Devaev Maxim
7be5dc8c82 fixed mouse output choosing 2020-11-20 19:54:40 +03:00
Devaev Maxim
3ffbc7554a outputs api 2020-11-20 19:12:41 +03:00
Devaev Maxim
6490c8835c refactoring 2020-11-20 05:14:16 +03:00
Devaev Maxim
c49cc1b46b refactoring 2020-11-20 05:06:53 +03:00
Devaev Maxim
649a57e842 next 2020-11-20 05:05:20 +03:00
Devaev Maxim
7f43440cae refactoring 2020-11-20 00:20:44 +03:00
Devaev Maxim
a77db72355 multihid firmware 2020-11-20 00:15:18 +03:00
Devaev Maxim
188de71515 shut up plz 2020-11-16 02:05:53 +03:00
Devaev Maxim
7efff23ca4 refactoring 2020-11-16 00:44:14 +03:00
Devaev Maxim
f5250bb0e9 display endpoints state 2020-11-15 23:16:46 +03:00
Devaev Maxim
d99771b2cd new sponsor 2020-11-15 16:37:14 +03:00
Devaev Maxim
37d9518bc8 fixed serial port disabling 2020-11-15 16:35:13 +03:00
Devaev Maxim
0955e03cd3 check usb endpoint 2020-11-15 12:34:33 +03:00
Devaev Maxim
a9c844acb4 refactoring 2020-11-14 18:18:53 +03:00
Devaev Maxim
58f60bb49f using monotonic time 2020-11-13 12:31:00 +03:00
Devaev Maxim
65c6abee24 hid plugins fix 2020-11-12 23:40:39 +03:00
Devaev Maxim
180251ec59 refactoring 2020-11-12 22:36:22 +03:00
Devaev Maxim
87cc8cf7b0 Merge branch 'spi' 2020-11-12 21:03:28 +03:00
Devaev Maxim
0984f0cb36 fixed xfer answer 2020-11-12 20:49:33 +03:00
Devaev Maxim
3d75acf752 cleanup 2020-11-12 20:39:19 +03:00
Devaev Maxim
c144f41c1d removed cshigh option 2020-11-12 20:35:47 +03:00
Devaev Maxim
0140cba0dc software cs 2020-11-12 18:33:35 +03:00
Devaev Maxim
79ef26e2f4 new sponsor 2020-11-12 07:41:17 +03:00
Devaev Maxim
55a6828039 disable serial port for spi 2020-11-11 22:24:25 +03:00
Devaev Maxim
fef625aee5 refactoring 2020-11-11 22:24:25 +03:00
Devaev Maxim
a8a075c203 another try 2020-11-11 22:24:25 +03:00
Devaev Maxim
e07cdd60f3 spi firmware 2020-11-11 22:24:25 +03:00
Devaev Maxim
a3707d047f refactoring 2020-11-11 22:24:25 +03:00
Devaev Maxim
578a290cc2 added kvmd to spi group 2020-11-11 22:24:25 +03:00
Devaev Maxim
a5dbc1adea refactoring 2020-11-11 22:24:25 +03:00
Devaev Maxim
aaef672ac2 kvmd spi driver 2020-11-11 22:24:25 +03:00
Devaev Maxim
e54449fd8e renamed serial keymap codes to mcu 2020-11-11 22:24:25 +03:00
Devaev Maxim
08b96b7ada serial phy layer 2020-11-11 22:24:25 +03:00
Devaev Maxim
dc0340583e splitting serial 2020-11-11 22:24:25 +03:00
Devaev Maxim
c27b8909dc spi 2020-11-11 22:24:25 +03:00
Devaev Maxim
9a10b59ba5 new sponsor 2020-11-11 21:47:17 +03:00
Devaev Maxim
8881994767 Bump version: 2.3 → 2.4 2020-11-11 16:29:48 +03:00
Devaev Maxim
a8edd11368 lint fix 2020-11-08 02:21:33 +03:00
Devaev Maxim
52a6eb3d98 bt hid 2020-11-08 02:11:16 +03:00
Devaev Maxim
5f407fd4a0 refactoring 2020-11-07 12:12:40 +03:00
Devaev Maxim
8f4b943a8d fixed exit pointer lock 2020-11-07 05:56:00 +03:00
Devaev Maxim
b83ba7692a optional relative squashing 2020-11-07 05:55:34 +03:00
Devaev Maxim
afcd6408bb refactoring 2020-11-06 08:41:08 +03:00
Devaev Maxim
6d117c039f fixes 2020-11-05 13:08:24 +03:00
Devaev Maxim
ae6d8258af squash relative events 2020-11-05 13:01:26 +03:00
Devaev Maxim
dc3259c169 delayed relative events 2020-11-05 10:48:11 +03:00
Devaev Maxim
c37c17d29f batch relative api 2020-11-05 10:47:17 +03:00
Devaev Maxim
3386c66278 refactoring 2020-11-04 10:52:00 +03:00
Devaev Maxim
c31115051c configurable wheel for otg 2020-11-03 06:17:52 +03:00
Maxim Devaev
544f4b3fec
Relative (#18)
* refactoring

* basic relative mouse mode
2020-11-03 04:50:08 +03:00
Devaev Maxim
6ec82dde5d new sponsor 2020-11-03 04:10:38 +03:00
Devaev Maxim
fc7a118d70 new sponsors 2020-11-02 02:15:33 +03:00
Devaev Maxim
3ee8433575 new sponsor 2020-10-31 16:17:10 +03:00
Devaev Maxim
05aa1a3904 Bump version: 2.2 → 2.3 2020-10-31 06:56:56 +03:00
Devaev Maxim
1f09bfe0de avoid dhcpcd stack trace 2020-10-31 06:55:44 +03:00
Devaev Maxim
386461c974 advanced cmd options for streamer 2020-10-31 05:19:35 +03:00
Devaev Maxim
a286cd5ec2 new sponsors 2020-10-30 23:47:48 +03:00
Devaev Maxim
e9eb6460d3 ipmi sol 2020-10-28 05:21:19 +03:00
Devaev Maxim
e7cbf1e1e2 new sponsors 2020-10-26 19:49:16 +03:00
Devaev Maxim
3c690816e1 refactoring 2020-10-26 19:48:43 +03:00
Devaev Maxim
ad943811f9 ezcoo sw41ha as gpio 2020-10-25 02:44:43 +03:00
Devaev Maxim
4a211ffc10 new sponsor 2020-10-20 00:52:15 +03:00
Devaev Maxim
ba9bba9d3c Bump version: 2.1 → 2.2 2020-10-17 20:41:48 +03:00
Devaev Maxim
cc6f7c417e pikvm/pikvm#92: attempt to fix "Multiple access in eof state" 2020-10-17 19:16:08 +03:00
Devaev Maxim
ada307c624 fixed missing package 2020-10-17 19:10:22 +03:00
Devaev Maxim
751305828e use packages from the repo 2020-10-17 02:32:06 +03:00
Devaev Maxim
0d3f5f0acc not parallel in github 2020-10-17 02:21:39 +03:00
Devaev Maxim
678b3d24b8 wider service regexp for log reader 2020-10-17 01:10:27 +03:00
Devaev Maxim
a2838a69a4 fix 2020-10-17 00:25:12 +03:00
Devaev Maxim
bfe437e405 allow icmp 2020-10-16 23:40:14 +03:00
Devaev Maxim
dd279e3a13 dnsmasq tweaks 2020-10-16 23:11:11 +03:00
Devaev Maxim
fd008fcda1 new attempt 2020-10-16 18:01:08 +03:00
Devaev Maxim
0e069de389 attempt to fix github actions 2020-10-16 17:01:00 +03:00
Devaev Maxim
923320da5f PR #15: https for local run 2020-10-16 14:10:15 +03:00
Devaev Maxim
9860ed0871 typo 2020-10-16 12:24:34 +03:00
Devaev Maxim
c4dfa728d3 new sponsor 2020-10-16 11:16:46 +03:00
Devaev Maxim
d96478b209 Merge branch 'confirm' into master 2020-10-15 09:56:52 +03:00
Devaev Maxim
de2998a42f otg hid: clear queue on error 2020-10-15 09:52:55 +03:00
Devaev Maxim
04c0743617 new sponsor 2020-10-15 09:16:13 +03:00
Devaev Maxim
36ed040618 new sponsor 2020-10-14 22:51:29 +03:00
Devaev Maxim
9ba3fdb911 refactoring 2020-10-14 22:46:12 +03:00
Devaev Maxim
55968f9328 serial hid: don't sleep on exit 2020-10-14 17:02:19 +03:00
Devaev Maxim
d769742768 serial hid: clear events on exceptions 2020-10-14 17:01:10 +03:00
Devaev Maxim
c4dc68bee5 serial hid: perm errors is not fatal 2020-10-14 16:59:18 +03:00
Devaev Maxim
1976c0d9ae new sponsor 2020-10-14 12:29:09 +03:00
Devaev Maxim
8b5a62ae97 refactoring 2020-10-14 07:27:25 +03:00
Devaev Maxim
48666a6741 serial hid: clear queue on error 2020-10-13 19:47:30 +03:00
Devaev Maxim
bee33f2df6 tools.clear_queue() 2020-10-13 17:27:36 +03:00
Devaev Maxim
23ff97ba95 fixed menu position 2020-10-13 15:35:48 +03:00
Devaev Maxim
f1f0d59e74 new sponsor 2020-10-13 15:31:32 +03:00
Devaev Maxim
30deb19cda no arrows 2020-10-13 15:30:03 +03:00
Devaev Maxim
6420bc4533 mypy again 2020-10-13 14:55:08 +03:00
Devaev Maxim
c6524fc7ac typing fixes 2020-10-13 13:50:01 +03:00
Devaev Maxim
a7f3773e0b service --run 2020-10-11 04:46:50 +03:00
Devaev Maxim
51ac65d542 another dns fix 2020-10-10 17:10:00 +03:00
Devaev Maxim
6226e942d8 dhcp fix 2020-10-10 16:44:56 +03:00
Devaev Maxim
f6ea1eda45 kvmd-otgnet 2020-10-10 16:06:06 +03:00
Devaev Maxim
69509349bd refactoring 2020-10-10 08:10:37 +03:00
Devaev Maxim
cf5bc84872 refactoring 2020-10-09 11:58:19 +03:00
Devaev Maxim
5bfde6ceae otgnet stubs 2020-10-09 03:51:19 +03:00
Devaev Maxim
3c4d38f755 Bump version: 2.0 → 2.1 2020-10-08 15:33:01 +03:00
Devaev Maxim
a0b920a9d6 vnc: qemu ext keys 2020-10-08 15:26:37 +03:00
Devaev Maxim
f1910f7c8e more correct keymap handling 2020-10-08 12:18:38 +03:00
Devaev Maxim
920f648d65 fixed incorrect intlbackslash in en-us and ru keymaps
https://bugs.launchpad.net/qemu/+bug/1738283
2020-10-08 11:15:50 +03:00
Devaev Maxim
39e0336268 lint fix 2020-10-08 10:36:55 +03:00
Devaev Maxim
8ee8331fdf new sponsor 2020-10-07 03:29:01 +03:00
Devaev Maxim
9e03dd35a4 dr_mode=peripheral 2020-10-07 03:27:00 +03:00
Devaev Maxim
6ae7adfb33 fixed closure 2020-10-07 02:27:58 +03:00
Devaev Maxim
bb68008f70 new sponsor 2020-10-06 03:06:52 +03:00
Devaev Maxim
6c167f121b more options 2020-10-05 07:35:11 +03:00
Devaev Maxim
9bd129f70b configurable maxpower 2020-10-05 07:13:08 +03:00
Devaev Maxim
bfb54767fa new sponsor 2020-10-04 05:24:32 +03:00
Devaev Maxim
ac73afcc73 Bump version: 1.102 → 2.0 2020-10-04 00:59:23 +03:00
Devaev Maxim
109565baaf improved default override.yaml 2020-10-03 22:51:06 +03:00
Devaev Maxim
e05594ac04 mute 400 for auth client api 2020-10-03 11:02:29 +03:00
Devaev Maxim
29dd78c247 Fixed pikvm/pikvm#81: XK_Meta = XK_Super for VNC 2020-10-03 11:01:58 +03:00
Devaev Maxim
ce4704f7c0 fixed logging 2020-10-03 10:07:21 +03:00
Devaev Maxim
2b2014f7b1 adjust reopen delay 2020-10-03 10:06:04 +03:00
Devaev Maxim
877a0b8441 processing udc state 2020-10-03 09:58:15 +03:00
Devaev Maxim
971eb1c203 new sponsor 2020-10-03 09:23:00 +03:00
Devaev Maxim
d64f667156 assert 2020-10-03 08:35:47 +03:00
Devaev Maxim
2881795f80 refactoring 2020-10-03 07:54:11 +03:00
Devaev Maxim
400021fc81 lint fix 2020-10-03 07:30:14 +03:00
Devaev Maxim
8b2a2eb731 using sysfs prefix 2020-10-03 06:43:23 +03:00
Devaev Maxim
9db6a4a6b4 handle ESHUTDOWN during hid write()
61b7f805dc
2020-10-03 05:31:52 +03:00
Devaev Maxim
792f94d9e8 Linux 5.4.69 with some fixes
For all boards:
	- https://github.com/raspberrypi/linux/issues/3870
	- https://github.com/raspberrypi/linux/pull/3151

For zero:
	- https://github.com/raspberrypi/linux/issues/3602
2020-10-03 05:10:00 +03:00
Devaev Maxim
cccf44655a common env variables 2020-10-03 05:02:14 +03:00
Devaev Maxim
872145590a make run-cfg 2020-10-02 07:10:28 +03:00
Devaev Maxim
b2a377233d improved net validators 2020-10-02 07:03:46 +03:00
Devaev Maxim
729dc977c8 new sponsor 2020-10-02 06:28:49 +03:00
Devaev Maxim
2b684caaeb added tests 2020-10-02 04:07:16 +03:00
Devaev Maxim
bd3e2ba606 new sponsor 2020-10-02 03:31:45 +03:00
Devaev Maxim
1f6035dbbb new sponsor 2020-10-01 22:12:15 +03:00
Devaev Maxim
e45a7e58d7 new sponsor 2020-10-01 11:56:57 +03:00
Devaev Maxim
16946d1e0f refactoring 2020-09-30 14:12:09 +03:00
Devaev Maxim
eeedb6025a Check config toplevel 2020-09-30 12:21:30 +03:00
Devaev Maxim
e94a105bf5 improved logging 2020-09-30 09:10:43 +03:00
Devaev Maxim
9b4b01f697 renamed otg config 2020-09-30 09:01:13 +03:00
Devaev Maxim
4bdb06f108 configurable ethernet driver 2020-09-30 08:52:00 +03:00
Devaev Maxim
1b62570466 optional host_mac and kvm_mac 2020-09-30 07:49:58 +03:00
Devaev Maxim
630593492a ignored protected-access for _unpack() 2020-09-30 07:25:52 +03:00
Devaev Maxim
3f9c32e9fc moved otg devices configs to their own section 2020-09-30 06:36:00 +03:00
Devaev Maxim
771640a79c options to configure otg ethernet 2020-09-30 04:53:21 +03:00
Maxim Devaev
a86ec65024
Merge pull request #13 from pikvm/redfish
basic redfish api
2020-09-29 11:14:00 +03:00
Devaev Maxim
1927904822 min kernel version is 5.4.65 2020-09-29 10:43:03 +03:00
Devaev Maxim
ccab97a56f basic redfish api 2020-09-28 02:41:46 +03:00
Devaev Maxim
fdb93d8f98 new sponsor 2020-09-27 19:36:51 +03:00
Maxim Devaev
7e874b035d
Merge pull request #12 from mfunkey/master
Added mapping for AltGr key
2020-09-26 00:24:09 +03:00
Martin Funk
9e577fc5b1 Added mapping for AltGr key 2020-09-25 22:18:38 +02:00
Devaev Maxim
87a04e4e1f renamed mass storage menu to drive 2020-09-25 20:59:16 +03:00
Devaev Maxim
0541f6bff0 new sponsor 2020-09-25 19:21:08 +03:00
Devaev Maxim
fdd41a4382 minor genmap fix 2020-09-23 23:30:05 +03:00
Devaev Maxim
f605e91bf2 fixed #10 2020-09-23 22:58:45 +03:00
Maxim Devaev
3f74311485
Merge pull request #10 from mfunkey/new_key
Added missing key on non us keyboards
2020-09-23 21:21:32 +03:00
Devaev Maxim
bbf3b18fe3 proper handling of dont-hide-menu 2020-09-23 18:45:35 +03:00
Devaev Maxim
2178d22fec V for make release 2020-09-23 18:12:25 +03:00
Devaev Maxim
3296458097 new sponsor 2020-09-23 05:26:00 +03:00
Devaev Maxim
d4aceb0a38 new sponsors 2020-09-23 03:04:07 +03:00
Devaev Maxim
bfb8f989ef html regen 2020-09-22 05:34:50 +03:00
Devaev Maxim
55f6956c2b confirmations for gpio 2020-09-22 04:42:39 +03:00
Devaev Maxim
50c2d9c1c5 event about looping 2020-09-22 04:42:39 +03:00
Devaev Maxim
f4eabde86e removed unnecessary broadcasting 2020-09-22 04:42:39 +03:00
Maxim Devaev
c86b20f1b1
Merge pull request #11 from arykov/master
minor grammar corrections
2020-09-22 04:31:09 +03:00
Alex Rykov
b29d5e4da6
Update navbar-macro.pug
minor grammar corrections
2020-09-21 21:16:42 -04:00
Devaev Maxim
5877205ed4 new sponsors 2020-09-21 23:11:40 +03:00
Martin Funk
3701a0a742 Added missing no us key 2020-09-20 23:04:52 +02:00
Maxim Devaev
7dd9895dda
Merge pull request #9 from OlegGirko/gpiod_compat
Make kvmd compatible with libgpiod 1.2
2020-09-20 18:24:18 +03:00
Oleg Girko
a8589e48ab Make kvmd compatible with libgpiod 1.2.
The singular default_val argument of gpiod.Line.request() method
was introduced in libgpiod 1.3.

For older versions of libgpiod, defailt_vals argument with list value
should be used.

This argument is available in newer versions of libgpiod as well
for compatibility.

This change is needed for Debian / Raspbian 10 that have libgpiod 1.2.

Signed-off-by: Oleg Girko <ol@infoserver.lv>
2020-09-20 14:59:33 +01:00
Devaev Maxim
c6b7b58f2d pikvm/pikvm#74: Option to disable exit confirmation 2020-09-20 02:46:26 +03:00
Devaev Maxim
49d5dcb2cc new sponsor 2020-09-19 18:30:34 +03:00
Devaev Maxim
13f4119eb0 Bump version: 1.101 → 1.102 2020-09-18 01:48:33 +03:00
Devaev Maxim
5c05276d46 fixed consumer names for libgpiod 2020-09-18 01:46:28 +03:00
Devaev Maxim
204645efa2 Bump version: 1.100 → 1.101 2020-09-17 14:30:48 +03:00
Devaev Maxim
649ca0c6bc option to stream forever 2020-09-17 13:10:53 +03:00
Devaev Maxim
f46c6f6372 new sponsor 2020-09-17 11:54:40 +03:00
Maxim Devaev
1f3cdd03be
Merge pull request #8 from pikvm/libgpiod
Libgpiod
2020-09-17 01:12:09 +03:00
Devaev Maxim
3f79f55a9e refactoring 2020-09-16 01:33:15 +03:00
Devaev Maxim
00069931c1 debounce for gpiod AioReader 2020-09-16 00:03:44 +03:00
Devaev Maxim
1c31b8f80d pikvm/pikvm#69: note about user invalidation in kvmd-htpasswd 2020-09-15 00:54:17 +03:00
Devaev Maxim
7cdf5976a8 fix 2020-09-14 23:37:19 +03:00
Devaev Maxim
123406b2b2 workaround for possible driver bug 2020-09-14 22:59:24 +03:00
Devaev Maxim
6ef53e48c5 notify only on change 2020-09-14 21:51:53 +03:00
Devaev Maxim
50d0612f82 refactoring 2020-09-14 21:16:02 +03:00
Devaev Maxim
ddb60e5a73 read multiply events 2020-09-14 14:23:14 +03:00
Devaev Maxim
51ca4bc936 raspberrypi-io-access >= 0.5 2020-09-14 01:40:39 +03:00
Devaev Maxim
ee10435b81 common gpio path variable 2020-09-14 01:34:23 +03:00
Devaev Maxim
91eb257f3d non-cas operation 2020-09-13 21:59:09 +03:00
Devaev Maxim
5ed0c27f1f removed rpi.gpio 2020-09-13 21:43:52 +03:00
Devaev Maxim
0ad0d17528 using libgpiod for the ugpio driver 2020-09-13 20:04:17 +03:00
Devaev Maxim
5464bc2297 fixed AioPinsReader's main loop 2020-09-13 19:18:12 +03:00
Devaev Maxim
1e6ab4672f refactoring and reuse gpio pulse code 2020-09-13 18:23:28 +03:00
Devaev Maxim
41223fa8b2 pass close() 2020-09-13 17:19:57 +03:00
Devaev Maxim
002823b6e1 using libgpiod for the gpio atx 2020-09-13 10:47:53 +03:00
Devaev Maxim
bddabc4742 using libgpiod for the relay msd 2020-09-12 22:16:14 +03:00
Devaev Maxim
fa5e6735ed using libgpiod for the serial hid 2020-09-12 21:17:44 +03:00
Devaev Maxim
6f75496550 libgpiod initials 2020-09-12 15:37:51 +03:00
Devaev Maxim
1dad3ee3ad deprecated old streaming hardware control 2020-09-12 13:26:34 +03:00
Devaev Maxim
9ab7726736 new sponsor 2020-09-12 08:42:21 +03:00
Devaev Maxim
e7281d924f Bump version: 1.99 → 1.100 2020-09-11 10:20:58 +03:00
Devaev Maxim
9b3f197506 pikvm/pikvm#63: added loop mode for macro 2020-09-11 07:00:56 +03:00
Devaev Maxim
401263fea3 new sponsor 2020-09-10 19:47:35 +03:00
Devaev Maxim
6aa5893d57 refactoring 2020-09-10 18:37:25 +03:00
Devaev Maxim
bae65c35ee led colors 2020-09-10 18:26:43 +03:00
Devaev Maxim
92ba157b67 changed separator 2020-09-10 17:48:10 +03:00
Devaev Maxim
6795430e29 real pins 2020-09-10 17:32:33 +03:00
Devaev Maxim
44c50aa4de removed edge detection 2020-09-10 13:40:56 +03:00
Devaev Maxim
ff36ff203e edge detection not available for pin r/w 2020-09-10 13:17:09 +03:00
Devaev Maxim
905bcf555f label test 2020-09-10 12:43:54 +03:00
Devaev Maxim
1d98f5ed04 experimental edge mode 2020-09-10 12:33:26 +03:00
Devaev Maxim
23ad910606 fix 2020-09-10 10:40:17 +03:00
Devaev Maxim
cee24e56d2 nowait 2020-09-10 10:22:44 +03:00
Devaev Maxim
7baf4bc07e refactoring 2020-09-10 10:17:28 +03:00
Devaev Maxim
ec6d13dc34 refactoring 2020-09-10 09:58:31 +03:00
Devaev Maxim
9cb5582565 only available gpio modes 2020-09-10 09:31:05 +03:00
Devaev Maxim
967afb2d9a refactoring 2020-09-10 07:30:25 +03:00
Devaev Maxim
a6385cd20e fixes 2020-09-10 07:09:03 +03:00
Devaev Maxim
31fdcd2f3c removed processing flag 2020-09-10 04:48:19 +03:00
Devaev Maxim
015baee6d7 sync atx api 2020-09-09 16:21:49 +03:00
Devaev Maxim
2d44539484 prefer sync api 2020-09-09 15:24:15 +03:00
Devaev Maxim
1901af17c3 hide device path 2020-09-09 14:30:17 +03:00
Devaev Maxim
2e6d6593ec mute 2020-09-09 13:33:59 +03:00
Devaev Maxim
91557ebbaf gpio test configs 2020-09-09 13:06:12 +03:00
Devaev Maxim
6c5a485b48 Fixed nginx's "Could not build optimal types_hash" 2020-09-09 13:00:11 +03:00
Devaev Maxim
170ed92bd4 cleanup on driver side 2020-09-09 12:52:45 +03:00
Devaev Maxim
04284584fe rename 2020-09-09 11:35:07 +03:00
Devaev Maxim
669fc608ed fixed web selection 2020-09-09 11:21:38 +03:00
Devaev Maxim
b377123e48 hid relay driver 2020-09-09 10:00:08 +03:00
Devaev Maxim
de6a66e08e valid_ugpio_driver() fix + tests 2020-09-09 07:13:34 +03:00
Devaev Maxim
3dfdab787a tests 2020-09-09 06:49:32 +03:00
Devaev Maxim
526ec18a3b improved tests 2020-09-09 05:38:32 +03:00
Devaev Maxim
a9a6f477bc tests 2020-09-09 05:23:37 +03:00
Devaev Maxim
2211124ecb tests 2020-09-09 03:58:43 +03:00
Devaev Maxim
9c78f4f631 catch manual validation 2020-09-09 03:26:15 +03:00
Devaev Maxim
081797b253 refactoring 2020-09-08 12:58:09 +03:00
Devaev Maxim
d528a3002e refactoring 2020-09-08 12:32:16 +03:00
Devaev Maxim
d932a937ca validate drivers 2020-09-08 12:13:44 +03:00
Devaev Maxim
7098eab258 renamed default gpio driver 2020-09-08 11:41:12 +03:00
Devaev Maxim
5ba0873c32 stronger validators 2020-09-08 11:35:29 +03:00
Devaev Maxim
cf5114264b fixed type of return value of check_string_in_list() 2020-09-08 10:45:39 +03:00
Devaev Maxim
1ea68f3e9a more validation 2020-09-08 10:44:38 +03:00
Devaev Maxim
7990bf7e54 refactoring 2020-09-08 10:05:29 +03:00
Devaev Maxim
ea09cc93ba parallel pylint 2020-09-08 09:57:03 +03:00
Devaev Maxim
159cc50dc1 new sponsor 2020-09-08 06:46:34 +03:00
Devaev Maxim
4767a44af8 improved ugpio scheme api 2020-09-08 06:30:13 +03:00
Devaev Maxim
71aa087b3e fixed ipmi auth 2020-09-08 05:34:58 +03:00
Devaev Maxim
605b67ca76 refactoring 2020-09-08 05:24:47 +03:00
Devaev Maxim
4cc60e4d52 refactoring 2020-09-08 05:05:40 +03:00
Devaev Maxim
1353ca2e97 optional gpio initial 2020-09-07 14:42:29 +03:00
Devaev Maxim
c2831853a0 minor relatime fixes 2020-09-07 13:33:13 +03:00
Devaev Maxim
b56ff5034a fixed switch 2020-09-07 10:42:54 +03:00
Devaev Maxim
73d0656f64 fix 2020-09-07 06:07:03 +03:00
Devaev Maxim
a77b3cce27 new sponsor 2020-09-07 05:57:59 +03:00
Devaev Maxim
a6dac4bd84 ugpio plugins 2020-09-07 05:54:25 +03:00
Devaev Maxim
e8bd1e2648 more logs 2020-09-05 14:47:31 +03:00
Devaev Maxim
2b8e323a7e don't report inotify mask 2020-09-05 14:41:46 +03:00
Devaev Maxim
54fe569ad1 fixed ugpio pin modes 2020-09-05 14:24:02 +03:00
Devaev Maxim
a06a1e40f4 using BatchReader for ATX 2020-09-05 12:23:39 +03:00
Devaev Maxim
482eeec3e7 common background systasks 2020-09-05 09:26:55 +03:00
Devaev Maxim
e162d84d56 gpio read is very fast 2020-09-05 08:29:25 +03:00
Devaev Maxim
0c85248987 minor 3.7 fixes 2020-09-05 05:58:33 +03:00
Devaev Maxim
e106aaebed refactoring 2020-09-05 01:56:49 +03:00
Maxim Devaev
1257408183
Merge pull request #6 from OlegGirko/python-3.7
Make KVMD compatible with Python 3.7
2020-09-05 01:56:36 +03:00
Maxim Devaev
fc53759b3e
Merge pull request #7 from Testato/patch-1
fixed Chrome call
2020-09-04 18:54:52 +03:00
Testato
2e9d1cca9a
Update main.js 2020-09-04 17:48:57 +02:00
Testato
f3869da194
Update main.js 2020-09-04 17:44:55 +02:00
Testato
359b2c4ae3
Update main.js 2020-09-04 17:43:52 +02:00
Testato
424a8ebde8
Update main.js 2020-09-04 17:41:13 +02:00
Testato
1122089094
fixed Chrome call 2020-09-04 17:21:24 +02:00
Devaev Maxim
6820c31626 pass gpio to prometheus metrics 2020-09-03 12:05:41 +03:00
Devaev Maxim
4f3875bf51 Bump version: 1.98 → 1.99 2020-09-03 11:04:38 +03:00
Devaev Maxim
c457251081 circle led 2020-09-03 11:02:50 +03:00
Devaev Maxim
68ab7ce33c gpio ui 2020-09-03 06:51:11 +03:00
Oleg Girko
dd2ff1ec83 Change minimum supported Python version to 3.7 in setup.py file.
Signed-off-by: Oleg Girko <ol@infoserver.lv>
2020-09-01 19:24:13 +03:00
Oleg Girko
f13581d356 Remove all uses of = specifier in f-strings.
This is needed to port to Python 3.7 because
Raspbian 10 doesn't have Python 3.8.

Signed-off-by: Oleg Girko <ol@infoserver.lv>
2020-09-01 19:24:13 +03:00
Oleg Girko
2dbf11428f Remove all uses of assignment expressions.
This is needed to port to Python 3.7 because
Raspbian 10 doesn't have Python 3.8.

Signed-off-by: Oleg Girko <ol@infoserver.lv>
2020-09-01 19:24:13 +03:00
Devaev Maxim
5307765399 new sponsor 2020-09-01 02:03:00 +03:00
Devaev Maxim
ffaa28c7e0 Bump version: 1.97 → 1.98 2020-08-31 21:06:05 +03:00
Devaev Maxim
4d7b439443 rpi1 2020-08-31 21:00:15 +03:00
Devaev Maxim
e62a3bedc9 fixed valid_ugpio_view_table 2020-08-31 09:43:25 +03:00
Devaev Maxim
7782668944 gpio view and refactoring 2020-08-31 09:01:40 +03:00
Devaev Maxim
9feb353150 no title 2020-08-31 07:33:33 +03:00
Devaev Maxim
beb28691e3 Bump version: 1.96 → 1.97 2020-08-31 05:29:16 +03:00
Devaev Maxim
01eff33b67 refactoring 2020-08-31 05:01:20 +03:00
Devaev Maxim
584651afba proper set_input/set_output 2020-08-31 05:01:09 +03:00
Devaev Maxim
9baf507453 inverted output and initial state 2020-08-31 03:58:07 +03:00
Devaev Maxim
cb1e5c10cb Bump version: 1.95 → 1.96 2020-08-30 23:41:06 +03:00
Devaev Maxim
146a44844a refactoring 2020-08-30 23:30:45 +03:00
Maxim Devaev
164f2620cf
Merge pull request #5 from Frostman/prom
Add minimal prometheus exporter support
2020-08-30 21:42:46 +03:00
Sergey Lukjanov
8f56e1ab8b Add minimal prometheus exporter support
Prometheus https://prometheus.io/ is one of the popular monitoring
systems. It pulls service's endpoint to get metrics in a simple
text format https://prometheus.io/docs/instrumenting/exposition_formats/
2020-08-30 11:35:25 -07:00
Devaev Maxim
02e207347b supported Authorization header 2020-08-30 21:12:13 +03:00
Devaev Maxim
2175338470 refactoring 2020-08-30 21:00:35 +03:00
Devaev Maxim
a7de2184a7 refactoring 2020-08-30 20:09:11 +03:00
Devaev Maxim
c10b614b08 rename 2020-08-30 19:47:40 +03:00
Devaev Maxim
5322fc4ede new sponsor 2020-08-30 19:23:12 +03:00
Devaev Maxim
9b14e8b3e2 user gpio 2020-08-30 19:08:49 +03:00
Devaev Maxim
7ce7a6d035 new sponsor 2020-08-27 12:39:24 +03:00
Devaev Maxim
cdce3e2d31 rename 2020-08-24 22:44:29 +03:00
Devaev Maxim
e7845c3918 new sponsor 2020-08-24 21:26:19 +03:00
Devaev Maxim
52869255a1 new sponsor 2020-08-24 12:42:42 +03:00
Devaev Maxim
f25afca784 new sponsor 2020-08-23 17:55:48 +03:00
Devaev Maxim
0301b53d52 fixed unit naming 2020-08-23 17:21:26 +03:00
Devaev Maxim
87b4626fec Bump version: 1.94 → 1.95 2020-08-22 22:37:10 +03:00
Devaev Maxim
f0882df330 fixed VNC for capture without quality control 2020-08-22 22:35:37 +03:00
Devaev Maxim
7f74d7ee45 lint fix 2020-08-22 19:03:25 +03:00
Devaev Maxim
fac83d9aaf fixed login validator error message 2020-08-22 18:54:53 +03:00
Devaev Maxim
fb08c9192f Bump version: 1.93 → 1.94 2020-08-21 08:07:39 +03:00
Devaev Maxim
ac396c3a72 v0-hdmiusb-zerow 2020-08-21 08:05:43 +03:00
Devaev Maxim
19cbb62295 Bump version: 1.92 → 1.93 2020-08-21 01:40:32 +03:00
Devaev Maxim
78c9cd3d4f removed loop msd 2020-08-21 01:38:55 +03:00
Devaev Maxim
f84d83e270 Fixed pikvm/pikvm#48 2020-08-21 01:21:38 +03:00
Devaev Maxim
5edb85975f http hid api 2020-08-21 00:41:33 +03:00
Devaev Maxim
1048ccace6 Bump version: 1.91 → 1.92 2020-08-20 04:10:52 +03:00
Devaev Maxim
51c0df3ec9 new sponsor 2020-08-20 04:09:00 +03:00
Devaev Maxim
ebc7b3a808 Fixed pikvm/pikvm#45 2020-08-20 04:07:00 +03:00
Devaev Maxim
eb8a34a82d Bump version: 1.90 → 1.91 2020-08-19 09:13:53 +03:00
Devaev Maxim
e4393fe4b1 vnc does not support up/down mouse buttons 2020-08-19 08:56:57 +03:00
Devaev Maxim
6c35dd413d fixed race conditions on hid events cleanup 2020-08-18 10:57:02 +03:00
Devaev Maxim
28cc3fe99a mouse buttons 4 and 5 2020-08-18 10:45:15 +03:00
Devaev Maxim
6840c514dc Bump version: 1.89 → 1.90 2020-08-17 04:03:04 +03:00
Devaev Maxim
a93664ac84 new sponsor 2020-08-17 02:46:51 +03:00
Devaev Maxim
adc1955b5e js fix 2020-08-16 10:35:51 +03:00
Devaev Maxim
8c40029956 Fixed pikvm/pikvm#38: Closeable stream window 2020-08-16 10:35:29 +03:00
Devaev Maxim
2f069dbf91 new sponsor 2020-08-16 03:49:50 +03:00
Devaev Maxim
7e6e8d38f4 Issue pikvm#39: don't hide msd menu on connect/disconnect 2020-08-16 02:31:39 +03:00
Devaev Maxim
5f917371bf Fixed #4: regenerated pug, short title button 2020-08-16 02:19:56 +03:00
Maxim Devaev
aae0be292d
Merge pull request #4 from tryallthethings/patch-1
Update navbar-msd.pug
2020-08-16 02:18:37 +03:00
Stefan
44c52df819
Update navbar-msd.pug
Changed ambiguous wording for image upload buttons.
2020-08-15 17:30:08 +02:00
Devaev Maxim
a8e50f2e51 Bump version: 1.88 → 1.89 2020-08-15 10:48:50 +03:00
Devaev Maxim
e8eb2af378 new sponsor 2020-08-15 10:47:16 +03:00
Devaev Maxim
8dbbb0b066 fixed mouse wheel in firefox and on mac 2020-08-15 10:43:57 +03:00
Devaev Maxim
130c33b539 Bump version: 1.87 → 1.88 2020-08-13 09:00:22 +03:00
Devaev Maxim
2735f73805 new sponsor 2020-08-13 04:55:12 +03:00
Devaev Maxim
65183a3282 new sponsor 2020-08-13 00:22:29 +03:00
Devaev Maxim
2a747c1cf8 new sponsor 2020-08-12 12:42:27 +03:00
Devaev Maxim
37b3ac74d5 mixed mode for arduino hid 2020-08-12 12:39:04 +03:00
Devaev Maxim
9ee24e5cf4 new sponsor 2020-08-11 18:39:58 +03:00
Devaev Maxim
d4bdf4300e fixed copy 2020-08-11 18:22:43 +03:00
Devaev Maxim
9586383e5f new sponsor 2020-08-10 03:02:40 +03:00
Devaev Maxim
613773fc92 new sponsor 2020-08-09 04:34:37 +03:00
Devaev Maxim
9fd6b2a77b new sponsor 2020-08-08 23:57:21 +03:00
Devaev Maxim
1855812a9a Bump version: 1.86 → 1.87 2020-08-07 22:41:17 +03:00
Devaev Maxim
dc16f47790 changed ps/2 pins 2020-08-07 22:39:32 +03:00
Devaev Maxim
e3b334ffc3 web numpad 2020-08-07 06:03:59 +03:00
Devaev Maxim
d7add40c8b deprecated old designs 2020-08-07 02:54:13 +03:00
Devaev Maxim
d219499194 Bump version: 1.85 → 1.86 2020-08-07 00:13:38 +03:00
Devaev Maxim
4b1aa57ddf lint fix 2020-08-06 11:12:39 +03:00
Devaev Maxim
bf510f4ff3 refactoring 2020-08-06 11:10:37 +03:00
Devaev Maxim
1a7208f6db new sponsors 2020-08-06 07:09:30 +03:00
Devaev Maxim
1196285045 ps2 2020-08-06 07:03:29 +03:00
Devaev Maxim
05984cee5d ps2 keymaps 2020-08-04 23:49:35 +03:00
Devaev Maxim
657d9549e2 new sponsor 2020-08-04 18:03:06 +03:00
Devaev Maxim
ea0fb92625 new sponsor 2020-08-04 04:58:01 +03:00
Devaev Maxim
3d2426dbb1 new sponsor 2020-08-03 12:04:21 +03:00
Devaev Maxim
05a7100cbe new sponsors 2020-08-03 06:01:40 +03:00
Devaev Maxim
67ca1be5e8 Bump version: 1.84 → 1.85 2020-08-01 21:38:54 +03:00
Devaev Maxim
ffe7c84093 new sponsor 2020-08-01 21:37:00 +03:00
Devaev Maxim
2aa9ae92bb Bump version: 1.83 → 1.84 2020-08-01 20:25:40 +03:00
Devaev Maxim
bf461342e7 new kernel for rpi2 and rpi3 2020-08-01 20:23:53 +03:00
Devaev Maxim
3e9f711946 revision-specific 2020-08-01 18:07:16 +03:00
Devaev Maxim
47dabe6f12 Bump version: 1.82 → 1.83 2020-07-31 14:34:36 +03:00
Devaev Maxim
8279304830 disabled otg tty by default 2020-07-31 14:31:35 +03:00
Devaev Maxim
d22333f7d1 partially fixed hdmiusb enumeration 2020-07-31 06:53:33 +03:00
Devaev Maxim
5953604b6b vnc option to disabled tls 2020-07-31 05:27:41 +03:00
Devaev Maxim
756c4195fc new sponsor 2020-07-30 20:13:05 +03:00
Devaev Maxim
17fec053c5 new sponsors 2020-07-30 00:44:27 +03:00
Devaev Maxim
05dcf6161d new sponsor 2020-07-29 18:30:05 +03:00
Devaev Maxim
7fe52112f9 new sponsor 2020-07-28 18:56:03 +03:00
Devaev Maxim
0a747a72a8 new sponsors 2020-07-27 21:34:23 +03:00
Devaev Maxim
dc9d0d5856 Bump version: 1.81 → 1.82 2020-07-26 20:51:53 +03:00
Devaev Maxim
b462072368 fixed PKGBUILD 2020-07-26 20:50:17 +03:00
Devaev Maxim
3ed04d3b4d Bump version: 1.80 → 1.81 2020-07-26 20:14:23 +03:00
Devaev Maxim
409ec74a75 hdmiusb for rpi2 and rpi3 2020-07-26 20:12:44 +03:00
Devaev Maxim
cebd94a933 Bump version: 1.79 → 1.80 2020-07-26 15:02:21 +03:00
Devaev Maxim
d3dc7809c5 fixed kernel version 2020-07-26 15:00:44 +03:00
Devaev Maxim
7e9ab7679a Bump version: 1.78 → 1.79 2020-07-26 14:49:30 +03:00
Devaev Maxim
ae92d3aafb usb dongle support for rpi4 2020-07-26 14:47:49 +03:00
Devaev Maxim
8cb487014c new sponsor 2020-07-26 06:27:31 +03:00
Devaev Maxim
162e3aa1ab new sponsor 2020-07-24 00:07:23 +03:00
Devaev Maxim
08f36d6edf Bump version: 1.77 → 1.78 2020-07-23 12:36:40 +03:00
Devaev Maxim
ca3641c85b client port 2020-07-23 11:38:27 +03:00
Devaev Maxim
1d7f949b9e Bump version: 1.76 → 1.77 2020-07-23 10:44:52 +03:00
Devaev Maxim
d338bf219c tune vnc socket 2020-07-23 10:38:45 +03:00
Devaev Maxim
37c2f9391c fixed f-string 2020-07-23 05:51:16 +03:00
Devaev Maxim
360ff00903 refactoring 2020-07-21 15:27:14 +03:00
Devaev Maxim
b5ba546481 fix 2020-07-20 21:36:37 +03:00
Devaev Maxim
42d1baa6bf new sponsor 2020-07-20 14:19:21 +03:00
Devaev Maxim
dd01c8d79d pretty firefox scrollbar 2020-07-20 14:15:46 +03:00
Devaev Maxim
55810d5b6c Bump version: 1.75 → 1.76 2020-07-19 19:41:44 +03:00
Devaev Maxim
9494379f93 lint fix 2020-07-19 18:15:26 +03:00
Devaev Maxim
51437ca803 arial 2020-07-19 18:02:22 +03:00
Devaev Maxim
0d9edb277f another js hack 2020-07-19 18:02:04 +03:00
Devaev Maxim
903382fda5 many style improvements 2020-07-19 16:54:50 +03:00
Devaev Maxim
af89118eda fix 2020-07-19 15:01:39 +03:00
Devaev Maxim
2cdd55386b exc for unsupported streamer params 2020-07-19 15:01:29 +03:00
Devaev Maxim
ab13399a2a drive mode radio switch 2020-07-19 14:25:54 +03:00
Devaev Maxim
faedb829b9 refactoring 2020-07-18 18:19:57 +03:00
Devaev Maxim
b62271c112 fixed right menu position 2020-07-18 15:05:42 +03:00
Devaev Maxim
1ae4d28eb0 fix 2020-07-18 14:41:31 +03:00
Devaev Maxim
f837893abc fix 2020-07-18 13:51:20 +03:00
Devaev Maxim
e01ff66ff1 5.4.51 kernel for rpi4 2020-07-18 12:37:44 +03:00
Devaev Maxim
6bd4fc769f refactoring 2020-07-18 10:51:20 +03:00
Devaev Maxim
325bf6b587 Bump version: 1.74 → 1.75 2020-07-17 10:54:55 +03:00
Devaev Maxim
248c0a3dcf required ustreamer >= 1.19 2020-07-17 10:43:22 +03:00
Devaev Maxim
73069ec44e fixed patching 2020-07-16 22:32:35 +03:00
Devaev Maxim
32a2e86363 refactoring 2020-07-16 22:01:07 +03:00
Devaev Maxim
2f640b7a08 added power key to hids 2020-07-16 21:58:06 +03:00
Devaev Maxim
5613a7b2b5 refactoring 2020-07-16 11:04:03 +03:00
Devaev Maxim
0d857282fe csv 2020-07-15 17:05:04 +03:00
Devaev Maxim
09c202d67c Makefile fix 2020-07-15 13:48:14 +03:00
Devaev Maxim
c80ff7d27f refactoring 2020-07-15 13:46:33 +03:00
Devaev Maxim
762fae59fb better messages style 2020-07-15 13:22:02 +03:00
Devaev Maxim
6fa59bd7a1 kvm pug 2020-07-15 10:34:49 +03:00
Devaev Maxim
3e7315c448 new sponsor 2020-07-14 12:41:27 +03:00
Devaev Maxim
362a4d60b9 remove pug templates after installation 2020-07-14 12:39:09 +03:00
Devaev Maxim
9b3e113772 pug 2020-07-14 12:28:57 +03:00
Devaev Maxim
e2f2e8b359 ui for stream resolution 2020-07-14 09:06:03 +03:00
Devaev Maxim
77f3dab55c optional quality and resolution 2020-07-14 09:04:52 +03:00
Devaev Maxim
07fb731b21 partial fix for jumping slider 2020-07-12 09:05:38 +03:00
Devaev Maxim
2512c6448c notify about health 2020-07-11 03:01:24 +03:00
Devaev Maxim
01fee4992b refactoring 2020-07-11 01:58:07 +03:00
Devaev Maxim
e390914c7e fix 2020-07-09 11:11:12 +03:00
Devaev Maxim
dc5b8c2522 hw tab in web ui 2020-07-09 11:06:03 +03:00
Devaev Maxim
5f1733d002 complex info handle 2020-07-09 09:41:05 +03:00
Devaev Maxim
53eb74670d hw monitoring 2020-07-09 05:13:03 +03:00
Devaev Maxim
69f77ce48b Bump version: 1.73 → 1.74 2020-07-08 03:29:33 +03:00
Devaev Maxim
1afcfebc7f moving to ecc 2020-07-08 03:28:02 +03:00
Devaev Maxim
cb8ddaec47 Bump version: 1.72 → 1.73 2020-07-03 22:19:34 +03:00
Devaev Maxim
36d0880a03 mute rfb_close_writer() 2020-07-03 22:17:53 +03:00
Devaev Maxim
9409c41125 Bump version: 1.71 → 1.72 2020-06-27 00:42:46 +03:00
Devaev Maxim
c3feca676a hide_kvm_button 2020-06-27 00:41:07 +03:00
Devaev Maxim
dc32b264de minor fix for kvmd-gencert 2020-06-25 12:22:28 +03:00
Devaev Maxim
e9d8c041a4 preferred tls 1.3 2020-06-25 12:20:46 +03:00
Devaev Maxim
55ab843e48 refactoring 2020-06-20 14:16:42 +03:00
Devaev Maxim
7f321f94ac Bump version: 1.70 → 1.71 2020-06-20 12:06:33 +03:00
Devaev Maxim
8d34615c6f fixed ws record 2020-06-20 12:05:35 +03:00
Devaev Maxim
ec3890e0e6 fixed keymap validation 2020-06-20 11:29:27 +03:00
Devaev Maxim
cf2f763d1b user macro 2020-06-20 11:29:06 +03:00
Devaev Maxim
490e5b352e ipmiutil health 2020-06-19 09:21:23 +03:00
Devaev Maxim
38cdd876b9 Bump version: 1.69 → 1.70 2020-06-18 14:52:57 +03:00
Devaev Maxim
6f8968d6bc Revert "kernel 5.4.45"
This reverts commit 76aaece8ed006fa3b5cac08aaf79228440c429fe.
2020-06-18 14:51:46 +03:00
Devaev Maxim
a0ae6b4fd5 Bump version: 1.68 → 1.69 2020-06-18 12:03:22 +03:00
Devaev Maxim
76aaece8ed kernel 5.4.45 2020-06-18 12:02:27 +03:00
Devaev Maxim
8ee01e1919 new sponsor 2020-06-13 06:27:47 +03:00
Devaev Maxim
595209c470 no-stream mode for /ws 2020-06-11 09:09:25 +03:00
Devaev Maxim
aaea8fef24 refactoring 2020-06-10 04:31:14 +03:00
Devaev Maxim
8a18a41459 refactoring 2020-06-09 21:43:40 +03:00
Devaev Maxim
91ecd2d3da Makefile help 2020-06-09 11:42:04 +03:00
Devaev Maxim
5e3f7801b5 new sponsor 2020-06-09 09:11:14 +03:00
Devaev Maxim
9a4eb3717f move to 0x0, refactoring 2020-06-09 00:38:32 +03:00
Devaev Maxim
340b879e23 Bump version: 1.67 → 1.68 2020-06-08 22:32:24 +03:00
Devaev Maxim
a28548cec5 lint fix 2020-06-08 05:52:58 +03:00
Devaev Maxim
a81871adbe supressed snapshot spam 2020-06-08 05:00:01 +03:00
Devaev Maxim
f3a9ae75f9 refactoring 2020-06-08 04:56:37 +03:00
Devaev Maxim
241c787e10 periodic snapshots 2020-06-08 04:51:48 +03:00
Devaev Maxim
04c3763e69 send_key_events() 2020-06-06 13:19:30 +03:00
Devaev Maxim
1d7d4100a5 common component interface 2020-06-06 06:29:29 +03:00
Devaev Maxim
4f3ebf0fd1 fix 2020-06-06 05:09:10 +03:00
Devaev Maxim
a59aa68f42 new sponsor 2020-06-06 03:53:44 +03:00
Devaev Maxim
0c4fabae75 Bump version: 1.66 → 1.67 2020-06-06 02:24:35 +03:00
Devaev Maxim
ac24aa6100 Revert "fix"
This reverts commit 4c78f7351786157b987dc53af86803da52ee72b7.
2020-06-05 10:48:56 +03:00
Devaev Maxim
4c78f73517 fix 2020-06-05 10:43:49 +03:00
Devaev Maxim
83a8eb8dd2 proper logs 2020-06-05 06:27:23 +03:00
Devaev Maxim
1eb440b060 ipmi: write client ip 2020-06-05 05:37:08 +03:00
Devaev Maxim
b9e53a00f8 suppressed serial hid spam 2020-06-05 05:25:27 +03:00
Devaev Maxim
9e60f24c54 fix 2020-06-04 07:55:24 +03:00
Devaev Maxim
9cee98310d refactoring 2020-06-04 06:27:52 +03:00
Devaev Maxim
be9ce4e4ff serial: decrease common_retries with read_retries 2020-06-04 05:52:50 +03:00
Devaev Maxim
333908b6a1 fixed keypad dot on arduino hid 2020-06-03 09:01:57 +03:00
Devaev Maxim
9997935a2e new sponsor 2020-06-03 06:50:43 +03:00
Devaev Maxim
e05cf9993a Bump version: 1.65 → 1.66 2020-06-03 02:01:56 +03:00
Devaev Maxim
b6d463f814 numpad supported 2020-06-03 02:01:04 +03:00
Devaev Maxim
54f0e1990b fixed rfb leds 2020-06-03 01:59:15 +03:00
Devaev Maxim
cb9597679d improved info handler 2020-06-02 20:59:43 +03:00
Devaev Maxim
fe7c275d1a new sponsor 2020-06-02 05:12:47 +03:00
Devaev Maxim
9c9339b874 new sponsor 2020-06-02 02:17:41 +03:00
Devaev Maxim
24fd14dcc0 Bump version: 1.64 → 1.65 2020-06-01 00:50:24 +03:00
Devaev Maxim
b680ea5ffa thanks 2020-06-01 00:48:58 +03:00
Devaev Maxim
76266ce1b8 Bump version: 1.63 → 1.64 2020-05-30 19:51:51 +03:00
Devaev Maxim
81fec121d0 new snapshot api 2020-05-29 19:49:47 +03:00
Devaev Maxim
a5fcafe2a5 image context manager 2020-05-29 18:53:17 +03:00
Devaev Maxim
3389dbe048 refactoring 2020-05-29 17:03:41 +03:00
Devaev Maxim
ef8b6cfda5 refactoring 2020-05-29 07:15:04 +03:00
Devaev Maxim
0ead2f45cf refactoring 2020-05-29 06:54:34 +03:00
Devaev Maxim
d79ed9f1be refactoring 2020-05-29 06:44:28 +03:00
Devaev Maxim
cf5bf8e147 refactoring 2020-05-29 04:33:35 +03:00
Devaev Maxim
eb13da03be refactoring 2020-05-29 04:30:37 +03:00
Devaev Maxim
1c93f6a562 refactoring 2020-05-28 11:03:49 +03:00
Devaev Maxim
fbdfb009a1 refactoring 2020-05-28 08:18:03 +03:00
Devaev Maxim
c1602eec06 refactoring 2020-05-27 05:11:55 +03:00
Devaev Maxim
ccff95f757 refactoring 2020-05-27 04:50:07 +03:00
Devaev Maxim
d59d2c79a1 paypal 2020-05-27 03:54:03 +03:00
Devaev Maxim
3a2bf53047 refactoring 2020-05-27 02:30:49 +03:00
Devaev Maxim
49aca90c2e refactoring 2020-05-27 01:51:57 +03:00
Devaev Maxim
3f6d13af30 Bump version: 1.62 → 1.63 2020-05-26 22:01:40 +03:00
Devaev Maxim
b1872289cb fixed eof handling 2020-05-26 21:40:24 +03:00
Devaev Maxim
00bf4a2ab1 don't restart streamer with the same params 2020-05-26 21:19:26 +03:00
Devaev Maxim
99f994c866 fix 2020-05-26 02:52:45 +03:00
Devaev Maxim
6c9429a415 Bump version: 1.61 → 1.62 2020-05-25 22:58:00 +03:00
Devaev Maxim
bedf542d9b An ugly workaround for "Multiple access to StreamReader in eof state, might be infinite loop" 2020-05-25 22:49:19 +03:00
Devaev Maxim
9bfc09a265 prepare to the new feature 2020-05-25 21:32:01 +03:00
Devaev Maxim
aed6bdaf84 supported addupper 2020-05-25 06:02:23 +03:00
Devaev Maxim
e6f8396661 refactoring 2020-05-25 01:52:37 +03:00
Devaev Maxim
d5dca5a8b4 refactoring 2020-05-25 01:49:39 +03:00
Devaev Maxim
499cbb0cc5 improved some logging 2020-05-25 01:39:18 +03:00
Devaev Maxim
eeece34312 improved keymap parser 2020-05-24 15:43:17 +03:00
Devaev Maxim
cf47e0c880 commond kvmd ws client 2020-05-24 11:41:38 +03:00
Devaev Maxim
6d7351502e removed print 2020-05-24 03:44:24 +03:00
Devaev Maxim
d61471d3a3 share ClientSession via KvmdClientSession 2020-05-24 03:00:29 +03:00
Devaev Maxim
564c67fdb7 missing __init__.py 2020-05-23 20:42:10 +03:00
Devaev Maxim
143528fef9 Bump version: 1.60 → 1.61 2020-05-23 16:02:15 +03:00
Devaev Maxim
4737f9d558 fixed unshifted default keys 2020-05-23 16:01:13 +03:00
Devaev Maxim
e9d86c058d major keymaps improvement 2020-05-23 15:57:02 +03:00
Devaev Maxim
a795fe5ed6 additional keymapping info; refactoring 2020-05-23 11:57:19 +03:00
Devaev Maxim
17082c916a Bump version: 1.59 → 1.60 2020-05-22 21:10:47 +03:00
Devaev Maxim
43afd9acb3 server-side paste-as-keys 2020-05-22 21:07:54 +03:00
Devaev Maxim
0fa0680bd7 lint fixes 2020-05-22 14:36:01 +03:00
Maxim Devaev
08950a5fbd
Create FUNDING.yml 2020-05-19 18:59:59 +03:00
Devaev Maxim
028e0b06ff refactoring 2020-05-18 13:34:23 +03:00
Devaev Maxim
3947640771 refactoring 2020-05-17 22:20:28 +03:00
Devaev Maxim
0447358f5e refactoring 2020-05-17 21:30:22 +03:00
Devaev Maxim
8a13f62911 refactoring 2020-05-17 16:11:49 +03:00
Devaev Maxim
1fd33bc8ed refactoring 2020-05-17 16:09:58 +03:00
Devaev Maxim
1251b8d705 better error handling 2020-05-17 14:46:10 +03:00
Devaev Maxim
2eef3061ce improved security checks 2020-05-16 17:35:10 +03:00
Devaev Maxim
a364e689c6 vnc none auth support 2020-05-15 14:14:12 +03:00
Devaev Maxim
b2c2244aa3 Bump version: 1.58 → 1.59 2020-05-12 09:43:17 +03:00
Devaev Maxim
6eb2e3ff33 lint fix 2020-05-11 21:54:25 +03:00
Devaev Maxim
22931d2bf0 pi3-disable-bt is deprecated 2020-05-11 21:02:03 +03:00
Devaev Maxim
10f3b5f6a3 abort vnc connection 2020-05-11 19:35:36 +03:00
Devaev Maxim
98a176f740 lint fixes 2020-05-11 08:06:44 +03:00
Maxim Devaev
60b6c219d9
Create README.md 2020-05-11 06:25:54 +03:00
Devaev Maxim
4109f1c8e4 workflow fix 2020-05-11 06:08:03 +03:00
Maxim Devaev
2e28ad2ee4
Create dockerimage.yml 2020-05-11 05:58:54 +03:00
Devaev Maxim
8108212aa2 Bump version: 1.57 → 1.58 2020-05-06 01:36:01 +03:00
Devaev Maxim
b43ec9aa81 fix 2020-05-06 01:35:27 +03:00
Devaev Maxim
88a2c1b8d2 Bump version: 1.56 → 1.57 2020-05-06 01:24:46 +03:00
Devaev Maxim
391c01ae35 bind to 4.19.118 kernel 2020-05-06 01:24:00 +03:00
Devaev Maxim
dd6d680e84 Bump version: 1.55 → 1.56 2020-05-05 21:17:59 +03:00
Devaev Maxim
3de0c08301 fixed udev rules for unicam-image 2020-05-05 21:16:39 +03:00
Devaev Maxim
67c7b3756a web: fixed double arrow in select 2020-05-04 10:11:09 +03:00
Devaev Maxim
685f4f4ea3 Bump version: 1.54 → 1.55 2020-04-25 15:50:02 +03:00
Devaev Maxim
fbb07c0e93 refactoring 2020-04-25 15:43:08 +03:00
Devaev Maxim
61f81df404 reuseaddr 2020-04-25 15:42:36 +03:00
Devaev Maxim
775f8741a0 fb_requested on lock 2020-04-25 15:41:12 +03:00
Devaev Maxim
6a5e3e47bb Bump version: 1.53 → 1.54 2020-04-24 10:25:46 +03:00
Devaev Maxim
75669466cf vnc: anon tls encryption 2020-04-23 11:17:31 +03:00
Devaev Maxim
820ef17871 using ipaddress module in vlaidators 2020-04-22 21:28:27 +03:00
Devaev Maxim
1bb0d725fa improved buttons on index 2020-04-22 20:07:25 +03:00
Devaev Maxim
ffa0bef577 Bump version: 1.52 → 1.53 2020-04-21 08:15:07 +03:00
Devaev Maxim
05d35d7eb0 real ports for extras 2020-04-21 08:01:16 +03:00
Devaev Maxim
8c904cf4a8 vnc manifest 2020-04-21 07:09:36 +03:00
Devaev Maxim
cf614feeb9 Bump version: 1.51 → 1.52 2020-04-02 00:16:32 +03:00
Devaev Maxim
769b1c0893 fixed vncpasswd permissions 2020-03-30 20:11:24 +03:00
Devaev Maxim
a24dbed52b Bump version: 1.50 → 1.51 2020-03-27 06:59:18 +03:00
Devaev Maxim
d4ff811e1d kvmd/auth/disabled -> kvmd/auth/enabled 2020-03-27 03:26:26 +03:00
Devaev Maxim
eb923a6f6f Bump version: 1.49 → 1.50 2020-03-26 13:17:46 +03:00
Devaev Maxim
8fd2a597bb vncauth 2020-03-26 13:17:07 +03:00
Devaev Maxim
94b779c586 refactoring 2020-03-23 00:50:48 +03:00
Devaev Maxim
4e0f7e61a2 Bump version: 1.48 → 1.49 2020-03-22 00:13:21 +03:00
Devaev Maxim
1fdc26f136 better exc handling 2020-03-20 16:00:15 +03:00
Devaev Maxim
f85ee6b4bf report about vnc client features 2020-03-20 15:45:02 +03:00
Devaev Maxim
3cafcaf431 configurable desired_fps 2020-03-20 15:33:47 +03:00
Devaev Maxim
55307fe8da simplified streamer client 2020-03-20 15:19:57 +03:00
Devaev Maxim
8164594b92 minor vnc fixes 2020-03-20 11:39:22 +03:00
Devaev Maxim
0ac8b0c3e4 Bump version: 1.47 → 1.48 2020-03-20 03:18:31 +03:00
Devaev Maxim
a3e54537d8 oops 2020-03-20 03:17:59 +03:00
Devaev Maxim
f69e6ae089 Bump version: 1.46 → 1.47 2020-03-20 03:08:05 +03:00
Devaev Maxim
d5ae32b132 vnc 2020-03-20 03:07:27 +03:00
Devaev Maxim
ab6264bd5e auth only on 200 2020-03-16 02:46:53 +03:00
Devaev Maxim
966267ebb9 asyncio.CancelledError is a subclass of BaseException since 3.8 2020-03-16 02:42:23 +03:00
Devaev Maxim
5b58af4d6f proper usage of asyncio.wait() for first completed 2020-03-15 02:42:10 +03:00
Devaev Maxim
eb419822cd Bump version: 1.45 → 1.46 2020-03-05 06:19:19 +03:00
Devaev Maxim
832235aa55 fixed race condition with udev and kvmd-tc358743.service 2020-03-05 06:18:40 +03:00
Devaev Maxim
12086af9be Bump version: 1.44 → 1.45 2020-03-04 04:30:31 +03:00
Devaev Maxim
779a9f1d15 receiving ustreamer signals 2020-03-04 04:18:35 +03:00
Devaev Maxim
52e117df3c put_nowait 2020-03-04 00:26:45 +03:00
Devaev Maxim
552bb93212 atomic fixes, removed tasked and muted 2020-03-03 23:48:53 +03:00
Devaev Maxim
3b16242cfa region: notify about enter/exit, unregion on exception 2020-03-02 02:25:53 +03:00
Devaev Maxim
8972357dbc changed region methods to async 2020-03-02 01:26:43 +03:00
Devaev Maxim
e855976f05 no pid limits 2020-03-01 20:50:50 +03:00
Devaev Maxim
44b0ab19bf no more busyloops in stub plugins 2020-03-01 04:30:32 +03:00
Devaev Maxim
ff6e284e64 no busyloop in otg msd 2020-03-01 03:58:08 +03:00
Devaev Maxim
cae9ad9a21 removed busyloop from stream controller 2020-03-01 02:31:06 +03:00
Devaev Maxim
75d9b858d7 moved AioExclusiveRegion to aiotools 2020-02-29 17:23:57 +03:00
Devaev Maxim
5ef5e00da9 removed __poll_dead_sockets() 2020-02-29 16:52:48 +03:00
Devaev Maxim
831b4fa16c refactoring; reduce cpu consumption in streamer controller 2020-02-29 16:46:35 +03:00
Devaev Maxim
1470ebe6fa hid leds 2020-02-28 04:44:05 +03:00
Devaev Maxim
a84b6bd31a PROJECT_LIBDEPS_DIR 2020-02-21 11:53:29 +03:00
Devaev Maxim
b7419ecb3a supported menu and numlock keys 2020-02-21 11:50:57 +03:00
Devaev Maxim
b8b9bbe53a css 2020-02-20 22:58:00 +03:00
Devaev Maxim
d1823afd04 find first unused loop device 2020-02-20 11:12:00 +03:00
Devaev Maxim
6cd4a0a988 otg keyboard leds 2020-02-20 11:11:39 +03:00
Devaev Maxim
d732b4f518 /hid/state -> /hid 2020-02-17 08:05:57 +03:00
Devaev Maxim
5e9c110ef6 fixed double get_state() in serial hid 2020-02-15 11:34:37 +03:00
Devaev Maxim
2f64902983 Bump version: 1.43 → 1.44 2020-02-11 23:21:54 +03:00
Devaev Maxim
635cfc7d9e fixed hid ensuring 2020-02-08 03:34:43 +03:00
Devaev Maxim
301e58148e lint fix 2020-02-07 23:31:30 +03:00
Devaev Maxim
5b2eb6892f comments 2020-02-05 02:10:40 +03:00
Devaev Maxim
9d45d2060c logitech keyboard descriptor 2020-02-05 01:56:47 +03:00
Devaev Maxim
2104009984 fix 2020-02-04 18:39:05 +03:00
Devaev Maxim
bef7be3030 pam auth module 2020-02-04 18:38:46 +03:00
Devaev Maxim
965e6fda8d Bump version: 1.42 → 1.43 2019-12-27 04:30:57 +03:00
Devaev Maxim
e03cc67195 fixed POST of /hid/reset 2019-12-27 04:28:15 +03:00
Devaev Maxim
37738e38e9 Bump version: 1.41 → 1.42 2019-12-21 19:05:18 +03:00
Devaev Maxim
db505ec78e udev fixes for v0 and v1 on rpi3 2019-12-21 19:01:52 +03:00
Devaev Maxim
f084671d30 Bump version: 1.40 → 1.41 2019-12-12 05:29:29 +03:00
Devaev Maxim
cda5b70e7c option to disable auth 2019-12-12 05:27:08 +03:00
Devaev Maxim
03e05af39a refactoring 2019-12-10 06:29:45 +03:00
Devaev Maxim
fb2a9986d8 refactoring 2019-12-10 06:27:27 +03:00
Devaev Maxim
6c385327ff lint fix 2019-12-10 05:53:46 +03:00
Devaev Maxim
f5a6fe35a9 ws api refactoring 2019-12-10 05:53:29 +03:00
Devaev Maxim
3048fc7923 very common exceptions 2019-12-09 02:26:48 +03:00
Devaev Maxim
dd52a85cf6 refactoring 2019-12-09 02:23:05 +03:00
Devaev Maxim
272ea08adf Bump version: 1.39 → 1.40 2019-11-30 18:48:00 +03:00
Devaev Maxim
f23d009d0c wol ui 2019-11-30 02:25:02 +03:00
Devaev Maxim
f6fab6415e common feature-disabled class 2019-11-29 01:58:07 +03:00
Devaev Maxim
3d8f16b9c6 wake-on-lan back 2019-11-29 01:35:38 +03:00
Devaev Maxim
51e15d01c2 Bump version: 1.38 → 1.39 2019-11-23 01:37:05 +03:00
Devaev Maxim
01f92b6f19 don't invert atx leds by default 2019-11-20 05:08:49 +03:00
Devaev Maxim
9f4cc35a75 Bump version: 1.37 → 1.38 2019-11-18 21:27:36 +03:00
Devaev Maxim
cb6a6ed1d6 fixed exception on msd uploading abort 2019-11-16 19:53:05 +03:00
Devaev Maxim
f0ffbe5b4a separator in msd images list 2019-11-15 17:45:45 +03:00
Devaev Maxim
c42bb2b7ef Bump version: 1.36 → 1.37 2019-11-15 00:03:29 +03:00
Devaev Maxim
029908e20c lint fix 2019-11-14 23:54:48 +03:00
Devaev Maxim
97678bba80 python == 3.8 2019-11-14 23:54:19 +03:00
Devaev Maxim
3271f2d46f Bump version: 1.35 → 1.36 2019-11-10 17:35:33 +03:00
Devaev Maxim
f3b4168a2b fixed zerow package 2019-11-10 17:35:00 +03:00
Devaev Maxim
e418390348 Bump version: 1.34 → 1.35 2019-11-10 06:16:13 +03:00
Devaev Maxim
9f3c0c3799 configs packages for zerow 2019-11-10 06:15:35 +03:00
Devaev Maxim
af07e4cba4 Bump version: 1.33 → 1.34 2019-11-10 06:13:30 +03:00
Devaev Maxim
1872dfb465 style fix 2019-11-10 06:06:14 +03:00
Devaev Maxim
151463447e moved images info to comment elements 2019-11-10 06:05:55 +03:00
Devaev Maxim
31a213385d minor images list fixes 2019-11-10 04:47:40 +03:00
Devaev Maxim
79947cccf0 fixed select overflow 2019-11-10 04:46:54 +03:00
Devaev Maxim
1307966531 lock image selector on change 2019-11-10 03:21:36 +03:00
Devaev Maxim
bf0da305c7 Bump version: 1.32 → 1.33 2019-11-10 01:10:08 +03:00
Devaev Maxim
b7d4c7abe6 default test platform = v2-hdmi-rpi4 2019-11-10 01:09:33 +03:00
Devaev Maxim
94d5eb9451 Merge branch 'zerow' 2019-11-10 01:02:44 +03:00
Devaev Maxim
090bb3866a otg msd ui 2019-11-10 01:02:31 +03:00
Devaev Maxim
67bc2b0e08 fixed css selectors 2019-11-09 03:11:22 +03:00
Devaev Maxim
976130bcd9 zerow configs 2019-11-08 17:20:06 +03:00
Devaev Maxim
fa40676136 otg msd: notify about free space while uploading 2019-11-08 03:53:00 +03:00
Devaev Maxim
13dcbc0c62 renamed css 2019-11-08 02:20:05 +03:00
Devaev Maxim
5dc05e87f8 renamed leds 2019-11-08 02:17:26 +03:00
Devaev Maxim
7f1461371d refactoring 2019-11-08 02:08:56 +03:00
Devaev Maxim
3c1681fd2b refactoring 2019-11-08 01:34:30 +03:00
Devaev Maxim
b261c2695c ui: partial multi msd support 2019-11-08 01:28:42 +03:00
Devaev Maxim
8abe4b1ac9 v2 testing 2019-11-07 06:42:48 +03:00
Devaev Maxim
10f8c2b335 otg msd and big refactoring 2019-11-07 01:27:07 +03:00
Devaev Maxim
f6214191af strict permissions 2019-10-27 19:39:24 +03:00
Devaev Maxim
da952424ef split nginx.conf 2019-10-27 19:15:13 +03:00
Devaev Maxim
b8abf790f2 func renamed 2019-10-27 02:24:53 +03:00
Devaev Maxim
1aa568c718 Bump version: 1.31 → 1.32 2019-10-24 03:48:43 +03:00
Devaev Maxim
920c33d37e /var/lib/kvmd/msd on ro partition 2019-10-24 03:48:06 +03:00
Devaev Maxim
7b5e59852e Bump version: 1.30 → 1.31 2019-10-24 03:09:44 +03:00
Devaev Maxim
b4ef91838e improved validation 2019-10-24 03:09:06 +03:00
Devaev Maxim
c124e63d6d refactoring 2019-10-24 02:45:07 +03:00
Devaev Maxim
096064cfbc changed some defaults 2019-10-24 02:42:19 +03:00
Devaev Maxim
97e2d9128c strict file validation 2019-10-24 01:21:34 +03:00
Devaev Maxim
372bf2a4af allow kvmd to edit msd params 2019-10-24 00:21:07 +03:00
Devaev Maxim
af1e09067b Bump version: 1.29 → 1.30 2019-10-23 01:07:04 +03:00
Devaev Maxim
a02ce60f7e fucking systemd 2019-10-23 01:04:12 +03:00
Devaev Maxim
8e211acc13 Bump version: 1.28 → 1.29 2019-10-21 04:53:22 +03:00
Devaev Maxim
cae86d9302 improved otg msd 2019-10-21 03:40:58 +03:00
Devaev Maxim
7ee3d585e8 Bump version: 1.27 → 1.28 2019-10-19 20:07:28 +03:00
Devaev Maxim
d42e04b808 removed tc358743-dkms from deps 2019-10-19 20:05:05 +03:00
Devaev Maxim
1a3ec60911 Bump version: 1.26 → 1.27 2019-10-19 19:41:58 +03:00
Devaev Maxim
f08a94ae0f fixed flake8 quotes linter 2019-10-19 19:37:48 +03:00
Devaev Maxim
34da341edc otg msd helpers 2019-10-19 19:37:32 +03:00
Devaev Maxim
c0c1febf72 Bump version: 1.25 → 1.26 2019-10-17 02:56:12 +03:00
Devaev Maxim
64615cf3b5 ignore new arch packages 2019-10-17 02:55:26 +03:00
Devaev Maxim
b126f06170 no external flash for v2 2019-10-17 02:02:28 +03:00
Devaev Maxim
62dd6b96b5 kvmd-gencert --do-the-thing 2019-10-16 14:53:27 +03:00
Devaev Maxim
7d1afc869c Bump version: 1.24 → 1.25 2019-10-15 20:19:04 +03:00
Devaev Maxim
943f71f5a6 fixed perms 2019-10-15 20:18:34 +03:00
Devaev Maxim
96cffd60fa Bump version: 1.23 → 1.24 2019-10-15 19:41:44 +03:00
Devaev Maxim
97373f2a02 using install 2019-10-15 19:40:53 +03:00
Devaev Maxim
7edf264220 python-3.7 2019-10-15 19:40:40 +03:00
Devaev Maxim
7b4818ed15 msd: allow any printable characters in image name 2019-10-15 08:31:00 +03:00
Devaev Maxim
e58ad66da9 some validation 2019-10-15 05:29:15 +03:00
Devaev Maxim
a88ad42501 added test case 2019-10-15 03:07:54 +03:00
Devaev Maxim
b34dd28d6a Bump version: 1.22 → 1.23 2019-10-12 00:01:36 +03:00
Devaev Maxim
f5075fba40 pylint is broken again 2019-10-12 00:00:59 +03:00
Devaev Maxim
35a40614e5 use process_name_prefix to kill ustreamer 2019-10-12 00:00:40 +03:00
Devaev Maxim
74449c81ad set --process-name-prefix 2019-10-11 23:43:59 +03:00
Devaev Maxim
f8a4f59e13 minor fix for backup 2019-10-11 23:31:12 +03:00
Devaev Maxim
9bfdc16481 Bump version: 1.21 → 1.22 2019-10-11 22:49:32 +03:00
Devaev Maxim
259dc208b2 don't use symlinks. fucking pacman 2019-10-11 22:30:17 +03:00
Devaev Maxim
818fffa420 Bump version: 1.20 → 1.21 2019-10-11 20:50:29 +03:00
Devaev Maxim
b65ac65108 backup configs 2019-10-11 20:49:58 +03:00
Devaev Maxim
881509719f Bump version: 1.19 → 1.20 2019-10-11 19:49:00 +03:00
Devaev Maxim
cc726d7f84 enabled atx on v2-hdmi 2019-10-11 19:46:32 +03:00
Devaev Maxim
8ef581352e min ustreamer == 1.8 2019-10-11 19:45:04 +03:00
Devaev Maxim
958c113c2f added secret for http auth 2019-10-11 01:04:29 +03:00
Devaev Maxim
0fd333d73b fix 2019-10-10 15:25:45 +03:00
Devaev Maxim
f6d44f2464 fixed resolution in v0-vga 2019-10-10 04:52:11 +03:00
Devaev Maxim
5dfd310ea3 ustreamer: using --exit-on-parent-death 2019-10-10 03:35:33 +03:00
Devaev Maxim
4a44f4857c cleanup: refactoring, using psutil 2019-10-10 03:29:56 +03:00
Devaev Maxim
ad5b3c0a0e options overwrites override 2019-10-08 10:43:45 +03:00
Devaev Maxim
bc3a15aba3 testenv: using override instead complete config 2019-10-08 10:43:11 +03:00
Devaev Maxim
149c0611f8 Bump version: 1.18 → 1.19 2019-10-05 15:22:58 +03:00
Devaev Maxim
e97d48b363 cdrom flag; written fix 2019-10-05 09:23:48 +03:00
Devaev Maxim
a073113f38 fixed missing deps 2019-10-05 03:45:48 +03:00
Devaev Maxim
ff20346c23 Bump version: 1.17 → 1.18 2019-10-05 02:42:49 +03:00
Devaev Maxim
da660d02cd arduino hid: fixed mouse movement on windows 2019-10-05 02:42:06 +03:00
Devaev Maxim
f5bbfeb8b5 Bump version: 1.16 → 1.17 2019-10-03 02:04:27 +03:00
Devaev Maxim
853964ac3a updated hid-project library 2019-10-02 22:00:13 +03:00
Devaev Maxim
4d668e9c1a refactoring 2019-10-01 21:23:45 +03:00
Devaev Maxim
f71c06a9a9 simplified serial hid 2019-10-01 20:21:58 +03:00
Devaev Maxim
56ae6a5d90 refactoring 2019-10-01 17:32:54 +03:00
Devaev Maxim
05e9dca03c refactoring 2019-10-01 09:12:27 +03:00
Devaev Maxim
08eeb3c19f changed processes names 2019-10-01 07:43:02 +03:00
Devaev Maxim
57cb22d7d2 kvmd-otg-msd: more flags 2019-10-01 07:39:47 +03:00
Devaev Maxim
8cc5f631ca horizontal scrolling for otg 2019-10-01 05:48:20 +03:00
Devaev Maxim
74931a8096 TimeoutStopSec 2019-10-01 03:12:29 +03:00
Devaev Maxim
816437ac63 refactoring 2019-10-01 03:10:18 +03:00
Devaev Maxim
41ae2b89b5 log otg actions 2019-09-30 23:29:18 +03:00
Devaev Maxim
b106716ce0 changed otg gadget name to kvmd 2019-09-30 10:13:13 +03:00
Devaev Maxim
4e262c7c00 Bump version: 1.15 → 1.16 2019-09-30 08:06:28 +03:00
Devaev Maxim
f590546554 v2-hdmi: mouse 2019-09-30 08:05:22 +03:00
Devaev Maxim
bcae85c8b9 hdmi: decreased stream restart 2019-09-30 07:55:32 +03:00
Devaev Maxim
5b8ac7ba70 added middle button 2019-09-30 07:36:50 +03:00
Devaev Maxim
eb445ca45d serial hid: added middle button 2019-09-30 07:23:10 +03:00
Devaev Maxim
f29c5296cb error -> debug 2019-09-30 05:59:38 +03:00
Devaev Maxim
ce6cb3057a otg mouse 2019-09-30 05:47:45 +03:00
Devaev Maxim
e1b7e4fbcd minor otg hid fixes 2019-09-30 01:02:00 +03:00
Devaev Maxim
7d6d6fa6f9 added otg msd stub 2019-09-30 01:00:38 +03:00
Devaev Maxim
a089334371 separate keyboard and mouse statuses 2019-09-30 00:43:35 +03:00
Devaev Maxim
a60e4142b8 web: fixed mouse 2019-09-30 00:42:44 +03:00
Devaev Maxim
8f43d23089 hid fixes 2019-09-29 05:48:16 +03:00
Devaev Maxim
1968aca5c4 fixed keyboard otg device path 2019-09-28 07:30:39 +03:00
Devaev Maxim
1c116f08f7 Bump version: 1.14 → 1.15 2019-09-28 06:59:09 +03:00
Devaev Maxim
925c8b52d7 fixed yaml indent 2019-09-28 06:58:39 +03:00
Devaev Maxim
7fc7cf75d7 Bump version: 1.13 → 1.14 2019-09-28 06:46:40 +03:00
Devaev Maxim
2bd55ded82 fixed config name 2019-09-28 06:46:09 +03:00
Devaev Maxim
e56b0cfbab Bump version: 1.12 → 1.13 2019-09-28 06:03:51 +03:00
Devaev Maxim
fb8b7843d0 fixed platform packages 2019-09-28 06:03:20 +03:00
Devaev Maxim
7b3880d198 Bump version: 1.11 → 1.12 2019-09-28 05:46:22 +03:00
Devaev Maxim
31c74a1c30 mypy fix 2019-09-28 05:45:53 +03:00
Devaev Maxim
ebe1255921 v2 configs 2019-09-28 05:41:31 +03:00
Devaev Maxim
c16e4c953c otg keyboard hid 2019-09-28 05:21:09 +03:00
Devaev Maxim
31c17bb583 otg keymap 2019-09-26 10:26:21 +03:00
Devaev Maxim
cbebefc6c9 test fix 2019-09-26 04:27:13 +03:00
Devaev Maxim
5e1e3cdf64 refactoring 2019-09-26 04:23:50 +03:00
Devaev Maxim
2f767573d3 refactoring 2019-09-26 03:19:24 +03:00
Devaev Maxim
bf9e004002 mouse wheel from -127 to +127
https://github.com/NicoHood/HID/blob/0835e6a/src/SingleReport/SingleAbsoluteMouse.cpp#L54
2019-09-26 02:49:42 +03:00
Devaev Maxim
df3e2875d7 otg: fixed keyboard report_length 2019-09-25 07:09:37 +03:00
Devaev Maxim
5c4e8f7962 extended msd api for future otg 2019-09-25 03:15:20 +03:00
Devaev Maxim
5d437c58e3 otg: init_delay 2019-09-24 11:39:20 +03:00
Devaev Maxim
cfe0c07543 refactoring 2019-09-24 08:35:21 +03:00
Devaev Maxim
d3d885e180 refactoring 2019-09-24 06:19:29 +03:00
Devaev Maxim
e97a2ea251 otg service and helper 2019-09-24 05:50:21 +03:00
Devaev Maxim
aee005787c preparing to otg 2019-09-24 00:03:31 +03:00
Devaev Maxim
661828502e Bump version: 1.10 → 1.11 2019-09-20 17:46:44 +03:00
Devaev Maxim
3c84447778 tc358743-dkms >= 0.3 2019-09-20 17:46:01 +03:00
Devaev Maxim
44f3a278f1 Bump version: 1.9 → 1.10 2019-09-20 01:45:51 +03:00
Devaev Maxim
973536dc55 refactoring 2019-09-20 01:42:52 +03:00
Devaev Maxim
20e0bb4100 fixed PKGBUILD 2019-09-20 01:42:17 +03:00
Devaev Maxim
3840c69bfa install hid sources 2019-09-20 01:38:05 +03:00
Devaev Maxim
3b7a84d0d7 show last frame as blank 2019-09-20 00:41:41 +03:00
Devaev Maxim
aaa60e63a4 refactoring 2019-09-19 23:46:49 +03:00
Devaev Maxim
f6e02e7219 ustreamer min version == 1.5 2019-09-19 07:01:06 +03:00
Devaev Maxim
300d4603ca fixed config loading 2019-09-19 06:47:54 +03:00
Devaev Maxim
313e2c77fd Bump version: 1.8 → 1.9 2019-09-14 06:08:03 +03:00
Devaev Maxim
e8f0b361e3 crutch for plugins configuring 2019-09-14 06:07:36 +03:00
Devaev Maxim
a2f91fb741 Bump version: 1.7 → 1.8 2019-09-14 05:27:29 +03:00
Devaev Maxim
3808f3f8c9 fixed missing msd package 2019-09-14 05:26:58 +03:00
Devaev Maxim
35bd5ac719 logging fix 2019-09-14 05:26:24 +03:00
Devaev Maxim
67f13df5b8 Bump version: 1.6 → 1.7 2019-09-12 03:15:28 +03:00
Devaev Maxim
22d329c1fb fixed cleanup message for plugins 2019-09-12 03:14:43 +03:00
Devaev Maxim
57b8df0106 ustreamer min version is 1.4 2019-09-12 03:05:15 +03:00
Devaev Maxim
6ce9f4c7a9 separate region exceptions 2019-09-12 02:13:52 +03:00
Devaev Maxim
8214a20d4a removed plugins 2019-09-12 02:03:47 +03:00
Devaev Maxim
ab7a16a4f7 msd plugins 2019-09-12 01:53:25 +03:00
Devaev Maxim
ca2eabc01f atx plugin 2019-09-11 20:54:27 +03:00
Devaev Maxim
2535892723 changed config hierarchy 2019-09-11 19:11:19 +03:00
Devaev Maxim
e17889ba42 plugin hid 2019-09-11 06:28:04 +03:00
Devaev Maxim
447904e468 Bump version: 1.5 → 1.6 2019-09-10 22:38:58 +03:00
Devaev Maxim
0492f7953e ustreamer 1.3 2019-09-10 22:38:29 +03:00
Devaev Maxim
5303ed996b Bump version: 1.4 → 1.5 2019-09-01 22:54:28 +03:00
Devaev Maxim
d55a8b1bd1 changed upstream url 2019-09-01 22:52:55 +03:00
Devaev Maxim
47d7e4f234 don't use packer-kit 2019-08-23 12:29:04 +03:00
Devaev Maxim
692dbcac11 Bump version: 1.3 → 1.4 2019-08-05 00:17:29 +03:00
Devaev Maxim
9aa464240c pkgbuild: fixed platform deps 2019-08-05 00:16:53 +03:00
Devaev Maxim
cc34b2ae4b gitignored hid/.pio/ 2019-08-05 00:16:28 +03:00
Devaev Maxim
43602b0d78 Makefile: using optbool 2019-07-31 04:47:02 +03:00
Devaev Maxim
8507637adf added ustreamer to deps 2019-07-30 00:03:34 +03:00
Devaev Maxim
2d3ae6be4f Bump version: 1.2 → 1.3 2019-07-20 05:54:09 +03:00
Devaev Maxim
0b3f8281ff systemd -> services 2019-07-19 04:26:47 +03:00
Devaev Maxim
7e8d5edf13 Bump version: 1.1 → 1.2 2019-07-19 04:10:57 +03:00
Devaev Maxim
efbedb222d using sysusers.d 2019-07-19 04:10:30 +03:00
Devaev Maxim
ad83678eb3 use strict 2019-07-17 04:17:22 +03:00
Devaev Maxim
9737b926b8 fixed double js import 2019-07-17 04:16:23 +03:00
Devaev Maxim
3cd2e7bb52 web limit mouse position 2019-07-16 03:20:18 +03:00
Devaev Maxim
7b98777ed0 USTREAMER_MIN_VERSION 2019-07-15 03:28:19 +03:00
Devaev Maxim
46e4f89b56 Bump version: 1.0 → 1.1 2019-07-14 05:13:49 +03:00
Devaev Maxim
66e30489a5 config: set hdmi fps params 2019-07-14 05:11:56 +03:00
Devaev Maxim
0f844b7ac9 Bump version: 0.183 → 1.0 2019-07-13 07:16:03 +03:00
Devaev Maxim
b57fcf60d9 Bump version: 0.182 → 0.183 2019-07-13 06:39:29 +03:00
Devaev Maxim
98468bfa30 using js modules 2019-07-13 06:38:55 +03:00
Devaev Maxim
ad97aecaf4 new ustreamer and fps max 2019-07-13 04:52:19 +03:00
Devaev Maxim
dfe58d81ef Bump version: 0.181 → 0.182 2019-07-01 02:49:39 +03:00
Devaev Maxim
ae791c363c refactoring 2019-06-28 20:29:16 +03:00
Devaev Maxim
ef3c62a7af f-strings 2019-06-28 18:59:36 +03:00
Devaev Maxim
ff270591b0 Bump version: 0.180 → 0.181 2019-06-26 21:32:33 +03:00
Devaev Maxim
071fd62f41 override 2019-06-26 21:31:53 +03:00
Devaev Maxim
8a40b1f062 Bump version: 0.179 → 0.180 2019-06-24 23:33:57 +03:00
Devaev Maxim
a7649f9cf7 /log handle raises an error if journald is not available 2019-06-20 02:19:27 +03:00
Devaev Maxim
528bdf6a6d cleanup: process exceptions and disabled modules 2019-06-19 04:34:07 +03:00
Devaev Maxim
c7a2e445d0 many fixes with asyncio 2019-06-19 04:15:43 +03:00
Devaev Maxim
376ab295bd Bump version: 0.178 → 0.179 2019-06-12 08:29:10 +03:00
Devaev Maxim
f21f1d2836 Using BLKGETSIZE * BLKSSZGET instead of BLKGETSIZE64 2019-06-12 08:28:41 +03:00
Devaev Maxim
81a9e1fa07 Bump version: 0.177 → 0.178 2019-06-12 07:56:12 +03:00
Devaev Maxim
2c9781b8ac removed pyudev 2019-06-12 07:55:44 +03:00
Devaev Maxim
a6aaa21287 pylint fix 2019-06-12 06:13:31 +03:00
Devaev Maxim
675abed41a refactoring 2019-06-11 11:07:56 +03:00
Devaev Maxim
8306b0e9a6 msd: fixed notifications 2019-06-11 11:00:38 +03:00
Devaev Maxim
b71977d29a Bump version: 0.176 → 0.177 2019-06-11 04:22:44 +03:00
Devaev Maxim
21dc292687 msd: web states fix 2019-06-11 04:22:19 +03:00
Devaev Maxim
e8d0e67eeb Bump version: 0.175 → 0.176 2019-06-11 03:38:20 +03:00
Devaev Maxim
bf34f7b3fa separate busy and uploading flag 2019-06-11 03:37:55 +03:00
Devaev Maxim
8d83a8b898 Bump version: 0.174 → 0.175 2019-06-08 06:46:30 +03:00
Devaev Maxim
d2f9d12bc5 refactoring 2019-06-08 06:46:02 +03:00
Devaev Maxim
67d62cd452 send only changed states 2019-06-08 06:42:45 +03:00
Devaev Maxim
5181b09db8 fixed CancelledError on killing server 2019-06-08 06:15:31 +03:00
Devaev Maxim
77a7498731 process CancelledError 2019-06-08 04:15:20 +03:00
Devaev Maxim
445f2f9e63 improved msd state machine 2019-06-08 04:11:19 +03:00
Devaev Maxim
85c67ffcbb fixed logging depth 2019-06-06 04:17:49 +03:00
Devaev Maxim
0f4b990eae increased web timeout 2019-06-06 04:04:42 +03:00
Devaev Maxim
288fb05ea5 refactoring 2019-06-06 04:04:13 +03:00
Devaev Maxim
6d7996924f wait short tasks 2019-06-05 20:56:46 +03:00
Devaev Maxim
8aa333ba89 better atomic ops 2019-06-05 06:30:21 +03:00
Devaev Maxim
234aa8bda4 refactoring 2019-06-03 15:55:04 +03:00
Devaev Maxim
13a51f2f46 atomic server requests 2019-06-03 15:53:16 +03:00
Devaev Maxim
2977bb1b23 Bump version: 0.173 → 0.174 2019-06-03 00:43:04 +03:00
Devaev Maxim
ea856561c5 minor msd fixes for slow devices 2019-06-03 00:42:32 +03:00
Devaev Maxim
d1266ea09b fixed dataclass asdict 2019-06-03 00:14:10 +03:00
Devaev Maxim
eb61c48ef0 Bump version: 0.172 → 0.173 2019-06-02 21:07:37 +03:00
Devaev Maxim
7037bb0cfa using dataclasses instead of typed namedtuple 2019-06-01 03:54:40 +03:00
Devaev Maxim
187a195011 Bump version: 0.171 → 0.172 2019-05-21 04:39:23 +03:00
Devaev Maxim
b9e6ffee97 v0 configs 2019-05-21 04:38:21 +03:00
Devaev Maxim
d5d07c48c0 Bump version: 0.170 → 0.171 2019-05-14 15:05:39 +03:00
Devaev Maxim
b623e5405b refactoring 2019-05-14 15:05:09 +03:00
Devaev Maxim
197c4ff668 Bump version: 0.169 → 0.170 2019-05-11 21:37:51 +03:00
Devaev Maxim
cf2ed326a3 handle disabled services 2019-05-11 21:36:22 +03:00
Devaev Maxim
447e3c2d9e refactoring 2019-05-11 21:11:36 +03:00
Devaev Maxim
294a94fc0c Bump version: 0.168 → 0.169 2019-05-10 20:42:37 +03:00
Devaev Maxim
d1a61de9f1 hide disabled services 2019-05-10 20:42:02 +03:00
Devaev Maxim
3a4d79423e info: report dbus errors 2019-05-10 20:41:10 +03:00
Devaev Maxim
80e6d2ec9c Bump version: 0.167 → 0.168 2019-05-10 15:27:10 +03:00
Devaev Maxim
3f45adfcd8 refactoring 2019-05-10 15:26:39 +03:00
Devaev Maxim
ea41e48b4e fixed /etc/kvmd/*passwd perms 2019-05-10 15:02:58 +03:00
Devaev Maxim
5c398feeba Bump version: 0.166 → 0.167 2019-05-10 14:44:19 +03:00
Devaev Maxim
0d95b98b48 fixed missing dir 2019-05-10 14:43:54 +03:00
Devaev Maxim
92a974dc7c Bump version: 0.165 → 0.166 2019-05-10 14:36:56 +03:00
Devaev Maxim
18fa69b779 improved users/groups 2019-05-10 14:36:28 +03:00
Devaev Maxim
03c3caa35e Bump version: 0.164 → 0.165 2019-05-09 20:53:00 +03:00
Devaev Maxim
def5346b4b using unix sockets 2019-05-09 20:52:15 +03:00
Devaev Maxim
a972e35f7a Bump version: 0.163 → 0.164 2019-05-04 09:48:00 +03:00
Devaev Maxim
4901cf78ad tests reorganized 2019-05-04 09:47:33 +03:00
Devaev Maxim
5f5a6a9a81 htpasswd: correct exceptions handling 2019-05-04 09:32:47 +03:00
Devaev Maxim
eccb9a41e7 Bump version: 0.162 → 0.163 2019-05-04 00:28:37 +03:00
Devaev Maxim
5dd3327031 better windows management 2019-05-04 00:27:18 +03:00
Devaev Maxim
a7409e3a7a Bump version: 0.161 → 0.162 2019-05-01 10:25:57 +03:00
Devaev Maxim
f1c86cca4f better setup.py 2019-05-01 09:08:16 +03:00
Devaev Maxim
374ff9cf9e test environment for ipmi 2019-05-01 00:32:35 +03:00
Devaev Maxim
84b68bd0a8 Bump version: 0.160 → 0.161 2019-04-30 01:54:37 +03:00
Devaev Maxim
04277a7c52 extras data for ipmi 2019-04-30 01:53:56 +03:00
Devaev Maxim
fb9b1b555d soft of by default 2019-04-30 01:05:25 +03:00
Devaev Maxim
76bc1bcea6 Bump version: 0.159 → 0.160 2019-04-28 22:57:32 +03:00
Devaev Maxim
d0df1ba91a fixed template 2019-04-28 22:56:07 +03:00
Devaev Maxim
6857fcf257 Bump version: 0.158 → 0.159 2019-04-28 22:06:18 +03:00
Devaev Maxim
47641bf914 fast entrypoints 2019-04-28 22:05:52 +03:00
Devaev Maxim
e13b5027d6 load only required plugins 2019-04-28 21:01:03 +03:00
Devaev Maxim
26338c5acf CAP_NET_BIND_SERVICE for kvmd-ipmi.service 2019-04-28 09:44:05 +03:00
Devaev Maxim
ca32a1ce3c Bump version: 0.157 → 0.158 2019-04-28 09:23:53 +03:00
Devaev Maxim
0fd43c2a8c fixed build 2019-04-28 09:23:30 +03:00
Devaev Maxim
bffc3e13e8 Bump version: 0.156 → 0.157 2019-04-28 08:42:26 +03:00
Devaev Maxim
0bde12e24d ipmi bmc proxy 2019-04-28 08:31:37 +03:00
Devaev Maxim
380b1d15e3 highlevel atx api 2019-04-27 22:09:58 +03:00
Devaev Maxim
d4c597e945 fixed comment 2019-04-27 07:43:21 +03:00
Devaev Maxim
493d160a6e single-shot auth using headers 2019-04-27 05:16:00 +03:00
Devaev Maxim
3476f52da9 apps: init only required sections 2019-04-27 04:14:54 +03:00
Devaev Maxim
c40f13e2d7 url refactoring 2019-04-27 01:58:21 +03:00
Devaev Maxim
a89612e5ac Bump version: 0.155 → 0.156 2019-04-25 04:15:59 +03:00
Devaev Maxim
73bfd715e3 refactoring 2019-04-25 00:18:10 +03:00
Devaev Maxim
3d64401b11 ipad mouse buttons, keyboard refactoring 2019-04-24 22:32:53 +03:00
Devaev Maxim
3ecd337b3a hid-project==2.6.0 2019-04-24 01:02:51 +03:00
Devaev Maxim
87435dd5c5 hid: prod and test envs 2019-04-24 00:45:19 +03:00
Devaev Maxim
94dc4e76b4 Bump version: 0.154 → 0.155 2019-04-22 21:23:23 +03:00
Devaev Maxim
5a80d98f04 reset* confirmation 2019-04-22 21:22:59 +03:00
Devaev Maxim
4e108c35e8 Bump version: 0.153 → 0.154 2019-04-20 07:33:10 +03:00
Devaev Maxim
8c285d4c32 post_upgrade() 2019-04-19 18:26:50 +03:00
Devaev Maxim
e941769fdc Bump version: 0.152 → 0.153 2019-04-16 01:19:19 +03:00
Devaev Maxim
33bf0e03d7 supported not inverted leds 2019-04-16 01:16:42 +03:00
Devaev Maxim
9f78c7e637 fixed make run 2019-04-16 00:33:24 +03:00
Devaev Maxim
da46733840 refactoring 2019-04-16 00:28:13 +03:00
Devaev Maxim
b1e2d5967a test for auth manager 2019-04-16 00:08:55 +03:00
Devaev Maxim
bc0deaee5f moved tests to testenv 2019-04-14 23:16:29 +03:00
Devaev Maxim
92260645c5 Bump version: 0.151 → 0.152 2019-04-13 22:06:57 +03:00
Devaev Maxim
cb56aeea0a build fixes 2019-04-13 22:06:28 +03:00
Devaev Maxim
4353735e93 Bump version: 0.150 → 0.151 2019-04-13 07:57:32 +03:00
Devaev Maxim
38445f2a95 updated docker image 2019-04-13 07:57:02 +03:00
Devaev Maxim
0c82937d3c refactoring 2019-04-13 06:18:33 +03:00
Devaev Maxim
5bf758e232 better gpio tests 2019-04-12 17:30:48 +03:00
Devaev Maxim
428e4840ac yamlconf: fixed multiline default vales dump 2019-04-12 17:04:48 +03:00
Devaev Maxim
782aba16a4 test corner cases for app htpasswd 2019-04-11 23:30:46 +03:00
Devaev Maxim
c5c189c708 nocovers 2019-04-11 20:59:49 +03:00
Devaev Maxim
a168ce9d8f better auth testing 2019-04-11 05:36:38 +03:00
Devaev Maxim
060140d654 better auth tests, refactoring 2019-04-11 04:18:02 +03:00
Devaev Maxim
c59f8bdaf1 some nocovers 2019-04-11 03:08:53 +03:00
Devaev Maxim
4ec9374e3d omit __main__.py for coverage 2019-04-11 03:00:19 +03:00
Devaev Maxim
4ed7dfb7ef prevent ctrl+w kvm session 2019-04-11 02:45:42 +03:00
Devaev Maxim
8d12c7fda8 Bump version: 0.149 → 0.150 2019-04-10 23:11:08 +03:00
Devaev Maxim
35c5806661 fixed make-clean 2019-04-10 23:10:42 +03:00
Devaev Maxim
1582972c67 updated classifiers 2019-04-10 22:07:03 +03:00
Devaev Maxim
4a0f74897c validators fs -> os 2019-04-10 21:45:31 +03:00
Devaev Maxim
07c59485fc moar validators 2019-04-10 21:40:34 +03:00
Devaev Maxim
4eb89c9399 fixed project url 2019-04-10 05:43:20 +03:00
Devaev Maxim
3dff356345 makefile fix 2019-04-10 05:41:53 +03:00
Devaev Maxim
6d1199c95c paranoid access for some reasons 2019-04-10 05:30:36 +03:00
Devaev Maxim
fdba228eed fixed test_app_cleanup 2019-04-10 03:42:27 +03:00
Devaev Maxim
8f992214eb better makefile 2019-04-10 02:37:46 +03:00
Devaev Maxim
60849efa72 global event loop 2019-04-09 08:04:36 +03:00
Devaev Maxim
a6028c46a4 auth plugins 2019-04-09 07:13:13 +03:00
Devaev Maxim
0460c2e83b streamer: send user-agent 2019-04-09 06:17:52 +03:00
Devaev Maxim
3a68e82f94 refactoring 2019-04-08 19:19:26 +03:00
Devaev Maxim
dda30309a4 refactoring 2019-04-08 17:03:19 +03:00
Devaev Maxim
d2559c26b6 refactoring 2019-04-08 07:13:34 +03:00
Devaev Maxim
d8a5e38371 basic -> htpasswd 2019-04-08 06:19:02 +03:00
Devaev Maxim
9243d2a00c refactoring 2019-04-08 04:58:32 +03:00
Devaev Maxim
7eca51f17b refactoring 2019-04-08 04:08:59 +03:00
Devaev Maxim
28c556d92e Bump version: 0.148 → 0.149 2019-04-07 09:26:11 +03:00
Devaev Maxim
2e67f5b3b5 refactoring 2019-04-07 09:11:03 +03:00
Devaev Maxim
6c121bf87f hid: better error handling 2019-04-07 07:39:05 +03:00
Devaev Maxim
f426e13907 refactoring 2019-04-07 06:10:55 +03:00
Devaev Maxim
dcd774971a refactoring 2019-04-07 03:32:03 +03:00
Devaev Maxim
3c014db434 Bump version: 0.147 → 0.148 2019-04-07 00:20:24 +03:00
Devaev Maxim
d4a436be57 parallel tox 2019-04-06 23:58:01 +03:00
Devaev Maxim
484a6d729a refactoring 2019-04-06 23:47:31 +03:00
Devaev Maxim
008554ce4b testing htpasswd 2019-04-06 23:26:11 +03:00
Devaev Maxim
b8e3ceef6d better cleanup testing, remove all unix sockets 2019-04-06 21:59:15 +03:00
Devaev Maxim
1d75b738a0 validators, tests 2019-04-06 08:04:26 +03:00
Devaev Maxim
73e04b71ed modular auth 2019-04-01 10:30:30 +03:00
Devaev Maxim
70e526b773 Bump version: 0.146 → 0.147 2019-03-28 05:40:20 +03:00
Devaev Maxim
60a968a4f5 udev fix for new kernel 2019-03-28 05:39:57 +03:00
Devaev Maxim
303dc91988 Bump version: 0.145 → 0.146 2019-03-28 02:32:00 +03:00
Devaev Maxim
2acec3f229 api refactoring 2019-03-27 06:57:43 +03:00
Devaev Maxim
68f28c69f3 actualized dockerfile 2019-03-27 06:48:48 +03:00
Devaev Maxim
67460f872b Bump version: 0.144 → 0.145 2019-03-22 06:04:01 +03:00
Devaev Maxim
fe2c44391c fixed copyright 2019-03-18 04:19:43 +03:00
Devaev Maxim
959061a420 Bump version: 0.143 → 0.144 2019-03-18 03:33:55 +03:00
Devaev Maxim
d049400a97 optional msd and atx 2019-03-18 03:32:14 +03:00
Devaev Maxim
d1a6d79af5 Bump version: 0.142 → 0.143 2019-03-16 01:45:21 +03:00
Devaev Maxim
87e53ee630 renamed option --persistent in ustreamer 2019-03-16 01:37:07 +03:00
Devaev Maxim
9ecb7abbcb Bump version: 0.141 → 0.142 2019-03-03 12:42:04 +03:00
Devaev Maxim
788c307440 fix for new ustreamer 2019-03-03 12:41:41 +03:00
Devaev Maxim
e4400a5086 Bump version: 0.140 → 0.141 2019-02-20 05:40:58 +03:00
Devaev Maxim
70e0a1df45 fixed cleanup pinout 2019-02-20 05:37:19 +03:00
Devaev Maxim
d0be0ef9e8 Bump version: 0.139 → 0.140 2019-02-19 04:45:27 +03:00
Devaev Maxim
215337cc88 license 2019-02-18 08:28:49 +03:00
Devaev Maxim
7b5588b8d1 auth.yaml copy 2019-02-18 08:13:59 +03:00
Devaev Maxim
75443a7116 Bump version: 0.138 → 0.139 2019-02-18 07:15:28 +03:00
Devaev Maxim
6a0de7c329 license 2019-02-18 06:22:59 +03:00
Devaev Maxim
d555f1d482 auth.yaml 2019-02-18 04:07:56 +03:00
Devaev Maxim
35075fbe30 Bump version: 0.137 → 0.138 2019-02-18 00:58:38 +03:00
Devaev Maxim
316700422d fixed -subj in kvmd-gencert 2019-02-18 00:58:14 +03:00
Devaev Maxim
fe2d9c728a Bump version: 0.136 → 0.137 2019-02-18 00:17:44 +03:00
Devaev Maxim
0f1ec2b1cd groups management 2019-02-18 00:17:19 +03:00
Devaev Maxim
315842eed7 Bump version: 0.135 → 0.136 2019-02-17 09:46:10 +03:00
Devaev Maxim
91350d0ddf removed .SRCINFO 2019-02-17 09:45:49 +03:00
Devaev Maxim
70d3fe37b2 kvmd-gencert 2019-02-17 09:42:21 +03:00
Devaev Maxim
00384c256a Bump version: 0.134 → 0.135 2019-02-17 08:38:35 +03:00
Devaev Maxim
8fe0a21445 fixed platform configs path 2019-02-17 08:38:14 +03:00
Devaev Maxim
8171575058 Bump version: 0.133 → 0.134 2019-02-17 08:23:24 +03:00
Devaev Maxim
af52c3680d fixed platform package eval 2019-02-17 08:23:02 +03:00
Devaev Maxim
ce72abddf7 Bump version: 0.132 → 0.133 2019-02-17 07:34:11 +03:00
Devaev Maxim
68a6695578 packer hack 2019-02-17 07:33:44 +03:00
Devaev Maxim
e4988085cb Bump version: 0.131 → 0.132 2019-02-17 06:24:48 +03:00
Devaev Maxim
d38662c70f Update to 0.131-1 2019-02-17 06:23:01 +03:00
Devaev Maxim
db00664f94 fixed platform pkgs 2019-02-17 06:22:50 +03:00
Devaev Maxim
64054989c6 Bump version: 0.130 → 0.131 2019-02-17 06:09:32 +03:00
Devaev Maxim
c42dc07f0b optdepends 2019-02-17 06:08:52 +03:00
Devaev Maxim
fccfd11150 Bump version: 0.129 → 0.130 2019-02-17 05:38:42 +03:00
Devaev Maxim
cca04b10e0 package fixes 2019-02-17 05:38:15 +03:00
Devaev Maxim
9841988dcd Bump version: 0.128 → 0.129 2019-02-17 04:23:02 +03:00
Devaev Maxim
45fa3da3d7 platform packages 2019-02-17 04:20:43 +03:00
Devaev Maxim
10498811a6 Bump version: 0.127 → 0.128 2019-02-16 21:17:27 +03:00
Devaev Maxim
849c1ce67e refactoring 2019-02-16 21:17:04 +03:00
Devaev Maxim
303715ee61 os configs 2019-02-16 21:16:53 +03:00
Devaev Maxim
7d79f48fd8 big config refactoring 2019-02-15 07:20:26 +03:00
Devaev Maxim
cdddf10b5d Bump version: 0.126 → 0.127 2019-02-11 02:04:03 +03:00
Devaev Maxim
afc4918f34 improved genmap/keymap 2019-02-10 19:55:32 +03:00
Devaev Maxim
c8cdcaf512 improved testenv 2019-02-10 19:10:38 +03:00
Devaev Maxim
d2a6fa78c7 Bump version: 0.125 → 0.126 2019-02-10 04:55:47 +03:00
Devaev Maxim
ca90f39687 htpasswd: create tmp file before password asking 2019-02-10 04:55:25 +03:00
Devaev Maxim
06a0b77e35 Bump version: 0.124 → 0.125 2019-02-10 04:15:57 +03:00
Devaev Maxim
9d13982a51 added some help 2019-02-10 04:14:28 +03:00
Devaev Maxim
d603a216a3 htpasswd: change tmp permissions 2019-02-10 03:57:34 +03:00
Devaev Maxim
8550ace4a1 Bump version: 0.123 → 0.124 2019-02-10 02:52:09 +03:00
Devaev Maxim
251720ef9d moved application.py content to apps/__init__.py 2019-02-10 02:50:36 +03:00
Devaev Maxim
8ae714ab3c kvmd-htpasswd 2019-02-10 02:46:38 +03:00
Devaev Maxim
d743b2780a Bump version: 0.122 → 0.123 2019-02-09 09:02:27 +03:00
Devaev Maxim
649957fdc9 fixed yamlconf dump for dicts 2019-02-09 03:45:18 +03:00
Devaev Maxim
444128940a fixed msd cleanup 2019-02-08 07:19:38 +03:00
Devaev Maxim
b6931bfa36 Bump version: 0.121 → 0.122 2019-02-08 06:58:33 +03:00
Devaev Maxim
8d3c0ec010 powerful configuration management 2019-02-08 06:58:08 +03:00
Devaev Maxim
5166891dcd fixed cleanup config 2019-02-08 03:20:02 +03:00
Devaev Maxim
e22426155d hid: led-yellow preferred 2019-02-08 03:02:58 +03:00
Devaev Maxim
686f2a8bd4 minor config fix 2019-02-08 02:08:50 +03:00
Devaev Maxim
066b3def4c web: fixed update leds on hid events 2019-02-08 00:12:26 +03:00
Devaev Maxim
fb235dd3a8 hid: fixed command processing 2019-02-07 16:50:23 +03:00
Devaev Maxim
4c0683735a Bump version: 0.120 → 0.121 2019-02-07 06:13:07 +03:00
Devaev Maxim
c6a4a33d05 default values for some options 2019-02-07 06:12:34 +03:00
Devaev Maxim
de1bed956c new hid protocol with crc 2019-02-07 05:45:36 +03:00
Devaev Maxim
5bec2ff144 lint fix 2019-02-06 08:08:22 +03:00
Devaev Maxim
e20553bfc6 lint fixes 2019-02-06 07:42:29 +03:00
Devaev Maxim
010c7e042f Bump version: 0.119 → 0.120 2018-12-24 02:19:31 +03:00
Devaev Maxim
120b9d380a /dev/kvmd-hid 2018-12-24 01:36:39 +03:00
Devaev Maxim
a4e7808c5e fixed browser detection 2018-12-24 01:30:54 +03:00
Devaev Maxim
69a60b2186 Bump version: 0.118 → 0.119 2018-12-19 04:34:08 +03:00
Devaev Maxim
e887159a18 removed kvm from extras 2018-12-19 01:07:00 +03:00
Devaev Maxim
28f2875e7e adblock warning on login 2018-12-19 00:43:17 +03:00
Devaev Maxim
1ee5c81417 better button style 2018-12-19 00:29:24 +03:00
Devaev Maxim
3e7b5bf049 refactoring 2018-12-18 23:28:08 +03:00
Devaev Maxim
8867b32356 Bump version: 0.117 → 0.118 2018-12-18 04:33:53 +03:00
Devaev Maxim
94050d5a49 click() instead __login() 2018-12-18 04:33:25 +03:00
Devaev Maxim
4fb188b93e fixed cache-control 2018-12-18 04:31:35 +03:00
Devaev Maxim
568e6cb022 Bump version: 0.116 → 0.117 2018-12-18 03:23:45 +03:00
Devaev Maxim
31982bd99a loc-nocache 2018-12-18 03:04:53 +03:00
Devaev Maxim
876c89609f removed wscli 2018-12-17 23:25:30 +03:00
Devaev Maxim
eeecf78796 user login in access log 2018-12-17 23:09:48 +03:00
Devaev Maxim
9bd83b886e Bump version: 0.115 → 0.116 2018-12-16 22:57:11 +03:00
Devaev Maxim
2ffbbdc0db using wm.switchDisabled() 2018-12-16 22:56:34 +03:00
Devaev Maxim
68c21d0ccd syntax fix 2018-12-16 22:26:30 +03:00
Devaev Maxim
18842fdd35 process 401 and 403 2018-12-16 22:25:48 +03:00
Devaev Maxim
b8df7a71fe ignore streamer connection errors 2018-12-16 16:57:52 +03:00
Devaev Maxim
aa8d0aa01d fixed login error on empty username 2018-12-16 16:44:42 +03:00
Devaev Maxim
0492ff2e02 Bump version: 0.114 → 0.115 2018-12-16 04:13:53 +03:00
Devaev Maxim
6626e514b3 logout 2018-12-16 04:13:19 +03:00
Devaev Maxim
d7fb06d22e better access log 2018-12-16 02:28:13 +03:00
Devaev Maxim
e5dfc9e306 fixed cleanup for non-unixsocket configs 2018-12-16 01:58:35 +03:00
Devaev Maxim
88bbdf322f Bump version: 0.113 → 0.114 2018-12-15 19:33:23 +03:00
Devaev Maxim
9750833dd9 fixed stream-mouse-buttons 2018-12-15 19:24:07 +03:00
Devaev Maxim
0d0fdd9b71 don't install systemd services to configs.default 2018-12-15 19:11:53 +03:00
Devaev Maxim
860a48dd84 Bump version: 0.112 → 0.113 2018-12-15 17:31:10 +03:00
Devaev Maxim
1e266fbd3f fixed configs.default files permissions 2018-12-15 17:30:38 +03:00
Devaev Maxim
9f38e003cb Bump version: 0.111 → 0.112 2018-12-15 17:01:54 +03:00
Devaev Maxim
510300df35 modular nginx configuration 2018-12-15 17:01:23 +03:00
Devaev Maxim
d652a02ac9 Bump version: 0.110 → 0.111 2018-12-15 04:30:16 +03:00
Devaev Maxim
3c33bd3719 own auth 2018-12-15 04:29:40 +03:00
Devaev Maxim
3445766a50 added robots.txt 2018-12-14 05:46:27 +03:00
Devaev Maxim
1c64b7b0e8 refactoring 2018-12-13 20:39:01 +03:00
Devaev Maxim
972c4928cc fixed kvmd host in dev config 2018-12-13 18:56:26 +03:00
Devaev Maxim
d92e2e2d1b lint fix 2018-12-13 00:46:43 +03:00
Devaev Maxim
014884f9ac cleanup 2018-12-09 01:37:32 +03:00
Devaev Maxim
197e7cad6a kvmd-streamer -> kvmd-video 2018-12-08 22:09:05 +03:00
Devaev Maxim
8229363ff6 kvmd: supported unix sockets 2018-12-07 10:16:57 +03:00
Devaev Maxim
78e773cf82 Bump version: 0.109 → 0.110 2018-12-06 22:21:52 +03:00
Devaev Maxim
7b6f4b20ea kvmd: supported unix sockets for ustreamer 2018-12-06 22:19:54 +03:00
Devaev Maxim
d4d15d8b74 Bump version: 0.108 → 0.109 2018-12-04 20:47:25 +03:00
Devaev Maxim
4f901d2f78 web: process default states 2018-12-04 10:19:10 +03:00
Devaev Maxim
a57e5cdaa9 refactoring 2018-12-03 06:58:40 +03:00
Devaev Maxim
3a98909688 loading message 2018-12-03 06:58:15 +03:00
Devaev Maxim
a761c41242 fixed slider for firefox 2018-12-03 03:31:08 +03:00
Devaev Maxim
9d5481ff04 fixed link to root 2018-12-02 08:24:01 +03:00
Devaev Maxim
20e8d0ddd3 Bump version: 0.107 → 0.108 2018-12-02 01:15:28 +03:00
Devaev Maxim
f62715be13 prevent focus flickering 2018-12-01 13:13:19 +03:00
Devaev Maxim
ad6a66ac8f ui -> wm 2018-12-01 13:08:35 +03:00
Devaev Maxim
a6d4545baf focus-based window manager 2018-12-01 12:56:36 +03:00
Devaev Maxim
5f7834724a refactoring 2018-11-28 23:41:03 +03:00
Devaev Maxim
5407f983c8 log before operations 2018-11-28 22:42:32 +03:00
Devaev Maxim
fe4afd7623 non-blocking click handle 2018-11-28 22:35:31 +03:00
Devaev Maxim
6c2d8900f5 refactoring 2018-11-27 17:44:02 +03:00
Devaev Maxim
2cea16a978 blur logic 2018-11-27 17:32:36 +03:00
Devaev Maxim
8c3f604e4a web: fixed focus after modal window 2018-11-27 12:17:41 +03:00
Devaev Maxim
1897d72b51 refactoring 2018-11-27 12:05:38 +03:00
Devaev Maxim
b5ca09f310 better windows management 2018-11-27 10:46:59 +03:00
Devaev Maxim
26450da996 Bump version: 0.106 → 0.107 2018-11-24 21:56:15 +03:00
Devaev Maxim
3cc04c1e6e Added v4l-utils to deps 2018-11-24 10:21:27 +03:00
Devaev Maxim
35b927a6e1 index: fixed quotes 2018-11-24 08:47:48 +03:00
Devaev Maxim
b4639f7bb8 Bump version: 0.105 → 0.106 2018-11-24 08:02:48 +03:00
Devaev Maxim
610237de15 fixed html titles 2018-11-24 07:54:29 +03:00
Devaev Maxim
f8bd0eca6a kvm: link to index 2018-11-24 07:49:35 +03:00
Devaev Maxim
26863d5bfd nginx: disabled abs redirect 2018-11-24 06:59:51 +03:00
Devaev Maxim
c168e73805 removed loadInitialState() 2018-11-24 06:30:08 +03:00
Devaev Maxim
d060125cd3 using div.code instead of custom textarea 2018-11-24 04:55:33 +03:00
Devaev Maxim
6c9372a8ff css refactoring 2018-11-24 04:41:25 +03:00
Devaev Maxim
97d8d6ea4c index 2018-11-23 09:35:01 +03:00
Devaev Maxim
d3073b9d7e design fix, refactoring 2018-11-22 06:26:58 +03:00
Devaev Maxim
a4357162f4 Bump version: 0.104 → 0.105 2018-11-21 07:57:36 +03:00
Devaev Maxim
4a988136d1 refactoring 2018-11-21 07:56:27 +03:00
Devaev Maxim
c05ed9f2d8 design fix 2018-11-21 07:31:32 +03:00
Devaev Maxim
a9cf03582f refactoring 2018-11-19 06:39:18 +03:00
Devaev Maxim
948c88799f Bump version: 0.103 → 0.104 2018-11-18 09:38:55 +03:00
Devaev Maxim
702ed1ea9b fixed manifest.yaml path 2018-11-18 09:38:11 +03:00
Devaev Maxim
974b84c5ee removed requirements.txt and MANIFEST.in 2018-11-18 09:34:38 +03:00
Devaev Maxim
98b8a693fa Bump version: 0.102 → 0.103 2018-11-18 08:39:10 +03:00
Devaev Maxim
302d055953 fixed missing dep 2018-11-18 08:38:41 +03:00
Devaev Maxim
ee44df568e Bump version: 0.101 → 0.102 2018-11-18 08:34:54 +03:00
Devaev Maxim
d8e9d11832 path fix 2018-11-18 08:34:31 +03:00
Devaev Maxim
a39d498201 removed .gitignore 2018-11-18 08:26:02 +03:00
Devaev Maxim
a59fdc186e Bump version: 0.100 → 0.101 2018-11-18 08:24:23 +03:00
Devaev Maxim
1e44482a84 refactoring 2018-11-18 08:21:55 +03:00
Devaev Maxim
f38dc912d3 refactoring 2018-11-18 08:12:15 +03:00
Devaev Maxim
9762c82d0a moved lua crutch to kvmd 2018-11-18 08:11:18 +03:00
Devaev Maxim
51dd9a7428 Bump version: 0.99 → 0.100 2018-11-18 02:33:08 +03:00
Devaev Maxim
665076e336 new manifest.json 2018-11-18 02:32:41 +03:00
Devaev Maxim
fe86447c32 refactoring 2018-11-18 02:32:25 +03:00
Devaev Maxim
f44b09da7d removed sha-bang from wscli 2018-11-17 20:45:21 +03:00
Devaev Maxim
589e0ba8a4 Bump version: 0.98 → 0.99 2018-11-17 11:25:48 +03:00
Devaev Maxim
43f161f9c4 automatic choosing journald services 2018-11-17 11:20:10 +03:00
Devaev Maxim
0bf39f56e2 metadata in web 2018-11-16 23:23:54 +03:00
Devaev Maxim
127b22b4be Bump version: 0.97 → 0.98 2018-11-16 09:49:36 +03:00
Devaev Maxim
f38b6ae595 refactoring 2018-11-16 09:35:34 +03:00
Devaev Maxim
cd6e490d0f moved tox to testenv 2018-11-16 09:25:39 +03:00
Devaev Maxim
17c6b9e31f meta, refactoring 2018-11-16 06:54:27 +03:00
Devaev Maxim
4294eed14e Bump version: 0.96 → 0.97 2018-11-16 01:16:59 +03:00
Devaev Maxim
1ddfc20584 unprivileged kvmd daemon 2018-11-16 01:16:33 +03:00
Devaev Maxim
1c8e4dbe04 Bump version: 0.95 → 0.96 2018-11-15 01:02:07 +03:00
Devaev Maxim
7d1a495921 fixed broken "open log" 2018-11-15 01:01:35 +03:00
Devaev Maxim
b690dbce44 common logging.yaml 2018-11-14 20:34:46 +03:00
Devaev Maxim
e97975fc15 Bump version: 0.94 → 0.95 2018-11-14 08:24:13 +03:00
Devaev Maxim
10bf4f56b3 fixed index.html 2018-11-14 08:23:42 +03:00
Devaev Maxim
c315006ea7 reconnect to stream if client_id is rotten 2018-11-14 08:20:40 +03:00
Devaev Maxim
2a540f7bb9 big rewrite of extensions 2018-11-14 07:42:43 +03:00
Devaev Maxim
c5544349d2 refactoring 2018-11-14 06:08:07 +03:00
Devaev Maxim
ff2ac423b2 pre 2018-11-14 06:03:11 +03:00
Devaev Maxim
2916c7fe06 refactoring 2018-11-14 02:57:47 +03:00
Devaev Maxim
49a09a6ba1 favicon 2018-11-13 23:55:01 +03:00
Devaev Maxim
a439e9e30a Bump version: 0.93 → 0.94 2018-11-13 06:53:18 +03:00
Devaev Maxim
5fb74a9241 .yaml again 2018-11-13 06:26:47 +03:00
Devaev Maxim
44c9515be4 Bump version: 0.92 → 0.93 2018-11-12 11:47:36 +03:00
Devaev Maxim
6bf8c49194 new ustreamer 2018-11-12 11:42:17 +03:00
Devaev Maxim
821da26bbf v1-hdmi: quality=80 2018-11-12 11:21:52 +03:00
Devaev Maxim
8991ab155f Bump version: 0.91 → 0.92 2018-11-12 11:00:53 +03:00
Devaev Maxim
311b928b15 --encoder-omx-use-ijg for v1-hdmi 2018-11-12 10:55:46 +03:00
Devaev Maxim
2838d1d975 min quality = 5 2018-11-12 10:53:05 +03:00
Devaev Maxim
c38e22591e refactoring 2018-11-12 10:50:44 +03:00
Devaev Maxim
f540114abe fixed about colspan 2018-11-12 06:42:40 +03:00
Devaev Maxim
7795b76644 fixed missing ext.d 2018-11-12 06:23:45 +03:00
Devaev Maxim
8c391f34b7 Bump version: 0.90 → 0.91 2018-11-12 04:06:12 +03:00
Devaev Maxim
09dfb42572 nginx: error_log stderr 2018-11-12 04:05:35 +03:00
Devaev Maxim
72003095b3 /extensions using lua 2018-11-12 04:03:21 +03:00
Devaev Maxim
f3fdf336d3 better about 2018-11-11 03:31:52 +03:00
Devaev Maxim
d6dd6ebc33 Bump version: 0.89 → 0.90 2018-11-10 08:35:16 +03:00
Devaev Maxim
dbe4e24e7d better logging 2018-11-10 08:02:00 +03:00
Devaev Maxim
db388a3e4e improved nginx locations 2018-11-10 07:58:56 +03:00
Devaev Maxim
db9a8221ec Bump version: 0.88 → 0.89 2018-11-09 22:43:05 +03:00
Devaev Maxim
d18c82da48 fixed unclickable links 2018-11-09 22:42:32 +03:00
Devaev Maxim
d97b6639e0 Bump version: 0.87 → 0.88 2018-11-09 01:25:27 +03:00
Devaev Maxim
1640725cdc streamer state over websocket 2018-11-08 20:42:42 +03:00
Devaev Maxim
363bbdac57 new ustreamer 2018-11-08 05:16:17 +03:00
Devaev Maxim
4927d3e173 Bump version: 0.86 → 0.87 2018-11-07 06:27:58 +03:00
Devaev Maxim
ce39664059 enabled tox on make release 2018-11-07 06:27:33 +03:00
Devaev Maxim
d417779f1c lint fix 2018-11-07 06:27:17 +03:00
Devaev Maxim
cd24c13199 streamer /ping -> /state 2018-11-07 06:08:05 +03:00
Devaev Maxim
a319320152 using key cookie to determine client_id 2018-11-07 05:28:10 +03:00
Devaev Maxim
e9dad49ec4 make run-no-cache 2018-11-07 05:27:46 +03:00
Devaev Maxim
236e51d956 dirty fix for fps 2018-11-06 07:06:13 +03:00
Devaev Maxim
eb476ffdd2 better sliders 2018-11-06 06:35:23 +03:00
Devaev Maxim
f0ae427d8e refactoring 2018-11-06 01:55:13 +03:00
Devaev Maxim
1ac968e924 Bump version: 0.85 → 0.86 2018-11-05 10:15:36 +03:00
Devaev Maxim
0879f6e627 omx workers == 3 2018-11-05 10:15:20 +03:00
Devaev Maxim
53da6593b3 Bump version: 0.84 → 0.85 2018-11-05 06:21:01 +03:00
Devaev Maxim
43bbf725b8 js logs refactoring 2018-11-05 06:20:05 +03:00
Devaev Maxim
9f2c0dd14e set yaml filetype 2018-11-05 06:14:08 +03:00
Devaev Maxim
18a626a30c soft fps limit 2018-11-05 06:13:08 +03:00
Devaev Maxim
4e49931a25 uStreamer fix for WebKit 2018-11-05 04:53:48 +03:00
Devaev Maxim
5c0a943055 fixed mouse led on ios 2018-11-04 05:02:13 +03:00
Devaev Maxim
341b9be3d3 fixed log button in ios 2018-11-04 04:36:05 +03:00
Devaev Maxim
bdca0e8839 workaround for chrome bug #527446 2018-11-04 03:45:57 +03:00
Devaev Maxim
63229b0e8e Bump version: 0.83 → 0.84 2018-10-31 11:00:36 +03:00
Devaev Maxim
e0cab7db58 configs moving 2018-10-31 11:00:25 +03:00
Devaev Maxim
1a06e8d1eb Bump version: 0.82 → 0.83 2018-10-31 02:14:06 +03:00
Devaev Maxim
bc88a49dcc nginx hooks for future extensions 2018-10-31 02:11:55 +03:00
Devaev Maxim
aeed3daac5 Bump version: 0.81 → 0.82 2018-10-28 14:04:41 +03:00
Devaev Maxim
930577e745 --device-persistent for v1-hdmi 2018-10-28 14:04:02 +03:00
Devaev Maxim
1aa71a9a03 Bump version: 0.80 → 0.81 2018-10-28 07:12:13 +03:00
Devaev Maxim
e87cf11530 temporary commented "make tox" for "make release" 2018-10-28 07:12:01 +03:00
Devaev Maxim
c65c710962 using 127.0.0.1 instead of localhost 2018-10-28 07:09:00 +03:00
Devaev Maxim
ab342111d0 log interface 2018-10-28 07:03:14 +03:00
Devaev Maxim
1f54776ce0 Bump version: 0.79 → 0.80 2018-10-19 19:24:54 +03:00
Devaev Maxim
70665dd49b fixed pinout 2018-10-19 19:24:21 +03:00
Devaev Maxim
5581300f0d Bump version: 0.78 → 0.79 2018-10-10 00:51:39 +03:00
Devaev Maxim
95bc1536b2 show streamer version 2018-10-10 00:51:08 +03:00
Devaev Maxim
a449b39c52 refactoring 2018-10-09 16:20:41 +03:00
Devaev Maxim
2c241fab44 minor ui improvements 2018-10-09 04:50:55 +03:00
Devaev Maxim
4e6ebbc60e ios safari does not support href download 2018-10-09 03:56:10 +03:00
Devaev Maxim
09b8c34812 fixed system menu for ios safari 2018-10-09 02:41:18 +03:00
Devaev Maxim
5b385718dc refactoring 2018-10-09 02:40:20 +03:00
Devaev Maxim
66f0eb7f30 quality slider 2018-10-09 02:06:35 +03:00
Devaev Maxim
c4e355cdb0 Bump version: 0.77 → 0.78 2018-10-07 22:47:50 +03:00
Devaev Maxim
5df65b35f4 renamed platform configs 2018-10-07 22:18:11 +03:00
Devaev Maxim
1ce4b86ff7 Bump version: 0.76 → 0.77 2018-10-07 18:35:59 +03:00
Devaev Maxim
447b949273 web: auto-resize stream 2018-10-07 18:35:28 +03:00
Devaev Maxim
053755fdc0 EDID: removed audio, 1400x480 and fixed 1024x768 2018-10-06 14:39:19 +03:00
Devaev Maxim
f3478dc241 refactoring 2018-10-06 03:23:03 +03:00
Devaev Maxim
576ed9e18e Bump version: 0.75 → 0.76 2018-10-06 02:22:50 +03:00
Devaev Maxim
370b5b672c show fps in stream header 2018-10-06 02:03:58 +03:00
Devaev Maxim
5feb54d3c4 Bump version: 0.74 → 0.75 2018-10-05 20:32:04 +03:00
Devaev Maxim
125a56e554 hid pinout 2018-10-05 20:30:49 +03:00
Devaev Maxim
a87963e300 msd pinout 2018-10-05 20:06:39 +03:00
Devaev Maxim
bbaf99c1b4 imroved pak 2018-10-05 12:55:55 +03:00
Devaev Maxim
54cc8393a7 minor html fixes 2018-10-05 11:27:09 +03:00
Devaev Maxim
0d8325bcf7 added stream info to window head 2018-10-04 22:30:38 +03:00
Devaev Maxim
7ffeb1c546 Bump version: 0.73 → 0.74 2018-10-04 16:04:59 +03:00
Devaev Maxim
ab901acde8 --drop-same-frames works fine 2018-10-04 16:04:20 +03:00
Devaev Maxim
ed6a007890 Bump version: 0.72 → 0.73 2018-10-02 23:36:58 +03:00
Devaev Maxim
f7ccff7647 improved hotkeys menu 2018-10-02 22:23:04 +03:00
Devaev Maxim
7334288b11 Bump version: 0.71 → 0.72 2018-10-02 13:29:51 +03:00
Devaev Maxim
0cf50f55aa wheel fix 2018-10-02 13:29:22 +03:00
Devaev Maxim
f89918b4bf streamer: read full stdout 2018-10-01 19:30:31 +03:00
Devaev Maxim
ed067c80cf v2 config: --drop-same-frames=3 2018-10-01 11:21:45 +03:00
Devaev Maxim
e95e560bdf hid: readNoop() 2018-09-29 09:07:12 +03:00
Devaev Maxim
610cabfff4 Bump version: 0.70 → 0.71 2018-09-29 07:34:00 +03:00
Devaev Maxim
76b95ddfa8 improved hid protocol 2018-09-29 07:33:27 +03:00
Devaev Maxim
f78d45f4a6 fixed device path for kvmd-tc358743.service 2018-09-29 06:53:52 +03:00
Devaev Maxim
6d57846ef4 screenshot using web ui 2018-09-29 03:43:46 +03:00
Devaev Maxim
7d403822b5 Bump version: 0.69 → 0.70 2018-09-28 07:19:38 +03:00
Devaev Maxim
24e3606512 added service and edid for tc358743 2018-09-28 07:19:08 +03:00
Devaev Maxim
9e01838184 Bump version: 0.68 → 0.69 2018-09-28 06:14:57 +03:00
Devaev Maxim
054f8e44db some fixes for ustreamer 2018-09-28 06:13:38 +03:00
Devaev Maxim
8fd196bde8 Bump version: 0.67 → 0.68 2018-09-26 06:03:59 +03:00
Devaev Maxim
5eee6e0cec using cpu encoder on v1 2018-09-26 06:03:32 +03:00
Devaev Maxim
4702375038 Bump version: 0.66 → 0.67 2018-09-26 03:48:14 +03:00
Devaev Maxim
81a5311349 moved kvmd to the root 2018-09-26 02:57:24 +03:00
Devaev Maxim
f3946f102f moved os to pi-kvm/os 2018-09-26 02:36:56 +03:00
Devaev Maxim
680f14b1f9 fixed Makefile 2018-09-26 02:28:03 +03:00
Devaev Maxim
f7e59139d0 hw moved to pi-kvm/hardware 2018-09-26 02:24:12 +03:00
Devaev Maxim
089bac2bcd moved hid to kvmd 2018-09-26 02:20:58 +03:00
Devaev Maxim
940989b6e9 v2 beta 2018-09-26 02:11:23 +03:00
Devaev Maxim
6e9a3222ce refactoring 2018-09-09 20:13:03 +03:00
Devaev Maxim
4dfbf5aa17 Bump version: 0.65 → 0.66 2018-09-09 01:31:26 +03:00
Devaev Maxim
15981e62b5 touch improvements 2018-09-09 01:30:41 +03:00
Devaev Maxim
3a68c2ae10 ios safari fixes 2018-09-07 00:28:48 +03:00
Devaev Maxim
87e3b96a90 fixed broken aur nginx lua module 2018-09-06 04:33:05 +03:00
Devaev Maxim
02b7e5b1c2 Bump version: 0.64 → 0.65 2018-09-06 01:06:16 +03:00
Devaev Maxim
a0e8b3b2d8 fixed nginx-lua pkg 2018-09-06 00:51:13 +03:00
Devaev Maxim
730361695b mobile fixes 2018-09-05 23:52:12 +03:00
Devaev Maxim
24133531a5 Bump version: 0.63 → 0.64 2018-09-02 20:09:07 +03:00
Devaev Maxim
3f40aefafe compact mobile keyboard 2018-09-02 20:08:35 +03:00
Devaev Maxim
ecb866f57a testing mouse buttons for touch interface 2018-08-31 17:48:36 +03:00
Devaev Maxim
1bf3506d2e using SingleAbsoluteMouse() 2018-08-31 00:25:13 +03:00
Devaev Maxim
bc24d2c193 unifised urls without binding to mjpg_streamer 2018-08-28 10:41:16 +03:00
Devaev Maxim
16345b1005 Bump version: 0.62 → 0.63 2018-08-27 21:14:01 +03:00
Devaev Maxim
62a90ed92f escape/enter events in modal 2018-08-27 20:53:17 +03:00
Devaev Maxim
493b19c8ba Bump version: 0.61 → 0.62 2018-08-27 14:49:15 +03:00
Devaev Maxim
8aee773c1c modal dialog processing like a window 2018-08-27 14:48:44 +03:00
Devaev Maxim
9a243eaa04 refactoring 2018-08-27 13:33:15 +03:00
Devaev Maxim
a8773eab1e own modals - first implementation 2018-08-27 13:13:49 +03:00
Devaev Maxim
47a077a3b7 refactoring 2018-08-27 11:12:15 +03:00
Devaev Maxim
95ea69d43f some mobile improvements 2018-08-27 07:48:05 +03:00
Devaev Maxim
1fdd929f2a separated reset and resolution 2018-08-24 22:33:47 +03:00
Devaev Maxim
90a2666215 Bump version: 0.60 → 0.61 2018-08-24 08:28:13 +03:00
Devaev Maxim
dce12c3e7e Bump version: 0.59 → 0.60 2018-08-24 08:24:20 +03:00
Devaev Maxim
1c3c1baf9a don't loose focus on stream resizing 2018-08-24 08:23:46 +03:00
Devaev Maxim
52d2b8a315 configurable stream resolution 2018-08-24 07:13:40 +03:00
Devaev Maxim
0468100bba Bump version: 0.58 → 0.59 2018-08-20 07:51:23 +03:00
Devaev Maxim
a4b6f4fb98 no ie allowed 2018-08-20 07:43:23 +03:00
Devaev Maxim
0d19451bbe setproctitle 2018-08-20 05:27:19 +03:00
Devaev Maxim
3e3fec4d0c Bump version: 0.57 → 0.58 2018-08-20 01:03:16 +03:00
Devaev Maxim
102b1b666d touch events as mouse - test 2018-08-20 00:59:09 +03:00
Devaev Maxim
49b83948c0 two-way communication between hid and kvmd 2018-08-20 00:57:55 +03:00
Devaev Maxim
61f7db14a8 Bump version: 0.56 → 0.57 2018-08-19 19:19:25 +03:00
Devaev Maxim
e389b7a302 full touch support for keyboard 2018-08-19 06:41:10 +03:00
Devaev Maxim
b1c1428923 removed ontouchcancel from ui 2018-08-19 06:40:34 +03:00
Devaev Maxim
0a4ab0e429 disabled mobile hover on menubar 2018-08-19 06:40:08 +03:00
Devaev Maxim
1ab2d57443 Bump version: 0.55 → 0.56 2018-08-19 04:12:17 +03:00
Devaev Maxim
2f582dd33b nginx-mainline-mod-lua-fixedrepo 2018-08-19 04:11:47 +03:00
Devaev Maxim
b687574920 tablet style 2018-08-19 04:09:20 +03:00
Devaev Maxim
1591b8ed35 refactoring 2018-08-19 03:50:10 +03:00
Devaev Maxim
4ef978406f delay to avoid press hang 2018-08-18 23:23:24 +03:00
Devaev Maxim
765a86c47b supported python 3.7 2018-08-17 23:09:30 +03:00
Devaev Maxim
992abfe2d8 using mjpg-streamer package 2018-08-17 22:08:22 +03:00
Devaev Maxim
1715f26f07 Bump version: 0.54 → 0.55 2018-08-17 21:30:10 +03:00
Devaev Maxim
5b20016039 highlight grabbed window header 2018-08-17 07:44:37 +03:00
Devaev Maxim
eaea72275e ui: touchscreens support 2018-08-17 03:14:53 +03:00
Devaev Maxim
b21e87eefa Bump version: 0.53 → 0.54 2018-08-16 23:31:22 +03:00
Devaev Maxim
18301d5f54 proxy params, ssl permissins and mime types 2018-08-16 23:04:55 +03:00
Devaev Maxim
f2dde902ce Bump version: 0.52 → 0.53 2018-08-13 10:29:54 +03:00
Devaev Maxim
75579aff64 passing BUILD_OPTS into pi-builder 2018-08-13 10:29:21 +03:00
Devaev Maxim
8bd515b18d fixed stream window centering 2018-08-13 08:36:52 +03:00
Devaev Maxim
b79b7e3975 fixed menubar in safari 2018-08-13 08:14:12 +03:00
Devaev Maxim
f8a33e4445 Bump version: 0.51 → 0.52 2018-08-13 04:02:57 +03:00
Devaev Maxim
b2a05bd1ab refactoring 2018-08-13 03:56:05 +03:00
Devaev Maxim
798bc37fce refactoring 2018-08-12 08:30:32 +03:00
Devaev Maxim
43fa2cc2ff connecting state for link led 2018-08-12 07:30:48 +03:00
Devaev Maxim
159c399fb8 abs path in nginx.conf 2018-08-11 12:56:38 +03:00
Devaev Maxim
d4278f914b Bump version: 0.50 → 0.51 2018-08-11 04:14:35 +03:00
Devaev Maxim
ba650456aa Workaround for Safari + Websockets + basic auth
https://bugs.webkit.org/show_bug.cgi?id=80362
2018-08-11 04:09:54 +03:00
Devaev Maxim
3d2282f8f9 fixed os hostname 2018-08-11 03:40:30 +03:00
Devaev Maxim
d68f3b8199 for new pi-builder 2018-08-10 02:29:13 +03:00
Devaev Maxim
b2f3042935 encrypted htpasswd 2018-08-10 02:28:35 +03:00
Devaev Maxim
48ce26f05d Bump version: 0.49 → 0.50 2018-08-10 00:18:33 +03:00
Devaev Maxim
96e64d7988 password auth for webui 2018-08-10 00:16:03 +03:00
Devaev Maxim
1d21ab6bcb Bump version: 0.48 → 0.49 2018-08-09 05:22:28 +03:00
Devaev Maxim
260d110b0a common config for prod and testing 2018-08-09 05:21:12 +03:00
Devaev Maxim
6f9f745588 fixed path to nginx.conf 2018-08-09 04:53:12 +03:00
Devaev Maxim
cf4f414b5f Bump version: 0.47 → 0.48 2018-08-09 04:08:54 +03:00
Devaev Maxim
e3f5d1e4d6 using https with self-signed cert 2018-08-09 04:06:44 +03:00
Devaev Maxim
f71788bb35 Bump version: 0.46 → 0.47 2018-08-09 01:16:12 +03:00
Devaev Maxim
af9100593b $$ as document.getElementsByClassName() 2018-08-08 08:39:26 +03:00
Devaev Maxim
3551ebd9a1 paste-as-keys 2018-08-08 08:38:54 +03:00
Devaev Maxim
d9d433025c Bump version: 0.45 → 0.46 2018-08-07 19:59:12 +03:00
Devaev Maxim
54c2bb1e86 enable_uart=1 2018-08-07 19:10:07 +03:00
Devaev Maxim
a844e9d152 web linting 2018-08-07 19:09:47 +03:00
Devaev Maxim
20f7e2cde6 quick hack for mac cmd key 2018-08-07 10:48:52 +03:00
Devaev Maxim
a6b9c81636 Bump version: 0.44 → 0.45 2018-08-07 00:15:25 +03:00
Devaev Maxim
f266b1f408 vulture fix 2018-08-07 00:12:15 +03:00
Devaev Maxim
f45efdf2fc adjustable stream size 2018-08-06 21:25:41 +03:00
Devaev Maxim
ff29d85faf Bump version: 0.43 → 0.44 2018-08-03 05:26:37 +03:00
Devaev Maxim
141d5e858d pi-builder update 2018-08-03 05:26:00 +03:00
Devaev Maxim
4bacc04d2b pragma once for keymap.h 2018-08-03 00:53:34 +03:00
Devaev Maxim
12f504482c using boot keyboard 2018-08-02 23:56:45 +03:00
Devaev Maxim
1e47b50b54 fixed mjpg stucking 2018-08-02 23:56:28 +03:00
Devaev Maxim
cc268f5a2a Bump version: 0.42 → 0.43 2018-08-01 17:36:17 +03:00
Devaev Maxim
9a5c583f80 mouse support 2018-08-01 17:31:23 +03:00
Devaev Maxim
cb8e5efbc7 eq fix 2018-08-01 15:27:32 +03:00
Devaev Maxim
1424596b5b Bump version: 0.41 → 0.42 2018-08-01 00:57:12 +03:00
Devaev Maxim
f6c082039a w3 fixes 2018-08-01 00:42:54 +03:00
Devaev Maxim
d46bc3dfd1 pretty stream stub 2018-08-01 00:29:20 +03:00
Devaev Maxim
d9dbddeb2f some ui fixes 2018-07-31 23:16:09 +03:00
Devaev Maxim
3a748859ff js-based windows centering 2018-07-31 21:57:20 +03:00
Devaev Maxim
89fca27520 removed old prefixed css 2018-07-31 17:33:38 +03:00
Devaev Maxim
4007730e2e fixed windows positioning 2018-07-31 15:32:30 +03:00
Devaev Maxim
35ec51ac06 log prefixes 2018-07-31 15:32:18 +03:00
Devaev Maxim
00090ec3aa top menu border 2018-07-30 02:05:56 +03:00
Devaev Maxim
46183aee2a Bump version: 0.40 → 0.41 2018-07-29 19:23:12 +03:00
Devaev Maxim
72e5e49889 close menues on start dragging windows 2018-07-29 13:31:15 +03:00
Devaev Maxim
0c8f8bc131 focus fixes 2018-07-29 00:09:06 +03:00
Devaev Maxim
399ba3836b Bump version: 0.39 → 0.40 2018-07-28 17:04:32 +03:00
Devaev Maxim
d8b1dfe540 esc menu fix 2018-07-28 17:03:34 +03:00
Devaev Maxim
5a9b86457c css vars refactoring 2018-07-28 14:47:13 +03:00
Devaev Maxim
8bac7382bb pretty menu selecting 2018-07-28 14:32:03 +03:00
Devaev Maxim
55da818b8e close menues using esc key 2018-07-28 13:38:00 +03:00
Devaev Maxim
01e5a8caee interactive hid leds 2018-07-28 13:23:27 +03:00
Devaev Maxim
c3939214bf refactoring 2018-07-28 04:48:42 +03:00
Devaev Maxim
ab48c5e3dd fucusable windows 2018-07-28 04:44:44 +03:00
Devaev Maxim
af70d123cb fan animation 2018-07-28 02:39:55 +03:00
Devaev Maxim
df7f24e7ca shortcut for ctrl+w 2018-07-28 02:05:45 +03:00
Devaev Maxim
1b6cbc6c59 Bump version: 0.38 → 0.39 2018-07-28 01:32:29 +03:00
Devaev Maxim
2a6e6626af refactoring 2018-07-28 01:25:08 +03:00
Devaev Maxim
8b17332ace about window 2018-07-28 01:20:55 +03:00
Devaev Maxim
57ea0c285c windows control 2018-07-28 00:08:19 +03:00
Devaev Maxim
34d3e9d637 hid fix 2018-07-27 23:53:06 +03:00
Devaev Maxim
dcedf16142 added pause and scrlk keys 2018-07-27 12:48:49 +03:00
Devaev Maxim
d2da0829b9 release keys when window loosing focus 2018-07-27 11:29:44 +03:00
Devaev Maxim
b7d933b6ce fixed some keyboard corner cases 2018-07-26 23:14:43 +03:00
Devaev Maxim
700b6b4619 new repo url 2018-07-26 22:04:44 +03:00
Devaev Maxim
3c5e2cee2a printscreen as modifier and alt-sysrq shortcuts for linux 2018-07-26 13:41:35 +03:00
Devaev Maxim
c75d5e5352 shortcuts menu 2018-07-26 13:41:03 +03:00
Devaev Maxim
d1a66cb948 disabled keys repeat 2018-07-26 13:13:16 +03:00
Devaev Maxim
bb180b6bf8 hold modifiers on mouse click 2018-07-26 11:23:52 +03:00
Devaev Maxim
940fe28a9f simplified hid 2018-07-25 23:01:28 +03:00
Devaev Maxim
e2e8001ba8 windows stack 2018-07-25 19:15:04 +03:00
Devaev Maxim
79c92afb7f cleanup 2018-07-25 15:04:17 +03:00
Devaev Maxim
f04f5668f1 refactoring 2018-07-25 15:02:37 +03:00
Devaev Maxim
6c4385b52c added fan icon 2018-07-25 11:33:24 +03:00
Devaev Maxim
922e303c70 virtual keyboard prototype 2018-07-25 10:34:44 +03:00
Devaev Maxim
22c060956e floating windows 2018-07-24 02:48:23 +03:00
Devaev Maxim
70b7f73e20 refactoring 2018-07-23 16:12:57 +03:00
Devaev Maxim
d92286ded7 Bump version: 0.37 → 0.38 2018-07-23 03:22:29 +03:00
Devaev Maxim
c07f811c87 platform info 2018-07-23 03:22:08 +03:00
Devaev Maxim
434d16d523 Bump version: 0.36 → 0.37 2018-07-22 18:02:55 +03:00
Devaev Maxim
c462aedad9 smart menubar 2018-07-22 17:23:33 +03:00
Devaev Maxim
41576d7f62 Bump version: 0.35 → 0.36 2018-07-22 07:39:00 +03:00
Devaev Maxim
5f34a1202b favicon 2018-07-22 07:34:51 +03:00
Devaev Maxim
e05e589ddf ui fixes 2018-07-22 06:38:31 +03:00
Devaev Maxim
3f504a1d4c Bump version: 0.34 → 0.35 2018-07-22 05:31:25 +03:00
Devaev Maxim
08f51b882d menu by click 2018-07-22 05:30:55 +03:00
Devaev Maxim
1f55c63f89 ui fixes 2018-07-22 04:31:29 +03:00
Devaev Maxim
32c40c3b3a Bump version: 0.33 → 0.34 2018-07-21 12:43:08 +03:00
Devaev Maxim
aa437673dd minor ui fixes 2018-07-21 12:42:56 +03:00
Devaev Maxim
3bdcdd580e Bump version: 0.32 → 0.33 2018-07-21 11:34:32 +03:00
Devaev Maxim
1d4af538a2 ui fixes 2018-07-21 11:34:15 +03:00
Devaev Maxim
06cdf5307b Bump version: 0.31 → 0.32 2018-07-21 08:37:22 +03:00
Devaev Maxim
ad8fb657ad msd ui 2018-07-21 08:36:44 +03:00
Devaev Maxim
a4f4d281b2 refactoring 2018-07-17 07:53:07 +03:00
Devaev Maxim
77e9917b64 web: sans-serif 2018-07-17 05:47:04 +03:00
Devaev Maxim
2598f00143 Bump version: 0.30 → 0.31 2018-07-17 05:19:47 +03:00
Devaev Maxim
3b12fd6d21 grouped buttons and icons 2018-07-17 05:18:14 +03:00
Devaev Maxim
1c4a6b0deb refactoring 2018-07-17 04:14:05 +03:00
Devaev Maxim
45bdfd111d fixed broadcast 2018-07-17 02:49:06 +03:00
Devaev Maxim
8fc6b85c0e dark theme 2018-07-17 01:52:57 +03:00
Devaev Maxim
9afb9ffb95 Bump version: 0.29 → 0.30 2018-07-17 00:44:56 +03:00
Devaev Maxim
514aac8d82 real-time icons and buttons state 2018-07-17 00:44:38 +03:00
Devaev Maxim
caf7f4c99b fixed msd deadlock 2018-07-17 00:10:38 +03:00
Devaev Maxim
ddabd32807 pretty ui 2018-07-16 23:29:29 +03:00
Devaev Maxim
eda2949809 improved css, animated led-msd-writing 2018-07-16 10:25:17 +03:00
Devaev Maxim
bbb92e0a20 Bump version: 0.28 → 0.29 2018-07-16 09:42:58 +03:00
Devaev Maxim
660ebbf35a svg icons 2018-07-16 09:42:30 +03:00
Devaev Maxim
211401b52c minor js fixes 2018-07-16 05:16:53 +03:00
Devaev Maxim
52bf4f38e4 Bump version: 0.27 → 0.28 2018-07-15 12:42:31 +03:00
Devaev Maxim
ac9b1aef7e minor js fix 2018-07-15 12:42:06 +03:00
Devaev Maxim
25ddee3fb1 initial restart streamer for crappy video devices 2018-07-15 12:04:10 +03:00
Devaev Maxim
fbf3f1981a Bump version: 0.26 → 0.27 2018-07-15 11:22:03 +03:00
Devaev Maxim
999d3f2457 big js refactoring 2018-07-15 11:21:44 +03:00
Devaev Maxim
4122ecdb55 kvmd: fixed pong, removed echo 2018-07-14 08:56:30 +03:00
Devaev Maxim
46e2125de2 Bump version: 0.25 → 0.26 2018-07-14 05:27:32 +03:00
Devaev Maxim
9853990075 improved js 2018-07-14 05:26:51 +03:00
Devaev Maxim
2b8d6b215c client-side ping-pong 2018-07-14 05:25:15 +03:00
Devaev Maxim
b2f57590b6 Bump version: 0.24 → 0.25 2018-07-13 22:53:02 +00:00
Devaev Maxim
0ac396f61c refactoring 2018-07-13 22:33:10 +00:00
Devaev Maxim
0a7eafa256 unified aioregion logic 2018-07-13 21:57:35 +00:00
Devaev Maxim
73ec9d853e better ui 2018-07-13 21:18:21 +00:00
Devaev Maxim
e118d270df exclusive region-based access for soma apis 2018-07-13 17:54:15 +00:00
Devaev Maxim
9e1f9ae853 better ui 2018-07-13 13:36:38 +00:00
Devaev Maxim
74fdc7464b improved error handling on server-side 2018-07-13 11:57:08 +00:00
Devaev Maxim
5664beda1b hid: fixed serial address 2018-07-13 08:52:45 +00:00
Devaev Maxim
b73705e275 pretty cursor for stream 2018-07-13 08:19:43 +00:00
Devaev Maxim
3228e49497 Bump version: 0.23 → 0.24 2018-07-13 07:34:55 +00:00
Devaev Maxim
9c5a8d122c changed hid protocol, added mouse support for hid 2018-07-13 07:33:56 +00:00
Devaev Maxim
f83b4f674a platformio update 2018-07-13 06:34:45 +00:00
Devaev Maxim
65b3bd8866 hid: using KEY_ERROR_UNDEFINED instead of 0 2018-07-13 06:34:32 +00:00
Devaev Maxim
30f7fc052e move_to -> to 2018-07-13 05:52:50 +00:00
Devaev Maxim
1f02b77f66 client-side for mouse wheel 2018-07-13 05:52:22 +00:00
Devaev Maxim
2a6883064d Bump version: 0.22 → 0.23 2018-07-13 05:16:18 +00:00
Devaev Maxim
c7d2f0244b improved PKGBUILD 2018-07-13 05:16:04 +00:00
Devaev Maxim
698339d77e client-side for mouse 2018-07-13 05:07:47 +00:00
Devaev Maxim
fc434cfc74 Bump version: 0.21 → 0.22 2018-07-13 02:28:57 +00:00
Devaev Maxim
5238fa64ac todo 2018-07-13 02:28:18 +00:00
Devaev Maxim
9c44852aa1 dynamic stream resolution 2018-07-13 02:23:35 +00:00
Devaev Maxim
796d35ed3b hack for correct screen resolution 2018-07-13 02:21:05 +00:00
Devaev Maxim
7b6b3aafd5 refactoring 2018-07-12 18:08:53 +00:00
Devaev Maxim
901d926fc4 fast rebuild 2018-07-12 04:45:30 +00:00
Devaev Maxim
ba05ca46d9 Bump version: 0.20 → 0.21 2018-07-12 03:33:17 +00:00
Devaev Maxim
7548e86a06 fixed atx clicking 2018-07-12 03:33:06 +00:00
Devaev Maxim
ff7b7ea9a7 optimized os rebuild 2018-07-12 02:42:16 +00:00
Devaev Maxim
44a31ca0ed Bump version: 0.19 → 0.20 2018-07-12 02:33:17 +00:00
Devaev Maxim
52c94958f7 better web 2018-07-12 02:32:56 +00:00
Devaev Maxim
cd0ce2d6be using PAL for correct resolution 2018-07-12 02:10:19 +00:00
Devaev Maxim
ee404dff35 Bump version: 0.18 → 0.19 2018-07-11 23:33:20 +00:00
Devaev Maxim
498d8b1ecf improved web 2018-07-11 23:32:34 +00:00
Devaev Maxim
00097cbb98 removed unused gpio init 2018-07-11 16:08:51 +00:00
Devaev Maxim
e3504ee69e fixed some seds 2018-07-11 06:31:36 +00:00
Devaev Maxim
f0c78e966e fixed keymapping 2018-07-11 06:30:47 +00:00
Devaev Maxim
08a36a1fe0 Bump version: 0.17 → 0.18 2018-07-11 05:29:56 +00:00
Devaev Maxim
c6b6e54875 using HID-Project library 2018-07-11 05:29:30 +00:00
Devaev Maxim
157828997a Bump version: 0.16 → 0.17 2018-07-11 00:08:15 +00:00
Devaev Maxim
164cfc40a6 added PKGBUILD to deps 2018-07-11 00:08:04 +00:00
Devaev Maxim
bc39f096c5 Bump version: 0.15 → 0.16 2018-07-11 00:07:23 +00:00
Devaev Maxim
008b9ca2f2 arduino-based hid 2018-07-11 00:06:56 +00:00
Devaev Maxim
db56bf90db refactoring 2018-07-10 03:17:33 +00:00
Devaev Maxim
646d2cd996 ps2keyboard -> keyboard 2018-07-09 21:06:37 +00:00
Devaev Maxim
c63e5a39ab js key -> ps2 keycodes 2018-07-09 20:37:43 +00:00
Devaev Maxim
2485f8e548 web: prevent default handler on key event 2018-07-09 20:34:13 +00:00
Devaev Maxim
670be54348 moar keyboard 2018-07-09 07:45:00 +00:00
Devaev Maxim
dec9aedb19 fixed os build AGAIN 2018-07-09 07:10:57 +00:00
Devaev Maxim
09ba1d7e3c Bump version: 0.14 → 0.15 2018-07-09 05:32:39 +00:00
Devaev Maxim
6b148b377c some keyboard code 2018-07-09 05:32:16 +00:00
Devaev Maxim
dbb6e7ebba fixed rebuild. again. 2018-07-09 03:34:32 +00:00
Devaev Maxim
9a4c375509 Bump version: 0.13 → 0.14 2018-07-09 03:32:45 +00:00
Devaev Maxim
1af71b3215 grammar fix 2018-07-09 03:32:20 +00:00
Devaev Maxim
1fe9b4276d better msd api; refactoring 2018-07-09 03:27:13 +00:00
Devaev Maxim
957c987b79 msd: chunk_size=65536 for better performance 2018-07-09 02:51:07 +00:00
Devaev Maxim
dbe55ea591 msd: absolute real path 2018-07-09 02:48:37 +00:00
Devaev Maxim
47fdafb495 fixed os build 2018-07-09 02:48:16 +00:00
Devaev Maxim
c53132a2b8 Bump version: 0.12 → 0.13 2018-07-09 00:11:49 +00:00
Devaev Maxim
f60293783f msd: image complete flag 2018-07-09 00:11:35 +00:00
Devaev Maxim
5efc812f42 nginx inside testenv 2018-07-08 22:02:44 +00:00
Devaev Maxim
67860c2e8d env hack 2018-07-08 06:40:18 +00:00
Devaev Maxim
652ec33e11 Bump version: 0.11 → 0.12 2018-07-08 06:29:41 +00:00
Devaev Maxim
41ce7ff286 test environment for docker 2018-07-08 06:28:12 +00:00
Devaev Maxim
b1d72e8663 moved kvmd.service to configs dir 2018-07-08 02:57:29 +00:00
Devaev Maxim
c24b6f83f8 build fresh os image with a new kvmd 2018-07-08 02:21:19 +00:00
Devaev Maxim
1fe8475dc4 Bump version: 0.10 → 0.11 2018-07-08 01:33:27 +00:00
Devaev Maxim
09cccf0ffb moved main configs to kvmd package 2018-07-08 01:31:11 +00:00
Devaev Maxim
8c9441e0a3 Bump version: 0.9 → 0.10 2018-07-07 23:38:23 +00:00
Devaev Maxim
476018aeb8 udev instead own bycicles 2018-07-07 23:37:38 +00:00
Devaev Maxim
f9a69c7467 Bump version: 0.8 → 0.9 2018-07-07 06:08:12 +00:00
Devaev Maxim
a72f721b80 new pi-builder 2018-07-07 06:07:58 +00:00
Devaev Maxim
e71252933a bind for streamer device 2018-07-07 06:04:44 +00:00
Devaev Maxim
a33965b6a5 optional cap power, init delay 2018-07-07 03:54:11 +00:00
Devaev Maxim
66eac2ca1e refactoring 2018-07-07 03:03:57 +00:00
Devaev Maxim
033ad8922c new pi-builder 2018-07-05 15:13:27 +00:00
Devaev Maxim
fa3d894172 renamed locations 2018-07-03 07:08:27 +03:00
Devaev Maxim
fb60b0dd60 wscli: timestamps 2018-07-03 07:03:09 +03:00
Devaev Maxim
67439d6194 msd: reread device info while writing 2018-07-03 07:00:17 +03:00
Devaev Maxim
95a5bbb367 fixed os freezes 2018-07-03 06:59:40 +03:00
Devaev Maxim
72206539d6 Bump version: 0.7 → 0.8 2018-07-03 01:13:34 +03:00
Devaev Maxim
3466da9467 fixed cleanup script 2018-07-03 01:12:53 +03:00
Devaev Maxim
9bd99aa223 Bump version: 0.6 → 0.7 2018-07-03 01:05:47 +03:00
Devaev Maxim
5e0b565f93 refactoring 2018-07-03 01:02:55 +03:00
Devaev Maxim
c4d861cc35 pc -> server 2018-07-03 00:43:31 +03:00
Devaev Maxim
8fd506fa1b msd: write image meta (name) to the last 4096 bytes of disk 2018-07-03 00:38:20 +03:00
Devaev Maxim
0582398521 better api, refactoring 2018-07-02 21:17:19 +03:00
Devaev Maxim
87f8cb350b refactoring 2018-07-02 11:14:34 +03:00
Devaev Maxim
54faa8ab7e using run_in_executor() for os.fsync() 2018-07-02 11:00:36 +03:00
Devaev Maxim
a396b67618 msd chunk_size is 8192 for speed 2018-07-02 09:27:08 +03:00
Devaev Maxim
682a93e757 test implementation of mass-storage device 2018-07-02 09:09:25 +03:00
Devaev Maxim
61603c4f7b fixed build v1 2018-07-01 02:16:10 +03:00
Devaev Maxim
ef8b496d47 Bump version: 0.5 → 0.6 2018-06-30 06:28:35 +03:00
Devaev Maxim
d921d0d6c4 fixed cleanup 2018-06-30 06:05:10 +03:00
Devaev Maxim
c0aee64246 reorganized project structure 2018-06-30 06:04:43 +03:00
Devaev Maxim
0cfb3c5dbc gpio: fixed set_output initial 2018-06-30 01:38:58 +03:00
Devaev Maxim
d77c88e25f Bump version: 0.4 → 0.5 2018-06-30 00:55:24 +03:00
Devaev Maxim
66a883397d setup.py: fixed packages 2018-06-30 00:55:02 +03:00
Devaev Maxim
de9600c81a make scan 2018-06-30 00:54:24 +03:00
Devaev Maxim
00de047b84 Bump version: 0.3 → 0.4 2018-06-30 00:18:22 +03:00
Devaev Maxim
c0ee171edb refactoring 2018-06-30 00:04:32 +03:00
Devaev Maxim
5589ecbac4 improved streamer killing 2018-06-29 23:59:43 +03:00
Devaev Maxim
93e28c62e5 refactoring 2018-06-29 23:31:47 +03:00
Devaev Maxim
607e5a9877 RESTART_VIDEO command 2018-06-29 22:44:04 +03:00
Devaev Maxim
8fccd50717 fixed kvmd path in systemd unit 2018-06-29 03:06:44 +03:00
Devaev Maxim
01f93b905a improved nginx config 2018-06-29 03:05:41 +03:00
Devaev Maxim
c1e8c2a024 fixed os/clean-all 2018-06-29 01:56:22 +03:00
Devaev Maxim
aea601d115 Bump version: 0.2 → 0.3 2018-06-29 01:50:39 +03:00
Devaev Maxim
be88d455c8 fixed kvmd.service name 2018-06-29 01:50:28 +03:00
Devaev Maxim
996428f34e Bump version: 0.1 → 0.2 2018-06-29 01:23:44 +03:00
Devaev Maxim
5fef349a0e fixed bumpversion 2018-06-29 01:23:30 +03:00
Devaev Maxim
177de47371 temporary commented tox for build 2018-06-29 00:41:39 +03:00
Devaev Maxim
917b786cd0 LICENSE 2018-06-29 00:40:49 +03:00
Devaev Maxim
6a24de5f90 fixed build 2018-06-29 00:40:27 +03:00
Devaev Maxim
b06bf44e33 build 2018-06-29 00:29:24 +03:00
Devaev Maxim
9237bb020d refactoring 2018-06-28 23:18:53 +03:00
Devaev Maxim
23070a3d23 fixed import 2018-06-28 21:16:17 +03:00
Devaev Maxim
ed331feab1 pretty logging 2018-06-28 21:16:11 +03:00
Devaev Maxim
54430fed31 ps/2 keyboard prototype 2018-06-28 18:58:52 +03:00
Devaev Maxim
65bee96fef try to find and kill mjpg_streamer 2018-06-28 08:04:22 +03:00
Devaev Maxim
d9c0e62cec fixed gpio context manager 2018-06-28 07:27:04 +03:00
Devaev Maxim
5925957b96 systemd service 2018-06-28 07:07:19 +03:00
Devaev Maxim
ba3c49a816 refactoring and graceful self-kill 2018-06-28 07:06:47 +03:00
Devaev Maxim
89164b184a refactoring 2018-06-28 06:41:19 +03:00
Devaev Maxim
0178a35d6b extra -> extras 2018-06-28 06:23:48 +03:00
Devaev Maxim
e8595665c0 gpio wrapper 2018-06-28 06:23:19 +03:00
Devaev Maxim
cac56cd92f cleanup script and refactoring 2018-06-28 06:03:51 +03:00
Devaev Maxim
0a3ab57639 kvmd extra package 2018-06-28 05:24:09 +03:00
Devaev Maxim
ab87784b75 using default logger 2018-06-28 03:58:34 +03:00
Devaev Maxim
055f3a141a wscli: changed default url 2018-06-28 03:54:28 +03:00
Devaev Maxim
30134ba3c6 delayed shutdown of streamer 2018-06-28 03:29:17 +03:00
Devaev Maxim
1a419cc52d removed streamer events 2018-06-28 00:01:13 +03:00
Devaev Maxim
3fefb0d519 usefull stuff for kvmd 2018-06-27 23:24:50 +03:00
Devaev Maxim
4804aa53b5 os building environ 2018-06-27 23:21:55 +03:00
Devaev Maxim
4c145f363f initial commit 2018-06-27 18:25:59 +03:00
729 changed files with 101638 additions and 2076 deletions

19
.bumpversion.cfg Normal file
View File

@ -0,0 +1,19 @@
[bumpversion]
commit = True
tag = True
current_version = 4.94
parse = (?P<major>\d+)\.(?P<minor>\d+)(\.(?P<patch>\d+)(\-(?P<release>[a-z]+))?)?
serialize =
{major}.{minor}
[bumpversion:file:kvmd/__init__.py]
search = __version__ = "{current_version}"
replace = __version__ = "{new_version}"
[bumpversion:file:setup.py]
search = version="{current_version}"
replace = version="{new_version}"
[bumpversion:file:PKGBUILD]
search = pkgver={current_version}
replace = pkgver={new_version}

23
.dockerignore Normal file
View File

@ -0,0 +1,23 @@
/pkg/
/src/
/site/
/dist/
/kvmd.egg-info/
/testenv/run/
/testenv/.tox/
/testenv/.mypy_cache/
/testenv/.ssl/
/hid/arduino/.pio/
/hid/arduino/.platformio/
/hid/pico/.pico-sdk.tmp/
/hid/pico/.pico-sdk/
/hid/pico/.tinyusb.tmp/
/hid/pico/.tinyusb/
/hid/pico/.build/
/hid/pico/*.uf2
/.git/
/v*.tar.gz
/*.pkg.tar.xz
/*.pkg.tar.zst
/*.egg-info
/*kvmd-*.tar.gz

10
.editorconfig Normal file
View File

@ -0,0 +1,10 @@
root = true
[*]
end_of_file = lf
indent_style = tab
indent_size = 4
[*.{py,yaml}]
indent_style = space
indent_size = 4

2
.github/FUNDING.yml vendored Normal file
View File

@ -0,0 +1,2 @@
# These are supported funding model platforms
custom: https://afdian.com/a/silentwind

36
.github/ISSUE_TEMPLATE/bug-反馈.md vendored Normal file
View File

@ -0,0 +1,36 @@
---
name: BUG 反馈
about: 反馈你所遇到的软件 BUG 或其他错误
title: "[BUG]"
labels: BUG
assignees: ''
---
### **Bug 反馈**
**问题描述**
请清晰描述您遇到的问题。例如:软件无法启动、特定功能报错或表现异常等。
**复现步骤**
请提供可复现此问题的详细步骤:
1. 前往 '...'
2. 点击 '....'
3. 滚动到 '....'
4. 发现错误
**日志信息**
如果程序崩溃或报错,请在此处粘贴相关的日志。
- **整合包镜像**: `systemctl status kvmd``journalctl -xeu kvmd`
- **Docker 镜像**: `docker logs kvmd`
**系统环境**
- **运行方式**: (例如:整合包镜像 / Docker)
- **镜像版本**: (Docker 镜像请提供版本号)
- **操作系统**: (例如Debian 12)
**尝试过的解决方法**
请简要描述您为解决此问题已尝试过的方法及其结果。如果未尝试,可留空。
**补充信息**
可以附加截图、录屏或其他有助于理解问题的信息。

View File

@ -0,0 +1,25 @@
---
name: 功能请求与设备适配
about: 请求新的功能或适配新的平台
title: "[功能/适配]"
labels: 特性
assignees: ''
---
**功能描述**
请详细描述您期望的新功能应该是什么样子。
- **对于新功能**:它应该如何工作?有哪些关键特性?
- **对于新平台适配**:请提供该平台的具体信息(如设备型号、系统版本、相关链接等)。
**期望的效果**
当该功能实现或平台适配完成后,您期望达到怎样的理想效果?可以像下面这样列出关键点:
- [ ] 用户可以...
- [ ] 系统能够...
- [ ] 解决了之前的...问题
**我能提供的帮助**
为了让这个想法更快成为现实,您可以提供哪些帮助?没有则填写无。
- [ ] 我可以参与后续的功能测试
- [ ] 我可以提供(临时的)远程调试环境(如 SSH、远程桌面
- [ ] 其他:...

210
.github/workflows/build_img.yaml vendored Normal file
View File

@ -0,0 +1,210 @@
name: Build One-KVM Image
on:
workflow_dispatch:
inputs:
device_target:
description: 'Target device to build'
required: true
type: choice
options:
- onecloud
- onecloud-pro
- cumebox2
- chainedbox
- vm
- e900v22c
- octopus-flanet
- orangepi-zero
- oec-turbo
- all
create_release:
description: 'Create GitHub Release'
required: false
default: true
type: boolean
release_name:
description: 'Custom release name (optional)'
required: false
type: string
env:
BUILD_DATE: ""
GIT_SHA: ""
RELEASE_TAG: ""
jobs:
build:
runs-on: ubuntu-22.04
container:
image: node:18
options: --user root --privileged
env:
TZ: Asia/Shanghai
volumes:
- /dev:/dev
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Inject TURN config (optional)
if: ${{ env.TURN_HOST != '' }}
run: |
mkdir -p configs/kvmd/override.d
cat > configs/kvmd/override.d/turn.yaml <<EOF
janus:
stun:
host: ${TURN_HOST}
port: ${TURN_PORT}
local_ice_servers:
- urls:
- "stun:${TURN_HOST}:${TURN_PORT}"
- "turn:${TURN_HOST}:${TURN_PORT}?transport=udp"
- "turn:${TURN_HOST}:${TURN_PORT}?transport=tcp"
username: "${TURN_USER}"
credential: "${TURN_PASS}"
EOF
env:
TURN_HOST: ${{ secrets.TURN_HOST }}
TURN_PORT: ${{ secrets.TURN_PORT }}
TURN_USER: ${{ secrets.TURN_USER }}
TURN_PASS: ${{ secrets.TURN_PASS }}
- name: Set build environment
id: build_env
shell: bash
run: |
BUILD_DATE=$(date +%y%m%d-%H%M)
# 使用 GitHub 提供的环境变量避免 Git 权限问题
GIT_SHA="${GITHUB_SHA:0:7}"
GIT_BRANCH="${GITHUB_REF_NAME}"
echo "BUILD_DATE=$BUILD_DATE" >> $GITHUB_ENV
echo "GIT_SHA=$GIT_SHA" >> $GITHUB_ENV
echo "GIT_BRANCH=$GIT_BRANCH" >> $GITHUB_ENV
# 生成唯一但不创建新分支的标识符
RELEASE_TAG="build-$BUILD_DATE-${{ github.event.inputs.device_target }}-$GIT_SHA"
echo "RELEASE_TAG=$RELEASE_TAG" >> $GITHUB_ENV
echo "Build environment:"
echo "- Date: $BUILD_DATE"
echo "- Git SHA: $GIT_SHA"
echo "- Git Branch: $GIT_BRANCH"
echo "- Release Tag: $RELEASE_TAG"
- name: Install dependencies
run: |
apt-get update
export DEBIAN_FRONTEND=noninteractive
apt-get install -y --no-install-recommends \
sudo tzdata docker.io qemu-utils qemu-user-static binfmt-support parted e2fsprogs \
curl tar python3 python3-pip rsync git android-sdk-libsparse-utils coreutils zerofree wget \
file tree
apt-get clean
rm -rf /var/lib/apt/lists/*
ln -snf /usr/share/zoneinfo/$TZ /etc/localtime
echo $TZ > /etc/timezone
update-binfmts --enable
env:
DEBIAN_FRONTEND: noninteractive
- name: Build image
id: build
shell: bash
run: |
set -eo pipefail
echo "=== Build Configuration ==="
echo "Target: ${{ github.event.inputs.device_target }}"
echo "Build Date: $BUILD_DATE"
echo "Git SHA: $GIT_SHA"
echo "Git Branch: $GIT_BRANCH"
echo "Output Directory: ${{ github.workspace }}/output"
echo "=========================="
mkdir -p "${{ github.workspace }}/output"
chmod +x build/build_img.sh
echo "Starting build process..."
if bash build/build_img.sh ${{ github.event.inputs.device_target }}; then
echo "BUILD_SUCCESS=true" >> $GITHUB_OUTPUT
echo "Build completed successfully!"
else
echo "BUILD_SUCCESS=false" >> $GITHUB_OUTPUT
echo "Build failed!" >&2
exit 1
fi
env:
CI_PROJECT_DIR: ${{ github.workspace }}
GITHUB_ACTIONS: true
OUTPUTDIR: ${{ github.workspace }}/output
- name: Collect build artifacts
id: artifacts
run: |
cd "${{ github.workspace }}/output"
echo "=== Build Artifacts ==="
if [ -d "${{ github.workspace }}/output" ]; then
find . -name "*.xz" | head -20
# 统计xz文件信息
ARTIFACT_COUNT=$(find . -name "*.xz" | wc -l)
TOTAL_SIZE=$(du -sh . | cut -f1)
echo "ARTIFACT_COUNT=$ARTIFACT_COUNT" >> $GITHUB_OUTPUT
echo "TOTAL_SIZE=$TOTAL_SIZE" >> $GITHUB_OUTPUT
else
echo "No output directory found!"
echo "ARTIFACT_COUNT=0" >> $GITHUB_OUTPUT
echo "TOTAL_SIZE=0" >> $GITHUB_OUTPUT
fi
echo "======================"
- name: Create GitHub Release
if: steps.build.outputs.BUILD_SUCCESS == 'true' && github.event.inputs.create_release == 'true'
id: release
uses: softprops/action-gh-release@v1
with:
tag_name: ${{ env.RELEASE_TAG }}
name: ${{ github.event.inputs.release_name || format('One-KVM {0} 构建镜像 ({1})', github.event.inputs.device_target, env.BUILD_DATE) }}
body: |
## 📦 GitHub Actions 镜像构建
### 构建信息
- **目标设备**: `${{ github.event.inputs.device_target }}`
- **构建时间**: `${{ env.BUILD_DATE }}`
- **Git 提交**: `${{ env.GIT_SHA }}` (分支: `${{ env.GIT_BRANCH }}`)
- **构建环境**: GitHub Actions (Ubuntu 22.04)
- **工作流ID**: `${{ github.run_id }}`
files: ${{ github.workspace }}/output/*.xz
prerelease: true
make_latest: false
generate_release_notes: false
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Build summary
if: always()
run: |
echo "## 📋 构建摘要" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "| 项目 | 值 |" >> $GITHUB_STEP_SUMMARY
echo "|------|-----|" >> $GITHUB_STEP_SUMMARY
echo "| **目标设备** | \`${{ github.event.inputs.device_target }}\` |" >> $GITHUB_STEP_SUMMARY
echo "| **构建时间** | \`${{ env.BUILD_DATE }}\` |" >> $GITHUB_STEP_SUMMARY
echo "| **Git SHA** | \`${{ env.GIT_SHA }}\` |" >> $GITHUB_STEP_SUMMARY
echo "| **Git 分支** | \`${{ env.GIT_BRANCH }}\` |" >> $GITHUB_STEP_SUMMARY
echo "| **构建状态** | ${{ steps.build.outputs.BUILD_SUCCESS == 'true' && '✅ 成功' || '❌ 失败' }} |" >> $GITHUB_STEP_SUMMARY
if [ "${{ steps.build.outputs.BUILD_SUCCESS }}" = "true" ]; then
echo "| **构建产物** | ${{ steps.artifacts.outputs.ARTIFACT_COUNT || '0' }} 个文件 (${{ steps.artifacts.outputs.TOTAL_SIZE || '0' }}) |" >> $GITHUB_STEP_SUMMARY
if [ "${{ github.event.inputs.create_release }}" = "true" ]; then
echo "| **Release** | [${{ env.RELEASE_TAG }}](${{ steps.release.outputs.url }}) |" >> $GITHUB_STEP_SUMMARY
fi
fi

240
.github/workflows/docker-build.yaml vendored Normal file
View File

@ -0,0 +1,240 @@
name: Build and Push Docker Image
on:
workflow_dispatch:
inputs:
build_type:
description: 'Build type'
required: true
type: choice
options:
- stage-0
- dev
- release
version:
description: 'Version tag (for main image)'
required: false
default: 'latest'
type: string
platforms:
description: 'Target platforms'
required: false
default: 'linux/amd64,linux/arm64,linux/arm/v7'
type: string
enable_aliyun:
description: 'Push to Aliyun Registry'
required: false
default: true
type: boolean
env:
DOCKERHUB_REGISTRY: docker.io
ALIYUN_REGISTRY: registry.cn-hangzhou.aliyuncs.com
STAGE0_IMAGE: kvmd-stage-0
MAIN_IMAGE: kvmd
jobs:
build-stage-0:
runs-on: ubuntu-22.04
if: github.event.inputs.build_type == 'stage-0'
permissions:
contents: read
packages: write
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Inject TURN config (optional)
if: ${{ env.TURN_HOST != '' }}
run: |
mkdir -p configs/kvmd/override.d
cat > configs/kvmd/override.d/turn.yaml <<EOF
janus:
stun:
host: ${TURN_HOST}
port: ${TURN_PORT}
local_ice_servers:
- urls:
- "stun:${TURN_HOST}:${TURN_PORT}"
- "turn:${TURN_HOST}:${TURN_PORT}?transport=udp"
- "turn:${TURN_HOST}:${TURN_PORT}?transport=tcp"
username: "${TURN_USER}"
credential: "${TURN_PASS}"
EOF
env:
TURN_HOST: ${{ secrets.TURN_HOST }}
TURN_PORT: ${{ secrets.TURN_PORT }}
TURN_USER: ${{ secrets.TURN_USER }}
TURN_PASS: ${{ secrets.TURN_PASS }}
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
with:
driver: docker-container
platforms: ${{ github.event.inputs.platforms }}
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
with:
platforms: all
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
registry: ${{ env.DOCKERHUB_REGISTRY }}
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Login to Aliyun Registry
if: github.event.inputs.enable_aliyun == 'true'
uses: docker/login-action@v3
with:
registry: ${{ env.ALIYUN_REGISTRY }}
username: ${{ secrets.ALIYUN_USERNAME }}
password: ${{ secrets.ALIYUN_PASSWORD }}
- name: Extract metadata
id: meta
uses: docker/metadata-action@v5
with:
images: |
silentwind0/${{ env.STAGE0_IMAGE }}
${{ github.event.inputs.enable_aliyun == 'true' && format('{0}/silentwind/{1}', env.ALIYUN_REGISTRY, env.STAGE0_IMAGE) || '' }}
tags: |
type=raw,value=latest
type=raw,value=latest-{{date 'YYYYMMDD-HHmmss'}}
type=sha,prefix={{branch}}-
labels: |
org.opencontainers.image.title=One-KVM Stage-0 Base Image
org.opencontainers.image.description=Base image for One-KVM build environment
org.opencontainers.image.vendor=One-KVM Project
- name: Build and push stage-0 image
uses: docker/build-push-action@v5
with:
context: .
file: ./build/Dockerfile-stage-0
platforms: ${{ github.event.inputs.platforms }}
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha,scope=stage-0
cache-to: type=gha,mode=max,scope=stage-0
provenance: false
sbom: false
allow: security.insecure
build-main:
runs-on: ubuntu-22.04
if: github.event.inputs.build_type != 'stage-0'
permissions:
contents: read
packages: write
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Inject TURN config (optional)
if: ${{ env.TURN_HOST != '' }}
run: |
mkdir -p configs/kvmd/override.d
cat > configs/kvmd/override.d/turn.yaml <<EOF
janus:
stun:
host: ${TURN_HOST}
port: ${TURN_PORT}
local_ice_servers:
- urls:
- "stun:${TURN_HOST}:${TURN_PORT}"
- "turn:${TURN_HOST}:${TURN_PORT}?transport=udp"
- "turn:${TURN_HOST}:${TURN_PORT}?transport=tcp"
username: "${TURN_USER}"
credential: "${TURN_PASS}"
EOF
env:
TURN_HOST: ${{ secrets.TURN_HOST }}
TURN_PORT: ${{ secrets.TURN_PORT }}
TURN_USER: ${{ secrets.TURN_USER }}
TURN_PASS: ${{ secrets.TURN_PASS }}
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
with:
driver: docker-container
platforms: ${{ github.event.inputs.platforms }}
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
with:
platforms: all
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
registry: ${{ env.DOCKERHUB_REGISTRY }}
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Login to Aliyun Registry
if: github.event.inputs.enable_aliyun == 'true'
uses: docker/login-action@v3
with:
registry: ${{ env.ALIYUN_REGISTRY }}
username: ${{ secrets.ALIYUN_USERNAME }}
password: ${{ secrets.ALIYUN_PASSWORD }}
- name: Set version tag
id: version
run: |
if [[ "${{ github.event.inputs.build_type }}" == "dev" ]]; then
echo "tag=dev" >> $GITHUB_OUTPUT
elif [[ "${{ github.event.inputs.build_type }}" == "release" ]]; then
echo "tag=${{ github.event.inputs.version }}" >> $GITHUB_OUTPUT
fi
- name: Extract metadata
id: meta
uses: docker/metadata-action@v5
with:
images: |
silentwind0/${{ env.MAIN_IMAGE }}
${{ github.event.inputs.enable_aliyun == 'true' && format('{0}/silentwind/{1}', env.ALIYUN_REGISTRY, env.MAIN_IMAGE) || '' }}
tags: |
type=raw,value=${{ steps.version.outputs.tag }}
type=raw,value=${{ steps.version.outputs.tag }}-{{date 'YYYYMMDD-HHmmss'}}
type=sha,prefix={{branch}}-
labels: |
org.opencontainers.image.title=One-KVM
org.opencontainers.image.description=DIY IP-KVM solution based on PiKVM
org.opencontainers.image.vendor=One-KVM Project
org.opencontainers.image.version=${{ steps.version.outputs.tag }}
- name: Build and push main image
uses: docker/build-push-action@v5
with:
context: .
file: ./build/Dockerfile
platforms: ${{ github.event.inputs.platforms }}
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha,scope=main
cache-to: type=gha,mode=max,scope=main
provenance: false
sbom: false
- name: Build summary
run: |
echo "## Build Summary" >> $GITHUB_STEP_SUMMARY
echo "- **Build Type**: ${{ github.event.inputs.build_type }}" >> $GITHUB_STEP_SUMMARY
echo "- **Version Tag**: ${{ steps.version.outputs.tag }}" >> $GITHUB_STEP_SUMMARY
echo "- **Platforms**: ${{ github.event.inputs.platforms }}" >> $GITHUB_STEP_SUMMARY
echo "- **Aliyun Enabled**: ${{ github.event.inputs.enable_aliyun }}" >> $GITHUB_STEP_SUMMARY
echo "- **Tags**:" >> $GITHUB_STEP_SUMMARY
echo "${{ steps.meta.outputs.tags }}" | sed 's/^/ - /' >> $GITHUB_STEP_SUMMARY

24
.gitignore vendored Normal file
View File

@ -0,0 +1,24 @@
/pkg/
/src/**/*.img
/src/tmp
/site/
/dist/
/kvmd.egg-info/
/config.mk
/testenv/.tox/
/testenv/.mypy_cache/
/testenv/.coverage*
/testenv/run/*.sock
/testenv/run/*.pid
/testenv/.ssl/
/v*.tar.gz
/*.pkg.tar.xz
/*.pkg.tar.zst
/*.egg-info
/*kvmd-*.tar.gz
*.pyc
*.swp
/venv/
.vscode/settings.j/son
kvmd_config/
CLAUDE.md

4
.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,4 @@
{
"cmake.ignoreCMakeListsMissing": true,
"makefile.configureOnOpen": false
}

View File

@ -671,4 +671,4 @@ into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<https://www.gnu.org/licenses/why-not-lgpl.html>.
<https://www.gnu.org/licenses/why-not-lgpl.html>.

345
Makefile Normal file
View File

@ -0,0 +1,345 @@
-include config.mk
TESTENV_IMAGE ?= kvmd-testenv
TESTENV_HID ?= /dev/ttyS10
TESTENV_VIDEO ?= /dev/video0
TESTENV_GPIO ?= /dev/gpiochip0
TESTENV_RELAY ?=
#TESTENV_RELAY ?= $(if $(shell ls /dev/hidraw0 2>/dev/null || true),/dev/hidraw0,)
LIBGPIOD_VERSION ?= 1.6.3
USTREAMER_MIN_VERSION ?= $(shell grep -o 'ustreamer>=[^"]\+' PKGBUILD | sed 's/ustreamer>=//g')
DEFAULT_PLATFORM ?= v2-hdmiusb-rpi4
DOCKER ?= docker
# =====
define optbool
$(filter $(shell echo $(1) | tr A-Z a-z),yes on 1)
endef
# =====
all:
@ echo "Useful commands:"
@ echo " make # Print this help"
@ echo " make testenv # Build test environment"
@ echo " make tox # Run tests and linters"
@ echo " make tox E=pytest # Run selected test environment"
@ echo " make tox-local # Run tests and linters locally (no Docker)"
@ echo " make tox-local E=flake8 # Run selected test locally"
@ echo " make gpio # Create gpio mockup"
@ echo " make run # Run kvmd"
@ echo " make run CMD=... # Run specified command inside kvmd environment"
@ echo " make run-cfg # Run kvmd -m"
@ echo " make run-ipmi # Run kvmd-ipmi"
@ echo " make run-ipmi CMD=... # Run specified command inside kvmd-ipmi environment"
@ echo " make run-vnc # Run kvmd-vnc"
@ echo " make run-vnc CMD=... # Run specified command inside kvmd-vnc environment"
@ echo " make regen # Regen some sources like keymap"
@ echo " make bump # Bump minor version"
@ echo " make bump V=major # Bump major version"
@ echo " make release # Publish the new release (include bump minor)"
@ echo " make clean # Remove garbage"
@ echo " make clean-all # Remove garbage and test results"
@ echo
@ echo "Also you can add option NC=1 to rebuild docker test environment"
testenv:
$(DOCKER) build \
$(if $(call optbool,$(NC)),--no-cache,) \
--rm \
--tag $(TESTENV_IMAGE) \
--build-arg LIBGPIOD_VERSION=$(LIBGPIOD_VERSION) \
--build-arg USTREAMER_MIN_VERSION=$(USTREAMER_MIN_VERSION) \
-f testenv/Dockerfile .
test -d testenv/.ssl || $(DOCKER) run --rm \
--volume `pwd`:/src:ro \
--volume `pwd`/testenv:/src/testenv:rw \
-t $(TESTENV_IMAGE) bash -c " \
groupadd kvmd-nginx \
&& groupadd kvmd-vnc \
&& /src/scripts/kvmd-gencert --do-the-thing \
&& /src/scripts/kvmd-gencert --do-the-thing --vnc \
&& chown -R root:root /etc/kvmd/{nginx,vnc}/ssl \
&& chmod 664 /etc/kvmd/{nginx,vnc}/ssl/* \
&& chmod 775 /etc/kvmd/{nginx,vnc}/ssl \
&& mkdir /src/testenv/.ssl \
&& mv /etc/kvmd/nginx/ssl /src/testenv/.ssl/nginx \
&& mv /etc/kvmd/vnc/ssl /src/testenv/.ssl/vnc \
"
tox: testenv
time $(DOCKER) run --rm \
--volume `pwd`:/src:ro \
--volume `pwd`/testenv:/src/testenv:rw \
--volume `pwd`/testenv/tests:/src/testenv/tests:ro \
--volume `pwd`/extras:/usr/share/kvmd/extras:ro \
--volume `pwd`/configs:/usr/share/kvmd/configs.default:ro \
--volume `pwd`/contrib/keymaps:/usr/share/kvmd/keymaps:ro \
-t $(TESTENV_IMAGE) bash -c " \
cp -a /src/testenv/.ssl/nginx /etc/kvmd/nginx/ssl \
&& cp -a /src/testenv/.ssl/vnc /etc/kvmd/vnc/ssl \
&& cp /src/testenv/platform /usr/share/kvmd \
&& cp /usr/share/kvmd/configs.default/kvmd/*.yaml /etc/kvmd \
&& cp /usr/share/kvmd/configs.default/kvmd/*passwd /etc/kvmd \
&& cp /usr/share/kvmd/configs.default/kvmd/*.secret /etc/kvmd \
&& cp /usr/share/kvmd/configs.default/kvmd/edid/v2.hex /etc/kvmd/switch-edid.hex \
&& cp /usr/share/kvmd/configs.default/kvmd/main/$(if $(P),$(P),$(DEFAULT_PLATFORM)).yaml /etc/kvmd/main.yaml \
&& cp /usr/share/kvmd/configs.default/kvmd/main.yaml /etc/kvmd/main.yaml \
&& mkdir -p /etc/kvmd/override.d \
&& cp /src/testenv/$(if $(P),$(P),$(DEFAULT_PLATFORM)).override.yaml /etc/kvmd/override.yaml \
&& cd /src \
&& $(if $(CMD),$(CMD),tox -q -c testenv/tox.ini $(if $(E),-e $(E),-p auto)) \
"
tox-local:
@./check-code.sh $(if $(E),$(E),all)
$(TESTENV_GPIO):
test ! -e $(TESTENV_GPIO)
sudo modprobe gpio_mockup gpio_mockup_ranges=0,40
test -c $(TESTENV_GPIO)
run: testenv $(TESTENV_GPIO)
- $(DOCKER) run --rm --name kvmd \
--ipc=shareable \
--privileged \
--volume `pwd`/testenv/run:/run/kvmd:rw \
--volume `pwd`/testenv:/testenv:ro \
--volume `pwd`/kvmd:/kvmd:ro \
--volume `pwd`/testenv/env.py:/kvmd/env.py:ro \
--volume `pwd`/web:/usr/share/kvmd/web:ro \
--volume `pwd`/extras:/usr/share/kvmd/extras:ro \
--volume `pwd`/configs:/usr/share/kvmd/configs.default:ro \
--volume `pwd`/contrib/keymaps:/usr/share/kvmd/keymaps:ro \
--device $(TESTENV_VIDEO):$(TESTENV_VIDEO) \
--device $(TESTENV_GPIO):$(TESTENV_GPIO) \
$(if $(TESTENV_RELAY),--device $(TESTENV_RELAY):$(TESTENV_RELAY),) \
--publish 8080:8080/tcp \
--publish 4430:4430/tcp \
-it $(TESTENV_IMAGE) /bin/bash -c " \
mkdir -p /tmp/kvmd-nginx \
&& mount -t debugfs none /sys/kernel/debug \
&& test -d /sys/kernel/debug/gpio-mockup/`basename $(TESTENV_GPIO)`/ || (echo \"Missing GPIO mockup\" && exit 1) \
&& (socat PTY,link=$(TESTENV_HID) PTY,link=/dev/ttyS11 &) \
&& cp -r /usr/share/kvmd/configs.default/nginx/* /etc/kvmd/nginx \
&& cp -a /testenv/.ssl/nginx /etc/kvmd/nginx/ssl \
&& cp -a /testenv/.ssl/vnc /etc/kvmd/vnc/ssl \
&& cp /testenv/platform /usr/share/kvmd \
&& cp /usr/share/kvmd/configs.default/kvmd/*.yaml /etc/kvmd \
&& cp /usr/share/kvmd/configs.default/kvmd/*passwd /etc/kvmd \
&& cp /usr/share/kvmd/configs.default/kvmd/*.secret /etc/kvmd \
&& cp /usr/share/kvmd/configs.default/kvmd/edid/v2.hex /etc/kvmd/switch-edid.hex \
&& cp /usr/share/kvmd/configs.default/kvmd/main/$(if $(P),$(P),$(DEFAULT_PLATFORM)).yaml /etc/kvmd/main.yaml \
&& ln -s /testenv/web.css /etc/kvmd/web.css \
&& mkdir -p /etc/kvmd/override.d \
&& cp /testenv/$(if $(P),$(P),$(DEFAULT_PLATFORM)).override.yaml /etc/kvmd/override.yaml \
&& python -m kvmd.apps.ngxmkconf /etc/kvmd/nginx/nginx.conf.mako /etc/kvmd/nginx/nginx.conf \
&& nginx -c /etc/kvmd/nginx/nginx.conf -g 'user http; error_log stderr;' \
&& ln -s $(TESTENV_VIDEO) /dev/kvmd-video \
&& ln -s $(TESTENV_GPIO) /dev/kvmd-gpio \
&& $(if $(CMD),$(CMD),python -m kvmd.apps.kvmd --run) \
"
run-cfg: testenv
- $(DOCKER) run --rm --name kvmd-cfg \
--volume `pwd`/testenv/run:/run/kvmd:rw \
--volume `pwd`/testenv:/testenv:ro \
--volume `pwd`/kvmd:/kvmd:ro \
--volume `pwd`/extras:/usr/share/kvmd/extras:ro \
--volume `pwd`/configs:/usr/share/kvmd/configs.default:ro \
--volume `pwd`/contrib/keymaps:/usr/share/kvmd/keymaps:ro \
-it $(TESTENV_IMAGE) /bin/bash -c " \
cp -a /testenv/.ssl/nginx /etc/kvmd/nginx/ssl \
&& cp -a /testenv/.ssl/vnc /etc/kvmd/vnc/ssl \
&& cp /testenv/platform /usr/share/kvmd \
&& cp /usr/share/kvmd/configs.default/kvmd/*.yaml /etc/kvmd \
&& cp /usr/share/kvmd/configs.default/kvmd/*passwd /etc/kvmd \
&& cp /usr/share/kvmd/configs.default/kvmd/*.secret /etc/kvmd \
&& cp /usr/share/kvmd/configs.default/kvmd/edid/v2.hex /etc/kvmd/switch-edid.hex \
&& cp /usr/share/kvmd/configs.default/kvmd/main/$(if $(P),$(P),$(DEFAULT_PLATFORM)).yaml /etc/kvmd/main.yaml \
&& cp /usr/share/kvmd/configs.default/kvmd/main.yaml /etc/kvmd/main.yaml \
&& mkdir -p /etc/kvmd/override.d \
&& cp /testenv/$(if $(P),$(P),$(DEFAULT_PLATFORM)).override.yaml /etc/kvmd/override.yaml \
&& $(if $(CMD),$(CMD),python -m kvmd.apps.kvmd -m) \
"
run-ipmi: testenv
- $(DOCKER) run --rm --name kvmd-ipmi \
--volume `pwd`/testenv/run:/run/kvmd:rw \
--volume `pwd`/testenv:/testenv:ro \
--volume `pwd`/kvmd:/kvmd:ro \
--volume `pwd`/extras:/usr/share/kvmd/extras:ro \
--volume `pwd`/configs:/usr/share/kvmd/configs.default:ro \
--volume `pwd`/contrib/keymaps:/usr/share/kvmd/keymaps:ro \
--publish 6230:623/udp \
-it $(TESTENV_IMAGE) /bin/bash -c " \
cp -a /testenv/.ssl/nginx /etc/kvmd/nginx/ssl \
&& cp -a /testenv/.ssl/vnc /etc/kvmd/vnc/ssl \
&& cp /testenv/platform /usr/share/kvmd \
&& cp /usr/share/kvmd/configs.default/kvmd/*.yaml /etc/kvmd \
&& cp /usr/share/kvmd/configs.default/kvmd/*passwd /etc/kvmd \
&& cp /usr/share/kvmd/configs.default/kvmd/*.secret /etc/kvmd \
&& cp /usr/share/kvmd/configs.default/kvmd/edid/v2.hex /etc/kvmd/switch-edid.hex \
&& cp /usr/share/kvmd/configs.default/kvmd/main/$(if $(P),$(P),$(DEFAULT_PLATFORM)).yaml /etc/kvmd/main.yaml \
&& mkdir -p /etc/kvmd/override.d \
&& cp /testenv/$(if $(P),$(P),$(DEFAULT_PLATFORM)).override.yaml /etc/kvmd/override.yaml \
&& $(if $(CMD),$(CMD),python -m kvmd.apps.ipmi --run) \
"
run-vnc: testenv
- $(DOCKER) run --rm --name kvmd-vnc \
--ipc=container:kvmd \
--volume `pwd`/testenv/run:/run/kvmd:rw \
--volume `pwd`/testenv:/testenv:ro \
--volume `pwd`/kvmd:/kvmd:ro \
--volume `pwd`/extras:/usr/share/kvmd/extras:ro \
--volume `pwd`/configs:/usr/share/kvmd/configs.default:ro \
--volume `pwd`/contrib/keymaps:/usr/share/kvmd/keymaps:ro \
--publish 5900:5900/tcp \
-it $(TESTENV_IMAGE) /bin/bash -c " \
cp -a /testenv/.ssl/nginx /etc/kvmd/nginx/ssl \
&& cp -a /testenv/.ssl/vnc /etc/kvmd/vnc/ssl \
&& cp /testenv/platform /usr/share/kvmd \
&& cp /usr/share/kvmd/configs.default/kvmd/*.yaml /etc/kvmd \
&& cp /usr/share/kvmd/configs.default/kvmd/*passwd /etc/kvmd \
&& cp /usr/share/kvmd/configs.default/kvmd/*.secret /etc/kvmd \
&& cp /usr/share/kvmd/configs.default/kvmd/edid/v2.hex /etc/kvmd/switch-edid.hex \
&& cp /usr/share/kvmd/configs.default/kvmd/main/$(if $(P),$(P),$(DEFAULT_PLATFORM)).yaml /etc/kvmd/main.yaml \
&& mkdir -p /etc/kvmd/override.d \
&& cp /testenv/$(if $(P),$(P),$(DEFAULT_PLATFORM)).override.yaml /etc/kvmd/override.yaml \
&& $(if $(CMD),$(CMD),python -m kvmd.apps.vnc --run) \
"
regen: keymap pug
keymap: testenv
$(DOCKER) run --user `id -u`:`id -g` --rm \
--volume `pwd`:/src \
-it $(TESTENV_IMAGE) bash -c "cd src \
&& ./genmap.py keymap.csv kvmd/keyboard/mappings.py.mako kvmd/keyboard/mappings.py \
&& ./genmap.py keymap.csv hid/arduino/lib/drivers/usb-keymap.h.mako hid/arduino/lib/drivers/usb-keymap.h \
&& ./genmap.py keymap.csv hid/arduino/lib/drivers-avr/ps2/keymap.h.mako hid/arduino/lib/drivers-avr/ps2/keymap.h \
&& ./genmap.py keymap.csv hid/pico/src/ph_usb_keymap.h.mako hid/pico/src/ph_usb_keymap.h \
"
pug: testenv
$(DOCKER) run --user `id -u`:`id -g` --rm \
--volume `pwd`:/src \
-it $(TESTENV_IMAGE) bash -c "cd src \
&& pug --pretty web/index.pug -o web \
&& pug --pretty web/login/index.pug -o web/login \
&& pug --pretty web/kvm/index.pug -o web/kvm \
&& pug --pretty web/ipmi/index.pug -o web/ipmi \
&& pug --pretty web/vnc/index.pug -o web/vnc \
"
release:
make clean
make tox
make clean
make push
make bump V=$(V)
make push
make clean
bump:
bumpversion $(if $(V),$(V),minor)
push:
git push
git push --tags
clean:
rm -rf testenv/run/*.{pid,sock} build site dist pkg src v*.tar.gz *.pkg.tar.{xz,zst} *.egg-info kvmd-*.tar.gz
find kvmd testenv/tests -name __pycache__ | xargs rm -rf
make -C hid/arduino clean
make -C hid/pico clean
clean-all: testenv clean
make -C hid/arduino clean-all
make -C hid/pico clean-all
- $(DOCKER) run --rm \
--volume `pwd`:/src \
-it $(TESTENV_IMAGE) bash -c "cd src && rm -rf testenv/{.ssl,.tox,.mypy_cache,.coverage}"
.PHONY: testenv
run-stage-0:
$(DOCKER) buildx build -t registry.cn-hangzhou.aliyuncs.com/silentwind/kvmd-stage-0 -t silentwind0/kvmd-stage-0 \
--allow security.insecure --progress plain \
--platform linux/amd64,linux/arm64,linux/arm/v7 \
-f build/Dockerfile-stage-0 . \
--push
run-build-dev:
$(DOCKER) buildx build -t registry.cn-hangzhou.aliyuncs.com/silentwind/kvmd:dev -t silentwind0/kvmd:dev \
--platform linux/amd64,linux/arm64,linux/arm/v7 \
--build-arg CACHEBUST=$(date +%s) \
-f build/Dockerfile . \
--push
run-build-release:
$(DOCKER) buildx build -t registry.cn-hangzhou.aliyuncs.com/silentwind/kvmd -t silentwind0/kvmd \
--progress plain \
--platform linux/amd64,linux/arm64,linux/arm/v7 \
--build-arg CACHEBUST=$(date +%s) \
-f build/Dockerfile . \
--push
run-nogpio: testenv
- $(DOCKER) run --rm --name kvmd \
--privileged \
--volume `pwd`/testenv/run:/run/kvmd:rw \
--volume `pwd`/testenv:/testenv:ro \
--volume `pwd`/kvmd:/kvmd:ro \
--volume `pwd`/testenv/env.py:/kvmd/env.py:ro \
--volume `pwd`/web:/usr/share/kvmd/web:ro \
--volume `pwd`/extras:/usr/share/kvmd/extras:ro \
--volume `pwd`/configs:/usr/share/kvmd/configs.default:ro \
--volume `pwd`/contrib/keymaps:/usr/share/kvmd/keymaps:ro \
--device $(TESTENV_VIDEO):$(TESTENV_VIDEO) \
$(if $(TESTENV_RELAY),--device $(TESTENV_RELAY):$(TESTENV_RELAY),) \
--publish 8080:8080/tcp \
--publish 4430:4430/tcp \
-it $(TESTENV_IMAGE) /bin/bash -c " \
mkdir -p /tmp/kvmd-nginx \
&& mount -t debugfs none /sys/kernel/debug \
&& (socat PTY,link=$(TESTENV_HID) PTY,link=/dev/ttyS11 &) \
&& cp -r /usr/share/kvmd/configs.default/nginx/* /etc/kvmd/nginx \
&& cp -a /testenv/.ssl/nginx /etc/kvmd/nginx/ssl \
&& cp -a /testenv/.ssl/vnc /etc/kvmd/vnc/ssl \
&& touch /etc/kvmd/.docker_flag \
&& cp /testenv/platform /usr/share/kvmd \
&& cp /usr/share/kvmd/configs.default/kvmd/*.yaml /etc/kvmd \
&& cp /usr/share/kvmd/configs.default/kvmd/*passwd /etc/kvmd \
&& cp /usr/share/kvmd/configs.default/kvmd/*.secret /etc/kvmd \
&& cp /usr/share/kvmd/configs.default/kvmd/main.yaml /etc/kvmd/main.yaml \
&& ln -s /testenv/web.css /etc/kvmd/web.css \
&& mkdir -p /etc/kvmd/override.d \
&& cp /testenv/$(if $(P),$(P),$(DEFAULT_PLATFORM)).override.yaml /etc/kvmd/override.yaml \
&& python -m kvmd.apps.ngxmkconf /etc/kvmd/nginx/nginx.conf.mako /etc/kvmd/nginx/nginx.conf \
&& nginx -c /etc/kvmd/nginx/nginx.conf -g 'user http; error_log stderr;' \
&& $(if $(CMD),$(CMD),python -m kvmd.apps.kvmd --run) \
"

279
PKGBUILD Normal file
View File

@ -0,0 +1,279 @@
# Contributor: Maxim Devaev <mdevaev@gmail.com>
# Author: Maxim Devaev <mdevaev@gmail.com>
_variants=(
v0-hdmi:zero2w
v0-hdmi:rpi2
v0-hdmi:rpi3
v0-hdmiusb:zero2w
v0-hdmiusb:rpi2
v0-hdmiusb:rpi3
v1-hdmi:zero2w
v1-hdmi:rpi2
v1-hdmi:rpi3
v1-hdmiusb:zero2w
v1-hdmiusb:rpi2
v1-hdmiusb:rpi3
v2-hdmi:zero2w
v2-hdmi:rpi3
v2-hdmi:rpi4
v2-hdmiusb:rpi4
v3-hdmi:rpi4
v4mini-hdmi:rpi4
v4plus-hdmi:rpi4
)
pkgname=(kvmd)
for _variant in "${_variants[@]}"; do
_platform=${_variant%:*}
_board=${_variant#*:}
pkgname+=(kvmd-platform-$_platform-$_board)
done
pkgbase=kvmd
pkgver=4.94
pkgrel=1
pkgdesc="The main PiKVM daemon"
url="https://github.com/pikvm/kvmd"
license=(GPL)
arch=(any)
depends=(
"python>=3.13"
"python<3.14"
python-yaml
python-aiohttp
python-aiofiles
python-async-lru
python-passlib
# python-bcrypt is needed for passlib
python-bcrypt
python-pyotp
python-qrcode
python-periphery
python-pyserial
python-pyserial-asyncio
python-spidev
python-setproctitle
python-psutil
python-netifaces
python-systemd
python-dbus
python-dbus-next
python-pygments
"python-pyghmi>=1.6.0-2"
python-pam
python-pillow
python-xlib
libxkbcommon
python-hidapi
python-six
python-pyrad
python-ldap
python-zstandard
python-mako
python-luma-oled
python-pyusb
python-pyudev
python-evdev
"libgpiod>=2.1"
freetype2
"v4l-utils>=1.22.1-1"
"nginx-mainline>=1.25.1"
openssl
sudo
iptables
iproute2
dnsmasq
ipmitool
"janus-gateway-pikvm>=1.3.0"
certbot
platform-io-access
raspberrypi-utils
"ustreamer>=6.37"
# Systemd UDEV bug
"systemd>=248.3-2"
# https://bugzilla.redhat.com/show_bug.cgi?id=2035802
# https://archlinuxarm.org/forum/viewtopic.php?f=15&t=15725&start=40
"zstd>=1.5.1-2.1"
# Possible hotfix for the new os update
openssl-1.1
# Bootconfig
dos2unix
parted
e2fsprogs
openssh
# FIXME:
# - https://archlinuxarm.org/forum/viewtopic.php?f=15&t=17007&p=72789
# - https://github.com/pikvm/pikvm/issues/1375
wpa_supplicant-pikvm
run-parts
# fsck for /boot
dosfstools
# pgrep for kvmd-udev-restart-pass, sysctl for kvmd-otgnet
procps-ng
# Misc
hostapd
)
optdepends=(
tesseract
)
conflicts=(
python-pikvm
python-aiohttp-pikvm
platformio
avrdude-pikvm
kvmd-oled
)
makedepends=(
python-setuptools
python-pip
)
source=("$url/archive/v$pkgver.tar.gz")
md5sums=(SKIP)
backup=(
etc/kvmd/{override,logging,auth,meta}.yaml
etc/kvmd/{ht,ipmi,vnc}passwd
etc/kvmd/totp.secret
etc/kvmd/nginx/{kvmd.ctx-{http,server},certbot.ctx-server}.conf
etc/kvmd/nginx/loc-{login,nocache,proxy,websocket,nobuffering,bigpost}.conf
etc/kvmd/nginx/{mime-types,ssl}.conf
etc/kvmd/nginx/nginx.conf.mako
etc/kvmd/janus/janus{,.plugin.ustreamer,.transport.websockets}.jcfg
etc/kvmd/web.css
)
package_kvmd() {
install=$pkgname.install
cd "$srcdir/kvmd-$pkgver"
pip install --root="$pkgdir" --no-deps .
install -Dm755 -t "$pkgdir/usr/bin" scripts/kvmd-{bootconfig,gencert,certbot}
install -dm755 "$pkgdir/usr/lib/systemd/system"
cp -rd configs/os/services -T "$pkgdir/usr/lib/systemd/system"
install -DTm644 configs/os/sysusers.conf "$pkgdir/usr/lib/sysusers.d/kvmd.conf"
install -DTm644 configs/os/tmpfiles.conf "$pkgdir/usr/lib/tmpfiles.d/kvmd.conf"
mkdir -p "$pkgdir/usr/share/kvmd"
cp -r {switch,hid,web,extras,contrib/keymaps} "$pkgdir/usr/share/kvmd"
find "$pkgdir/usr/share/kvmd/web" -name '*.pug' -exec rm -f '{}' \;
local _cfg_default="$pkgdir/usr/share/kvmd/configs.default"
mkdir -p "$_cfg_default"
cp -r configs/* "$_cfg_default"
find "$pkgdir" -name ".gitignore" -delete
find "$_cfg_default" -type f -exec chmod 444 '{}' \;
chmod 400 "$_cfg_default/kvmd"/*passwd
chmod 400 "$_cfg_default/kvmd"/*.secret
chmod 750 "$_cfg_default/os/sudoers"
chmod 400 "$_cfg_default/os/sudoers"/*
mkdir -p "$pkgdir/etc/kvmd/"{nginx,vnc}"/ssl"
chmod 755 "$pkgdir/etc/kvmd/"{nginx,vnc}"/ssl"
install -Dm444 -t "$pkgdir/etc/kvmd/nginx" "$_cfg_default/nginx"/*.conf*
chmod 644 "$pkgdir/etc/kvmd/nginx/"{nginx,ssl}.conf*
mkdir -p "$pkgdir/etc/kvmd/janus"
chmod 755 "$pkgdir/etc/kvmd/janus"
install -Dm444 -t "$pkgdir/etc/kvmd/janus" "$_cfg_default/janus"/*.jcfg
install -Dm644 -t "$pkgdir/etc/kvmd" "$_cfg_default/kvmd"/*.yaml
install -Dm600 -t "$pkgdir/etc/kvmd" "$_cfg_default/kvmd"/*passwd
install -Dm600 -t "$pkgdir/etc/kvmd" "$_cfg_default/kvmd"/*.secret
install -Dm644 -t "$pkgdir/etc/kvmd" "$_cfg_default/kvmd"/web.css
mkdir -p "$pkgdir/etc/kvmd/override.d"
mkdir -p "$pkgdir/var/lib/kvmd/"{msd,pst}
chmod 1775 "$pkgdir/var/lib/kvmd/pst"
}
for _variant in "${_variants[@]}"; do
_platform=${_variant%:*}
_board=${_variant#*:}
_base=${_platform%-*}
_video=${_platform#*-}
eval "package_kvmd-platform-$_platform-$_board() {
cd \"kvmd-\$pkgver\"
pkgdesc=\"PiKVM platform configs - $_platform for $_board\"
depends=(kvmd=$pkgver-$pkgrel \"linux-rpi-pikvm>=6.6.45-13\" \"raspberrypi-bootloader-pikvm>=20240818-1\")
backup=(
etc/sysctl.d/99-kvmd.conf
etc/udev/rules.d/99-kvmd.rules
etc/kvmd/main.yaml
)
if [[ $_base == v0 ]]; then
depends=(\"\${depends[@]}\" platformio-core avrdude make patch)
elif [[ $_base == v4plus ]]; then
depends=(\"\${depends[@]}\" flashrom-pikvm)
fi
if [[ $_platform =~ ^.*-hdmiusb$ ]]; then
install -Dm755 -t \"\$pkgdir/usr/bin\" scripts/kvmd-udev-hdmiusb-check
fi
if [[ $_base == v4plus ]]; then
install -Dm755 -t \"\$pkgdir/usr/bin\" scripts/kvmd-udev-restart-pass
fi
install -DTm644 configs/os/sysctl.conf \"\$pkgdir/etc/sysctl.d/99-kvmd.conf\"
install -DTm644 configs/os/udev/common.rules \"\$pkgdir/usr/lib/udev/rules.d/99-kvmd-common.rules\"
install -DTm644 configs/os/udev/$_platform-$_board.rules \"\$pkgdir/etc/udev/rules.d/99-kvmd.rules\"
install -DTm444 configs/kvmd/main/$_platform-$_board.yaml \"\$pkgdir/etc/kvmd/main.yaml\"
if [ -f configs/kvmd/fan/$_platform.ini ]; then
backup=(\"\${backup[@]}\" etc/kvmd/fan.ini)
depends=(\"\${depends[@]}\" \"kvmd-fan>=0.18\")
install -DTm444 configs/kvmd/fan/$_platform.ini \"\$pkgdir/etc/kvmd/fan.ini\"
fi
if [ -f configs/os/modules-load/$_platform.conf ]; then
backup=(\"\${backup[@]}\" etc/modules-load.d/kvmd.conf)
install -DTm644 configs/os/modules-load/$_platform.conf \"\$pkgdir/etc/modules-load.d/kvmd.conf\"
fi
if [ -f configs/os/sudoers/$_platform ]; then
backup=(\"\${backup[@]}\" etc/sudoers.d/99_kvmd)
install -DTm440 configs/os/sudoers/$_platform \"\$pkgdir/etc/sudoers.d/99_kvmd\"
chmod 750 \"\$pkgdir/etc/sudoers.d\"
fi
if [[ $_platform =~ ^.*-hdmi$ ]]; then
backup=(\"\${backup[@]}\" etc/kvmd/tc358743-edid.hex etc/kvmd/switch-edid.hex)
install -DTm444 configs/kvmd/edid/$_base.hex \"\$pkgdir/etc/kvmd/tc358743-edid.hex\"
ln -s tc358743-edid.hex \"\$pkgdir/etc/kvmd/switch-edid.hex\"
else
backup=(\"\${backup[@]}\" etc/kvmd/switch-edid.hex)
install -DTm444 configs/kvmd/edid/_no-1920x1200.hex \"\$pkgdir/etc/kvmd/switch-edid.hex\"
fi
mkdir -p \"\$pkgdir/usr/share/kvmd\"
local _platform=\"\$pkgdir/usr/share/kvmd/platform\"
rm -f \"\$_platform\"
echo PIKVM_MODEL=$_base > \"\$_platform\"
echo PIKVM_VIDEO=$_video >> \"\$_platform\"
echo PIKVM_BOARD=$_board >> \"\$_platform\"
chmod 444 \"\$_platform\"
}"
done

307
README.en.md Normal file
View File

@ -0,0 +1,307 @@
<div align="center">
<img src="https://github.com/mofeng-git/Build-Armbian/assets/62919083/add9743a-0987-4e8a-b2cb-62121f236582" alt="One-KVM Logo" width="300">
<h1>One-KVM</h1>
<p><strong>DIY IP-KVM solution based on PiKVM</strong></p>
[![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)
[![GitHub license](https://img.shields.io/github/license/mofeng-git/One-KVM)](https://github.com/mofeng-git/One-KVM/blob/master/LICENSE)
<p>
<a href="https://one-kvm.mofeng.run">📖 Documentation</a>
<a href="https://kvmd-demo.mofeng.run">🚀 Live Demo</a>
<a href="#quick-start">⚡ Quick Start</a>
<a href="#features">📊 Features</a>
</p>
</div>
[简体中文](README.md) | English
---
## 📋 Table of Contents
- [Overview](#project-overview)
- [Features](#features)
- [Quick Start](#quick-start)
- [Contributing](#contributing)
- [Others](#others)
## 📖 Project Overview
**One-KVM** is a DIY IP-KVM solution built upon the open-source [PiKVM](https://github.com/pikvm/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
![One-KVM UI Screenshot](https://github.com/user-attachments/assets/a7848bca-e43c-434e-b812-27a45fad7910)
## 📊 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
```bash
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:**
```bash
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:**
```bash
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:**
```bash
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:**
```bash
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](https://github.com/mofeng-git/One-KVM/releases)
**Other mirrors:**
- **No-login mirror:** [https://pan.huang1111.cn/s/mxkx3T1](https://pan.huang1111.cn/s/mxkx3T1)
- **Baidu Netdisk:** [https://pan.baidu.com/s/166-2Y8PBF4SbHXFkGmFJYg?pwd=o9aj](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
1. **Fork this repo**
2. **Create a feature branch:** `git checkout -b feature/AmazingFeature`
3. **Commit your changes:** `git commit -m 'Add some AmazingFeature'`
4. **Push to the branch:** `git push origin feature/AmazingFeature`
5. **Open a Pull Request**
### Report Issues
If you find bugs or have suggestions:
1. Open an issue via [GitHub Issues](https://github.com/mofeng-git/One-KVM/issues)
2. Provide detailed error logs and reproduction steps
3. 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](https://afdian.com/a/silentwind)**.
#### Thanks
<details>
<summary><strong>Click to view the thank-you 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
- ......
</details>
#### Sponsors
This project is supported by the following sponsors:
**CDN & Security:**
- **[Tencent EdgeOne](https://edgeone.ai/zh?from=github)** CDN acceleration and security protection
![Tencent EdgeOne](https://edgeone.ai/media/34fe3a45-492d-4ea4-ae5d-ea1087ca7b4b.png)
**File Storage:**
- **[Huang1111公益计划](https://pan.huang1111.cn/s/mxkx3T1)** No-login download service
## 📚 Others
### Open-source Projects Used
This project is built upon the following excellent open-source projects:
- [PiKVM](https://github.com/pikvm/pikvm) Open-source DIY IP-KVM solution

340
README.md
View File

@ -1,46 +1,328 @@
### 介绍
<div align="center">
<img src="https://github.com/mofeng-git/Build-Armbian/assets/62919083/add9743a-0987-4e8a-b2cb-62121f236582" alt="One-KVM Logo" width="300">
<h1>One-KVM</h1>
<p><strong>基于 PiKVM 的 DIY IP-KVM 解决方案</strong></p>
<p><a href="README.md">简体中文</a> | <a href="README.en.md">English</a></p>
[![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)
[![GitHub license](https://img.shields.io/github/license/mofeng-git/One-KVM)](https://github.com/mofeng-git/One-KVM/blob/master/LICENSE)
<p>
<a href="https://docs.one-kvm.cn">📖 详细文档</a>
<a href="https://demo.one-kvm.cn/">🚀 在线演示</a>
<a href="#快速开始">⚡ 快速开始</a>
<a href="#功能介绍">📊 功能介绍</a>
</p>
</div>
One-KVM是基于玩客云硬件和PiKVM软件的远控设备。通过移植PiKVM该软件至玩客云设备上实现了极高的性价比不到百元功能即可接近甚至超越部分昂贵的商业设备。
---
该设备在于帮助用户通过得到控制设备的HDMI 画面和鼠标键盘去远程管理服务器、工作站或个人PC等。 和基于软件的远程管理方式不同,你无需在被控电脑安装任何软件,做到无侵入式控制。
## 📋 目录
该项目基于PiKVM和Fruity PiKVM提供了玩客云兼容PiKVM操作的自动处理脚本。我不是PiKVM和Fruity PiKVM项目的开发者所以不会对PiKVM软件本身和PiKVM deb包进行功能开发请勿向此项目提交此类需求。
- [项目概述](#项目概述)
- [功能介绍](#功能介绍)
- [快速开始](#快速开始)
- [贡献指南](#贡献指南)
- [其他](#其他)
![image](https://github.com/mofeng-git/One-KVM/assets/62919083/ec7e049f-ca6c-426f-bfa4-314536965db0)
## 📖 项目概述
**功能特性**
**One-KVM** 是基于开源 [PiKVM](https://github.com/pikvm/pikvm) 项目进行二次开发的 DIY IP-KVM 解决方案。该方案利用成本较低的硬件设备,实现 BIOS 级别的远程服务器或工作站管理功能。
![image](https://github.com/mofeng-git/One-KVM/assets/62919083/1e9305ee-fd9e-4e4c-ba25-141a924fef29)
> 本项目目前并无适配树莓派的计划。这是因为树莓派平台本质上属于 PiKVM 官方硬件生态和盈利的一部分。我们非常尊重和感谢上游项目 PiKVM ,因此 One-KVM 的设备适配主要聚焦于补充性场景,尽量避免与 PiKVM 官方产品产生重叠,以支持其可持续发展。
### 快速开始
该脚本在玩客云(新旧版,[Armbian 22.11.0-trunk Jammy Linux onecloud 5.10.149-meson]( https://github.com/hzyitc/armbian-onecloud/releases/download/ci-20221026-074131-UTC/Armbian_22.11.0-trunk_Onecloud_jammy_legacy_5.10.149.burn.img.xz)系统上运行请确保你的设备已安装好Armbian系统。
### 应用场景
- **家庭实验室主机管理** - 远程管理服务器和开发设备
- **服务器远程维护** - 无需物理接触即可进行系统维护
- **系统故障处理** - 远程解决系统启动和 BIOS 相关问题
![One-KVM 界面截图](https://github.com/user-attachments/assets/a7848bca-e43c-434e-b812-27a45fad7910)
## 📊 功能介绍
### 核心特性
| 特性 | 描述 | 优势 |
|------|------|------|
| **无侵入性** | 无需在目标机器上安装软件或驱动 | 不依赖操作系统,可访问 BIOS/UEFI 设置 |
| **成本效益** | 利用常见硬件设备(如电视盒子、开发板等) | 降低 KVM over IP 的实现成本 |
| **功能扩展** | 在 PiKVM 基础上增加实用功能 | Docker 部署、视频录制、中文界面 |
| **部署方式** | 支持 Docker 部署和硬件整合包 | 为特定硬件平台提供预配置方案 |
### 项目限制
本项目为个人维护的开源项目,资源有限,无商业运营计划
- 不提供内置免费内网穿透服务,相关问题请自行解决
- 不提供24×7小时技术支持服务
- 不承诺系统稳定性和合规性,使用风险需自行承担
- 尽力优化用户体验,但仍需要一定的技术基础
### 功能对比
> 💡 **说明:** 以下表格展示了 One-KVM 与其他基于 PiKVM 项目的功能对比,仅供参考。如有遗漏或错误,欢迎联系更正。
| 功能特性 | One-KVM | PiKVM | ArmKVM | BLIKVM |
|:--------:|:-------:|:-----:|:------:|:------:|
| 简体中文 WebUI | ✅ | ❌ | ✅ | ✅ |
| 远程视频流 | MJPEG/H.264 | MJPEG/H.264 | MJPEG/H.264 | MJPEG/H.264 |
| H.264 视频编码 | CPU/GPU | GPU | 未知 | GPU |
| 远程音频流 | ✅ | ✅ | ✅ | ✅ |
| 远程鼠键控制 | OTG/CH9329 | OTG/CH9329/Pico/Bluetooth | OTG | OTG |
| VNC 控制 | ✅ | ✅ | ✅ | ✅ |
| ATX 电源控制 | GPIO/USB 继电器 | GPIO | GPIO | GPIO |
| 虚拟存储驱动器挂载 | ✅ | ✅ | ✅ | ✅ |
| 网页终端 | ✅ | ✅ | ✅ | ✅ |
| Docker 部署 | ✅ | ❌ | ❌ | ❌ |
| 商业化运营 | ❌ | ✅ | ✅ | ✅ |
## ⚡ 快速开始
### 方式一Docker 镜像部署(推荐)
Docker 版本支持 OTG 或 CH9329 作为虚拟 HID兼容 amd64、arm64、armv7 架构的 Linux 系统。
#### 一键脚本部署
```bash
git clone https://github.com/mofeng-git/One-KVM.git
cd One-KVM && ./install.sh
curl -sSL https://docs.one-kvm.cn/quick_start.sh -o quick_start.sh && bash quick_start.sh
```
对于国内网络环境,可以使用下命令
#### 手动部署
推荐使用 --net=host 网络模式以获得更好的 wol 功能和 webrtc 通信支持。
docker host 网络模式:
端口 8080HTTP Web 服务
端口 4430HTTPS Web 服务
端口 5900VNC 服务
端口 623IPMI 服务
端口 20000-40000WebRTC 通信端口范围,用于低延迟视频传输
端口 9UDPWake-on-LANWOL唤醒功能
docker host 模式:
**使用 OTG 作为虚拟 HID**
```bash
wget https://mirror.ghproxy.com/https://github.com/mofeng-git/One-KVM/archive/refs/heads/main.zip -o One-KVM-main.zip
unzip One-KVM-main.zip
cd One-KVM-main && ./install.sh
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
```
详细教程和扩展内容请参照飞书文档:[One-KVM使用手册](https://p1b237lu9xm.feishu.cn/drive/folder/IsOifWmMKlzYpRdWfcocI7jdnQA?from=from_copylink)
### 其他
**使用 CH9329 作为虚拟 HID**
**更新日志**
- V0.5通过锁定CPU频率修复ustreamer mjpeg视频流异常的问题屏蔽主程序找不到温度传感器的报错优化中文翻译更新VNC依赖优化安装流程。
- V0.4利用玩客云自动GPIO实现ATX开关机物理控制功能初步建立飞书使用文档制作一键安装脚本优化安装流程。
- V0.3添加简体中文补丁实现MSD功能在EMMC和TF卡上的使用添加WOL和中文OCR功能优化了安装流程。
- V0.2通过替换系统解决OTG拔插死机问题初步实现MSD功能修改启动分区解决开机卡线刷检测优化安装流程。
- V0.1PiKVM在玩客云上初步运行。
```bash
sudo docker run --name kvmd -itd \
--device /dev/video0:/dev/video0 \
--device /dev/ttyUSB0:/dev/ttyUSB0 \
--net=host \
silentwind0/kvmd
```
**感谢**
H_xiaoming测试适配OTG正常可用镜像、0蓝蓝0提供开机卡线刷检测解决办法、fairybl关于MSD和线刷检测的其他解决方案、Will的PiKVM测试、浩龙的电子嵌入式之路的充电各位网友的讨论交流和下列开源项目。
1. [pikvm/pikvm: Open and inexpensive DIY IP-KVM based on Raspberry Pi (github.com)](https://github.com/pikvm/pikvm)
2. [hzyitc/armbian-onecloud: Armbian for onecloud. 玩客云用armbian (github.com)](https://github.com/hzyitc/armbian-onecloud/)
3. [jacobbar/fruity-pikvm: Install Pi-KVM on debian SBCs such as Orange Pi, Banana Pi, Mango Pi, etc (github.com)](https://github.com/jacobbar/fruity-pikvm)
docker bridge 模式:
**使用 OTG 作为虚拟 HID**
```bash
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
```
**使用 CH9329 作为虚拟 HID**
```bash
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
```
### 方式二:直刷 One-KVM 整合包
针对特定硬件平台,提供了预配置的 One-KVM 打包镜像,简化部署流程,实现开箱即用。
#### 固件下载
**GitHub 下载:**
- **GitHub Releases** [https://github.com/mofeng-git/One-KVM/releases](https://github.com/mofeng-git/One-KVM/releases)
**其他下载方式:**
- **免登录高速下载:** [http://sd1.files.one-kvm.cn/](http://sd1.files.one-kvm.cn/)(由群友赞助,支持直链,接入 EdgeOne CDN建议使用多线程下载工具下载获取最高速度
- **免登录下载:** [https://pan.huang1111.cn/s/mxkx3T1](https://pan.huang1111.cn/s/mxkx3T1) (由 Huang1111公益计划 提供)
- **百度网盘:** [https://pan.baidu.com/s/166-2Y8PBF4SbHXFkGmFJYg?pwd=o9aj](https://pan.baidu.com/s/166-2Y8PBF4SbHXFkGmFJYg?pwd=o9aj) 提取码o9aj
#### 支持的硬件平台
| 固件型号 | 固件代号 | 硬件配置 | 最新版本 | 状态 |
|:--------:|:--------:|:--------:|:--------:|:----:|
| 玩客云 | Onecloud | USB 采集卡、OTG | 241018 | ✅ |
| 私家云二代 | Cumebox2 | USB 采集卡、OTG | 241004 | ✅ |
| Vmare | Vmare-uefi | USB 采集卡、CH9329 | 241004 | ✅ |
| Virtualbox | Virtualbox-uefi | USB 采集卡、CH9329 | 241004 | ✅ |
| s905l3a 通用包 | E900v22c | USB 采集卡、OTG | 241004 | ✅ |
| 我家云 | Chainedbox | USB 采集卡、OTG | 241004 | ✅ |
| 龙芯久久派 | 2k0300 | USB 采集卡、CH9329 | 241025 | ❌ |
### 报告问题
如果您发现了问题,请:
1. 使用 [GitHub Issues](https://github.com/mofeng-git/One-KVM/issues) 报告
2. 提供详细的错误信息和复现步骤
3. 包含您的硬件配置和系统信息
### 赞助支持
本项目基于多个优秀开源项目进行二次开发,作者投入了大量时间进行测试和维护。如果您觉得这个项目有价值,欢迎通过 **[为爱发电](https://afdian.com/a/silentwind)** 支持项目发展。
#### 感谢名单
<details>
<summary><strong>点击查看感谢名单</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
- 飘零
- .
- 饭太稀
- 葱
- ......
</details>
#### 赞助商
本项目得到以下赞助商的支持:
**CDN 加速及安全防护:**
- **[Tencent EdgeOne](https://edgeone.ai/zh?from=github)** - 提供 CDN 加速及安全防护服务
![Tencent EdgeOne](https://edgeone.ai/media/34fe3a45-492d-4ea4-ae5d-ea1087ca7b4b.png)
**文件存储服务:**
- **[Huang1111公益计划](https://pan.huang1111.cn/s/mxkx3T1)** - 提供免登录下载服务
**云服务商**
- **[林枫云](https://www.dkdun.cn)** - 赞助了本项目宁波大带宽服务器
![林枫云](./img/36076FEFF0898A80EBD5756D28F4076C.png)
林枫云主营国内外地域的精品线路业务服务器、高主频游戏服务器和大带宽服务器。
## 📚 其他
### 使用的开源项目
本项目基于以下优秀开源项目进行二次开发:
- [PiKVM](https://github.com/pikvm/pikvm) - 开源的 DIY IP-KVM 解决方案

133
build/Dockerfile Normal file
View File

@ -0,0 +1,133 @@
FROM registry.cn-hangzhou.aliyuncs.com/silentwind/kvmd-stage-0 AS builder
FROM python:3.11.11-slim-bookworm
LABEL maintainer="mofeng654321@hotmail.com"
ARG TARGETARCH
COPY --from=builder /tmp/lib/* /tmp/lib/
COPY --from=builder /tmp/ustreamer/ustreamer /tmp/ustreamer/ustreamer-dump /usr/bin/janus /usr/bin/
COPY --from=builder /tmp/wheel/*.whl /tmp/wheel/
COPY --from=builder /tmp/ustreamer/libjanus_ustreamer.so /usr/lib/ustreamer/janus/
COPY --from=builder /usr/lib/janus/transports/* /usr/lib/janus/transports/
COPY --from=builder /tmp/arm64-libs.tar.gz* /tmp/
RUN if [ ${TARGETARCH} = arm64 ] && [ -f /tmp/arm64-libs.tar.gz ]; then \
cd / && tar -xzf /tmp/arm64-libs.tar.gz && rm -f /tmp/arm64-libs.tar.gz; \
fi
ENV PYTHONDONTWRITEBYTECODE=1 \
PYTHONUNBUFFERED=1 \
TZ=Asia/Shanghai
RUN sed -i 's/deb.debian.org/mirrors.tuna.tsinghua.edu.cn/' /etc/apt/sources.list.d/debian.sources \
&& apt-get update \
&& apt-get install -y --no-install-recommends \
libxkbcommon-x11-0 \
nginx \
tesseract-ocr \
tesseract-ocr-eng \
tesseract-ocr-chi-sim \
iptables \
sudo \
curl \
kmod \
libmicrohttpd12 \
libjansson4 \
libssl3 \
libsofia-sip-ua0 \
libglib2.0-0 \
libopus0 \
libogg0 \
libcurl4 \
libconfig9 \
libusrsctp2 \
libwebsockets17 \
libnss3 \
libasound2 \
libdrm2 \
libx264-164 \
libyuv0 \
nano \
unzip \
&& case ${TARGETARCH} in \
amd64) \
apt-get install -y --no-install-recommends \
libavcodec59 libavformat59 libavutil57 \
libswscale6 libavfilter8 libavdevice59 \
ffmpeg vainfo \
libva2 libva-drm2 libva-x11-2 \
mesa-va-drivers mesa-vdpau-drivers \
intel-media-va-driver i965-va-driver \
;; \
arm) \
apt-get install -y --no-install-recommends \
libavcodec59 libavformat59 libavutil57 \
libswscale6 libavfilter8 libavdevice59 \
v4l-utils libv4l-0 \
;; \
arm64) \
apt-get install -y --no-install-recommends \
v4l-utils libv4l-0 libavutil57 \
libstdc++6 libavcodec59 libavformat59 \
libswscale6 libavfilter8 libavdevice59 \
libva2 libva-drm2 libva-x11-2 \
libvdpau1 ocl-icd-libopencl1 \
;; \
*) \
echo "Unsupported architecture: ${TARGETARCH}" && exit 1 \
;; \
esac \
&& cp /tmp/lib/* /lib/*-linux-*/ \
&& pip install --no-cache-dir --root-user-action=ignore --disable-pip-version-check /tmp/wheel/*.whl \
&& pip install --no-cache-dir --root-user-action=ignore --disable-pip-version-check pyfatfs \
&& if [ ${TARGETARCH} = arm ]; then ARCH=armhf; \
elif [ ${TARGETARCH} = arm64 ]; then ARCH=aarch64; \
elif [ ${TARGETARCH} = amd64 ]; then ARCH=x86_64; \
fi \
&& curl https://github.com/tsl0922/ttyd/releases/download/1.7.7/ttyd.$ARCH -L -o /usr/local/bin/ttyd \
&& chmod +x /usr/local/bin/ttyd \
&& mkdir -p /tmp/gostc && cd /tmp/gostc \
&& case ${TARGETARCH} in \
amd64) GOSTC_ARCH=amd64_v1 ;; \
arm) GOSTC_ARCH=arm_7 ;; \
arm64) GOSTC_ARCH=arm64_v8.0 ;; \
*) echo "Unsupported architecture for gostc: ${TARGETARCH}" && exit 1 ;; \
esac \
&& curl -L https://github.com/mofeng-git/gostc-open/releases/download/v2.0.8-beta.2/gostc_linux_${GOSTC_ARCH}.tar.gz -o gostc.tar.gz \
&& tar -xzf gostc.tar.gz \
&& mv gostc /usr/bin/ \
&& chmod +x /usr/bin/gostc \
&& cd / && rm -rf /tmp/gostc \
&& adduser kvmd --gecos "" --disabled-password \
&& ln -sf /usr/share/tesseract-ocr/*/tessdata /usr/share/tessdata \
&& mkdir -p /etc/kvmd_backup/override.d \
/var/lib/kvmd/msd/images \
/var/lib/kvmd/msd/meta \
/var/lib/kvmd/pst/data \
/var/lib/kvmd/msd/NormalFiles \
/opt/vc/bin \
/run/kvmd \
/tmp/kvmd-nginx \
&& touch /run/kvmd/ustreamer.sock \
&& groupadd kvmd-selfauth \
&& usermod -a -G kvmd-selfauth root \
&& apt clean \
&& rm -rf /var/lib/apt/lists/* \
&& rm -rf /tmp/lib /tmp/wheel \
&& ustreamer -v
COPY testenv/fakes/vcgencmd scripts/kvmd* /usr/bin/
COPY extras/ /usr/share/kvmd/extras/
COPY web/ /usr/share/kvmd/web/
COPY scripts/kvmd-gencert /usr/share/kvmd/
COPY build/platform/docker /usr/share/kvmd/platform
COPY contrib/keymaps /usr/share/kvmd/keymaps
COPY kvmd/ build/init.sh /kvmd/
COPY configs/kvmd/ /etc/kvmd_backup/
COPY configs/nginx/ /etc/kvmd_backup/nginx/
COPY configs/janus/ /etc/kvmd_backup/janus/
COPY configs/hw_info/ /etc/kvmd_backup/hw_info/
COPY testenv/js/ /usr/share/janus/javascript/
ENTRYPOINT ["/kvmd/init.sh"]

202
build/Dockerfile-stage-0 Normal file
View File

@ -0,0 +1,202 @@
# syntax = docker/dockerfile:experimental
FROM debian:bookworm-slim AS builder
ARG TARGETARCH
# 设置环境变量
ENV DEBIAN_FRONTEND=noninteractive \
PIP_NO_CACHE_DIR=1 \
RUSTUP_DIST_SERVER="https://mirrors.tuna.tsinghua.edu.cn/rustup"
# 更新源并安装依赖
RUN sed -i 's/deb.debian.org/mirrors.tuna.tsinghua.edu.cn/' /etc/apt/sources.list.d/debian.sources \
&& apt-get update \
&& apt-get install -y --no-install-recommends \
python3-full \
python3-pip \
python3-dev \
build-essential \
libssl-dev \
libffi-dev \
python3-dev \
libevent-dev \
libjpeg-dev \
libbsd-dev \
libudev-dev \
git \
pkg-config \
wget \
curl \
libmicrohttpd-dev \
libjansson-dev \
libsofia-sip-ua-dev \
libglib2.0-dev \
libopus-dev \
libogg-dev \
libcurl4-openssl-dev \
liblua5.3-dev \
libconfig-dev \
libtool \
automake \
autoconf \
meson \
cmake \
libx264-dev \
libyuv-dev \
libasound2-dev \
libspeex-dev \
libspeexdsp-dev \
libusb-1.0-0-dev \
libldap2-dev \
libsasl2-dev \
libdrm-dev \
mesa-va-drivers \
mesa-vdpau-drivers \
v4l-utils \
libv4l-dev \
ffmpeg \
libavcodec-dev \
libavformat-dev \
libavutil-dev \
libswscale-dev \
libavfilter-dev \
libavdevice-dev \
&& if [ ${TARGETARCH} != arm ] && [ ${TARGETARCH} != arm64 ]; then \
apt-get install -y --no-install-recommends \
vainfo \
libva-dev \
libva-drm2 \
libva-x11-2 \
intel-media-va-driver \
i965-va-driver; \
fi \
&& if [ ${TARGETARCH} = arm64 ]; then \
apt-get install -y --no-install-recommends \
ninja-build \
zlib1g-dev \
libswresample-dev; \
fi \
&& apt clean \
&& rm -rf /var/lib/apt/lists/*
COPY build/cargo_config /tmp/config
# 配置 pip 源并安装 Python 依赖
RUN --security=insecure pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple \
&& if [ ${TARGETARCH} = arm ]; then \
mkdir -p /root/.cargo \
&& chmod 777 /root/.cargo && mount -t tmpfs none /root/.cargo \
&& wget https://sh.rustup.rs -O /root/rustup-init.sh \
&& sh /root/rustup-init.sh -y \
&& export PATH=$PATH:/root/.cargo/bin \
&& cp /tmp/config /root/.cargo/config.toml; \
fi \
&& pip install --root-user-action=ignore --disable-pip-version-check --upgrade --break-system-packages build setuptools pip \
&& pip wheel --wheel-dir=/tmp/wheel/ cryptography \
&& pip wheel --wheel-dir=/tmp/wheel/ \
aiofiles aiohttp appdirs asn1crypto async_lru async-timeout bottle cffi \
chardet click colorama dbus_next gpiod hidapi idna mako marshmallow \
more-itertools multidict netifaces packaging passlib pillow ply psutil \
pycparser pyelftools pyghmi pygments pyparsing pyotp qrcode requests \
semantic-version setproctitle six spidev tabulate urllib3 wrapt xlib \
yarl pyserial pyyaml zstandard supervisor pyfatfs pyserial python-periphery \
python-ldap python-pam pyrad pyudev pyusb luma.oled pyserial-asyncio \
&& rm -rf /root/.cache/pip/* /tmp/pip-* \
&& if [ ${TARGETARCH} = arm ]; then \
umount /root/.cargo 2>/dev/null || true \
&& rm -rf /root/.cargo /root/rustup-init.sh; \
fi
# 编译 python evdev库
RUN git clone --depth=1 https://github.com/gvalkov/python-evdev.git /tmp/python-evdev \
&& cd /tmp/python-evdev \
&& python3 setup.py bdist_wheel --dist-dir /tmp/wheel/ \
&& rm -rf /tmp/python-evdev
# 编译安装 libnice、libsrtp、libwebsockets 和 janus-gateway显式 Release 与按架构优化)
RUN export COMMON_CFLAGS='-O2 -pipe -fPIC -fstack-protector-strong -D_FORTIFY_SOURCE=2' \
&& if [ "${TARGETARCH}" = arm64 ]; then export CFLAGS="$COMMON_CFLAGS -march=armv8-a"; \
elif [ "${TARGETARCH}" = arm ]; then export CFLAGS="$COMMON_CFLAGS -march=armv7-a -mfpu=neon-vfpv4 -mfloat-abi=hard -mtune=cortex-a7"; \
else export CFLAGS="$COMMON_CFLAGS -march=x86-64 -mtune=generic"; fi \
&& export CXXFLAGS="$CFLAGS" LDFLAGS="-Wl,-O1 -Wl,--as-needed" \
&& git clone --depth=1 https://gitlab.freedesktop.org/libnice/libnice /tmp/libnice \
&& cd /tmp/libnice \
&& meson setup build --prefix=/usr --buildtype=release -Doptimization=2 -Dc_args="$CFLAGS" -Dcpp_args="$CXXFLAGS" \
&& ninja -C build && ninja -C build install \
&& rm -rf /tmp/libnice \
&& curl https://github.com/cisco/libsrtp/archive/v2.2.0.tar.gz -L -o /tmp/libsrtp-2.2.0.tar.gz \
&& cd /tmp \
&& tar xf libsrtp-2.2.0.tar.gz \
&& cd libsrtp-2.2.0 \
&& CFLAGS="$CFLAGS" CXXFLAGS="$CXXFLAGS" ./configure --prefix=/usr --enable-openssl \
&& make shared_library -j$(nproc) && make install \
&& cd /tmp \
&& rm -rf /tmp/libsrtp* \
&& git clone --depth=1 https://github.com/warmcat/libwebsockets /tmp/libwebsockets \
&& cd /tmp/libwebsockets \
&& mkdir build && cd build \
&& cmake -DLWS_MAX_SMP=1 -DLWS_WITHOUT_EXTENSIONS=0 -DCMAKE_INSTALL_PREFIX:PATH=/usr \
-DCMAKE_BUILD_TYPE=Release -DCMAKE_C_FLAGS_RELEASE="$CFLAGS -fPIC" -DCMAKE_CXX_FLAGS_RELEASE="$CXXFLAGS -fPIC" .. \
&& make -j$(nproc) && make install \
&& cd /tmp \
&& rm -rf /tmp/libwebsockets \
&& git clone --depth=1 https://github.com/meetecho/janus-gateway.git /tmp/janus-gateway \
&& cd /tmp/janus-gateway \
&& sh autogen.sh \
&& CFLAGS="$CFLAGS" CXXFLAGS="$CXXFLAGS" ./configure --enable-static --enable-websockets --enable-plugin-audiobridge \
--disable-data-channels --disable-rabbitmq --disable-mqtt --disable-all-plugins \
--disable-all-loggers --prefix=/usr \
&& make -j$(nproc) && make install \
&& cd /tmp \
&& rm -rf /tmp/janus-gateway
# 编译 Rockchip MPP、RGA仅 arm64显式 Release 与按架构优化)
RUN if [ ${TARGETARCH} = arm64 ]; then \
export COMMON_CFLAGS='-O2 -pipe -fPIC -fstack-protector-strong -D_FORTIFY_SOURCE=2' \
&& export CFLAGS="$COMMON_CFLAGS -march=armv8-a" \
&& export CXXFLAGS="$CFLAGS" \
&& git clone --depth=1 https://github.com/rockchip-linux/mpp.git /tmp/rkmpp \
&& mkdir -p /tmp/rkmpp/rkmpp_build && cd /tmp/rkmpp/rkmpp_build \
&& cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DBUILD_TEST=OFF \
-DCMAKE_C_FLAGS_RELEASE="$CFLAGS" -DCMAKE_CXX_FLAGS_RELEASE="$CXXFLAGS" .. \
&& make -j$(nproc) \
&& make install \
&& git clone -b jellyfin-rga --depth=1 https://github.com/nyanmisaka/rk-mirrors.git /tmp/rkrga \
&& cd /tmp/ \
&& meson setup rkrga rkrga_build --prefix=/usr --libdir=lib --buildtype=release -Doptimization=2 \
-Dc_args="$CFLAGS" -Dcpp_args="$CXXFLAGS -fpermissive" -Dlibdrm=false -Dlibrga_demo=false \
&& meson configure rkrga_build > /dev/null \
&& ninja -C rkrga_build install \
&& rm -rf /tmp/rkmpp /tmp/rkrga; \
fi
# 编译 ustreamer按架构优化
RUN sed --in-place --expression 's|^#include "refcount.h"$|#include "../refcount.h"|g' /usr/include/janus/plugins/plugin.h \
&& git clone --depth=1 https://github.com/mofeng-git/ustreamer /tmp/ustreamer \
&& export COMMON_CFLAGS='-O2 -pipe -fPIC -fstack-protector-strong -D_FORTIFY_SOURCE=2' \
&& if [ "${TARGETARCH}" = arm64 ]; then export CFLAGS="$COMMON_CFLAGS -march=armv8-a"; \
elif [ "${TARGETARCH}" = arm ]; then export CFLAGS="$COMMON_CFLAGS -march=armv7-a -mfpu=neon-vfpv4 -mfloat-abi=hard -mtune=cortex-a7"; \
else export CFLAGS="$COMMON_CFLAGS -march=x86-64 -mtune=generic"; fi \
&& export CXXFLAGS="$CFLAGS" \
&& if [ ${TARGETARCH} = arm64 ]; then \
make -j$(nproc) CFLAGS="$CFLAGS" WITH_PYTHON=1 WITH_JANUS=1 WITH_FFMPEG=1 WITH_MPP=1 WITH_DRM=1 -C /tmp/ustreamer; \
else \
make -j$(nproc) CFLAGS="$CFLAGS" WITH_PYTHON=1 WITH_JANUS=1 WITH_FFMPEG=1 WITH_DRM=1 -C /tmp/ustreamer; \
fi \
&& /tmp/ustreamer/ustreamer -v \
&& /tmp/ustreamer/ustreamer-dump -v \
&& cp /tmp/ustreamer/python/dist/*.whl /tmp/wheel/
# 复制必要的库文件
RUN mkdir /tmp/lib \
&& cd /lib/*-linux-*/ \
&& cp libevent_core-*.so.* libbsd.so.* libevent_pthreads-*.so.* libspeexdsp.so.* \
libevent-*.so.* libjpeg.so.* libyuv.so.* libnice.so.* \
/tmp/lib/ \
&& find /usr/lib -name "libsrtp2.so.*" -exec cp {} /tmp/lib/ \; \
&& find /usr/lib -name "libwebsockets.so.*" -exec cp {} /tmp/lib/ \; \
&& [ "${TARGETARCH}" = "arm64" ] && \
find /usr/lib -name "libsw*.so.*" -exec cp {} /tmp/lib/ \; && \
find /usr/lib -name "libpostproc.so.*" -exec cp {} /tmp/lib/ \; && \
find /usr/lib -name "librockchip*" -exec cp {} /tmp/lib/ \; && \
find /usr/lib -name "librga.so.*" -exec cp {} /tmp/lib/ \; || true

208
build/build_img.sh Executable file
View File

@ -0,0 +1,208 @@
#!/bin/bash
# --- 配置 ---
# 允许通过环境变量覆盖默认路径
SRCPATH="${SRCPATH:-/mnt/src}"
BOOTFS="${BOOTFS:-/tmp/bootfs}"
ROOTFS="${ROOTFS:-/tmp/rootfs}"
OUTPUTDIR="${OUTPUTDIR:-/mnt/output}"
TMPDIR="${TMPDIR:-$SRCPATH/tmp}"
# 远程文件下载配置
REMOTE_PREFIX="${REMOTE_PREFIX:-https://files.mofeng.run/src}"
export LC_ALL=C
# 全局变量
LOOPDEV=""
ROOTFS_MOUNTED=0
BOOTFS_MOUNTED=0
PROC_MOUNTED=0
SYS_MOUNTED=0
DEV_MOUNTED=0
DOCKER_CONTAINER_NAME="to_build_rootfs_$$"
PREBUILT_DIR="/tmp/prebuilt_binaries"
# --- 引入模块化脚本 ---
SCRIPT_DIR="$(dirname "$(readlink -f "$0")")"
source "$SCRIPT_DIR/functions/common.sh"
source "$SCRIPT_DIR/functions/devices.sh"
source "$SCRIPT_DIR/functions/install.sh"
source "$SCRIPT_DIR/functions/packaging.sh"
# 获取日期与Git版本
GIT_COMMIT_ID=$(get_git_commit_id)
DATE=$(date +%y%m%d)
if [ -n "$GIT_COMMIT_ID" ]; then
DATE="${DATE}-${GIT_COMMIT_ID}"
fi
# --- 注册清理函数 ---
# 在脚本退出、收到错误信号、中断信号、终止信号时执行 cleanup
trap cleanup EXIT ERR INT TERM
# --- 构建流程函数 ---
build_target() {
local target="$1"
local build_time=$(date "+%Y-%m-%d %H:%M:%S")
echo "=================================================="
echo "信息:构建目标: $target"
echo "信息:构建时间: $build_time"
echo "=================================================="
# 设置全局变量,供后续函数使用
TARGET_DEVICE_NAME="$target"
NEED_PREPARE_DNS=false # 默认不需要准备 DNS
case "$target" in
onecloud)
onecloud_rootfs
local arch="armhf"
local device_type="gpio-onecloud"
local network_type="systemd-networkd"
;;
cumebox2)
cumebox2_rootfs
local arch="aarch64"
local device_type="video1"
local network_type="" # 默认 NetworkManager
NEED_PREPARE_DNS=true
;;
chainedbox)
chainedbox_rootfs_and_fix_dtb
local arch="aarch64"
local device_type="video1"
local network_type=""
NEED_PREPARE_DNS=true
;;
vm)
vm_rootfs
local arch="amd64"
local device_type=""
local network_type=""
NEED_PREPARE_DNS=true
;;
e900v22c)
e900v22c_rootfs
local arch="aarch64"
local device_type="video1"
local network_type=""
NEED_PREPARE_DNS=true
;;
octopus-flanet)
octopus_flanet_rootfs
local arch="aarch64"
local device_type="video1"
local network_type=""
NEED_PREPARE_DNS=true
;;
onecloud-pro)
onecloud_pro_rootfs
local arch="aarch64"
local device_type="gpio-onecloud-pro video1"
local network_type="systemd-networkd"
NEED_PREPARE_DNS=true
;;
orangepi-zero)
orangepizero_rootfs
local arch="armhf"
local device_type=""
local network_type=""
NEED_PREPARE_DNS=true
;;
oec-turbo)
oec_turbo_rootfs
local arch="aarch64"
local device_type="vpu"
local network_type=""
NEED_PREPARE_DNS=true
;;
*)
echo "错误:未知或不支持的目标 '$target'" >&2
exit 1
;;
esac
mount_rootfs
install_and_configure_kvmd "$arch" "$device_type" "$network_type"
write_meta "$target"
unmount_all
case "$target" in
onecloud)
pack_img_onecloud
;;
vm)
pack_img "Vm"
;;
cumebox2)
pack_img "Cumebox2"
;;
chainedbox)
pack_img "Chainedbox"
;;
e900v22c)
pack_img "E900v22c"
;;
octopus-flanet)
pack_img "Octopus-Flanet"
;;
onecloud-pro)
pack_img "Onecloud-Pro"
;;
orangepi-zero)
pack_img "Orangepi-Zero"
;;
oec-turbo)
pack_img "OEC-Turbo"
;;
*)
echo "错误:未知的打包类型 for '$target'" >&2
;;
esac
# 在 GitHub Actions 环境中清理下载的文件
cleanup_downloaded_files
echo "=================================================="
echo "信息:目标 $target 构建完成!"
echo "=================================================="
}
# --- 主逻辑 ---
# 检查是否提供了目标参数
if [ -z "$1" ]; then
echo "用法: $0 <target|all>"
echo "可用目标: onecloud, cumebox2, chainedbox, vm, e900v22c, octopus-flanet, onecloud-pro, orangepi-zero, oec-turbo"
exit 1
fi
# 设置脚本立即退出模式
set -eo pipefail
# 检查必要的外部工具
check_required_tools "$1"
# 执行构建
if [ "$1" = "all" ]; then
echo "信息:开始构建所有目标..."
build_target "onecloud"
build_target "cumebox2"
build_target "chainedbox"
build_target "vm"
build_target "e900v22c"
build_target "octopus-flanet"
build_target "onecloud-pro"
build_target "orangepi-zero"
build_target "oec-turbo"
echo "信息:所有目标构建完成。"
else
build_target "$1"
fi
exit 0

5
build/cargo_config Normal file
View File

@ -0,0 +1,5 @@
[source.crates-io]
replace-with = 'ustc'
[source.ustc]
registry = "sparse+https://mirrors.ustc.edu.cn/crates.io-index/"

313
build/functions/common.sh Executable file
View File

@ -0,0 +1,313 @@
#!/bin/bash
# --- 辅助函数 ---
# 获取 Git 提交 ID
get_git_commit_id() {
if git rev-parse --is-inside-work-tree &>/dev/null; then
git rev-parse --short HEAD 2>/dev/null || echo ""
else
echo ""
fi
}
# 查找并设置一个可用的 loop 设备
find_loop_device() {
echo "信息:查找可用的 loop 设备..."
# 只使用 --find 来获取设备名
LOOPDEV=$(sudo losetup --find)
if [[ -z "$LOOPDEV" || ! -e "$LOOPDEV" ]]; then
echo "错误:再次尝试后仍无法找到可用的 loop 设备。" >&2
exit 1
fi
echo "信息:找到可用 loop 设备名:$LOOPDEV"
}
# 检查并创建目录
ensure_dir() {
if [[ ! -d "$1" ]]; then
echo "信息:创建目录 $1 ..."
sudo mkdir -p "$1" || { echo "错误:创建目录 $1 失败" >&2; exit 1; }
fi
}
# 执行 chroot 命令
run_in_chroot() {
echo "信息:在 chroot 环境 ($ROOTFS) 中执行命令..."
sudo chroot --userspec "root:root" "$ROOTFS" bash -ec "$1" || { echo "错误:在 chroot 环境中执行命令失败" >&2; exit 1; }
echo "信息chroot 命令执行完成。"
}
# --- 清理函数 ---
cleanup() {
echo "信息:执行清理操作..."
# 尝试卸载 chroot 环境下的挂载点
if [[ "$DEV_MOUNTED" -eq 1 ]]; then
echo "信息:卸载 $ROOTFS/dev ..."
sudo umount "$ROOTFS/dev" || echo "警告:卸载 $ROOTFS/dev 失败,可能已被卸载"
DEV_MOUNTED=0
fi
if [[ "$SYS_MOUNTED" -eq 1 ]]; then
echo "信息:卸载 $ROOTFS/sys ..."
sudo umount "$ROOTFS/sys" || echo "警告:卸载 $ROOTFS/sys 失败,可能已被卸载"
SYS_MOUNTED=0
fi
if [[ "$PROC_MOUNTED" -eq 1 ]]; then
echo "信息:卸载 $ROOTFS/proc ..."
sudo umount "$ROOTFS/proc" || echo "警告:卸载 $ROOTFS/proc 失败,可能已被卸载"
PROC_MOUNTED=0
fi
# 尝试卸载主根文件系统
if [[ "$ROOTFS_MOUNTED" -eq 1 && -d "$ROOTFS" ]]; then
echo "信息:卸载 $ROOTFS ..."
sudo umount "$ROOTFS" || sudo umount -l "$ROOTFS" || echo "警告:卸载 $ROOTFS 失败"
ROOTFS_MOUNTED=0
fi
# 尝试卸载引导文件系统 (如果使用)
if [[ "$BOOTFS_MOUNTED" -eq 1 && -d "$BOOTFS" ]]; then
echo "信息:卸载 $BOOTFS ..."
sudo umount "$BOOTFS" || sudo umount -l "$BOOTFS" || echo "警告:卸载 $BOOTFS 失败"
BOOTFS_MOUNTED=0
fi
# 尝试分离 loop 设备
if [[ -n "$LOOPDEV" && -b "$LOOPDEV" ]]; then
echo "信息:尝试 zerofree $LOOPDEV ..."
sudo zerofree "$LOOPDEV" || echo "警告zerofree $LOOPDEV 失败,可能文件系统不支持或未干净卸载"
echo "信息:分离 loop 设备 $LOOPDEV ..."
sudo losetup -d "$LOOPDEV" || echo "警告:分离 $LOOPDEV 失败"
LOOPDEV=""
fi
# 尝试删除 Docker 容器
echo "信息:检查并删除 Docker 容器 $DOCKER_CONTAINER_NAME ..."
if sudo docker ps -a --format '{{.Names}}' | grep -q "^${DOCKER_CONTAINER_NAME}$"; then
sudo docker rm -f "$DOCKER_CONTAINER_NAME" || echo "警告:删除 Docker 容器 $DOCKER_CONTAINER_NAME 失败"
else
echo "信息Docker 容器 $DOCKER_CONTAINER_NAME 不存在或已被删除。"
fi
# 清理临时目录和挂载点目录
echo "信息:清理临时文件和目录..."
sudo rm -rf "$PREBUILT_DIR"
# 只删除挂载点目录本身
if [[ -d "$ROOTFS" ]]; then
sudo rmdir "$ROOTFS" || echo "警告:删除目录 $ROOTFS 失败,可能非空"
fi
if [[ -d "$BOOTFS" ]]; then
sudo rmdir "$BOOTFS" || echo "警告:删除目录 $BOOTFS 失败,可能非空"
fi
echo "信息:清理完成。"
}
# 在打包镜像前调用此函数确保干净卸载所有挂载点和loop设备
unmount_all() {
echo "信息:执行卸载操作,准备打包..."
# 卸载 chroot 环境下的挂载点
if [[ "$DEV_MOUNTED" -eq 1 ]]; then
echo "信息:卸载 $ROOTFS/dev ..."
sudo umount "$ROOTFS/dev" || echo "警告:卸载 $ROOTFS/dev 失败,可能已被卸载"
DEV_MOUNTED=0
fi
if [[ "$SYS_MOUNTED" -eq 1 ]]; then
echo "信息:卸载 $ROOTFS/sys ..."
sudo umount "$ROOTFS/sys" || echo "警告:卸载 $ROOTFS/sys 失败,可能已被卸载"
SYS_MOUNTED=0
fi
if [[ "$PROC_MOUNTED" -eq 1 ]]; then
echo "信息:卸载 $ROOTFS/proc ..."
sudo umount "$ROOTFS/proc" || echo "警告:卸载 $ROOTFS/proc 失败,可能已被卸载"
PROC_MOUNTED=0
fi
# 卸载主根文件系统
if [[ "$ROOTFS_MOUNTED" -eq 1 && -d "$ROOTFS" ]]; then
echo "信息:卸载 $ROOTFS ..."
sudo umount "$ROOTFS" || sudo umount -l "$ROOTFS" || echo "警告:卸载 $ROOTFS 失败"
ROOTFS_MOUNTED=0
fi
# 尝试分离 loop 设备前执行 zerofree如果文件系统支持
if [[ -n "$LOOPDEV" && -b "$LOOPDEV" ]]; then
echo "信息:尝试 zerofree $LOOPDEV ..."
sudo zerofree "$LOOPDEV" || echo "警告zerofree $LOOPDEV 失败,可能文件系统不支持或未干净卸载"
echo "信息:分离 loop 设备 $LOOPDEV ..."
sudo losetup -d "$LOOPDEV" || echo "警告:分离 $LOOPDEV 失败"
LOOPDEV=""
fi
sudo rm -rf "$PREBUILT_DIR"
echo "信息:卸载操作完成,可以安全打包镜像。"
}
# 挂载根文件系统
mount_rootfs() {
echo "信息:挂载根文件系统到 $ROOTFS ..."
ensure_dir "$ROOTFS"
sudo mount "$LOOPDEV" "$ROOTFS" || { echo "错误:挂载 $LOOPDEV$ROOTFS 失败" >&2; exit 1; }
ROOTFS_MOUNTED=1
echo "信息:挂载 proc, sys, dev 到 chroot 环境..."
ensure_dir "$ROOTFS/proc"
sudo mount -t proc proc "$ROOTFS/proc" || { echo "错误:挂载 proc 到 $ROOTFS/proc 失败" >&2; exit 1; }
PROC_MOUNTED=1
ensure_dir "$ROOTFS/sys"
sudo mount -t sysfs sys "$ROOTFS/sys" || { echo "错误:挂载 sys 到 $ROOTFS/sys 失败" >&2; exit 1; }
SYS_MOUNTED=1
ensure_dir "$ROOTFS/dev"
sudo mount -o bind /dev "$ROOTFS/dev" || { echo "错误:绑定挂载 /dev 到 $ROOTFS/dev 失败" >&2; exit 1; }
DEV_MOUNTED=1
echo "信息:根文件系统及虚拟文件系统挂载完成。"
}
# 设置元数据
write_meta() {
local hostname="$1"
echo "信息:在 chroot 环境中设置主机名/元数据为 $hostname ..."
run_in_chroot "sed -i 's/localhost.localdomain/$hostname/g' /etc/kvmd/meta.yaml"
}
# 检测是否在 GitHub Actions 环境中
is_github_actions() {
[[ -n "$GITHUB_ACTIONS" ]]
}
# 记录下载的文件列表(仅在 GitHub Actions 环境中)
DOWNLOADED_FILES_LIST="/tmp/downloaded_files.txt"
# 自动下载文件函数
download_file_if_missing() {
local file_path="$1"
local relative_path=""
# 如果文件已存在,直接返回
if [[ -f "$file_path" ]]; then
echo "信息:文件已存在: $file_path"
return 0
fi
# 计算相对于 SRCPATH 的路径
if [[ "$file_path" == "$SRCPATH"/* ]]; then
relative_path="${file_path#$SRCPATH/}"
else
echo "错误:文件路径 $file_path 不在 SRCPATH ($SRCPATH) 下" >&2
return 1
fi
echo "信息:文件不存在,尝试下载: $file_path"
echo "信息:相对路径: $relative_path"
# 确保目标目录存在
local target_dir="$(dirname "$file_path")"
ensure_dir "$target_dir"
# 首先尝试直接下载
local remote_url="${REMOTE_PREFIX}/${relative_path}"
echo "信息:尝试下载: $remote_url"
if curl -f -L -o "$file_path" "$remote_url" 2>/dev/null; then
echo "信息:下载成功: $file_path"
# 在 GitHub Actions 环境中记录下载的文件
if is_github_actions; then
echo "$file_path" >> "$DOWNLOADED_FILES_LIST"
fi
return 0
fi
# 如果直接下载失败,尝试添加 .xz 后缀
echo "信息:直接下载失败,尝试 .xz 压缩版本..."
local xz_url="${remote_url}.xz"
local xz_file="${file_path}.xz"
if curl -f -L -o "$xz_file" "$xz_url" 2>/dev/null; then
echo "信息:下载 .xz 文件成功,正在解压..."
if xz -d "$xz_file"; then
echo "信息:解压成功: $file_path"
# 在 GitHub Actions 环境中记录下载的文件
if is_github_actions; then
echo "$file_path" >> "$DOWNLOADED_FILES_LIST"
fi
return 0
else
echo "错误:解压 .xz 文件失败" >&2
rm -f "$xz_file"
return 1
fi
fi
echo "错误:无法下载文件 $file_path (尝试了原始版本和 .xz 版本)" >&2
return 1
}
# 下载 rc.local 文件
download_rc_local() {
local platform_id="$1"
local rc_local_path="$SRCPATH/image/$platform_id/rc.local"
local relative_path="image/$platform_id/rc.local"
local remote_url="$REMOTE_PREFIX/$relative_path"
echo "信息:检查是否需要下载 rc.local 文件 ($platform_id)..."
# 如果本地文件不存在,尝试下载
if [ ! -f "$rc_local_path" ]; then
echo "信息:本地 rc.local 文件不存在,尝试从远程下载..."
ensure_dir "$(dirname "$rc_local_path")"
if curl -sSL --fail "$remote_url" -o "$rc_local_path"; then
echo "信息:成功下载 rc.local 文件:$remote_url"
# 在 GitHub Actions 环境中记录下载的文件
if is_github_actions; then
echo "$rc_local_path" >> "$DOWNLOADED_FILES_LIST"
fi
return 0
else
echo "信息:远程 rc.local 文件不存在或下载失败:$remote_url"
return 1
fi
else
echo "信息:使用本地 rc.local 文件:$rc_local_path"
return 0
fi
}
# 清理下载的文件(仅在 GitHub Actions 环境中)
cleanup_downloaded_files() {
if is_github_actions && [[ -f "$DOWNLOADED_FILES_LIST" ]]; then
echo "信息:清理 GitHub Actions 环境中下载的文件..."
while IFS= read -r file_path; do
if [[ -f "$file_path" ]]; then
echo "信息:删除下载的文件: $file_path"
rm -f "$file_path"
fi
done < "$DOWNLOADED_FILES_LIST"
rm -f "$DOWNLOADED_FILES_LIST"
echo "信息:下载文件清理完成"
fi
}
# 检查必要的外部工具
check_required_tools() {
local required_tools="sudo docker losetup mount umount parted e2fsck resize2fs qemu-img curl tar python3 pip3 rsync git simg2img img2simg dd cat rm mkdir mv cp sed chmod chown ln grep printf id xz"
for cmd in $required_tools; do
if ! command -v "$cmd" &> /dev/null; then
echo "错误:必需的命令 '$cmd' 未找到。请安装相应软件包。" >&2
exit 1
fi
done
# 检查特定工具 (如果脚本中使用了)
if ! command -v "$SRCPATH/image/onecloud/AmlImg_v0.3.1_linux_amd64" &> /dev/null && [[ "$1" == "onecloud" || "$1" == "all" ]]; then
if [ -f "$SRCPATH/image/onecloud/AmlImg_v0.3.1_linux_amd64" ]; then
echo "信息:找到 AmlImg 工具,尝试设置执行权限..."
sudo chmod +x "$SRCPATH/image/onecloud/AmlImg_v0.3.1_linux_amd64" || echo "警告:设置 AmlImg 执行权限失败"
else
echo "错误:构建 onecloud 需要 '$SRCPATH/image/onecloud/AmlImg_v0.3.1_linux_amd64',但未找到。" >&2
fi
fi
}

453
build/functions/devices.sh Executable file
View File

@ -0,0 +1,453 @@
#!/bin/bash
# --- 设备特定的 Rootfs 准备函数 ---
onecloud_rootfs() {
local unpacker="$SRCPATH/image/onecloud/AmlImg_v0.3.1_linux_amd64"
local source_image="$SRCPATH/image/onecloud/Armbian_by-SilentWind_24.5.0-trunk_Onecloud_bookworm_legacy_5.9.0-rc7_minimal_support-dvd-emulation.burn.img"
local bootfs_img="$TMPDIR/bootfs.img"
local rootfs_img="$TMPDIR/rootfs.img"
local bootfs_sparse="$TMPDIR/6.boot.PARTITION.sparse"
local rootfs_sparse="$TMPDIR/7.rootfs.PARTITION.sparse"
local bootfs_loopdev="" # 存储 bootfs 使用的 loop 设备
local add_size_mb=600
echo "信息:准备 Onecloud Rootfs..."
ensure_dir "$TMPDIR"
ensure_dir "$BOOTFS"
# 自动下载 AmlImg 工具(如果不存在)
download_file_if_missing "$unpacker" || { echo "错误:下载 AmlImg 工具失败" >&2; exit 1; }
sudo chmod +x "$unpacker" || { echo "错误:设置 AmlImg 工具执行权限失败" >&2; exit 1; }
# 自动下载源镜像文件(如果不存在)
download_file_if_missing "$source_image" || { echo "错误:下载 Onecloud 原始镜像失败" >&2; exit 1; }
echo "信息:解包 Onecloud burn 镜像..."
sudo "$unpacker" unpack "$source_image" "$TMPDIR" || { echo "错误:解包失败" >&2; exit 1; }
echo "信息:转换 bootfs 和 rootfs sparse 镜像到 raw 格式..."
sudo simg2img "$bootfs_sparse" "$bootfs_img" || { echo "错误:转换 bootfs sparse 镜像失败" >&2; exit 1; }
sudo simg2img "$rootfs_sparse" "$rootfs_img" || { echo "错误:转换 rootfs sparse 镜像失败" >&2; exit 1; }
echo "信息:挂载 bootfs 并修复 DTB..."
find_loop_device # 查找一个 loop 设备给 bootfs
bootfs_loopdev="$LOOPDEV" # 保存这个设备名
echo "信息:将 $bootfs_img 关联到 $bootfs_loopdev..."
sudo losetup "$bootfs_loopdev" "$bootfs_img" || { echo "错误:关联 bootfs 镜像到 $bootfs_loopdev 失败" >&2; exit 1; }
sudo mount "$bootfs_loopdev" "$BOOTFS" || { echo "错误:挂载 bootfs ($bootfs_loopdev) 失败" >&2; exit 1; }
BOOTFS_MOUNTED=1
# 自动下载 DTB 文件(如果不存在)
local dtb_file="$SRCPATH/image/onecloud/meson8b-onecloud-fix.dtb"
download_file_if_missing "$dtb_file" || { echo "错误:下载 Onecloud DTB 文件失败" >&2; exit 1; }
sudo cp "$dtb_file" "$BOOTFS/dtb/meson8b-onecloud.dtb" || { echo "错误:复制修复后的 DTB 文件失败" >&2; exit 1; }
sudo umount "$BOOTFS" || { echo "警告:卸载 bootfs ($BOOTFS) 失败" >&2; BOOTFS_MOUNTED=0; } # 卸载失败不应中断流程
BOOTFS_MOUNTED=0
echo "信息:分离 bootfs loop 设备 $bootfs_loopdev..."
sudo losetup -d "$bootfs_loopdev" || { echo "警告:分离 bootfs loop 设备 $bootfs_loopdev 失败" >&2; }
# bootfs_loopdev 对应的设备现在是空闲的
echo "信息:扩展 rootfs 镜像 (${add_size_mb}MB)..."
sudo dd if=/dev/zero bs=1M count="$add_size_mb" >> "$rootfs_img" || { echo "错误:扩展 rootfs 镜像失败" >&2; exit 1; }
echo "信息:检查并调整 rootfs 文件系统大小 (在文件上)..."
# 注意e2fsck/resize2fs 现在直接操作镜像文件,而不是 loop 设备
sudo e2fsck -f -y "$rootfs_img" || { echo "警告e2fsck 检查 rootfs 镜像文件失败" >&2; exit 1; }
sudo resize2fs "$rootfs_img" || { echo "错误resize2fs 调整 rootfs 镜像文件大小失败" >&2; exit 1; }
echo "信息:设置 rootfs loop 设备..."
find_loop_device # 重新查找一个可用的 loop 设备 (可能是刚才释放的那个)
echo "信息:将 $rootfs_img 关联到 $LOOPDEV..."
sudo losetup "$LOOPDEV" "$rootfs_img" || { echo "错误:关联 rootfs 镜像到 $LOOPDEV 失败" >&2; exit 1; }
echo "信息Onecloud Rootfs 准备完成。 Loop 设备 $LOOPDEV 已关联 $rootfs_img"
}
cumebox2_rootfs() {
local source_image="$SRCPATH/image/cumebox2/Armbian_24.8.1_Khadas-vim1_bookworm_current_6.6.47_minimal.img"
local target_image="$TMPDIR/rootfs.img"
local offset=$((8192 * 512))
local add_size_mb=900
echo "信息:准备 Cumebox2 Rootfs..."
ensure_dir "$TMPDIR"
# 自动下载源镜像文件(如果不存在)
download_file_if_missing "$source_image" || { echo "错误:下载 Cumebox2 原始镜像失败" >&2; exit 1; }
cp "$source_image" "$target_image" || { echo "错误:复制 Cumebox2 原始镜像失败" >&2; exit 1; }
echo "信息:扩展镜像文件 (${add_size_mb}MB)..."
sudo dd if=/dev/zero bs=1M count="$add_size_mb" >> "$target_image" || { echo "错误:扩展镜像文件失败" >&2; exit 1; }
echo "信息:调整镜像分区大小..."
sudo parted -s "$target_image" resizepart 1 100% || { echo "错误:使用 parted 调整分区大小失败" >&2; exit 1; }
echo "信息:设置带偏移量的 loop 设备..."
find_loop_device # 查找设备名
echo "信息:将 $target_image (偏移 $offset) 关联到 $LOOPDEV..."
sudo losetup --offset "$offset" "$LOOPDEV" "$target_image" || { echo "错误:设置带偏移量的 loop 设备 $LOOPDEV 失败" >&2; exit 1; }
echo "信息:检查并调整文件系统大小 (在 loop 设备上)..."
sudo e2fsck -f -y "$LOOPDEV" || { echo "警告e2fsck 检查 $LOOPDEV 失败" >&2; exit 1; }
sudo resize2fs "$LOOPDEV" || { echo "错误resize2fs 调整 $LOOPDEV 大小失败" >&2; exit 1; }
echo "信息Cumebox2 Rootfs 准备完成loop 设备 $LOOPDEV 已就绪。"
}
chainedbox_rootfs_and_fix_dtb() {
local source_image="$SRCPATH/image/chainedbox/Armbian_24.11.0_rockchip_chainedbox_bookworm_6.1.112_server_2024.10.02_add800m.img"
local target_image="$TMPDIR/rootfs.img"
local boot_offset=$((32768 * 512))
local rootfs_offset=$((1081344 * 512))
local bootfs_loopdev=""
echo "信息:准备 Chainedbox Rootfs 并修复 DTB..."
ensure_dir "$TMPDIR"; ensure_dir "$BOOTFS"
# 自动下载源镜像文件(如果不存在)
download_file_if_missing "$source_image" || { echo "错误:下载 Chainedbox 原始镜像失败" >&2; exit 1; }
cp "$source_image" "$target_image" || { echo "错误:复制 Chainedbox 原始镜像失败" >&2; exit 1; }
echo "信息:挂载 boot 分区并修复 DTB..."
find_loop_device # 找 loop 给 boot
bootfs_loopdev="$LOOPDEV"
echo "信息:将 $target_image (偏移 $boot_offset) 关联到 $bootfs_loopdev..."
sudo losetup --offset "$boot_offset" "$bootfs_loopdev" "$target_image" || { echo "错误:设置 boot 分区 loop 设备 $bootfs_loopdev 失败" >&2; exit 1; }
sudo mount "$bootfs_loopdev" "$BOOTFS" || { echo "错误:挂载 boot 分区 ($bootfs_loopdev) 失败" >&2; exit 1; }
BOOTFS_MOUNTED=1
# 自动下载 DTB 文件(如果不存在)
local dtb_file="$SRCPATH/image/chainedbox/rk3328-l1pro-1296mhz-fix.dtb"
download_file_if_missing "$dtb_file" || { echo "错误:下载 Chainedbox DTB 文件失败" >&2; exit 1; }
sudo cp "$dtb_file" "$BOOTFS/dtb/rockchip/rk3328-l1pro-1296mhz.dtb" || { echo "错误:复制修复后的 DTB 文件失败" >&2; exit 1; }
sudo umount "$BOOTFS" || { echo "警告:卸载 boot 分区 ($BOOTFS) 失败" >&2; BOOTFS_MOUNTED=0; }
BOOTFS_MOUNTED=0
echo "信息:分离 boot loop 设备 $bootfs_loopdev..."
sudo losetup -d "$bootfs_loopdev" || { echo "警告:分离 boot 分区 loop 设备 $bootfs_loopdev 失败" >&2; }
echo "信息:设置 rootfs 分区的 loop 设备..."
find_loop_device # 找 loop 给 rootfs
echo "信息:将 $target_image (偏移 $rootfs_offset) 关联到 $LOOPDEV..."
sudo losetup --offset "$rootfs_offset" "$LOOPDEV" "$target_image" || { echo "错误:设置 rootfs 分区 loop 设备 $LOOPDEV 失败" >&2; exit 1; }
echo "信息Chainedbox Rootfs 准备完成loop 设备 $LOOPDEV 已就绪。"
}
vm_rootfs() {
local source_image="$SRCPATH/image/vm/Armbian_25.2.1_Uefi-x86_bookworm_current_6.12.13_minimal.img"
local target_image="$TMPDIR/rootfs.img"
local offset=$((540672 * 512))
echo "信息:准备 Vm Rootfs..."
ensure_dir "$TMPDIR"
# 自动下载源镜像文件(如果不存在)
download_file_if_missing "$source_image" || { echo "错误:下载 Vm 原始镜像失败" >&2; exit 1; }
cp "$source_image" "$target_image" || { echo "错误:复制 Vm 原始镜像失败" >&2; exit 1; }
echo "信息:设置带偏移量的 loop 设备..."
find_loop_device # 查找设备名
echo "信息:将 $target_image (偏移 $offset) 关联到 $LOOPDEV..."
sudo losetup --offset "$offset" "$LOOPDEV" "$target_image" || { echo "错误:设置带偏移量的 loop 设备 $LOOPDEV 失败" >&2; exit 1; }
echo "信息Vm Rootfs 准备完成loop 设备 $LOOPDEV 已就绪。"
}
e900v22c_rootfs() {
local source_image="$SRCPATH/image/e900v22c/Armbian_23.08.0_amlogic_s905l3a_bookworm_5.15.123_server_2023.08.01.img"
local target_image="$TMPDIR/rootfs.img"
local offset=$((532480 * 512))
local add_size_mb=600
echo "信息:准备 E900V22C Rootfs..."
ensure_dir "$TMPDIR"
# 自动下载源镜像文件(如果不存在)
download_file_if_missing "$source_image" || { echo "错误:下载 E900V22C 原始镜像失败" >&2; exit 1; }
cp "$source_image" "$target_image" || { echo "错误:复制 E900V22C 原始镜像失败" >&2; exit 1; }
echo "信息:扩展镜像文件 (${add_size_mb}MB)..."
sudo dd if=/dev/zero bs=1M count="$add_size_mb" >> "$target_image" || { echo "错误:扩展镜像文件失败" >&2; exit 1; }
echo "信息:调整镜像分区大小 (分区 2)..."
sudo parted -s "$target_image" resizepart 2 100% || { echo "错误:使用 parted 调整分区 2 大小失败" >&2; exit 1; }
echo "信息:设置带偏移量的 loop 设备..."
find_loop_device # 查找设备名
echo "信息:将 $target_image (偏移 $offset) 关联到 $LOOPDEV..."
sudo losetup --offset "$offset" "$LOOPDEV" "$target_image" || { echo "错误:设置带偏移量的 loop 设备 $LOOPDEV 失败" >&2; exit 1; }
echo "信息:检查并调整文件系统大小 (在 loop 设备上)..."
sudo e2fsck -f -y "$LOOPDEV" || { echo "警告e2fsck 检查 $LOOPDEV 失败" >&2; exit 1; }
sudo resize2fs "$LOOPDEV" || { echo "错误resize2fs 调整 $LOOPDEV 大小失败" >&2; exit 1; }
echo "信息E900V22C Rootfs 准备完成loop 设备 $LOOPDEV 已就绪。"
}
octopus_flanet_rootfs() {
local source_image="$SRCPATH/image/octopus-flanet/Armbian_25.05.0_amlogic_s912_bookworm_6.1.129_server_2025.03.02.img"
local target_image="$TMPDIR/rootfs.img"
local boot_offset=$((8192 * 512))
local rootfs_offset=$((1056768 * 512))
local add_size_mb=600
local bootfs_loopdev=""
echo "信息:准备 Octopus-Planet Rootfs..."
ensure_dir "$TMPDIR"; ensure_dir "$BOOTFS"
# 自动下载源镜像文件(如果不存在)
download_file_if_missing "$source_image" || { echo "错误:下载 Octopus-Planet 原始镜像失败" >&2; exit 1; }
cp "$source_image" "$target_image" || { echo "错误:复制 Octopus-Planet 原始镜像失败" >&2; exit 1; }
echo "信息:挂载 boot 分区并修改 uEnv.txt (使用 VIM2 DTB)..."
find_loop_device # 找 loop 给 boot
bootfs_loopdev="$LOOPDEV"
echo "信息:将 $target_image (偏移 $boot_offset) 关联到 $bootfs_loopdev..."
sudo losetup --offset "$boot_offset" "$bootfs_loopdev" "$target_image" || { echo "错误:设置 boot 分区 loop 设备 $bootfs_loopdev 失败" >&2; exit 1; }
sudo mount "$bootfs_loopdev" "$BOOTFS" || { echo "错误:挂载 boot 分区 ($bootfs_loopdev) 失败" >&2; exit 1; }
BOOTFS_MOUNTED=1
# 自动下载 Octopus-Planet 相关文件
local dtb_file="$SRCPATH/image/octopus-flanet/meson-gxm-octopus-planet.dtb"
download_file_if_missing "$dtb_file" || echo "警告:下载 Octopus-Planet DTB 失败"
sudo cp "$dtb_file" "$BOOTFS/dtb/amlogic/meson-gxm-octopus-planet.dtb" || echo "警告:复制 Octopus-Planet DTB 失败"
sudo sed -i "s/meson-gxm-octopus-planet.dtb/meson-gxm-khadas-vim2.dtb/g" "$BOOTFS/uEnv.txt" || { echo "错误:修改 uEnv.txt 失败" >&2; exit 1; }
sudo umount "$BOOTFS" || { echo "警告:卸载 boot 分区 ($BOOTFS) 失败" >&2; BOOTFS_MOUNTED=0; }
BOOTFS_MOUNTED=0
echo "信息:分离 boot loop 设备 $bootfs_loopdev..."
sudo losetup -d "$bootfs_loopdev" || { echo "警告:分离 boot 分区 loop 设备 $bootfs_loopdev 失败" >&2; }
echo "信息:调整镜像分区大小 (分区 2)..."
sudo parted -s "$target_image" resizepart 2 100% || { echo "错误:使用 parted 调整分区 2 大小失败" >&2; exit 1; }
echo "信息:设置 rootfs 分区的 loop 设备..."
find_loop_device # 找 loop 给 rootfs
echo "信息:将 $target_image (偏移 $rootfs_offset) 关联到 $LOOPDEV..."
sudo losetup --offset "$rootfs_offset" "$LOOPDEV" "$target_image" || { echo "错误:设置 rootfs 分区 loop 设备 $LOOPDEV 失败" >&2; exit 1; }
echo "信息:检查并调整文件系统大小 (在 loop 设备上)..."
sudo e2fsck -f -y "$LOOPDEV" || { echo "警告e2fsck 检查 $LOOPDEV 失败" >&2; exit 1; }
sudo resize2fs "$LOOPDEV" || { echo "错误resize2fs 调整 $LOOPDEV 大小失败" >&2; exit 1; }
echo "信息Octopus-Planet Rootfs 准备完成loop 设备 $LOOPDEV 已就绪。"
}
onecloud_pro_rootfs() {
local source_image="$SRCPATH/image/onecloud-pro/Armbian-by-SilentWind_24.5.0_amlogic_Onecloud-Pro_jammy_6.6.28_server.img"
local target_image="$TMPDIR/rootfs.img"
local boot_offset=$((8192 * 512))
local rootfs_offset=$((1056768 * 512))
local add_size_mb=600
local bootfs_loopdev=""
echo "信息:准备 Octopus-Planet Rootfs..."
ensure_dir "$TMPDIR"; ensure_dir "$BOOTFS"
# 自动下载源镜像文件(如果不存在)
download_file_if_missing "$source_image" || { echo "错误:下载 Octopus-Planet 原始镜像失败" >&2; exit 1; }
cp "$source_image" "$target_image" || { echo "错误:复制 Octopus-Planet 原始镜像失败" >&2; exit 1; }
echo "信息:调整镜像分区大小 (分区 2)..."
sudo parted -s "$target_image" resizepart 2 100% || { echo "错误:使用 parted 调整分区 2 大小失败" >&2; exit 1; }
echo "信息:设置 rootfs 分区的 loop 设备..."
find_loop_device # 找 loop 给 rootfs
echo "信息:将 $target_image (偏移 $rootfs_offset) 关联到 $LOOPDEV..."
sudo losetup --offset "$rootfs_offset" "$LOOPDEV" "$target_image" || { echo "错误:设置 rootfs 分区 loop 设备 $LOOPDEV 失败" >&2; exit 1; }
echo "信息:检查并调整文件系统大小 (在 loop 设备上)..."
sudo e2fsck -f -y "$LOOPDEV" || { echo "警告e2fsck 检查 $LOOPDEV 失败" >&2; exit 1; }
sudo resize2fs "$LOOPDEV" || { echo "错误resize2fs 调整 $LOOPDEV 大小失败" >&2; exit 1; }
echo "信息Octopus-Planet Rootfs 准备完成loop 设备 $LOOPDEV 已就绪。"
}
orangepizero_rootfs() {
local source_image="$SRCPATH/image/orangepi-zero/Armbian_community_25.11.0-trunk.208_Orangepizero_bookworm_current_6.12.47_minimal.img"
local target_image="$TMPDIR/rootfs.img"
local offset=$((8192 * 512))
local add_size_mb=600
echo "信息:准备 Orange Pi Zero Rootfs..."
ensure_dir "$TMPDIR"
echo "信息:下载或使用本地 Orange Pi Zero 原始镜像..."
download_file_if_missing "$source_image" || { echo "错误:下载 Orange Pi Zero 原始镜像失败" >&2; exit 1; }
cp "$source_image" "$target_image" || { echo "错误:复制 Orange Pi Zero 原始镜像失败" >&2; exit 1; }
echo "信息:扩展镜像文件 (${add_size_mb}MB)..."
sudo dd if=/dev/zero bs=1M count="$add_size_mb" >> "$target_image" || { echo "错误:扩展镜像文件失败" >&2; exit 1; }
echo "信息:调整镜像分区大小..."
sudo parted -s "$target_image" resizepart 1 100% || { echo "错误:使用 parted 调整分区大小失败" >&2; exit 1; }
find_loop_device
sudo losetup -P "$LOOPDEV" "$target_image" || { echo "错误:设置 loop 设备失败" >&2; exit 1; }
echo "信息:检查并调整文件系统大小..."
sudo e2fsck -y -f "${LOOPDEV}p1" || { echo "错误:文件系统检查失败" >&2; exit 1; }
sudo resize2fs "${LOOPDEV}p1" || { echo "错误:调整文件系统大小失败" >&2; exit 1; }
# 重新设置 LOOPDEV 为分区
sudo losetup -d "$LOOPDEV"
sudo losetup "$LOOPDEV" "$target_image" -o "$offset" || { echo "错误:重新设置 loop 设备失败" >&2; exit 1; }
echo "信息Orange Pi Zero Rootfs 准备完成。"
}
# --- 特定设备的文件配置函数 ---
config_cumebox2_files() {
echo "信息:为 Cumebox2 配置特定文件 (OLED, DTB)..."
ensure_dir "$ROOTFS/etc/oled"
# 自动下载 Cumebox2 相关文件(如果不存在)
local dtb_file="$SRCPATH/image/cumebox2/v-fix.dtb"
local ssd_file="$SRCPATH/image/cumebox2/ssd"
local config_file="$SRCPATH/image/cumebox2/config.json"
download_file_if_missing "$dtb_file" || echo "警告:下载 Cumebox2 DTB 失败"
download_file_if_missing "$ssd_file" || echo "警告:下载 Cumebox2 ssd 脚本失败"
download_file_if_missing "$config_file" || echo "警告:下载 Cumebox2 配置文件失败"
sudo cp "$dtb_file" "$ROOTFS/boot/dtb/amlogic/meson-gxl-s905x-khadas-vim.dtb" || echo "警告:复制 Cumebox2 DTB 失败"
sudo cp "$ssd_file" "$ROOTFS/usr/bin/" || echo "警告:复制 Cumebox2 ssd 脚本失败"
sudo chmod +x "$ROOTFS/usr/bin/ssd" || echo "警告:设置 ssd 脚本执行权限失败"
sudo cp "$config_file" "$ROOTFS/etc/oled/config.json" || echo "警告:复制 OLED 配置文件失败"
}
config_octopus_flanet_files() {
echo "信息:为 Octopus-Planet 配置特定文件 (model_database.conf)..."
# 自动下载 Octopus-Planet 相关文件(如果不存在)
local config_file="$SRCPATH/image/octopus-flanet/model_database.conf"
download_file_if_missing "$config_file" || echo "警告:下载 Octopus-Planet 配置文件失败"
sudo cp "$config_file" "$ROOTFS/etc/model_database.conf" || echo "警告:复制 model_database.conf 失败"
echo "信息:为 Octopus-Planet 添加 DRM 设备支持..."
run_in_chroot "sed -i \"/--device=\\/dev\\/video0/a\\ - \\\"--drm-device=/dev/dri/card0\\\"\" /etc/kvmd/override.yaml"
}
config_orangepi_zero_files() {
echo "信息:配置 Orange Pi Zero 特定文件..."
# 清空 modules.conf 文件,避免加载不必要的模块
run_in_chroot "echo 'libcomposite' > /etc/modules-load.d/modules.conf"
echo "信息Orange Pi Zero 特定配置完成。"
}
config_onecloud_pro_files() {
echo "信息:配置 Onecloud Pro 特定文件..."
echo "信息:为 Onecloud Pro 添加 DRM 设备支持..."
run_in_chroot "sed -i \"/--device=\\/dev\\/video0/a\\ - \\\"--drm-device=/dev/dri/card0\\\"\" /etc/kvmd/override.yaml"
}
config_onecloud_files() {
echo "信息:配置 Onecloud 特定文件..."
echo "信息:为 Onecloud 添加 DRM 设备支持..."
run_in_chroot "sed -i \"/--device=\\/dev\\/video0/a\\ - \\\"--drm-device=/dev/dri/card1\\\"\" /etc/kvmd/override.yaml"
echo "信息Onecloud 特定配置完成。"
}
oec_turbo_rootfs() {
local source_image="$SRCPATH/image/oec-turbo/Flash_Armbian_25.05.0_rockchip_efused-wxy-oec_bookworm_6.1.99_server_2025.03.20.img"
local target_image="$TMPDIR/rootfs.img"
local rootfs_offset=$((1409024 * 512)) # 根据分区7的起始扇区计算
echo "信息:准备 OEC-Turbo Rootfs (Debian 12)..."
ensure_dir "$TMPDIR"
echo "信息:下载或使用本地 OEC-Turbo 原始镜像..."
download_file_if_missing "$source_image" || { echo "错误:下载 OEC-Turbo 原始镜像失败" >&2; exit 1; }
cp "$source_image" "$target_image" || { echo "错误:复制 OEC-Turbo 原始镜像失败" >&2; exit 1; }
find_loop_device
# 设置 loop 设备指向 rootfs 分区 (分区7)
sudo losetup "$LOOPDEV" "$target_image" -o "$rootfs_offset" || { echo "错误:设置 loop 设备失败" >&2; exit 1; }
echo "信息OEC-Turbo Rootfs 准备完成loop 设备 $LOOPDEV 已就绪。"
}
config_oec_turbo_files() {
echo "信息:配置 OEC-Turbo 特定文件..."
# 替换 override.yaml 中的硬件编码配置,启用 RK MPP 硬件编码
echo "信息:配置 VPU 硬件编码支持..."
run_in_chroot "sed -i 's/--h264-hwenc=disabled/--h264-hwenc=rkmpp/g' /etc/kvmd/override.yaml"
echo "信息:配置 udev 规则以授权 kvmd 组访问硬件设备..."
run_in_chroot "cat > /etc/udev/rules.d/99-kvmd-hw-access.rules <<'EOF'
# Generic hardware access for kvmd
# Safe on all platforms — rules only apply if device exists
# Rockchip MPP (rkmpp)
KERNEL==\"mpp_service\", GROUP=\"kvmd\", MODE=\"0660\"
# DMA-Heap (used by modern MPP)
SUBSYSTEM==\"dma_heap\", KERNEL==\"system\", GROUP=\"kvmd\", MODE=\"0660\"
SUBSYSTEM==\"dma_heap\", KERNEL==\"system-uncached\", GROUP=\"kvmd\", MODE=\"0660\"
SUBSYSTEM==\"dma_heap\", KERNEL==\"reserved\", GROUP=\"kvmd\", MODE=\"0660\"
# Optional legacy Rockchip devices
KERNEL==\"rkvdec\", GROUP=\"kvmd\", MODE=\"0660\"
KERNEL==\"rkvenc\", GROUP=\"kvmd\", MODE=\"0660\"
KERNEL==\"rga\", GROUP=\"kvmd\", MODE=\"0660\"
EOF"
# 替换 DTB 文件
replace_oec_turbo_dtb
echo "信息OEC-Turbo 特定配置完成。"
}
replace_oec_turbo_dtb() {
local dtb_source="$SRCPATH/image/oec-turbo/rk3566-onething-oec-box.dtb"
local target_image="$TMPDIR/rootfs.img"
local boot_offset=$((360448 * 512)) # boot 分区6的偏移
local boot_mount="$TMPDIR/oec_boot_mount"
local dtb_target_path="dtb/rockchip/rk3566-onething-oec-box.dtb"
local boot_loopdev=""
echo "信息:替换 OEC-Turbo DTB 文件..."
if [ ! -f "$dtb_source" ]; then
echo "信息:尝试下载 DTB 文件..."
download_file_if_missing "$dtb_source"
fi
echo "信息:为 boot 分区查找独立的 loop 设备..."
# 查找一个新的loop设备用于boot分区
boot_loopdev=$(losetup -f)
ensure_dir "$boot_mount"
losetup -o "$boot_offset" "$boot_loopdev" "$target_image"
mount "$boot_loopdev" "$boot_mount"
# 确保目标目录存在并复制 DTB 文件
mkdir -p "$boot_mount/$(dirname "$dtb_target_path")"
cp "$dtb_source" "$boot_mount/$dtb_target_path"
echo "信息DTB 文件替换成功: $dtb_target_path"
umount "$boot_mount"
losetup -d "$boot_loopdev"
rmdir "$boot_mount"
}

386
build/functions/install.sh Executable file
View File

@ -0,0 +1,386 @@
#!/bin/bash
# --- 预准备 ---
prepare_dns_and_mirrors() {
echo "信息:在 chroot 环境中准备 DNS 和更换软件源..."
run_in_chroot "
mkdir -p /run/systemd/resolve/ \\
&& touch /run/systemd/resolve/stub-resolv.conf \\
&& printf '%s\\n' 'nameserver 1.1.1.1' 'nameserver 1.0.0.1' > /etc/resolv.conf \\
&& echo '信息:尝试更换镜像源...' \\
&& bash <(curl -sSL https://gitee.com/SuperManito/LinuxMirrors/raw/main/ChangeMirrors.sh) \\
--source mirrors.ustc.edu.cn --upgrade-software false --web-protocol http || echo '警告:更换镜像源脚本执行失败,可能网络不通或脚本已更改'
"
}
delete_armbian_verify(){
echo "信息:在 chroot 环境中修改 Armbian 软件源..."
run_in_chroot "echo 'deb http://mirrors.ustc.edu.cn/armbian bullseye main bullseye-utils bullseye-desktop' > /etc/apt/sources.list.d/armbian.list"
}
prepare_external_binaries() {
local platform="$1" # linux/armhf or linux/amd64 or linux/aarch64
# 如果在 GitHub Actions 环境下,使用 silentwind0/kvmd-stage-0否则用阿里云镜像
if is_github_actions; then
local docker_image="silentwind0/kvmd-stage-0"
else
local docker_image="registry.cn-hangzhou.aliyuncs.com/silentwind/kvmd-stage-0"
fi
echo "信息:准备外部预编译二进制文件 (平台: $platform)..."
ensure_dir "$PREBUILT_DIR"
echo "信息:拉取 Docker 镜像 $docker_image (平台: $platform)..."
sudo docker pull --platform "$platform" "$docker_image" || { echo "错误:拉取 Docker 镜像 $docker_image 失败" >&2; exit 1; }
echo "信息:创建 Docker 容器 $DOCKER_CONTAINER_NAME ..."
sudo docker create --name "$DOCKER_CONTAINER_NAME" "$docker_image" || { echo "错误:创建 Docker 容器 $DOCKER_CONTAINER_NAME 失败" >&2; exit 1; }
echo "信息:从 Docker 容器导出文件到 $PREBUILT_DIR ..."
sudo docker export "$DOCKER_CONTAINER_NAME" | sudo tar -xf - -C "$PREBUILT_DIR" || { echo "错误:导出并解压 Docker 容器内容失败" >&2; exit 1; }
echo "信息:预编译二进制文件准备完成,存放于 $PREBUILT_DIR"
# 删除 Docker 容器
sudo docker rm -f "$DOCKER_CONTAINER_NAME" || { echo "错误:删除 Docker 容器 $DOCKER_CONTAINER_NAME 失败" >&2; exit 1; }
}
config_base_files() {
local platform_id="$1" # e.g., "onecloud", "cumebox2"
echo "信息:配置基础文件和目录结构 ($platform_id)..."
echo "信息:创建 KVMD 相关目录..."
ensure_dir "$ROOTFS/etc/kvmd/override.d"
ensure_dir "$ROOTFS/etc/kvmd/vnc"
ensure_dir "$ROOTFS/var/lib/kvmd/msd/images"
ensure_dir "$ROOTFS/var/lib/kvmd/msd/meta"
ensure_dir "$ROOTFS/opt/vc/bin"
ensure_dir "$ROOTFS/usr/share/kvmd"
ensure_dir "$ROOTFS/One-KVM"
ensure_dir "$ROOTFS/usr/share/janus/javascript"
ensure_dir "$ROOTFS/usr/lib/ustreamer/janus"
ensure_dir "$ROOTFS/run/kvmd"
ensure_dir "$ROOTFS/tmp/wheel/"
ensure_dir "$ROOTFS/usr/lib/janus/transports/"
ensure_dir "$ROOTFS/usr/lib/janus/loggers"
echo "信息:复制 One-KVM 源码..."
sudo rsync -a --exclude={.git,.github,output,tmp} . "$ROOTFS/One-KVM/" || { echo "错误:复制 One-KVM 源码失败" >&2; exit 1; }
echo "信息:复制配置文件..."
sudo cp -r configs/kvmd/* configs/nginx configs/janus "$ROOTFS/etc/kvmd/"
sudo cp -r web extras contrib/keymaps "$ROOTFS/usr/share/kvmd/"
sudo cp testenv/fakes/vcgencmd "$ROOTFS/usr/bin/"
sudo cp -r testenv/js/* "$ROOTFS/usr/share/janus/javascript/"
sudo cp "build/platform/$platform_id" "$ROOTFS/usr/share/kvmd/platform" || { echo "错误:复制平台文件 build/platform/$platform_id 失败" >&2; exit 1; }
sudo cp scripts/kvmd-gencert scripts/kvmd-bootconfig scripts/kvmd-certbot scripts/kvmd-udev-hdmiusb-check scripts/kvmd-udev-restart-pass build/scripts/kvmd-firstrun.sh "$ROOTFS/usr/bin/"
sudo chmod +x "$ROOTFS/usr/bin/kvmd-gencert" "$ROOTFS/usr/bin/kvmd-bootconfig" "$ROOTFS/usr/bin/kvmd-certbot" "$ROOTFS/usr/bin/kvmd-udev-hdmiusb-check" "$ROOTFS/usr/bin/kvmd-udev-restart-pass" "$ROOTFS/usr/bin/kvmd-firstrun.sh"
# 尝试下载或使用本地 rc.local 文件
download_rc_local "$platform_id" || echo "信息rc.local 文件不存在,跳过"
if [ -f "$SRCPATH/image/$platform_id/rc.local" ]; then
echo "信息:复制设备特定的 rc.local 文件..."
sudo cp "$SRCPATH/image/$platform_id/rc.local" "$ROOTFS/etc/"
fi
echo "信息:从预编译目录复制二进制文件和库..."
sudo cp "$PREBUILT_DIR/tmp/lib/"* "$ROOTFS/lib/"*-linux-*/ || echo "警告:复制 /tmp/lib/* 失败,可能源目录或目标目录不存在或不匹配"
sudo cp "$PREBUILT_DIR/tmp/ustreamer/ustreamer" "$PREBUILT_DIR/tmp/ustreamer/ustreamer-dump" "$PREBUILT_DIR/usr/bin/janus" "$ROOTFS/usr/bin/" || { echo "错误:复制 ustreamer/janus 二进制文件失败" >&2; exit 1; }
sudo cp "$PREBUILT_DIR/tmp/ustreamer/janus/libjanus_ustreamer.so" "$ROOTFS/usr/lib/ustreamer/janus/" || { echo "错误:复制 libjanus_ustreamer.so 失败" >&2; exit 1; }
sudo cp "$PREBUILT_DIR/tmp/wheel/"*.whl "$ROOTFS/tmp/wheel/" || { echo "错误:复制 Python wheel 文件失败" >&2; exit 1; }
sudo cp "$PREBUILT_DIR/usr/lib/janus/transports/"* "$ROOTFS/usr/lib/janus/transports/" || { echo "错误:复制 Janus transports 失败" >&2; exit 1; }
# 禁用 apt-file
if [ -f "$ROOTFS/etc/apt/apt.conf.d/50apt-file.conf" ]; then
echo "信息:禁用 apt-file 配置..."
sudo mv "$ROOTFS/etc/apt/apt.conf.d/50apt-file.conf" "$ROOTFS/etc/apt/apt.conf.d/50apt-file.conf.disabled"
fi
echo "信息:基础文件配置完成。"
}
# --- KVMD 安装与配置 ---
install_base_packages() {
echo "信息:在 chroot 环境中更新源并安装基础软件包..."
run_in_chroot "
apt-get update && \\
apt install -y --no-install-recommends \\
libxkbcommon-x11-0 nginx tesseract-ocr tesseract-ocr-eng tesseract-ocr-chi-sim \\
iptables network-manager curl kmod libmicrohttpd12 libjansson4 libssl3 \\
libsofia-sip-ua0 libglib2.0-0 libopus0 libogg0 libcurl4 libconfig9 \\
python3-pip net-tools libavcodec59 libavformat59 libavutil57 libswscale6 \\
libavfilter8 libavdevice59 v4l-utils libv4l-0 nano unzip dnsmasq python3-systemd && \\
apt clean && \\
rm -rf /var/lib/apt/lists/*
"
}
configure_network() {
local network_type="$1" # "systemd-networkd" or others (default network-manager)
if [ "$network_type" = "systemd-networkd" ]; then
echo "信息:在 chroot 环境中配置 systemd-networkd..."
# onecloud 与 onecloud-pro 均启用基于 SN 的 MAC 地址生成
if [ "$TARGET_DEVICE_NAME" = "onecloud" ] || [ "$TARGET_DEVICE_NAME" = "onecloud-pro" ]; then
echo "信息:为 ${TARGET_DEVICE_NAME} 平台配置基于 SN 的 MAC 地址生成机制..."
# 复制MAC地址生成脚本
sudo cp "$SCRIPT_DIR/scripts/generate-random-mac.sh" "$ROOTFS/usr/local/bin/"
sudo chmod +x "$ROOTFS/usr/local/bin/generate-random-mac.sh"
# 复制systemd服务文件
sudo cp "$SCRIPT_DIR/services/kvmd-generate-mac.service" "$ROOTFS/etc/systemd/system/"
# 创建初始网络配置文件不包含MAC地址将由脚本生成
run_in_chroot "
echo -e '[Match]\\nName=eth0\\n\\n[Network]\\nDHCP=yes' > /etc/systemd/network/99-eth0.network && \\
systemctl mask NetworkManager && \\
systemctl unmask systemd-networkd && \\
systemctl enable systemd-networkd systemd-resolved && \\
systemctl enable kvmd-generate-mac.service
"
echo "信息:${TARGET_DEVICE_NAME} 基于 SN 的 MAC 地址生成机制配置完成"
fi
else
echo "信息:使用默认的网络管理器 (NetworkManager)..."
# 可能需要确保 NetworkManager 是启用的 (通常默认是)
run_in_chroot "systemctl enable NetworkManager"
fi
}
install_python_deps() {
echo "信息:在 chroot 环境中安装 Python 依赖 (wheels)..."
run_in_chroot "
pip3 install --no-cache-dir --break-system-packages /tmp/wheel/*.whl && \\
pip3 cache purge && \\
rm -rf /tmp/wheel
"
}
configure_kvmd_core() {
echo "信息:在 chroot 环境中安装和配置 KVMD 核心..."
# 复制KVMD首次运行脚本和服务
echo "信息配置KVMD首次运行初始化服务..."
sudo cp "build/services/kvmd-firstrun.service" "$ROOTFS/etc/systemd/system/"
# 安装KVMD但不执行需要在首次运行时完成的操作
run_in_chroot "
cd /One-KVM && \\
python3 setup.py install && \\
systemctl enable kvmd-firstrun.service
"
echo "信息KVMD核心安装完成证书生成等初始化操作将在首次开机时执行"
}
configure_system() {
echo "信息:在 chroot 环境中配置系统级设置 (sudoers, udev, services)..."
run_in_chroot "
cat /One-KVM/configs/os/sudoers/v2-hdmiusb >> /etc/sudoers && \\
cat /One-KVM/configs/os/udev/v2-hdmiusb-rpi4.rules > /etc/udev/rules.d/99-kvmd.rules && \\
echo 'libcomposite' >> /etc/modules && \\
echo 'net.ipv4.ip_forward = 1' > /etc/sysctl.d/99-kvmd-extra.conf && \\
mv /usr/local/bin/kvmd* /usr/bin/ || echo '信息:/usr/local/bin/kvmd* 未找到或移动失败,可能已在/usr/bin' && \\
cp -r /One-KVM/configs/os/services/* /etc/systemd/system/ && \\
cp /One-KVM/configs/os/tmpfiles.conf /usr/lib/tmpfiles.d/ && \\
chmod +x /etc/update-motd.d/* || echo '警告chmod /etc/update-motd.d/* 失败' && \\
echo 'kvmd ALL=(ALL) NOPASSWD: /etc/kvmd/custom_atx/gpio.sh' >> /etc/sudoers && \\
echo 'kvmd ALL=(ALL) NOPASSWD: /etc/kvmd/custom_atx/usbrelay_hid.sh' >> /etc/sudoers && \\
systemd-sysusers /One-KVM/configs/os/sysusers.conf && \\
systemd-sysusers /One-KVM/configs/os/kvmd-webterm.conf && \\
ln -sf /usr/share/tesseract-ocr/*/tessdata /usr/share/tessdata || echo '警告:创建 tesseract 链接失败' && \\
sed -i 's/8080/80/g' /etc/kvmd/override.yaml && \\
sed -i 's/4430/443/g' /etc/kvmd/override.yaml && \\
chown kvmd -R /var/lib/kvmd/msd/ && \\
rm /etc/resolv.conf && \\
printf '%s\\n' 'nameserver 1.1.1.1' 'nameserver 1.0.0.1' > /etc/resolv.conf && \
systemctl enable dnsmasq kvmd kvmd-otg kvmd-nginx kvmd-vnc kvmd-ipmi kvmd-webterm kvmd-janus kvmd-media kvmd-gostc && \\
systemctl disable nginx systemd-resolved && \\
rm -rf /One-KVM
"
}
install_webterm() {
local arch="$1" # armhf, aarch64, x86_64
local ttyd_arch="$arch"
if [ "$arch" = "armhf" ]; then
ttyd_arch="armhf"
elif [ "$arch" = "amd64" ]; then
ttyd_arch="x86_64"
elif [ "$arch" = "aarch64" ]; then
ttyd_arch="aarch64"
fi
echo "信息:在 chroot 环境中下载并安装 ttyd ($ttyd_arch)..."
run_in_chroot "
curl -L https://github.com/tsl0922/ttyd/releases/download/1.7.7/ttyd.${ttyd_arch} -o /usr/bin/ttyd && \\
chmod +x /usr/bin/ttyd && \\
mkdir -p /home/kvmd-webterm && \\
chown kvmd-webterm /home/kvmd-webterm
"
}
install_gostc() {
local arch="$1" # armhf, aarch64, x86_64
local gostc_arch="$arch"
local gostc_version="v2.0.8-beta.2"
# 根据架构映射下载文件名
case "$arch" in
armhf) gostc_arch="arm_7" ;;
aarch64) gostc_arch="arm64_v8.0" ;;
x86_64|amd64) gostc_arch="amd64_v1" ;;
*) echo "错误:不支持的架构 $arch"; exit 1 ;;
esac
echo "信息:在 chroot 环境中下载并安装 gostc ($gostc_arch)..."
run_in_chroot "
mkdir -p /tmp/gostc && cd /tmp/gostc && \\
curl -L https://github.com/mofeng-git/gostc-open/releases/download/${gostc_version}/gostc_linux_${gostc_arch}.tar.gz -o gostc.tar.gz && \\
tar -xzf gostc.tar.gz && \\
mv gostc /usr/bin/ && \\
chmod +x /usr/bin/gostc && \\
cd / && rm -rf /tmp/gostc
"
echo "信息:创建 gostc systemd 服务文件..."
run_in_chroot "
cat > /etc/systemd/system/kvmd-gostc.service << 'EOF'
[Unit]
Description=基于FRP开发的内网穿透 客户端/节点
ConditionFileIsExecutable=/usr/bin/gostc
After=network.target
[Service]
StartLimitInterval=5
StartLimitBurst=10
ExecStart=/usr/bin/gostc \"-web-addr\" \"0.0.0.0:18080\"
WorkingDirectory=/usr/bin
Restart=always
RestartSec=10
EnvironmentFile=-/etc/sysconfig/gostc
[Install]
WantedBy=multi-user.target
EOF
"
echo "信息gostc 安装和配置完成"
}
apply_kvmd_tweaks() {
local arch="$1" # armhf, aarch64, x86_64
local device_type="$2" # "gpio" or "video1" or other
local atx_setting=""
local hid_setting=""
echo "信息:根据架构 ($arch) 和设备类型 ($device_type) 调整 KVMD 配置..."
if [ "$arch" = "x86_64" ] || [ "$arch" = "amd64" ]; then
echo "信息:目标平台为 x86_64/amd64 架构,禁用 OTG设置 ATX 为 USBRELAY_HID..."
run_in_chroot "
systemctl disable kvmd-otg && \\
sed -i 's/^ATX=.*/ATX=USBRELAY_HID/' /etc/kvmd/atx.sh && \\
sed -i 's/device: \/dev\/ttyUSB0/device: \/dev\/kvmd-hid/g' /etc/kvmd/override.yaml
"
else
echo "信息::目标平台为 ARM 架构 ($arch)..."
# ARM 架构,配置 HID 为 OTG
hid_setting="otg"
run_in_chroot "
sed -i 's/#type: otg/type: otg/g' /etc/kvmd/override.yaml && \\
sed -i 's/device: \/dev\/ttyUSB0/#device: \/dev\/ttyUSB0/g' /etc/kvmd/override.yaml # 注释掉 ttyUSB0
"
echo "信息:设置 HID 为 $hid_setting"
run_in_chroot "sed -i 's/type: ch9329/type: $hid_setting/g' /etc/kvmd/override.yaml"
# 根据 device_type 配置 ATX
if [[ "$device_type" == *"gpio-onecloud-pro"* ]]; then
echo "信息:电源控制设备类型为 gpio设置 ATX 为 GPIO 并配置引脚..."
atx_setting="GPIO"
run_in_chroot "
sed -i 's/^ATX=.*/ATX=GPIO/' /etc/kvmd/atx.sh && \\
sed -i 's/SHUTDOWNPIN/gpiochip0 7/g' /etc/kvmd/custom_atx/gpio.sh && \\
sed -i 's/REBOOTPIN/gpiochip0 11/g' /etc/kvmd/custom_atx/gpio.sh
"
elif [[ "$device_type" == *"gpio-onecloud"* ]]; then
echo "信息:电源控制设备类型为 gpio设置 ATX 为 GPIO 并配置引脚..."
atx_setting="GPIO"
run_in_chroot "
sed -i 's/^ATX=.*/ATX=GPIO/' /etc/kvmd/atx.sh && \\
sed -i 's/SHUTDOWNPIN/gpiochip1 7/g' /etc/kvmd/custom_atx/gpio.sh && \\
sed -i 's/REBOOTPIN/gpiochip0 11/g' /etc/kvmd/custom_atx/gpio.sh
"
else
echo "信息:电源控制设备类型不是 gpio ($device_type),设置 ATX 为 USBRELAY_HID..."
atx_setting="USBRELAY_HID"
run_in_chroot "sed -i 's/^ATX=.*/ATX=USBRELAY_HID/' /etc/kvmd/atx.sh"
fi
# 配置视频设备
if [[ "$device_type" == *"video1"* ]]; then
echo "信息:视频设备类型为 video1设置视频设备为 /dev/video1..."
run_in_chroot "sed -i 's|/dev/video0|/dev/video1|g' /etc/kvmd/override.yaml"
elif [[ "$device_type" == *"video1"* ]]; then
echo "信息:视频设备类型为 kvmd-video设置视频设备为 /dev/kvmd-video..."
run_in_chroot "sed -i 's|/dev/video0|/dev/kvmd-video|g' /etc/kvmd/override.yaml"
else
echo "信息:使用默认视频设备 /dev/video0..."
fi
fi
echo "信息KVMD 配置调整完成。"
run_in_chroot "apt remove -y --purge systemd-resolved"
}
# --- 整体安装流程 ---
install_and_configure_kvmd() {
local arch="$1" # 架构: armhf, aarch64, x86_64/amd64
local device_type="$2" # 设备特性: "gpio", "video1", "" (空或其他)
local network_type="$3" # 网络配置: "systemd-networkd", "" (默认 network-manager)
local host_arch="" # Docker 平台架构: arm, aarch64, amd64
# 映射架构名称
case "$arch" in
armhf) host_arch="arm" ;;
aarch64) host_arch="arm64" ;; # docker aarch64 平台名是 arm64
x86_64|amd64) host_arch="amd64"; arch="x86_64" ;; # 统一内部使用 x86_64
*) echo "错误:不支持的架构 $arch"; exit 1 ;;
esac
prepare_external_binaries "linux/$host_arch"
config_base_files "$TARGET_DEVICE_NAME" # 使用全局变量传递设备名
# 特定设备的额外文件配置 (如果存在)
# 将设备名中的连字符转换为下划线以匹配函数名
local device_func_name="${TARGET_DEVICE_NAME//-/_}"
if declare -f "config_${device_func_name}_files" > /dev/null; then
echo "信息:执行特定设备的文件配置函数 config_${device_func_name}_files ..."
"config_${device_func_name}_files"
fi
# 某些镜像可能需要准备DNS和换源
if [[ "$NEED_PREPARE_DNS" = true ]]; then
prepare_dns_and_mirrors
fi
# 可选强制使用特定armbian源
# delete_armbian_verify
# 执行安装步骤
install_base_packages
configure_network "$network_type"
install_python_deps
configure_kvmd_core
install_gostc "$arch" # 安装 gostc
configure_system
install_webterm "$arch" # 传递原始架构名给ttyd下载
apply_kvmd_tweaks "$arch" "$device_type"
run_in_chroot "df -h" # 显示最终磁盘使用情况
echo "信息One-KVM 安装和配置完成。"
}

105
build/functions/packaging.sh Executable file
View File

@ -0,0 +1,105 @@
#!/bin/bash
# --- 压缩函数 ---
# 压缩镜像文件(仅在 GitHub Actions 环境中)
compress_image_file() {
local file_path="$1"
if is_github_actions && [[ -f "$file_path" ]]; then
echo "信息:压缩镜像文件: $file_path"
if xz -9 -vv "$file_path"; then
echo "信息:压缩完成: ${file_path}.xz"
else
echo "警告:压缩文件 $file_path 失败"
fi
fi
}
# --- 打包函数 ---
pack_img() {
local device_name_friendly="$1" # e.g., "Vm", "Cumebox2"
local target_img_name="One-KVM_by-SilentWind_${device_name_friendly}_${DATE}.img"
local source_img="$TMPDIR/rootfs.img"
echo "信息:开始打包镜像 ($device_name_friendly)..."
ensure_dir "$OUTPUTDIR"
# 确保在打包前已经正确卸载了所有挂载点和loop设备
if [[ "$ROOTFS_MOUNTED" -eq 1 || "$DEV_MOUNTED" -eq 1 || "$SYS_MOUNTED" -eq 1 || "$PROC_MOUNTED" -eq 1 || -n "$LOOPDEV" && -b "$LOOPDEV" ]]; then
echo "警告发现未卸载的挂载点或loop设备尝试再次卸载..."
unmount_all
fi
echo "信息:移动镜像文件 $source_img$OUTPUTDIR/$target_img_name ..."
sudo mv "$source_img" "$OUTPUTDIR/$target_img_name" || { echo "错误:移动镜像文件失败" >&2; exit 1; }
if [ "$device_name_friendly" = "Vm" ]; then
echo "信息:为 Vm 目标转换镜像格式 (vmdk, vdi)..."
local raw_img="$OUTPUTDIR/$target_img_name"
local vmdk_img="$OUTPUTDIR/One-KVM_by-SilentWind_Vmare-uefi_${DATE}.vmdk"
local vdi_img="$OUTPUTDIR/One-KVM_by-SilentWind_Virtualbox-uefi_${DATE}.vdi"
echo "信息:转换为 VMDK..."
sudo qemu-img convert -f raw -O vmdk "$raw_img" "$vmdk_img" || echo "警告:转换为 VMDK 失败"
echo "信息:转换为 VDI..."
sudo qemu-img convert -f raw -O vdi "$raw_img" "$vdi_img" || echo "警告:转换为 VDI 失败"
# 在 GitHub Actions 环境中压缩 VM 镜像文件
if is_github_actions; then
echo "信息:在 GitHub Actions 环境中压缩 VM 镜像文件..."
compress_image_file "$raw_img"
compress_image_file "$vmdk_img"
compress_image_file "$vdi_img"
fi
else
# 在 GitHub Actions 环境中压缩镜像文件
if is_github_actions; then
echo "信息:在 GitHub Actions 环境中压缩镜像文件..."
compress_image_file "$OUTPUTDIR/$target_img_name"
fi
fi
echo "信息:镜像打包完成: $OUTPUTDIR/$target_img_name"
}
pack_img_onecloud() {
local target_img_name="One-KVM_by-SilentWind_Onecloud_${DATE}.burn.img"
local rootfs_raw_img="$TMPDIR/rootfs.img"
local rootfs_sparse_img="$TMPDIR/7.rootfs.PARTITION.sparse"
local aml_packer="$SRCPATH/image/onecloud/AmlImg_v0.3.1_linux_amd64"
echo "信息:开始为 Onecloud 打包 burn 镜像..."
ensure_dir "$OUTPUTDIR"
# 确保在打包前已经正确卸载了所有挂载点和loop设备
if [[ "$ROOTFS_MOUNTED" -eq 1 || "$DEV_MOUNTED" -eq 1 || "$SYS_MOUNTED" -eq 1 || "$PROC_MOUNTED" -eq 1 || -n "$LOOPDEV" && -b "$LOOPDEV" ]]; then
echo "警告发现未卸载的挂载点或loop设备尝试再次卸载..."
unmount_all
fi
# 自动下载 AmlImg 工具(如果不存在)
download_file_if_missing "$aml_packer" || { echo "错误:下载 AmlImg 工具失败" >&2; exit 1; }
sudo chmod +x "$aml_packer" || { echo "错误:设置 AmlImg 工具执行权限失败" >&2; exit 1; }
echo "信息:将 raw rootfs 转换为 sparse image..."
# 先删除可能存在的旧 sparse 文件
sudo rm -f "$rootfs_sparse_img"
sudo img2simg "$rootfs_raw_img" "$rootfs_sparse_img" || { echo "错误img2simg 转换失败" >&2; exit 1; }
sudo rm "$rootfs_raw_img" # 删除 raw 文件,因为它已被转换
echo "信息:使用 AmlImg 工具打包..."
sudo "$aml_packer" pack "$OUTPUTDIR/$target_img_name" "$TMPDIR/" || { echo "错误AmlImg 打包失败" >&2; exit 1; }
echo "信息:清理 Onecloud 临时文件..."
sudo rm -f "$TMPDIR/6.boot.PARTITION.sparse" "$TMPDIR/7.rootfs.PARTITION.sparse" "$TMPDIR/dts.img"
# 在 GitHub Actions 环境中压缩 Onecloud 镜像文件
if is_github_actions; then
echo "信息:在 GitHub Actions 环境中压缩 Onecloud 镜像文件..."
compress_image_file "$OUTPUTDIR/$target_img_name"
fi
echo "信息Onecloud burn 镜像打包完成: $OUTPUTDIR/$target_img_name"
}

300
build/init.sh Executable file
View File

@ -0,0 +1,300 @@
#!/bin/bash
# ========================================================================== #
# #
# KVMD - The main PiKVM daemon. #
# #
# Copyright (C) 2023-2025 SilentWind <mofeng654321@hotmail.com> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
# the Free Software Foundation, either version 3 of the License, or #
# (at your option) any later version. #
# #
# This program is distributed in the hope that it will be useful, #
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
# GNU General Public License for more details. #
# #
# You should have received a copy of the GNU General Public License #
# along with this program. If not, see <https://www.gnu.org/licenses/>. #
# #
# ========================================================================== #
# 定义颜色代码
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[0;33m'
BLUE='\033[0;34m'
NC='\033[0m'
# 输出日志的函数
log_info() {
echo -e "${GREEN}[INFO] $1${NC}"
}
log_warn() {
echo -e "${YELLOW}[WARN] $1${NC}"
}
log_error() {
echo -e "${RED}[ERROR] $1${NC}"
}
# 初始化检查
log_info "One-KVM 正在启动..."
# 首次初始化配置
if [ ! -f /etc/kvmd/.init_flag ]; then
log_info "首次初始化配置..."
# 创建必要目录并移动配置文件
if mkdir -p /etc/kvmd/ && \
mv /etc/kvmd_backup/* /etc/kvmd/ && \
touch /etc/kvmd/.docker_flag && \
sed -i 's/localhost.localdomain/docker/g' /etc/kvmd/meta.yaml && \
sed -i 's/localhost/localhost:4430/g' /etc/kvmd/kvm_input.sh; then
log_info "移动配置文件完成"
else
log_error "移动配置文件失败"
exit 1
fi
# SSL证书配置
if ! /usr/share/kvmd/kvmd-gencert --do-the-thing; then
log_error "Nginx SSL 证书生成失败"
exit 1
fi
if ! /usr/share/kvmd/kvmd-gencert --do-the-thing --vnc; then
log_error "VNC SSL 证书生成失败"
exit 1
fi
# 设置用户名和密码
if [ ! -z "$USERNAME" ] && [ ! -z "$PASSWORD" ]; then
# 设置自定义用户名和密码
if python -m kvmd.apps.htpasswd del admin \
&& echo "$PASSWORD" | python -m kvmd.apps.htpasswd add -i "$USERNAME" \
&& echo "$PASSWORD -> $USERNAME:$PASSWORD" > /etc/kvmd/vncpasswd \
&& echo "$USERNAME:$PASSWORD -> $USERNAME:$PASSWORD" > /etc/kvmd/ipmipasswd; then
log_info "用户凭据设置成功"
else
log_error "用户凭据设置失败"
exit 1
fi
elif [ ! -z "$PASSWORD" ] && [ -z "$USERNAME" ]; then
# 只设置密码保持admin用户名
if echo "$PASSWORD" | python -m kvmd.apps.htpasswd set -i "admin" \
&& echo "$PASSWORD -> admin:$PASSWORD" > /etc/kvmd/vncpasswd \
&& echo "admin:$PASSWORD -> admin:$PASSWORD" > /etc/kvmd/ipmipasswd; then
log_info "admin 用户密码设置成功"
else
log_error "admin 用户密码设置失败"
exit 1
fi
else
log_warn "未设置 USERNAME 和 PASSWORD 环境变量,使用默认值(admin/admin)"
fi
# SSL开关配置
if [ "$NOSSL" == 1 ]; then
log_info "已禁用SSL"
if ! python -m kvmd.apps.ngxmkconf /etc/kvmd/nginx/nginx.conf.mako /etc/kvmd/nginx/nginx.conf -o nginx/https/enabled=false; then
log_error "Nginx 配置失败"
exit 1
fi
else
if ! python -m kvmd.apps.ngxmkconf /etc/kvmd/nginx/nginx.conf.mako /etc/kvmd/nginx/nginx.conf; then
log_error "Nginx 配置失败"
exit 1
fi
fi
# 认证配置
if [ "$NOAUTH" == "1" ]; then
sed -i "s/enabled: true/enabled: false/g" /etc/kvmd/override.yaml
log_info "已禁用认证"
fi
#add supervisord conf
if [ "$NOWEBTERM" == "1" ]; then
log_info "已禁用 WebTerm 功能"
rm -r /usr/share/kvmd/extras/webterm
else
cat >> /etc/kvmd/supervisord.conf << EOF
[program:kvmd-webterm]
command=/usr/local/bin/ttyd --interface=/run/kvmd/ttyd.sock --port=0 --writable /bin/bash -c '/etc/kvmd/armbain-motd; bash'
directory=/
autostart=true
autorestart=true
priority=14
stopasgroup=true
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes = 0
redirect_stderr=true
EOF
fi
if [ "$NOWEBTERMWRITE" == "1" ]; then
sed -i "s/--writable//g" /etc/kvmd/supervisord.conf
fi
if [ "$NOVNC" == "1" ]; then
log_info "已禁用 VNC 功能"
rm -r /usr/share/kvmd/extras/vnc
else
cat >> /etc/kvmd/supervisord.conf << EOF
[program:kvmd-vnc]
command=python -m kvmd.apps.vnc --run
directory=/
autostart=true
autorestart=true
priority=11
stopasgroup=true
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes = 0
redirect_stderr=true
EOF
fi
if [ "$NOIPMI" == "1" ]; then
log_info "已禁用 IPMI 功能"
rm -r /usr/share/kvmd/extras/ipmi
else
cat >> /etc/kvmd/supervisord.conf << EOF
[program:kvmd-ipmi]
command=python -m kvmd.apps.ipmi --run
directory=/
autostart=true
autorestart=true
priority=12
stopasgroup=true
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes = 0
redirect_stderr=true
EOF
fi
if [ "$NOGOSTC" == "1" ]; then
log_info "已禁用 GOSTC 功能"
rm -rf /usr/share/kvmd/extras/gostc
else
cat >> /etc/kvmd/supervisord.conf << EOF
[program:kvmd-gostc]
command=/usr/bin/gostc -web-addr 127.0.0.1:18080
autostart=true
autorestart=true
startsecs=5
priority=300
stopasgroup=true
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes = 0
redirect_stderr=true
EOF
fi
#switch OTG config
if [ "$OTG" == "1" ]; then
log_info "已启用 OTG 功能"
sed -i "s/ch9329/otg/g" /etc/kvmd/override.yaml
sed -i "s|device: /dev/ttyUSB0||g" /etc/kvmd/override.yaml
if [ "$NOMSD" == 1 ]; then
log_info "已禁用 MSD 功能"
else
sed -i "s/#type: otg/type: otg/g" /etc/kvmd/override.yaml
fi
fi
if [ ! -z "$VIDEONUM" ]; then
if sed -i "s|/dev/video0|/dev/video$VIDEONUM|g" /etc/kvmd/override.yaml && \
sed -i "s|/dev/video0|/dev/video$VIDEONUM|g" /etc/kvmd/janus/janus.plugin.ustreamer.jcfg; then
log_info "视频设备已设置为 /dev/video$VIDEONUM"
fi
fi
if [ ! -z "$AUDIONUM" ]; then
if sed -i "s/hw:0/hw:$AUDIONUM/g" /etc/kvmd/janus/janus.plugin.ustreamer.jcfg; then
log_info "音频设备已设置为 hw:$AUDIONUM"
fi
fi
if [ ! -z "$CH9329SPEED" ]; then
if sed -i "s/speed: 9600/speed: $CH9329SPEED/g" /etc/kvmd/override.yaml; then
log_info "CH9329 串口速率已设置为 $CH9329SPEED"
fi
fi
if [ ! -z "$CH9329NUM" ]; then
if sed -i "s|/dev/ttyUSB0|/dev/ttyUSB$CH9329NUM|g" /etc/kvmd/override.yaml; then
log_info "CH9329 串口设备已设置为 $CH9329NUM"
fi
fi
if [ ! -z "$CH9329TIMEOUT" ]; then
if sed -i "s/read_timeout: 0.3/read_timeout: $CH9329TIMEOUT/g" /etc/kvmd/override.yaml; then
log_info "CH9329 超时已设置为 $CH9329TIMEOUT"
fi
fi
if [ ! -z "$H264PRESET" ]; then
if sed -i "s/ultrafast/$H264PRESET/g" /etc/kvmd/override.yaml; then
log_info "H264 预设已设置为 $H264PRESET"
fi
fi
if [ ! -z "$VIDEOFORMAT" ]; then
if sed -i "s/--format=mjpeg/--format=$VIDEOFORMAT/g" /etc/kvmd/override.yaml; then
log_info "视频输入格式已设置为 $VIDEOFORMAT"
fi
fi
if [ ! -z "$HWENCODER" ]; then
if sed -i "s/--h264-hwenc=disabled/--h264-hwenc=$HWENCODER/g" /etc/kvmd/override.yaml; then
log_info "硬件编码器已设置为 $HWENCODER"
fi
fi
# 设置WEB端口
if [ ! -z "$HTTPPORT" ]; then
if sed -i "s/port: 8080/port: $HTTPPORT/g" /etc/kvmd/override.yaml; then
log_info "HTTP 端口已设置为 $HTTPPORT"
fi
fi
if [ ! -z "$HTTPSPORT" ]; then
if sed -i "s/port: 4430/port: $HTTPSPORT/g" /etc/kvmd/override.yaml; then
log_info "HTTPS 端口已设置为 $HTTPSPORT"
fi
fi
touch /etc/kvmd/.init_flag
log_info "初始化配置完成"
fi
# OTG设备配置
if [ "$OTG" == "1" ]; then
log_info "正在配置 OTG 设备..."
rm -r /run/kvmd/otg &> /dev/null
if ! modprobe libcomposite; then
log_error "加载 libcomposite 模块失败"
exit 1
fi
if python -m kvmd.apps.otg start; then
ln -s /dev/hidg1 /dev/kvmd-hid-mouse
ln -s /dev/hidg0 /dev/kvmd-hid-keyboard
ln -s /dev/hidg2 /dev/kvmd-hid-mouse-alt
log_info "OTG 设备配置完成"
else
log_warn "OTG 设备挂载失败"
#exit 1
fi
fi
log_info "One-KVM 配置文件准备完成,正在启动服务..."
exec supervisord -c /etc/kvmd/supervisord.conf

View File

@ -0,0 +1,3 @@
PIKVM_MODEL=v2_model
PIKVM_VIDEO=usb_video
PIKVM_BOARD=chainedbox

3
build/platform/cumebox2 Normal file
View File

@ -0,0 +1,3 @@
PIKVM_MODEL=v2_model
PIKVM_VIDEO=usb_video
PIKVM_BOARD=cumebox2

3
build/platform/docker Normal file
View File

@ -0,0 +1,3 @@
PIKVM_MODEL=docker_model
PIKVM_VIDEO=docker_video
PIKVM_BOARD=docker_board

3
build/platform/e900v22c Normal file
View File

@ -0,0 +1,3 @@
PIKVM_MODEL=v2_model
PIKVM_VIDEO=usb_video
PIKVM_BOARD=e900v22c

View File

@ -0,0 +1,3 @@
PIKVM_MODEL=v2_model
PIKVM_VIDEO=usb_video
PIKVM_BOARD=octopus-flanet

3
build/platform/oec-turbo Normal file
View File

@ -0,0 +1,3 @@
PIKVM_MODEL=v2_model
PIKVM_VIDEO=usb_video
PIKVM_BOARD=oec-turbo

3
build/platform/onecloud Normal file
View File

@ -0,0 +1,3 @@
PIKVM_MODEL=v2_model
PIKVM_VIDEO=usb_video
PIKVM_BOARD=onecloud

View File

@ -0,0 +1,3 @@
PIKVM_MODEL=v2_model
PIKVM_VIDEO=usb_video
PIKVM_BOARD=onecloud-pro

View File

@ -0,0 +1,3 @@
PIKVM_MODEL=v2_model
PIKVM_VIDEO=usb_video
PIKVM_BOARD=orangepi-zero

3
build/platform/vm Normal file
View File

@ -0,0 +1,3 @@
PIKVM_MODEL=v2_model
PIKVM_VIDEO=usb_video
PIKVM_BOARD=vm

21
build/record.txt Normal file
View File

@ -0,0 +1,21 @@
wget https://github.com/hzyitc/AmlImg/releases/download/v0.3.1/AmlImg_v0.3.1_linux_amd64 -O /mnt/src/image/onecloud/AmlImg_v0.3.1_linux_amd64
chmod +x /mnt/src/image/onecloud/AmlImg_v0.3.1_linux_amd64
#!/bin/bash
# 文件映射脚本
# 本地目录前缀:/mnt
# 远程URL前缀https://files.mofeng.run
LOCAL_PREFIX="/mnt"
REMOTE_PREFIX="https://files.mofeng.run"
# 文件相对路径
REL_PATH="src/image/onecloud/Armbian_by-SilentWind_24.5.0-trunk_Onecloud_bookworm_legacy_5.9.0-rc7_minimal_support-dvd-emulation.burn.img"
LOCAL_FILE="$LOCAL_PREFIX/$REL_PATH"
REMOTE_URL="$REMOTE_PREFIX/$REL_PATH"
echo "下载 $REMOTE_URL 到 $LOCAL_FILE"
mkdir -p "$(dirname "$LOCAL_FILE")"
wget -O "$LOCAL_FILE" "$REMOTE_URL"

View File

@ -0,0 +1,122 @@
#!/bin/bash
# 为玩客云/玩客云Pro 平台生成 MAC 地址的一次性脚本
# 此脚本在首次开机时执行,为 eth0 网卡生成并应用基于 SN 的 MAC 地址,失败时回退到随机 MAC
set -e
NETWORK_CONFIG="/etc/systemd/network/99-eth0.network"
LOCK_FILE="/var/lib/kvmd/.mac-generated"
PLATFORM_FILE="/usr/share/kvmd/platform"
EFUSE_SYSFS_PATH=""
SN_PREFIX=""
SN_EXPECTED_LENGTH=13
# 按平台设置 EFUSE 与 SN 参数;未知平台时按 efuse 路径探测
detect_platform_params() {
local platform=""
if [ -f "$PLATFORM_FILE" ]; then
platform=$(tr -d '\n' < "$PLATFORM_FILE")
fi
case "$platform" in
onecloud)
EFUSE_SYSFS_PATH="/sys/bus/nvmem/devices/meson8b-efuse0/nvmem"
SN_PREFIX="OCP"
;;
onecloud-pro)
EFUSE_SYSFS_PATH="/sys/devices/platform/efuse/efuse0/nvmem"
SN_PREFIX="ODC"
;;
esac
if [ -z "$EFUSE_SYSFS_PATH" ] || [ -z "$SN_PREFIX" ]; then
if [ -e "/sys/devices/platform/efuse/efuse0/nvmem" ]; then
EFUSE_SYSFS_PATH="/sys/devices/platform/efuse/efuse0/nvmem"
SN_PREFIX="ODC"
elif [ -e "/sys/bus/nvmem/devices/meson8b-efuse0/nvmem" ]; then
EFUSE_SYSFS_PATH="/sys/bus/nvmem/devices/meson8b-efuse0/nvmem"
SN_PREFIX="OCP"
fi
fi
}
# 检查是否已经执行过
if [ -f "$LOCK_FILE" ]; then
echo "MAC地址已经生成过跳过执行"
exit 0
fi
# 生成MAC地址函数
generate_random_mac() {
detect_platform_params
# 尝试根据 SN 生成唯一 MAC 地址
if [ -f "$EFUSE_SYSFS_PATH" ]; then
sn_offset=$(grep --binary-files=text -boP "$SN_PREFIX" "$EFUSE_SYSFS_PATH" | head -n1 | cut -d: -f1)
if [ -n "$sn_offset" ]; then
sn=$(cat "$EFUSE_SYSFS_PATH" | dd bs=1 skip="$sn_offset" count="$SN_EXPECTED_LENGTH" 2>/dev/null)
if [ ${#sn} -eq $SN_EXPECTED_LENGTH ]; then
echo "S/N: $sn" >&2 # 输出到 stderr避免干扰返回值
# 使用 SN 的 SHA-256 哈希生成后 5 字节(避免多余管道)
sn_hash=$(printf %s "$sn" | sha256sum | cut -d' ' -f1)
# 直接用 Bash 子串获取哈希末 10 个字符并插入分隔符
mac_hex=${sn_hash: -10}
mac_suffix=$(printf "%s:%s:%s:%s:%s" "${mac_hex:0:2}" "${mac_hex:2:2}" "${mac_hex:4:2}" "${mac_hex:6:2}" "${mac_hex:8:2}")
printf "02:%s\n" "$mac_suffix"
return 0
fi
fi
fi
# 若 SN 获取失败,回退到随机逻辑
echo "警告: 无法获取 SN回退到随机 MAC 生成" >&2
printf "02:%02x:%02x:%02x:%02x:%02x\n" \
$((RANDOM % 256)) \
$((RANDOM % 256)) \
$((RANDOM % 256)) \
$((RANDOM % 256)) \
$((RANDOM % 256))
}
echo "正在生成基于 SN 的 MAC 地址..."
# 生成新的MAC地址
NEW_MAC=$(generate_random_mac)
echo "生成的MAC地址: $NEW_MAC"
# 验证 MAC 地址格式
if ! [[ $NEW_MAC =~ ^([0-9a-fA-F]{2}:){5}[0-9a-fA-F]{2}$ ]]; then
echo "错误: 生成的 MAC 地址格式无效: $NEW_MAC"
exit 1
fi
# 备份原配置文件
if [ -f "$NETWORK_CONFIG" ]; then
cp "$NETWORK_CONFIG" "${NETWORK_CONFIG}.backup"
fi
# 更新网络配置文件
cat > "$NETWORK_CONFIG" << EOF
[Match]
Name=eth0
[Network]
DHCP=yes
[Link]
MACAddress=$NEW_MAC
EOF
echo "已更新网络配置文件: $NETWORK_CONFIG"
# 创建锁定文件,防止重复执行
mkdir -p "$(dirname "$LOCK_FILE")"
echo "MAC地址生成时间: $(date)" > "$LOCK_FILE"
# 禁用此服务,确保只运行一次
systemctl disable kvmd-generate-mac.service
echo "MAC地址生成完成: $NEW_MAC"
echo "服务已自动禁用,下次开机不会再执行"
exit 0

View File

@ -0,0 +1,34 @@
#!/bin/bash
# KVMD首次运行初始化脚本
# 在首次开机时执行KVMD服务启动前的必要初始化操作
set -e
LOCK_FILE="/var/lib/kvmd/.kvmd-firstrun-completed"
# 检查是否已经执行过
[ -f "$LOCK_FILE" ] && { echo "[KVMD-FirstRun] 初始化已完成,跳过执行"; exit 0; }
echo "[KVMD-FirstRun] 开始KVMD首次运行初始化..."
# 1. 生成KVMD主证书
echo "[KVMD-FirstRun] 生成KVMD主证书..."
kvmd-gencert --do-the-thing
# 2. 生成VNC证书
echo "[KVMD-FirstRun] 生成VNC证书..."
kvmd-gencert --do-the-thing --vnc
# 3. 生成nginx配置文件
echo "[KVMD-FirstRun] 生成nginx配置文件..."
kvmd-nginx-mkconf /etc/kvmd/nginx/nginx.conf.mako /etc/kvmd/nginx/nginx.conf || echo "[KVMD-FirstRun] 警告: nginx配置生成失败"
# 创建锁定文件
mkdir -p "$(dirname "$LOCK_FILE")"
echo "KVMD首次运行初始化完成 - $(date)" > "$LOCK_FILE"
# 禁用服务
systemctl disable kvmd-firstrun.service || echo "[KVMD-FirstRun] 警告: 服务禁用失败"
echo "[KVMD-FirstRun] 初始化完成!"

View File

@ -0,0 +1,26 @@
[Unit]
Description=KVMD First Run Initialization (One-time)
Documentation=https://github.com/your-repo/One-KVM
Before=kvmd.service
Before=kvmd-nginx.service
Before=kvmd-otg.service
Before=kvmd-vnc.service
Before=kvmd-ipmi.service
Before=kvmd-webterm.service
Before=kvmd-janus.service
Before=kvmd-media.service
After=local-fs.target
After=network.target
Wants=local-fs.target
ConditionPathExists=!/var/lib/kvmd/.kvmd-firstrun-completed
[Service]
Type=oneshot
ExecStart=/usr/bin/kvmd-firstrun.sh
RemainAfterExit=yes
StandardOutput=journal
StandardError=journal
TimeoutStartSec=300
[Install]
WantedBy=multi-user.target

View File

@ -0,0 +1,18 @@
[Unit]
Description=Generate Random MAC Address for OneCloud (One-time)
Documentation=https://github.com/your-repo/One-KVM
Before=systemd-networkd.service
Before=network-pre.target
Wants=network-pre.target
After=local-fs.target
ConditionPathExists=!/var/lib/kvmd/.mac-generated
[Service]
Type=oneshot
ExecStart=/usr/local/bin/generate-random-mac.sh
RemainAfterExit=yes
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=multi-user.target

82
check-code.sh Executable file
View File

@ -0,0 +1,82 @@
#!/bin/bash
# 本地代码质量检查脚本
set -e
cd "$(dirname "$0")"
echo "🔍 运行代码质量检查..."
# 检查参数,如果有参数则只运行指定的检查
CHECK_TYPE="${1:-all}"
run_flake8() {
echo "📝 运行 flake8 代码风格检查..."
flake8 --config=testenv/linters/flake8.ini kvmd testenv/tests *.py
}
run_pylint() {
echo "🔎 运行 pylint 代码质量分析..."
pylint -j0 --rcfile=testenv/linters/pylint.ini --output-format=colorized --reports=no kvmd testenv/tests *.py || true
}
run_mypy() {
echo "🔧 运行 mypy 类型检查..."
mypy --config-file=testenv/linters/mypy.ini --cache-dir=testenv/.mypy_cache kvmd testenv/tests *.py || true
}
run_vulture() {
echo "💀 运行 vulture 死代码检测..."
vulture --ignore-names=_format_P,Plugin --ignore-decorators=@exposed_http,@exposed_ws,@pytest.fixture kvmd testenv/tests *.py testenv/linters/vulture-wl.py || true
}
run_eslint() {
echo "📜 运行 eslint JavaScript检查..."
if command -v eslint >/dev/null 2>&1; then
eslint --cache-location=/tmp --config=testenv/linters/eslintrc.js --color web/share/js || true
else
echo "⚠️ eslint 未安装,跳过"
fi
}
run_htmlhint() {
echo "📄 运行 htmlhint HTML检查..."
if command -v htmlhint >/dev/null 2>&1; then
htmlhint --config=testenv/linters/htmlhint.json web/*.html web/*/*.html || true
else
echo "⚠️ htmlhint 未安装,跳过"
fi
}
run_shellcheck() {
echo "🐚 运行 shellcheck Shell脚本检查..."
if command -v shellcheck >/dev/null 2>&1; then
shellcheck --color=always kvmd.install scripts/* || true
else
echo "⚠️ shellcheck 未安装,跳过"
fi
}
case "$CHECK_TYPE" in
flake8) run_flake8 ;;
pylint) run_pylint ;;
mypy) run_mypy ;;
vulture) run_vulture ;;
eslint) run_eslint ;;
htmlhint) run_htmlhint ;;
shellcheck) run_shellcheck ;;
all)
run_flake8
run_pylint
run_mypy
run_vulture
run_eslint
run_htmlhint
run_shellcheck
;;
*)
echo "用法: $0 [flake8|pylint|mypy|vulture|eslint|htmlhint|shellcheck|all]"
exit 1
;;
esac
echo "✅ 代码质量检查完成!"

View File

@ -1,58 +0,0 @@
####################################################################
# #
# Override Pi-KVM system settings. This file uses the YAML syntax. #
# #
# https://github.com/pikvm/pikvm/blob/master/pages/config.md #
# #
# All overridden parameters will be applied AFTER other configs #
# and "!include" directives and BEFORE validation. #
# Not: Sections should be combined under shared keys. #
# #
####################################################################
vnc:
# See https://github.com/pikvm/pikvm/blob/master/pages/vnc.md
keymap: /usr/share/kvmd/keymaps/ru # Set russian keymap
auth:
vncauth:
enabled: true # Enable auth via /etc/kvmd/vncpasswd
kvmd:
msd:
type: disabled
gpio:
drivers:
wol_server1:
type: wol
mac: 2c:56:dc:db:7c:1e
short_press:
type: cmd
cmd: [/usr/bin/sudo, short_press_gpio420]
long_press:
type: cmd
cmd: [/usr/bin/sudo, long_press_gpio420]
scheme:
wol_server1:
driver: wol_server1
pin: 0
mode: output
switch: false
short_button:
driver: short_press
pin: 0
mode: output
switch: false
long_button:
driver: long_press
pin: 0
mode: output
switch: false
view:
header:
title: ATX
table:
- ["#电源管理"]
- []
- ["#短按(开/关机):", short_button|按下]
- ["#长按(强制关机):", long_button|按下]
- []
- ["#网络唤醒"]
- ["#被控机设备", wol_server1|网络唤醒]

1
configs/hw_info/model Normal file
View File

@ -0,0 +1 @@
Docker

View File

@ -0,0 +1 @@
docker1000000000

18
configs/janus/janus.jcfg Normal file
View File

@ -0,0 +1,18 @@
general: {
debug_level = 4
}
nat: {
nice_debug = false
ignore_mdns = true
}
media: {
ipv6 = true
ipv6_linklocal = true
min_nack_queue = 2000
rtp_port_range = "20000-40000"
no_media_timer = 0
slowlink_threshold = 10
twcc_period = 100
dtls_timeout = 1000
nack_optimizations = true
}

View File

@ -0,0 +1,7 @@
video: {
sink = "kvmd::ustreamer::h264"
}
acap: {
device = "hw:0,0"
tc358743 = "/dev/video0"
}

View File

@ -0,0 +1,4 @@
general: {
ws = true
ws_unix = "/run/kvmd/janus-ws.sock"
}

46
configs/kvmd/armbain-motd Executable file
View File

@ -0,0 +1,46 @@
#!/bin/bash
# ========================================================================== #
# #
# KVMD - The main PiKVM daemon. #
# #
# Copyright (C) 2023-2025 SilentWind <mofeng654321@hotmail.com> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
# the Free Software Foundation, either version 3 of the License, or #
# (at your option) any later version. #
# #
# This program is distributed in the hope that it will be useful, #
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
# GNU General Public License for more details. #
# #
# You should have received a copy of the GNU General Public License #
# along with this program. If not, see <https://www.gnu.org/licenses/>. #
# #
# ========================================================================== #
if [ -e /etc/update-motd.d/10-armbian-header ]; then /etc/update-motd.d/10-armbian-header; fi
if [ -e /etc/update-motd.d/30-armbian-sysinfo ]; then /etc/update-motd.d/30-armbian-sysinfo; fi
if [ -e /etc/update-motd.d/41-armbian-config ]; then /etc/update-motd.d/41-armbian-config; fi
printf "
██████╗ ███╗ ██╗███████╗ ██╗ ██╗██╗ ██╗███╗ ███╗
██╔═══██╗████╗ ██║██╔════╝ ██║ ██╔╝██║ ██║████╗ ████║
██║ ██║██╔██╗ ██║█████╗█████╗█████╔╝ ██║ ██║██╔████╔██║
██║ ██║██║╚██╗██║██╔══╝╚════╝██╔═██╗ ╚██╗ ██╔╝██║╚██╔╝██║
╚██████╔╝██║ ╚████║███████╗ ██║ ██╗ ╚████╔╝ ██║ ╚═╝ ██║
╚═════╝ ╚═╝ ╚═══╝╚══════╝ ╚═╝ ╚═╝ ╚═══╝ ╚═╝ ╚═╝
____________________________________________________________________________
项目链接:
* One-KVMhttps://github.com/mofeng-git/One-KVM
文档链接:
* One-KVMhttps://one-kvm.mofeng.run
____________________________________________________________________________
"

35
configs/kvmd/atx.sh Executable file
View File

@ -0,0 +1,35 @@
#!/bin/bash
# ========================================================================== #
# #
# KVMD - The main PiKVM daemon. #
# #
# Copyright (C) 2023-2025 SilentWind <mofeng654321@hotmail.com> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
# the Free Software Foundation, either version 3 of the License, or #
# (at your option) any later version. #
# #
# This program is distributed in the hope that it will be useful, #
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
# GNU General Public License for more details. #
# #
# You should have received a copy of the GNU General Public License #
# along with this program. If not, see <https://www.gnu.org/licenses/>. #
# #
# ========================================================================== #
ATX=USBRELAY_HID
echo $ATX
case $ATX in
GPIO)
sudo /etc/kvmd/custom_atx/gpio.sh $1
;;
USBRELAY_HID)
sudo /etc/kvmd/custom_atx/usbrelay_hid.sh $1
;;
*)
echo "No thing."
exit -1
esac

1
configs/kvmd/auth.yaml Normal file
View File

@ -0,0 +1 @@
{}

43
configs/kvmd/clean_when_exit.sh Executable file
View File

@ -0,0 +1,43 @@
#!/bin/bash
# ========================================================================== #
# #
# KVMD - The main PiKVM daemon. #
# #
# Copyright (C) 2023-2025 SilentWind <mofeng654321@hotmail.com> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
# the Free Software Foundation, either version 3 of the License, or #
# (at your option) any later version. #
# #
# This program is distributed in the hope that it will be useful, #
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
# GNU General Public License for more details. #
# #
# You should have received a copy of the GNU General Public License #
# along with this program. If not, see <https://www.gnu.org/licenses/>. #
# #
# ========================================================================== #
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[0;33m'
BLUE='\033[0;34m'
NC='\033[0m'
cleanup() {
if [ "$OTG" == "1" ]; then
echo "Trying exit OTG Port..." \
&& python -m kvmd.apps.otg stop \
|| echo -e "${RED}Failed to exit OTG Port${NC}"
rm -r /run/kvmd/otg
fi
exit 0
}
trap cleanup SIGTERM
while true; do
sleep 3600
done

37
configs/kvmd/custom_atx/gpio.sh Executable file
View File

@ -0,0 +1,37 @@
#!/bin/bash
# ========================================================================== #
# #
# KVMD - The main PiKVM daemon. #
# #
# Copyright (C) 2023-2025 SilentWind <mofeng654321@hotmail.com> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
# the Free Software Foundation, either version 3 of the License, or #
# (at your option) any later version. #
# #
# This program is distributed in the hope that it will be useful, #
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
# GNU General Public License for more details. #
# #
# You should have received a copy of the GNU General Public License #
# along with this program. If not, see <https://www.gnu.org/licenses/>. #
# #
# ========================================================================== #
case $1 in
short)
gpioset -m time -s 1 SHUTDOWNPIN=0
gpioset SHUTDOWNPIN=1
;;
long)
gpioset -m time -s 5 SHUTDOWNPIN=0
gpioset SHUTDOWNPIN=1
;;
reset)
gpioset -m time -s 1 REBOOTPIN=0
gpioset REBOOTPIN=1
;;
*)
echo "No thing."
esac

View File

@ -0,0 +1,73 @@
# ========================================================================== #
# #
# KVMD - The main PiKVM daemon. #
# #
# Copyright (C) 2023-2025 SilentWind <mofeng654321@hotmail.com> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
# the Free Software Foundation, either version 3 of the License, or #
# (at your option) any later version. #
# #
# This program is distributed in the hope that it will be useful, #
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
# GNU General Public License for more details. #
# #
# You should have received a copy of the GNU General Public License #
# along with this program. If not, see <https://www.gnu.org/licenses/>. #
# #
# ========================================================================== #
import sys
import hid
VENDOR_ID = 0x5131
PRODUCT_ID = 0x2007
def find_usbrelay():
for device in hid.enumerate():
if device.get("vendor_id") == VENDOR_ID and device.get("product_id") == PRODUCT_ID:
return device
return None
def send_command(device_info, channel, onoff):
device = hid.device()
device.open(device_info['vendor_id'], device_info['product_id'])
if device is None:
print("Failed to open device.")
return
try:
cmd = [0xA0, channel, onoff, 0xA0 + channel + onoff]
device.write(bytearray(cmd))
finally:
device.close()
def main():
if len(sys.argv) != 3:
print("Usage:\n"
"\tpython script.py id on|off")
return
try:
id = int(sys.argv[1])
if sys.argv[2].lower() == 'on':
onoff = 1
elif sys.argv[2].lower() == 'off':
onoff = 0
else:
raise ValueError
except ValueError:
print("Invalid command, use 'on' or 'off'")
return
device_info = find_usbrelay()
if device_info is None:
print("USB relay not found")
else:
send_command(device_info, id, onoff)
print(f"Sent command to channel {id}: {'ON' if onoff else 'OFF'}")
if __name__ == "__main__":
main()

View File

@ -0,0 +1,40 @@
#!/bin/bash
# ========================================================================== #
# #
# KVMD - The main PiKVM daemon. #
# #
# Copyright (C) 2023-2025 SilentWind <mofeng654321@hotmail.com> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
# the Free Software Foundation, either version 3 of the License, or #
# (at your option) any later version. #
# #
# This program is distributed in the hope that it will be useful, #
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
# GNU General Public License for more details. #
# #
# You should have received a copy of the GNU General Public License #
# along with this program. If not, see <https://www.gnu.org/licenses/>. #
# #
# ========================================================================== #
case $1 in
short)
python3 /etc/kvmd/custom_atx/usbrelay_hid.py 1 on
sleep 1
python3 /etc/kvmd/custom_atx/usbrelay_hid.py 1 off
;;
long)
python3 /etc/kvmd/custom_atx/usbrelay_hid.py 1 on
sleep 5
python3 /etc/kvmd/custom_atx/usbrelay_hid.py 1 off
;;
reset)
python3 /etc/kvmd/custom_atx/usbrelay_hid.py 2 on
sleep 1
python3 /etc/kvmd/custom_atx/usbrelay_hid.py 2 off
;;
*)
echo "No thing."
esac

1
configs/kvmd/htpasswd Normal file
View File

@ -0,0 +1 @@
admin:{SSHA512}3zSmw/L9zIkpQdX5bcy6HntTxltAzTuGNP6NjHRRgOcNZkA0K+Lsrj3QplO9Gr3BA5MYVVki9rAVnFNCcIdtYC6FkLJWCmHs

11
configs/kvmd/ipmipasswd Normal file
View File

@ -0,0 +1,11 @@
# This file describes the credentials for IPMI users in format "login:password",
# one per line. The passwords are NOT encrypted.
#
# WARNING! IPMI protocol is completely unsafe by design. In short, the authentication
# process for IPMI 2.0 mandates that the server send a salted SHA1 or MD5 hash of the
# requested user's password to the client, prior to the client authenticating.
#
# NEVER use the same passwords for KVMD and IPMI users.
# This default configuration is shown here just for the example only.
admin:admin

32
configs/kvmd/kvm_input.sh Executable file
View File

@ -0,0 +1,32 @@
#!/bin/bash
# Written by @srepac FILENAME: input.sh
# Input switcher script for use with KVM switches that use CTRL+CTRL+#
# ... pass in # into the script
#
usage() {
echo "usage: $0 <#> <pikvm-name-or-ip> where # is the input number on the KVM switch"
exit 1
}
password=admin
#HOTKEY="ScrollLock"
HOTKEY="ControlLeft"
if [[ "$1" == "" ]]; then
usage
else
NUM="$1"
fi
if [[ "$2" == "" ]]; then
IP="localhost"
else
IP="$2"
fi
OSD=$( echo $HOTKEY | sed -e 's/ControlLeft/CTRL/g' )
echo "Sending $OSD + $OSD + $NUM to $IP"
curl -X POST -k -u admin:$password "https://$IP/api/hid/events/send_key?key=$HOTKEY" 2> /dev/null
curl -X POST -k -u admin:$password "https://$IP/api/hid/events/send_key?key=$HOTKEY" 2> /dev/null
curl -X POST -k -u admin:$password "https://$IP/api/hid/events/send_key?key=Digit${NUM}" 2> /dev/null

20
configs/kvmd/logging.yaml Normal file
View File

@ -0,0 +1,20 @@
version: 1
disable_existing_loggers: false
formatters:
console:
(): logging.Formatter
style: "{"
format: "{name:30.30} {levelname:>7} --- {message}"
handlers:
console:
level: DEBUG
class: logging.StreamHandler
stream: ext://sys.stderr
formatter: console
root:
level: INFO
handlers:
- console

View File

@ -11,19 +11,17 @@ kvmd:
hid:
type: otg
mouse_alt:
device: /dev/kvmd-hid-mouse-alt
atx:
type: disabled
type: gpio
msd:
type: otg
type: disabled
streamer:
quality: 0
resolution:
default: 1280x720
default: 1920x1080
available:
- 1920x1080
- 1600x1200
@ -44,7 +42,6 @@ kvmd:
- "--resolution={resolution}"
- "--desired-fps={desired_fps}"
- "--drop-same-frames=30"
- "--last-as-blank=0"
- "--unix={unix}"
- "--unix-rm"
- "--unix-mode=0660"
@ -52,8 +49,8 @@ kvmd:
- "--process-name-prefix={process_name_prefix}"
- "--notify-parent"
- "--no-log-colors"
- "--sink=kvmd::ustreamer::jpeg"
- "--sink-mode=0660"
- "--jpeg-sink=kvmd::ustreamer::jpeg"
- "--jpeg-sink-mode=0660"
vnc:

View File

@ -0,0 +1,97 @@
# Don't touch this file otherwise your device may stop working.
# Use override.yaml to modify required settings.
# You can find a working configuration in /usr/share/kvmd/configs.default/kvmd.
override: !include [override.d, override.yaml]
logging: !include logging.yaml
kvmd:
auth: !include auth.yaml
info:
hw:
ignore_past: true
fan:
unix: /run/kvmd/fan.sock
hid:
type: otg
atx:
type: gpio
power_led_pin: 4
hdd_led_pin: 5
power_switch_pin: 23
reset_switch_pin: 27
msd:
type: otg
streamer:
h264_bitrate:
default: 5000
cmd:
- "/usr/bin/ustreamer"
- "--device=/dev/kvmd-video"
- "--persistent"
- "--dv-timings"
- "--format=uyvy"
- "--buffers=6"
- "--encoder=m2m-image"
- "--workers=3"
- "--quality={quality}"
- "--desired-fps={desired_fps}"
- "--drop-same-frames=30"
- "--unix={unix}"
- "--unix-rm"
- "--unix-mode=0660"
- "--exit-on-parent-death"
- "--process-name-prefix={process_name_prefix}"
- "--notify-parent"
- "--no-log-colors"
- "--jpeg-sink=kvmd::ustreamer::jpeg"
- "--jpeg-sink-mode=0660"
- "--h264-sink=kvmd::ustreamer::h264"
- "--h264-sink-mode=0660"
- "--h264-bitrate={h264_bitrate}"
- "--h264-gop={h264_gop}"
gpio:
drivers:
__v4_locator__:
type: locator
scheme:
__v3_usb_breaker__:
pin: 22
mode: output
initial: true
pulse: false
__v4_locator__:
driver: __v4_locator__
pin: 12
mode: output
pulse: false
__v4_const1__:
pin: 6
mode: output
initial: false
switch: false
pulse: false
media:
memsink:
h264:
sink: "kvmd::ustreamer::h264"
vnc:
memsink:
jpeg:
sink: "kvmd::ustreamer::jpeg"
h264:
sink: "kvmd::ustreamer::h264"

View File

@ -0,0 +1,98 @@
# Don't touch this file otherwise your device may stop working.
# Use override.yaml to modify required settings.
# You can find a working configuration in /usr/share/kvmd/configs.default/kvmd.
override: !include [override.d, override.yaml]
logging: !include logging.yaml
kvmd:
auth: !include auth.yaml
info:
hw:
ignore_past: true
fan:
unix: /run/kvmd/fan.sock
hid:
type: otg
atx:
type: gpio
power_led_pin: 4
hdd_led_pin: 5
power_switch_pin: 23
reset_switch_pin: 27
msd:
type: otg
streamer:
h264_bitrate:
default: 5000
cmd:
- "/usr/bin/ustreamer"
- "--device=/dev/kvmd-video"
- "--persistent"
- "--dv-timings"
- "--format=uyvy"
- "--format-swap-rgb"
- "--buffers=8"
- "--encoder=m2m-image"
- "--workers=3"
- "--quality={quality}"
- "--desired-fps={desired_fps}"
- "--drop-same-frames=30"
- "--unix={unix}"
- "--unix-rm"
- "--unix-mode=0660"
- "--exit-on-parent-death"
- "--process-name-prefix={process_name_prefix}"
- "--notify-parent"
- "--no-log-colors"
- "--jpeg-sink=kvmd::ustreamer::jpeg"
- "--jpeg-sink-mode=0660"
- "--h264-sink=kvmd::ustreamer::h264"
- "--h264-sink-mode=0660"
- "--h264-bitrate={h264_bitrate}"
- "--h264-gop={h264_gop}"
gpio:
drivers:
__v4_locator__:
type: locator
scheme:
__v3_usb_breaker__:
pin: 22
mode: output
initial: true
pulse: false
__v4_locator__:
driver: __v4_locator__
pin: 12
mode: output
pulse: false
__v4_const1__:
pin: 6
mode: output
initial: false
switch: false
pulse: false
media:
memsink:
h264:
sink: "kvmd::ustreamer::h264"
vnc:
memsink:
jpeg:
sink: "kvmd::ustreamer::jpeg"
h264:
sink: "kvmd::ustreamer::h264"

14
configs/kvmd/meta.yaml Normal file
View File

@ -0,0 +1,14 @@
# You can write down any information and it will be available
# at the address /api/info (if you use default nginx config).
# If server.host (str) will be defined then this value
# will be displayed in the web interface.
server:
host: "@auto"
kvm: {
base_on: "PiKVM",
app_name: "One-KVM",
main_version: "241204",
author: "SilentWind"
}

175
configs/kvmd/override.yaml Normal file
View File

@ -0,0 +1,175 @@
kvmd:
auth:
enabled: true
atx:
type: disabled
hid:
type: ch9329
device: /dev/ttyUSB0
speed: 9600
read_timeout: 0.3
jiggler:
active: false
enabled: true
mouse_alt:
device: /dev/kvmd-hid-mouse-alt
msd:
#type: otg
remount_cmd: /bin/true
msd_path: /var/lib/kvmd/msd
normalfiles_path: NormalFiles
normalfiles_size: 256
ocr:
langs:
- eng
- chi_sim
streamer:
resolution:
default: 1920x1080
forever: true
desired_fps:
default: 60
max: 60
h264_bitrate:
default: 8000
cmd:
- "/usr/bin/ustreamer"
- "--device=/dev/video0"
- "--persistent"
- "--format=mjpeg"
- "--encoder=FFMPEG-VIDEO"
- "--resolution={resolution}"
- "--desired-fps={desired_fps}"
- "--drop-same-frames=30"
- "--last-as-blank=0"
- "--unix={unix}"
- "--unix-rm"
- "--unix-mode=0666"
- "--exit-on-parent-death"
- "--process-name-prefix={process_name_prefix}"
- "--notify-parent"
- "--no-log-colors"
- "--h264-sink=kvmd::ustreamer::h264"
- "--h264-sink-mode=0660"
- "--jpeg-sink=kvmd::ustreamer::jpeg"
- "--jpeg-sink-mode=0660"
- "--h264-bitrate={h264_bitrate}"
- "--h264-gop={h264_gop}"
- "--h264-hwenc=disabled"
- "--slowdown"
gpio:
drivers:
wol_server1:
type: wol
mac: 2c:56:dc:db:7c:1e
short_press:
type: cmd
cmd: [/etc/kvmd/atx.sh, short]
long_press:
type: cmd
cmd: [/etc/kvmd/atx.sh, long]
reset_press:
type: cmd
cmd: [/etc/kvmd/atx.sh, reset]
input1:
type: cmd
cmd: [/etc/kvmd/kvm_input.sh, 1]
input2:
type: cmd
cmd: [/etc/kvmd/kvm_input.sh, 2]
scheme:
wol_server1:
driver: wol_server1
pin: 0
mode: output
switch: false
short_button:
driver: short_press
pin: 0
mode: output
switch: false
long_button:
driver: long_press
pin: 0
mode: output
switch: false
reset_button:
driver: reset_press
pin: 0
mode: output
switch: false
input1-button:
driver: input1
pin: 0
mode: output
switch: false
input2-button:
driver: input2
pin: 0
mode: output
switch: false
view:
header:
title: 高级功能
table:
- ["#电源管理"]
- ["#短按(开/关机):", short_button|按下]
- ["#长按(强制关机):", long_button|按下]
- ["#重启:", reset_button|按下]
- []
- ["#网络唤醒"]
- ["#被控机设备", wol_server1|网络唤醒]
- []
- ["#KVM 切换"]
- ["#HDMI 1", input1-button|切换]
- ["#HDMI 2", input2-button|切换]
vnc:
keymap: /usr/share/kvmd/keymaps/en-us
mouse_output: usb
auth:
vncauth:
enabled: true
memsink:
jpeg:
sink: "kvmd::ustreamer::jpeg"
h264:
sink: "kvmd::ustreamer::h264"
media:
memsink:
h264:
sink: 'kvmd::ustreamer::h264'
jpeg:
sink: 'kvmd::ustreamer::jpeg'
otgnet:
commands:
post_start_cmd:
- "/bin/true"
pre_stop_cmd:
- "/bin/true"
sysctl_cmd:
#- "/usr/sbin/sysctl"
- "/bin/true"
nginx:
http:
port: 8080
https:
port: 4430

View File

@ -0,0 +1,65 @@
[unix_http_server]
file=/tmp/supervisor.sock
[supervisord]
nodaemon=true
user=root
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
[supervisorctl]
serverurl=unix:///tmp/supervisor.sock
[program:kvmd]
command=python -m kvmd.apps.kvmd --run
directory=/
autostart=true
autorestart=true
priority=10
stopasgroup=true
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes = 0
redirect_stderr=true
[program:kvmd-janus]
command=python -m kvmd.apps.janus --run
autostart=true
autorestart=true
priority=13
stopasgroup=true
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes = 0
redirect_stderr=true
[program:kvmd-media]
command=python -m kvmd.apps.media --run
autostart=true
autorestart=true
priority=13
stopasgroup=true
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes = 0
redirect_stderr=true
[program:kvmd-nginx]
command=nginx -c /etc/kvmd/nginx/nginx.conf -g 'daemon off;user root; error_log stderr;'
autostart=true
autorestart=true
startsecs=10
priority=100
stopasgroup=true
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes = 0
redirect_stderr=true
[program:clean_when_exit]
command=/etc/kvmd/clean_when_exit.sh
autostart=true
autorestart=true
startsecs=10
priority=200
stopasgroup=true
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes = 0
redirect_stderr=true

0
configs/kvmd/totp.secret Normal file
View File

9
configs/kvmd/vncpasswd Normal file
View File

@ -0,0 +1,9 @@
# This file contains passwords for the legacy VNCAuth, one per line.
# The passwords are NOT encrypted.
#
# WARNING! The VNCAuth method is NOT secure and should not be used at all.
# But we support it for compatibility with some clients.
#
# NEVER use the same passwords for KVMD, IPMI and VNCAuth users.
admin -> admin:admin

1
configs/kvmd/web.css Normal file
View File

@ -0,0 +1 @@
/* Here you can customize the Web UI */

View File

@ -0,0 +1,5 @@
location /.well-known/acme-challenge {
root /run/kvmd-certbot/webroot;
include /etc/kvmd/nginx/loc-nocache.conf;
auth_request off;
}

View File

@ -0,0 +1,7 @@
upstream kvmd {
server unix:/run/kvmd/kvmd.sock fail_timeout=0s max_fails=0;
}
upstream ustreamer {
server unix:/run/kvmd/ustreamer.sock fail_timeout=0s max_fails=0;
}

View File

@ -0,0 +1,133 @@
absolute_redirect off;
index index.html;
auth_request /auth_check;
location = /auth_check {
internal;
proxy_pass http://kvmd/auth/check;
proxy_pass_request_body off;
proxy_set_header Content-Length "";
auth_request off;
}
location / {
root /usr/share/kvmd/web;
include /etc/kvmd/nginx/loc-login.conf;
include /etc/kvmd/nginx/loc-nocache.conf;
}
location @login {
return 302 /login;
}
location /login {
root /usr/share/kvmd/web;
include /etc/kvmd/nginx/loc-nocache.conf;
auth_request off;
}
location /share {
root /usr/share/kvmd/web;
include /etc/kvmd/nginx/loc-nocache.conf;
auth_request off;
}
location = /share/css/user.css {
alias /etc/kvmd/web.css;
auth_request off;
}
location = /favicon.ico {
alias /usr/share/kvmd/web/favicon.ico;
include /etc/kvmd/nginx/loc-nocache.conf;
auth_request off;
}
location = /robots.txt {
alias /usr/share/kvmd/web/robots.txt;
include /etc/kvmd/nginx/loc-nocache.conf;
auth_request off;
}
location /api/ws {
rewrite ^/api/ws$ /ws break;
rewrite ^/api/ws\?(.*)$ /ws?$1 break;
proxy_pass http://kvmd;
include /etc/kvmd/nginx/loc-proxy.conf;
include /etc/kvmd/nginx/loc-websocket.conf;
auth_request off;
}
location /api/hid/print {
rewrite ^/api/hid/print$ /hid/print break;
rewrite ^/api/hid/print\?(.*)$ /hid/print?$1 break;
proxy_pass http://kvmd;
include /etc/kvmd/nginx/loc-proxy.conf;
include /etc/kvmd/nginx/loc-bigpost.conf;
proxy_read_timeout 7d;
auth_request off;
}
location /api/msd/read {
rewrite ^/api/msd/read$ /msd/read break;
rewrite ^/api/msd/read\?(.*)$ /msd/read?$1 break;
proxy_pass http://kvmd;
include /etc/kvmd/nginx/loc-proxy.conf;
include /etc/kvmd/nginx/loc-nobuffering.conf;
proxy_read_timeout 7d;
auth_request off;
}
location /api/msd/write_remote {
rewrite ^/api/msd/write_remote$ /msd/write_remote break;
rewrite ^/api/msd/write_remote\?(.*)$ /msd/write_remote?$1 break;
proxy_pass http://kvmd;
include /etc/kvmd/nginx/loc-proxy.conf;
include /etc/kvmd/nginx/loc-nobuffering.conf;
proxy_read_timeout 7d;
auth_request off;
}
location /api/msd/write {
rewrite ^/api/msd/write$ /msd/write break;
rewrite ^/api/msd/write\?(.*)$ /msd/write?$1 break;
proxy_pass http://kvmd;
include /etc/kvmd/nginx/loc-proxy.conf;
include /etc/kvmd/nginx/loc-bigpost.conf;
auth_request off;
}
location /api/log {
rewrite ^/api/log$ /log break;
rewrite ^/api/log\?(.*)$ /log?$1 break;
proxy_pass http://kvmd;
include /etc/kvmd/nginx/loc-proxy.conf;
include /etc/kvmd/nginx/loc-nobuffering.conf;
proxy_read_timeout 7d;
auth_request off;
}
location /api {
rewrite ^/api$ / break;
rewrite ^/api/(.*)$ /$1 break;
proxy_pass http://kvmd;
include /etc/kvmd/nginx/loc-proxy.conf;
auth_request off;
}
location /streamer {
rewrite ^/streamer$ / break;
rewrite ^/streamer\?(.*)$ ?$1 break;
rewrite ^/streamer/(.*)$ /$1 break;
proxy_pass http://ustreamer;
include /etc/kvmd/nginx/loc-proxy.conf;
include /etc/kvmd/nginx/loc-nobuffering.conf;
}
location /redfish {
proxy_pass http://kvmd;
include /etc/kvmd/nginx/loc-proxy.conf;
auth_request off;
}

View File

@ -0,0 +1,2 @@
client_max_body_size 0;
proxy_request_buffering off;

View File

@ -0,0 +1,2 @@
error_page 401 = @login;
error_page 403 = @login;

View File

@ -0,0 +1,3 @@
postpone_output 0;
proxy_buffering off;
proxy_ignore_headers X-Accel-Buffering;

View File

@ -0,0 +1,2 @@
add_header Cache-Control "no-store, no-cache, must-revalidate, proxy-revalidate, pre-check=0, post-check=0, max-age=0";
expires -1;

View File

@ -0,0 +1,6 @@
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Port $server_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

View File

@ -0,0 +1,5 @@
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_connect_timeout 7d;
proxy_send_timeout 7d;
proxy_read_timeout 7d;

View File

@ -0,0 +1,912 @@
types {
application/A2L a2l;
application/AML aml;
application/andrew-inset ez;
application/ATF atf;
application/ATFX atfx;
application/ATXML atxml;
application/atom+xml atom;
application/atomcat+xml atomcat;
application/atomdeleted+xml atomdeleted;
application/atomsvc+xml atomsvc;
application/auth-policy+xml apxml;
application/bacnet-xdd+zip xdd;
application/calendar+xml xcs;
application/cbor cbor;
application/cccex c3ex;
application/ccmp+xml ccmp;
application/ccxml+xml ccxml;
application/CDFX+XML cdfx;
application/cdmi-capability cdmia;
application/cdmi-container cdmic;
application/cdmi-domain cdmid;
application/cdmi-object cdmio;
application/cdmi-queue cdmiq;
application/CEA cea;
application/cellml+xml cellml cml;
application/clue_info+xml clue;
application/cms cmsc;
application/cpl+xml cpl;
application/csrattrs csrattrs;
application/dash+xml mpd;
application/dashdelta mpdd;
application/davmount+xml davmount;
application/DCD dcd;
application/dicom dcm;
application/DII dii;
application/DIT dit;
application/dskpp+xml xmls;
application/dssc+der dssc;
application/dssc+xml xdssc;
application/dvcs dvc;
application/ecmascript es;
application/efi efi;
application/emma+xml emma;
application/emotionml+xml emotionml;
application/epub+zip epub;
application/exi exi;
application/fastinfoset finf;
application/fdt+xml fdt;
application/font-tdpfr pfr;
application/geo+json geojson;
application/gml+xml gml;
application/gzip gz tgz;
application/hyperstudio stk;
application/inkml+xml ink inkml;
application/ipfix ipfix;
application/its+xml its;
application/javascript js;
application/jrd+json jrd;
application/json json;
application/json-patch+json json-patch;
application/ld+json jsonld;
application/lgr+xml lgr;
application/link-format wlnk;
application/lost+xml lostxml;
application/lostsync+xml lostsyncxml;
application/LXF lxf;
application/mac-binhex40 hqx;
application/mads+xml mads;
application/marc mrc;
application/marcxml+xml mrcx;
application/mathematica nb ma mb;
application/mathml+xml mml;
application/mbox mbox;
application/metalink4+xml meta4;
application/mets+xml mets;
application/MF4 mf4;
application/mmt-usd+xml musd;
application/mods+xml mods;
application/mp21 m21 mp21;
application/msword doc;
application/mxf mxf;
application/n-quads nq;
application/n-triples nt;
application/ocsp-request orq;
application/ocsp-response ors;
application/octet-stream bin lha lzh exe class so dll img iso;
application/oda oda;
application/ODX odx;
application/oebps-package+xml opf;
application/ogg ogx;
application/oxps oxps;
application/p2p-overlay+xml relo;
application/pdf pdf;
application/PDX pdx;
application/pgp-encrypted pgp;
application/pgp-signature sig;
application/pkcs10 p10;
application/pkcs12 p12 pfx;
application/pkcs7-mime p7m p7c;
application/pkcs7-signature p7s;
application/pkcs8 p8;
application/pkix-cert cer;
application/pkix-crl crl;
application/pkix-pkipath pkipath;
application/pkixcmp pki;
application/pls+xml pls;
application/postscript ps eps ai;
application/provenance+xml provx;
application/prs.cww cw cww;
application/prs.hpub+zip hpub;
application/prs.nprend rnd rct;
application/prs.rdf-xml-crypt rdf-crypt;
application/prs.xsf+xml xsf;
application/pskc+xml pskcxml;
application/rdf+xml rdf;
application/route-apd+xml rapd;
application/route-s-tsid+xml sls;
application/route-usd+xml rusd;
application/reginfo+xml rif;
application/relax-ng-compact-syntax rnc;
application/resource-lists-diff+xml rld;
application/resource-lists+xml rl;
application/rfc+xml rfcxml;
application/rls-services+xml rs;
application/rpki-ghostbusters gbr;
application/rpki-manifest mft;
application/rpki-roa roa;
application/rtf rtf;
application/scim+json scim;
application/scvp-cv-request scq;
application/scvp-cv-response scs;
application/scvp-vp-request spq;
application/scvp-vp-response spp;
application/sdp sdp;
application/sgml-open-catalog soc;
application/shf+xml shf;
application/sieve siv sieve;
application/simple-filter+xml cl;
application/smil+xml smil smi sml;
application/sparql-query rq;
application/sparql-results+xml srx;
application/sql sql;
application/srgs gram;
application/srgs+xml grxml;
application/sru+xml sru;
application/ssml+xml ssml;
application/tamp-apex-update tau;
application/tamp-apex-update-confirm auc;
application/tamp-community-update tcu;
application/tamp-community-update-confirm cuc;
application/tamp-error ter;
application/tamp-sequence-adjust tsa;
application/tamp-sequence-adjust-confirm sac;
application/tamp-update tur;
application/tamp-update-confirm tuc;
application/tei+xml tei teiCorpus odd;
application/thraud+xml tfi;
application/timestamp-query tsq;
application/timestamp-reply tsr;
application/timestamped-data tsd;
application/trig trig;
application/ttml+xml ttml;
application/urc-grpsheet+xml gsheet;
application/urc-ressheet+xml rsheet;
application/urc-targetdesc+xml td;
application/urc-uisocketdesc+xml uis;
application/vnd.1000minds.decision-model+xml 1km;
application/vnd.3gpp.pic-bw-large plb;
application/vnd.3gpp.pic-bw-small psb;
application/vnd.3gpp.pic-bw-var pvb;
application/vnd.3gpp2.sms sms;
application/vnd.3gpp2.tcap tcap;
application/vnd.3lightssoftware.imagescal imgcal;
application/vnd.3M.Post-it-Notes pwn;
application/vnd.accpac.simply.aso aso;
application/vnd.accpac.simply.imp imp;
application/vnd.acucobol acu;
application/vnd.acucorp atc acutc;
application/vnd.adobe.flash.movie swf;
application/vnd.adobe.formscentral.fcdt fcdt;
application/vnd.adobe.fxp fxp fxpl;
application/vnd.adobe.xdp+xml xdp;
application/vnd.adobe.xfdf xfdf;
application/vnd.ahead.space ahead;
application/vnd.airzip.filesecure.azf azf;
application/vnd.airzip.filesecure.azs azs;
application/vnd.amazon.mobi8-ebook azw3;
application/vnd.americandynamics.acc acc;
application/vnd.amiga.ami ami;
application/vnd.anki apkg;
application/vnd.anser-web-certificate-issue-initiation cii;
application/vnd.anser-web-funds-transfer-initiation fti;
application/vnd.apple.installer+xml dist distz pkg mpkg;
application/vnd.apple.mpegurl m3u8;
application/vnd.aristanetworks.swi swi;
application/vnd.astraea-software.iota iota;
application/vnd.audiograph aep;
application/vnd.autopackage package;
application/vnd.balsamiq.bmml+xml bmml;
application/vnd.balsamiq.bmpr bmpr;
application/vnd.blueice.multipass mpm;
application/vnd.bluetooth.ep.oob ep;
application/vnd.bluetooth.le.oob le;
application/vnd.bmi bmi;
application/vnd.businessobjects rep;
application/vnd.cendio.thinlinc.clientconf tlclient;
application/vnd.chemdraw+xml cdxml;
application/vnd.chess-pgn pgn;
application/vnd.chipnuts.karaoke-mmd mmd;
application/vnd.cinderella cdy;
application/vnd.citationstyles.style+xml csl;
application/vnd.claymore cla;
application/vnd.cloanto.rp9 rp9;
application/vnd.clonk.c4group c4g c4d c4f c4p c4u;
application/vnd.cluetrust.cartomobile-config c11amc;
application/vnd.cluetrust.cartomobile-config-pkg c11amz;
application/vnd.coffeescript coffee;
application/vnd.comicbook+zip cbz;
application/vnd.commerce-battelle ica icf icd ic0 ic1 ic2 ic3 ic4 ic5 ic6 ic7 ic8;
application/vnd.commonspace csp cst;
application/vnd.contact.cmsg cdbcmsg;
application/vnd.coreos.ignition+json ign ignition;
application/vnd.cosmocaller cmc;
application/vnd.crick.clicker clkx;
application/vnd.crick.clicker.keyboard clkk;
application/vnd.crick.clicker.palette clkp;
application/vnd.crick.clicker.template clkt;
application/vnd.crick.clicker.wordbank clkw;
application/vnd.criticaltools.wbs+xml wbs;
application/vnd.ctc-posml pml;
application/vnd.cups-ppd ppd;
application/vnd.curl curl;
application/vnd.dart dart;
application/vnd.data-vision.rdz rdz;
application/vnd.debian.binary-package deb udeb;
application/vnd.dece.data uvf uvvf uvd uvvd;
application/vnd.dece.ttml+xml uvt uvvt;
application/vnd.dece.unspecified uvx uvvx;
application/vnd.dece.zip uvz uvvz;
application/vnd.denovo.fcselayout-link fe_launch;
application/vnd.desmume.movie dsm;
application/vnd.dna dna;
application/vnd.document+json docjson;
application/vnd.doremir.scorecloud-binary-document scld;
application/vnd.dpgraph dpg mwc dpgraph;
application/vnd.dreamfactory dfac;
application/vnd.dtg.local.flash fla;
application/vnd.dvb.ait ait;
application/vnd.dvb.service svc;
application/vnd.dynageo geo;
application/vnd.dzr dzr;
application/vnd.ecowin.chart mag;
application/vnd.enliven nml;
application/vnd.epson.esf esf;
application/vnd.epson.msf msf;
application/vnd.epson.quickanime qam;
application/vnd.epson.salt slt;
application/vnd.epson.ssf ssf;
application/vnd.ericsson.quickcall qcall qca;
application/vnd.espass-espass+zip espass;
application/vnd.eszigno3+xml es3 et3;
application/vnd.etsi.asic-e+zip asice sce;
application/vnd.etsi.asic-s+zip asics;
application/vnd.etsi.timestamp-token tst;
application/vnd.evolv.ecig.profile ecigprofile;
application/vnd.evolv.ecig.settings ecig;
application/vnd.evolv.ecig.theme ecigtheme;
application/vnd.ezpix-album ez2;
application/vnd.ezpix-package ez3;
application/vnd.fastcopy-disk-image dim;
application/vnd.fdf fdf;
application/vnd.fdsn.mseed msd mseed;
application/vnd.fdsn.seed seed dataless;
application/vnd.filmit.zfc zfc;
application/vnd.FloGraphIt gph;
application/vnd.fluxtime.clip ftc;
application/vnd.font-fontforge-sfd sfd;
application/vnd.framemaker fm;
application/vnd.frogans.fnc fnc;
application/vnd.frogans.ltf ltf;
application/vnd.fsc.weblaunch fsc;
application/vnd.fujitsu.oasys oas;
application/vnd.fujitsu.oasys2 oa2;
application/vnd.fujitsu.oasys3 oa3;
application/vnd.fujitsu.oasysgp fg5;
application/vnd.fujitsu.oasysprs bh2;
application/vnd.fujixerox.ddd ddd;
application/vnd.fujixerox.docuworks xdw;
application/vnd.fujixerox.docuworks.binder xbd;
application/vnd.fujixerox.docuworks.container xct;
application/vnd.fuzzysheet fzs;
application/vnd.genomatix.tuxedo txd;
application/vnd.geocube+xml g3 g³;
application/vnd.geogebra.file ggb;
application/vnd.geogebra.tool ggt;
application/vnd.geometry-explorer gex gre;
application/vnd.geonext gxt;
application/vnd.geoplan g2w;
application/vnd.geospace g3w;
application/vnd.gmx gmx;
application/vnd.google-earth.kml+xml kml;
application/vnd.google-earth.kmz kmz;
application/vnd.grafeq gqf gqs;
application/vnd.groove-account gac;
application/vnd.groove-help ghf;
application/vnd.groove-identity-message gim;
application/vnd.groove-injector grv;
application/vnd.groove-tool-message gtm;
application/vnd.groove-tool-template tpl;
application/vnd.groove-vcard vcg;
application/vnd.hal+xml hal;
application/vnd.HandHeld-Entertainment+xml zmm;
application/vnd.hbci hbci hbc kom upa pkd bpd;
application/vnd.hdt hdt;
application/vnd.hhe.lesson-player les;
application/vnd.hp-HPGL hpgl;
application/vnd.hp-hpid hpi hpid;
application/vnd.hp-hps hps;
application/vnd.hp-jlyt jlt;
application/vnd.hp-PCL pcl;
application/vnd.hydrostatix.sof-data sfd-hdstx;
application/vnd.hzn-3d-crossword x3d;
application/vnd.ibm.electronic-media emm;
application/vnd.ibm.MiniPay mpy;
application/vnd.ibm.modcap list3820 listafp afp pseg3820;
application/vnd.ibm.rights-management irm;
application/vnd.ibm.secure-container sc;
application/vnd.iccprofile icc icm;
application/vnd.ieee.1905 1905.1;
application/vnd.igloader igl;
application/vnd.imagemeter.folder+zip imf;
application/vnd.imagemeter.image+zip imi;
application/vnd.immervision-ivp ivp;
application/vnd.immervision-ivu ivu;
application/vnd.ims.imsccv1p1 imscc;
application/vnd.insors.igm igm;
application/vnd.intercon.formnet xpw xpx;
application/vnd.intergeo i2g;
application/vnd.intu.qbo qbo;
application/vnd.intu.qfx qfx;
application/vnd.ipunplugged.rcprofile rcprofile;
application/vnd.irepository.package+xml irp;
application/vnd.is-xpr xpr;
application/vnd.isac.fcs fcs;
application/vnd.jam jam;
application/vnd.jcp.javame.midlet-rms rms;
application/vnd.jisp jisp;
application/vnd.joost.joda-archive joda;
application/vnd.kahootz ktz ktr;
application/vnd.kde.karbon karbon;
application/vnd.kde.kchart chrt;
application/vnd.kde.kformula kfo;
application/vnd.kde.kivio flw;
application/vnd.kde.kontour kon;
application/vnd.kde.kpresenter kpr kpt;
application/vnd.kde.kspread ksp;
application/vnd.kde.kword kwd kwt;
application/vnd.kenameaapp htke;
application/vnd.kidspiration kia;
application/vnd.Kinar kne knp sdf;
application/vnd.koan skp skd skm skt;
application/vnd.kodak-descriptor sse;
application/vnd.las.las+json lasjson;
application/vnd.las.las+xml lasxml;
application/vnd.llamagraphics.life-balance.desktop lbd;
application/vnd.llamagraphics.life-balance.exchange+xml lbe;
application/vnd.lotus-1-2-3 123 wk4 wk3 wk1;
application/vnd.lotus-approach apr vew;
application/vnd.lotus-freelance prz pre;
application/vnd.lotus-notes nsf ntf ndl ns4 ns3 ns2 nsh nsg;
application/vnd.lotus-organizer or3 or2 org;
application/vnd.lotus-screencam scm;
application/vnd.lotus-wordpro lwp sam;
application/vnd.macports.portpkg portpkg;
application/vnd.mapbox-vector-tile mvt;
application/vnd.marlin.drm.mdcf mdc;
application/vnd.maxmind.maxmind-db mmdb;
application/vnd.mcd mcd;
application/vnd.medcalcdata mc1;
application/vnd.mediastation.cdkey cdkey;
application/vnd.MFER mwf;
application/vnd.mfmp mfm;
application/vnd.micrografx.flo flo;
application/vnd.micrografx.igx igx;
application/vnd.mif mif;
application/vnd.Mobius.DAF daf;
application/vnd.Mobius.DIS dis;
application/vnd.Mobius.MBK mbk;
application/vnd.Mobius.MQY mqy;
application/vnd.Mobius.MSL msl;
application/vnd.Mobius.PLC plc;
application/vnd.Mobius.TXF txf;
application/vnd.mophun.application mpn;
application/vnd.mophun.certificate mpc;
application/vnd.mozilla.xul+xml xul;
application/vnd.ms-3mfdocument 3mf;
application/vnd.ms-artgalry cil;
application/vnd.ms-asf asf;
application/vnd.ms-cab-compressed cab;
application/vnd.ms-excel xls xlm xla xlc xlt xlw;
application/vnd.ms-excel.template.macroEnabled.12 xltm;
application/vnd.ms-excel.addin.macroEnabled.12 xlam;
application/vnd.ms-excel.sheet.binary.macroEnabled.12 xlsb;
application/vnd.ms-excel.sheet.macroEnabled.12 xlsm;
application/vnd.ms-fontobject eot;
application/vnd.ms-htmlhelp chm;
application/vnd.ms-ims ims;
application/vnd.ms-lrm lrm;
application/vnd.ms-officetheme thmx;
application/vnd.ms-powerpoint ppt pps pot;
application/vnd.ms-powerpoint.addin.macroEnabled.12 ppam;
application/vnd.ms-powerpoint.presentation.macroEnabled.12 pptm;
application/vnd.ms-powerpoint.slide.macroEnabled.12 sldm;
application/vnd.ms-powerpoint.slideshow.macroEnabled.12 ppsm;
application/vnd.ms-powerpoint.template.macroEnabled.12 potm;
application/vnd.ms-project mpp mpt;
application/vnd.ms-tnef tnef tnf;
application/vnd.ms-word.document.macroEnabled.12 docm;
application/vnd.ms-word.template.macroEnabled.12 dotm;
application/vnd.ms-works wcm wdb wks wps;
application/vnd.ms-wpl wpl;
application/vnd.ms-xpsdocument xps;
application/vnd.msa-disk-image msa;
application/vnd.mseq mseq;
application/vnd.multiad.creator crtr;
application/vnd.multiad.creator.cif cif;
application/vnd.musician mus;
application/vnd.muvee.style msty;
application/vnd.mynfc taglet;
application/vnd.nervana entity request bkm kcm;
application/vnd.nitf nitf;
application/vnd.neurolanguage.nlu nlu;
application/vnd.nintendo.nitro.rom nds;
application/vnd.nintendo.snes.rom sfc smc;
application/vnd.noblenet-directory nnd;
application/vnd.noblenet-sealer nns;
application/vnd.noblenet-web nnw;
application/vnd.nokia.n-gage.ac+xml ac;
application/vnd.nokia.n-gage.data ngdat;
application/vnd.nokia.n-gage.symbian.install n-gage;
application/vnd.nokia.radio-preset rpst;
application/vnd.nokia.radio-presets rpss;
application/vnd.novadigm.EDM edm;
application/vnd.novadigm.EDX edx;
application/vnd.novadigm.EXT ext;
application/vnd.oasis.opendocument.chart odc;
application/vnd.oasis.opendocument.chart-template otc;
application/vnd.oasis.opendocument.database odb;
application/vnd.oasis.opendocument.formula odf;
application/vnd.oasis.opendocument.graphics odg;
application/vnd.oasis.opendocument.graphics-template otg;
application/vnd.oasis.opendocument.image odi;
application/vnd.oasis.opendocument.image-template oti;
application/vnd.oasis.opendocument.presentation odp;
application/vnd.oasis.opendocument.presentation-template otp;
application/vnd.oasis.opendocument.spreadsheet ods;
application/vnd.oasis.opendocument.spreadsheet-template ots;
application/vnd.oasis.opendocument.text odt;
application/vnd.oasis.opendocument.text-master odm;
application/vnd.oasis.opendocument.text-template ott;
application/vnd.oasis.opendocument.text-web oth;
application/vnd.olpc-sugar xo;
application/vnd.oma.dd2+xml dd2;
application/vnd.onepager tam;
application/vnd.onepagertamp tamp;
application/vnd.onepagertamx tamx;
application/vnd.onepagertat tat;
application/vnd.onepagertatp tatp;
application/vnd.onepagertatx tatx;
application/vnd.openblox.game+xml obgx;
application/vnd.openblox.game-binary obg;
application/vnd.openeye.oeb oeb;
application/vnd.openofficeorg.extension oxt;
application/vnd.openstreetmap.data+xml osm;
application/vnd.openxmlformats-officedocument.presentationml.presentation pptx;
application/vnd.openxmlformats-officedocument.presentationml.slide sldx;
application/vnd.openxmlformats-officedocument.presentationml.slideshow ppsx;
application/vnd.openxmlformats-officedocument.presentationml.template potx;
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx;
application/vnd.openxmlformats-officedocument.spreadsheetml.template xltx;
application/vnd.openxmlformats-officedocument.wordprocessingml.document docx;
application/vnd.openxmlformats-officedocument.wordprocessingml.template dotx;
application/vnd.osa.netdeploy ndc;
application/vnd.osgeo.mapguide.package mgp;
application/vnd.osgi.dp dp;
application/vnd.osgi.subsystem esa;
application/vnd.oxli.countgraph oxlicg;
application/vnd.palm prc pdb pqa oprc;
application/vnd.panoply plp;
application/vnd.pawaafile paw;
application/vnd.pg.format str;
application/vnd.pg.osasli ei6;
application/vnd.piaccess.application-license pil;
application/vnd.picsel efif;
application/vnd.pmi.widget wg;
application/vnd.pocketlearn plf;
application/vnd.powerbuilder6 pbd;
application/vnd.preminet preminet;
application/vnd.previewsystems.box box vbox;
application/vnd.proteus.magazine mgz;
application/vnd.publishare-delta-tree qps;
application/vnd.pvi.ptid1 ptid;
application/vnd.qualcomm.brew-app-res bar;
application/vnd.Quark.QuarkXPress qxd qxt qwd qwt qxl qxb;
application/vnd.quobject-quoxdocument quox quiz;
application/vnd.rainstor.data tree;
application/vnd.rar rar;
application/vnd.realvnc.bed bed;
application/vnd.recordare.musicxml mxl;
application/vnd.rig.cryptonote cryptonote;
application/vnd.route66.link66+xml link66;
application/vnd.sailingtracker.track st;
application/vnd.scribus scd sla slaz;
application/vnd.sealed.3df s3df;
application/vnd.sealed.csf scsf;
application/vnd.sealed.doc sdoc sdo s1w;
application/vnd.sealed.eml seml sem;
application/vnd.sealed.mht smht smh;
application/vnd.sealed.ppt sppt s1p;
application/vnd.sealed.tiff stif;
application/vnd.sealed.xls sxls sxl s1e;
application/vnd.sealedmedia.softseal.html stml s1h;
application/vnd.sealedmedia.softseal.pdf spdf spd s1a;
application/vnd.seemail see;
application/vnd.sema sema;
application/vnd.semd semd;
application/vnd.semf semf;
application/vnd.shana.informed.formdata ifm;
application/vnd.shana.informed.formtemplate itp;
application/vnd.shana.informed.interchange iif;
application/vnd.shana.informed.package ipk;
application/vnd.sigrok.session sr;
application/vnd.SimTech-MindMapper twd twds;
application/vnd.smaf mmf;
application/vnd.smart.notebook notebook;
application/vnd.smart.teacher teacher;
application/vnd.software602.filler.form+xml fo;
application/vnd.software602.filler.form-xml-zip zfo;
application/vnd.solent.sdkm+xml sdkm sdkd;
application/vnd.spotfire.dxp dxp;
application/vnd.spotfire.sfs sfs;
application/vnd.stepmania.package smzip;
application/vnd.stepmania.stepchart sm;
application/vnd.sun.wadl+xml wadl;
application/vnd.sus-calendar sus susp;
application/vnd.syncml+xml xsm;
application/vnd.syncml.dm+wbxml bdm;
application/vnd.syncml.dm+xml xdm;
application/vnd.syncml.dmddf+xml ddf;
application/vnd.tao.intent-module-archive tao;
application/vnd.tcpdump.pcap pcap cap dmp;
application/vnd.theqvd qvd;
application/vnd.tml vfr viaframe;
application/vnd.tmobile-livetv tmo;
application/vnd.trid.tpt tpt;
application/vnd.triscape.mxs mxs;
application/vnd.trueapp tra;
application/vnd.ufdl ufdl ufd frm;
application/vnd.uiq.theme utz;
application/vnd.umajin umj;
application/vnd.unity unityweb;
application/vnd.uoml+xml uoml uo;
application/vnd.uri-map urim urimap;
application/vnd.valve.source.material vmt;
application/vnd.vcx vcx;
application/vnd.vd-study mxi study-inter model-inter;
application/vnd.vectorworks vwx;
application/vnd.vidsoft.vidconference vsc;
application/vnd.visio vsd vst vsw vss;
application/vnd.visionary vis;
application/vnd.vsf vsf;
application/vnd.wap.sic sic;
application/vnd.wap.slc slc;
application/vnd.wap.wbxml wbxml;
application/vnd.wap.wmlc wmlc;
application/vnd.wap.wmlscriptc wmlsc;
application/vnd.webturbo wtb;
application/vnd.wfa.p2p p2p;
application/vnd.wfa.wsc wsc;
application/vnd.wmc wmc;
application/vnd.wolfram.mathematica.package m;
application/vnd.wolfram.player nbp;
application/vnd.wordperfect wpd;
application/vnd.wqd wqd;
application/vnd.wt.stf stf;
application/vnd.wv.csp+wbxml wv;
application/vnd.xara xar;
application/vnd.xfdl xfdl xfd;
application/vnd.xmpie.cpkg cpkg;
application/vnd.xmpie.dpkg dpkg;
application/vnd.xmpie.ppkg ppkg;
application/vnd.xmpie.xlim xlim;
application/vnd.yamaha.hv-dic hvd;
application/vnd.yamaha.hv-script hvs;
application/vnd.yamaha.hv-voice hvp;
application/vnd.yamaha.openscoreformat osf;
application/vnd.yamaha.smaf-audio saf;
application/vnd.yamaha.smaf-phrase spf;
application/vnd.yaoweme yme;
application/vnd.yellowriver-custom-menu cmp;
application/vnd.zul zir zirz;
application/vnd.zzazz.deck+xml zaz;
application/voicexml+xml vxml;
application/watcherinfo+xml wif;
application/widget wgt;
application/wsdl+xml wsdl;
application/wspolicy+xml wspolicy;
application/xcap-att+xml xav;
application/xcap-caps+xml xca;
application/xcap-diff+xml xdf;
application/xcap-el+xml xel;
application/xcap-error+xml xer;
application/xcap-ns+xml xns;
application/xhtml+xml xhtml xhtm xht;
application/xml-dtd dtd;
application/xop+xml xop;
application/xslt+xml xsl xslt;
application/xv+xml mxml xhvml xvml xvm;
application/yang yang;
application/yin+xml yin;
application/zip zip;
audio/32kadpcm 726;
audio/ac3 ac3;
audio/AMR amr;
audio/AMR-WB awb;
audio/asc acn;
audio/ATRAC-ADVANCED-LOSSLESS aal;
audio/ATRAC-X atx;
audio/ATRAC3 at3 aa3 omg;
audio/basic au snd;
audio/dls dls;
audio/EVRC evc;
audio/EVRCB evb;
audio/EVRCNW enw;
audio/EVRCWB evw;
audio/iLBC lbc;
audio/L16 l16;
audio/mobile-xmf mxmf;
audio/mp4 m4a;
audio/mpeg mp3 mpga mp1 mp2;
audio/ogg oga ogg opus spx;
audio/prs.sid sid psid;
audio/qcelp qcp;
audio/SMV smv;
audio/vnd.audikoz koz;
audio/vnd.dece.audio uva uvva;
audio/vnd.digital-winds eol;
audio/vnd.dolby.mlp mlp;
audio/vnd.dts dts;
audio/vnd.dts.hd dtshd;
audio/vnd.everad.plj plj;
audio/vnd.lucent.voice lvp;
audio/vnd.ms-playready.media.pya pya;
audio/vnd.nortel.vbk vbk;
audio/vnd.nuera.ecelp4800 ecelp4800;
audio/vnd.nuera.ecelp7470 ecelp7470;
audio/vnd.nuera.ecelp9600 ecelp9600;
audio/vnd.presonus.multitrack multitrack;
audio/vnd.rip rip;
audio/vnd.sealedmedia.softseal.mpeg smp3 smp s1m;
font/collection ttc;
font/otf otf;
font/ttf ttf;
font/woff woff;
font/woff2 woff2;
image/bmp bmp dib;
image/cgm cgm;
image/dicom-rle drle;
image/emf emf;
image/fits fits fit fts;
image/gif gif;
image/ief ief;
image/jls jls;
image/jp2 jp2 jpg2;
image/jpeg jpg jpeg jpe jfif;
image/jpm jpm jpgm;
image/jpx jpx jpf;
image/ktx ktx;
image/png png;
image/prs.btif btif btf;
image/prs.pti pti;
image/svg+xml svg svgz;
image/t38 t38;
image/tiff tiff tif;
image/tiff-fx tfx;
image/vnd.adobe.photoshop psd;
image/vnd.airzip.accelerator.azv azv;
image/vnd.dece.graphic uvi uvvi uvg uvvg;
image/vnd.djvu djvu djv;
image/vnd.dwg dwg;
image/vnd.dxf dxf;
image/vnd.fastbidsheet fbs;
image/vnd.fpx fpx;
image/vnd.fst fst;
image/vnd.fujixerox.edmics-mmr mmr;
image/vnd.fujixerox.edmics-rlc rlc;
image/vnd.globalgraphics.pgb pgb;
image/vnd.microsoft.icon ico;
image/vnd.mozilla.apng apng;
image/vnd.ms-modi mdi;
image/vnd.radiance hdr rgbe xyze;
image/vnd.sealed.png spng spn s1n;
image/vnd.sealedmedia.softseal.gif sgif sgi s1g;
image/vnd.sealedmedia.softseal.jpg sjpg sjp s1j;
image/vnd.tencent.tap tap;
image/vnd.valve.source.texture vtf;
image/vnd.wap.wbmp wbmp;
image/vnd.xiff xif;
image/vnd.zbrush.pcx pcx;
image/wmf wmf;
message/global u8msg;
message/global-delivery-status u8dsn;
message/global-disposition-notification u8mdn;
message/global-headers u8hdr;
message/rfc822 eml mail art;
model/gltf+json gltf;
model/iges igs iges;
model/mesh msh mesh silo;
model/vnd.collada+xml dae;
model/vnd.dwf dwf;
model/vnd.gdl gdl gsm win dor lmp rsm msm ism;
model/vnd.gtw gtw;
model/vnd.moml+xml moml;
model/vnd.mts mts;
model/vnd.opengex ogex;
model/vnd.parasolid.transmit.binary x_b xmt_bin;
model/vnd.parasolid.transmit.text x_t xmt_txt;
model/vnd.valve.source.compiled-map bsp;
model/vnd.vtu vtu;
model/vrml wrl vrml;
model/x3d+xml x3db;
model/x3d-vrml x3dv x3dvz;
multipart/vnd.bint.med-plus bmed;
multipart/voice-message vpm;
text/cache-manifest appcache manifest;
text/calendar ics ifb;
text/css css;
text/csv csv;
text/csv-schema csvs;
text/dns soa zone;
text/html html htm;
text/jcr-cnd cnd;
text/markdown markdown md;
text/mizar miz;
text/n3 n3;
text/plain txt asc text pm el c h cc hh cxx hxx f90 conf log;
text/provenance-notation provn;
text/prs.fallenstein.rst rst;
text/prs.lines.tag tag dsc;
text/richtext rtx;
text/sgml sgml sgm;
text/tab-separated-values tsv;
text/troff t tr roff;
text/turtle ttl;
text/uri-list uris uri;
text/vcard vcf vcard;
text/vnd.a a;
text/vnd.abc abc;
text/vnd.ascii-art ascii;
text/vnd.debian.copyright copyright;
text/vnd.DMClientScript dms;
text/vnd.dvb.subtitle sub;
text/vnd.esmertec.theme-descriptor jtd;
text/vnd.fly fly;
text/vnd.fmi.flexstor flx;
text/vnd.graphviz gv dot;
text/vnd.in3d.3dml 3dml 3dm;
text/vnd.in3d.spot spot spo;
text/vnd.ms-mediapackage mpf;
text/vnd.net2phone.commcenter.command ccc;
text/vnd.si.uricatalogue uric;
text/vnd.sun.j2me.app-descriptor jad;
text/vnd.trolltech.linguist ts;
text/vnd.wap.si si;
text/vnd.wap.sl sl;
text/vnd.wap.wml wml;
text/vnd.wap.wmlscript wmls;
text/xml xml xsd rng;
text/xml-external-parsed-entity ent;
video/3gpp 3gp 3gpp;
video/3gpp2 3g2 3gpp2;
video/iso.segment m4s;
video/mj2 mj2 mjp2;
video/mp4 mp4 mpg4 m4v;
video/mpeg mpeg mpg mpe m1v m2v;
video/ogg ogv;
video/quicktime mov qt;
video/vnd.dece.hd uvh uvvh;
video/vnd.dece.mobile uvm uvvm;
video/vnd.dece.mp4 uvu uvvu;
video/vnd.dece.pd uvp uvvp;
video/vnd.dece.sd uvs uvvs;
video/vnd.dece.video uvv uvvv;
video/vnd.dvb.file dvb;
video/vnd.fvt fvt;
video/vnd.mpegurl mxu m4u;
video/vnd.ms-playready.media.pyv pyv;
video/vnd.nokia.interleaved-multimedia nim;
video/vnd.radgamettools.bink bik bk2;
video/vnd.radgamettools.smacker smk;
video/vnd.sealed.mpeg1 smpg s11;
video/vnd.sealed.mpeg4 s14;
video/vnd.sealed.swf sswf ssw;
video/vnd.sealedmedia.softseal.mov smov smo s1q;
video/vnd.vivo viv;
application/mac-compactpro cpt;
application/metalink+xml metalink;
application/owl+xml owx;
application/rss+xml rss;
application/vnd.android.package-archive apk;
application/vnd.oma.dd+xml dd;
application/vnd.oma.drm.content dcf;
application/vnd.oma.drm.dcf o4a o4v;
application/vnd.oma.drm.message dm;
application/vnd.oma.drm.rights+wbxml drc;
application/vnd.oma.drm.rights+xml dr;
application/vnd.sun.xml.calc sxc;
application/vnd.sun.xml.calc.template stc;
application/vnd.sun.xml.draw sxd;
application/vnd.sun.xml.draw.template std;
application/vnd.sun.xml.impress sxi;
application/vnd.sun.xml.impress.template sti;
application/vnd.sun.xml.math sxm;
application/vnd.sun.xml.writer sxw;
application/vnd.sun.xml.writer.global sxg;
application/vnd.sun.xml.writer.template stw;
application/vnd.symbian.install sis;
application/vnd.wap.mms-message mms;
application/x-annodex anx;
application/x-bcpio bcpio;
application/x-bittorrent torrent;
application/x-bzip2 bz2;
application/x-cdlink vcd;
application/x-chrome-extension crx;
application/x-cpio cpio;
application/x-csh csh;
application/x-director dcr dir dxr;
application/x-dvi dvi;
application/x-futuresplash spl;
application/x-gtar gtar;
application/x-hdf hdf;
application/x-java-archive jar;
application/x-java-jnlp-file jnlp;
application/x-java-pack200 pack;
application/x-killustrator kil;
application/x-latex latex;
application/x-netcdf nc cdf;
application/x-perl pl;
application/x-rpm rpm;
application/x-sh sh;
application/x-shar shar;
application/x-stuffit sit;
application/x-sv4cpio sv4cpio;
application/x-sv4crc sv4crc;
application/x-tar tar;
application/x-tcl tcl;
application/x-tex tex;
application/x-texinfo texinfo texi;
application/x-troff-man man 1 2 3 4 5 6 7 8;
application/x-troff-me me;
application/x-troff-ms ms;
application/x-ustar ustar;
application/x-wais-source src;
application/x-xpinstall xpi;
application/x-xspf+xml xspf;
application/x-xz xz;
audio/midi mid midi kar;
audio/x-aiff aif aiff aifc;
audio/x-annodex axa;
audio/x-flac flac;
audio/x-matroska mka;
audio/x-mod mod ult uni m15 mtm 669 med;
audio/x-mpegurl m3u;
audio/x-ms-wax wax;
audio/x-ms-wma wma;
audio/x-pn-realaudio ram rm;
audio/x-realaudio ra;
audio/x-s3m s3m;
audio/x-stm stm;
audio/x-wav wav;
chemical/x-xyz xyz;
image/webp webp;
image/x-cmu-raster ras;
image/x-portable-anymap pnm;
image/x-portable-bitmap pbm;
image/x-portable-graymap pgm;
image/x-portable-pixmap ppm;
image/x-rgb rgb;
image/x-targa tga;
image/x-xbitmap xbm;
image/x-xpixmap xpm;
image/x-xwindowdump xwd;
text/html-sandboxed sandboxed;
text/x-pod pod;
text/x-setext etx;
video/webm webm;
video/x-annodex axv;
video/x-flv flv;
video/x-javafx fxm;
video/x-matroska mkv;
video/x-matroska-3d mk3d;
video/x-ms-asf asx;
video/x-ms-wm wm;
video/x-ms-wmv wmv;
video/x-ms-wmx wmx;
video/x-ms-wvx wvx;
video/x-msvideo avi;
video/x-sgi-movie movie;
x-conference/x-cooltalk ice;
x-epoc/x-sisx-app sisx;
}

View File

@ -0,0 +1,79 @@
worker_processes 4;
# error_log /tmp/kvmd-nginx.error.log;
error_log stderr;
include /usr/share/kvmd/extras/*/nginx.ctx-main.conf;
events {
worker_connections 1024;
use epoll;
multi_accept on;
}
http {
types_hash_max_size 4096;
server_names_hash_bucket_size 128;
access_log off;
include /etc/kvmd/nginx/mime-types.conf;
default_type application/octet-stream;
charset utf-8;
sendfile on;
tcp_nodelay on;
tcp_nopush on;
keepalive_timeout 10;
client_max_body_size 4k;
client_body_temp_path /tmp/kvmd-nginx/client_body_temp;
fastcgi_temp_path /tmp/kvmd-nginx/fastcgi_temp;
proxy_temp_path /tmp/kvmd-nginx/proxy_temp;
scgi_temp_path /tmp/kvmd-nginx/scgi_temp;
uwsgi_temp_path /tmp/kvmd-nginx/uwsgi_temp;
include /etc/kvmd/nginx/kvmd.ctx-http.conf;
include /usr/share/kvmd/extras/*/nginx.ctx-http.conf;
% if https_enabled:
server {
listen ${http_ipv4}:${http_port};
% if ipv6_enabled:
listen [${http_ipv6}]:${http_port};
% endif
include /etc/kvmd/nginx/certbot.ctx-server.conf;
location / {
% if https_port == 443:
return 301 https://$host$request_uri;
% else:
return 301 https://$host:${https_port}$request_uri;
% endif
}
}
server {
listen ${https_ipv4}:${https_port} ssl;
% if ipv6_enabled:
listen [${https_ipv6}]:${https_port} ssl;
% endif
include /etc/kvmd/nginx/ssl.conf;
include /etc/kvmd/nginx/kvmd.ctx-server.conf;
include /usr/share/kvmd/extras/*/nginx.ctx-server.conf;
}
% else:
server {
listen ${http_ipv4}:${http_port};
% if ipv6_enabled:
listen [${http_ipv6}]:${http_port};
% endif
include /etc/kvmd/nginx/certbot.ctx-server.conf;
include /etc/kvmd/nginx/kvmd.ctx-server.conf;
include /usr/share/kvmd/extras/*/nginx.ctx-server.conf;
}
% endif
}

5
configs/nginx/ssl.conf Normal file
View File

@ -0,0 +1,5 @@
ssl_protocols TLSv1.3 TLSv1.2 TLSv1.1 TLSv1;
ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
ssl_certificate /etc/kvmd/nginx/ssl/server.crt;
ssl_certificate_key /etc/kvmd/nginx/ssl/server.key;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;

View File

@ -0,0 +1,7 @@
# See /boot/overlays/README for all available options
initramfs initramfs-linux.img followkernel
hdmi_force_hotplug=1
gpu_mem=128
enable_uart=1
dtoverlay=tc358743,i2c_pins_28_29=1

View File

@ -0,0 +1,8 @@
# See /boot/overlays/README for all available options
initramfs initramfs-linux.img followkernel
hdmi_force_hotplug=1
gpu_mem=128
enable_uart=1
dtoverlay=tc358743
dtoverlay=disable-bt

View File

@ -0,0 +1,8 @@
# See /boot/overlays/README for all available options
initramfs initramfs-linux.img followkernel
hdmi_force_hotplug=1
gpu_mem=96
enable_uart=1
dtoverlay=tc358743,i2c_pins_28_29=1
dtoverlay=disable-bt

View File

@ -0,0 +1,6 @@
# See /boot/overlays/README for all available options
initramfs initramfs-linux.img followkernel
hdmi_force_hotplug=1
gpu_mem=16
enable_uart=1

View File

@ -0,0 +1,7 @@
# See /boot/overlays/README for all available options
initramfs initramfs-linux.img followkernel
hdmi_force_hotplug=1
gpu_mem=16
enable_uart=1
dtoverlay=disable-bt

View File

@ -0,0 +1,7 @@
# See /boot/overlays/README for all available options
initramfs initramfs-linux.img followkernel
hdmi_force_hotplug=1
gpu_mem=16
enable_uart=1
dtoverlay=disable-bt

View File

@ -0,0 +1,8 @@
# See /boot/overlays/README for all available options
initramfs initramfs-linux.img followkernel
hdmi_force_hotplug=1
gpu_mem=128
enable_uart=1
dtoverlay=tc358743,i2c_pins_28_29=1
dtoverlay=spi0-1cs

View File

@ -0,0 +1,9 @@
# See /boot/overlays/README for all available options
initramfs initramfs-linux.img followkernel
hdmi_force_hotplug=1
gpu_mem=128
enable_uart=1
dtoverlay=tc358743
dtoverlay=disable-bt
dtoverlay=spi0-1cs

View File

@ -0,0 +1,9 @@
# See /boot/overlays/README for all available options
initramfs initramfs-linux.img followkernel
hdmi_force_hotplug=1
gpu_mem=96
enable_uart=1
dtoverlay=tc358743,i2c_pins_28_29=1
dtoverlay=disable-bt
dtoverlay=spi0-1cs

View File

@ -0,0 +1,7 @@
# See /boot/overlays/README for all available options
initramfs initramfs-linux.img followkernel
hdmi_force_hotplug=1
gpu_mem=16
enable_uart=1
dtoverlay=spi0-1cs

View File

@ -0,0 +1,8 @@
# See /boot/overlays/README for all available options
initramfs initramfs-linux.img followkernel
hdmi_force_hotplug=1
gpu_mem=16
enable_uart=1
dtoverlay=disable-bt
dtoverlay=spi0-1cs

View File

@ -0,0 +1,8 @@
# See /boot/overlays/README for all available options
initramfs initramfs-linux.img followkernel
hdmi_force_hotplug=1
gpu_mem=16
enable_uart=1
dtoverlay=disable-bt
dtoverlay=spi0-1cs

View File

@ -0,0 +1,9 @@
# See /boot/overlays/README for all available options
initramfs initramfs-linux.img followkernel
hdmi_force_hotplug=1
gpu_mem=128
enable_uart=1
dtoverlay=tc358743
dtoverlay=disable-bt
dtoverlay=dwc2,dr_mode=peripheral

View File

@ -0,0 +1,9 @@
# See /boot/overlays/README for all available options
initramfs initramfs-linux.img followkernel
hdmi_force_hotplug=1
gpu_mem=128
enable_uart=1
dtoverlay=tc358743
dtoverlay=disable-bt
dtoverlay=dwc2,dr_mode=peripheral

View File

@ -0,0 +1,9 @@
# See /boot/overlays/README for all available options
initramfs initramfs-linux.img followkernel
hdmi_force_hotplug=1
gpu_mem=96
enable_uart=1
dtoverlay=tc358743,i2c_pins_28_29=1
dtoverlay=disable-bt
dtoverlay=dwc2,dr_mode=peripheral

View File

@ -0,0 +1,8 @@
# See /boot/overlays/README for all available options
initramfs initramfs-linux.img followkernel
hdmi_force_hotplug=1
gpu_mem=16
enable_uart=1
dtoverlay=disable-bt
dtoverlay=dwc2,dr_mode=peripheral

View File

@ -0,0 +1,22 @@
# See /boot/overlays/README for all available options
initramfs initramfs-linux.img followkernel
hdmi_force_hotplug=1
gpu_mem=128
enable_uart=1
dtoverlay=tc358743
dtoverlay=disable-bt
dtoverlay=dwc2,dr_mode=peripheral
dtparam=act_led_gpio=13
# HDMI audio capture
dtoverlay=tc358743-audio
# SPI (AUM)
dtoverlay=spi0-1cs
# I2C (display)
dtparam=i2c_arm=on
# Clock
dtoverlay=i2c-rtc,pcf8563,wakeup-source

View File

@ -0,0 +1,21 @@
# PiKVM
# See /boot/overlays/README for all available options
initramfs initramfs-linux.img followkernel
hdmi_force_hotplug=1
gpu_mem=128
enable_uart=1
dtoverlay=disable-bt
# USB emulation
dtoverlay=dwc2,dr_mode=peripheral
# Video and audio
dtoverlay=tc358743,4lane=1
dtoverlay=tc358743-audio
# I2C (display)
dtparam=i2c_arm=on
# Clock
dtoverlay=i2c-rtc,pcf8563,wakeup-source

View File

@ -0,0 +1,29 @@
# PiKVM
# See /boot/overlays/README for all available options
initramfs initramfs-linux.img followkernel
hdmi_force_hotplug=1
gpu_mem=192
enable_uart=1
dtoverlay=disable-bt
# USB emulation
dtoverlay=dwc2,dr_mode=peripheral
# Video and audio
dtoverlay=tc358743,4lane=1
dtoverlay=tc358743-audio
# Passthrough
dtoverlay=vc4-kms-v3d
disable_overscan=1
# I2C (display)
dtparam=i2c_arm=on
# Clock
dtoverlay=i2c-rtc,pcf8563,wakeup-source
# Passthrough
dtoverlay=vc4-kms-v3d
disable_overscan=1

View File

@ -0,0 +1,5 @@
s/console=ttyAMA0\,115200//g
s/kgdboc=ttyAMA0\,115200//g
s/console=serial0\,115200//g
s/kgdboc=serial0\,115200//g
s/rootwait/rootwait cma=128M/g

View File

@ -0,0 +1,5 @@
s/console=ttyAMA0\,115200//g
s/kgdboc=ttyAMA0\,115200//g
s/console=serial0\,115200//g
s/kgdboc=serial0\,115200//g
s/rootwait/rootwait cma=128M/g

View File

@ -0,0 +1,5 @@
s/console=ttyAMA0\,115200//g
s/kgdboc=ttyAMA0\,115200//g
s/console=serial0\,115200//g
s/kgdboc=serial0\,115200//g
s/rootwait/rootwait cma=96M/g

Some files were not shown because too many files have changed in this diff Show More