forked from samuel-p/connectivity-check
parent
3dcc509679
commit
67d88601ef
4 changed files with 150 additions and 51 deletions
57
.drone.yml
57
.drone.yml
|
@ -1,12 +1,65 @@
|
||||||
kind: pipeline
|
kind: pipeline
|
||||||
name: default
|
type: docker
|
||||||
|
name: linux-amd64
|
||||||
|
|
||||||
|
platform:
|
||||||
|
os: linux
|
||||||
|
arch: amd64
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: docker
|
- name: docker
|
||||||
image: plugins/docker
|
image: plugins/docker
|
||||||
settings:
|
settings:
|
||||||
|
auto_tag: true
|
||||||
|
auto_tag_suffix: linux-amd64
|
||||||
repo: samuelph/connectivity-check
|
repo: samuelph/connectivity-check
|
||||||
username:
|
username:
|
||||||
from_secret: USERNAME
|
from_secret: USERNAME
|
||||||
password:
|
password:
|
||||||
from_secret: PASSWORD
|
from_secret: PASSWORD
|
||||||
|
|
||||||
|
---
|
||||||
|
kind: pipeline
|
||||||
|
type: docker
|
||||||
|
name: linux-arm
|
||||||
|
|
||||||
|
platform:
|
||||||
|
os: linux
|
||||||
|
arch: arm
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: docker
|
||||||
|
image: plugins/docker
|
||||||
|
settings:
|
||||||
|
auto_tag: true
|
||||||
|
auto_tag_suffix: linux-arm
|
||||||
|
repo: samuelph/connectivity-check
|
||||||
|
username:
|
||||||
|
from_secret: USERNAME
|
||||||
|
password:
|
||||||
|
from_secret: PASSWORD
|
||||||
|
|
||||||
|
---
|
||||||
|
kind: pipeline
|
||||||
|
type: docker
|
||||||
|
name: manifest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: publish
|
||||||
|
image: plugins/manifest
|
||||||
|
settings:
|
||||||
|
auto_tag: true
|
||||||
|
ignore_missing: true
|
||||||
|
target: samuelph/connectivity-check
|
||||||
|
template: samuelph/connectivity-check:OS-ARCH
|
||||||
|
platforms:
|
||||||
|
- linux/amd64
|
||||||
|
- linux/arm
|
||||||
|
username:
|
||||||
|
from_secret: USERNAME
|
||||||
|
password:
|
||||||
|
from_secret: PASSWORD
|
||||||
|
|
||||||
|
depends_on:
|
||||||
|
- linux-amd64
|
||||||
|
- linux-arm
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
FROM nginx
|
FROM nginx
|
||||||
|
|
||||||
COPY nginx.conf /etc/nginx/nginx.conf
|
COPY nginx.conf /etc/nginx/nginx.conf
|
||||||
COPY index.html /usr/share/nginx/html
|
|
97
README.md
97
README.md
|
@ -1,2 +1,95 @@
|
||||||
# connectivity-check
|
# [connectivity-check](https://git.sp-codes.de/samuel-p/connectivity-check)
|
||||||
A self-hosted captive portal 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).
|
||||||
|
|
||||||
|
## 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).
|
||||||
|
|
46
index.html
46
index.html
|
@ -1,46 +0,0 @@
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<title>connectivity-check</title>
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body>
|
|
||||||
<h1>connectivity-check</h1>
|
|
||||||
|
|
||||||
<hr>
|
|
||||||
|
|
||||||
<h2>Setup Android</h2>
|
|
||||||
|
|
||||||
If you want to use <code>http</code>:
|
|
||||||
<pre># settings put global captive_portal_use_https 0</pre>
|
|
||||||
<pre># settings put global captive_portal_http_url "http://connectivitycheck.sp-codes.de/generate204"</pre>
|
|
||||||
|
|
||||||
If you want to use <code>https</code>:
|
|
||||||
<pre># settings put global captive_portal_use_https 1</pre>
|
|
||||||
<pre># settings put global captive_portal_https_url "https://connectivitycheck.sp-codes.de/generate204"</pre>
|
|
||||||
|
|
||||||
<p>Maybe you have to reboot your phone after updating the settings. For more information see <a href="https://android.stackexchange.com/a/186995/288049">this</a>.</p>
|
|
||||||
<p>If you are using AFWall+ you need to give access to [1000] Android-System and in some cases [10040] CaptivePortalLogin to make it work.</p>
|
|
||||||
|
|
||||||
<hr>
|
|
||||||
|
|
||||||
<h2>Setup Ubuntu</h2>
|
|
||||||
|
|
||||||
Open <code>/etc/NetworkManager/NetworkManager.conf</code>:
|
|
||||||
|
|
||||||
<pre># sudo nano /etc/NetworkManager/NetworkManager.conf</pre>
|
|
||||||
|
|
||||||
Add the following lines (or change them to this):
|
|
||||||
|
|
||||||
<pre>
|
|
||||||
[connectivity]
|
|
||||||
uri=https://connectivitycheck.sp-codes.de/generate204
|
|
||||||
</pre>
|
|
||||||
|
|
||||||
Restart the network-manager:
|
|
||||||
|
|
||||||
<pre># sudo service network-manager restart</pre>
|
|
||||||
|
|
||||||
<p>For more information see <a href="https://askubuntu.com/q/1167177/920103">this</a>.</p>
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
Loading…
Reference in a new issue