CommunityToolkit.Aspire.Hosting.Ngrok 9.5.1-beta.304

Prefix Reserved
This is a prerelease version of CommunityToolkit.Aspire.Hosting.Ngrok.
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.5.1-beta.304
                    
NuGet\Install-Package CommunityToolkit.Aspire.Hosting.Ngrok -Version 9.5.1-beta.304
                    
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.5.1-beta.304" />
                    
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.5.1-beta.304" />
                    
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.5.1-beta.304
                    
#r "nuget: CommunityToolkit.Aspire.Hosting.Ngrok, 9.5.1-beta.304"
                    
#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.
#addin nuget:?package=CommunityToolkit.Aspire.Hosting.Ngrok&version=9.5.1-beta.304&prerelease
                    
Install CommunityToolkit.Aspire.Hosting.Ngrok as a Cake Addin
#tool nuget:?package=CommunityToolkit.Aspire.Hosting.Ngrok&version=9.5.1-beta.304&prerelease
                    
Install CommunityToolkit.Aspire.Hosting.Ngrok 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.5.1-beta.307 0 6/16/2025
9.5.1-beta.306 253 6/11/2025
9.5.1-beta.305 80 6/7/2025
9.5.1-beta.304 89 6/6/2025
9.5.1-beta.303 103 6/4/2025
9.5.1-beta.302 106 6/4/2025
9.5.1-beta.301 110 6/2/2025
9.5.1-beta.300 112 5/28/2025
9.5.0 366 5/27/2025
9.5.0-beta.299 111 5/27/2025
9.5.0-beta.298 118 5/26/2025
9.5.0-beta.297 64 5/24/2025
9.5.0-beta.296 67 5/24/2025
9.5.0-beta.295 33 5/24/2025
9.4.1-beta.291 111 5/19/2025
9.4.1-beta.289 120 5/16/2025
9.4.1-beta.288 173 5/16/2025
9.4.1-beta.287 169 5/16/2025
9.4.1-beta.286 169 5/16/2025
9.4.1-beta.285 186 5/14/2025
9.4.1-beta.284 191 5/13/2025
9.4.1-beta.283 192 5/12/2025
9.4.1-beta.282 114 5/7/2025
9.4.1-beta.280 107 5/2/2025
9.4.1-beta.279 103 5/2/2025
9.4.1-beta.277 120 4/23/2025
9.4.1-beta.276 122 4/23/2025
9.4.1-beta.275 116 4/23/2025
9.4.1-beta.274 122 4/23/2025
9.4.1-beta.273 119 4/23/2025
9.4.1-beta.272 116 4/23/2025
9.4.1-beta.271 118 4/23/2025
9.4.1-beta.270 140 4/20/2025
9.4.0 791 4/20/2025
9.4.0-beta.269 123 4/20/2025
9.4.0-beta.268 116 4/20/2025
9.3.1-beta.267 121 4/20/2025
9.3.1-beta.266 48 4/19/2025
9.3.1-beta.265 151 4/15/2025
9.3.1-beta.264 153 4/15/2025
9.3.1-beta.263 149 4/15/2025
9.3.1-beta.262 152 4/15/2025
9.3.1-beta.260 121 4/10/2025
9.3.1-beta.259 120 4/8/2025
9.3.1-beta.258 124 4/8/2025
9.3.1-beta.257 125 4/8/2025
9.3.1-beta.256 118 4/8/2025
9.3.1-beta.255 119 4/8/2025
9.3.1-beta.254 117 4/8/2025
9.3.1-beta.253 121 4/1/2025
9.3.1-beta.252 97 3/27/2025
9.3.1-beta.250 100 3/27/2025
9.3.1-beta.249 96 3/27/2025
9.3.1-beta.248 100 3/27/2025
9.3.1-beta.247 100 3/27/2025
9.3.1-beta.244 447 3/25/2025
9.3.1-beta.242 447 3/24/2025
9.3.1-beta.241 116 3/19/2025
9.3.0 466 3/19/2025
9.3.0-beta.239 112 3/19/2025
9.2.2-beta.237 122 3/19/2025
9.2.2-beta.236 82 3/14/2025
9.2.2-beta.230 115 3/13/2025
9.2.2-beta.229 115 3/13/2025
9.2.2-beta.228 129 3/11/2025
9.2.2-beta.227 125 3/11/2025
9.2.2-beta.226 128 3/11/2025
9.2.2-beta.225 118 3/11/2025
9.2.2-beta.224 122 3/11/2025
9.2.2-beta.223 130 3/10/2025
9.2.2-beta.222 131 3/10/2025
9.2.2-beta.220 124 3/9/2025
9.2.2-beta.218 126 3/9/2025
9.2.2-beta.217 165 3/7/2025
9.2.2-beta.216 170 3/7/2025
9.2.2-beta.215 166 3/7/2025
9.2.2-beta.214 168 3/5/2025
9.2.2-beta.213 157 3/5/2025
9.2.2-beta.212 161 3/5/2025
9.2.2-beta.211 163 3/4/2025
9.2.2-beta.210 164 3/4/2025
9.2.2-beta.208 66 3/3/2025
9.2.1 122 3/3/2025
9.2.1-beta.207 85 3/2/2025
9.2.1-beta.206 59 3/1/2025
9.2.1-beta.205 61 2/27/2025
9.2.1-beta.204 59 2/26/2025
9.2.1-beta.203 56 2/26/2025
9.2.0 120 2/26/2025
9.2.0-beta.202 51 2/26/2025
9.2.0-beta.201 60 2/26/2025
9.2.0-beta.199 58 2/26/2025
9.2.0-beta.198 51 2/26/2025
9.1.1-beta.197 61 2/25/2025
9.1.1-beta.196 64 2/25/2025
9.1.1-beta.195 56 2/25/2025
9.1.1-beta.194 60 2/25/2025
9.1.1-beta.193 64 2/25/2025
9.1.1-beta.192 65 2/24/2025
9.1.1-beta.191 106 2/24/2025
9.1.1-beta.190 71 2/19/2025
9.1.1-beta.189 58 2/19/2025
9.1.1-beta.188 66 2/19/2025
9.1.1-beta.187 72 2/19/2025
9.1.1-beta.183 71 2/18/2025
9.1.1-beta.182 68 2/18/2025
9.1.1-beta.181 83 2/18/2025
9.1.1-beta.180 66 2/17/2025
9.1.1-beta.178 65 2/17/2025
9.1.1-beta.177 82 2/12/2025
9.1.1-beta.176 74 2/11/2025
9.1.1-beta.175 66 2/11/2025
9.1.1-beta.173 68 2/10/2025
9.1.1-beta.169 79 2/6/2025
9.1.1-beta.168 56 2/5/2025
9.1.1-beta.166 61 2/5/2025
9.1.1-beta.165 52 2/5/2025
9.1.1-beta.164 63 2/3/2025
9.1.1-beta.162 62 2/3/2025
9.1.1-beta.155 61 1/30/2025
9.1.1-beta.154 55 1/30/2025
9.1.1-beta.153 54 1/30/2025
9.1.1-beta.152 50 1/29/2025
9.1.1-beta.150 61 1/29/2025
9.1.1-beta.148 64 1/26/2025
9.1.1-beta.147 55 1/26/2025
9.1.1-beta.146 59 1/23/2025
9.1.1-beta.145 53 1/22/2025
9.1.1-beta.144 54 1/22/2025
9.1.1-beta.142 57 1/22/2025
9.1.1-beta.140 58 1/22/2025
9.1.1-beta.139 54 1/21/2025
9.1.1-beta.138 55 1/20/2025
9.1.1-beta.137 49 1/17/2025
9.1.1-beta.136 50 1/15/2025
9.1.1-beta.135 26 1/15/2025
9.1.1-beta.134 29 1/15/2025