Captive portal public WiFi URLs

Public WiFi often has captive portal login. Portals may coerce users to accept terms and conditions and absolution of liability before accessing the Internet. The portals may be worked around by DNS tunneling, MAC spoofing, etc. Many users just tolerate the portals.

Web browsers may try to trigger captive portals by checking servers, in case the OS hasn’t already triggered the captive portal. Sometimes captive portals aren’t triggered. HSTS blocks HTTP captive portal redirects. Try visiting a deliberately non-HTTPS portal-triggering site like http://neverssl.com

Devices on networks that block the platform’s automatic network checking may indicate like:

Connected, no Internet

If there’s not a captive sign-in webpage, the network connection may still work to non-Google sites.

Check connectivity manually using curl like:

curl -w %{http_code} URL
Platform server HTTPS response code
Firefox detectportal.firefox.com/success.txt 200
Chromium clients3.google.com/generate_204 204
Windows www.msftconnecttest.com/connecttest.txt 200
macOS captive.apple.com/hotspot-detect.html 200
Android connectivitycheck.gstatic.com/generate_204 204
Ubuntu connectivity-check.ubuntu.com 204
Fedora fedoraproject.org/static/hotspot.txt 200

To disable connectivity checking in Ubuntu: Settings → Privacy → “Network Connectivity Checking”