Skip to content
All case studies

Case study · Tunnel Hub

Office software, reachable from anywhere

One VPS that puts remote employees inside office software that was never built for the internet.

stack

go · sing-box · frp · caddy · docker · terraform

model

multi-tenant

status

in production

0
inbound ports opened at the office
30s
for config changes to reach every agent
1
VPS running the whole platform

The situation

Plenty of businesses still run critical software on a server in the office: an accounting package, a dispatch system, a database the vendor stopped updating years ago. The office sits behind NAT, so remote staff can’t reach any of it.

The usual fixes are bad ones. Port forwarding exposes a legacy app to the open internet, and a full VPN hands every laptop the entire office network when it only needs one application.

What we built

Tunnel Hub routes everything through one hardened VPS. Employees connect over encrypted VLESS + Reality or Shadowsocks 2022 tunnels into a sing-box gateway, and each tenant’s FRP server accepts a reverse tunnel that the on-premises agent opens from inside the office. No inbound port ever opens on the office router.

The agent reaches the legacy software over local TCP and carries the traffic back out, so the application itself never learns it’s being used from a kitchen table two states away.

fig. 01 · architecture tunnel hub
Two planes: administration above, employee traffic below.

The office agent dials out. Nothing dials in.

How it runs

A Go management hub behind a Caddy admin entry owns the configuration as YAML. Agents poll it over HTTP every 30 seconds, which means a new tenant provisions itself: create the config, and the moment its agent starts, it pulls credentials and comes online.

The platform is containerized, provisioned with Terraform, and runs multi-tenant in production.

Next case study · ERP System

A trading business run from one system

Purchasing, sales, multi-warehouse inventory, and double-entry books, bilingual EN/AR, on web and desktop.