Analysis updated 2026-05-18
Expose a locally-running web app to colleagues or testers without changing router settings.
Debug payment gateway webhooks or third-party callbacks that require a real public URL.
SSH into a machine behind a corporate firewall or NAT from anywhere on the internet.
Share a development server running on your laptop with remote team members in real time.
| ehang-io/nps | glanceapp/glance | wailsapp/wails | |
|---|---|---|---|
| Stars | 34,044 | 34,001 | 33,971 |
| Language | Go | Go | Go |
| Setup difficulty | easy | easy | moderate |
| Complexity | 3/5 | 2/5 | 3/5 |
| Audience | developer | ops devops | developer |
Figures from each repo's GitHub metadata at analysis time.
NPS is a lightweight, high-performance intranet penetration proxy server, meaning it lets you expose services running on a private network (behind a router, firewall, or NAT, Network Address Translation) to the public internet without port forwarding or changing your router settings. The core problem it solves is a common one: your computer or device is on a home or office network and has no publicly reachable IP address. You might want to access your home desktop from outside, share a locally-running web app with a colleague, debug a payment gateway callback that needs a real URL, or SSH into a machine behind a corporate firewall. Normally, this requires complex router configuration that most people cannot control. NPS handles it by having the internal machine (running the NPS client) establish an outbound connection to a public NPS server you control, and then routing traffic from the internet back through that tunnel. It supports essentially every network protocol: TCP, UDP, HTTP and HTTPS, SOCKS5, and peer-to-peer connections. The server side runs on any machine with a public IP, and comes with a web management dashboard where you create and configure tunnel rules, monitor live traffic and bandwidth, set rate limits, and manage multiple clients and users. The client side is a single binary you run on the machine you want to expose. Additional features include HTTPS support for backend services that only speak plain HTTP, domain-based routing with custom headers and URL rewriting, traffic compression and encryption, and multi-user support with registration. You would use NPS when you need reliable intranet tunneling for development, remote access, or production webhook endpoints. It is written in Go, runs as a system service on Linux, Windows, and macOS, and is significantly lighter-weight than enterprise alternatives. The primary documentation and community is in Chinese.
Lightweight proxy server that exposes services on private networks to the public internet without port forwarding, using secure tunnels.
Mainly Go. The stack also includes Go, TCP/UDP, HTTP/HTTPS.
Use it freely, but any project you distribute that includes this code must also be GPL-licensed and open source.
Setup difficulty is rated easy, with roughly 5min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.