Publish a service from localhost onto your server
Clone or download
m13253 Merge pull request #3 from m13253/revert-2-master
Revert "Improve Makefile and fix systemd paths"
Latest commit 6ffa11c Oct 7, 2017
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
popub-local Rename Portpub -> Popub Sep 14, 2017
popub-relay Rename Portpub -> Popub Sep 14, 2017
systemd Revert "Improve Makefile and fix systemd paths" Oct 3, 2017
COPYING Initial commit Jun 5, 2016
Makefile improve Makefile and fix systemd paths Sep 19, 2017
README.md Fix link Sep 15, 2017

README.md

Popub

Publish a service from localhost onto your server.

Scenario

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.

Building

Download the source code, and the latest Go.

On your home computer, type:

cd popub-local
go build

On your server machine, type:

cd popub-relay
go build

Running

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:

cd popub-local
./popub-local localhost:80 my.server.addr:46687 SomePassword

On your server machine, type:

cd popub-relay
./popub-relay :46687 :8080 SomePassword

Note: The password is for authorization only, your traffic is not encrypted.

Running as Systemd services

Refer to systemd/README.md for instructions on running as Systemd services.

License

This program is licensed under GPL version 3. See COPYING for details.

See Also

Also please check pofwd, which is a general purpose port forwarder. It is like socat, but handles concurrency.