Publish a service from localhost onto your server.
If you have a web service, a game service, an SSH service, a VNC service, or any TCP service at your home computer. Your home computer is behind NAT and don't have a public and static IP address, but you want your friends to connect to your service.
If you operate another computer or server, which has a public or static IP address, you can run Popub there, to relay the data between your home computer and your friends, so that your service is made public accessible.
Download the source code, and the latest Go.
In addition to the normal go build command,
go build ./cmd/popub-local ./cmd/popub-relay
I also provide a handy Makefile script for your convenience:
make
Assume you have a web service at localhost:80, you want to publish it as my.server.addr:8080, and you want to use my.server.addr:46687 to communicate between your home computer and your server machine.
On your home computer, type:
./popub-local localhost:80 my.server.addr:46687 SomePassphrase
On your server machine, type:
./popub-relay :46687 :8080 SomePassphrase
Refer to systemd/README.md for instructions on running as Systemd services.
Refer to PROTOCOL.md for protocol definition.
This program is licensed under GPL version 3. See COPYING for details.
Also please check pofwd, which is a general purpose port forwarder. It is like socat, but handles concurrency.