NPS Proxy: A Powerful Self-Hosted Tunnel to Expose Local Servers

6月6日 Published inNetwork Tools

NPS is a high-performance, lightweight reverse proxy designed to traverse NAT and firewalls. By forwarding TCP and UDP traffic, it supports virtually any network protocol. Whether you need to access internal web applications, test payment webhooks on a local environment, SSH into home-office machines, or use remote desktop software, NPS provides the necessary infrastructure. It features integrated support for HTTP proxies, Socks5, and P2P connections, all managed through a robust web dashboard.

Common Use Cases

Scenario Mode
WeChat Mini Program or Official Account development Domain Proxy
Remote SSH access to a private internal server TCP Proxy
Internal DNS resolution or remote UDP access UDP Proxy
Browsing internal websites via an HTTP proxy HTTP Proxy
Securely accessing internal resources similar to a VPN Socks5 Proxy

Why Choose NPS?

  1. Comprehensive Protocol Support: Full coverage for TCP, UDP, HTTP(S), Socks5, P2P, and standard HTTP proxying.
  2. Cross-Platform Compatibility: Runs seamlessly on Linux, Windows, macOS, and Synology NAS with simple, one-command installations.
  3. Unified Ecosystem: Both server and client binaries are included, ensuring straightforward management of the entire tunnel.
  4. Native HTTPS Support: Terminate TLS for backend proxies and web services directly. It supports multiple certificates for different domains.
  5. Centralized Web UI: Perform initial configuration once, then manage all tunnels and settings through a clean browser interface.
  6. Real-Time Analytics: Monitor traffic flow, system load, bandwidth usage, and client versions in real time.
  7. Advanced Features: Includes built-in support for caching, compression, encryption, rate limiting, bandwidth caps, and port reuse.
  8. Granular Routing and DNS: Manage custom headers, custom 404 pages, host rewrites, site protection, URL routing, and wildcard domains.

Quick Start

Installation

  1. Download the Binary: Visit the official releases page. Note that the server and client are distributed as separate downloads.

  2. Install the Server

    Linux / macOS: Unpack the archive, navigate to the directory, and run: sudo ./nps install

    Windows: Open an Administrator Command Prompt, navigate to the folder, and run: nps.exe install

Default Port Configuration

  • 80 / 443: Used for Domain Proxy mode.
  • 8080: Access port for the web administration panel.
  • 8024: Bridge port—the dedicated communication channel between the client and the server.

Starting the Service

  1. Launch

    Linux / macOS: sudo nps start

    Windows: Run nps.exe start from an Administrator Command Prompt in the installation directory.

  2. Configuration File Locations

    Windows: C:\Program Files\nps

    Linux / macOS: /etc/nps

  3. Logs

    Windows: The log file is generated within the current working directory.

    Linux / macOS: /var/log/nps.log

  4. Login: Open your browser and navigate to server_ip:8080. The default credentials are admin / 123. Ensure you update these credentials immediately after your first login.

Client Setup

  1. Add a Client: In the web UI, click the "+" icon next to "Clients." Generate a new client and copy the provided startup command.

  2. Run the Client

    Linux: Paste and execute the copied command in your terminal.

    Windows: Replace ./npc with npc.exe in the command and execute it via CMD.

  3. Run as a Service: Consult the documentation to configure the client as a background service so that it persists after system reboots.

  4. Configure Tunnels: Once the client status shows as "online" in the web UI, you can begin adding port forwards and proxies directly through the dashboard.