explaingit

ffay/lanproxy

5,854JavaAudience · ops devopsComplexity · 3/5Setup · moderate

TLDR

Lanproxy is a Java-based reverse proxy tool that tunnels private network devices behind home or office routers to the public internet via a public server you control. Configure port forwarding rules through a web UI on port 8090, supports TCP, SSH, web servers, and remote desktop. A Go client alternative is also available.

Mindmap

mindmap
  root((lanproxy))
    Tunnel Setup
      Public server component
      Private client component
      SSL encryption
    Port Forwarding
      TCP traffic
      SSH access
      Web servers
      Remote desktop
    Management
      Web UI port 8090
      Proxy rules config
      Client management
    Client Options
      Java client
      Go client
    Commercial Edition
      Custom domain binding
      Auto SSL certs
      Multi-user support
      SOCKS5 proxy mode
Click or tap to explore — scroll the page freely

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

Things people build with this

USE CASE 1

Expose a home or office web server to the public internet without a static IP or router port-forwarding access.

USE CASE 2

Access a private machine via SSH or remote desktop from anywhere on the internet through a tunnel.

USE CASE 3

Forward any TCP service running on a private network through a controlled public server endpoint.

USE CASE 4

Self-host a reverse proxy alternative to services like ngrok for persistent internal service exposure.

Tech stack

JavaGoTCPSSLWeb UI

Getting it running

Difficulty · moderate Time to first run · 30min

Requires a public-IP server for the server component and a JRE on the client machine (or use the Go client). Web UI on port 8090. Documentation is primarily in Chinese.

In plain English

Lanproxy is a tool for making a computer or server on a home or office network accessible from the public internet. Normally, devices behind a home router are hidden from the outside world because the router assigns them private addresses. Lanproxy creates a tunnel between that private device and a public server you control, so that external traffic can be forwarded through to the private machine. The README and documentation are primarily in Chinese. The project is written in Java. To use it, you run the server component on a machine with a public IP address, and then run the client on the private machine you want to expose. Once the tunnel is established, you configure which ports on the private machine should be forwarded through which ports on the public server. The web-based management panel (accessible on port 8090 by default) lets you configure clients and proxy rules without editing config files by hand. SSL is supported between the client and server components. Lanproxy can forward any TCP traffic, which means it works for web servers, SSH, remote desktop, and other network services. The Go-based client is also available as a separate repository for users who cannot or do not want to install a Java runtime. There are two editions. The open-source free version on GitHub covers the core tunneling functionality. A paid commercial upgrade adds features like custom domain binding, automatic SSL certificate management, multi-user support, and proxy modes for HTTP, HTTPS, and SOCKS5. A hosted version of the service is also offered at a linked website for users who do not want to run their own public server.

Copy-paste prompts

Prompt 1
I'm using the lanproxy server (ffay/lanproxy). Help me set up the server component on my public VPS and configure a client on my home machine to expose port 80 and port 22.
Prompt 2
Using ffay/lanproxy, how do I add a new proxy rule in the web management panel on port 8090 to forward external port 8080 to my local web server on port 3000?
Prompt 3
I want to use the Go client for ffay/lanproxy instead of the Java client. Walk me through downloading, configuring, and connecting it to my lanproxy server.
Prompt 4
My lanproxy tunnel drops connections intermittently. What are common causes and how do I configure SSL between the client and server to stabilize it?
Prompt 5
Compare ffay/lanproxy to ngrok and frp for self-hosted tunneling. When would I choose lanproxy, and what are its limitations versus the commercial edition?
Open on GitHub → Explain another repo

← ffay on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.