Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Private mesh networking and public IP exposure via Telnyx WireGuard infrastructure. Connect nodes securely or expose services to the internet.
Private mesh networking and public IP exposure via Telnyx WireGuard infrastructure. Connect nodes securely or expose services to the internet.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
Private mesh networking and public IP exposure via Telnyx WireGuard infrastructure.
Telnyx API Key — Get one free WireGuard installed on your machine
WireGuard requires elevated permissions to create network interfaces. For OpenClaw to manage your mesh autonomously, run this once: sudo ./setup-sudoers.sh This adds a sudoers rule allowing WireGuard commands without password prompts. After setup, your agent can: # Agent can now do all of this without password prompts: ./setup.sh --region ashburn-va ./join.sh --name "my-node" --apply ./register.sh --name "my-node" ./teardown.sh What it does: Adds /etc/sudoers.d/wireguard-<username> Only allows wg and wg-quick commands (not blanket sudo) Can be removed anytime: sudo rm /etc/sudoers.d/wireguard-* Without this setup, the agent can still create networks and generate configs, but you'll need to manually run sudo wg-quick up <config> to connect.
Connect multiple machines in a private network. Like Tailscale, but on Telnyx infrastructure. ./setup.sh --region ashburn-va ./join.sh --name "laptop" ./join.sh --name "server" # run on server # Now laptop and server can talk via 172.27.0.x Cost: $10/month (WireGuard Gateway)
Get a public IP and expose services to the internet. ./setup.sh --region ashburn-va ./join.sh --name "server" --apply ./add-public-ip.sh ./expose.sh 443 # Now https://64.16.x.x:443 reaches your server Cost: $60/month (WireGuard Gateway + Internet Gateway)
CommandDescriptionsudo ./setup-sudoers.shEnable passwordless sudo for WireGuard (one-time, for agent use)./setup.sh --region <code>Create network + WireGuard gateway./join.sh --name <name>Add this machine to the mesh./peers.shList all connected peers./add-public-ip.shAdd internet gateway (public IP)./expose.sh <port>Open a port./unexpose.sh <port>Close a port./status.shShow full status./teardown.shDelete everything./register.sh --name <name>Register node in mesh registry./discover.shDiscover other nodes on mesh./unregister.sh --name <name>Remove node from registry
Nodes on the mesh can find each other using a registry stored in Telnyx Storage. This enables OpenClaw instances to automatically discover and communicate with each other.
After joining the mesh, register your node so others can find it: ./register.sh --name "home-server"
Find all registered nodes on the mesh: ./discover.sh # Output: # NAME IP HOSTNAME REGISTERED # home-server 172.27.0.1 macbook.local 2026-01-31 ✅ # work-laptop 172.27.0.2 thinkpad 2026-01-31 ✅ # JSON output for scripts ./discover.sh --json
Remove a node from the registry: ./unregister.sh --name "old-server"
# On OpenClaw A ./join.sh --name "openclaw-a" --apply ./register.sh --name "openclaw-a" # On OpenClaw B ./join.sh --name "openclaw-b" --apply ./register.sh --name "openclaw-b" # Either can now discover the other ./discover.sh # → Shows both openclaw-a and openclaw-b with their mesh IPs # Direct communication works via mesh IPs curl http://172.27.0.2:18789/health # OpenClaw B's gateway This completes the "host-to-local node sessions" and "direct comms between OpenClaws" use cases.
RegionCodeLocationUS Eastashburn-vaAshburn, VAUS Centralchicago-ilChicago, ILEUfrankfurt-deFrankfurt, DEEUamsterdam-nlAmsterdam, NL Get full list: ./setup.sh --region help
22 (SSH) 23 (Telnet) 3306 (MySQL) 5432 (PostgreSQL) 6379 (Redis) 27017 (MongoDB)
Only explicitly exposed ports accept traffic on the WireGuard interface. All other ports are blocked by default.
All state is stored in config.json: { "network_id": "...", "region": "ashburn-va", "wireguard_gateway": { "id": "...", "endpoint": "64.16.x.x:5107", "subnet": "172.27.0.1/24" }, "internet_gateway": { "id": "...", "public_ip": "64.16.x.x" }, "peers": [...], "exposed_ports": [443, 80] }
# On main server ./setup.sh --region ashburn-va ./join.sh --name "openclaw-main" --apply # On secondary server ./join.sh --name "openclaw-backup" --apply # Now they can communicate securely
./add-public-ip.sh ./expose.sh 443 # Configure your webhook URL as https://64.16.x.x/webhook
./setup.sh --region ashburn-va ./join.sh --name "us-east-server" # Same network, different region gateway ./setup.sh --region frankfurt-de --name same-network ./join.sh --name "eu-server"
ComponentMonthly CostWireGuard Gateway$10Internet Gateway$50PeersFreeTrafficFree (beta)
Wait 5-10 minutes after setup for the gateway to be ready.
Check WireGuard is running: sudo wg show Check port is exposed: ./status.sh Check firewall: sudo iptables -L -n
WireGuard requires root. Run with sudo or use --apply flag.
MIT
Messaging, meetings, inboxes, CRM, and teammate communication surfaces.
Largest current source with strong distribution and engagement signals.