Giter Club home page Giter Club logo

ngrokextensions's Introduction

Ngrok Extensions for Visual Studio

Build status

Description

This extension allows you to use ngrok right from within Visual Studio. It will start a tunnel for each web application that is part of your solution.

Has been tested in Visual Studio 2015, 2017, 2019, and 2022.

Installation

From Visual Studio

Get it from the Visual Studio Gallery for VS 2022 or for VS 2019 and earlier. From within Visual Studio:

  1. Select Tools... Extensions and Updates...
  2. Click "Online" and select the "Visual Studio Gallery" along the left-hand side of the window.
  3. Type "ngrok" into the search box in the upper right.
  4. Click the "Download" button on the extension in the search results.

Build from Source

  1. Clone this repo
  2. Open with Visual Studio 2017 and build a Release build
  3. Find the .vsix file in the bin\Release folder
  4. Double-click the .vsix file to install

Usage

Currently, usage is super-simple. All you need to do is open a solution with one or more web projects and then choose "Start ngrok Tunnel" from the "Tools" menu.

Menu item

Custom ngrok Subdomains

If you have a paid ngrok account, you can make use of custom subdomains with this extension.

Specify the subdomain you would like it to use in a ngrok.subdomain key in the appSettings section of your web.config file like so:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <appSettings>
    <add key="ngrok.subdomain" value="my-cool-app"/>
    ... more appSettings keys omitted ...
  </appSettings>
  ... more config omitted ...
</configuration>

Custom ngrok Subdomains with ASP.NET Core or Azure Functions

If you are using an ASP.NET Core or Azure Functions project and want to test locally, you can set the ngrok.subdomain key in the appsettings.json file like so:

{
  "IsEncrypted": false,
  "Values": {
    "ngrok.subdomain": "my-cool-app",
    ... more app settings omitted ...
  }
}

You can also set this value in a secrets.json file as described here.

Feedback and Contribution

This is a brand new extension and would benefit greatly from your feedback and even your code contribution.

If you find a bug or would like to request a feature, open an issue.

To contribute, fork this repo to your own GitHub account. Then, create a branch on your own fork and perform the work. Push it up to your fork and then submit a Pull Request to this repo. This is called GitHub Flow.

Change Log

  • v0.9.14 - Add support for Visual Studio 2022.
  • v0.9.13 - Add support for https.
  • v0.9.12 - Add support for Visual Studio 2019.
  • v0.9.11 - Fix ngrok installer after ngrok download page changed.
  • v0.9.10 - Allow settings override in secrets.json. Thanks @ChristopherHaws!
  • v0.9.9 - Bug fixes. Find projects within Solution folders.
  • v0.9.8 - Bug fixes. Automatically install ngrok.exe if not found.
  • v0.9.7 - Support for ASP.NET Core projects. Thanks @ahanoff!
  • v0.9.6 - Added support for Visual Studio 2017.
  • v0.9.5 - Added support for Azure Function projects.
  • v0.9.4 - Added support for Node.js projects.
  • v0.9.3 - Fix crash when decimal values in ngrok's JSON response.
  • v0.9.2 - Allow customizing location of ngrok.exe.
  • v0.9.1 - Initial Release

Licensed under the MIT license. See the LICENSE file in the project root for more information.

Copyright (c) 2023 David Prothero

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.