rathole-org/rathole — reverse-engineered prompt

Reverse engineered prompt

GitHub

Build me a lightweight Rust command line tool for NAT traversal, basically a self hosted alternative to ngrok or frp. I want to run one copy on a public server and another copy on a home device, then expose local services like SSH or a web app through the public server.

Use simple config files where the server and client each define matching service names. Each service should require a secret token, and traffic to a public port on the server should forward to the local address on the client. Support multiple services, TCP and UDP forwarding, automatic reconnects, basic logging, and hot reload when the config changes.

Please include secure transport options, at least plain TCP plus TLS or Noise style encryption if practical. Keep it fast and low memory, suitable for small Linux devices. Add clear example configs for a NAS SSH tunnel, Docker usage if reasonable, and systemd service examples so it can run in the background. Look up current Rust docs online if you need to.

Want more depth? Deep Reverse