Fenx-Blog-Source-Code/post/cambiar-captive-check-es.html

4.4 KiB

Cambiá el detector de portal cautivo en Android [2020/06/03] @ERT@ es
Atención!: Esto lo hice en un celular con LineageOS 16, deberia funcionar en Android 9

Cuando te conectas a una red WiFi/3G tu dispositivo Android te dice si tienes acceso a internet (Aparece una x en el símbolo de WiFi/4G y si no tienes te manda una notificación), pero ¿como lo sabe? simplemente busca un archivo en los servidores de google, pide un archivo por http (Ya que http es manipulable por tu ISP) y si el archivo es modificado en el camino tu dispositivo sabe que no tienes internet.

Es algo poco, pero mientras menos data para google mejor.

Lo primero

Debes instalar adb y los drivers para tu dispositivo (Puede que no necesites los drivers)

Para instalar adb en distros basadas en Arch (Manjaro, Parabola OS) usa sudo pacman -Su android-tools y para distros basadas en Debian (Trisquel, Ubuntu) sudo apt update && apt install adb

La terminal

Poné adb start-server y el server arranca :3

Ve a las configuraciones de tu dispositivo luego en opciones para programadores activar la depuración en Android por adb

Conecta por usb el celular a tu computadora y autoriza

Para verificar pon sudo adb get-state si aparece un device todo salio bien :3

Ahora pone adb shell se abrirá una shell y aquí te dejo los comandos a usar

¿Quieres deshabilitar esa función? usa este comando

settings put global captive_portal_mode 0

¿Quieres habilitar esa función? usa este comando

settings put global captive_portal_mode 1

¿Quieres que cuando se detecte un portal cautivo, tu dispositivo se desconecte de la red?

settings put global captive_portal_mode 2

¿Quieres cambiar el detector? usa estos comandos (Se cambiara por el que provee Firefox, el cual se usa en Firefox y navegadores derivados)

settings put global captive_portal_http_url http://detectportal.firefox.com
settings put global captive_portal_https_url https://detectportal.firefox.com
settings put global captive_portal_fallback_url http://detectportal.firefox.com
settings put global captive_portal_other_fallback_urls http://detectportal.firefox.com

Para verificar los parámetros usa estos comandos

settings get global captive_portal_mode

settings get global captive_portal_http_url
settings get global captive_portal_https_url
settings get global captive_portal_fallback_url
settings get global captive_portal_other_fallback_urls

Estas son las url que usa google en Android, por si quieres meterlas en un archivo hosts de tu router :3

http://connectivitycheck.gstatic.com/generate_204
http://clients3.google.com/generate_204

Menos data para google!

Ahora con estos comandos se podrá cambiar el servidor NTP de Android (time.android.com que mantiene google) se cambiara por pool.ntp.org (que es mantenido por una comunidad)

Dentro de la shell de adb pone

settings get global ntp_server

(Me aparece null)

Ahora para cambiarlo pone

settings put global ntp_server pool.ntp.org

Y listo, para comprobarlo podes usar el penúltimo comando :3

Ahora, puedes usar otro server, ubicado en otra parte o cualquier otro server, incluso uno dentro de tu zona/casa

Palabras finales

En estos momentos en varias partes del mundo la gente esta protestando por el hambre y violencia estatal, cosa que me alegra mucho, mis condolencias y respeto a toda la gente que salio y a lxs otrxs que no podrán volver.