Localhook
Localhook let you receive webhooks behind a firewall. It works like UltraHook or ngrok, but you host the server yourself.
What is Localhook?
A WebHook is an HTTP callback: an HTTP POST that occurs when something happens. Many popular services (GitHub, Stripe, ActiveCampaign, Papertrail, etc) support updates via webhooks. However, since these webhook requests are made over Internet, it's difficult receive them when testing from behind a firewall.
Localhook lets you host a public endpoint for other services and tunnels requests to a private endpoint on your computer.
Installation
Install localhook client:
gem install localhook
Usage
First, you must host your own localhook server on internet. Check localhook-server for details.
Then configure a endpoint in localhook-server:
LOCALHOOK_ENDPOINTS=endpoint1:1234
To expose a local webhook http://localhost:3000/webhook
to internet,
localhook https://localhook.mydomain.com http://localhost:3000 --token=1234
Instead of giving third party url "http://localhost:3000/webhook", you give them
https://localhook.mydomain.com/endpoint1/webhook
.
Any POST request sent to https://localhook.mydomain.com/endpoint1/webhook
will be
forwarded to http://localhost:3000/webhook
.
Contributing
- Fork it ( http://github.com//localhook/fork )
- 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
License
MIT License.