When using public wifis, they are often “protected” by a so-called captive portal. They redirect you to a page, where you need to login or at least accept the conditions of the network, you are going to use. Before you have agreed, all your network traffic is blocked which leads to timeouts.

If everything works well, your smartphone detects this “broken” network and shows you the captive portal page. On your computer, your browser might detect this. E.g. Firefox has such a functionality for detecting Captive Portals. Again - before you accepted the conditions on the portal, all network traffic is blocked. Other programs, like your email client, won’t be aware of this situation and simply time out.

The timeout has the problem, that these programs won’t try again immediately, but only after a while. This means, “the internet” connection won’t work immediately for these programs after you logged in into the captive portal.

But sometimes, the browser fails to detect that a captive portal is active. Which means, you try to browse to a webpage - which nowadays is usually a TLS encrypted website - and you don’t get a response. You don’t know, whether the problem is: a) bad wifi / network / cell coverage b) blocked because a captive portal is used.

Sometimes the captive portal also redirects HTTPS requests. This leads to certificate errors, which Firefox also takes as an indication, that a captive portal is active and intercepts the request. However, by default, the browser won’t show you the website (or in that case the captive portal page) because the certificate error indicates a man-in-the-middle attack…

Therefore usually unencrypted test pages are used to check, whether the request is intercepted and manipulated by a captive portal. One of these pages, that Firefox is using, is this:


If you get back “success”, then either no captive portal is in use or you are already logged in. If there is a captive portal active, then you usually will be redirected to the portal page, where you need to accept the conditions. So, visiting this page manually, can speed up the detection of the captive portal.

I’ve also created such a page: http://check.adangel.org/check.txt