CINXE.COM
<!doctype html> <html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-agent/changelog" data-has-hydrated="false"> <head> <meta charset="UTF-8"> <meta name="generator" content="Docusaurus v3.5.2"> <title data-rh="true">Changelog | ngrok documentation</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://ngrok.com/docs/img/ngrok-docs-opengraph.png"><meta data-rh="true" name="twitter:image" content="https://ngrok.com/docs/img/ngrok-docs-opengraph.png"><meta data-rh="true" property="og:url" content="https://ngrok.com/docs/agent/changelog/"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="keywords" content="ngrok, documentation, api, errors, reference, getting started, tutorials"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Changelog | ngrok documentation"><meta data-rh="true" name="description" content="v3"><meta data-rh="true" property="og:description" content="v3"><link data-rh="true" rel="icon" href="/docs/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ngrok.com/docs/agent/changelog/"><link data-rh="true" rel="alternate" href="https://ngrok.com/docs/agent/changelog/" hreflang="en"><link data-rh="true" rel="alternate" href="https://ngrok.com/docs/agent/changelog/" hreflang="x-default"><link data-rh="true" rel="preconnect" href="https://8D7MHVMLBR-dsn.algolia.net" crossorigin="anonymous"><link rel="preconnect" href="https://www.googletagmanager.com"> <script>window.dataLayer=window.dataLayer||[]</script> <script>!function(e,t,a,n){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var g=t.getElementsByTagName(a)[0],m=t.createElement(a);m.async=!0,m.src="https://www.googletagmanager.com/gtm.js?id=GTM-P4F37ZW",g.parentNode.insertBefore(m,g)}(window,document,"script","dataLayer")</script> <script id="hs-script-loader" src="//js.hs-scripts.com/21124867.js"></script> <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"> <script src="/docs/scripts/ketch.js"></script> <script src="https://global.ketchcdn.com/web/v2/config/ngrok/ngrok_ketch_tag/boot.js" async defer="defer"></script> <script src="/docs/scripts/fix-redirect.js" async></script> <script src="/docs/scripts/anchor-scroll-to.js" async></script> <script src="https://tag.clearbitscripts.com/v1/pk_1caf9e9fb3222466245fb17c8f807837/tags.js"></script><link rel="stylesheet" href="/docs/assets/css/styles.13d6ab4e.css"> <script src="/docs/assets/js/runtime~main.36fd4022.js" defer="defer"></script> <script src="/docs/assets/js/main.94660bb2.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-P4F37ZW" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_IipK" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a href="https://ngrok.com" target="_blank" rel="noopener noreferrer" class="navbar__brand"><div class="navbar__logo"><img src="/docs/img/ngrok-black.svg" alt="ngrok" class="themedComponent_Az_r themedComponent--light_ik9_"><img src="/docs/img/ngrok-white.svg" alt="ngrok" class="themedComponent_Az_r themedComponent--dark_eDvw"></div></a><a href="https://ngrok.com/product/platform" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Platform</a><a href="https://ngrok.com/use-cases" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Use cases</a><a href="https://ngrok.com/blog" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Blog</a><a href="https://ngrok.com/resources" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Resources</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/">Docs</a><a href="https://ngrok.com/pricing" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Pricing</a><a href="https://download.ngrok.com" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Get ngrok</a></div><div class="navbar__items navbar__items--right"><a href="https://dashboard.ngrok.com/login" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link dev-portal-login dev-portal-link">Log in</a><a href="https://ngrok.com/signup" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link dev-portal-signup dev-portal-link">Sign Up</a><div class="toggle_DITL colorModeToggle_bvw4"><button class="clean-btn toggleButton_bazi toggleButtonDisabled_IzIM" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_j6C1"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_uFh4"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_nbxA"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_pOYi"><div class="docsWrapper_kVRX"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_OuIh" type="button"></button><div class="docRoot_v94m"><aside class="theme-doc-sidebar-container docSidebarContainer_JlOU"><div class="sidebarViewport_A_zS"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button><div class="sidebar_idex"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_nVoB"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/docs/">Overview</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/docs/what-is-ngrok/">What is ngrok?</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/docs/how-ngrok-works/">How does ngrok work?</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/docs/why-ngrok/">Why ngrok?</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/docs/whats-new/">What's new?</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" href="/docs/getting-started/">Getting Started</a><button aria-label="Expand sidebar category 'Getting Started'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1"><div class="menu__section">Endpoints</div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" href="/docs/http/">HTTP</a><button aria-label="Expand sidebar category 'HTTP'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" href="/docs/tls/">TLS</a><button aria-label="Expand sidebar category 'TLS'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" href="/docs/tcp/">TCP</a><button aria-label="Expand sidebar category 'TCP'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1"><div class="menu__section">Connectivity</div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/docs/agent/">Agent</a><button aria-label="Collapse sidebar category 'Agent'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/agent/">Overview</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/agent/web-inspection-interface/">Web Inspection Interface</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/agent/cli/">CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/agent/cli-api/">CLI API Commands</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/docs/agent/config/">Configuration file</a><button aria-label="Expand sidebar category 'Configuration file'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/agent/api/">API</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/agent/ssh-reverse-tunnel-agent/">SSH Reverse Tunnel</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/agent/ingress/">Ingress Address</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/agent/changelog/">Changelog</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/agent/version-support-policy/">Version Support Policy</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/agent/diagnose/">Diagnose</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" href="/docs/agent-sdks/">Agent SDKs</a><button aria-label="Expand sidebar category 'Agent SDKs'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" href="/docs/k8s/">Kubernetes</a><button aria-label="Expand sidebar category 'Kubernetes'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1"><div class="menu__section">Platform</div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" href="/docs/network-edge/">Network Edge</a><button aria-label="Expand sidebar category 'Network Edge'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" href="/docs/api/">API</a><button aria-label="Expand sidebar category 'API'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" href="/docs/obs/">Observability</a><button aria-label="Expand sidebar category 'Observability'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" href="/docs/iam/">IAM</a><button aria-label="Expand sidebar category 'IAM'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" href="/docs/errors/">Errors</a><button aria-label="Expand sidebar category 'Errors'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1"><div class="menu__section">Walkthroughs</div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" href="/docs/guides/">Guides</a><button aria-label="Expand sidebar category 'Guides'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" href="/docs/integrations/">Integrations</a><button aria-label="Expand sidebar category 'Integrations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1"><div class="menu__section"></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/docs/faq/">FAQ</a></li></ul></nav></div></div></aside><main class="docMainContainer_HBBy"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_dNMx"><div class="docItemContainer_iJh1"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_SKcw" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/docs/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_ZMzL"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/docs/agent/"><span itemprop="name">Agent</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Changelog</span><meta itemprop="position" content="2"></li></ul></nav><div class="tocCollapsible_AX1Z theme-doc-toc-mobile tocMobile_HCfs"><button type="button" class="clean-btn tocCollapsibleButton_gEwV">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>ngrok Agent Changelog</h1></header> <h2 class="anchor anchorWithStickyNavbar_qeIy" id="v3">v3<a href="#v3" class="hash-link" aria-label="Direct link to v3" title="Direct link to v3"></a></h2> <h3 class="anchor anchorWithStickyNavbar_qeIy" id="ngrok-agent-3184---2024-11-11">ngrok Agent 3.18.4 - [2024-11-11]<a href="#ngrok-agent-3184---2024-11-11" class="hash-link" aria-label="Direct link to ngrok Agent 3.18.4 - [2024-11-11]" title="Direct link to ngrok Agent 3.18.4 - [2024-11-11]"></a></h3> <ul> <li>Fixed a bug causing the <code>--url</code> flag require an explicit scheme</li> </ul> <h3 class="anchor anchorWithStickyNavbar_qeIy" id="ngrok-agent-3183---2024-11-07">ngrok Agent 3.18.3 - [2024-11-07]<a href="#ngrok-agent-3183---2024-11-07" class="hash-link" aria-label="Direct link to ngrok Agent 3.18.3 - [2024-11-07]" title="Direct link to ngrok Agent 3.18.3 - [2024-11-07]"></a></h3> <ul> <li>Fixed agent diagnose return codes.</li> </ul> <h3 class="anchor anchorWithStickyNavbar_qeIy" id="ngrok-agent-3182---2024-10-31">ngrok Agent 3.18.2 - [2024-10-31]<a href="#ngrok-agent-3182---2024-10-31" class="hash-link" aria-label="Direct link to ngrok Agent 3.18.2 - [2024-10-31]" title="Direct link to ngrok Agent 3.18.2 - [2024-10-31]"></a></h3> <ul> <li>Fixed ngrok diagnose --region all report.</li> <li>Fixed scheme proto defaulting.</li> <li>Added 128 character limit to usernames for agent basic auth.</li> </ul> <h3 class="anchor anchorWithStickyNavbar_qeIy" id="ngrok-agent-3181---2024-10-24">ngrok Agent 3.18.1 - [2024-10-24]<a href="#ngrok-agent-3181---2024-10-24" class="hash-link" aria-label="Direct link to ngrok Agent 3.18.1 - [2024-10-24]" title="Direct link to ngrok Agent 3.18.1 - [2024-10-24]"></a></h3> <ul> <li>Adds binary execution path to the host system metrics collected.</li> <li>Fixed a bug where 4 character time zones were not handled properly in the console UI.</li> </ul> <h3 class="anchor anchorWithStickyNavbar_qeIy" id="ngrok-agent-3180---2024-10-17">ngrok Agent 3.18.0 - [2024-10-17]<a href="#ngrok-agent-3180---2024-10-17" class="hash-link" aria-label="Direct link to ngrok Agent 3.18.0 - [2024-10-17]" title="Direct link to ngrok Agent 3.18.0 - [2024-10-17]"></a></h3> <ul> <li>Added <code>--name</code> field for endpoints and tunnels when created from the agent config or CLI.</li> </ul> <h3 class="anchor anchorWithStickyNavbar_qeIy" id="ngrok-agent-3170---2024-10-10">ngrok Agent 3.17.0 - [2024-10-10]<a href="#ngrok-agent-3170---2024-10-10" class="hash-link" aria-label="Direct link to ngrok Agent 3.17.0 - [2024-10-10]" title="Direct link to ngrok Agent 3.17.0 - [2024-10-10]"></a></h3> <ul> <li>Added endpoint create/update/delete subcommands to the ngrok api command.</li> <li>Added support for policy phases like <code>on_tcp_connect</code>, <code>on_http_request</code> and <code>on_http_response</code>.</li> <li>Fixed a bug where we were incorrectly passing TLS as the endpoint proto rather than HTTP(S).</li> </ul> <h3 class="anchor anchorWithStickyNavbar_qeIy" id="ngrok-agent-3161---2024-10-03">ngrok Agent 3.16.1 - [2024-10-03]<a href="#ngrok-agent-3161---2024-10-03" class="hash-link" aria-label="Direct link to ngrok Agent 3.16.1 - [2024-10-03]" title="Direct link to ngrok Agent 3.16.1 - [2024-10-03]"></a></h3> <ul> <li>Added windows arm64 agent binary.</li> </ul> <h3 class="anchor anchorWithStickyNavbar_qeIy" id="ngrok-agent-3160---2024-09-09">ngrok Agent 3.16.0 - [2024-09-09]<a href="#ngrok-agent-3160---2024-09-09" class="hash-link" aria-label="Direct link to ngrok Agent 3.16.0 - [2024-09-09]" title="Direct link to ngrok Agent 3.16.0 - [2024-09-09]"></a></h3> <ul> <li>Releasing the features originally released by 3.15.0<!-- --> <ul> <li>Added <code>--url</code> agent CLI flag for creation of HTTP(S), TLS, and TCP protocol endpoints.</li> <li>Deprecated <code>--domain</code>, <code>--scheme</code>, and <code>--remote-addr</code> agent CLI flags, which have been replaced by <code>--url</code>.</li> <li>Added <code>--metadata</code> and <code>--description</code> agent CLI flags when using <code>--url</code>.</li> <li>Added <code>endpoints:</code> as a new field used for <a href="/docs/agent/config/v3/">endpoint creation</a>.</li> <li>A new <code>agent:</code> field has been added to the agent configuration format for V3.<!-- --> <ul> <li>v3 supports <em>both</em> tunnels and endpoints. Tunnels are now considered deprecated when using config v3.</li> <li>Some agent configuration fields have been renamed in v3.</li> <li>v2 is still supported, but does not support the new <code>endpoints:</code> , or <code>agent:</code> fields.</li> </ul> </li> <li>Added support for <a href="/docs/api/resources/endpoints/#list-endpoints">endpoint fields</a> in ngrok's <code>api</code>.</li> </ul> </li> <li>Update <code>config</code> commands to support new configuration version 3, including <code>upgrade</code>, <code>add-authtoken</code>, and <code>add-api-key</code></li> </ul> <h3 class="anchor anchorWithStickyNavbar_qeIy" id="ngrok-agent-3151---2024-08-29">ngrok Agent 3.15.1 - [2024-08-29]<a href="#ngrok-agent-3151---2024-08-29" class="hash-link" aria-label="Direct link to ngrok Agent 3.15.1 - [2024-08-29]" title="Direct link to ngrok Agent 3.15.1 - [2024-08-29]"></a></h3> <ul> <li>Restores the functionality and compatibility for version 3.14.0 due to bugs in the previous release. An updated version with the changes from 3.15.0 will be released early next week.</li> </ul> <h3 class="anchor anchorWithStickyNavbar_qeIy" id="unstable-ngrok-agent-3150---2024-08-29">[UNSTABLE] ngrok Agent 3.15.0 - [2024-08-29]<a href="#unstable-ngrok-agent-3150---2024-08-29" class="hash-link" aria-label="Direct link to [UNSTABLE] ngrok Agent 3.15.0 - [2024-08-29]" title="Direct link to [UNSTABLE] ngrok Agent 3.15.0 - [2024-08-29]"></a></h3> <ul> <li>Added <code>--url</code> agent CLI flag for creation of HTTP(S), TLS, and TCP protocol endpoints.</li> <li>Deprecated <code>--domain</code>, <code>--scheme</code>, and <code>--remote-addr</code> agent CLI flags, which have been replaced by <code>--url</code>.</li> <li>Added <code>--metadata</code> and <code>--description</code> agent CLI flags when using <code>--url</code>.</li> <li>Added <code>endpoints:</code> as a new field used for <a href="/docs/agent/config/v3/">endpoint creation</a>.</li> <li>A new <code>agent:</code> field has been added to the agent configuration format for V3.<!-- --> <ul> <li>v3 supports <em>both</em> tunnels and endpoints. Tunnels are now considered deprecated when using config v3.</li> <li>Some agent configuration fields have been renamed in v3.</li> <li>v2 is still supported, but does not support the new <code>endpoints:</code> , or <code>agent:</code> fields.</li> </ul> </li> <li>Added support for <a href="/docs/api/resources/endpoints/#list-endpoints">endpoint fields</a> in ngrok's <code>api</code>.</li> </ul> <h3 class="anchor anchorWithStickyNavbar_qeIy" id="ngrok-agent-3140---2024-08-01">ngrok Agent 3.14.0 - [2024-08-01]<a href="#ngrok-agent-3140---2024-08-01" class="hash-link" aria-label="Direct link to ngrok Agent 3.14.0 - [2024-08-01]" title="Direct link to ngrok Agent 3.14.0 - [2024-08-01]"></a></h3> <ul> <li>Added support for <code>traffic_policy</code> field in agent config for Traffic Policy configuration.</li> <li>Deprecated <code>policy</code></li> <li>Added <code>EndpointTrafficPolicy</code> module to Edge API.</li> </ul> <h3 class="anchor anchorWithStickyNavbar_qeIy" id="ngrok-agent-3130---2024-07-15">ngrok Agent 3.13.0 - [2024-07-15]<a href="#ngrok-agent-3130---2024-07-15" class="hash-link" aria-label="Direct link to ngrok Agent 3.13.0 - [2024-07-15]" title="Direct link to ngrok Agent 3.13.0 - [2024-07-15]"></a></h3> <ul> <li>In some cases, adds additional headers on error responses to ngrok that can be used to customize the content.</li> </ul> <h3 class="anchor anchorWithStickyNavbar_qeIy" id="ngrok-agent-3121---2024-07-11">ngrok Agent 3.12.1 - [2024-07-11]<a href="#ngrok-agent-3121---2024-07-11" class="hash-link" aria-label="Direct link to ngrok Agent 3.12.1 - [2024-07-11]" title="Direct link to ngrok Agent 3.12.1 - [2024-07-11]"></a></h3> <ul> <li>Fixed a bug in <code>ngrok diagnose</code> that would cause a panic if a server IP and the agent had TLS connectivity issues.</li> <li>Added <code>--traffic-policy-file</code> flag that accepts Traffic Policy configuration for HTTP, TCP, or TLS traffic.</li> <li>Deprecated <code>--policy-file</code> flag</li> </ul> <h3 class="anchor anchorWithStickyNavbar_qeIy" id="ngrok-agent-3120---2024-06-27">ngrok Agent 3.12.0 - [2024-06-27]<a href="#ngrok-agent-3120---2024-06-27" class="hash-link" aria-label="Direct link to ngrok Agent 3.12.0 - [2024-06-27]" title="Direct link to ngrok Agent 3.12.0 - [2024-06-27]"></a></h3> <ul> <li>Errors now have links to ngrok error page.</li> </ul> <h3 class="anchor anchorWithStickyNavbar_qeIy" id="ngrok-agent-3110---2024-06-13">ngrok Agent 3.11.0 - [2024-06-13]<a href="#ngrok-agent-3110---2024-06-13" class="hash-link" aria-label="Direct link to ngrok Agent 3.11.0 - [2024-06-13]" title="Direct link to ngrok Agent 3.11.0 - [2024-06-13]"></a></h3> <ul> <li><code>ngrok http</code> now has timestamps for incoming requests.</li> </ul> <h3 class="anchor anchorWithStickyNavbar_qeIy" id="ngrok-agent-3101---2024-06-06">ngrok Agent 3.10.1 - [2024-06-06]<a href="#ngrok-agent-3101---2024-06-06" class="hash-link" aria-label="Direct link to ngrok Agent 3.10.1 - [2024-06-06]" title="Direct link to ngrok Agent 3.10.1 - [2024-06-06]"></a></h3> <ul> <li>Requests to TLS endpoints using <code>proto: tls</code> and <code>terminate_at: agent</code> succeed after the agent session goes through a reconnection.</li> </ul> <h3 class="anchor anchorWithStickyNavbar_qeIy" id="ngrok-agent-3100---2024-05-23">ngrok Agent 3.10.0 - [2024-05-23]<a href="#ngrok-agent-3100---2024-05-23" class="hash-link" aria-label="Direct link to ngrok Agent 3.10.0 - [2024-05-23]" title="Direct link to ngrok Agent 3.10.0 - [2024-05-23]"></a></h3> <ul> <li><strong>ACTION MAY BE REQUIRED</strong>: The domain used for Certificate Revocation List (CRL) checks is now <code>crl.ngrok-agent.com</code> to align it with the domain used for session connections. This may require changes to your firewall or proxy settings to allow this outbound connection on port 80, or setting <code>crl_noverify: true</code> in the agent config file.</li> <li>Added CLI API support for <a href="/docs/iam/bot-users/">Bot Users</a>.</li> </ul> <h3 class="anchor anchorWithStickyNavbar_qeIy" id="ngrok-agent-390---2024-04-24">ngrok Agent 3.9.0 - [2024-04-24]<a href="#ngrok-agent-390---2024-04-24" class="hash-link" aria-label="Direct link to ngrok Agent 3.9.0 - [2024-04-24]" title="Direct link to ngrok Agent 3.9.0 - [2024-04-24]"></a></h3> <ul> <li>Added a <code>/api/status</code> endpoint to the local agent API that returns the agent's current status</li> <li>The agent will check the Certificate Revocation List (CRL) on Session initiation. If a custom agent ingress is being used that has an invalid CRL in the chain, the <code>crl_noverify: true</code> option can be used to override this check, if desired</li> <li>Certificate Revocation List (CRL) checking for certain Let's Encrypt certificate chains has been fixed</li> </ul> <h3 class="anchor anchorWithStickyNavbar_qeIy" id="ngrok-agent-380---2024-03-14">ngrok Agent 3.8.0 - [2024-03-14]<a href="#ngrok-agent-380---2024-03-14" class="hash-link" aria-label="Direct link to ngrok Agent 3.8.0 - [2024-03-14]" title="Direct link to ngrok Agent 3.8.0 - [2024-03-14]"></a></h3> <ul> <li>Added <code>json</code> support to Traffic Policy configuration</li> <li>Moved to ngrok-go v1.9.1</li> </ul> <h3 class="anchor anchorWithStickyNavbar_qeIy" id="ngrok-agent-370---2024-03-07">ngrok Agent 3.7.0 - [2024-03-07]<a href="#ngrok-agent-370---2024-03-07" class="hash-link" aria-label="Direct link to ngrok Agent 3.7.0 - [2024-03-07]" title="Direct link to ngrok Agent 3.7.0 - [2024-03-07]"></a></h3> <ul> <li>Fixed an issue where <code>ngrok diagnose --region all</code> would return an error for <code>eu-lon-1</code></li> <li>Fixed a typo in default usage output</li> <li>Moved to <code>ngrok-go</code> v1.9.0</li> </ul> <h3 class="anchor anchorWithStickyNavbar_qeIy" id="ngrok-agent-360---2024-02-06">ngrok Agent 3.6.0 - [2024-02-06]<a href="#ngrok-agent-360---2024-02-06" class="hash-link" aria-label="Direct link to ngrok Agent 3.6.0 - [2024-02-06]" title="Direct link to ngrok Agent 3.6.0 - [2024-02-06]"></a></h3> <ul> <li>Added <code>--policy-file</code> flag that accepts Traffic Policy configuration for HTTP, TCP, or TLS traffic.</li> <li>Added support for <code>policy</code> field in agent config for Traffic Policy configuration.</li> <li>Added concise help text when <code>ngrok</code> is run without any args</li> <li>Removed support for Windows 7 and Windows 8 (support for Windows 7 and 8 was dropped in <a href="https://tip.golang.org/doc/go1.21#windows" target="_blank" rel="noopener noreferrer">Go 1.21</a>)</li> </ul> <h3 class="anchor anchorWithStickyNavbar_qeIy" id="ngrok-agent-350---2023-12-01">ngrok Agent 3.5.0 - [2023-12-01]<a href="#ngrok-agent-350---2023-12-01" class="hash-link" aria-label="Direct link to ngrok Agent 3.5.0 - [2023-12-01]" title="Direct link to ngrok Agent 3.5.0 - [2023-12-01]"></a></h3> <ul> <li>The <code>--region</code> flag has been deprecated, ngrok automatically chooses the region with lowest latency</li> <li>The upstream tls configs have been renamed, with backwards compatibility:<!-- --> <ul> <li><code>--verify-upstream-tls</code> is now <code>--upstream-tls-verify</code></li> <li><code>--upstream-ca-path</code> is now <code>--upstream-tls-verify-cas</code></li> </ul> </li> <li>An option for <code>--app-protocol</code> of the upstream, which can be set to <code>http2</code>, has been added</li> <li>The <code>StopTunnel</code> message is now handled by the agent</li> </ul> <h3 class="anchor anchorWithStickyNavbar_qeIy" id="ngrok-agent-340---2023-11-03">ngrok Agent 3.4.0 - [2023-11-03]<a href="#ngrok-agent-340---2023-11-03" class="hash-link" aria-label="Direct link to ngrok Agent 3.4.0 - [2023-11-03]" title="Direct link to ngrok Agent 3.4.0 - [2023-11-03]"></a></h3> <ul> <li>Added support for upstream TLS verification when forwarding to <code>https://</code> or <code>tls://</code> addresses.<!-- --> <ul> <li><code>--verify-upstream-tls</code> enables TLS verification of server TLS certificates</li> <li><code>--upstream-ca-path</code> sets the certificate authority used to verify upstream server certificates</li> </ul> </li> </ul> <h3 class="anchor anchorWithStickyNavbar_qeIy" id="ngrok-agent-335---2023-09-26">ngrok Agent 3.3.5 - [2023-09-26]<a href="#ngrok-agent-335---2023-09-26" class="hash-link" aria-label="Direct link to ngrok Agent 3.3.5 - [2023-09-26]" title="Direct link to ngrok Agent 3.3.5 - [2023-09-26]"></a></h3> <ul> <li>Added support for the <a href="/docs/http/user-agent-filter/">User Agent Filter module</a> that allows or denies traffic to HTTPS endpoints based on incoming user agents.</li> <li>Added <code>--ua-filter-allow</code> and <code>--ua-filter-deny</code> flags that accept a list of regular expression strings</li> </ul> <h3 class="anchor anchorWithStickyNavbar_qeIy" id="ngrok-agent-334---2023-08-18">ngrok Agent 3.3.4 - [2023-08-18]<a href="#ngrok-agent-334---2023-08-18" class="hash-link" aria-label="Direct link to ngrok Agent 3.3.4 - [2023-08-18]" title="Direct link to ngrok Agent 3.3.4 - [2023-08-18]"></a></h3> <ul> <li>Fixed a bug where the agent running as a service would log to syslog even when another log destination was specified</li> <li>Fixed a bug where the agent could incorrectly ignore <code>dns_resolver_ips</code></li> </ul> <h3 class="anchor anchorWithStickyNavbar_qeIy" id="ngrok-agent-333---2023-08-11">ngrok Agent 3.3.3 - [2023-08-11]<a href="#ngrok-agent-333---2023-08-11" class="hash-link" aria-label="Direct link to ngrok Agent 3.3.3 - [2023-08-11]" title="Direct link to ngrok Agent 3.3.3 - [2023-08-11]"></a></h3> <ul> <li>Added new <code>us-cal-1</code> region which will reduce latency for users in the western half of North America</li> </ul> <h3 class="anchor anchorWithStickyNavbar_qeIy" id="ngrok-agent-332---2023-07-27">ngrok Agent 3.3.2 - [2023-07-27]<a href="#ngrok-agent-332---2023-07-27" class="hash-link" aria-label="Direct link to ngrok Agent 3.3.2 - [2023-07-27]" title="Direct link to ngrok Agent 3.3.2 - [2023-07-27]"></a></h3> <ul> <li>Added support for the <a href="/docs/integrations/datadog/event-destination/">Datadog event destination</a> in <code>ngrok api</code></li> </ul> <h3 class="anchor anchorWithStickyNavbar_qeIy" id="ngrok-agent-331---2023-06-05">ngrok Agent 3.3.1 - [2023-06-05]<a href="#ngrok-agent-331---2023-06-05" class="hash-link" aria-label="Direct link to ngrok Agent 3.3.1 - [2023-06-05]" title="Direct link to ngrok Agent 3.3.1 - [2023-06-05]"></a></h3> <ul> <li>Fixed a bug where colons in request header and response header values were not allowed (e.g. <code>--request-header-add "Access-Control-Allow-Origin:https://developer.mozilla.org"</code>)</li> <li>Fixed a bug introduced in v3.3.0 where <code>--terminate-at edge</code> was not using the correct TLS certificate</li> </ul> <h3 class="anchor anchorWithStickyNavbar_qeIy" id="ngrok-agent-330---2023-05-09">ngrok Agent 3.3.0 - [2023-05-09]<a href="#ngrok-agent-330---2023-05-09" class="hash-link" aria-label="Direct link to ngrok Agent 3.3.0 - [2023-05-09]" title="Direct link to ngrok Agent 3.3.0 - [2023-05-09]"></a></h3> <ul> <li>Added new default tunnel ingress names: the agent now connects to <a href="/docs/guides/other-guides/security-dev-productivity/#6-track-and-block-unauthorized-tunnel-activity"><code>connect.ngrok-agent.com</code></a> when starting a session</li> <li>Improved <code>ngrok diagnose</code> output to check that the DNS entry for <code>localhost</code> resolves</li> <li>Added the command <code>ngrok config add-server-addr</code> for configuring custom agent ingresses</li> <li>Re-wrote the tunnel and session backend to use the <code>ngrok-go</code> library</li> </ul> <h3 class="anchor anchorWithStickyNavbar_qeIy" id="ngrok-agent-322---2023-03-27">ngrok Agent 3.2.2 - [2023-03-27]<a href="#ngrok-agent-322---2023-03-27" class="hash-link" aria-label="Direct link to ngrok Agent 3.2.2 - [2023-03-27]" title="Direct link to ngrok Agent 3.2.2 - [2023-03-27]"></a></h3> <ul> <li>Fixed a bug introduced in v3.2.1 with tab complete for command line flags</li> </ul> <h3 class="anchor anchorWithStickyNavbar_qeIy" id="ngrok-agent-321---2023-03-13">ngrok Agent 3.2.1 - [2023-03-13]<a href="#ngrok-agent-321---2023-03-13" class="hash-link" aria-label="Direct link to ngrok Agent 3.2.1 - [2023-03-13]" title="Direct link to ngrok Agent 3.2.1 - [2023-03-13]"></a></h3> <ul> <li>Deprecated the <code>--subdomain</code> and <code>--hostname</code> flags.</li> <li>Updated all <code>--subdomain</code> and <code>--hostname</code> examples to use <code>--domain</code>.</li> <li>Fixed a bug where the agent did not resolve local DNS correctly on macOS arm64</li> <li>Allow specifying ngrok <code>--region=auto</code> to pick the closest region (defaults to auto)</li> <li>Support for the <code>NGROK_API_KEY</code> environment variable when using the ngrok api subcommand</li> <li><code>--log-format=json</code> now results in more output being formatted as json</li> </ul> <h3 class="anchor anchorWithStickyNavbar_qeIy" id="ngrok-agent-311---2023-01-13">ngrok Agent 3.1.1 - [2023-01-13]<a href="#ngrok-agent-311---2023-01-13" class="hash-link" aria-label="Direct link to ngrok Agent 3.1.1 - [2023-01-13]" title="Direct link to ngrok Agent 3.1.1 - [2023-01-13]"></a></h3> <ul> <li>Expanded diagnosis coverage when running <code>ngrok diagnose</code> to include testing against all regions and additional debug information of the underlying system.</li> <li>Updated <code>--config</code> option to be accepted in any position with cli command.</li> <li>Fixed <code>ngrok config add-authtoken <AUTHTOKEN></code> to also save the default version if it does not exist in the config file.</li> <li>Fixed rare race condition where agent would crash unexpectedly.</li> <li>Added DNS rebinding protection which includes <a href="/docs/agent/config/v3/#web_allow_hosts"><code>web_allow_hosts</code></a> configuration.</li> </ul> <h3 class="anchor anchorWithStickyNavbar_qeIy" id="ngrok-agent-310---2022-09-14">ngrok Agent 3.1.0 - [2022-09-14]<a href="#ngrok-agent-310---2022-09-14" class="hash-link" aria-label="Direct link to ngrok Agent 3.1.0 - [2022-09-14]" title="Direct link to ngrok Agent 3.1.0 - [2022-09-14]"></a></h3> <ul> <li>Started signing Windows executables with a code signing certificate. Includes polish for Windows executable properties like description and icon.</li> <li>Updated the root CA recognized by new agent versions. Improves incident recovery and mitigation options.</li> </ul> <h3 class="anchor anchorWithStickyNavbar_qeIy" id="ngrok-agent-307---2022-08-17">ngrok Agent 3.0.7 - [2022-08-17]<a href="#ngrok-agent-307---2022-08-17" class="hash-link" aria-label="Direct link to ngrok Agent 3.0.7 - [2022-08-17]" title="Direct link to ngrok Agent 3.0.7 - [2022-08-17]"></a></h3> <ul> <li>Added <code>--region</code> flag to the <code>ngrok diagnose</code> command. Including support for <code>--region all</code> to diagnose all regions.</li> <li>Ignore the <code>--config</code> flag when passed to a command that does not support it.</li> </ul> <h3 class="anchor anchorWithStickyNavbar_qeIy" id="ngrok-agent-306---2022-06-30">ngrok Agent 3.0.6 - [2022-06-30]<a href="#ngrok-agent-306---2022-06-30" class="hash-link" aria-label="Direct link to ngrok Agent 3.0.6 - [2022-06-30]" title="Direct link to ngrok Agent 3.0.6 - [2022-06-30]"></a></h3> <ul> <li>Fixed issues with replay not displaying requests in the ngrok Agent web UI, console UI, and API.</li> <li>Fixed null pointer issues with <code>ngrok diagnose</code> command.</li> </ul> <h3 class="anchor anchorWithStickyNavbar_qeIy" id="ngrok-agent-305---2022-06-22">ngrok Agent 3.0.5 - [2022-06-22]<a href="#ngrok-agent-305---2022-06-22" class="hash-link" aria-label="Direct link to ngrok Agent 3.0.5 - [2022-06-22]" title="Direct link to ngrok Agent 3.0.5 - [2022-06-22]"></a></h3> <ul> <li>Fixed a formatting issue in the inspector web UI for the header navigation.</li> <li>Updated the start tunnel API to allow starting labeled tunnels using a list of strings as labels.</li> </ul> <h3 class="anchor anchorWithStickyNavbar_qeIy" id="ngrok-agent-304---2022-05-27">ngrok Agent 3.0.4 - [2022-05-27]<a href="#ngrok-agent-304---2022-05-27" class="hash-link" aria-label="Direct link to ngrok Agent 3.0.4 - [2022-05-27]" title="Direct link to ngrok Agent 3.0.4 - [2022-05-27]"></a></h3> <ul> <li>Added the ability to provide messages to users via the agent console.</li> <li><code>ngrok config edit</code> will now allow you to edit an invalid configuration file.</li> <li>Updated the display of the latency number in the console UI to be more human readable.</li> </ul> <h3 class="anchor anchorWithStickyNavbar_qeIy" id="ngrok-agent-303---2022-04-26">ngrok Agent 3.0.3 - [2022-04-26]<a href="#ngrok-agent-303---2022-04-26" class="hash-link" aria-label="Direct link to ngrok Agent 3.0.3 - [2022-04-26]" title="Direct link to ngrok Agent 3.0.3 - [2022-04-26]"></a></h3> <ul> <li>Fixed a bug on Windows where running the agent from explorer did not open a cmd prompt.</li> </ul> <h3 class="anchor anchorWithStickyNavbar_qeIy" id="ngrok-agent-302---2022-04-11">ngrok Agent 3.0.2 - [2022-04-11]<a href="#ngrok-agent-302---2022-04-11" class="hash-link" aria-label="Direct link to ngrok Agent 3.0.2 - [2022-04-11]" title="Direct link to ngrok Agent 3.0.2 - [2022-04-11]"></a></h3> <ul> <li>Fixed a bug that was not allowing users to start tunnels via the API.</li> </ul> <h3 class="anchor anchorWithStickyNavbar_qeIy" id="ngrok-agent-301---2022-04-04">ngrok Agent 3.0.1 - [2022-04-04]<a href="#ngrok-agent-301---2022-04-04" class="hash-link" aria-label="Direct link to ngrok Agent 3.0.1 - [2022-04-04]" title="Direct link to ngrok Agent 3.0.1 - [2022-04-04]"></a></h3> <ul> <li>Added <code>ngrok config edit</code> command to open the config file in your default editor.</li> <li>Removed invalid <code>--proxy-proto</code> flag from the <code>ngrok start</code> command.</li> <li>Added a migration to the <code>ngrok config upgrade</code> command to convert basic auth config parameters.</li> <li>The ngrok agent API will now error if invalid values are passed to it. Previously it ignored them.</li> </ul> <h3 class="anchor anchorWithStickyNavbar_qeIy" id="ngrok-agent-300---2022-03-28">ngrok Agent 3.0.0 - [2022-03-28]<a href="#ngrok-agent-300---2022-03-28" class="hash-link" aria-label="Direct link to ngrok Agent 3.0.0 - [2022-03-28]" title="Direct link to ngrok Agent 3.0.0 - [2022-03-28]"></a></h3> <p>For more information about upgrading from previous versions of the agent to v3.0, see our <a href="/docs/guides/other-guides/upgrade-v2-v3/">upgrade guide</a>.</p> <ul> <li>Fixed an issue where an agent would not reconnect after removing a reserved domain from your account.</li> <li>Added <code>ngrok completion</code> to enable autocomplete for the cli.</li> <li>Added <code>proxy_proto</code> option for enabling and specifying the <a href="https://www.haproxy.com/blog/haproxy/proxy-protocol/" target="_blank" rel="noopener noreferrer">HAProxy's PROXY protocol version</a>.</li> <li>Added the ability to set the <code>connect_interface</code> for the agent.</li> <li>Renamed <code>bind_tls</code> to <code>schemes</code>.</li> <li>The agent UI now display ping time.</li> <li>Added the <code>ngrok diagnose</code> command to the agent for troubleshooting connection issues.</li> <li>Added the <code>ngrok config</code> command for managing the configuration file.</li> <li>Added the ability to call the ngrok API from the agent using <code>ngrok api</code>.</li> <li>Added the <code>ngrok service</code> command to manage the ngrok agent as a service.</li> <li>All ngrok agent configuration files must now include a version number to indicate the format.</li> <li>Added the ability to start Labeled Tunnels to the agent that work with the new Tunnel Group backend.</li> <li>Renamed the "Clear" button to "Clear Requests" in the inspect UI to make it clear as to what it's doing.</li> <li>Fixed an issue where running <code>ngrok authtoken</code> would make changes to your tunnel definitions.</li> <li>The inspect UI will now pretty-print content types ending in +json.</li> <li>Fixed an issue where the inspect UI was adding unwanted HTML tags to JSON bodies when replayed.</li> <li>The ngrok agent now logs to stdout by default when <code>console_ui: false</code>.</li> <li>Command line arguments must use single hyphen for single letter options, and double hyphen for longer names.</li> <li>The ngrok agent now fails when there are keys in the config file it doesn't understand. Previously it ignored unknown options.</li> <li>Using the <code>--host-header rewrite</code> option puts the original host header value into the <code>X-Forwarded-Host</code> header field instead of the <code>X-Original-Host</code> header in an attempt to be more standard.</li> <li>Combined <code>http_proxy</code> and <code>socks5_proxy</code> configuration options into a single option (</li> </ul> <h2 class="anchor anchorWithStickyNavbar_qeIy" id="v2">v2<a href="#v2" class="hash-link" aria-label="Direct link to v2" title="Direct link to v2"></a></h2> <h3 class="anchor anchorWithStickyNavbar_qeIy" id="ngrok-agent-23x">ngrok Agent 2.3.X<a href="#ngrok-agent-23x" class="hash-link" aria-label="Direct link to ngrok Agent 2.3.X" title="Direct link to ngrok Agent 2.3.X"></a></h3> <p>If asked to forward to port 443, ngrok will now automatically forward HTTPS traffic instead of HTTP. This change would only affect you if you previously ran a server accepting unencrypted HTTP on port 443. To workaround this, you may specify an explicit http URL if you need the old behavior: <code>ngrok http http://localhost:443</code>.</p> <p>If run under sudo, the ngrok agent previously consulted the sudo-ing user's home directory file when looking for its default configuration file. It now consults the home directory of the assumed user. To workaround this, you may specify an explicit configuration file location with the <code>-config</code> option.</p> <h3 class="anchor anchorWithStickyNavbar_qeIy" id="ngrok-agent-22x">ngrok Agent 2.2.X<a href="#ngrok-agent-22x" class="hash-link" aria-label="Direct link to ngrok Agent 2.2.X" title="Direct link to ngrok Agent 2.2.X"></a></h3> <p>The ngrok agent API no longer accepts <code>application/x-www-form-urlencoded</code> request bodies. In practice, this only affects the <code>/api/requests/http/:id</code> endpoint because posting to the <code>/api/tunnels</code> endpoint with this type of request body previously caused ngrok to crash.</p> <p>This change was made to help protect against maliciously crafted web pages that could cause a user to inadvertently interact with their local ngrok API.</p> <h3 class="anchor anchorWithStickyNavbar_qeIy" id="ngrok-agent-21x">ngrok Agent 2.1.X<a href="#ngrok-agent-21x" class="hash-link" aria-label="Direct link to ngrok Agent 2.1.X" title="Direct link to ngrok Agent 2.1.X"></a></h3> <p>Behavior changes for <code>http</code> and <code>tls</code> tunnels defined in the configuration file or started via the API that do not have a <code>subdomain</code> or <code>hostname</code> property.</p> <div class="language-yaml codeBlockContainer_eHBk theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_feMQ"><pre tabindex="0" class="prism-code language-yaml codeBlock_HtbR thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_JKK0"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">tunnels</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token key atrule" style="color:#00a4db">webapp</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token key atrule" style="color:#00a4db">proto</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> http</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token key atrule" style="color:#00a4db">addr</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">80</span><br></span></code></pre><div class="buttonGroup_Ug71"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_c3my" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y0ux"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_mLQu"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>Given this example tunnel configuration, behavior will change in the following ways.</p> <h5 class="anchor anchorWithStickyNavbar_qeIy" id="old-behavior">Old Behavior<a href="#old-behavior" class="hash-link" aria-label="Direct link to Old Behavior" title="Direct link to Old Behavior"></a></h5> <p>Starts a tunnel using the name of the tunnel as the subdomain resulting in the URL <code>http://webapp.ngrok.io</code></p> <h5 class="anchor anchorWithStickyNavbar_qeIy" id="new-behavior">New Behavior<a href="#new-behavior" class="hash-link" aria-label="Direct link to New Behavior" title="Direct link to New Behavior"></a></h5> <p>Starts a tunnel with a random subdomain, for example a URL like <code>http://d95211d2.ngrok.io</code></p> <h5 class="anchor anchorWithStickyNavbar_qeIy" id="how-to-keep-the-old-behavior">How to keep the old behavior<a href="#how-to-keep-the-old-behavior" class="hash-link" aria-label="Direct link to How to keep the old behavior" title="Direct link to How to keep the old behavior"></a></h5> <p>Add a <code>domain</code> property with the same name as the tunnel:</p> <div class="language-yaml codeBlockContainer_eHBk theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_feMQ"><pre tabindex="0" class="prism-code language-yaml codeBlock_HtbR thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_JKK0"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">tunnels</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token key atrule" style="color:#00a4db">webapp</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token key atrule" style="color:#00a4db">proto</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> http</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token key atrule" style="color:#00a4db">addr</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">80</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token key atrule" style="color:#00a4db">domain</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> webapp.ngrok.io</span><br></span></code></pre><div class="buttonGroup_Ug71"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_c3my" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y0ux"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_mLQu"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/ngrok/ngrok-docs/edit/main/docs/agent/changelog.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_pNyv" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_wOM1"><span class="theme-last-updated">Last updated<!-- --> on <b><time datetime="2024-11-26T19:41:31.000Z" itemprop="dateModified">Nov 26, 2024</time></b> by <b>samcrichard</b></span></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/agent/ingress/"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Ingress Address</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/agent/version-support-policy/"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Version Support Policy</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_iEsB thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#v3" class="table-of-contents__link toc-highlight">v3</a><ul><li><a href="#ngrok-agent-3184---2024-11-11" class="table-of-contents__link toc-highlight">ngrok Agent 3.18.4 - [2024-11-11]</a></li><li><a href="#ngrok-agent-3183---2024-11-07" class="table-of-contents__link toc-highlight">ngrok Agent 3.18.3 - [2024-11-07]</a></li><li><a href="#ngrok-agent-3182---2024-10-31" class="table-of-contents__link toc-highlight">ngrok Agent 3.18.2 - [2024-10-31]</a></li><li><a href="#ngrok-agent-3181---2024-10-24" class="table-of-contents__link toc-highlight">ngrok Agent 3.18.1 - [2024-10-24]</a></li><li><a href="#ngrok-agent-3180---2024-10-17" class="table-of-contents__link toc-highlight">ngrok Agent 3.18.0 - [2024-10-17]</a></li><li><a href="#ngrok-agent-3170---2024-10-10" class="table-of-contents__link toc-highlight">ngrok Agent 3.17.0 - [2024-10-10]</a></li><li><a href="#ngrok-agent-3161---2024-10-03" class="table-of-contents__link toc-highlight">ngrok Agent 3.16.1 - [2024-10-03]</a></li><li><a href="#ngrok-agent-3160---2024-09-09" class="table-of-contents__link toc-highlight">ngrok Agent 3.16.0 - [2024-09-09]</a></li><li><a href="#ngrok-agent-3151---2024-08-29" class="table-of-contents__link toc-highlight">ngrok Agent 3.15.1 - [2024-08-29]</a></li><li><a href="#unstable-ngrok-agent-3150---2024-08-29" class="table-of-contents__link toc-highlight">[UNSTABLE] ngrok Agent 3.15.0 - [2024-08-29]</a></li><li><a href="#ngrok-agent-3140---2024-08-01" class="table-of-contents__link toc-highlight">ngrok Agent 3.14.0 - [2024-08-01]</a></li><li><a href="#ngrok-agent-3130---2024-07-15" class="table-of-contents__link toc-highlight">ngrok Agent 3.13.0 - [2024-07-15]</a></li><li><a href="#ngrok-agent-3121---2024-07-11" class="table-of-contents__link toc-highlight">ngrok Agent 3.12.1 - [2024-07-11]</a></li><li><a href="#ngrok-agent-3120---2024-06-27" class="table-of-contents__link toc-highlight">ngrok Agent 3.12.0 - [2024-06-27]</a></li><li><a href="#ngrok-agent-3110---2024-06-13" class="table-of-contents__link toc-highlight">ngrok Agent 3.11.0 - [2024-06-13]</a></li><li><a href="#ngrok-agent-3101---2024-06-06" class="table-of-contents__link toc-highlight">ngrok Agent 3.10.1 - [2024-06-06]</a></li><li><a href="#ngrok-agent-3100---2024-05-23" class="table-of-contents__link toc-highlight">ngrok Agent 3.10.0 - [2024-05-23]</a></li><li><a href="#ngrok-agent-390---2024-04-24" class="table-of-contents__link toc-highlight">ngrok Agent 3.9.0 - [2024-04-24]</a></li><li><a href="#ngrok-agent-380---2024-03-14" class="table-of-contents__link toc-highlight">ngrok Agent 3.8.0 - [2024-03-14]</a></li><li><a href="#ngrok-agent-370---2024-03-07" class="table-of-contents__link toc-highlight">ngrok Agent 3.7.0 - [2024-03-07]</a></li><li><a href="#ngrok-agent-360---2024-02-06" class="table-of-contents__link toc-highlight">ngrok Agent 3.6.0 - [2024-02-06]</a></li><li><a href="#ngrok-agent-350---2023-12-01" class="table-of-contents__link toc-highlight">ngrok Agent 3.5.0 - [2023-12-01]</a></li><li><a href="#ngrok-agent-340---2023-11-03" class="table-of-contents__link toc-highlight">ngrok Agent 3.4.0 - [2023-11-03]</a></li><li><a href="#ngrok-agent-335---2023-09-26" class="table-of-contents__link toc-highlight">ngrok Agent 3.3.5 - [2023-09-26]</a></li><li><a href="#ngrok-agent-334---2023-08-18" class="table-of-contents__link toc-highlight">ngrok Agent 3.3.4 - [2023-08-18]</a></li><li><a href="#ngrok-agent-333---2023-08-11" class="table-of-contents__link toc-highlight">ngrok Agent 3.3.3 - [2023-08-11]</a></li><li><a href="#ngrok-agent-332---2023-07-27" class="table-of-contents__link toc-highlight">ngrok Agent 3.3.2 - [2023-07-27]</a></li><li><a href="#ngrok-agent-331---2023-06-05" class="table-of-contents__link toc-highlight">ngrok Agent 3.3.1 - [2023-06-05]</a></li><li><a href="#ngrok-agent-330---2023-05-09" class="table-of-contents__link toc-highlight">ngrok Agent 3.3.0 - [2023-05-09]</a></li><li><a href="#ngrok-agent-322---2023-03-27" class="table-of-contents__link toc-highlight">ngrok Agent 3.2.2 - [2023-03-27]</a></li><li><a href="#ngrok-agent-321---2023-03-13" class="table-of-contents__link toc-highlight">ngrok Agent 3.2.1 - [2023-03-13]</a></li><li><a href="#ngrok-agent-311---2023-01-13" class="table-of-contents__link toc-highlight">ngrok Agent 3.1.1 - [2023-01-13]</a></li><li><a href="#ngrok-agent-310---2022-09-14" class="table-of-contents__link toc-highlight">ngrok Agent 3.1.0 - [2022-09-14]</a></li><li><a href="#ngrok-agent-307---2022-08-17" class="table-of-contents__link toc-highlight">ngrok Agent 3.0.7 - [2022-08-17]</a></li><li><a href="#ngrok-agent-306---2022-06-30" class="table-of-contents__link toc-highlight">ngrok Agent 3.0.6 - [2022-06-30]</a></li><li><a href="#ngrok-agent-305---2022-06-22" class="table-of-contents__link toc-highlight">ngrok Agent 3.0.5 - [2022-06-22]</a></li><li><a href="#ngrok-agent-304---2022-05-27" class="table-of-contents__link toc-highlight">ngrok Agent 3.0.4 - [2022-05-27]</a></li><li><a href="#ngrok-agent-303---2022-04-26" class="table-of-contents__link toc-highlight">ngrok Agent 3.0.3 - [2022-04-26]</a></li><li><a href="#ngrok-agent-302---2022-04-11" class="table-of-contents__link toc-highlight">ngrok Agent 3.0.2 - [2022-04-11]</a></li><li><a href="#ngrok-agent-301---2022-04-04" class="table-of-contents__link toc-highlight">ngrok Agent 3.0.1 - [2022-04-04]</a></li><li><a href="#ngrok-agent-300---2022-03-28" class="table-of-contents__link toc-highlight">ngrok Agent 3.0.0 - [2022-03-28]</a></li></ul></li><li><a href="#v2" class="table-of-contents__link toc-highlight">v2</a><ul><li><a href="#ngrok-agent-23x" class="table-of-contents__link toc-highlight">ngrok Agent 2.3.X</a></li><li><a href="#ngrok-agent-22x" class="table-of-contents__link toc-highlight">ngrok Agent 2.2.X</a></li><li><a href="#ngrok-agent-21x" class="table-of-contents__link toc-highlight">ngrok Agent 2.1.X</a></li></ul></li></ul></div></div></div></div></main></div></div></div><footer class="footer"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">ngrok Service</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/docs/getting-started/">Get Started</a></li><li class="footer__item"><a href="https://dashboard.ngrok.com/signup" target="_blank" rel="noopener noreferrer" class="footer__link-item">Sign up</a></li><li class="footer__item"><a href="https://dashboard.ngrok.com/login" target="_blank" rel="noopener noreferrer" class="footer__link-item">Log in</a></li><li class="footer__item"><a href="https://download.ngrok.com" target="_blank" rel="noopener noreferrer" class="footer__link-item">Download</a></li><li class="footer__item"><a href="https://ngrok.com/docs" target="_blank" rel="noopener noreferrer" class="footer__link-item">Docs</a></li><li class="footer__item"><a href="https://status.ngrok.com" target="_blank" rel="noopener noreferrer" class="footer__link-item">Status</a></li></ul></div><div class="col footer__col"><div class="footer__title">ngrok.com</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://ngrok.com/product" target="_blank" rel="noopener noreferrer" class="footer__link-item">Product</a></li><li class="footer__item"><a href="https://ngrok.com/pricing" target="_blank" rel="noopener noreferrer" class="footer__link-item">Pricing</a></li><li class="footer__item"><a href="https://ngrok.com/customers" target="_blank" rel="noopener noreferrer" class="footer__link-item">Customers</a></li><li class="footer__item"><a href="https://ngrok.com/solutions" target="_blank" rel="noopener noreferrer" class="footer__link-item">Solutions</a></li><li class="footer__item"><a href="https://ngrok.com/partners" target="_blank" rel="noopener noreferrer" class="footer__link-item">Partners</a></li><li class="footer__item"><a href="https://trust.ngrok.com" target="_blank" rel="noopener noreferrer" class="footer__link-item">Trust Portal</a></li></ul></div><div class="col footer__col"><div class="footer__title">Legal</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://ngrok.com/abuse" target="_blank" rel="noopener noreferrer" class="footer__link-item">Abuse</a></li><li class="footer__item"><a href="https://ngrok.com/dpa" target="_blank" rel="noopener noreferrer" class="footer__link-item">DPA</a></li><li class="footer__item"><a href="https://ngrok.com/privacy" target="_blank" rel="noopener noreferrer" class="footer__link-item">Privacy</a></li><li class="footer__item"><a href="https://ngrok.com/security" target="_blank" rel="noopener noreferrer" class="footer__link-item">Security</a></li><li class="footer__item"><a href="https://ngrok.com/tos" target="_blank" rel="noopener noreferrer" class="footer__link-item">Terms of service</a></li><li class="footer__item"><a href="https://ngrok.com/privacy-preferences" target="_blank" rel="noopener noreferrer" class="footer__link-item">Privacy Preferences</a></li></ul></div><div class="col footer__col"><div class="footer__title">More</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://ngrok.com/careers" target="_blank" rel="noopener noreferrer" class="footer__link-item">Careers</a></li><li class="footer__item"><a href="https://blog.ngrok.com" target="_blank" rel="noopener noreferrer" class="footer__link-item">Blog</a></li><li class="footer__item"><a href="https://ngrok.com/slack" target="_blank" rel="noopener noreferrer" class="footer__link-item">Community</a></li><li class="footer__item"><a href="https://twitter.com/ngrokHQ" target="_blank" rel="noopener noreferrer" class="footer__link-item">Twitter</a></li><li class="footer__item"><a href="https://www.linkedin.com/company/ngrok" target="_blank" rel="noopener noreferrer" class="footer__link-item">LinkedIn</a></li><li class="footer__item"><a href="https://github.com/ngrok" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub</a></li></ul></div></div><div class="footer__bottom text--center"><div class="footer__copyright">© ngrok 2024</div></div></div></footer></div> </body> </html>