Skip to content

m13253/popub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

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

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:

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

On your server machine, type:

./popub-relay :46687 :8080 SomePassphrase

Running as Systemd services

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

Protocol Definition

Refer to PROTOCOL.md for protocol definition.

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.

About

Publish a service from localhost onto your server

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors 3

  •  
  •  
  •