Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I use Upptime to check on a variety of services I run on my home server.
One of the services I use it for is a mail server.
Unfortunately, the simple "tcp-ping" check does not work in this use case since the port forwarding configured in our network causes the check to assume the port is accessible (and thus that the service is working) even if it is down.
Opening an SSL connection and checking whether the returned certificate is correct avoids this issue.
Additionally, this check is undoubtedly useful for any other services that support SSL but don't use HTTPS, allowing Upptime instances to verify a bit more of their configuration than "tcp-ping" would.
This code is largely based on the existing "tcp-ping"-check but altered to use a TLS socket.