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

Sadly, it Deprecated :pensive:

Unfortunately it no longer works in Home Assistant. I have tried everything but I can’t find a solution !! Even restoring old configurations, nothing … the NGROK folder is deleted !!! Help thanks

@zlucio

Hi, just solved this issue.

Go Settings → Add-ons → ngrok client

Then go to the configuration tab and edit in YAML

To the ‘tunnels’ key you need to add:
auth: 'username:password'

And it should work.

Regards.

This fixed it for me, however I can’t use the homeassistant app anymore. Is there any work around. I’m able to log in once using name and pass but then it stops working.

Hey, same thing for me. Works via web, but not the companion app.

Ended up setting up Cloudflare.

Check this out: Free Cloudflare Tunnel To Home Assistant: Full Tutorial! - YouTube

Just discovered the associated tunnel plugin. This is even cooler and works with any SSH server or a sish instance. Works totally fine for me!

I’m using the ngrok add-on and it is still working fine for me

Hello all
Is there someone here capable to take over this add-on and fork it, since the client used in the add will be deprecated by ngrok by the 15th of january.

The client needs to be updated in the add-on, and I have no skills to do that …

Thx a lot

Home Assistant Addon for installing an ngrok client (Unofficial)

Installation

Open your Home Assistant instance and show the add add-on repository dialog with a specific repository URL pre-filled.

Or

Add the repository url listed below to your Supervisor Add-on Store tab in Home
Assistant.

https://github.com/pssc/ha-addon-ngrok

This is an updated to work post 15th Jan with a new client version. Based on the work on @ThePicklenat0r / Dylans work (Thankyou).

You should be able to install alongside and copy paste the config in yaml editor mode to transition and test please remember sto stop/start the add-ons appropriately and toggle start on boot on each after testing…

Hi Phill, was wondering if by any chance could you point the dockerfile so I can point inside to a newer ngrok sdk version?
Is failing again, like 2 days ago.

Was trying to do it myself, but I can’t find the Dockerfile path.

Kindest Regards,