# [connectivity-check](https://git.sp-codes.de/samuel-p/connectivity-check) [![Build Status](https://ci.sp-codes.de/api/badges/samuel-p/connectivity-check/status.svg)](https://ci.sp-codes.de/samuel-p/connectivity-check) [![License](https://img.shields.io/badge/license-MIT-orange)](#license) [![Docker Pulls](https://img.shields.io/docker/pulls/samuelph/connectivity-check)](https://hub.docker.com/r/samuelph/connectivity-check) A self-hosted captive portal connectivity check. ## Usage Just run the following command: ```bash docker run -d -p 80:80 -p 443:443 samuelph/connectivity-check ``` Or with docker-compose: ```yaml version: '3.4' services: connectivitycheck: image: samuelph/connectivity-check restart: always ports: - 80:80 - 443:443 ``` ## Run on a simple web space Instead of running the docker image you also can just use the following `.htaccess` file on your web server: ``` RewriteEngine On Header always set "X-NetworkManager-Status" "online" RewriteCond "%{REQUEST_FILENAME}" "(generate)?_?204" RewriteRule "(generate)?_?204" / [R=204,L] RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] ``` ## Setup your devices ### Android To change the Captive Portal Check in Android, you need a terminal app or a connection via ADB to a computer. To use `http` you can run the following commands with the respective method: ``` # settings put global captive_portal_use_https 0 # settings put global captive_portal_http_url "http://connectivitycheck.sp-codes.de/generate204" ``` To use `https` you can use the following two commands: ``` # settings put global captive_portal_use_https 1 # settings put global captive_portal_https_url "https://connectivitycheck.sp-codes.de/generate204" ``` Maybe you have to reboot your phone after updating the settings. If you are using AFWall+ you need to give access to _[1000] Android-System_ and in some cases _[10040] CaptivePortalLogin_ to make it work. For more information see [here](https://android.stackexchange.com/a/186995/288049). ### Ubuntu In Ubuntu, the file `/etc/NetworkManager/NetworkManager.conf` must be changed. Add or change the following lines: ``` [connectivity] uri=https://connectivitycheck.sp-codes.de/generate204 ``` Restart the network-manager: ``` sudo service network-manager restart ``` For more information see [here](https://askubuntu.com/q/1167177/920103). ## Fedora In Fedora, the file `/etc/NetworkManager/NetworkManager.conf` must be changed. Add or change the following lines: ``` [connectivity] uri=https://connectivitycheck.sp-codes.de/generate204 ``` Restart the _NetworkManager_: ``` sudo service NetworkManager restart ``` ### Firefox Type [about:config](about:config) in the Firefox address bar and search for `captivedetect.canonicalURL` and `network.connectivity-service`. Set the URL values to `https://connectivitycheck.sp-codes.de/generate204`, the domain values to `connectivitycheck.sp-codes.de`. That's it. ## License connectivity-check is Free Software: It is licensed under MIT (See [LICENSE](LICENSE) for more information).