>
Tech News

rustdesk lets me ditch teamviewer on my own network

Owning the relay you connect through changes what remote access feels like. For years I let a third-party server sit in the middle of every remote session to my home lab, billed monthly, working fine, never questioned. The bill was small enough that I ignored it. The privacy ceiling was small enough that I also ignored it. Then one weekend I box-checked what I actually used the subscription for and the answer was: home network only, one operator, no clients, no multi-user anything. I did not need a managed service. I needed a tunnel under my own control.

The replacement I landed on is RustDesk, an open-source remote desktop client that you can host yourself so the relay traffic never leaves your own box. The lift was small. The upside was bigger than I expected.

Paying for features I never opened

Writing down the case for staying on TeamViewer made it thinner than I expected. The case for leaving was not the price, it was the mismatch.

  • The unlicensed connection limit mattered to me once, years ago, and stopped mattering when I retired the one machine that triggered it
  • File transfer, clipboard sync, multi-monitor, and remote print were all already covered in the free tier
  • The “for commercial use” clause was the only line in the agreement that ever bit at me, and I was not running a business out of my living room
  • The only thing I actually paid for was the headroom to ignore the agreement, which is a strange thing to rent

That last point was the one that lingered. I was paying for the privilege of pretending the cap did not exist. Once I noticed it, I could not unsee it.

Why I waited, and why the wait was wasteful

The honest reason I never tried a self-hosted remote tool sooner is that I had convinced myself it would be a project. “Set up a server, harden a port, learn a new client, debug NAT (network address translation, the part of your router that decides which inbound traffic is allowed to reach which device) traversal, and then keep it patched forever” sounded like a second job on top of the first job. The reality was a single Docker container, a single config file, and a Saturday afternoon. The narrative in my head was the bottleneck, not the tool.

  • I kept the paid subscription as a safety net I never actually used
  • I told myself my setup was “too small” to justify hosting my own, which is backwards: small setups are the easiest ones to host yourself
  • I never read the actual install docs until I committed to leaving, which is exactly when the install turned out to be trivial
  • I assumed “open source” meant “rough around the edges” when in this case the client was a clean clone of the workflow I already knew

If any of those hit close to home, the rest of this probably will too.

What RustDesk actually does on a home network

RustDesk is a free remote desktop application that ships in two pieces: a client you install on the machines you want to reach, and a server component, called hbbs (host-based buddy broker) and hbbr (host-based buddy relay), that you run on any box you control. The server is the part that matters. Once your clients are pointed at your own server, every session connection negotiates through your hardware. The default public relay still works if you want it, but you do not have to use it.

The install for the host side on a Linux mini PC took me about ten minutes, and most of that was waiting for Docker images to pull. The client side is a normal installer with a server address field. You point it, you connect, you are in. Layout is familiar enough that anyone who has used TeamViewer, AnyDesk, or Chrome Remote Desktop will not be reading documentation to find the buttons.

On the feature side, the baseline covers what a home lab actually needs:

  • Remote desktop with multi-monitor support
  • File transfer and clipboard sync, built in
  • Works on Windows, macOS, Linux, Android, and iOS
  • Wake-on-LAN (a small network message that powers a sleeping machine on) lets you wake sleeping machines before connecting
  • No account required, no email, no license key, no telemetry toggle to find in a submenu

The most underrated feature is the lack of an account. There is no signup, no per-user license, no customer number to recite when something breaks. You install it, you use it, you move on.

The trade-offs nobody writes down

A self-hosted relay is not free in the literal sense. Money leaves the picture, and time walks in. There is a small bandwidth footprint, and there is one new thing to keep patched. Pretending otherwise would make this writeup useless, so here is what I actually ran into.

  • The relay daemon has to be online before you can connect in. If your home link goes down, your remote path goes down with it, unless you set up a fallback route
  • Opening a port on your router is the simplest way to expose the relay, and it does widen the attack surface a touch. Tailscale or another mesh VPN, a virtual private network that connects devices directly without a central server, is the cleaner choice if you are comfortable with that and you do not need inbound connections from arbitrary networks
  • The phone apps are functional but rougher than the desktop client. They are fine for a quick check, less polished for editing code on a phone over lunch
  • Community support is GitHub Issues and the project forum. Response time varies. If you want a support team to email, this is not the product
  • Some weird NAT setups will give you grief. Most home routers are fine, and the docs cover the common cases. Be ready to read a log file once

None of these were deal-breakers for me, and none of them would be for anyone running a similar setup. They are real, though, and you should know before you commit.

When this swap is worth it and when it is not

The line is simple. If the only machines you connect to are your own, and you already have a box that runs 24/7 (a home server, a NAS, a mini PC, an old laptop with Linux), the swap is worth the afternoon. If you spend a meaningful fraction of your remote time helping non-technical users on networks you do not control, leave the service alone, and the paid subscription is probably justified.

  • Host a relay if you only ever reach your own gear
  • Host a relay if you already run a few containers anyway
  • Stay on a paid service if you need cross-network support for clients or family without a setup step
  • Stay on a paid service if uptime and convenience matter more than the monthly bill

This is not a one-size-fits-all move. It is a fit for a specific kind of setup, and a self-hosted mini PC home lab, a small-form-factor computer often fanless and used as a 24/7 server, is exactly that setup.

How to try it without burning anything down

If you are leaning toward the swap, the safest move is to install both at once for a week. Stand up the RustDesk server in a container on your always-on box, point a client at it, and use it for whatever you would normally use TeamViewer for. After a week, if the workflow holds, cancel the subscription. If it does not, you have lost nothing but an hour of setup time.

I did exactly that. I cancelled the same afternoon the trial week ended.

The thing I did not expect

The biggest upside was not the saved subscription. It was the quiet shift in how I think about the rest of my home lab. Once one service runs on my own hardware, the next one is easier to justify. The mental model of “I rent this, I own this” gets sharper, and the boundary between rented convenience and owned infrastructure starts to mean something. The first swap is the hardest. From there the pattern repeats until muscle memory takes over.

If you have been quietly paying for a relay you could run yourself, this is the cheapest entry point I have found. One container, one client, one weekend.

Leave a comment