-
Notifications
You must be signed in to change notification settings - Fork 0
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.
| 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.
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.
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.
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.