Basic Tunnels

Create HTTP, HTTPS, and TCP tunnels.

HTTP Tunnel

Expose a local HTTP server to the internet:

bash
drip http 3000

This creates a public URL like https://abc123.tunnel.example.com that forwards to localhost:3000.

HTTPS Tunnel

Expose a local HTTPS server (Drip connects to your local server via HTTPS):

bash
drip https 443

Use this when your local server already has TLS configured.

TCP Tunnel

Expose any TCP service (databases, SSH, game servers, etc.):

bash
drip tcp 5432

Common TCP services:

  • PostgreSQL: drip tcp 5432
  • MySQL: drip tcp 3306
  • Redis: drip tcp 6379
  • MongoDB: drip tcp 27017
  • SSH: drip tcp 22

TCP tunnels are assigned a random port from the server's port pool (default: 20000-20100).

Transport Selection

Choose the transport protocol for your tunnel:

bash
# Auto-select best transport (default)
drip http 3000 --transport auto

# Use direct TCP over TLS
drip http 3000 --transport tcp

# Use WebSocket over TLS (CDN-friendly, works through Cloudflare)
drip http 3000 --transport wss

When to use WSS transport:

  • Behind Cloudflare or other CDNs
  • In restrictive network environments
  • When direct TCP connections are blocked

Custom Subdomain

Choose your own subdomain instead of a random one:

bash
drip http 3000 -n myapp

This creates https://myapp.tunnel.example.com.

Subdomain rules:

  • Length: 3-63 characters
  • Allowed characters: lowercase letters, numbers, hyphens
  • Cannot start or end with a hyphen
  • Pattern: ^[a-z0-9][a-z0-9-]{1,61}[a-z0-9]$

Reserved names (cannot be used):

www, api, admin, app, mail, ftp, blog, shop, status, health, test, dev, staging

Override Server Settings

Use a different server or token for this tunnel only:

bash
drip http 3000 -s other-server.com:443 -t OTHER_TOKEN

Verbose Output

Enable detailed logging for debugging:

bash
drip http 3000 --verbose

This shows:

  • Connection status
  • Heartbeat messages
  • Traffic statistics
  • Error details

Skip TLS Verification (Testing Only)

For development servers with self-signed certificates:

bash
drip http 3000 --insecure

⚠️ Warning: Never use --insecure in production.

Real-time Statistics

While a tunnel is running, you'll see live statistics:

  • Latency: Round-trip time to server
  • Bytes In/Out: Total traffic transferred
  • Active Connections: Current open connections
  • Speed: Current transfer rate