Skip to content

Introduction

Jvln is free and open-source, self-hostable tunnelling software that lets you expose localhost to the internet securely.

Jvln has two main components:

  • Server — runs on a internet-facing machine (e.g. a VPS or cloud instance). It receives incoming traffic and forwards it through the tunnel.
  • Daemon — client that runs on the machine hosting the service you want to expose. It connects to your server and routes traffic to your local service.

Jvln uses QUIC as its transport protocol, which runs over UDP rather than TCP. This ensures: fast connection times, low overhead, and end-to-end encryption.

Jvln Architecture Flow A packet travels from Client to Jvln Server, via QUIC to Jvln Daemon, then to Receiving Server. VPS / Edge Private Network Public QUIC Sending Client Jvln Server Jvln Daemon Receiving Server

Jvln establishes a mutual TLS (mTLS) connection between the server and daemon. Unlike regular TLS, which only verifies the server’s identity, mTLS requires both sides to present a certificate — so the server and daemon authenticate each other before any data is exchanged.

This means:

  • Traffic is end-to-end encrypted. Intercepted packets cannot be read nor tampered with.
  • Your connection is secure. Neither the server nor daemon can be spoofed.
  • No passwords or API keys to manage. Authentication is handled entirely by certificates.

Jvln automatically generates and manages certificates when you set up the initial connection to the server. You can choose the infrastructure that it runs on, rather than putting your trust in a third-party to keep your data secure.

Tunnelling services work by routing traffic through a third-party server. To expose a local service, you willingly allow the third-party to proxy all your traffic. This is convenient, but it comes with trade-offs.

  • The server can monitor traffic, unencrypted. Unless TLS passthrough is configured, the server handles TLS termination, allowing whoever runs it to monitor all traffic after it has been decrypted. You can’t audit their code or their infrastructure. This is true of Jvln too. The difference is in the ability to self-host the server — by doing so you are the one with access, rather than a third party.

  • You’re tied to a pricing model. Pricing plans come with bandwidth limits, connection limits, or paywalled features. Jvln has none of that — the cost to run it is the cost of the underlying infrastructure setup.

  • You’re relying on someone elses uptime. If their service has an outage, your tunnel goes down with it. Self hosting gives you control of the infrastructure and a better ability to align the uptime with the uptime of your own services.

  • Third party services come with policies. Your account can be suspended or rate limited at their discretion.

With Jvln, you are able to deploy the server yourself on infrastructure that you choose. There are no accounts, no usage limits, and there’s no dependency on a third-party.