CommunityToolkit.Aspire.Hosting.Ngrok 9.8.0-beta.399

Prefix Reserved
This is a prerelease version of CommunityToolkit.Aspire.Hosting.Ngrok.
There is a newer version of this package available.
See the version list below for details.
dotnet add package CommunityToolkit.Aspire.Hosting.Ngrok --version 9.8.0-beta.399
                    
NuGet\Install-Package CommunityToolkit.Aspire.Hosting.Ngrok -Version 9.8.0-beta.399
                    
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.8.0-beta.399" />
                    
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.8.0-beta.399" />
                    
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.8.0-beta.399
                    
#r "nuget: CommunityToolkit.Aspire.Hosting.Ngrok, 9.8.0-beta.399"
                    
#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.8.0-beta.399
                    
#: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.8.0-beta.399&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=CommunityToolkit.Aspire.Hosting.Ngrok&version=9.8.0-beta.399&prerelease
                    
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 224 9/26/2025
9.8.0-beta.402 24 9/29/2025
9.8.0-beta.401 27 9/29/2025
9.8.0-beta.399 103 9/26/2025
9.8.0-beta.398 107 9/25/2025
9.8.0-beta.397 109 9/25/2025
9.8.0-beta.395 111 9/24/2025
9.8.0-beta.394 115 9/23/2025
9.8.0-beta.393 113 9/23/2025
9.8.0-beta.392 113 9/23/2025
9.8.0-beta.389 244 9/18/2025
9.8.0-beta.388 261 9/16/2025
9.8.0-beta.386 195 9/15/2025
9.8.0-beta.385 199 9/15/2025
9.8.0-beta.384 50 9/13/2025
9.8.0-beta.376 123 9/8/2025
9.8.0-beta.375 58 9/6/2025
9.8.0-beta.373 133 9/5/2025
9.8.0-beta.372 131 9/4/2025
9.8.0-beta.370 122 9/2/2025
9.8.0-beta.364 119 9/1/2025
9.7.2 1,320 8/29/2025
9.7.2-beta.362 162 8/29/2025
9.7.2-beta.361 169 8/29/2025
9.7.2-beta.360 166 8/29/2025
9.7.2-beta.359 164 8/28/2025
9.7.2-beta.358 165 8/28/2025
9.7.2-beta.357 167 8/28/2025
9.7.1 416 8/27/2025
9.7.1-beta.355 166 8/27/2025
9.7.1-beta.354 163 8/27/2025
9.7.1-beta.353 165 8/27/2025
9.7.1-beta.352 163 8/27/2025
9.7.1-beta.351 169 8/27/2025
9.7.1-beta.348 156 8/14/2025
9.7.1-beta.344 74 8/10/2025
9.7.1-beta.343 195 8/8/2025
9.7.1-beta.342 202 8/7/2025
9.7.1-beta.341 197 8/6/2025
9.7.1-beta.340 185 8/5/2025
9.7.1-beta.339 183 8/5/2025
9.7.0 1,459 8/1/2025
9.7.0-beta.337 81 8/1/2025
9.7.0-beta.336 92 8/1/2025
9.7.0-beta.335 89 8/1/2025
9.7.0-beta.333 100 7/30/2025
9.6.1-beta.332 99 7/30/2025
9.6.1-beta.331 103 7/30/2025
9.6.1-beta.330 97 7/30/2025
9.6.1-beta.329 98 7/30/2025
9.6.1-beta.328 107 7/29/2025
9.6.1-beta.327 115 7/28/2025
9.6.1-beta.326 112 7/28/2025
9.6.0 661 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 126 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 144 6/18/2025
9.5.1-beta.310 130 6/17/2025
9.5.1-beta.309 135 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 281 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 138 6/4/2025
9.5.1-beta.301 136 6/2/2025
9.5.1-beta.300 130 5/28/2025
9.5.0 2,129 5/27/2025
9.5.0-beta.299 130 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 67 5/24/2025
9.4.1-beta.291 129 5/19/2025
9.4.1-beta.289 160 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 213 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 150 4/23/2025
9.4.1-beta.273 137 4/23/2025
9.4.1-beta.272 151 4/23/2025
9.4.1-beta.271 150 4/23/2025
9.4.1-beta.270 175 4/20/2025
9.4.0 915 4/20/2025
9.4.0-beta.269 143 4/20/2025
9.4.0-beta.268 150 4/20/2025
9.3.1-beta.267 154 4/20/2025
9.3.1-beta.266 74 4/19/2025
9.3.1-beta.265 169 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 153 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 148 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 133 3/27/2025
9.3.1-beta.249 115 3/27/2025
9.3.1-beta.248 121 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 511 3/19/2025
9.3.0-beta.239 128 3/19/2025
9.2.2-beta.237 140 3/19/2025
9.2.2-beta.236 98 3/14/2025
9.2.2-beta.230 146 3/13/2025
9.2.2-beta.229 132 3/13/2025
9.2.2-beta.228 157 3/11/2025
9.2.2-beta.227 153 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 155 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 201 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 192 3/4/2025
9.2.2-beta.208 85 3/3/2025
9.2.1 154 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 85 2/26/2025
9.2.1-beta.203 70 2/26/2025
9.2.0 157 2/26/2025
9.2.0-beta.202 81 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 75 2/26/2025
9.1.1-beta.197 80 2/25/2025
9.1.1-beta.196 96 2/25/2025
9.1.1-beta.195 76 2/25/2025
9.1.1-beta.194 80 2/25/2025
9.1.1-beta.193 97 2/25/2025
9.1.1-beta.192 94 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 93 2/19/2025
9.1.1-beta.187 95 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 98 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 183 2/6/2025
9.1.1-beta.168 83 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 85 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 72 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 84 1/23/2025
9.1.1-beta.145 89 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 89 1/22/2025
9.1.1-beta.139 75 1/21/2025
9.1.1-beta.138 87 1/20/2025
9.1.1-beta.137 73 1/17/2025
9.1.1-beta.136 78 1/15/2025
9.1.1-beta.135 47 1/15/2025
9.1.1-beta.134 47 1/15/2025