From ac6618929e2075ddbe1f39018358bcc480807bcb Mon Sep 17 00:00:00 2001 From: Marvin Hinz Date: Wed, 8 Jul 2026 16:43:51 +0200 Subject: [PATCH 1/3] add support for proxmox backup server detection --- src/detection/os/os_linux.c | 16 ++++++++++++++++ src/logo/ascii/p.inc | 2 +- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/detection/os/os_linux.c b/src/detection/os/os_linux.c index 9e1fcef371..aa8a64526c 100644 --- a/src/detection/os/os_linux.c +++ b/src/detection/os/os_linux.c @@ -223,6 +223,22 @@ FF_A_UNUSED static bool detectDebianDerived(FFOSResult* result) { } ffStrbufSetF(&result->prettyName, "Proxmox VE %s", result->versionID.chars); return true; + } else if (access("/usr/sbin/proxmox-backup-manager", X_OK) == 0) { + ffStrbufSetStatic(&result->id, "pbs"); + ffStrbufSetStatic(&result->idLike, "debian"); + ffStrbufSetStatic(&result->name, "Proxmox Backup Server"); + ffStrbufClear(&result->versionID); + if (ffProcessAppendStdOut(&result->versionID, (char* const[]) { + "/usr/bin/dpkg-query", + "--showformat=${version}", + "--show", + "proxmox-backup-server", + NULL, + }) == NULL) { + ffStrbufTrimRightSpace(&result->versionID); + } + ffStrbufSetF(&result->prettyName, "Proxmox Backup Server %s", result->versionID.chars); + return true; } else if (ffPathExists("/etc/rpi-issue", FF_PATHTYPE_FILE)) { // Raspberry Pi OS ffStrbufSetStatic(&result->id, "raspbian"); diff --git a/src/logo/ascii/p.inc b/src/logo/ascii/p.inc index 38611147c7..93f05249fa 100644 --- a/src/logo/ascii/p.inc +++ b/src/logo/ascii/p.inc @@ -311,7 +311,7 @@ static const FFlogo P[] = { #ifdef FASTFETCH_DATATEXT_LOGO_PROXMOX // Proxmox { - .names = { "Proxmox", "pve" }, + .names = { "Proxmox", "pve", "pbs", "Proxmox Backup Server" }, .lines = FASTFETCH_DATATEXT_LOGO_PROXMOX, .colors = { FF_COLOR_FG_WHITE, From 8a471bd3957a9841d875319802c4246548a245a9 Mon Sep 17 00:00:00 2001 From: Carter Li Date: Wed, 8 Jul 2026 23:13:45 +0800 Subject: [PATCH 2/3] Update Proxmox identifiers and pretty names --- src/detection/os/os_linux.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/detection/os/os_linux.c b/src/detection/os/os_linux.c index aa8a64526c..0c5d26362c 100644 --- a/src/detection/os/os_linux.c +++ b/src/detection/os/os_linux.c @@ -208,7 +208,7 @@ FF_A_UNUSED static bool detectDebianDerived(FFOSResult* result) { ffStrbufSetStatic(&result->idLike, "debian"); return true; } else if (access("/usr/bin/pveversion", X_OK) == 0) { - ffStrbufSetStatic(&result->id, "pve"); + ffStrbufSetStatic(&result->id, "proxmox"); ffStrbufSetStatic(&result->idLike, "debian"); ffStrbufSetStatic(&result->name, "Proxmox VE"); ffStrbufClear(&result->versionID); @@ -220,11 +220,14 @@ FF_A_UNUSED static bool detectDebianDerived(FFOSResult* result) { NULL, }) == NULL) { // 8.2.2 ffStrbufTrimRightSpace(&result->versionID); + ffStrbufSetStatic(&result->prettyName, "Proxmox VE "); + ffStrbufAppend(&result->prettyName, &result->versionID); + } else { + ffStrbufSetStatic(&result->prettyName, "Proxmox VE"); } - ffStrbufSetF(&result->prettyName, "Proxmox VE %s", result->versionID.chars); return true; } else if (access("/usr/sbin/proxmox-backup-manager", X_OK) == 0) { - ffStrbufSetStatic(&result->id, "pbs"); + ffStrbufSetStatic(&result->id, "proxmox"); ffStrbufSetStatic(&result->idLike, "debian"); ffStrbufSetStatic(&result->name, "Proxmox Backup Server"); ffStrbufClear(&result->versionID); @@ -236,8 +239,11 @@ FF_A_UNUSED static bool detectDebianDerived(FFOSResult* result) { NULL, }) == NULL) { ffStrbufTrimRightSpace(&result->versionID); + ffStrbufSetStatic(&result->prettyName, "Proxmox Backup Server "); + ffStrbufAppend(&result->prettyName, &result->versionID); + } else { + ffStrbufSetStatic(&result->prettyName, "Proxmox Backup Server"); } - ffStrbufSetF(&result->prettyName, "Proxmox Backup Server %s", result->versionID.chars); return true; } else if (ffPathExists("/etc/rpi-issue", FF_PATHTYPE_FILE)) { // Raspberry Pi OS From f9b8d3011b68f57a183c1a2b33604a6a1505f5aa Mon Sep 17 00:00:00 2001 From: Carter Li Date: Wed, 8 Jul 2026 23:14:22 +0800 Subject: [PATCH 3/3] Simplify Proxmox logo names in p.inc --- src/logo/ascii/p.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/logo/ascii/p.inc b/src/logo/ascii/p.inc index 93f05249fa..2cdbff886c 100644 --- a/src/logo/ascii/p.inc +++ b/src/logo/ascii/p.inc @@ -311,7 +311,7 @@ static const FFlogo P[] = { #ifdef FASTFETCH_DATATEXT_LOGO_PROXMOX // Proxmox { - .names = { "Proxmox", "pve", "pbs", "Proxmox Backup Server" }, + .names = { "Proxmox" }, .lines = FASTFETCH_DATATEXT_LOGO_PROXMOX, .colors = { FF_COLOR_FG_WHITE,