git404hub

what is lunnel fr?

daocloud/lunnel — explained in plain English

Analysis updated 2026-07-17 · repo last pushed 2017-05-25

GoAudience · developerComplexity · 3/5DormantSetup · moderate

tl;dr

Lunnel exposes local services to the public internet through a secure reverse-proxy tunnel. Run a server on a public machine and a client on your local computer to let anyone reach your local apps online.

vibe map

mindmap
  root((repo))
    What it does
      Exposes local services
      Secure reverse proxy
      Public internet access
    Tech stack
      Go
      YAML config
      AES and TLS
      KCP and TCP
    Use cases
      Demo local apps
      Test webhooks remotely
      Expose Docker API
      Proxy local games
    Setup
      Server on public IP
      Client on local machine
      YAML config file
    Audience
      Developers
      DevOps

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

what do people make with this?

VIBE 1

Demo a local web app to clients via a public URL without deploying it.

VIBE 2

Test webhook callbacks from third-party services against your local server.

VIBE 3

Expose a local Docker daemon API so you can manage it from a remote browser.

VIBE 4

Make a local multiplayer game reachable by friends over the internet.

what's the stack?

GoYAMLTLSAESKCP

how it stacks up fr

daocloud/lunnelaasheeshlikepanner/vasealexzielenski/controller-runtime
Stars0
LanguageGoGoGo
Last pushed2017-05-252022-04-20
MaintenanceDormantDormant
Setup difficultymoderatemoderatehard
Complexity3/54/54/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

how do i run it?

Difficulty · moderate time til it works · 30min

Requires a server machine with a public IP address plus a local client, and the YAML config must use spaces instead of tabs.

The license terms are not specified in the available documentation, so check the repository for details before using it.

in plain english

Lunnel is a tool that lets you expose a service running on your local computer to the public internet, even if your computer is behind a router or firewall that normally blocks outside access. It works as a "reverse proxy," meaning it creates a secure tunnel from your local machine to a public-facing server, so anyone on the internet can reach your local service through that server's address. The setup involves two pieces: a server program you run on a machine with a public IP address, and a client program you run on your local machine. You configure both with a file that tells them how to connect and what traffic to forward. The client reaches out to the server, establishes an encrypted connection, and then funnels traffic through that tunnel. The project supports several protocols including HTTP, HTTPS, TCP, UDP, and Unix sockets, and it can encrypt traffic with either AES or TLS. It also uses a connection pool and multiplexing (similar to HTTP/2) so that a single connection can handle many concurrent requests without wasting resources. A practical example from the documentation: you can run the client locally to expose your Docker daemon's HTTP API, then access it from a browser via a public domain. Another example shows proxying a small web game running in a local container so it's reachable from outside. This makes it useful for developers who want to demo a local app, test webhooks, or manage remote services without setting up complex networking infrastructure. One notable design choice is the automatic switching between TCP and KCP for tunnel transport, which is meant to keep connections stable under different network conditions. The README also mentions planned improvements like a dashboard interface and horizontal server scaling, but those aren't available yet. Configuration is straightforward YAML, though the docs note that tabs aren't allowed in the config file and must be replaced with spaces.

prompts (copy fr)

prompt 1
I have a Go service running locally on port 8080 and a VPS with a public IP. Generate a lunnel server YAML config and a client YAML config so I can expose my local service at my-vps-domain.com using TLS encryption.
prompt 2
Create a lunnel client config that forwards traffic from my local Docker daemon socket to a public lunnel server, so I can access the Docker API through https://docker.my-domain.com.
prompt 3
Write a lunnel server config that listens on port 443, supports HTTP and HTTPS tunneling, and uses a TLS certificate. Include comments explaining each config field.
prompt 4
Set up a lunnel tunnel to expose a UDP service running locally on port 9999 through my public server at tunnel.example.com using AES encryption.

Frequently asked questions

what is lunnel fr?

Lunnel exposes local services to the public internet through a secure reverse-proxy tunnel. Run a server on a public machine and a client on your local computer to let anyone reach your local apps online.

What language is lunnel written in?

Mainly Go. The stack also includes Go, YAML, TLS.

Is lunnel actively maintained?

Dormant — no commits in 2+ years (last push 2017-05-25).

What license does lunnel use?

The license terms are not specified in the available documentation, so check the repository for details before using it.

How hard is lunnel to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is lunnel for?

Mainly developer.

peek the repo → explain another one

This repo across BitVibe Labs

double-check against the repo, no cap.