0.01
No commit activity in last 3 years
No release in over 3 years
Simple forwarding service written in Ruby with EventMachine. Allows to set up port forwarding to given destination in runtime.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

>= 0

Runtime

 Project Readme

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

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Added some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request