Skip to content

Client Applications

Bubori Attila edited this page Aug 11, 2026 · 1 revision

Client Applications

BigLan has (or is planned to have) a client for three platforms. This page tracks what actually exists today, and what each client does and doesn't implement - see Client-Server Communication for the protocol itself.

Status overview

Platform Status Source on GitHub
Windows (.NET Framework 4.8, BigLanService) Feature-complete, in production use Not yet published
Linux (.NET 8, BigLanService) In progress, partial feature set In progress
macOS Does not exist -

Windows source is not yet on GitHub. The server repo's install-biglan.sh and documentation reference the client only as a downloadable .msi (storage/downloads/) - the C# source itself (Service1.cs etc.) still needs to be pushed to its own repository. Until then, this wiki's descriptions of Windows client behavior are the closest thing to source-level documentation available publicly.

Feature comparison

Based on the events each client actually sends (see Client-Server Communication for what each event does server-side):

Feature Windows Linux
Identification (hardware fingerprint) Yes Yes
Heartbeat Yes Yes
Boot / shutdown reporting Yes Yes (boot, shutdown)
Full hardware/OS inventory (basic/external) Yes Partial (basic only)
Idle/lock/logon/logoff tracking Yes No
USB storage device detection Yes No
AnyDesk / TeamViewer / VNC detection Yes No
Print job monitoring Yes No
API Token authentication Yes (DPAPI-protected, registry) No - not implemented (yet)
Key exchange / Console (remote command, port 8080) Yes No - not implemented
Auto-update channels (a/b) Yes Not yet

The Linux client currently sends exactly these events: identification, boot, basic, heartbeat, shutdown.

The biggest functional gap on Linux is the Console feature - there is no TCP listener on port 8080 and no "key exchange" event, so remote PowerShell/cmd-equivalent command execution (see Client-Server Communication) simply isn't available for Linux-monitored machines yet. This would need its own equivalent (e.g. running arbitrary shell commands) designed and implemented from scratch, matching the same AES key-exchange scheme.

Linux client - platform support

Published as a self-contained linux-x64 build (bundles its own .NET 8 runtime, so nothing needs to be pre-installed on the target machine):

Distro family Minimum version
Ubuntu 20.04+
Debian 11 (Bullseye)+
RHEL / Rocky / AlmaLinux 8+
Fedora 34+
openSUSE Leap / SLES 15.3+

Not supported without a separate build: Alpine Linux (musl libc, not glibc - would need a linux-musl-x64 publish) and non-x86-64 architectures (ARM servers, Raspberry Pi, etc. would need a linux-arm64 publish).

Runs as a systemd service; typically needs to run as root since hardware identification reads from /sys/class/dmi/id/*, which is usually root-only readable.

macOS

Not started. No design decisions have been made yet about whether it would follow the Windows model (Console/port 8080 remote execution) or the current, lighter-weight Linux model.

Clone this wiki locally