Story

Show HN: Gonc – Serverless P2P dual reverse proxy with NAT traversal

gonc_cc Tuesday, December 23, 2025

Over the past couple of months, I've been working on gonc. It started as a cross-platform netcat alternative written in Go, but I realized it would be much more powerful with a -p2p flag to automatically punch through NATs and firewalls.

It is now working smoothly. To establish a P2P netcat-like chat connection, you simply run the same command on both sides:

gonc -p2p <passphrase>

Building on this, I implemented a dual (bidirectional) reverse proxy. This allows both peers to access each other's networks simultaneously.

Peer A:

gonc -p2p <passphrase> -linkagent

Peer B:

gonc -p2p <passphrase> -link 1080;1080

This opens port 1080 on both ends as a SOCKS5 & HTTP proxy to tunnel traffic to the other side.

How it differs from frp/rathole: Unlike existing solutions that require you to deploy a self-hosted Rendezvous/Signaling Server, gonc uses public STUN and MQTT servers for signaling.

For cases involving Symmetric NATs where a relay is unavoidable, gonc doesn't need a proprietary relay server—it can simply use any standard SOCKS5 server as a relay.

Peer B: (only one side needs to specify -x)

gonc -x socks5ip:port -p2p <passphrase> -link 1080;1080

I'd love to hear your feedback or suggestions!

3 0
gonc.cc
Visit article Read on Hacker News