joaoh82/rustunnel

Self-hosted, secure tunnel server in Rust. Expose local HTTP/HTTPS/TCP/UDP services to the public internet via TLS-encrypted WebSocket. Open-source, pay-as-you-go managed option, MCP server for AI agents.

What it solves

rustunnel provides a secure way to expose local services (like a web app on port 3000 or a database on port 5432) to the public internet without needing to configure complex firewall rules or open ports on a local router. It allows developers to share their work-in-progress services via public URLs.

How it works

It uses a client-server architecture where a client runs on the developer's machine and establishes an encrypted WebSocket connection to a public server. The server then proxies incoming public traffic (HTTP, TCP, or UDP) through this encrypted tunnel to the local service. It supports TLS termination, custom subdomains, and can be self-hosted or used via a managed service.

Who it’s for

Developers who need to quickly expose local development environments to the web, as well as users who want to self-host their own tunneling infrastructure for better control and security.

Highlights

  • Multi-protocol support: Handles HTTP, TCP, UDP, and P2P tunnels.
  • High performance: Written in Rust for speed and efficiency.
  • AI Agent Integration: Includes an MCP server for one-click setup with AI agents like Cursor, Claude Code, and Windsurf.
  • Flexible Deployment: Available as a managed service or as a self-hosted solution with Docker and systemd support.
  • Observability: Features a live dashboard, Prometheus metrics, and audit logging.

Related

  • Project
  • Project
  • Project
  • Project
  • Project