CommunityToolkit.Aspire.Hosting.Ngrok 9.4.1-beta.284

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.4.1-beta.284
                    
NuGet\Install-Package CommunityToolkit.Aspire.Hosting.Ngrok -Version 9.4.1-beta.284
                    
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.4.1-beta.284" />
                    
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.4.1-beta.284" />
                    
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.4.1-beta.284
                    
#r "nuget: CommunityToolkit.Aspire.Hosting.Ngrok, 9.4.1-beta.284"
                    
#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.4.1-beta.284&prerelease
                    
Install CommunityToolkit.Aspire.Hosting.Ngrok as a Cake Addin
#tool nuget:?package=CommunityToolkit.Aspire.Hosting.Ngrok&version=9.4.1-beta.284&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.313 27 6/20/2025
9.5.1-beta.312 31 6/20/2025
9.5.1-beta.311 60 6/18/2025
9.5.1-beta.310 62 6/17/2025
9.5.1-beta.309 63 6/17/2025
9.5.1-beta.308 63 6/17/2025
9.5.1-beta.307 65 6/16/2025
9.5.1-beta.306 254 6/11/2025
9.5.1-beta.305 82 6/7/2025
9.5.1-beta.304 91 6/6/2025
9.5.1-beta.303 105 6/4/2025
9.5.1-beta.302 108 6/4/2025
9.5.1-beta.301 111 6/2/2025
9.5.1-beta.300 113 5/28/2025
9.5.0 495 5/27/2025
9.5.0-beta.299 112 5/27/2025
9.5.0-beta.298 119 5/26/2025
9.5.0-beta.297 65 5/24/2025
9.5.0-beta.296 68 5/24/2025
9.5.0-beta.295 34 5/24/2025
9.4.1-beta.291 112 5/19/2025
9.4.1-beta.289 121 5/16/2025
9.4.1-beta.288 174 5/16/2025
9.4.1-beta.287 170 5/16/2025
9.4.1-beta.286 170 5/16/2025
9.4.1-beta.285 188 5/14/2025
9.4.1-beta.284 192 5/13/2025
9.4.1-beta.283 193 5/12/2025
9.4.1-beta.282 116 5/7/2025
9.4.1-beta.280 110 5/2/2025
9.4.1-beta.279 105 5/2/2025
9.4.1-beta.277 122 4/23/2025
9.4.1-beta.276 123 4/23/2025
9.4.1-beta.275 117 4/23/2025
9.4.1-beta.274 123 4/23/2025
9.4.1-beta.273 120 4/23/2025
9.4.1-beta.272 117 4/23/2025
9.4.1-beta.271 119 4/23/2025
9.4.1-beta.270 141 4/20/2025
9.4.0 861 4/20/2025
9.4.0-beta.269 124 4/20/2025
9.4.0-beta.268 117 4/20/2025
9.3.1-beta.267 122 4/20/2025
9.3.1-beta.266 49 4/19/2025
9.3.1-beta.265 152 4/15/2025
9.3.1-beta.264 154 4/15/2025
9.3.1-beta.263 150 4/15/2025
9.3.1-beta.262 153 4/15/2025
9.3.1-beta.260 122 4/10/2025
9.3.1-beta.259 121 4/8/2025
9.3.1-beta.258 126 4/8/2025
9.3.1-beta.257 126 4/8/2025
9.3.1-beta.256 119 4/8/2025
9.3.1-beta.255 121 4/8/2025
9.3.1-beta.254 118 4/8/2025
9.3.1-beta.253 122 4/1/2025
9.3.1-beta.252 98 3/27/2025
9.3.1-beta.250 101 3/27/2025
9.3.1-beta.249 97 3/27/2025
9.3.1-beta.248 101 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 469 3/19/2025
9.3.0-beta.239 112 3/19/2025
9.2.2-beta.237 123 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 123 3/11/2025
9.2.2-beta.223 130 3/10/2025
9.2.2-beta.222 133 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 166 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 169 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 61 2/26/2025
9.2.0-beta.199 59 2/26/2025
9.2.0-beta.198 52 2/26/2025
9.1.1-beta.197 62 2/25/2025
9.1.1-beta.196 65 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 72 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 67 2/11/2025
9.1.1-beta.173 68 2/10/2025
9.1.1-beta.169 80 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 62 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 54 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