Exposer exposes your services to the internet via a combination of smart ssh remote port forwarding and reverse nginx proxying.
What this means is that you can just spawn a service, tell exposer what port it runs on, on your local machine, and Exposer will give you an URL where your service will be accessible for the entire internet to see (or at least those who know the URL)
Installation
Install exposer:
$ gem install exposer
Usage
After you have installed exposer you can simply start it as follows:
$ exposer -p <PORT>
Where is the port you wish to expose. For example, if you are creating a ruby web application, and you do a rackup, which starts a webservice at port 9292, then you would do:
$ exposer -p 9292
You would get a response that is similar to the following:
Starting connection...
You can reach your service on http://yo9q.exposer.io
Press CTRL+C to stop the connection.
You can then just share the link that is given to you in the response. And via that link people can reach the application that you just have set up! It's almost magic!
TODO
- Add option to define the length of the subdomain (longer if you want more privacy, shorter if you want it to be easy to remember)
- Add posibility to choose which public key file to use to authenticate with the server
- ...
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request