A minimal Rust CLI that exposes a local TCP port to a remote server, so localhost services can be reached from the public internet.
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
Install Drip
bash <(curl -sL https://driptunnel.app/install.sh) - 2
Configure (first time only)
drip config init - 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
Open-source ngrok alternative that exposes a local HTTP server at a public HTTPS URL with one command.
Self-hostable platform to deploy apps, databases and one-click services to your own servers over SSH, an alternative to Heroku, Netlify and Vercel.
A self-hosted, all-in-one software development service written in Go, covering Git hosting, code review, issues, packages and CI/CD.
Self-hosted ACME tool that automates SSL certificate issuance, deployment, renewal and monitoring through a visual workflow.
A web-based graphical interface for nginx that lets you manage virtual hosts, proxies, SSL certificates and streams without editing config files by hand.