Hass.io Add-on: ngrok Client

Hey everyone! I made this a while back and figured I should post it here in case anyone else can find it useful.

About

This is a ngrok client for Hass.io. If you’re like me and your ISP blocks you from being able to port-forward, ngrok can tunnel into your network and expose your Hass.io to the outside world.

A quick note regarding security: I highly recommend you use a TLS tunnel (which requires a paid ngrok account) and use your own certificate, http tunnels expose your encrypted traffic to ngrok because they control the certificate.

How is this different than Home Assistant Cloud? One of the biggest benefits to ngrok over Home Assistant Cloud is the ability to remotely connect to add-ons that do not have ingress support. This was my primary motivation, but you could also use this add-on to access other servers on your network too. Another benefit is you can use your own domain name and manage your own certificate. Personally, I use this in conjunction with Home Assistant Cloud.

Installation

  1. Add the Github repo to your Hass.io: https://github.com/ThePicklenat0r/hassio-addons
  2. Install the ngrok Client addon

Support

Please open any issues under the ngrok Client GitHub repository directly: https://github.com/ThePicklenat0r/hassio-ngrok

Special thank you

This is the first add-on I’ve ever made, and also my first major coding project. I learned a lot from studying the Community Hass.io Add-ons project and this add-on is very closely based off of their work with a few minor tweaks. I decided to make my own repository mostly because this is a way for me to learn about programming and the development process, and I learn best by doing. However, without their project to use as reference I wouldn’t have been able to make this so, thank you very much to them for their work!

4 Likes

can this work with google assistant?
i have successfully controlling ha dashboard via ngrock.io
I followed all steps for google assistant integration via manual setup in google action console.
Now when i add “[test] my test app” in my google home app, home assistant login page appears but after entering login credentials its shows " something went wrong .please try again"
can anyone help me

I don’t see a reason why it wouldn’t, but you would most likely need to be using a TLS tunnel and have a valid certificate; I believe that is required for the Google Home integration to work. Personally I’m using the Home Assistant Cloud integration for my Google Homes and I use ngrok to access my front end and any addons that have front ends without ingress because I wanted to use my custom domain name.

I’ve never gone through the manual Google Home setup, but I’ll see if I can tinker with it over the weekend. Either one of those options unfortunately is not free, but if I had to pick one or the other I would probably recommend going with Home Assistant Cloud because it just works and is easy to enable.

1 Like

thanks for the replay
with minor changes in config it is successful :slight_smile:
now the part is I am using the ngrok service for free is it secure? if not how to make it secure using certificate or some other things.
and yes I agree to you regarding Nabu casa I support it but one of my buddies is not willing to so I am helping them.

1 Like

Glad you got it working!

The answer to is the free version secure is both a yes, and a no.

Provided you have the bind_tls option either default, true, or both, and use https, the connection is encrypted. However, if you don’t use the TLS tunnel, which is not available in the free version, then ngrok owns the certificate, which would allow them to decrypt and read traffic, including passwords.

Could you please elaborate on that? I installed the NGROK Client and I can access my Hassio from outside my network but when I am linking it withing Google Home app, it shows me the Home Assistant login page and right after I receive an error similar to: It was not possible to update settings. Verify your connection.

What did you do? What did you do with your settings for the Ngrok client?

Anyone still using ngrok? It seems to have stopped working after a few updates on HA

Can anyone help me? :flushed:

hi is this still working?i cant save the settings in the addon

I’ve installed this add-on as I want to access my HomeAssistant which is behind my ISPs CGNAT service (I want to expose it to the internet so I can use webhooks).

I’ve installed the add-on successful & I’ve setup an ngrok account, but when I launch the ngrok add-on webui it just says “You are using ngrok without an account. Your session will end in 120 minutes. [Sign up] for longer sessions

How do I configure the add-on with my ngrok account details? I can’t find any config files - there is no ‘custom component’ directories in my Hassio (Supervised) installation on RPi2b