Btunnel Region

btunnel region

Region Options


By default, btunnel try to find the optimal distanced server based upon geolocation. However, user has full control of the region to connected with --region option.

Run the following command -

btunnel --help

Output -

btunnel is a http reverse proxy to expose your localhost to the internet.

The key features of btunnel are:
  1. build-in file server
  2. basic auth capability
  3. always https urls
  4. build in file-server

To run this you need an api key.
Sign-up at to get your own api key and keep this private.

  btunnel http --key <API_KEY> --port 3000                        # expose public url for port 3000 http server
  btunnel http --key <API_KEY> --port 3000 --auth user:password   # protect with basic auth
  btunnel file --key <API_KEY> --dir /my/directory                # expose public url for given directory path

  btunnel [flags]
  btunnel [command]

Available Commands:
  domain      Domain related commands
  file        Serve local directory
  help        Help about any command
  http        Serve localhost http server
  tcp         Expose any tcp server to the internet

  -c, --config string   config file (default is $HOME/.btunnel.yaml)
  -h, --help            help for btunnel
  -k, --key string      API Key to use btunnel, sign-up at to get your own
      --region string   Region options, ap (Singapore), in (India), eu (Europe) and us (Usa Virginia)

Use "btunnel [command] --help" for more information about a command.

As it can clearly seen, btunnel has four geolocation supported for now.

  1. ap - Asia Pacific (location Singapore)
  2. in - India (location Mumbai)
  3. eu - Europe (location Frankfurt)
  4. us - USA (location Virginia)

If user provides any other option in the region option, it will return some default value instead of erroring out. Based upon the region, btunnel will create an url like *.(sg|in|eu|us)

A sample usage of the region command is -

./btunnel http --key <API_KEY> --port 8000 --subdomain abcd --region in

Output of the above command is -

Name: -> John Doe Email: -> TimeOut: -> Never Web Monitoring: -> http://localhost:7140

http -> http://localhost:8000 Sat Mar 30 09:10:52 2024

Press q or Esc to exit