2018-05-13 20:32:29 -04:00
|
|
|
Android needs to be able to determine if there is a captive portal on the network or if a network has Internet connectivity at all
|
|
|
|
To do so it polls a server on every connection and also periodically
|
|
|
|
This is a privacy issue.
|
|
|
|
|
|
|
|
There are multiple solutions:
|
|
|
|
- Use the default Google gen204 endpoint
|
|
|
|
- Google is not the most privacy friendly
|
|
|
|
- Disable the checks
|
|
|
|
- Would confuse users when behind a captive portal
|
|
|
|
+ Would potentially save a small amount of battery
|
|
|
|
- Use our own gen204 endpoint
|
|
|
|
- Not everyone will trust us (even if they're running our code)
|
|
|
|
- Randomly choose between many different endpoints
|
|
|
|
- We'd need permission
|
|
|
|
+ Would be the best
|
|
|
|
+ Would limit one actor from knowing all
|
|
|
|
- If a maintainer wants us to stop using theirs it'd take a while since not everyone updates instantly
|
|
|
|
- If a maintainer blocked it, it'd cause issues (no Internet symbol when there is)
|
|
|
|
|
|
|
|
List of known connectivity check endpoints
|
2019-05-23 11:34:26 -04:00
|
|
|
+ DivestOS - 204 - http://divestos.org/gen204.php
|
2018-05-13 20:32:29 -04:00
|
|
|
- Google - 204 - https://www.google.com/generate_204
|
|
|
|
- Google - 204 - http://connectivitycheck.gstatic.com/generate_204
|
|
|
|
- Google - 204 - http://www.google.com/gen_204
|
|
|
|
- Google - 204 - http://play.googleapis.com/generate_204
|
|
|
|
+ openSUSE - 204 - http://conncheck.opensuse.org
|
|
|
|
+ Ubuntu - 204 - http://connectivity-check.ubuntu.com
|
|
|
|
Non 204
|
|
|
|
- Apple - Success - http://captive.apple.com
|
|
|
|
+ Arch - 404 - http://www.archlinux.org/check_network_status.txt
|
|
|
|
+ Fedora - OK - http://fedoraproject.org/static/hotspot.txt
|
|
|
|
+ Gnome - "NetworkManager is online" - http://nmcheck.gnome.org/check_network_status.txt
|
|
|
|
+ Mozilla - success - http://detectportal.firefox.com/success.txt
|
2019-04-03 19:04:37 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
export DOS_CONNECTIVITY_CHECK_HTTP="http://connectivitycheck.gstatic.com/generate_204"; #Options: Any endpoint that returns HTTP 204 repsonse
|
|
|
|
export DOS_CONNECTIVITY_CHECK_HTTPS="https://www.google.com/generate_204";
|
|
|
|
export DOS_CONNECTIVITY_CHECK_FALLBACK="http://www.google.com/gen_204";
|
|
|
|
export DOS_CONNECTIVITY_CHECK_FALLBACK_ALT="http://play.googleapis.com/generate_204";
|
|
|
|
export DOS_CONNECTIVITY_CHECK_USERAGENT="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.32 Safari/537.36";
|