IsThereNet

Your internet connection status
at a glance
DownloadView Source

Useful details and some technicalities

The app has no Dock icon and no menubar icon so to quit it you'd need to do one of the following:

  • Launch Activity Monitor, find IsThereNet and press the ❌ button at the top
  • Run the following command in the Terminal: killall 'IsThereNet'

Why 1.1.1.1?

That IP was chosen for multiple reasons:

  • it should connect to a server that's close to you
  • it is a well-known IP that's unlikely to change
  • it's unlikely to be blocked by firewalls
  • it should not sell your data to advertisers like Google's 8.8.8.8 does

See when your internet disconnects.. and reconnects

IsThereNet watches for internet connection status changes and draws a colored line at the top of the screen to indicate the status.
Colors:
  • Green: connected (fades out after 5 seconds)
  • Red: disconnected (stays on screen until connection is restored)
  • Yellow: slow internet (fades out after 10 seconds)
The top status line does not appear in screenshots and does not interfere with clicking on the menu bar.

How it works?

IsThereNet uses the native NWPathMonitor API to efficiently check if a connection can be established to Cloudflare's DNS IP 1.1.1.1.
It also uses fping to check when internet appears connected but destinations are not reachable, or if the connection is slow.

Why would I need this?

Well, you might not.
The app covers a very specific need that appeared after one of our laptops started taking a long time to reconnect to the internet after changing the Wi-Fi network.
So instead of constantly checking if the internet is back using ping or the browser, we decided to make an app that would do that more efficiently for us.

Logging

You can see a history of the connection status changes in the Console app or by checking the following file:
~/.logs/istherenet.log

Config

To keep the no-UI approach, the app can be configured through editing a JSON file. The file is located at:
~/.config/istherenet/config.json