CommunityToolkit.Aspire.Hosting.Ngrok 9.7.2

Prefix Reserved
There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package CommunityToolkit.Aspire.Hosting.Ngrok --version 9.7.2
                    
NuGet\Install-Package CommunityToolkit.Aspire.Hosting.Ngrok -Version 9.7.2
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="CommunityToolkit.Aspire.Hosting.Ngrok" Version="9.7.2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="CommunityToolkit.Aspire.Hosting.Ngrok" Version="9.7.2" />
                    
Directory.Packages.props
<PackageReference Include="CommunityToolkit.Aspire.Hosting.Ngrok" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add CommunityToolkit.Aspire.Hosting.Ngrok --version 9.7.2
                    
#r "nuget: CommunityToolkit.Aspire.Hosting.Ngrok, 9.7.2"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package CommunityToolkit.Aspire.Hosting.Ngrok@9.7.2
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=CommunityToolkit.Aspire.Hosting.Ngrok&version=9.7.2
                    
Install as a Cake Addin
#tool nuget:?package=CommunityToolkit.Aspire.Hosting.Ngrok&version=9.7.2
                    
Install as a Cake Tool

CommunityToolkit.Aspire.Hosting.Ngrok library

Provides extension methods and resource definitions for a .NET Aspire AppHost to configure a ngrok container.

Getting Started

Install the package

In your AppHost project, install the package using the following command:

dotnet add package CommunityToolkit.Aspire.Hosting.Ngrok

Example usage

Then, in the Program.cs file of app host, add a ngrok resource and add endpoints to be tunneled following methods:

var myService = builder.AddProject<Projects.MyService>();
var otherSevice = builder.AddProject<Projects.OtherService>();

var authToken = builder
    .AddParameter("ngrok-auth-token", "your-ngrok-auth-token", secret: true);

builder.AddNgrok("ngrok", endpointPort: 59600) // omit endpointPort to use random port
    .WithAuthToken(authToken)
    .WithTunnelEndpoint(myService, "http", "<your-ngrok-domain>")
    .WithTunnelEndpoint(otherSevice, "http"); // ngrok will generate a random domain for this service

Querying the ngrok tunneled endpoints

After the ngrok container has started, you can query the ngrok tunneled endpoints using api exposed by the ngrok container:

curl -H "Accept: application/json" -s http://localhost:59600/api/tunnels

This will return a JSON response with the ngrok tunneled endpoints.

{
  "tunnels": [
    {
      "name": "my-http",
      "ID": "5baa78f84cffb31a96cccf5bbe992451",
      "uri": "/api/tunnels/my-http",
      "public_url": "https://<your-ngrok-domain>",
      "proto": "https",
      "config": {
        "addr": "http://host.docker.internal:5165",
        "inspect": true
      },
      // ...
    }, {
      "name": "other-http",
      "ID": "f7f1351d1307e3615ca7de310bf6bb61",
      "uri": "/api/tunnels/other-http",
      "public_url": "https://0849-94-134-176-242.ngrok-free.app",
      "proto": "https",
      "config": {
          "addr": "http://host.docker.internal:3657",
          "inspect": true
      },
      // ...
    }
  ],
  "uri": "/api/tunnels"
}

Additional Information

Feedback & contributing

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
9.8.0-beta.389 163 9/18/2025
9.8.0-beta.388 189 9/16/2025
9.8.0-beta.386 182 9/15/2025
9.8.0-beta.385 186 9/15/2025
9.8.0-beta.384 47 9/13/2025
9.8.0-beta.376 121 9/8/2025
9.8.0-beta.375 55 9/6/2025
9.8.0-beta.373 131 9/5/2025
9.8.0-beta.372 129 9/4/2025
9.8.0-beta.370 121 9/2/2025
9.8.0-beta.364 118 9/1/2025
9.7.2 695 8/29/2025
9.7.2-beta.362 161 8/29/2025
9.7.2-beta.361 168 8/29/2025
9.7.2-beta.360 165 8/29/2025
9.7.2-beta.359 163 8/28/2025
9.7.2-beta.358 164 8/28/2025
9.7.2-beta.357 166 8/28/2025
9.7.1 388 8/27/2025
9.7.1-beta.355 165 8/27/2025
9.7.1-beta.354 162 8/27/2025
9.7.1-beta.353 164 8/27/2025
9.7.1-beta.352 162 8/27/2025
9.7.1-beta.351 168 8/27/2025
9.7.1-beta.348 138 8/14/2025
9.7.1-beta.344 73 8/10/2025
9.7.1-beta.343 194 8/8/2025
9.7.1-beta.342 201 8/7/2025
9.7.1-beta.341 196 8/6/2025
9.7.1-beta.340 184 8/5/2025
9.7.1-beta.339 182 8/5/2025
9.7.0 1,353 8/1/2025
9.7.0-beta.337 80 8/1/2025
9.7.0-beta.336 91 8/1/2025
9.7.0-beta.335 88 8/1/2025
9.7.0-beta.333 99 7/30/2025
9.6.1-beta.332 98 7/30/2025
9.6.1-beta.331 102 7/30/2025
9.6.1-beta.330 96 7/30/2025
9.6.1-beta.329 97 7/30/2025
9.6.1-beta.328 97 7/29/2025
9.6.1-beta.327 98 7/28/2025
9.6.1-beta.326 94 7/28/2025
9.6.0 500 7/10/2025
9.6.0-beta.324 121 7/10/2025
9.5.1-beta.323 125 7/10/2025
9.5.1-beta.322 118 7/10/2025
9.5.1-beta.321 125 7/10/2025
9.5.1-beta.320 124 7/9/2025
9.5.1-beta.319 124 7/8/2025
9.5.1-beta.318 138 7/2/2025
9.5.1-beta.317 123 6/30/2025
9.5.1-beta.315 127 6/26/2025
9.5.1-beta.314 122 6/23/2025
9.5.1-beta.313 111 6/20/2025
9.5.1-beta.312 114 6/20/2025
9.5.1-beta.311 141 6/18/2025
9.5.1-beta.310 129 6/17/2025
9.5.1-beta.309 131 6/17/2025
9.5.1-beta.308 124 6/17/2025
9.5.1-beta.307 128 6/16/2025
9.5.1-beta.306 279 6/11/2025
9.5.1-beta.305 98 6/7/2025
9.5.1-beta.304 109 6/6/2025
9.5.1-beta.303 122 6/4/2025
9.5.1-beta.302 133 6/4/2025
9.5.1-beta.301 135 6/2/2025
9.5.1-beta.300 130 5/28/2025
9.5.0 2,077 5/27/2025
9.5.0-beta.299 129 5/27/2025
9.5.0-beta.298 135 5/26/2025
9.5.0-beta.297 82 5/24/2025
9.5.0-beta.296 85 5/24/2025
9.5.0-beta.295 61 5/24/2025
9.4.1-beta.291 129 5/19/2025
9.4.1-beta.289 156 5/16/2025
9.4.1-beta.288 192 5/16/2025
9.4.1-beta.287 186 5/16/2025
9.4.1-beta.286 190 5/16/2025
9.4.1-beta.285 204 5/14/2025
9.4.1-beta.284 209 5/13/2025
9.4.1-beta.283 212 5/12/2025
9.4.1-beta.282 136 5/7/2025
9.4.1-beta.280 130 5/2/2025
9.4.1-beta.279 122 5/2/2025
9.4.1-beta.277 137 4/23/2025
9.4.1-beta.276 143 4/23/2025
9.4.1-beta.275 137 4/23/2025
9.4.1-beta.274 147 4/23/2025
9.4.1-beta.273 137 4/23/2025
9.4.1-beta.272 145 4/23/2025
9.4.1-beta.271 148 4/23/2025
9.4.1-beta.270 170 4/20/2025
9.4.0 905 4/20/2025
9.4.0-beta.269 143 4/20/2025
9.4.0-beta.268 147 4/20/2025
9.3.1-beta.267 150 4/20/2025
9.3.1-beta.266 74 4/19/2025
9.3.1-beta.265 168 4/15/2025
9.3.1-beta.264 170 4/15/2025
9.3.1-beta.263 170 4/15/2025
9.3.1-beta.262 171 4/15/2025
9.3.1-beta.260 138 4/10/2025
9.3.1-beta.259 137 4/8/2025
9.3.1-beta.258 150 4/8/2025
9.3.1-beta.257 143 4/8/2025
9.3.1-beta.256 137 4/8/2025
9.3.1-beta.255 142 4/8/2025
9.3.1-beta.254 143 4/8/2025
9.3.1-beta.253 139 4/1/2025
9.3.1-beta.252 118 3/27/2025
9.3.1-beta.250 130 3/27/2025
9.3.1-beta.249 115 3/27/2025
9.3.1-beta.248 120 3/27/2025
9.3.1-beta.247 118 3/27/2025
9.3.1-beta.244 464 3/25/2025
9.3.1-beta.242 468 3/24/2025
9.3.1-beta.241 135 3/19/2025
9.3.0 501 3/19/2025
9.3.0-beta.239 128 3/19/2025
9.2.2-beta.237 139 3/19/2025
9.2.2-beta.236 98 3/14/2025
9.2.2-beta.230 139 3/13/2025
9.2.2-beta.229 132 3/13/2025
9.2.2-beta.228 152 3/11/2025
9.2.2-beta.227 149 3/11/2025
9.2.2-beta.226 146 3/11/2025
9.2.2-beta.225 135 3/11/2025
9.2.2-beta.224 149 3/11/2025
9.2.2-beta.223 146 3/10/2025
9.2.2-beta.222 151 3/10/2025
9.2.2-beta.220 139 3/9/2025
9.2.2-beta.218 142 3/9/2025
9.2.2-beta.217 182 3/7/2025
9.2.2-beta.216 188 3/7/2025
9.2.2-beta.215 179 3/7/2025
9.2.2-beta.214 198 3/5/2025
9.2.2-beta.213 173 3/5/2025
9.2.2-beta.212 176 3/5/2025
9.2.2-beta.211 178 3/4/2025
9.2.2-beta.210 190 3/4/2025
9.2.2-beta.208 85 3/3/2025
9.2.1 144 3/3/2025
9.2.1-beta.207 101 3/2/2025
9.2.1-beta.206 76 3/1/2025
9.2.1-beta.205 78 2/27/2025
9.2.1-beta.204 82 2/26/2025
9.2.1-beta.203 70 2/26/2025
9.2.0 145 2/26/2025
9.2.0-beta.202 76 2/26/2025
9.2.0-beta.201 79 2/26/2025
9.2.0-beta.199 75 2/26/2025
9.2.0-beta.198 74 2/26/2025
9.1.1-beta.197 80 2/25/2025
9.1.1-beta.196 91 2/25/2025
9.1.1-beta.195 75 2/25/2025
9.1.1-beta.194 80 2/25/2025
9.1.1-beta.193 91 2/25/2025
9.1.1-beta.192 91 2/24/2025
9.1.1-beta.191 134 2/24/2025
9.1.1-beta.190 89 2/19/2025
9.1.1-beta.189 78 2/19/2025
9.1.1-beta.188 89 2/19/2025
9.1.1-beta.187 92 2/19/2025
9.1.1-beta.183 87 2/18/2025
9.1.1-beta.182 86 2/18/2025
9.1.1-beta.181 100 2/18/2025
9.1.1-beta.180 87 2/17/2025
9.1.1-beta.178 87 2/17/2025
9.1.1-beta.177 98 2/12/2025
9.1.1-beta.176 95 2/11/2025
9.1.1-beta.175 85 2/11/2025
9.1.1-beta.173 84 2/10/2025
9.1.1-beta.169 182 2/6/2025
9.1.1-beta.168 79 2/5/2025
9.1.1-beta.166 76 2/5/2025
9.1.1-beta.165 71 2/5/2025
9.1.1-beta.164 84 2/3/2025
9.1.1-beta.162 77 2/3/2025
9.1.1-beta.155 78 1/30/2025
9.1.1-beta.154 74 1/30/2025
9.1.1-beta.153 71 1/30/2025
9.1.1-beta.152 65 1/29/2025
9.1.1-beta.150 82 1/29/2025
9.1.1-beta.148 80 1/26/2025
9.1.1-beta.147 71 1/26/2025
9.1.1-beta.146 82 1/23/2025
9.1.1-beta.145 85 1/22/2025
9.1.1-beta.144 74 1/22/2025
9.1.1-beta.142 73 1/22/2025
9.1.1-beta.140 85 1/22/2025
9.1.1-beta.139 74 1/21/2025
9.1.1-beta.138 83 1/20/2025
9.1.1-beta.137 70 1/17/2025
9.1.1-beta.136 76 1/15/2025
9.1.1-beta.135 47 1/15/2025
9.1.1-beta.134 46 1/15/2025