| viaduct | ngrok | Cloudflare Tunnel | localtunnel | frp | |
|---|---|---|---|---|---|
| Open source | Yes (MIT) | No | Client only | Yes (MIT) | Yes |
| Run the server yourself | Yes | No | No | Yes | Yes |
| Free, hosted, no account | Yes | No | No | Yes | Self-host only |
| Stable / custom URL | Yes | Paid | Yes | Yes | Yes |
| Bring your own domain | Yes | Paid | Yes | Self-host | Yes |
| Password / token / IP auth | Yes | Yes | Yes | No | Config |
| Live request inspector | Yes | Yes | No | No | No |
| Raw TCP / UDP | No | Yes | TCP | No | Yes |
| Codebase | ~3,500 lines Python | Closed | Large (Go) | Node.js (OSS) | Large (Go) |
Where each one fits
ngrok is the most featureful of the five: a polished, managed product with raw TCP, team features, request replay, and an SLA. It is closed source, needs an account, and the free tier is limited. Reach for it when you want a hosted product with the widest feature set and do not mind paying for it.
Cloudflare Tunnel is free and solid if you already live on Cloudflare. The catch is that your domain has to be on Cloudflare and your traffic rides their edge; the server side is not something you run.
localtunnel is the closest peer to viaduct: open source, self-hostable, and free on its public server with no account. It is a lean Node tool that hands you a URL and little else. Where viaduct goes further is edge auth (password, token, IP allowlist), a live request inspector, custom domains, and a choice of regions.
frp is the closest in spirit: open source and self-hosted, and more flexible than viaduct, with TCP, UDP, and many proxy types. In return you run and secure both ends, and there is more configuration to hold in your head.
viaduct is open source, self-hostable, free to use on the hosted service with no account, and small enough to read end to end. It does HTTP and WebSocket only: no raw TCP or UDP, no dashboards, no request replay. If that scope fits what you are doing, it is the least you have to trust, and the whole thing is a single droplet and one script to run yourself.
Curious how it works under the hood? The security and privacy notes cover what actually crosses the wire.
← Read the docs