The Demo OpenNHP Protected Server

https://ac.opennhp.org

๐ŸŽญ
โœ—
UNAUTHORIZED
User
๐Ÿ‘ค
โœ“
AUTHORIZED
User
Invisible & Blocked
โŠ˜
Visible & Allowed
๐Ÿ›ก๏ธ
NHP
Network-infrastructure
Hiding Protocol
๐Ÿ–ฅ๏ธ
Protected
Server
ac.opennhp.org

Demo video playback

Invisible by Default. Accessible Only After Verification.

Watch OpenNHP authenticate users and dynamically expose authorized resources through Login Integration Demo, Web NHP-Agent, and StealthDNS App workflows.

Live demo walkthrough

1) The Protected Server is by default "Invisible" to Unauthenticated Users

By default, any attempt to connect to the protected server will result in a TIME OUT error, as all ports are closed, making the server appear offline and effectively "invisible."

Try accessing the protected server at:

๐Ÿš€ Try Access: https://ac.opennhp.org NHP Demo - Server Invisible to Unauthenticated Users

2) Port Scans Time Out โ€” The Server Appears Offline

Port scanning the server returns a TIME OUT error and nmap reports "Host seems down" โ€” to unauthorized scanners, the server doesn't just look firewalled, it appears not to be online at all. Try it yourself with an online port scanner:

Even running nmap directly returns "Host seems down" โ€” the server doesn't merely look firewalled, it appears not to exist at all from the attacker's point of view:

$ nmap --reason ac.opennhp.org
Starting Nmap 7.80 ( https://nmap.org ) at 2026-05-07 11:40 PDT
Note: Host seems down. If it is really up, but blocking our ping probes, try -Pn
Nmap done: 1 IP address (0 hosts up) scanned in 3.04 seconds

โœ— 0 hosts up โ€” nmap's host discovery itself fails, so the scanner concludes the server is offline before it ever attempts a single port probe.

3) Authenticate with Login Integration Demo, Web NHP-Agent, or StealthDNS App

Use the Login Integration Demo or the Web-based NHP-Agent or StealthDNS App to authenticate with the NHP server. After successful authentication, you can access the protected server.

4) Access Granted After Authentication

After successful NHP authentication, the protected server becomes accessible. You can now see the protected content that was previously invisible.

AUTHENTICATED โœ“ Access Granted
NHP Demo - Access Granted After Authentication
Under the Hood

How the Demo Environment Is Wired #

Six hosts, four NHP roles. Click any box to view its source code.

1. demo is a login portal that integrates OpenNHP โ€” a user signs in there, and the portal knocks on their behalf.

2. agent is the reference demo for the NHP-Agent JS SDK โ€” a browser client that sends the knock. reg demos the registration flow with the same SDK.

3. All three reach server through relay, which translates their HTTP requests into NHP UDP messages.

4. stealth-dns is the one Agent that reaches server directly, bypassing relay entirely.

5. server is fully invisible โ€” it exposes no surface of its own and only ever answers a valid NHP knock.

6. Once the knock verifies, server instructs ac to reveal the protected demo page โ€” to that session only. ac stays invisible to everyone else.

Port Hiding

Hiding Application Server Ports

Before NHP, all server ports are exposed. After NHP, they become completely invisible.

BEFORE NHP โš ๏ธ Exposed

Application Server Ports Visible

$ nmap -sS -p 1-65535 server.example.com
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
443/tcp open https
3306/tcp open mysql
8080/tcp open http-proxy

โœ— All ports visible to attackers
โœ— Attack surface fully exposed
โœ— Vulnerable to port scanning

AFTER NHP ๐Ÿ›ก๏ธ Protected

All Ports Hidden from Unauthorized

$ nmap -sS -p 1-65535 server.example.com
PORT STATE SERVICE
All 65535 scanned ports are filtered
Host seems down or heavily firewalled.
No ports visible to unauthorized scanners.

โœ“ All ports invisible to attackers
โœ“ Zero attack surface exposure
โœ“ Only authenticated users can access

Process

How NHP Works

The authentication-before-connection paradigm in action.

Step 1

Complete Invisibility

Protected resources have no public presence. DNS returns NXDOMAIN, ports appear closed, and IP addresses are unknown. To unauthorized observers, the service doesn't exist.

Step 2

Cryptographic Knock

Authorized clients send an encrypted "knock" packet using the Noise Protocol Framework. This proves their identity without revealing the service's existence to observers.

Step 3

Mutual Authentication

Both client and server authenticate each other using modern asymmetric cryptography. No shared secrets, no MITM vulnerability, no replay attacks.

Step 4

Time-Limited Access

Upon successful authentication, the client receives temporary access. Firewall rules are dynamically created and automatically expire, minimizing exposure.

Performance

Benchmark Results

NHP delivers high performance with minimal latency overhead.

OperationThroughputLatency
Authentication10K req/s< 100ms
Port Hiding100K req/s< 1ms
DNS Resolution50K req/s< 5ms

*Tested on AWS t3.xlarge instance

Integration

Integrate OpenNHP into Your Applications

Three reference integrations: an existing login portal, a native client app, or a web app.

๐Ÿ”

Login Portal Integration (Web Backend)

demo.opennhp.org is an open-source reference portal that shows how to put OpenNHP behind an ordinary login page. A user signs in as usual, the portal knocks on their behalf, and only then does the protected resource become reachable. From its source code you can learn:

  • โœ“ How to add an OpenNHP knock to an existing login flow
  • โœ“ How the portal authenticates the user, then knocks on their behalf
  • โœ“ How to keep the protected server invisible to unauthenticated visitors
  • โœ“ How to reach NHP-Server through NHP-Relay from a web backend
๐Ÿ–ฅ๏ธ

Client App Integration (Desktop & Mobile)

StealthDNS is an open-source example application that demonstrates how to integrate the OpenNHP SDK into native desktop and mobile applications. By studying its source code, you can learn:

  • โœ“ How to initialize the NHP-Agent in your application
  • โœ“ How to perform cryptographic knock requests to NHP-Server
  • โœ“ How to handle authentication and access tokens
  • โœ“ How to access protected resources after NHP authorization
๐ŸŒ

Web App Integration (JavaScript SDK)

OpenNHP JavaScript Agent is the official SDK for integrating NHP authentication into web applications. It provides a lightweight, browser-compatible solution for web-based access to NHP-protected resources.

  • โœ“ Pure JavaScript implementation for browser environments
  • โœ“ Seamless integration with existing web frameworks
  • โœ“ NHP authentication flow and connection status visualization
  • โœ“ Works with any backend protected by OpenNHP
๐Ÿ“– OpenNHP SDK Documentation

Ready to Hide Your Infrastructure?

Deploy OpenNHP and make your services invisible to attackers.