Shadcn Templates
amalshaji

Portr

Open source ngrok alternative designed for teams. Tunnel http, tcp or websocket connections.

2.4k
GitHub stars
Free
Price
Jan 15, 2025
Updated
Portr screenshotOpen Portr

Overview

Portr is an open-source, self-hosted tunnel for development teams and an alternative to ngrok. It exposes local HTTP, TCP and WebSocket services on public URLs, with the server, team access, request history and replay running on infrastructure the team controls. Servers can use SSH or WebSocket as the client-to-server transport. The project recommends it for exposing development servers, not for use alongside production.

The tunnel server and client are written in Go. Portr's admin dashboard for managing teams, users and connections, and the client's local inspector UI, are React 19 apps built with Vite, Tailwind CSS v4 and Radix-based shadcn/ui components.

Features

  • HTTP, TCP and WebSocket tunnels: Public HTTPS URLs that forward to local services, with WebSocket upgrades over HTTP tunnels.
  • Reserved subdomains: Pin a tunnel to a subdomain with -s or --subdomain.
  • Local inspector: A dashboard at localhost:7777 to inspect requests, replay them as-is or edited, and debug WebSocket frames.
  • CLI request logs: portr logs queries stored request data, with URL filtering and JSON output.
  • Admin dashboard: Team, user and connection management for the self-hosted server.
  • Deploy options: One-click Railway deploy, Docker Compose and setup guides for server and client.
  • Agent skill: A portr-cli skill for Claude Code and Codex.

Tech stack

  • Go (server and client)
  • React 19, Vite 7, TypeScript
  • Tailwind CSS v4, Radix UI, shadcn/ui

Getting started

portr http 9000