System Overview

High-level architecture of the Exposr tunneling system.

Components

Exposr consists of three main components:

  • Client (Agent) — Runs on the user's machine. Manages the control connection, creates data tunnels, and forwards traffic to local services.
  • Server (Relay) — Runs on a public server. Accepts agent connections, manages public ports, and bridges public connections to agent data tunnels.
  • Common — Shared utilities for logging and protocol message parsing.

Architecture diagram

Internet User

SERVER_IP:PUBLIC_PORT

Exposr Server

Control Port: 9000

Data Port: 9001

Public Ports: 25565, 20000–30000

Persistent outbound connection

Exposr Client

127.0.0.1:LOCAL_PORT

Local Service

Communication

All communication is TCP-based. The agent initiates all connections outbound, meaning it works behind NAT and firewalls without requiring inbound ports on the client machine.

The system uses a text-based protocol over the control channel and raw TCP forwarding over data connections.