Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Overrides the captive portal settings of Android in the People's Republic China Mainland
#!/usr/bin/env sh
adb shell settings put global captive_portal_fallback_url http://g.cn/generate_204
adb shell settings put global captive_portal_http_url http://www.google.cn/generate_204
adb shell settings put global captive_portal_https_url https://www.google.cn/generate_204
adb shell settings put global captive_portal_other_fallback_urls http://www.qualcomm.cn/generate_204
@vip008008
Copy link

vip008008 commented Jan 23, 2020

How to install this setting in android 8.1 version please let me know

@escape0707
Copy link

escape0707 commented Mar 13, 2021

@vip008008 I suppose you still didn't figure it out. If you did, why not edit your post and share the way?

So, basically you look up how to use adb to connect to your device, then run commands in the original gist.

Finally, some people mentioned that only captive_portal_http_url captive_portal_https_url is implemented and used. So basically you have to rely on setting these two correctly.

Although if I recall correctly, in Android 12 there will be a new way to work with captive portal things, etc.


Figured it out, changing the https check url works:
adb shell settings put global captive_portal_https_url https://www.qualcomm.cn/generate_204

Make sure to use http url with http setting, and https url with https setting.

@jacoblyw
Copy link

jacoblyw commented Oct 29, 2021

Not in China, but I had the "no internet" WiFi icon when the tablet came back from having the screen repaired. Internet worked, but automatic connections to WIFi didn't.

And then [recently] I started getting "open captive portal" messages

connect with adb shell:
adb shell

use superuser:
su

Check what setting is set (just out of curiosity):
settings get global captive_portal_server
status.eqoe.cn

I didn't bother with any of the fallback or http/https settings, I just did the following setting:
settings put global captive_portal_server "connectivitycheck.gstatic.com"

and it worked! That's a relief!

Thanks to everyone for pointing me in the right direction. (I also got some hints on the URL to use on android.Stackexchange.com, but I don't have enough reputation to post there.)

@escape0707
Copy link

escape0707 commented Oct 30, 2021

@jacoblyw That seems to be a quite scammy website. I highly suggest you to flash your whole system, including recovery and boot loader if you could.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment