v1.0 — Now open source

Expose localhost
to the internet

Secure tunnels from the public internet to your local machine. HTTP, TCP, TLS — with real-time request inspection.

Free tierNo credit cardSelf-hostable
terminal
$ serverme http 3000
ServerMe
Inspect http://127.0.0.1:4040
HTTP https://myapp.serverme.site localhost:3000
npm i -g serverme-clibrew install jams24/serverme/servermecurl -fsSL get.serverme.site | sh
0
Requests proxied
0%
Uptime
<0ms
Avg latency
0
Active users

See it in action

From terminal to production

One command to expose your local server. A full dashboard to manage everything.

serverme.site/tunnels
Active Tunnels
3 tunnels running
+ New Tunnel
HTTP
api-dev.serverme.site
→ localhost:3000
Active
TCP
tcp://serverme.site:41923
→ localhost:5432
Active
HTTP
my-saas.serverme.site
→ localhost:8080
Active
Live Traffic
12 req/s
GET/api/users20012ms
POST/api/webhooks/stripe20145ms
GET/api/products?page=22008ms
DELETE/api/sessions/expired2043ms
POST/api/auth/login4016ms

Protocols

HTTP. TCP. TLS.

Not just web traffic. Expose databases, game servers, or any TCP service.

HTTP

Expose web apps, APIs, and webhooks with custom subdomains and automatic TLS.

$ serverme http 3000
TCP

Forward PostgreSQL, Redis, MySQL — any TCP service gets a public port.

$ serverme tcp 5432
TLS

Passthrough encrypted traffic without termination. Your certs, your control.

$ serverme tls 443

Inspection

See every request

Every HTTP request is captured in real-time — method, path, headers, body, status, timing. Replay any request with one click.

Real-time WebSocket Analytics
inspector — localhost:4040live
12:04:31POST200/api/webhook12ms
12:04:32GET200/api/users?page=28ms
12:04:33POST422/api/checkout45ms
12:04:34GET200/health1ms
12:04:35PUT200/api/settings23ms
12:04:36GET200/api/products15ms

Platform

Everything you need

A complete tunneling platform — not just a port forwarder.

Request inspection

View every request in real-time at localhost:4040. Headers, body, timing.

Replay requests

Re-send any captured request with one click. Debug webhooks effortlessly.

Custom domains

Bring your own domain with automatic Let's Encrypt TLS.

Blazing fast

Written in Go with smux multiplexing. Sub-millisecond overhead.

Teams

Invite members, share tunnels, and manage access with roles.

Auth at edge

Basic auth, Google OAuth, or IP restrictions. No code changes.

E2E encryption

All traffic encrypted with TLS 1.3. Zero plaintext on our servers.

Analytics

Success rates, latency, bandwidth — all in real-time.

Self-hostable

Deploy your own server with one command. MIT licensed.

SDKs

Programmatic access

Manage tunnels, stream traffic, and replay requests from your code.

TypeScript
import { ServerMe } from '@serverme/sdk';

const client = new ServerMe({ authtoken: 'sm_live_...' });
const tunnels = await client.tunnels.list();

for await (const req of client.inspect.subscribe(url)) {
  console.log(`${req.method} ${req.path} → ${req.statusCode}`);
}
Python
from serverme import ServerMe

async with ServerMe(authtoken="sm_live_...") as client:
    tunnels = await client.tunnels.list()

    async for req in client.inspect.subscribe(url):
        print(f"{req.method} {req.path} → {req.status_code}")

Pricing

Generous free tier

Most developers never need to pay. Upgrade when your team grows.

FreePopular
$0

Everything you need to build and ship.

  • 10 tunnels
  • 10 subdomains
  • HTTP, TCP, TLS
  • Custom domains
  • Inspection & replay
  • Analytics
  • 100 req/s
Get started
Premium
$10/mo

For teams and power users.

  • 10 tunnels
  • 50 subdomains
  • Wildcard domains
  • OAuth at edge
  • 500 req/s
  • Team management
  • Traffic policies
  • Priority support
Upgrade

Start tunneling in seconds

No credit card. No config files. One command.

Create free account npm install -g serverme-cli