Skip to content


Subversion checkout URL

You can clone with
Download ZIP
A simple program to help you react more quickly to servers and services coming back online.
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
.gitignore Rewrote in go, added multi-destination feature


This is a simple go program that waits for a remote socket to become available. It's useful to avoid guessing when a service comes back up, etc...


Assuming you have a recent go compiler installed and working correctly, you can install waitforsocket with the following command:

go get


waitforsocket somehost:22 ; ssh somehost

You can wait for multiple hosts in a similar way:

waitforsocket somehost:22 otherhost:22

If you want to be fancy, you can look for a variety of hosts, and be satisfied when any one of them works (e.g. am I on the internet?):

waitforsocket -required=1 www.{yahoo,google,microsoft}.com:80


HTTP support is currently experimental (i.e. it's useful, but too easy to add a billion new options I didn't want to add, so it may not be perfect enough). You can supply a URL instead of a host:port in that case. e.g.:

waitforsocket http://www.{yahoo,google,microsoft}.com/

And it will wait until these all return HTTP responses indicating success.

Something went wrong with that request. Please try again.