Ngrok-tunnel gem is a ruby wrapper for ngrok v2.
Note: You must have ngrok v2+ installed available in your PATH
.
Add this line to your application's Gemfile:
gem 'ngrok-tunnel'
And then execute:
$ bundle
Or install it yourself as:
$ gem install ngrok-tunnel
require 'ngrok/tunnel'
# spawn ngrok (default port 3001)
Ngrok::Tunnel.start
# ngrok local_port
Ngrok::Tunnel.port
=> 3001
# ngrok external url
Ngrok::Tunnel.ngrok_url
=> "http://aaa0e65.ngrok.io"
Ngrok::Tunnel.ngrok_url_https
=> "https://aaa0e65.ngrok.io"
Ngrok::Tunnel.running?
=> true
Ngrok::Tunnel.stopped?
=> false
# ngrok process id
Ngrok::Tunnel.pid
=> 27384
# ngrok log file descriptor
Ngrok::Tunnel.log
=> #<File:/tmp/ngrok20141022-27376-cmmiq4>
# kill ngrok
Ngrok::Tunnel.stop
=> :stopped
# ngrok custom parameters
Ngrok::Tunnel.start(addr: 'foo.dev:80',
subdomain: 'MY_SUBDOMAIN',
hostname: 'MY_HOSTNAME',
authtoken: 'MY_TOKEN',
inspect: false,
log: 'ngrok.log',
config: '~/.ngrok')
See examples/rack-server.rb to get an idea how to use it along with a Rack server so that it automatically starts and stops when a Rack server does.
Use this gem: ngrok-rspec
- Fork it ( https://github.com/bogdanovich/ngrok-tunnel/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 a new Pull Request