One command to create a private network on your own Cloudflare Zero Trust account. One command to join. One command to expose a service, with HTTPS, CDN, WAF, and DDoS protection from Cloudflare's edge, included free.
curl -fsSL https://jalth.vinaypuppal.com/install.sh | sh jalth init creates a mesh inside your Cloudflare Zero
Trust account. Share the join URL. Devices show up on a CGNAT
range and can talk to each other over WARP without opening any
ports.
jalth join https://jalth.myteam.com jalth serve creates a Cloudflare Tunnel, DNS record,
Universal SSL certificate, and Access policy in one call. Gate
the URL by email, identity-provider group, IP range, or country.
jalth serve grafana --port 3000 --allow group:devs jalth ssh issues a short-lived certificate from
Cloudflare Access after your identity provider (Google, GitHub,
Okta, or any OIDC) signs you in. No new SSH keys to distribute.
Your existing authorized_keys keep working unless
you remove them.
jalth ssh homeserver jalth group and jalth role reuse the
Google, Okta, GitHub, or OIDC groups you already manage. Headless
servers and CI runners enroll with scoped auth keys instead of
browser SSO.
jalth role set alice@team.com operator jalth doesn't replace anything. It wires the parts of Cloudflare you already pay for (or don't) into a coherent mesh, behind one CLI and one Worker.
.mesh hostnames to CGNAT IPs. jalth serve. Mesh networking on Tailscale runs on Tailscale's coordination layer and tries hard to go peer-to-peer. Mesh networking on jalth runs on Cloudflare's edge, so device traffic relays through the closest Cloudflare POP, and every service you expose inherits CDN, WAF, and DDoS for free.
jalth serve sits behind Cloudflare's HTTP layer, so CDN, WAF, and DDoS come automatically.Need direct P2P latency, Taildrop, or first-class Windows today? Tailscale is the mature option. Pricing and limits on both sides change, so check Cloudflare and Tailscale before committing.
jalth is a CLI and a Worker. Both live in your own Cloudflare account, and most of what they do fits inside Cloudflare's free tier: 50 Zero Trust seats, 1,000 tunnels, unmetered DDoS, and the rest of the numbers below. Verify the live limits on Cloudflare's pricing page and account limits before committing.
| Resource | Cloudflare limit (today) | jalth usage |
|---|---|---|
| Zero Trust seats (Free) | 50 humans | Headless devices use service tokens · don't count |
| Tunnels per account | 1,000 | One per device · created lazily on first serve |
| Access applications per account | 500 | One per exposed service |
| Mesh nodes per account | 50 | One per device on the WARP mesh |
| Workers requests (Free plan) | 100,000 / day | ~10–50 per device per day |
| CDN · WAF · DDoS | Included on Cloudflare's HTTP layer | Automatic on every jalth serve |
curl -fsSL https://jalth.vinaypuppal.com/install.sh | sh