Add connectivity check spoofing to prevent mobile device auto-disconnect on offline IoT APs - #2
Draft
Ataraxiall with Copilot wants to merge 5 commits into
Draft
Ataraxiall with Copilot wants to merge 5 commits into
Ataraxiall with Copilot wants to merge 5 commits into
Conversation
Co-authored-by: Ataraxiall <67580921+Ataraxiall@users.noreply.github.com>
Co-authored-by: Ataraxiall <67580921+Ataraxiall@users.noreply.github.com>
Co-authored-by: Ataraxiall <67580921+Ataraxiall@users.noreply.github.com>
Co-authored-by: Ataraxiall <67580921+Ataraxiall@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Modify Comitup behavior for IoT device WiFi connectivity
Add connectivity check spoofing to prevent mobile device auto-disconnect on offline IoT APs
Nov 12, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Mobile devices (Android, iOS, Windows) auto-disconnect from WiFi networks that fail connectivity checks, breaking IoT devices that provide local services without internet. This adds spoofing for connectivity check endpoints to make devices believe they have internet.
Changes
DNS Redirection (
conf/dns-hotspot.conf)Added 22 address entries redirecting connectivity check domains to AP IP (10.41.0.1):
connectivitycheck.gstatic.com,clients3.google.com, etc.captive.apple.com,www.apple.comwww.msftconnecttest.com,www.msftncsi.comHTTP Endpoints (
web/comitupweb.py)Added 10 Flask routes returning expected responses:
Configuration (
conf/comitup.conf,comitup/config.py)Added
enable_fake_internetoption (defaultsfalse) for future conditional activation. Currently DNS redirects are always active in hotspot mode.Testing
test/test_connectivity.sh) for deployment verificationDocumentation
doc/FAKE_INTERNET.md: User guide with troubleshootingdoc/SOLUCION_SPANISH.md: Spanish version for original issue reporterdoc/IMPLEMENTATION_NOTES.md: Implementation details and maintenance guideCompatibility
Android 8.0+, iOS 12+, Windows 10/11, macOS 10.15+, Firefox, Ubuntu/Linux. Fully backward compatible—no impact when devices don't perform connectivity checks.
Original prompt
Quiero modificar el comportamiento de Comitup en un dispositivo IoT con Armbian para que los móviles no se desconecten automáticamente de su punto de acceso WiFi cuando no hay salida a Internet.
Contexto
comitup-XXXXcuando está en modo HOTSPOT).comitup-web) que actúa tipo portal cautivo.dns-hotspot.conf) y otra para cuando se conecta a una WiFi externa.10.41.0.1(pero si es necesario, detéctala dinámicamente en la solución).Problema
http://connectivitycheck.gstatic.com/generate_204,http://clients3.google.com/generate_204, etc.http://www.apple.com/library/test/success.html, o equivalentes.La consecuencia práctica es que, aunque el AP funciona bien a nivel de red local, los clientes móviles no permanecen conectados porque insisten en que la red “no sirve” al no ver Internet.
Objetivo
Quiero modificar Comitup (preferentemente cambiando su configuración y/o su propio código, por ejemplo en
comitup-weby los ficheros de dnsmasq que usa) para conseguir alguno de estos comportamientos (tú puedes proponer la mejor opción):Modo “red local pero considerada con Internet”
Modo “red local estable sin molestar al usuario”
Idealmente me gustaría que:
Lo que me gustaría que hicieras
Analiza cómo funciona Comitup:
dns-hotspot.confydns-connected.confo equivalente).comitup-weba las peticiones (incluyendo las usadas por portales cautivos o comprobaciones de conectividad tipo/generate_204,/hotspot-detect.html, etc., si las tuviera).Propón una o varias soluciones técnicas, y elige la que consideres más robusta/man...
💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.