# rustunnel docs > Documentation for rustunnel — open-source secure tunnels for exposing local services to the internet, with managed cloud and self-hosted deployment. ## Docs - [AGENTS](https://rustunnel.com/docs/AGENTS.md) - [CLAUDE](https://rustunnel.com/docs/CLAUDE.md) - [Claude Code setup](https://rustunnel.com/docs/ai-tools/claude-code.md): Configure Claude Code for your documentation workflow - [Cursor setup](https://rustunnel.com/docs/ai-tools/cursor.md): Configure Cursor for your documentation workflow - [Windsurf setup](https://rustunnel.com/docs/ai-tools/windsurf.md): Configure Windsurf for your documentation workflow - [Create Plant](https://rustunnel.com/docs/api-reference/endpoint/create.md): Creates a new plant in the store - [Delete Plant](https://rustunnel.com/docs/api-reference/endpoint/delete.md): Deletes a single plant based on the ID supplied - [Get Plants](https://rustunnel.com/docs/api-reference/endpoint/get.md): Returns all plants from the system that the user has access to - [New Plant](https://rustunnel.com/docs/api-reference/endpoint/webhook.md): Information about a new plant added to the store - [Introduction](https://rustunnel.com/docs/api-reference/introduction.md): Example section for showcasing API endpoints - [Contributing](https://rustunnel.com/docs/contribute.md): How to contribute to rustunnel — an open-source, self-hosted tunnel server written in Rust. - [Development](https://rustunnel.com/docs/development.md): Preview changes locally to update your docs - [Code blocks](https://rustunnel.com/docs/essentials/code.md): Display inline code and code blocks - [Images and embeds](https://rustunnel.com/docs/essentials/images.md): Add image, video, and other HTML elements - [Markdown syntax](https://rustunnel.com/docs/essentials/markdown.md): Text, title, and styling in standard markdown - [Navigation](https://rustunnel.com/docs/essentials/navigation.md): The navigation field in docs.json defines the pages that go in the navigation menu - [Reusable snippets](https://rustunnel.com/docs/essentials/reusable-snippets.md): Reusable, custom snippets to keep content in sync - [Global Settings](https://rustunnel.com/docs/essentials/settings.md): Mintlify gives you complete control over the look and feel of your documentation using the docs.json file - [rustunnel Architecture — control plane, data plane, and yamux multiplexing](https://rustunnel.com/docs/guides/architecture.md): Internal architecture of rustunnel: control protocol (JSON over WebSocket), data plane (yamux multiplexed binary), concurrency model (Tokio), and the crate structure of the open-source tunnel server. - [Claude Code Tunnel Plugin — one-command MCP install for rustunnel](https://rustunnel.com/docs/guides/claude-plugin.md): Install the rustunnel Claude Code tunnel plugin in one command. Claude Code gets six tunnel-management tools via MCP, your token is stored securely, and tunnels are cleaned up automatically on session exit. - [rustunnel CLI Client Guide — every flag, command, and config option](https://rustunnel.com/docs/guides/client-guide.md): Complete reference for the rustunnel CLI client: installation, authentication, HTTP/TCP/UDP/P2P tunnel commands, region selection, config file format, and troubleshooting. The companion to the Quickstart and Self-Hosting guides. - [Deploy rustunnel-server with Docker — local dev or VPS production](https://rustunnel.com/docs/guides/docker-deployment.md): Deploy the rustunnel tunnel server with Docker. Covers a local-development setup with a self-signed certificate and a production VPS deployment with a real domain and Let's Encrypt TLS — pair with the systemd-based self-hosting guide. - [MCP Tunnel Server — Let Claude Code, Cursor, and any MCP agent manage tunnels](https://rustunnel.com/docs/guides/mcp-server.md): rustunnel-mcp is a Model Context Protocol (MCP) tunnel server: Claude Code, Cursor, Claude Desktop, OpenClaw, and any MCP-compatible agent can create, list, and close tunnels with six dedicated tools. No manual setup required. - [Self-Host the rustunnel Tunnel Server on Ubuntu (systemd, TLS, PostgreSQL)](https://rustunnel.com/docs/guides/self-hosting.md): Self-host the open-source rustunnel server on a Linux VPS with systemd, Let's Encrypt TLS, and PostgreSQL. Production-ready walkthrough — drop-in for ngrok or frp on any cloud provider including Hetzner, DigitalOcean, and Linode. - [rustunnel docs — open-source, self-hosted tunnel server](https://rustunnel.com/docs/index.md): Documentation for rustunnel, the open-source ngrok alternative written in Rust. Self-host the tunnel server or use the managed cloud — same client binary, same docs. - [rustunnel Quickstart — expose localhost in three steps](https://rustunnel.com/docs/quickstart.md): Install the rustunnel client, sign in with an API token, and expose your first local service over HTTPS in three steps. The fastest way to try the open-source ngrok alternative. - [Tunnel Load Balancing with Multiple Backends and Health Checks](https://rustunnel.com/docs/reference/load-balancing.md): Run multiple backends behind one rustunnel subdomain or TCP port. Inbound connections are dispatched at random across healthy members, with TCP and HTTP health probes that automatically remove sick backends from the rotation — a managed-cloud equivalent of FRP's loadBalancer.group config. - [P2P Tunnels — direct peer-to-peer connections without an exit node](https://rustunnel.com/docs/reference/p2p-tunnels.md): rustunnel P2P tunnels connect two clients directly with NAT hole punching over QUIC — no exit node, no relay tax once direct mode is established. Covers relay mode, direct mode, NAT classification, hole punching, and automatic fallback. - [UDP Tunnels in rustunnel — Rust-based UDP forwarding for game servers, DNS, and QUIC](https://rustunnel.com/docs/reference/udp-tunnels.md): rustunnel UDP tunnels forward datagrams from a public port on the tunnel server to a local UDP service — game servers, DNS resolvers, QUIC endpoints, VoIP. Covers sessions, length-prefixed framing, server configuration, and CLI usage. ## OpenAPI Specs - [openapi](https://rustunnel.com/docs/api-reference/openapi.json)