CINXE.COM
ngrok - Online in One Line
<!DOCTYPE html> <html class="h-full" lang="en-US" dir="ltr" id="ngrok"> <head> <meta charset="utf-8"> <script nonce="I9sncWvCVDRxSooOH8CGAQ"> (function() { const themes = ["system","light","dark","light-high-contrast","dark-high-contrast"]; const isTheme = (value) => typeof value === "string" && themes.includes(value); const fallbackTheme = "system" ?? "system"; let maybeStoredTheme = null; try { maybeStoredTheme = "localStorage" in window ? window.localStorage.getItem("mantle-ui-theme") : null; } catch (_) {} const hasStoredTheme = isTheme(maybeStoredTheme); if (!hasStoredTheme && "localStorage" in window) { try { window.localStorage.setItem("mantle-ui-theme", fallbackTheme); } catch (_) {} } const themePreference = hasStoredTheme ? maybeStoredTheme : fallbackTheme; const prefersDarkMode = window.matchMedia("(prefers-color-scheme: dark)").matches; const prefersHighContrast = window.matchMedia("(prefers-contrast: more)").matches; let initialTheme = themePreference; if (initialTheme === "system") { if (prefersHighContrast) { initialTheme = prefersDarkMode ? "dark-high-contrast" : "light-high-contrast"; } else { initialTheme = prefersDarkMode ? "dark" : "light"; } } const htmlElement = document.documentElement; htmlElement.classList.remove(...themes); htmlElement.classList.add(initialTheme); htmlElement.dataset.appliedTheme = initialTheme; htmlElement.dataset.theme = themePreference; })(); </script> <script nonce="I9sncWvCVDRxSooOH8CGAQ" type="text/javascript" defer async> (function (w, d, s, l, i) { w[l] = w[l] || []; w[l].push({ "gtm.start": new Date().getTime(), event: "gtm.js" }); var f = d.getElementsByTagName(s)[0], j = d.createElement(s), dl = l != "dataLayer" ? "&l=" + l : ""; j.async = true; j.src = "https://www.googletagmanager.com/gtm.js?id=" + i + dl; var n = d.querySelector("[nonce]"); n && j.setAttribute("nonce", n.nonce || n.getAttribute("nonce")); f.parentNode.insertBefore(j, f); })(window, document, "script", "dataLayer", "GTM-5PHW34Q"); </script> <link rel="preconnect" href="https://cdn.ngrok.com"> <link rel="preconnect" href="https://cdn.candu.ai" /> <link rel="preconnect" href="https://www.googletagmanager.com" /> <link rel="preconnect" href="https://www.google-analytics.com" /> <link rel="preload" href="https://cdn.ngrok.com/static/fonts/euclid-square/EuclidSquare-Regular-WebS.woff" as="font" type="font/woff" crossorigin="anonymous" /> <link rel="preload" href="https://cdn.ngrok.com/static/fonts/euclid-square/EuclidSquare-RegularItalic-WebS.woff" as="font" type="font/woff" crossorigin="anonymous" /> <link rel="preload" href="https://cdn.ngrok.com/static/fonts/euclid-square/EuclidSquare-Medium-WebS.woff" as="font" type="font/woff" crossorigin="anonymous" /> <link rel="preload" href="https://cdn.ngrok.com/static/fonts/euclid-square/EuclidSquare-Semibold-WebS.woff" as="font" type="font/woff" crossorigin="anonymous" /> <link rel="preload" href="https://cdn.ngrok.com/static/fonts/euclid-square/EuclidSquare-MediumItalic-WebS.woff" as="font" type="font/woff" crossorigin="anonymous" /> <link rel="preload" href="https://cdn.ngrok.com/static/fonts/ibm-plex-mono/IBMPlexMono-Text.woff" as="font" type="font/woff" crossorigin="anonymous" /> <link rel="preload" href="https://cdn.ngrok.com/static/fonts/ibm-plex-mono/IBMPlexMono-TextItalic.woff" as="font" type="font/woff" crossorigin="anonymous" /> <link rel="preload" href="https://cdn.ngrok.com/static/fonts/ibm-plex-mono/IBMPlexMono-SemiBold.woff" as="font" type="font/woff" crossorigin="anonymous" /> <link rel="preload" href="https://cdn.ngrok.com/static/fonts/ibm-plex-mono/IBMPlexMono-SemiBoldItalic.woff" as="font" type="font/woff" crossorigin="anonymous" /> <title>ngrok - Online in One Line</title> <meta name="author" content="ngrok" /> <meta name="description" content="ngrok is the fastest way to put anything on the internet with a single command." /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="base-domain" content="ngrok.com" /> <meta name="candu-client-token" content="7YW2WVBXeF" /> <meta name="cdn-domain" content="cdn.ngrok.com" /> <meta name="idp-domain" content="idp.ngrok.com" /> <meta name="ipv4-domain" content="ipv4.ngrok.com" /> <meta name="ipv6-domain" content="ipv6.ngrok.com" /> <meta name="is-production-deploy" content="true" /> <meta name="recaptcha-site-key" content="6Lc-NSwqAAAAAAFlPnIwKC74-lg9lr70Er-5BBm7" /> <meta name="stripe-public-key" content="pk_live_l5Qs14J7AWRdY9eD4IIYzUWh" /> <link rel="shortcut icon" type="image/x-icon" href="/v0-statics/favicon.ico" /> <link rel="stylesheet" type="text/css" href="/v0-statics/css/vendor.0cd0c18904aeb49eb3e3.css" /> <link rel="stylesheet" type="text/css" href="/v0-statics/css/app_unauth.612e34a5c848482b303a.css" /> <script defer src="/v0-statics/js/vendor.53a01d2c65f1f400b2da.js"></script> <script defer src="/v0-statics/js/rpx.5dd3aa002472df9a2302.js"></script> <script defer src="/v0-statics/js/app_unauth.34f9566c99859d000517.js"></script> <script defer src=""></script> </head> <body class="h-dvh bg-base"> <noscript class="h-screen min-h-screen"> <style> #app { display: none; } </style> <h1 class="flex items-center justify-center fixed inset-0 h-1/3"> To use the ngrok dashboard, please enable JavaScript. </h1> <iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5PHW34Q" height="0" width="0" style="display: none; visibility: hidden" ></iframe> </noscript> <div id="data" data-state="" data-page=""></div> <div id="app" class="h-full isolate"> <div class="flex items-center justify-center fixed inset-0 h-1/3"> <div class="ant-spin ant-spin-lg ant-spin-spinning"> <span class="ant-spin-dot ant-spin-dot-spin"> <i class="ant-spin-dot-item"></i> <i class="ant-spin-dot-item"></i> <i class="ant-spin-dot-item"></i> <i class="ant-spin-dot-item"></i> </span> </div> </div> </div> <script nonce="I9sncWvCVDRxSooOH8CGAQ" type="text/javascript"> window.semaphore = window.semaphore || []; window.ketch = function () { window.semaphore.push(arguments); }; </script> <script nonce="I9sncWvCVDRxSooOH8CGAQ" type="text/javascript" defer async src="https://global.ketchcdn.com/web/v2/config/ngrok/ngrok_ketch_tag/boot.js"></script> </body> </html>