Repolode
Gouryella

Gouryella/drip

A self-hosted tunnel written in Go that exposes localhost services to the internet through your own domain and server.

Open-source alternative to:ngrok

Stars
920
Forks
62
Open issues
2
Last commit
16 days ago

What is it?

Drip is a tunneling tool that lets you publish a service running on localhost to the internet. Instead of routing traffic through a third-party relay, you run the server component on your own infrastructure and point it at a domain you control, so traffic stays between your client and your server.

The CLI supports HTTP tunnels with optional custom subdomains, so a local port can be reached at a name like myapp.your-domain.com. Recent updates added per-tunnel bandwidth limiting using a token bucket, with the server enforcing the lower of client and server limits, and bearer token authentication for controlling tunnel access.

The project is written in Go and is configured through a CLI setup command and a server config file. Its topics cover TCP, WebSocket, HTTP/2 and TLS, and the docs describe installation, basic tunnels and server deployment.

Key features

  • 01Exposes local HTTP services under your own domain or subdomains
  • 02Runs the server on your own infrastructure with no third-party relay
  • 03Per-tunnel bandwidth limiting using a token bucket
  • 04Bearer token authentication for tunnel access control
  • 05Separate transport configuration for service and tunnel domains

Use cases

  • Sharing a local development server with teammates or clients for testing
  • Exposing a self-hosted app or webhook receiver from a home network
  • Testing webhook integrations that need a public HTTPS endpoint

Quick start

  1. 1

    Install Drip

    bash <(curl -sL https://driptunnel.app/install.sh)
  2. 2

    Configure (first time only)

    drip config init
  3. 3

    Expose a local HTTP server on port 3000

    drip http 3000

Things to know

  • Requires your own server and domain, so self-hosting setup is needed.
  • Server deployment is covered only by external documentation links.

Topics

FAQ

What is drip?
A self-hosted tunnel written in Go that exposes localhost services to the internet through your own domain and server. Drip is a tunneling tool that lets you publish a service running on localhost to the internet. Instead of routing traffic through a third-party relay, you run the server component on your own infrastructure and point it at a domain you control, so traffic stays between your client and your server.
Is drip free to use? What license does it have?
drip is open source under the BSD-3-Clause license. Check the license terms before using it in commercial products.
Is drip still maintained?
Actively maintained. The last commit to drip was on Oct 4, 2026.
What can I use drip for?
Sharing a local development server with teammates or clients for testing Exposing a self-hosted app or webhook receiver from a home network Testing webhook integrations that need a public HTTPS endpoint
How do I install drip?
Install Drip: bash <(curl -sL https://driptunnel.app/install.sh) Configure (first time only): drip config init Expose a local HTTP server on port 3000: drip http 3000
Where can I get drip?
The source code and installation instructions are on GitHub: https://github.com/Gouryella/drip

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects