Bindings
Overview
Bindings associates an endpoint with a specific ingress networks made available through ngrok.
Example Usage
- Agent CLI
- Agent Config
- Go
- Rust
ngrok http 8080 --bindings=public
tunnels:
example:
proto: http
addr: 80
bindings:
- public
import (
"context"
"net"
"golang.ngrok.com/ngrok"
"golang.ngrok.com/ngrok/config"
)
func ngrokListener(ctx context.Context) (net.Listener, error) {
return ngrok.Listen(ctx,
config.HTTPEndpoint(
config.WithBindings("public"),
),
ngrok.WithAuthtokenFromEnv(),
)
}
Go Package Docs:
use ngrok::prelude::*;
async fn listen_ngrok() -> anyhow::Result<impl Tunnel> {
let sess = ngrok::Session::builder()
.authtoken_from_env()
.connect()
.await?;
let tun = sess
.http_endpoint()
.bindings("public")
.listen()
.await?;
println!("Listening on URL: {:?}", tun.url());
Ok(tun)
}
Rust Crate Docs: