Published April 14, 2026 on matbanik.infoNo Docker. No Pro license. Just two binaries and NSSM.
What You're Building
Two binaries — hbbs (ID/Rendezvous) and hbbr (Relay) — managed by NSSM as auto-start Windows services. Clients on your LAN connect through your server instead of RustDesk's public infrastructure.
Your server generates an Ed25519 keypair on first run. Every client needs the public key to trust your server. Lose the private key, regenerate everything.
---
Prerequisites
| Requirement | Notes |
|-------------|-------|
| Windows 10/11 or Server 2019+ | Tested on Windows 11 24H2 |
| Static LAN IP on the server | DHCP reservation works too |
| Admin access | Service installation requires elevation |
| RustDesk client installed | On both server and remote machines |
---
Step 1: Download Binaries
Create a dedicated directory. This guide uses C:\RustDeskServer\ — pick any path, but don't move it after service installation.
Why the dkxce fork? The original NSSM hasn't been updated since 2014. The official RustDesk documentation links to this maintained fork. Version 2.25 fixes critical service management issues on modern Windows.
---
Step 2: Generate Keys
Run
hbbs once manually to generate the keypair. Open an elevated PowerShell:
`powershell
cd C:\RustDeskServer
Start hbbr first (hbbs expects it)
Start-Process .\hbbr.exe -WindowStyle Hidden
Start-Sleep -Seconds 3
Start hbbs — replace YOUR_SERVER_IP with your static LAN IP
update_pk entries for each client that connects. If a client's ID shows as "does not exist" when you try to connect, that client hasn't registered with your server yet.
Both sides of every connection must use the same server. This is the #1 support issue.
AppNoConsole 1. This is a known NSSM issue on Windows 10/11 where console allocation fails in the service context. Without this flag, the service enters a start/stop loop with no useful error.
Keys/database appear in System32.
Set
AppDirectory to your server folder. NSSM defaults to the system directory as the working directory for services. hbbs writes its files relative to the working directory.
Service fails on boot, works fine when manually started.
Add
SERVICE_DELAYED_AUTO_START and DependOnService NlaSvc. The network adapter isn't ready when early-start services begin. Delayed start with a network dependency solves this.
"ID does not exist" when connecting.
Both the source and target machines must be configured to use your server. A client pointing at the public RustDesk servers has an ID that only exists there — your server has no record of it.
Don't run the RustDesk Server GUI wrapper alongside NSSM.
The
RustDeskServer.Setup.exe GUI installer and NSSM both try to manage the same binaries. Pick one. This guide uses NSSM because it survives reboots without requiring a user login.
The -k _` flag is not needed. Key-based authentication has been the default since server v1.1.11. Including it is harmless but unnecessary.
Relay server in client config is optional. When the relay server runs on the same machine as hbbs (the common case), clients auto-detect it. Only set this if your relay is on a different host.
Published May 22, 2026 on matbanik.info Manuel Gil's Windows Update reset script crossed half a million downloads before he archived it in March 2023. The Dev-C++ successor — Reset-Windows-Update-Tool, 513 stars on GitHub — followed it into the archive on January 16, 2026. For years, these were the tools sysadmins reached for when Microsoft's troubleshooter shrugged and said "we couldn't identify the problem." They're gone now. And nothing replaced them. Search "reset Windows Update" today and you'll find plenty of consumer guides. Screenshots of Settings panels. "Click Troubleshoot, then Additional troubleshooters." The irony: that troubleshooter is itself being deprecated with the MSDT retirement. Microsoft is sunsetting its own fix-it tool. For MSP technicians managing hundreds of endpoints, the gap is worse. You need something that runs silently through your RMM. Something that won't obliterate the Intune ring configurat...
Published May 13, 2026 on matbanik.info I started building a platform with AI agents writing most of the code. Two different models. Eleven project phases. Over 1,500 tests. More than 200 features shipped. Then one morning I opened my own repository and couldn't trace the execution path through a service I'd supposedly built. The code was clean. The tests passed. The architecture followed every pattern I'd specified. But when I tried to explain why a particular order validation happened before portfolio sync instead of after, I just... stared at the screen. The logic was there. My understanding wasn't. That's not a horror story. It's just what happens when you adopt a tool without vetting it the way you'd vet any other dependency in your stack. I started asking different questions — the kind you'd ask before adding something critical to a production system. Here are four that keep surfacing. What Changed About the Work — and What Didn...
Published May 20, 2026 on matbanik.info You paid somewhere between $300 and $500 for whole genome sequencing. Maybe Nebula, maybe Dante, maybe one of the newer providers that keep undercutting each other. You got a folder. Inside that folder: a VCF file with 4.86 million rows of variant data and a dashboard that shows you maybe 1% of what's in there. The dashboard answers their questions. Ancestry breakdown. A handful of trait associations. Maybe a carrier screening if you're lucky. But your questions — the ones that actually matter to you — don't have a button. "What are my CYP enzyme metabolizer phenotypes?" No button. "Which variants did I inherit from my father versus my mother?" Definitely no button. "What does ClinVar say about that variant my doctor flagged last week?" Not even close. This post is about closing that gap. I'll show why it exists, what it looks like when it's gone, and how to set it up yourself — local...
Comments
Post a Comment