So one thing I’ve done to help me find more things to self host or do is think like a prepper. Like…what if my ISP goes out? How can I remotely control my homelab or even trigger Home Assistant events if my ISP is out? I had no idea how to solve this until about 6 months ago when I discovered Meshtastic.
For anyone who doesn’t know: Meshtastic is basically an open-source, public mesh-network. You just buy a cheap ESP32 device, flash it with Meshtastic (They have a SUPER easy web-flasher so you don’t need to be super technical to do it), and connect to it via Bluetooth with your phone and you’re good to go! Then you can send messages to other nodes around you and have fully off-grid communications!
Well, while Meshtastic supports MQTT, that does require at least one end of the connection to have internet access. I wanted a way to SSH into my servers and diagnose or fix things without needing to rely on my ISP at all. Or even trigger things in Home Assistant without having access to any ISP. So, that naturally gave way to the idea of MeshExec.

MeshExec is a little binary that attaches to your serially-connected Meshtastic node, and looks for messages in a specified private channel for aliases to execute. Then it will execute whatever commands you specify and automatically chunk them and send them back through the mesh in a staggered fashion. This chunking is done to both fit inside the max message size that Meshtastic supports, and so that the mesh is not overwhelmed with messages and drops them.
You define the aliases, the shell used to execute the commands, etc. So you can basically use it to do whatever you want over the mesh! I’ve set up a handful of aliases to do simple diagnostics on my homelab servers. Things like restarting docker containers, checking the top 3 processes consuming the most memory, etc.
I decided to use aliases because I figured direct shell access to a server is SUPER dangerous, especially if you accidentally attach the daemon to a public channel.
No idea if this will be useful to anyone else, but I made it as easy to use as possible if anyone does want to use it. Here’s the link to the repo if anyone wants to give it a go.
I just wanted to share how I’ve managed to find a way to further reduce my reliance on big corporations and my love for open-source software!
If anyone decides to give this a try, I’d love to know your thoughts or answer any questions you have!
This is really interesting, appreciate your taking the time to share, thanks 👍 Now I have a fresh experiment for all those ESP32’s in my drawers 😁
Wonder how much solar power it would take to run one of these nodes, it’s be fun to guerrilla a few across town to create a bit of uh…civic infrastructure.
oh your method was real i thought i was in programmer memes for a second and thought it was going to be

Very cool. I run a piKVM attached to an 8 port KVM and 8 plugs controlled by relays, giving me full control over everything. I should add this to the mix.
What is securing those private channels?
Whatever vulnerability there is in that will basically give them root on your home sever right?
They’re encrypted with a PSK encrypted with either AES128 or AES256. It’s built into the Meshtastic firmware so that’s not something I have to handle directly, thankfully!
These guys appear to have a global visualization of the Meshtastic network nodes that they can see.
There is an ongoing issue with meshtastic users where they keep fighting about mqtt and maps of nodes. meshmap.net apparently only shows about 20% of mqtt-reporting nodes.
I absolutely love this. I’m not yet immersed in meshtastic, but this is where I want to get, eventually.
Feels just like the tech used in the show Person of Interest. Essentially, to avoid the detection of a supercomputer, the protagonists communicate via VHF mesh network.
I was going to guess Semaphore flags, but sure, meshtastic is good too.
I’m confused on how a semaphore would help, or is this a joke that I am misinterpreting?
Do you know what a semaphore is?
Quite literally designed for long distance communication.
Used extensively in many different variations before wire/electricity based systems became available, then even used after that for communication in places where you couldn’t have a wire (like between boats)
In programming a semaphore is a way to handle access to a method in a multithreaded environment.
Then then answer to your question is yes, you interpreted it incorrectly. The original (and common) definition of that word is vastly different than what you assumed.
dude’s adding a clacks tower to his homelab and here i am eating hot chip
This is very cool. I didn’t know about Meshtastic or MeshExec.
That’s amazing, thanks for sharing!
This extremely cool.
really cool idea. ty for sharing!
FYI: home assistant can run an Mqtt server, so you could still post messages to it over meshtastic
I could except it would need Internet access to subscribe or publish to an MQTT broker. I wanted remote control when both I don’t have Internet access when I’m away from home, and my home itself has no Internet access.
For MQTT packets to be forwarded over the mesh, there needs to be at least one MQTT gateway connected to it that has Internet access.
I think you miss understand, if ha has the broker and a mesh node. Then your node could just send a message home and your home node would post the message to mqtt
Ah I see what you mean. Yep I totally misunderstood what you meant. Yes I did think about that but I wanted to be able to control my servers too, hence MeshExec. ☺️
What is the difference between this and simply connecting to the same network? Even if it is offline you can connect through ethetnet or wifi without needing internet
The difference is you dont have to be on the same network
The most notable difference is that meshtastic has range in the order of miles. At least 1 mile even with bad antennas but with other nodes nearby to repeat your messages, 20 miles is not hard to do.
Hey ! With rnode (another firmware for lora devices) you can directly do ip over lora ! So I can basically control my server from 9-10km away (if I stay on the coast) without internet !
Do you have a link? I can’t seem to pin it down
Ah rnode … Read it as mode
Obligatory mention: !keming@lemmy.world
Ahahahahhahhaah
Oh I’m looking into this IMMEDIATELY! 😂 That’s awesome!! Does it also form a mesh?
Yes, with other rnode devices (there aren’t many in my zone tho)








