captiveportal.canox.net

Um zu prüfen ob ihr nicht nur eine IP-Adresse vom Router bekommen habt, sondern dass auch tatsächlich eine Verbindung zum Internet besteht, führt Android einen Captive Portal Check durch. Android sendet zur Prüfung eine Anfrage an connectivitycheck.gstatic.com. Wird diese Anfrage mit dem HTTP Response-Code 204 beantwortet, besteht Zugang zum Internet.

Ich blockiere die URL „connectivitycheck.gstatic.com" über Pi-Hole bzw. Blokada ( Beitrag über bei Kuketz Blog). Daher wird bei mir beim WLAN-Symbol in der Menüleiste ein kleines Kreuz angezeigt. Mit jeder Anfrage an die URL „connectivitycheck.gstatic.com" werden etliche Informationen über das System an Google übermittelt.

Verbindet euer Smartphone/Tablet via USB-Kabel mit eurem Rechner. ADB muss hierfür aktiviert sein. Über ein Terminal am Rechner ändert ihr nun die Einstellungen:

# Android 7 adb shell 'settings put global captive_portal_http_url "http://captiveportal.canox.net"' adb shell 'settings put global captive_portal_https_url "https://captiveportal.canox.net"'# Android 8 & 9 adb shell 'settings put global captive_portal_http_url "http://captiveportal.canox.net"' adb shell 'settings put global captive_portal_https_url "https://captiveportal.canox.net"' adb shell 'settings put global captive_portal_fallback_url "http://captiveportal.canox.net"' adb shell 'settings put global captive_portal_other_fallback_urls "http://captiveportal.canox.net"' # Prüfen ob die URLs angepasst wurden adb shell 'settings get global captive_portal_https_url'

Da Android als Antwort den HTTP Response-Code 204 erwartet, könnt ihr an einem Rechner überprüfen, ob diese Antwort gesendet wird.

curl -I http://captiveportal.canox.net

Antwort:

HTTP/1.1 204 No Content
[...]

Den Connectivity-Check-Service kann jeder selbst hosten. Theoretisch könnt ihr hierfür auch einen Raspberrry Pi verwenden. Hier meine Konfiguration. Diese weicht von der Konfiguration von Kuketz Blog im Abschnitt „HTTPS" ab, da ich TLS 1.2 & TLS 1.3 verwende. Hinweis: Die Zeile „ssl_ciphers" wird von WordPress aufgrund der Länge umgebrochen, es gehört aber alles in eine Zeile

## SITE HANDLING HTTP ##
server {

        ## INIT ##
        listen          80;
        server_name     captiveportal.canox.net;
        root            /var/www/captiveportal.canox.net;

        ## LOGS ##

	access_log off;
  	error_log off;

        ## SECURITY HEADER ##
        add_header Content-Security-Policy "default-src 'none'";

        ## ENTER HERE ##
        location / {
                # Let's encrypt location
                location ^~ /.well-known/acme-challenge {
                        default_type text/plain;
                }
                location = /.well-known/acme-challenge/ {
                        return 444;
                }
                ## CAPTIVE PORTAL RESPONSE
                location / {
                        return 204;
                }
        }


}

## SITE HANDLING HTTPS ##
server {
        ## INIT ##
        listen          443 ssl;
        server_name     captiveportal.canox.net;
        root            /var/www/captiveportal.canox.net;

        ## LOGS ##
        access_log off;
        error_log off;

	ssl_protocols TLSv1.3 TLSv1.2;
 	ssl_prefer_server_ciphers on;
	ssl_ciphers TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-256-GCM-SHA384:TLS13-AES-128-GCM-SHA256:EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256;
 	ssl_certificate /etc/letsencrypt/live/apt.canox.net/fullchain.pem; # managed by Certbot
 	ssl_certificate_key /etc/letsencrypt/live/apt.canox.net/privkey.pem; # managed by Certbot
 	ssl_ecdh_curve secp384r1;
 	ssl_dhparam /etc/nginx/dhparams-4096.pem;
 	ssl_stapling on;
 	ssl_stapling_verify on;
 	ssl_session_cache shared:SSL:10m;
 	ssl_session_timeout 5m;
 	ssl_session_tickets off;

        add_header Content-Security-Policy "default-src 'none'";

        ## CAPTIVE PORTAL RESPONSE
        location / {
                return 204;
        }

}

wallpaper-1019588
1500 Kalorien am Tag – Ihr Plan fürs Abnehmen!
wallpaper-1019588
1500 Kalorien am Tag – Ihr Plan fürs Abnehmen!
wallpaper-1019588
Wenn das Neue lockt: Shiny New Object Syndrome im Online-Business
wallpaper-1019588
KiVVON: Der Game-Changer für Content-Creators