TCP & SSH Tunneling Core

Forward any TCP protocol — SSH, databases, RDP, custom protocols — through a secure gRPC tunnel. Access remote machines via native SSH or directly from your browser with the built-in terminal.


How TCP Tunneling Works

TCP tunneling wraps raw TCP connections inside NFLTR's encrypted gRPC transport. The agent listens on a local TCP port (e.g., SSH port 22) and relays all traffic through the tunnel. From the remote side, you use nfltr tcp-connect to establish a local listener that forwards to the remote service.

REMOTE MACHINE nfltr agent (tcp 22) SSH daemon (sshd) PostgreSQL (:5432) NFLTR SERVER Encrypted gRPC Tunnel TCP Stream Multiplexing YOUR LAPTOP ssh user@remote Browser SSH Terminal psql -h localhost

SSH Tunneling — Three Ways

1. Native SSH Proxy

Use NFLTR as an SSH ProxyCommand. This integrates seamlessly with your existing SSH configuration — agent forwarding, keys, configs all work normally:

# On the remote machine
nfltr tcp 22 --name raspberry-pi

# On your laptop — connect via native SSH
ssh -o ProxyCommand="nfltr ssh-proxy --name %h" pi@raspberry-pi

2. Browser SSH Terminal

Open the NFLTR dashboard, find the agent, and click ▶ Term. A full xterm.js terminal opens in your browser — no SSH client, no keys, no configuration needed. Learn more →

3. Port Forwarding

Forward any remote TCP port to a local port on your machine:

# On the remote server
nfltr tcp 5432 --name db-server

# On your laptop — PostgreSQL appears on localhost:5432
nfltr tcp-connect db-server 5432 --listen :5432
psql -h localhost -p 5432 -U myuser mydb

Supported Protocols

ProtocolRemote CommandLocal Access
SSHnfltr tcp 22 --name myhostssh -o ProxyCommand="nfltr ssh-proxy --name %h" user@myhost
PostgreSQLnfltr tcp 5432 --name dbnfltr tcp-connect db 5432 --listen :5432
MySQLnfltr tcp 3306 --name mysqlnfltr tcp-connect mysql 3306 --listen :3306
Redisnfltr tcp 6379 --name redisnfltr tcp-connect redis 6379 --listen :6379
RDPnfltr tcp 3389 --name desktopnfltr tcp-connect desktop 3389 --listen :3389
Kubernetes APInfltr tcp 6443 --name k8snfltr tcp-connect k8s 6443 --listen :6443
Any TCPnfltr tcp <port> --name svcnfltr tcp-connect svc <port>

SSH Config Integration

Add NFLTR as a permanent SSH proxy for specific hosts in ~/.ssh/config:

# ~/.ssh/config
Host raspberry-pi
    HostName raspberry-pi
    User pi
    ProxyCommand nfltr ssh-proxy --name %h

Host office-server
    HostName office-server
    User admin
    ProxyCommand nfltr ssh-proxy --name %h

Now ssh raspberry-pi works from anywhere — no VPN, no port forwarding.

Security

💡 SCP & SFTP work too

Since NFLTR acts as a transparent TCP proxy, scp and sftp work with the same ProxyCommand. The dashboard also generates ready-to-use SCP commands for each connected agent.

Ready to tunnel TCP?

Forward SSH, databases, or any TCP protocol in seconds.

Download Agent Browser SSH →