初步整合:

1. python 内置服务器
2. 将配置文件统一目录
This commit is contained in:
mofeng-git 2025-01-01 14:26:22 +00:00
parent 5db37797ea
commit d5a0b1a8b3
411 changed files with 7387 additions and 7263 deletions

View File

@ -1,19 +0,0 @@
[bumpversion]
commit = True
tag = True
current_version = 4.20
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}

View File

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

3
.gitignore vendored
View File

@ -21,3 +21,6 @@
/venv/
.vscode/settings.j/son
kvmd_config/
__pycache__/
kvmd_data/run/kvmd/*
.vscode/

View File

@ -294,6 +294,13 @@ run-build-dev:
-f build/Dockerfile . \
--push
run-build-new:
$(DOCKER) buildx build -t registry.cn-hangzhou.aliyuncs.com/silentwind/kvmd:dev \
--platform linux/amd64 \
--build-arg CACHEBUST=$(date +%s) \
-f build/Dockerfile . \
--load
run-build-release:
$(DOCKER) buildx build -t registry.cn-hangzhou.aliyuncs.com/silentwind/kvmd \
--progress plain \
@ -342,4 +349,18 @@ run-nogpio: testenv
&& 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) \
"
"
nuitka:
python -m nuitka kvmd-test.py --standalone --onefile --no-deployment-flag=self-execution --include-module=\
kvmd.plugins.auth.htpasswd,kvmd.plugins.auth.http,kvmd.plugins.auth.ldap,\
kvmd.plugins.auth.pam,kvmd.plugins.auth.radius,\
kvmd.plugins.hid.ch9329,kvmd.plugins.hid.bt,kvmd.plugins.hid.otg,\
kvmd.plugins.atx.disabled,kvmd.plugins.atx.gpio,\
kvmd.plugins.msd.disabled,kvmd.plugins.msd.otg,\
kvmd.plugins.ugpio.gpio,kvmd.plugins.ugpio.wol,kvmd.plugins.ugpio.cmd,\
kvmd.plugins.ugpio.ipmi,kvmd.plugins.ugpio.anelpwr,kvmd.plugins.ugpio.cmdret,\
kvmd.plugins.ugpio.extron,kvmd.plugins.ugpio.ezcoo,kvmd.plugins.ugpio.hidrelay,\
kvmd.plugins.ugpio.hue,kvmd.plugins.ugpio.locator,kvmd.plugins.ugpio.noyito,\
kvmd.plugins.ugpio.otgconf,kvmd.plugins.ugpio.pway,kvmd.plugins.ugpio.pwm,\
kvmd.plugins.ugpio.servo,kvmd.plugins.ugpio.tesmart,kvmd.plugins.ugpio.xh_hk4401,\
passlib.handlers.sha1_crypt,pygments.formatters.terminal

View File

@ -30,23 +30,9 @@ RUN sed -i 's/deb.debian.org/mirrors.tuna.tsinghua.edu.cn/' /etc/apt/sources.lis
RUN 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 \
&& 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
&& ln -sf /usr/share/tesseract-ocr/*/tessdata /usr/share/tessdata
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/
COPY . /One-KVM
ENTRYPOINT ["/kvmd/init.sh"]
ENTRYPOINT ["bash"]

View File

@ -1,7 +0,0 @@
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

@ -1,7 +0,0 @@
# 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

@ -1,8 +0,0 @@
# 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

@ -1,8 +0,0 @@
# 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

@ -1,6 +0,0 @@
# 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

@ -1,7 +0,0 @@
# 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

@ -1,7 +0,0 @@
# 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

@ -1,8 +0,0 @@
# 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

@ -1,9 +0,0 @@
# 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

@ -1,9 +0,0 @@
# 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

@ -1,7 +0,0 @@
# 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

@ -1,8 +0,0 @@
# 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

@ -1,8 +0,0 @@
# 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

@ -1,9 +0,0 @@
# 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

@ -1,9 +0,0 @@
# 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

@ -1,9 +0,0 @@
# 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

@ -1,8 +0,0 @@
# 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

@ -1,22 +0,0 @@
# 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

@ -1,21 +0,0 @@
# 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

@ -1,29 +0,0 @@
# 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
# 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

@ -1,5 +0,0 @@
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

@ -1,5 +0,0 @@
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

@ -1,5 +0,0 @@
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

View File

@ -1,4 +0,0 @@
s/console=ttyAMA0\,115200//g
s/kgdboc=ttyAMA0\,115200//g
s/console=serial0\,115200//g
s/kgdboc=serial0\,115200//g

View File

@ -1,4 +0,0 @@
s/console=ttyAMA0\,115200//g
s/kgdboc=ttyAMA0\,115200//g
s/console=serial0\,115200//g
s/kgdboc=serial0\,115200//g

View File

@ -1,4 +0,0 @@
s/console=ttyAMA0\,115200//g
s/kgdboc=ttyAMA0\,115200//g
s/console=serial0\,115200//g
s/kgdboc=serial0\,115200//g

View File

@ -1 +0,0 @@
s/rootwait/rootwait cma=128M/g

View File

@ -1 +0,0 @@
s/rootwait/rootwait cma=128M/g

View File

@ -1 +0,0 @@
s/rootwait/rootwait cma=96M/g

View File

@ -1 +0,0 @@
s/rootwait/rootwait cma=128M/g

View File

@ -1 +0,0 @@
s/rootwait/rootwait cma=128M/g

View File

@ -1 +0,0 @@
s/rootwait/rootwait cma=96M/g

View File

@ -1 +0,0 @@
s/rootwait/rootwait cma=128M/g

View File

@ -1 +0,0 @@
s/rootwait/rootwait cma=128M/g

View File

@ -1 +0,0 @@
s/rootwait/rootwait cma=128M/g

View File

@ -1,6 +0,0 @@
g kvmd-webterm - -
u kvmd-webterm - "Pi-KVM - Web terminal" /home/kvmd-webterm
m kvmd-webterm kvmd
m kvmd-nginx kvmd-webterm

View File

@ -1 +0,0 @@
tc358743

View File

@ -1 +0,0 @@
tc358743

View File

@ -1,3 +0,0 @@
dwc2
libcomposite
tc358743

View File

@ -1,2 +0,0 @@
dwc2
libcomposite

View File

@ -1,4 +0,0 @@
dwc2
libcomposite
tc358743
i2c-dev

View File

@ -1,4 +0,0 @@
dwc2
libcomposite
tc358743
i2c-dev

View File

@ -1,4 +0,0 @@
dwc2
libcomposite
tc358743
i2c-dev

View File

@ -1,29 +0,0 @@
[Unit]
Description=PiKVM - Boot configuration
After=systemd-modules-load.service kvmd-oled.service
Before=\
kvmd-webterm.service \
kvmd-certbot.service \
kvmd-ipmi.service \
kvmd-janus-static.service \
kvmd-janus.service \
kvmd-nginx.service \
kvmd-otg.service \
kvmd-otgnet.service \
kvmd-pst.service \
kvmd-tc358743.service \
kvmd-vnc.service \
kvmd-watchdog.service \
kvmd.service \
pikvm-bootconfig.service \
sshd.service \
network-pre.target
[Service]
Type=oneshot
ExecStart=/usr/bin/kvmd-bootconfig --do-the-thing
ExecStop=/bin/true
RemainAfterExit=true
[Install]
WantedBy=multi-user.target

View File

@ -1,9 +0,0 @@
[Unit]
Description=PiKVM - Certbot-Renew for KVMD-Nginx
[Service]
Type=oneshot
EnvironmentFile=-/etc/conf.d/kvmd-certbot
ExecStart=/usr/bin/kvmd-certbot renew --quiet
# Should we?..
# PrivateTmp=true

View File

@ -1,10 +0,0 @@
[Unit]
Description=Run KVMD-Certbot twice daily
[Timer]
OnCalendar=*-*-* 00/12:00:00
RandomizedDelaySec=12h
Persistent=true
[Install]
WantedBy=timers.target

View File

@ -1,17 +0,0 @@
[Unit]
Description=One-KVM - IPMI to KVMD proxy
After=kvmd.service
[Service]
User=kvmd-ipmi
Group=kvmd-ipmi
Type=simple
Restart=always
RestartSec=3
AmbientCapabilities=CAP_NET_BIND_SERVICE
ExecStart=/usr/bin/kvmd-ipmi --run
TimeoutStopSec=3
[Install]
WantedBy=multi-user.target

View File

@ -1,22 +0,0 @@
[Unit]
Description=PiKVM - Janus WebRTC Gateway (Static Config)
After=network.target network-online.target nss-lookup.target kvmd.service
[Service]
User=kvmd-janus
Group=kvmd-janus
Type=simple
Restart=always
RestartSec=3
AmbientCapabilities=CAP_NET_RAW
LimitNOFILE=65536
# Crutch for UNIX socket perms
UMask=0117
ExecStart=/usr/bin/janus --disable-colors --plugins-folder=/usr/lib/ustreamer/janus --configs-folder=/etc/kvmd/janus
TimeoutStopSec=10
KillMode=mixed
[Install]
WantedBy=multi-user.target

View File

@ -1,22 +0,0 @@
[Unit]
Description=One-KVM - Janus WebRTC Gateway
After=network.target network-online.target nss-lookup.target kvmd.service
[Service]
User=kvmd-janus
Group=kvmd-janus
Type=simple
Restart=always
RestartSec=3
AmbientCapabilities=CAP_NET_RAW
LimitNOFILE=65536
# Crutch for UNIX socket perms
UMask=0117
ExecStart=/usr/bin/kvmd-janus --run
TimeoutStopSec=10
KillMode=mixed
[Install]
WantedBy=multi-user.target

View File

@ -1,21 +0,0 @@
[Unit]
Description=One-KVM - HTTP entrypoint
After=network.target network-online.target nss-lookup.target kvmd.service
[Service]
Type=forking
PIDFile=/run/kvmd/nginx.pid
PrivateDevices=yes
SyslogLevel=err
Restart=always
RestartSec=3
ExecStartPre=/usr/bin/kvmd-nginx-mkconf /etc/kvmd/nginx/nginx.conf.mako /run/kvmd/nginx.conf
ExecStart=/usr/sbin/nginx -p /etc/kvmd/nginx -c /run/kvmd/nginx.conf -g 'pid /run/kvmd/nginx.pid; user kvmd-nginx; error_log stderr;'
ExecReload=/usr/sbin/nginx -s reload -p /etc/kvmd/nginx -c /run/kvmd/nginx.conf -g 'pid /run/kvmd/nginx.pid; user kvmd-nginx; error_log stderr;'
KillSignal=SIGQUIT
KillMode=mixed
TimeoutStopSec=3
[Install]
WantedBy=multi-user.target

View File

@ -1,12 +0,0 @@
[Unit]
Description=PiKVM - Display reboot message on the OLED
DefaultDependencies=no
[Service]
Type=oneshot
ExecStart=/bin/bash -c "kill -USR1 `systemctl show -P MainPID kvmd-oled`"
ExecStop=/bin/true
RemainAfterExit=yes
[Install]
WantedBy=reboot.target

View File

@ -1,14 +0,0 @@
[Unit]
Description=PiKVM - Display shutdown message on the OLED
Conflicts=reboot.target
Before=shutdown.target poweroff.target halt.target
DefaultDependencies=no
[Service]
Type=oneshot
ExecStart=/bin/bash -c "kill -USR2 `systemctl show -P MainPID kvmd-oled`"
ExecStop=/bin/true
RemainAfterExit=yes
[Install]
WantedBy=shutdown.target

View File

@ -1,15 +0,0 @@
[Unit]
Description=PiKVM - A small OLED daemon
After=systemd-modules-load.service
ConditionPathExists=/dev/i2c-1
[Service]
Type=simple
Restart=always
RestartSec=3
ExecStartPre=/usr/bin/kvmd-oled --interval=3 --clear-on-exit --image=@hello.ppm
ExecStart=/usr/bin/kvmd-oled
TimeoutStopSec=3
[Install]
WantedBy=multi-user.target

View File

@ -1,13 +0,0 @@
[Unit]
Description=One-KVM- OTG setup
After=systemd-modules-load.service
Before=kvmd.service
[Service]
Type=oneshot
ExecStart=/usr/bin/kvmd-otg start
ExecStop=/usr/bin/kvmd-otg stop
RemainAfterExit=true
[Install]
WantedBy=multi-user.target

View File

@ -1,14 +0,0 @@
[Unit]
Description=PiKVM - OTG network service
After=kvmd-otg.service
Wants=network-pre.target
After=network-pre.target
[Service]
Type=oneshot
ExecStart=/usr/bin/kvmd-otgnet start
ExecStop=/usr/bin/kvmd-otgnet stop
RemainAfterExit=true
[Install]
WantedBy=multi-user.target

View File

@ -1,16 +0,0 @@
[Unit]
Description=PiKVM - The KVMD persistent storage manager
Before=kvmd.service
[Service]
User=kvmd-pst
Group=kvmd-pst
Type=simple
Restart=always
RestartSec=3
ExecStart=/usr/bin/kvmd-pst --run
TimeoutStopSec=5
[Install]
WantedBy=multi-user.target

View File

@ -1,14 +0,0 @@
[Unit]
Description=PiKVM - EDID loader for TC358743
Wants=dev-kvmd\x2dvideo.device
After=dev-kvmd\x2dvideo.device systemd-modules-load.service
Before=kvmd.service
[Service]
Type=oneshot
ExecStart=/usr/bin/v4l2-ctl --device=/dev/kvmd-video --set-edid=file=/etc/kvmd/tc358743-edid.hex --info-edid
ExecStop=/usr/bin/v4l2-ctl --device=/dev/kvmd-video --clear-edid
RemainAfterExit=true
[Install]
WantedBy=multi-user.target

View File

@ -1,16 +0,0 @@
[Unit]
Description=One-KVM - VNC to KVMD/Streamer proxy
After=kvmd.service
[Service]
User=kvmd-vnc
Group=kvmd-vnc
Type=simple
Restart=always
RestartSec=3
ExecStart=/usr/bin/kvmd-vnc --run
TimeoutStopSec=3
[Install]
WantedBy=multi-user.target

View File

@ -1,14 +0,0 @@
[Unit]
Description=PiKVM - RTC-based hardware watchdog
After=systemd-modules-load.service
[Service]
Type=simple
Restart=always
RestartSec=3
ExecStart=/usr/bin/kvmd-watchdog run
TimeoutStopSec=3
[Install]
WantedBy=multi-user.target

View File

@ -1,24 +0,0 @@
[Unit]
Description=One-KVM - Web terminal (ttyd)
After=network.target
[Service]
User=kvmd-webterm
Group=kvmd-webterm
WorkingDirectory=/home/kvmd-webterm
Restart=always
RestartSec=1
# Crutch for UNIX socket perms
UMask=0117
EnvironmentFile=-/etc/conf.d/kvmd-webterm
ExecStart=/usr/bin/ttyd \
-W \
--interface=/run/kvmd/ttyd.sock \
--port=0 \
$KVMD_WEBTERM_ARGS \
/bin/bash -c 'echo -ne "\033]0;One-KVM Terminal: `hostname -f` (ttyd)\007"; bash /etc/kvmd/armbain-motd; export TERM=linux; umask 0022; bash'
[Install]
WantedBy=multi-user.target

View File

@ -1,18 +0,0 @@
[Unit]
Description=One-KVM - The main daemon
After=network.target network-online.target nss-lookup.target
[Service]
User=kvmd
Group=kvmd
Type=simple
Restart=always
RestartSec=3
AmbientCapabilities=CAP_NET_RAW
ExecStart=/usr/bin/kvmd --run
TimeoutStopSec=10
KillMode=mixed
[Install]
WantedBy=multi-user.target

View File

@ -1 +0,0 @@
kvmd-pst ALL=(ALL) NOPASSWD: /usr/bin/kvmd-helper-pst-remount

View File

@ -1 +0,0 @@
kvmd-pst ALL=(ALL) NOPASSWD: /usr/bin/kvmd-helper-pst-remount

View File

@ -1 +0,0 @@
kvmd-pst ALL=(ALL) NOPASSWD: /usr/bin/kvmd-helper-pst-remount

View File

@ -1 +0,0 @@
kvmd-pst ALL=(ALL) NOPASSWD: /usr/bin/kvmd-helper-pst-remount

View File

@ -1,2 +0,0 @@
kvmd ALL=(ALL) NOPASSWD: /usr/bin/kvmd-helper-otgmsd-remount
kvmd-pst ALL=(ALL) NOPASSWD: /usr/bin/kvmd-helper-pst-remount

View File

@ -1,2 +0,0 @@
kvmd ALL=(ALL) NOPASSWD: /usr/bin/kvmd-helper-otgmsd-remount
kvmd-pst ALL=(ALL) NOPASSWD: /usr/bin/kvmd-helper-pst-remount

View File

@ -1,2 +0,0 @@
kvmd ALL=(ALL) NOPASSWD: /usr/bin/kvmd-helper-otgmsd-remount
kvmd-pst ALL=(ALL) NOPASSWD: /usr/bin/kvmd-helper-pst-remount

View File

@ -1,2 +0,0 @@
kvmd ALL=(ALL) NOPASSWD: /usr/bin/kvmd-helper-otgmsd-remount
kvmd-pst ALL=(ALL) NOPASSWD: /usr/bin/kvmd-helper-pst-remount

View File

@ -1,2 +0,0 @@
kvmd ALL=(ALL) NOPASSWD: /usr/bin/kvmd-helper-otgmsd-remount
kvmd-pst ALL=(ALL) NOPASSWD: /usr/bin/kvmd-helper-pst-remount

View File

@ -1,10 +0,0 @@
# Overly-aggressive data writeback policies to minimize the chance of data corruption
# Start dirty data writeback when it exceeds 256 KiB or 1s has passed
vm.dirty_background_bytes = 262144
vm.dirty_writeback_centisecs = 100
# https://groups.google.com/g/meetecho-janus/c/xoWIQfaoJm8
net.core.rmem_default = 500000
net.core.wmem_default = 500000
net.core.rmem_max = 1000000
net.core.wmem_max = 1000000

View File

@ -1,38 +0,0 @@
g kvmd - -
g kvmd-pst - -
g kvmd-ipmi - -
g kvmd-vnc - -
g kvmd-nginx - -
g kvmd-janus - -
g kvmd-certbot - -
u kvmd - "PiKVM - The main daemon" -
u kvmd-pst - "PiKVM - Persistent storage" -
u kvmd-ipmi - "PiKVM - IPMI to KVMD proxy" -
u kvmd-vnc - "PiKVM - VNC to KVMD/Streamer proxy" -
u kvmd-nginx - "PiKVM - HTTP entrypoint" -
u kvmd-janus - "PiKVM - Janus WebRTC Gateway" -
u kvmd-certbot - "PiKVM - Certbot-Renew for KVMD-Nginx"
m kvmd video
m kvmd gpio
m kvmd uucp
m kvmd spi
m kvmd systemd-journal
m kvmd kvmd-pst
m kvmd-pst kvmd
m kvmd-ipmi kvmd
m kvmd-vnc kvmd
m kvmd-vnc kvmd-certbot
m kvmd-janus kvmd
m kvmd-janus audio
m kvmd-nginx kvmd
m kvmd-nginx kvmd-janus
m kvmd-nginx kvmd-certbot
m kvmd-certbot kvmd-pst

View File

@ -1,7 +0,0 @@
D /run/kvmd 0775 kvmd kvmd -
D /run/kvmd-certbot 0755 root root -
D /run/kvmd-certbot/webroot 0755 kvmd-certbot kvmd-certbot -
D /tmp/kvmd 0775 kvmd kvmd -
D /tmp/kvmd-nginx 0700 kvmd-nginx root -
D /tmp/kvmd-certbot 0755 kvmd-certbot kvmd-certbot -

View File

@ -1,3 +0,0 @@
# Here are described some bindings for PiKVM devices.
# Do not edit this file.
KERNEL=="ttyACM[0-9]*", SUBSYSTEM=="tty", SUBSYSTEMS=="usb", ATTRS{idVendor}=="1209", ATTRS{idProduct}=="eda3", SYMLINK+="kvmd-hid-bridge"

View File

@ -1,4 +0,0 @@
# https://unix.stackexchange.com/questions/66901/how-to-bind-usb-device-under-a-static-name
# https://wiki.archlinux.org/index.php/Udev#Setting_static_device_names
KERNEL=="video[0-9]*", SUBSYSTEM=="video4linux", KERNELS=="3f801000.csi|3f801000.csi1", ATTR{name}=="unicam-image", GROUP="kvmd", SYMLINK+="kvmd-video", TAG+="systemd"
KERNEL=="ttyAMA0", SYMLINK+="kvmd-hid"

View File

@ -1,4 +0,0 @@
# https://unix.stackexchange.com/questions/66901/how-to-bind-usb-device-under-a-static-name
# https://wiki.archlinux.org/index.php/Udev#Setting_static_device_names
KERNEL=="video[0-9]*", SUBSYSTEM=="video4linux", KERNELS=="3f801000.csi|3f801000.csi1", ATTR{name}=="unicam-image", GROUP="kvmd", SYMLINK+="kvmd-video", TAG+="systemd"
KERNEL=="ttyAMA0", SYMLINK+="kvmd-hid"

View File

@ -1,4 +0,0 @@
# https://unix.stackexchange.com/questions/66901/how-to-bind-usb-device-under-a-static-name
# https://wiki.archlinux.org/index.php/Udev#Setting_static_device_names
KERNEL=="video[0-9]*", SUBSYSTEM=="video4linux", KERNELS=="3f801000.csi|3f801000.csi1", ATTR{name}=="unicam-image", GROUP="kvmd", SYMLINK+="kvmd-video", TAG+="systemd"
KERNEL=="ttyAMA0", SYMLINK+="kvmd-hid"

View File

@ -1,4 +0,0 @@
# https://unix.stackexchange.com/questions/66901/how-to-bind-usb-device-under-a-static-name
# https://wiki.archlinux.org/index.php/Udev#Setting_static_device_names
KERNEL=="video[0-9]*", SUBSYSTEM=="video4linux", PROGRAM="/usr/bin/kvmd-udev-hdmiusb-check rpi2 %b", ATTR{index}=="0", GROUP="kvmd", SYMLINK+="kvmd-video"
KERNEL=="ttyAMA0", SYMLINK+="kvmd-hid"

View File

@ -1,4 +0,0 @@
# https://unix.stackexchange.com/questions/66901/how-to-bind-usb-device-under-a-static-name
# https://wiki.archlinux.org/index.php/Udev#Setting_static_device_names
KERNEL=="video[0-9]*", SUBSYSTEM=="video4linux", PROGRAM="/usr/bin/kvmd-udev-hdmiusb-check rpi3 %b", ATTR{index}=="0", GROUP="kvmd", SYMLINK+="kvmd-video"
KERNEL=="ttyAMA0", SYMLINK+="kvmd-hid"

View File

@ -1,4 +0,0 @@
# https://unix.stackexchange.com/questions/66901/how-to-bind-usb-device-under-a-static-name
# https://wiki.archlinux.org/index.php/Udev#Setting_static_device_names
KERNEL=="video0", SUBSYSTEM=="video4linux", GROUP="kvmd", SYMLINK+="kvmd-video"
KERNEL=="ttyAMA0", SYMLINK+="kvmd-hid"

View File

@ -1,3 +0,0 @@
# https://unix.stackexchange.com/questions/66901/how-to-bind-usb-device-under-a-static-name
# https://wiki.archlinux.org/index.php/Udev#Setting_static_device_names
KERNEL=="video[0-9]*", SUBSYSTEM=="video4linux", KERNELS=="3f801000.csi|3f801000.csi1", ATTR{name}=="unicam-image", GROUP="kvmd", SYMLINK+="kvmd-video", TAG+="systemd"

View File

@ -1,3 +0,0 @@
# https://unix.stackexchange.com/questions/66901/how-to-bind-usb-device-under-a-static-name
# https://wiki.archlinux.org/index.php/Udev#Setting_static_device_names
KERNEL=="video[0-9]*", SUBSYSTEM=="video4linux", KERNELS=="3f801000.csi|3f801000.csi1", ATTR{name}=="unicam-image", GROUP="kvmd", SYMLINK+="kvmd-video", TAG+="systemd"

View File

@ -1,3 +0,0 @@
# https://unix.stackexchange.com/questions/66901/how-to-bind-usb-device-under-a-static-name
# https://wiki.archlinux.org/index.php/Udev#Setting_static_device_names
KERNEL=="video[0-9]*", SUBSYSTEM=="video4linux", KERNELS=="3f801000.csi|3f801000.csi1", ATTR{name}=="unicam-image", GROUP="kvmd", SYMLINK+="kvmd-video", TAG+="systemd"

View File

@ -1,3 +0,0 @@
# https://unix.stackexchange.com/questions/66901/how-to-bind-usb-device-under-a-static-name
# https://wiki.archlinux.org/index.php/Udev#Setting_static_device_names
KERNEL=="video[0-9]*", SUBSYSTEM=="video4linux", PROGRAM="/usr/bin/kvmd-udev-hdmiusb-check rpi2 %b", ATTR{index}=="0", GROUP="kvmd", SYMLINK+="kvmd-video"

View File

@ -1,3 +0,0 @@
# https://unix.stackexchange.com/questions/66901/how-to-bind-usb-device-under-a-static-name
# https://wiki.archlinux.org/index.php/Udev#Setting_static_device_names
KERNEL=="video[0-9]*", SUBSYSTEM=="video4linux", PROGRAM="/usr/bin/kvmd-udev-hdmiusb-check rpi3 %b", ATTR{index}=="0", GROUP="kvmd", SYMLINK+="kvmd-video"

View File

@ -1,3 +0,0 @@
# https://unix.stackexchange.com/questions/66901/how-to-bind-usb-device-under-a-static-name
# https://wiki.archlinux.org/index.php/Udev#Setting_static_device_names
KERNEL=="video0", SUBSYSTEM=="video4linux", GROUP="kvmd", SYMLINK+="kvmd-video"

View File

@ -1,6 +0,0 @@
# https://unix.stackexchange.com/questions/66901/how-to-bind-usb-device-under-a-static-name
# https://wiki.archlinux.org/index.php/Udev#Setting_static_device_names
KERNEL=="video[0-9]*", SUBSYSTEM=="video4linux", KERNELS=="3f801000.csi|3f801000.csi1", ATTR{name}=="unicam-image", GROUP="kvmd", SYMLINK+="kvmd-video", TAG+="systemd"
KERNEL=="hidg0", GROUP="kvmd", SYMLINK+="kvmd-hid-keyboard"
KERNEL=="hidg1", GROUP="kvmd", SYMLINK+="kvmd-hid-mouse"
KERNEL=="hidg2", GROUP="kvmd", SYMLINK+="kvmd-hid-mouse-alt"

View File

@ -1,6 +0,0 @@
# https://unix.stackexchange.com/questions/66901/how-to-bind-usb-device-under-a-static-name
# https://wiki.archlinux.org/index.php/Udev#Setting_static_device_names
KERNEL=="video[0-9]*", SUBSYSTEM=="video4linux", KERNELS=="fe801000.csi|fe801000.csi1", ATTR{name}=="unicam-image", GROUP="kvmd", SYMLINK+="kvmd-video", TAG+="systemd"
KERNEL=="hidg0", GROUP="kvmd", SYMLINK+="kvmd-hid-keyboard"
KERNEL=="hidg1", GROUP="kvmd", SYMLINK+="kvmd-hid-mouse"
KERNEL=="hidg2", GROUP="kvmd", SYMLINK+="kvmd-hid-mouse-alt"

View File

@ -1,6 +0,0 @@
# https://unix.stackexchange.com/questions/66901/how-to-bind-usb-device-under-a-static-name
# https://wiki.archlinux.org/index.php/Udev#Setting_static_device_names
KERNEL=="video[0-9]*", SUBSYSTEM=="video4linux", KERNELS=="3f801000.csi|3f801000.csi1", ATTR{name}=="unicam-image", GROUP="kvmd", SYMLINK+="kvmd-video", TAG+="systemd"
KERNEL=="hidg0", GROUP="kvmd", SYMLINK+="kvmd-hid-keyboard"
KERNEL=="hidg1", GROUP="kvmd", SYMLINK+="kvmd-hid-mouse"
KERNEL=="hidg2", GROUP="kvmd", SYMLINK+="kvmd-hid-mouse-alt"

View File

@ -1,7 +0,0 @@
# https://unix.stackexchange.com/questions/66901/how-to-bind-usb-device-under-a-static-name
# https://wiki.archlinux.org/index.php/Udev#Setting_static_device_names
KERNEL=="video[0-9]*", SUBSYSTEM=="video4linux", SUBSYSTEMS=="usb", ATTR{index}=="0", GROUP="kvmd", SYMLINK+="kvmd-video"
KERNEL=="hidg0", GROUP="kvmd", SYMLINK+="kvmd-hid-keyboard"
KERNEL=="hidg1", GROUP="kvmd", SYMLINK+="kvmd-hid-mouse"
KERNEL=="hidg2", GROUP="kvmd", SYMLINK+="kvmd-hid-mouse-alt"
KERNEL=="ttyUSB0", GROUP="kvmd", SYMLINK+="kvmd-hid"

View File

@ -1,6 +0,0 @@
# https://unix.stackexchange.com/questions/66901/how-to-bind-usb-device-under-a-static-name
# https://wiki.archlinux.org/index.php/Udev#Setting_static_device_names
KERNEL=="video[0-9]*", SUBSYSTEM=="video4linux", PROGRAM="/usr/bin/kvmd-udev-hdmiusb-check rpi4 %b", ATTR{index}=="0", GROUP="kvmd", SYMLINK+="kvmd-video"
KERNEL=="hidg0", GROUP="kvmd", SYMLINK+="kvmd-hid-keyboard"
KERNEL=="hidg1", GROUP="kvmd", SYMLINK+="kvmd-hid-mouse"
KERNEL=="hidg2", GROUP="kvmd", SYMLINK+="kvmd-hid-mouse-alt"

View File

@ -1,6 +0,0 @@
# https://unix.stackexchange.com/questions/66901/how-to-bind-usb-device-under-a-static-name
# https://wiki.archlinux.org/index.php/Udev#Setting_static_device_names
KERNEL=="video[0-9]*", SUBSYSTEM=="video4linux", KERNELS=="fe801000.csi|fe801000.csi1", ATTR{name}=="unicam-image", GROUP="kvmd", SYMLINK+="kvmd-video", TAG+="systemd"
KERNEL=="hidg0", GROUP="kvmd", SYMLINK+="kvmd-hid-keyboard"
KERNEL=="hidg1", GROUP="kvmd", SYMLINK+="kvmd-hid-mouse"
KERNEL=="hidg2", GROUP="kvmd", SYMLINK+="kvmd-hid-mouse-alt"

View File

@ -1,6 +0,0 @@
# https://unix.stackexchange.com/questions/66901/how-to-bind-usb-device-under-a-static-name
# https://wiki.archlinux.org/index.php/Udev#Setting_static_device_names
KERNEL=="video[0-9]*", SUBSYSTEM=="video4linux", KERNELS=="fe801000.csi|fe801000.csi1", ATTR{name}=="unicam-image", GROUP="kvmd", SYMLINK+="kvmd-video", TAG+="systemd"
KERNEL=="hidg0", GROUP="kvmd", SYMLINK+="kvmd-hid-keyboard"
KERNEL=="hidg1", GROUP="kvmd", SYMLINK+="kvmd-hid-mouse"
KERNEL=="hidg2", GROUP="kvmd", SYMLINK+="kvmd-hid-mouse-alt"

View File

@ -1,7 +0,0 @@
# https://unix.stackexchange.com/questions/66901/how-to-bind-usb-device-under-a-static-name
# https://wiki.archlinux.org/index.php/Udev#Setting_static_device_names
KERNEL=="video[0-9]*", SUBSYSTEM=="video4linux", KERNELS=="fe801000.csi|fe801000.csi1", ATTR{name}=="unicam-image", GROUP="kvmd", SYMLINK+="kvmd-video", TAG+="systemd"
KERNEL=="hidg0", GROUP="kvmd", SYMLINK+="kvmd-hid-keyboard"
KERNEL=="hidg1", GROUP="kvmd", SYMLINK+="kvmd-hid-mouse"
KERNEL=="hidg2", GROUP="kvmd", SYMLINK+="kvmd-hid-mouse-alt"
SUBSYSTEM=="drm", ACTION=="change", ENV{DEVLINKS}=="/dev/dri/by-path/platform-gpu-card", RUN+="/usr/bin/kvmd-udev-restart-pass %k %E{CONNECTOR}"

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