BrowZer Related Questions

I actually just found out about the capabilities of BrowZer and set up an instance, very impressive. I have a couple of questions.

  1. Is there a way to disable the button that shows up on a website served with BrowZer? I'd prefer my users to not have that button.
  2. Is it possible to reverse proxy connections on 443 to the BrowZer bootstrapper running on port 8446? I've tried but BrowZer complains.
  3. Are there plans to support non-chromium based browsers such as Safari?

Thanks!

Another thing, BrowZer seems to have trouble loading video from Jellyfin, but not when accessing the service through the ziti-edge-tunnel. Can it be made faster somehow?

@aidanhopper - moved your browzer-relted questions out of the Ziti TV topic and promoted it to a top-level question to try to bring a different visibility to the question, to keep that other thread from going on too long, and to categorie it differently (under 'BrowZer')

Hi @aidanhopper

Thank you for the kind words about browZer. You said you just found out about browZer... can you tell us how/where you discovered it?

For question 1:
If you want to disable the button that shows up on a website served with BrowZer, you can use some of the early whitelabel support I added recently. For example, when using a shell script to start the bootstrapper, you can set this variable:

whitelabel=$(
echo '
{
    "enable": {
        "browZerButton":            false,
        "browZerToastMessages":     true,
        "browZerSplashScreen":      true,
        "browZerThroughputChart":   false
    }
}
')

and then set this env var: ZITI_BROWZER_WHITELABEL="${whitelabel}"

For question 2:
To reverse proxy connections on 443 (terminating TLS there) to the BrowZer bootstrapper running on port 8446, use these env vars:

ZITI_BROWZER_LOAD_BALANCER_PORT=443
ZITI_BROWZER_BOOTSTRAPPER_SCHEME=http 
ZITI_BROWZER_BOOTSTRAPPER_LISTEN_PORT=8446 

For question 3:
Support for non-chromium browsers such as Safari has begun but is not yet complete. Once released, this is how we will support iOS-based form factors (such as iPhone and iPad)

I have an issue in my backlog concerning Jellyfin streaming, and will get to soon.

Hey Curt and Clint, appreciate the replies.

I've known that something known as BrowZer has existed since I started learning OpenZiti, but I skipped over it cause I was still learning the basics of identity/service configuration and integrating it with my application. Since researching my problem I came across a Ziti-TV episode about BrowZer and finally learned exactly what it does. It's a cool piece of tech.

2 Likes

When trying to disable the button with

ZITI_BROWZER_WHITELABEL='{"enable": {"browZerButton":false,"browZerToastMessages":true,"browZerSplashScreen":true,"browZerThroughputChart":false}}'

I get an error when I try to connect

Mar 25 20:16:24 ziti node[16430]: {"level":"error","message":"Cannot read properties of undefined (reading 'browZerButtonIconSvgUrl')","stack":"TypeError: Cannot read properties of undefined (reading 'browZerButtonIconSvgUrl')\n

and BrowZer crashes. Am I missing something?

Apologies. You will also need the branding stanza. For example:

whitelabel=$(
echo '
{
    "enable": {
        "browZerButton":            false,
        "browZerToastMessages":     true,
        "browZerSplashScreen":      true,
        "browZerThroughputChart":   false
    },
    "branding": {
        "browZerName":              "<YOUR ALTERNATE NAME FOR BROWZER>",
        "browZerSplashMessage":     "Hang Tight while we Bootstrap your private web app",
        "browZerButtonIconSvgUrl":  "https://netfoundry.io/wp-content/uploads/2024/07/netfoundry-icon-color.svg",
        "browZerCSS":               "https://<YOUR_BOOTSTRAPPER_HOST>/ziti-browzer-css.css"
    }
}
')
1 Like

That worked thanks!

Another question, is there a way to programmatically add, remove, and edit bootstrapper targets served by BrowZer so I don't have to restart BrowZer each time I modify the targets?

Ideally there would be API endpoints I could use to modify the targets like I can with the main OpenZiti project.