Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/seanbreckenridge/wait-for-internet
Command line utility that waits till you have an internet connection
https://github.com/seanbreckenridge/wait-for-internet
cli internet internet-connection
Last synced: about 2 months ago
JSON representation
Command line utility that waits till you have an internet connection
- Host: GitHub
- URL: https://github.com/seanbreckenridge/wait-for-internet
- Owner: seanbreckenridge
- License: mit
- Created: 2019-10-19T08:05:20.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2023-10-18T19:45:45.000Z (11 months ago)
- Last Synced: 2024-05-14T02:02:08.861Z (4 months ago)
- Topics: cli, internet, internet-connection
- Language: Rust
- Homepage: https://crates.io/crates/wait-for-internet
- Size: 63.5 KB
- Stars: 5
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# wait-for-internet
So that I don't mash Refresh on a web page while I'm waiting for my laptop to have a remote connection.
```
Command line utility that waits till you have an internet connection.Usage: wait-for-internet [OPTIONS]
Options:
-t, --timeout Exits if a successful connection is not made within seconds
-q, --quiet Don't print any warning/log messages
-w, --wait-time Time to wait between failed requests [default: 1]
--text Text to display while waiting [default: ]
-h, --help Print help (see more with '--help')
-V, --version Print version
```Exits successfully once it makes a successful request, see the [online](https://github.com/jesusprubio/online) crate for which URLs/fullbacks it uses to check for a remote connection.
## Install
Install [cargo](https://doc.rust-lang.org/cargo/getting-started/installation.html), then:
```
cargo install wait-for-internet
```## Example Usage
In bash/shell scripts, I litter `wait-for-internet` wherever I'm paranoid about not having an internet connection. If I have some [script that runs in the background](https://github.com/seanbreckenridge/bgproc) that needs an internet connection (e.g. it makes some request to some API, or `ssh`es onto my server and runs some task), I run `wait-for-internet` and the top, just to be safe.
On the command line:
On Mac, one can do something like:
`wait-for-internet && afplay /System/Library/Sounds/Funk.aiff`
... or:
`wait-for-internet --text "(waiting for internet)" && say "You have internet"`
I have an alias setup on my machine that plays the default 'message' sound and sends a notification:
`alias wfi='wait-for-internet && notify-send "INTERNET" && mpv /usr/share/sounds/freedesktop/stereo/message.oga > /dev/null 2>&1'`
Can also be used in situations to verify you have internet before calling some other command:
`wait-for-internet && xdotool search --class "Firefox" key --window %@ "ctrl+r"` (refresh firefox after you have internet)
`wait-for-internet && sudo apt update && sudo apt upgrade`
`wait-for-internet && speedtest-cli`
`wait-for-internet && ssh `
`wait-for-internet && fg` (resume some suspended task that requires internet)