https://github.com/fuzzyideas/istherenet
See when your internet disconnects.. and reconnects
https://github.com/fuzzyideas/istherenet
internet macos
Last synced: 10 months ago
JSON representation
See when your internet disconnects.. and reconnects
- Host: GitHub
- URL: https://github.com/fuzzyideas/istherenet
- Owner: FuzzyIdeas
- License: gpl-3.0
- Created: 2024-01-03T14:11:04.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2025-01-14T20:47:47.000Z (about 1 year ago)
- Last Synced: 2025-03-30T11:06:24.152Z (10 months ago)
- Topics: internet, macos
- Language: Swift
- Homepage: https://lowtechguys.com/istherenet/
- Size: 538 KB
- Stars: 128
- Watchers: 3
- Forks: 6
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
IsThereNet
Your internet connection status
at a glance
## Installation
- Download, unzip, move to `/Applications`
- or `brew install --cask istherenet`
## What does this do?
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 does it achieve that?
IsThereNet uses the native [NWPathMonitor](https://developer.apple.com/documentation/network/nwpathmonitor) API to efficiently check if a connection can be established to Cloudflare's DNS IP `1.1.1.1`.
That IP was chosen for multiple reasons:
- it should connect to a server that's close to you
- it's 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
## Uh.. how do I quit this app?
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'`
## Alternatives
If you want to monitor more complex network conditions, you can use a few different alternatives:
- [iStat Menus](https://bjango.com/mac/istatmenus/) which is a paid app but does a lot more than just network monitoring (CPU, RAM, Disk, etc)
- [PeakHour](https://peakhourapp.com/) which is a subscription-based app that does a lot of network monitoring, latency checks, etc
## Logging
IsThereNet logs internet connection status changes to:
- the system log (accessible via Console.app)
- to a file in `~/.logs/istherenet.log`
- to the command line if you run the binary directly
## Config
To keep the no-UI approach, the app can be configured through editing a JSON file. The file is located at:
```sh
~/.config/istherenet/config.json
```
The config file looks like this:
```json
{
"sounds" : {
"disconnected" : "Mezzo",
"slow" : "Submerge",
"volume" : 0.4,
"connected" : "Funky"
},
"pingIntervalSeconds" : 5,
"pingIP" : "1.1.1.1",
"pingSlowThresholdMilliseconds" : 300,
"fadeSeconds" : {
"connected" : 5,
"disconnected" : 0,
"slow" : 10
},
"colors" : {
"slow" : "systemYellow",
"connected" : "systemGreen",
"disconnected" : "systemRed"
},
"pingTimeoutSeconds" : 1,
"screen": "all",
"launchAtLogin": true,
"shellCommandOnStatusChange" : "echo 'Status changed to: '$STATUS' with ping time:' $PING_TIME"
}
```