A self-hosted captive portal connectivity check: https://connectivitycheck.sp-codes.de
Find a file
Samuel Philipp 375bf53bfc
All checks were successful
continuous-integration/drone/push Build is passing
Merge pull request 'Update nginx Docker tag to v1.19.7' (#4) from renovate/docker-nginx-1.x into master
Reviewed-on: #4
2021-02-17 20:08:26 +00:00
.drone.yml fixed arm64 to .drone.yml 2020-11-30 19:48:58 +01:00
.gitignore added initial files 2019-08-22 23:29:03 +02:00
Dockerfile Update nginx Docker tag to v1.19.7 2021-02-17 20:00:40 +00:00
LICENSE Initial commit 2019-08-22 23:19:48 +02:00
nginx.conf added nginx config, Dockerfile and ci build with .drone.yml 2020-05-01 11:36:49 +02:00
README.md minor improvements 2020-06-29 23:56:17 +02:00
renovate.json updated .drone.yml 2020-11-29 12:31:58 +01:00

connectivity-check

Build Status License Docker Pulls

A self-hosted captive portal connectivity check.

Usage

Just run the following command:

docker run -d -p 80:80 -p 443:443 samuelph/connectivity-check

Or with docker-compose:

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.

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.

Firefox

Type 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 for more information).