DivestOS/Misc/Features/CaptivePortalCheck.txt
2020-03-25 22:08:25 -04:00

43 lines
2.2 KiB
Plaintext

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
+ DivestOS - 204 - http://divestos.org/gen204.php
+ GrapheneOS - 204 - https://grapheneos.org/generate_204
- 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
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";