ForwardMachine
Port forwarding service configurable in runtime.
How does it work?
ForwardMachine listens on TCP port for forward requests.
These requests are simple, they consist of host:port, e.g. host.example.com:3000.
As response, host and port where forwarding has been set up is returned.
Installation
$ gem install forwardmachine
Usage
Start forwarder for host proxy.example.com
$ forwardmachine --forwarder-host proxy.example.com --ports-range 8000..9000
Control server by default will listen on localhost:8899. Connect to it and create a new forwarder (here we use nc tool).
$ nc localhost 8899
internal1.example.com:7777
proxy.example.com:8000
proxy.example.com:8000 is forwarded to internal1.example.com:7777
$ nc localhost 8899
internal2.example.com:9999
proxy.example.com:8001
proxy.example.com:8001 is forwarded to internal2.example.com:9999
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Added some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request